{"version":3,"file":"static/chunks/app/layout-8ac9e54010f7ab68.js","mappings":"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","sources":["webpack://_N_E/?1d7b","webpack://_N_E/./src/components/SessionProvider.tsx","webpack://_N_E/./src/components/business/printer-assignment/hooks/useDepartureStation.tsx","webpack://_N_E/./src/components/business/printer-assignment/hooks/usePositionKey.tsx","webpack://_N_E/./src/components/business/scanners/hooks/useBgrSessionName.ts","webpack://_N_E/./src/components/business/scanners/hooks/useBridgeWebsocketPort.ts","webpack://_N_E/./src/components/layout/global/hooks/useLockScreen.tsx","webpack://_N_E/./src/components/ui/dialog/ErrorDialogSlot.tsx","webpack://_N_E/./src/components/utils/AppInsightsProvider.tsx","webpack://_N_E/./src/hooks/useTimeout.ts","webpack://_N_E/./src/components/utils/InactivityTimeoutProvider.tsx","webpack://_N_E/./src/components/utils/ProcessSearchParams.tsx","webpack://_N_E/./src/components/utils/UserAgentDeviceTypeContext.tsx","webpack://_N_E/./src/components/utils/clock/ClockTimestampContext.ts","webpack://_N_E/./src/hooks/browser/useInterval.ts","webpack://_N_E/./src/components/utils/clock/ClockTimestampProvider.tsx","webpack://_N_E/./src/components/utils/clock/useClockTimestamp.ts","webpack://_N_E/./src/hooks/browser/useDocumentEvent.ts","webpack://_N_E/./src/lib/dayjs.ts","webpack://_N_E/./src/lib/query-parameters.ts","webpack://_N_E/./src/app/globals.css"],"sourcesContent":["import(/* webpackMode: \"eager\" */ \"/app/src/app/globals.css\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"SessionProvider\"] */ \"/app/src/components/SessionProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"DialogPortalContext\"] */ \"/app/src/components/ui/dialog/DialogPortalContext.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"ErrorDialogSlotContext\",\"ErrorDialogSlot\"] */ \"/app/src/components/ui/dialog/ErrorDialogSlot.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"AppInsightsProvider\"] */ \"/app/src/components/utils/AppInsightsProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"AzureActiveDirectoryProfileProvider\"] */ \"/app/src/components/utils/AzureActiveDirectoryProfileProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"ClockTimestampProvider\"] */ \"/app/src/components/utils/clock/ClockTimestampProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"DarkModeProvider\"] */ \"/app/src/components/utils/DarkModeProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"FeatureToggleProvider\"] */ \"/app/src/components/utils/FeatureToggleContext.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"InactivityTimoutProvider\"] */ \"/app/src/components/utils/InactivityTimeoutProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"LoggerProvider\"] */ \"/app/src/components/utils/LoggerProvider.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"ProcessSearchParams\"] */ \"/app/src/components/utils/ProcessSearchParams.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"ServerEnvironmentProvider\"] */ \"/app/src/components/utils/ServerEnvironmentContext.tsx\");\n;\nimport(/* webpackMode: \"eager\", webpackExports: [\"UserAgentDeviceTypeProvider\"] */ \"/app/src/components/utils/UserAgentDeviceTypeContext.tsx\");\n","'use client'\n\nexport { SessionProvider } from 'next-auth/react'\n","import { createLocalStorageHook } from '@/hooks/browser/createLocalStorageHook'\nimport { z } from 'zod'\n\nexport const useDepartureStation = createLocalStorageHook(\n 'departure-station',\n z.string().optional()\n)\n","import { createLocalStorageHook } from '@/hooks/browser/createLocalStorageHook'\nimport { z } from 'zod'\n\nexport const usePositionKey = createLocalStorageHook('position-key', z.string().optional())\n","import { createLocalStorageHook } from '@/hooks/browser/createLocalStorageHook'\nimport { z } from 'zod'\n\nexport const useBgrSessionName = createLocalStorageHook('bgr-session-name', z.string())\n","import { createLocalStorageHook } from '@/hooks/browser/createLocalStorageHook'\nimport { z } from 'zod'\n\nexport const useBridgeWebsocketPort = createLocalStorageHook(\n 'websocket-port',\n z.number().int().gte(1).lte(65535)\n)\n","import { createLocalStorageHook } from '@/hooks/browser/createLocalStorageHook'\nimport { z } from 'zod'\n\nexport const useLockScreen = createLocalStorageHook('isLocked', z.boolean())\n","'use client'\n\nimport { ErrorDialog } from '@/components/ui/dialog/ErrorDialog'\nimport {\n Dispatch,\n ReactNode,\n SetStateAction,\n createContext,\n useCallback,\n useContext,\n useMemo,\n useState,\n} from 'react'\n\ntype UnhandeledError = {\n error: unknown\n title: string\n details?: string\n errorId?: string\n}\n\ntype UnhandeledErrorsStateContextValue = readonly [\n UnhandeledError[],\n Dispatch>,\n]\n\nconst UnhandeledErrorsStateContext = createContext([\n [],\n () => {},\n])\n\nfunction useUnhandeledErrorsState() {\n return useContext(UnhandeledErrorsStateContext)\n}\n\nconst SubmitErrorDialogContext = createContext<\n (error: unknown, title: string, details?: string, errorId?: string) => void\n>(() => {})\n\nexport function useSubmitErrorDialog() {\n return useContext(SubmitErrorDialogContext)\n}\n\nexport type ErrorDialogSlotContextProps = {\n children?: ReactNode\n}\n\nexport function ErrorDialogSlotContext({ children }: ErrorDialogSlotContextProps) {\n const [unhandeledErrors, setUnhandeledErrors] = useState([])\n const unhandeledErrorsState = useMemo(\n () => [unhandeledErrors, setUnhandeledErrors] as const,\n [unhandeledErrors]\n )\n const submitErrorDialog = useCallback(\n (error: unknown, title: string, details?: string, errorId?: string) =>\n setUnhandeledErrors((prev) => [{ error, title, details, errorId }, ...prev]),\n []\n )\n return (\n \n \n {children}\n \n \n )\n}\n\nexport type ErrorDialogSlotProps = {\n className?: string\n}\n\nexport function ErrorDialogSlot({ className }: ErrorDialogSlotProps) {\n const [unhandeledErrors, setUnhandeledErrors] = useUnhandeledErrorsState()\n const unhandeledError = unhandeledErrors.at(-1)\n if (unhandeledError === undefined) {\n return null\n }\n return (\n \n setUnhandeledErrors((prev) => {\n prev.pop()\n return [...prev]\n })\n }\n error={unhandeledError.error}\n title={unhandeledError.title}\n details={unhandeledError.details}\n errorId={unhandeledError.errorId}\n className={className}\n />\n )\n}\n","'use client'\n\nimport { AppInsightsContext, ReactPlugin } from '@microsoft/applicationinsights-react-js'\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web'\nimport { ReactNode, useEffect, useMemo } from 'react'\nimport { useSetLogger } from '@/components/utils/LoggerProvider'\nimport { createStructuredLoggerFromAppInsights } from '@/lib/logger/client'\nimport { env } from '@/config/client'\n\nexport type AppInsightsProviderProps = {\n children?: ReactNode\n cloudRoleName: string\n connectionString: string\n email?: string\n upn?: string\n}\n\nexport function AppInsightsProvider({\n children,\n cloudRoleName,\n connectionString,\n email,\n upn,\n}: AppInsightsProviderProps) {\n const reactPlugin = useMemo(() => new ReactPlugin(), [])\n const setLogger = useSetLogger()\n\n useEffect(() => {\n const history = {\n url: '/',\n location: { pathname: window.history.state.url },\n listen: () => {},\n ...window.history,\n }\n const appInsights = new ApplicationInsights({\n config: {\n connectionString,\n enableAutoRouteTracking: true,\n enableCorsCorrelation: true,\n enableRequestHeaderTracking: true,\n enableResponseHeaderTracking: true,\n enableAjaxPerfTracking: true,\n isBrowserLinkTrackingEnabled: true,\n extensions: [reactPlugin],\n extensionConfig: {\n [reactPlugin.identifier]: { history },\n },\n },\n })\n appInsights.loadAppInsights()\n appInsights.addTelemetryInitializer((item) => {\n if (item.tags) {\n // eslint-disable-next-line no-param-reassign\n item.tags['ai.cloud.role'] = cloudRoleName\n }\n })\n if (email && upn) {\n appInsights.setAuthenticatedUserContext(email, upn)\n }\n setLogger(\n createStructuredLoggerFromAppInsights(appInsights, { version: env.NEXT_PUBLIC_APP_VERSION })\n )\n return () => {\n appInsights.unload()\n }\n }, [cloudRoleName, connectionString, reactPlugin, email, upn, setLogger])\n return {children}\n}\n","import { useClockTimestamp } from '@/components/utils/clock/useClockTimestamp'\nimport { dayjs } from '@/lib/dayjs'\nimport { useCallback, useState } from 'react'\n\nexport function useTimeout(timeoutValue: number): [number, boolean, () => void] {\n const [checkpoint, setCheckpoint] = useState(dayjs())\n const now = useClockTimestamp()\n\n const remainingTime = timeoutValue - now.diff(checkpoint)\n const timeout = now.diff(checkpoint) > timeoutValue\n const resetTimeout = useCallback(() => setCheckpoint(dayjs()), [])\n\n return [remainingTime, timeout, resetTimeout]\n}\n","'use client'\n\nimport { useDialogPortalContainer } from '@/components/ui/dialog/DialogPortalContext'\nimport { ErrorDialog } from '@/components/ui/dialog/ErrorDialog'\nimport { Portal } from '@/components/utils/Portal'\nimport { useDocumentEvent } from '@/hooks/browser/useDocumentEvent'\nimport { useWindowEvent } from '@/hooks/browser/useWindowEvent'\nimport { useTimeout } from '@/hooks/useTimeout'\nimport { dayjs } from '@/lib/dayjs'\nimport { useRouter } from 'next/navigation'\nimport { useLockScreen } from '@/components/layout/global/hooks/useLockScreen'\nimport {\n createContext,\n Dispatch,\n SetStateAction,\n useContext,\n useState,\n useCallback,\n useEffect,\n ReactNode,\n} from 'react'\nimport { useFeatureToggle } from '@/components/utils/FeatureToggleContext'\n\nconst InactivityTimeoutContext = createContext(null)\n\nconst InactivityTimeoutSetTimeoutContext = createContext>>(\n () => {}\n)\n\nexport function useInactivityTimeout() {\n return useContext(InactivityTimeoutContext)\n}\n\nexport function useInactivityTimeoutSetTimeout() {\n return useContext(InactivityTimeoutSetTimeoutContext)\n}\n\nexport type InactivityTimeoutProps = {\n disabled?: boolean\n}\n\nexport function InactivityTimeout({ disabled }: InactivityTimeoutProps) {\n const router = useRouter()\n const container = useDialogPortalContainer()\n const [warningDialogOpen, setWarningDialogOpen] = useState(false)\n const [allowTimeout, setAllowTimeout] = useState(false)\n const [clockText, setClockText] = useState('')\n const inactivityTimeout = useInactivityTimeout()\n const isTraining = useFeatureToggle('TRAINING')\n const [remainingTime, timeout, resetTimeout] = useTimeout(\n inactivityTimeout ?? (isTraining ? 3_600_000 : 900_000)\n )\n const [, setLocked] = useLockScreen()\n\n const restart = useCallback(() => {\n if (allowTimeout) {\n resetTimeout()\n }\n }, [allowTimeout, resetTimeout])\n\n useDocumentEvent('mouseup', restart)\n useDocumentEvent('keyup', restart)\n useWindowEvent('scan', restart)\n\n useEffect(() => {\n if (!disabled) {\n const remainingTimeInSeconds = Math.round(dayjs.duration(remainingTime).asSeconds())\n const minutes = Math.floor(remainingTimeInSeconds / 60)\n const seconds = remainingTimeInSeconds % 60\n\n if (minutes >= 0 && seconds >= 0) {\n setClockText(`${minutes}:${seconds.toString().padStart(2, '0')}`)\n } else {\n setClockText('0:00')\n }\n }\n }, [disabled, remainingTime])\n\n useEffect(() => {\n if (!disabled) {\n if (timeout) {\n setLocked(false)\n router.push('/sign-out?callback=/home?expired=true')\n } else if (remainingTime <= 180_000) {\n setAllowTimeout(false)\n setWarningDialogOpen(true)\n } else {\n setAllowTimeout(true)\n setWarningDialogOpen(false)\n }\n }\n }, [disabled, timeout, remainingTime, router, resetTimeout, setLocked])\n\n return (\n \n {!disabled && (\n SESSION TIMEOUT}\n details={\n \n ACE will timeout in {clockText}, and you\n
\n will be signed out. Continue\n
\n working?\n
\n }\n onClose={() => {\n setAllowTimeout(true)\n setTimeout(() => {\n resetTimeout()\n }, 100)\n }}\n />\n )}\n
\n )\n}\n\nexport type InactivityTimeoutProviderProps = {\n disabled: boolean\n children?: ReactNode\n}\nexport function InactivityTimoutProvider({ disabled, children }: InactivityTimeoutProviderProps) {\n const [timeout, setTimeout] = useState(null)\n return (\n \n \n \n {children}\n \n \n )\n}\n","'use client'\n\nimport { QueryParameters } from '@/lib/query-parameters'\nimport { StructuredLogger } from '@/lib/logger/types'\nimport { useSearchParams } from 'next/navigation'\nimport { PropsWithChildren, useEffect } from 'react'\nimport { useDepartureStation } from '@/components/business/printer-assignment/hooks/useDepartureStation'\nimport { usePositionKey } from '@/components/business/printer-assignment/hooks/usePositionKey'\nimport { useBridgeWebsocketPort } from '@/components/business/scanners/hooks/useBridgeWebsocketPort'\nimport { useLogger } from '@/components/utils/LoggerProvider'\nimport { useBgrSessionName } from '@/components/business/scanners/hooks/useBgrSessionName'\n\nconst dedicatedPositionKeyRegex = /^([^*]*)(?:AD|AP)\\*([^*]+)$/i\n\n// Position keys for dedicated PCs have 'AD*' or 'AP*' in the middle of them, e.g.: PHXAD*141456\n// The 'AD*' or 'AP*' needs to be removed, as other systems do not include that, so\n// a position key such as 'PHXAD*141456' should be converted to 'PHX141456'.\n// But common use PCs just use the computer name instead of a position key and computer names\n// are usually just strings without special characters such as '*'. If ACE is running on\n// a common use PC, the position key doesn't need to be modifed.\nconst parseRawPositionKey = (\n rawPositionKey: string,\n airportCode: string | null,\n logger: StructuredLogger\n) => {\n const result = dedicatedPositionKeyRegex.exec(rawPositionKey)\n\n if (result) {\n // The position key contains AD* or AP*, so we're probably running on\n // a dedicated PC.\n // result[1] contains the capturing group that captures everything before the 'AD*' or 'AP*',\n // usually that's the airport code\n // result[2] contains everything after 'AD*' or 'AP*'\n const parsedPositionKey = `${airportCode ?? result[1]}${result[2]}`\n logger.info({\n scope: 'src/components/utils/ProcessSearchParams::parseRawPositionKey',\n detail: 'parsed-position-key-for-dedicated-pc',\n metadata: {\n rawPositionKey,\n parsedPositionKey,\n },\n })\n return parsedPositionKey\n }\n // If we get here, we're probably running on a common use PC.\n logger.info({\n scope: 'src/components/utils/ProcessSearchParams::parseRawPositionKey',\n detail: 'raw-position-key-for-common-use',\n metadata: {\n rawPositionKey,\n },\n })\n return rawPositionKey\n}\n\nexport function ProcessSearchParams({ children }: PropsWithChildren) {\n const rawPositionKey = useSearchParams().get(QueryParameters.POSITION_KEY)\n const airportCode = useSearchParams().get(QueryParameters.AIRPORT_CODE)\n const bridgeWebsocketPort = useSearchParams().get(QueryParameters.WEBSOCKET_BRIDGE_PORT)\n const bgrSessionName = useSearchParams().get(QueryParameters.BGR_SESSION_NAME)\n\n const [, setPositionKey] = usePositionKey()\n const [, setDepartureStation] = useDepartureStation()\n const [, setBridgeWebsocketPort] = useBridgeWebsocketPort()\n const [, setBgrSessionName] = useBgrSessionName()\n\n const { logger, type } = useLogger()\n\n useEffect(() => {\n if (type !== 'app-insights') return\n if (rawPositionKey) {\n const positionKey = parseRawPositionKey(rawPositionKey, airportCode, logger)\n if (positionKey) {\n setPositionKey(positionKey)\n }\n }\n\n if (airportCode) {\n setDepartureStation(airportCode.trim())\n }\n\n if (bridgeWebsocketPort) {\n setBridgeWebsocketPort(parseInt(bridgeWebsocketPort ?? '', 10))\n }\n\n if (bgrSessionName) {\n setBgrSessionName(bgrSessionName.trim())\n }\n }, [\n rawPositionKey,\n airportCode,\n setPositionKey,\n setDepartureStation,\n bridgeWebsocketPort,\n setBridgeWebsocketPort,\n bgrSessionName,\n setBgrSessionName,\n logger,\n type,\n ])\n\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return <>{children}\n}\n","'use client'\n\nimport { ReactNode, createContext, useContext } from 'react'\n\nconst UserAgentDeviceTypeContext = createContext(undefined)\n\nexport function useUserAgentDeviceType() {\n return useContext(UserAgentDeviceTypeContext)\n}\n\ntype UserAgentDeviceTypeProviderProps = {\n userAgentDeviceType: string | undefined\n children?: ReactNode\n}\n\nexport function UserAgentDeviceTypeProvider({\n children,\n userAgentDeviceType,\n}: UserAgentDeviceTypeProviderProps) {\n return (\n \n {children}\n \n )\n}\n","'use client'\n\nimport { createContext } from 'react'\n\nexport const ClockTimestampContext = createContext(0)\n","'use client'\n\nimport { useEffect } from 'react'\n\nexport function useInterval(effect: () => unknown, milliseconds: number) {\n useEffect(() => {\n const id = setInterval(effect, milliseconds)\n return () => clearInterval(id)\n }, [effect, milliseconds])\n}\n","'use client'\n\nimport { ClockTimestampContext } from '@/components/utils/clock/ClockTimestampContext'\nimport { useInterval } from '@/hooks/browser/useInterval'\nimport { dayjs } from '@/lib/dayjs'\nimport { ReactNode, useState } from 'react'\n\ntype ClockContextProviderProps = {\n refreshRate: number\n children?: ReactNode\n}\n\nfunction ClockTimestampProvider({ refreshRate, children }: ClockContextProviderProps) {\n const [unixTimestampNow, setUnixTimestampNow] = useState(() => dayjs().valueOf())\n useInterval(() => setUnixTimestampNow(dayjs().valueOf()), refreshRate)\n return (\n \n {children}\n \n )\n}\n\nexport { ClockTimestampProvider }\n","'use client'\n\nimport { ClockTimestampContext } from '@/components/utils/clock/ClockTimestampContext'\nimport { dayjs } from '@/lib/dayjs'\nimport { useContext } from 'react'\n\nexport function useClockTimestamp(timezone: string = dayjs.tz.guess()): dayjs.Dayjs {\n const unixTimestampNow = useContext(ClockTimestampContext)\n return dayjs.utc(unixTimestampNow).tz(timezone)\n}\n","import { useEffect } from 'react'\n\nexport function useDocumentEvent(\n eventKey: DocumentEventKey,\n listener: (event: DocumentEventMap[DocumentEventKey]) => unknown\n) {\n useEffect(() => {\n document.addEventListener(eventKey, listener)\n return () => document.removeEventListener(eventKey, listener)\n }, [eventKey, listener])\n}\n","import dayjs from 'dayjs'\nimport duration from 'dayjs/plugin/duration'\nimport minMax from 'dayjs/plugin/minMax'\nimport timezone from 'dayjs/plugin/timezone'\nimport utc from 'dayjs/plugin/utc'\nimport dayOfYear from 'dayjs/plugin/dayOfYear'\nimport relativeTime from 'dayjs/plugin/relativeTime'\n\ndayjs.extend(duration)\ndayjs.extend(minMax)\ndayjs.extend(timezone)\ndayjs.extend(utc)\ndayjs.extend(dayOfYear)\ndayjs.extend(relativeTime)\n\nexport { dayjs }\n","export enum QueryParameters {\n POSITION_KEY = 'positionkey',\n AIRPORT_CODE = 'AirportCode',\n WEBSOCKET_BRIDGE_PORT = 'ConcentratorBridgePort',\n BGR_SESSION_NAME = 'BGRSessionName',\n}\n","// extracted by mini-css-extract-plugin"],"names":["Promise","resolve","then","__webpack_require__","t","bind","useDepartureStation","createLocalStorageHook","z","string","optional","usePositionKey","useBgrSessionName","useBridgeWebsocketPort","number","int","gte","lte","useLockScreen","boolean","UnhandeledErrorsStateContext","createContext","SubmitErrorDialogContext","useSubmitErrorDialog","useContext","ErrorDialogSlotContext","param","children","unhandeledErrors","setUnhandeledErrors","useState","unhandeledErrorsState","useMemo","submitErrorDialog","useCallback","error","title","details","errorId","prev","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Provider","value","ErrorDialogSlot","className","unhandeledError","at","undefined","ErrorDialog","open","onClose","pop","AppInsightsProvider","cloudRoleName","connectionString","email","upn","reactPlugin","ReactPlugin","setLogger","useSetLogger","useEffect","history","url","location","pathname","window","state","listen","appInsights","ApplicationInsights","config","enableAutoRouteTracking","enableCorsCorrelation","enableRequestHeaderTracking","enableResponseHeaderTracking","enableAjaxPerfTracking","isBrowserLinkTrackingEnabled","extensions","extensionConfig","identifier","loadAppInsights","addTelemetryInitializer","item","tags","setAuthenticatedUserContext","createStructuredLoggerFromAppInsights","version","env","NEXT_PUBLIC_APP_VERSION","unload","AppInsightsContext","InactivityTimeoutContext","InactivityTimeoutSetTimeoutContext","useInactivityTimeoutSetTimeout","InactivityTimeout","disabled","router","useRouter","container","useDialogPortalContainer","warningDialogOpen","setWarningDialogOpen","allowTimeout","setAllowTimeout","clockText","setClockText","inactivityTimeout","isTraining","useFeatureToggle","remainingTime","timeout","resetTimeout","useTimeout","timeoutValue","checkpoint","setCheckpoint","dayjs","now","useClockTimestamp","diff","setLocked","restart","useDocumentEvent","useWindowEvent","remainingTimeInSeconds","Math","round","duration","asSeconds","minutes","floor","seconds","concat","toString","padStart","push","jsx_runtime","Portal","span","jsxs","b","br","setTimeout","InactivityTimoutProvider","dedicatedPositionKeyRegex","parseRawPositionKey","rawPositionKey","airportCode","logger","result","exec","parsedPositionKey","info","scope","detail","metadata","ProcessSearchParams","useSearchParams","get","QueryParameters","POSITION_KEY","AIRPORT_CODE","bridgeWebsocketPort","WEBSOCKET_BRIDGE_PORT","bgrSessionName","BGR_SESSION_NAME","setPositionKey","setDepartureStation","setBridgeWebsocketPort","setBgrSessionName","type","useLogger","positionKey","trim","parseInt","Fragment","UserAgentDeviceTypeContext","useUserAgentDeviceType","UserAgentDeviceTypeProvider","userAgentDeviceType","ClockTimestampContext","ClockTimestampProvider","effect","refreshRate","unixTimestampNow","setUnixTimestampNow","valueOf","id","setInterval","clearInterval","timezone","tz","guess","utc","eventKey","listener","document","addEventListener","removeEventListener","minMax","dayOfYear","relativeTime"],"sourceRoot":""}