{"version":3,"file":"static/chunks/4420-93f3338493457da8.js","mappings":"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","sources":["webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/display.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/catchUserErrors.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/monitor.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/polyfills.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/boot/init.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/getGlobalObject.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/byteUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/getZoneJsOriginalValue.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/timer.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/functionUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/serialisation/jsonStringify.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/objectUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/context/customerDataTracker.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/typeUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/mergeInto.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/serialisation/sanitize.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/observable.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/context/contextManager.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/trackingConsent.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/browser/addEventListener.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/context/storeContextManager.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/user/user.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/boot/displayAlreadyInitializedError.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/error/computeStackTrace.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/error/error.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/error/error.types.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/timeUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/logger.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/contexts/commonContext.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/arrayUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/boundedBuffer.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/transport/eventBridge.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/experimentalFeatures.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/numberUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/stringUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/sessionConstants.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/browserDetection.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/browser/cookie.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionStoreStrategy.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/sessionState.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/oldCookiesMigration.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInCookie.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/storeStrategies/sessionInLocalStorage.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/sessionStoreOperations.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/sessionStore.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/urlPolyfill.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/configuration/intakeSites.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/configuration/endpointBuilder.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/configuration/tags.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/configuration/transportConfiguration.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/configuration/configuration.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/report/reportObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/configuration.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/boot/preStartLogs.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/boot/logsPublicApi.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/sendToExtension.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/browser/pageExitObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/synthetics/syntheticsWorkerValues.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/valueHistory.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/session/sessionManager.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/logsSessionManager.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/eventRateLimiter/createEventRateLimiter.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/connectivity/connectivity.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/telemetry/rawTelemetryEvent.types.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/telemetry/telemetry.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/contexts/rumInternalContext.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/assembly.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/console/consoleObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/console/consoleCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/report/reportCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/instrumentMethod.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/browser/xhrObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/browser/fetchObservable.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/utils/responseUtils.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/readBytesFromStream.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/networkError/networkErrorCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/domain/error/trackRuntimeError.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/runtimeError/runtimeErrorCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/abstractLifeCycle.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/lifeCycle.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/logger/loggerCollection.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/transport/batch.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/transport/sendWithRetryStrategy.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/transport/httpRequest.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/transport/flushController.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/transport/startBatchWithReplica.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/node_modules/@datadog/browser-core/esm/tools/encoder.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/transport/startLogsBatch.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/transport/startLogsBridge.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/contexts/internalContext.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/reportError.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/domain/logsTelemetry.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/boot/startLogs.js","webpack://_N_E/../../node_modules/@datadog/browser-logs/esm/entries/main.js","webpack://_N_E/../../node_modules/@next/third-parties/dist/ThirdPartyScriptEmbed.js","webpack://_N_E/../../node_modules/@next/third-parties/dist/google/ga.js","webpack://_N_E/../../node_modules/@next/third-parties/dist/google/gtm.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/useFirstMountState/index.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/useLocalStorageValue/index.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/useIsomorphicLayoutEffect/index.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/useUpdateEffect/index.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/util/misc.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/util/resolveHookState.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/useStorageValue/index.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/useSyncedRef/index.js","webpack://_N_E/../../node_modules/@react-hookz/web/esm/util/const.js","webpack://_N_E/../../node_modules/flagsmith/react.js","webpack://_N_E/../../node_modules/next-intl/dist/esm/_virtual/_rollupPluginBabelHelpers.js","webpack://_N_E/../../node_modules/next-intl/dist/esm/shared/NextIntlClientProvider.js","webpack://_N_E/../../node_modules/next-themes/dist/index.module.js","webpack://_N_E/../../node_modules/next/font/google/target.css?f555"],"sourcesContent":["/* eslint-disable local-rules/disallow-side-effects */\n/**\n * Keep references on console methods to avoid triggering patched behaviors\n *\n * NB: in some setup, console could already be patched by another SDK.\n * In this case, some display messages can be sent by the other SDK\n * but we should be safe from infinite loop nonetheless.\n */\nexport var ConsoleApiName = {\n log: 'log',\n debug: 'debug',\n info: 'info',\n warn: 'warn',\n error: 'error',\n};\n/**\n * When building JS bundles, some users might use a plugin[1] or configuration[2] to remove\n * \"console.*\" references. This causes some issue as we expect `console.*` to be defined.\n * As a workaround, let's use a variable alias, so those expressions won't be taken into account by\n * simple static analysis.\n *\n * [1]: https://babeljs.io/docs/babel-plugin-transform-remove-console/\n * [2]: https://github.com/terser/terser#compress-options (look for drop_console)\n */\nexport var globalConsole = console;\nexport var originalConsoleMethods = {};\nObject.keys(ConsoleApiName).forEach(function (name) {\n originalConsoleMethods[name] = globalConsole[name];\n});\nvar PREFIX = 'Datadog Browser SDK:';\nexport var display = {\n debug: originalConsoleMethods.debug.bind(globalConsole, PREFIX),\n log: originalConsoleMethods.log.bind(globalConsole, PREFIX),\n info: originalConsoleMethods.info.bind(globalConsole, PREFIX),\n warn: originalConsoleMethods.warn.bind(globalConsole, PREFIX),\n error: originalConsoleMethods.error.bind(globalConsole, PREFIX),\n};\n//# sourceMappingURL=display.js.map","import { display } from './display';\nexport function catchUserErrors(fn, errorMsg) {\n return function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n try {\n return fn.apply(void 0, args);\n }\n catch (err) {\n display.error(errorMsg, err);\n }\n };\n}\n//# sourceMappingURL=catchUserErrors.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { display } from './display';\nvar onMonitorErrorCollected;\nvar debugMode = false;\nexport function startMonitorErrorCollection(newOnMonitorErrorCollected) {\n onMonitorErrorCollected = newOnMonitorErrorCollected;\n}\nexport function setDebugMode(newDebugMode) {\n debugMode = newDebugMode;\n}\nexport function resetMonitor() {\n onMonitorErrorCollected = undefined;\n debugMode = false;\n}\nexport function monitored(_, __, descriptor) {\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var decorated = onMonitorErrorCollected ? monitor(originalMethod) : originalMethod;\n return decorated.apply(this, args);\n };\n}\nexport function monitor(fn) {\n return function () {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return callMonitored(fn, this, arguments);\n }; // consider output type has input type\n}\nexport function callMonitored(fn, context, args) {\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return fn.apply(context, args);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n if (onMonitorErrorCollected) {\n try {\n onMonitorErrorCollected(e);\n }\n catch (e) {\n displayIfDebugEnabled(e);\n }\n }\n }\n}\nexport function displayIfDebugEnabled() {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (debugMode) {\n display.error.apply(display, __spreadArray(['[MONITOR]'], args, false));\n }\n}\n//# sourceMappingURL=monitor.js.map","export function includes(candidate, search) {\n return candidate.indexOf(search) !== -1;\n}\nexport function arrayFrom(arrayLike) {\n if (Array.from) {\n return Array.from(arrayLike);\n }\n var array = [];\n if (arrayLike instanceof Set) {\n arrayLike.forEach(function (item) { return array.push(item); });\n }\n else {\n for (var i = 0; i < arrayLike.length; i++) {\n array.push(arrayLike[i]);\n }\n }\n return array;\n}\nexport function find(array, predicate) {\n for (var i = 0; i < array.length; i += 1) {\n var item = array[i];\n if (predicate(item, i)) {\n return item;\n }\n }\n return undefined;\n}\nexport function findLast(array, predicate) {\n for (var i = array.length - 1; i >= 0; i -= 1) {\n var item = array[i];\n if (predicate(item, i, array)) {\n return item;\n }\n }\n return undefined;\n}\nexport function forEach(list, callback) {\n Array.prototype.forEach.call(list, callback);\n}\nexport function objectValues(object) {\n return Object.keys(object).map(function (key) { return object[key]; });\n}\nexport function objectEntries(object) {\n return Object.keys(object).map(function (key) { return [key, object[key]]; });\n}\nexport function startsWith(candidate, search) {\n return candidate.slice(0, search.length) === search;\n}\nexport function endsWith(candidate, search) {\n return candidate.slice(-search.length) === search;\n}\nexport function elementMatches(element, selector) {\n if (element.matches) {\n return element.matches(selector);\n }\n // IE11 support\n if (element.msMatchesSelector) {\n return element.msMatchesSelector(selector);\n }\n return false;\n}\n// https://github.com/jquery/jquery/blob/a684e6ba836f7c553968d7d026ed7941e1a612d8/src/selector/escapeSelector.js\nexport function cssEscape(str) {\n if (window.CSS && window.CSS.escape) {\n return window.CSS.escape(str);\n }\n // eslint-disable-next-line no-control-regex\n return str.replace(/([\\0-\\x1f\\x7f]|^-?\\d)|^-$|[^\\x80-\\uFFFF\\w-]/g, function (ch, asCodePoint) {\n if (asCodePoint) {\n // U+0000 NULL becomes U+FFFD REPLACEMENT CHARACTER\n if (ch === '\\0') {\n return '\\uFFFD';\n }\n // Control characters and (dependent upon position) numbers get escaped as code points\n return \"\".concat(ch.slice(0, -1), \"\\\\\").concat(ch.charCodeAt(ch.length - 1).toString(16), \" \");\n }\n // Other potentially-special ASCII characters get backslash-escaped\n return \"\\\\\".concat(ch);\n });\n}\nexport function assign(target) {\n var toAssign = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n toAssign[_i - 1] = arguments[_i];\n }\n toAssign.forEach(function (source) {\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n });\n return target;\n}\n//# sourceMappingURL=polyfills.js.map","import { catchUserErrors } from '../tools/catchUserErrors';\nimport { setDebugMode } from '../tools/monitor';\nimport { assign } from '../tools/utils/polyfills';\nexport function makePublicApi(stub) {\n var publicApi = assign({\n version: \"5.11.0\",\n // This API method is intentionally not monitored, since the only thing executed is the\n // user-provided 'callback'. All SDK usages executed in the callback should be monitored, and\n // we don't want to interfere with the user uncaught exceptions.\n onReady: function (callback) {\n callback();\n },\n }, stub);\n // Add a \"hidden\" property to set debug mode. We define it that way to hide it\n // as much as possible but of course it's not a real protection.\n Object.defineProperty(publicApi, '_setDebug', {\n get: function () {\n return setDebugMode;\n },\n enumerable: false,\n });\n return publicApi;\n}\nexport function defineGlobal(global, name, api) {\n var existingGlobalVariable = global[name];\n global[name] = api;\n if (existingGlobalVariable && existingGlobalVariable.q) {\n existingGlobalVariable.q.forEach(function (fn) { return catchUserErrors(fn, 'onReady callback threw an error:')(); });\n }\n}\n//# sourceMappingURL=init.js.map","/**\n * inspired by https://mathiasbynens.be/notes/globalthis\n */\nexport function getGlobalObject() {\n if (typeof globalThis === 'object') {\n return globalThis;\n }\n Object.defineProperty(Object.prototype, '_dd_temp_', {\n get: function () {\n return this;\n },\n configurable: true,\n });\n // @ts-ignore _dd_temp is defined using defineProperty\n var globalObject = _dd_temp_;\n // @ts-ignore _dd_temp is defined using defineProperty\n delete Object.prototype._dd_temp_;\n if (typeof globalObject !== 'object') {\n // on safari _dd_temp_ is available on window but not globally\n // fallback on other browser globals check\n if (typeof self === 'object') {\n globalObject = self;\n }\n else if (typeof window === 'object') {\n globalObject = window;\n }\n else {\n globalObject = {};\n }\n }\n return globalObject;\n}\n//# sourceMappingURL=getGlobalObject.js.map","export var ONE_KIBI_BYTE = 1024;\nexport var ONE_MEBI_BYTE = 1024 * ONE_KIBI_BYTE;\n// eslint-disable-next-line no-control-regex\nvar HAS_MULTI_BYTES_CHARACTERS = /[^\\u0000-\\u007F]/;\nexport function computeBytesCount(candidate) {\n // Accurate bytes count computations can degrade performances when there is a lot of events to process\n if (!HAS_MULTI_BYTES_CHARACTERS.test(candidate)) {\n return candidate.length;\n }\n if (window.TextEncoder !== undefined) {\n return new TextEncoder().encode(candidate).length;\n }\n return new Blob([candidate]).size;\n}\nexport function concatBuffers(buffers) {\n var length = buffers.reduce(function (total, buffer) { return total + buffer.length; }, 0);\n var result = new Uint8Array(length);\n var offset = 0;\n for (var _i = 0, buffers_1 = buffers; _i < buffers_1.length; _i++) {\n var buffer = buffers_1[_i];\n result.set(buffer, offset);\n offset += buffer.length;\n }\n return result;\n}\n//# sourceMappingURL=byteUtils.js.map","import { getGlobalObject } from './getGlobalObject';\n/**\n * Gets the original value for a DOM API that was potentially patched by Zone.js.\n *\n * Zone.js[1] is a library that patches a bunch of JS and DOM APIs. It usually stores the original\n * value of the patched functions/constructors/methods in a hidden property prefixed by\n * __zone_symbol__.\n *\n * In multiple occasions, we observed that Zone.js is the culprit of important issues leading to\n * browser resource exhaustion (memory leak, high CPU usage). This method is used as a workaround to\n * use the original DOM API instead of the one patched by Zone.js.\n *\n * [1]: https://github.com/angular/angular/tree/main/packages/zone.js\n */\nexport function getZoneJsOriginalValue(target, name) {\n var browserWindow = getGlobalObject();\n var original;\n if (browserWindow.Zone && typeof browserWindow.Zone.__symbol__ === 'function') {\n original = target[browserWindow.Zone.__symbol__(name)];\n }\n if (!original) {\n original = target[name];\n }\n return original;\n}\n//# sourceMappingURL=getZoneJsOriginalValue.js.map","import { getZoneJsOriginalValue } from './getZoneJsOriginalValue';\nimport { monitor } from './monitor';\nimport { getGlobalObject } from './getGlobalObject';\nexport function setTimeout(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setTimeout')(monitor(callback), delay);\n}\nexport function clearTimeout(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearTimeout')(timeoutId);\n}\nexport function setInterval(callback, delay) {\n return getZoneJsOriginalValue(getGlobalObject(), 'setInterval')(monitor(callback), delay);\n}\nexport function clearInterval(timeoutId) {\n getZoneJsOriginalValue(getGlobalObject(), 'clearInterval')(timeoutId);\n}\n//# sourceMappingURL=timer.js.map","import { setTimeout, clearTimeout } from '../timer';\n// use lodash API\nexport function throttle(fn, wait, options) {\n var needLeadingExecution = options && options.leading !== undefined ? options.leading : true;\n var needTrailingExecution = options && options.trailing !== undefined ? options.trailing : true;\n var inWaitPeriod = false;\n var pendingExecutionWithParameters;\n var pendingTimeoutId;\n return {\n throttled: function () {\n var parameters = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n parameters[_i] = arguments[_i];\n }\n if (inWaitPeriod) {\n pendingExecutionWithParameters = parameters;\n return;\n }\n if (needLeadingExecution) {\n fn.apply(void 0, parameters);\n }\n else {\n pendingExecutionWithParameters = parameters;\n }\n inWaitPeriod = true;\n pendingTimeoutId = setTimeout(function () {\n if (needTrailingExecution && pendingExecutionWithParameters) {\n fn.apply(void 0, pendingExecutionWithParameters);\n }\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n }, wait);\n },\n cancel: function () {\n clearTimeout(pendingTimeoutId);\n inWaitPeriod = false;\n pendingExecutionWithParameters = undefined;\n },\n };\n}\n// eslint-disable-next-line @typescript-eslint/no-empty-function\nexport function noop() { }\n//# sourceMappingURL=functionUtils.js.map","import { noop } from '../utils/functionUtils';\n/**\n * Custom implementation of JSON.stringify that ignores some toJSON methods. We need to do that\n * because some sites badly override toJSON on certain objects. Removing all toJSON methods from\n * nested values would be too costly, so we just detach them from the root value, and native classes\n * used to build JSON values (Array and Object).\n *\n * Note: this still assumes that JSON.stringify is correct.\n */\nexport function jsonStringify(value, replacer, space) {\n if (typeof value !== 'object' || value === null) {\n return JSON.stringify(value);\n }\n // Note: The order matter here. We need to detach toJSON methods on parent classes before their\n // subclasses.\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n var restoreValuePrototypeToJson = detachToJsonMethod(Object.getPrototypeOf(value));\n var restoreValueToJson = detachToJsonMethod(value);\n try {\n return JSON.stringify(value, replacer, space);\n }\n catch (_a) {\n return '';\n }\n finally {\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n restoreValuePrototypeToJson();\n restoreValueToJson();\n }\n}\nexport function detachToJsonMethod(value) {\n var object = value;\n var objectToJson = object.toJSON;\n if (objectToJson) {\n delete object.toJSON;\n return function () {\n object.toJSON = objectToJson;\n };\n }\n return noop;\n}\n//# sourceMappingURL=jsonStringify.js.map","import { assign } from './polyfills';\nexport function shallowClone(object) {\n return assign({}, object);\n}\nexport function objectHasValue(object, value) {\n return Object.keys(object).some(function (key) { return object[key] === value; });\n}\nexport function isEmptyObject(object) {\n return Object.keys(object).length === 0;\n}\nexport function mapValues(object, fn) {\n var newObject = {};\n for (var _i = 0, _a = Object.keys(object); _i < _a.length; _i++) {\n var key = _a[_i];\n newObject[key] = fn(object[key]);\n }\n return newObject;\n}\n//# sourceMappingURL=objectUtils.js.map","import { ONE_KIBI_BYTE, computeBytesCount } from '../../tools/utils/byteUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { display } from '../../tools/display';\nimport { isEmptyObject } from '../../tools/utils/objectUtils';\n// RUM and logs batch bytes limit is 16KB\n// ensure that we leave room for other event attributes and maintain a decent amount of event per batch\n// (3KB (customer data) + 1KB (other attributes)) * 4 (events per batch) = 16KB\nexport var CUSTOMER_DATA_BYTES_LIMIT = 3 * ONE_KIBI_BYTE;\n// We observed that the compression ratio is around 8 in general, but we also want to keep a margin\n// because some data might not be compressed (ex: last view update on page exit). We chose 16KiB\n// because it is also the limit of the 'batchBytesCount' that we use for RUM and Logs data, but this\n// is a bit arbitrary.\nexport var CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT = 16 * ONE_KIBI_BYTE;\nexport var BYTES_COMPUTATION_THROTTLING_DELAY = 200;\nexport function createCustomerDataTrackerManager(compressionStatus) {\n if (compressionStatus === void 0) { compressionStatus = 2 /* CustomerDataCompressionStatus.Disabled */; }\n var customerDataTrackers = new Map();\n var alreadyWarned = false;\n function checkCustomerDataLimit(initialBytesCount) {\n if (initialBytesCount === void 0) { initialBytesCount = 0; }\n if (alreadyWarned || compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n return;\n }\n var bytesCountLimit = compressionStatus === 2 /* CustomerDataCompressionStatus.Disabled */\n ? CUSTOMER_DATA_BYTES_LIMIT\n : CUSTOMER_COMPRESSED_DATA_BYTES_LIMIT;\n var bytesCount = initialBytesCount;\n customerDataTrackers.forEach(function (tracker) {\n bytesCount += tracker.getBytesCount();\n });\n if (bytesCount > bytesCountLimit) {\n displayCustomerDataLimitReachedWarning(bytesCountLimit);\n alreadyWarned = true;\n }\n }\n return {\n /**\n * Creates a detached tracker. The manager will not store a reference to that tracker, and the\n * bytes count will be counted independently from other detached trackers.\n *\n * This is particularly useful when we don't know when the tracker will be unused, so we don't\n * leak memory (ex: when used in Logger instances).\n */\n createDetachedTracker: function () {\n var tracker = createCustomerDataTracker(function () { return checkCustomerDataLimit(tracker.getBytesCount()); });\n return tracker;\n },\n /**\n * Creates a tracker if it doesn't exist, and returns it.\n */\n getOrCreateTracker: function (type) {\n if (!customerDataTrackers.has(type)) {\n customerDataTrackers.set(type, createCustomerDataTracker(checkCustomerDataLimit));\n }\n return customerDataTrackers.get(type);\n },\n setCompressionStatus: function (newCompressionStatus) {\n if (compressionStatus === 0 /* CustomerDataCompressionStatus.Unknown */) {\n compressionStatus = newCompressionStatus;\n checkCustomerDataLimit();\n }\n },\n getCompressionStatus: function () { return compressionStatus; },\n stop: function () {\n customerDataTrackers.forEach(function (tracker) { return tracker.stop(); });\n customerDataTrackers.clear();\n },\n };\n}\nexport function createCustomerDataTracker(checkCustomerDataLimit) {\n var bytesCountCache = 0;\n // Throttle the bytes computation to minimize the impact on performance.\n // Especially useful if the user call context APIs synchronously multiple times in a row\n var _a = throttle(function (context) {\n bytesCountCache = computeBytesCount(jsonStringify(context));\n checkCustomerDataLimit();\n }, BYTES_COMPUTATION_THROTTLING_DELAY), computeBytesCountThrottled = _a.throttled, cancelComputeBytesCount = _a.cancel;\n var resetBytesCount = function () {\n cancelComputeBytesCount();\n bytesCountCache = 0;\n };\n return {\n updateCustomerData: function (context) {\n if (isEmptyObject(context)) {\n resetBytesCount();\n }\n else {\n computeBytesCountThrottled(context);\n }\n },\n resetCustomerData: resetBytesCount,\n getBytesCount: function () { return bytesCountCache; },\n stop: function () {\n cancelComputeBytesCount();\n },\n };\n}\nfunction displayCustomerDataLimitReachedWarning(bytesCountLimit) {\n display.warn(\"Customer data exceeds the recommended \".concat(bytesCountLimit / ONE_KIBI_BYTE, \"KiB threshold. More details: https://docs.datadoghq.com/real_user_monitoring/browser/troubleshooting/#customer-data-exceeds-the-recommended-threshold-warning\"));\n}\n//# sourceMappingURL=customerDataTracker.js.map","/**\n * Similar to `typeof`, but distinguish plain objects from `null` and arrays\n */\nexport function getType(value) {\n if (value === null) {\n return 'null';\n }\n if (Array.isArray(value)) {\n return 'array';\n }\n return typeof value;\n}\n//# sourceMappingURL=typeUtils.js.map","import { getType } from './utils/typeUtils';\n/**\n * Iterate over source and affect its sub values into destination, recursively.\n * If the source and destination can't be merged, return source.\n */\nexport function mergeInto(destination, source, circularReferenceChecker) {\n if (circularReferenceChecker === void 0) { circularReferenceChecker = createCircularReferenceChecker(); }\n // ignore the source if it is undefined\n if (source === undefined) {\n return destination;\n }\n if (typeof source !== 'object' || source === null) {\n // primitive values - just return source\n return source;\n }\n else if (source instanceof Date) {\n return new Date(source.getTime());\n }\n else if (source instanceof RegExp) {\n var flags = source.flags ||\n // old browsers compatibility\n [\n source.global ? 'g' : '',\n source.ignoreCase ? 'i' : '',\n source.multiline ? 'm' : '',\n source.sticky ? 'y' : '',\n source.unicode ? 'u' : '',\n ].join('');\n return new RegExp(source.source, flags);\n }\n if (circularReferenceChecker.hasAlreadyBeenSeen(source)) {\n // remove circular references\n return undefined;\n }\n else if (Array.isArray(source)) {\n var merged_1 = Array.isArray(destination) ? destination : [];\n for (var i = 0; i < source.length; ++i) {\n merged_1[i] = mergeInto(merged_1[i], source[i], circularReferenceChecker);\n }\n return merged_1;\n }\n var merged = getType(destination) === 'object' ? destination : {};\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n merged[key] = mergeInto(merged[key], source[key], circularReferenceChecker);\n }\n }\n return merged;\n}\n/**\n * A simplistic implementation of a deep clone algorithm.\n * Caveats:\n * - It doesn't maintain prototype chains - don't use with instances of custom classes.\n * - It doesn't handle Map and Set\n */\nexport function deepClone(value) {\n return mergeInto(undefined, value);\n}\nexport function combine() {\n var sources = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n var destination;\n for (var _a = 0, sources_1 = sources; _a < sources_1.length; _a++) {\n var source = sources_1[_a];\n // Ignore any undefined or null sources.\n if (source === undefined || source === null) {\n continue;\n }\n destination = mergeInto(destination, source);\n }\n return destination;\n}\nfunction createCircularReferenceChecker() {\n if (typeof WeakSet !== 'undefined') {\n var set_1 = new WeakSet();\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = set_1.has(value);\n if (!has) {\n set_1.add(value);\n }\n return has;\n },\n };\n }\n var array = [];\n return {\n hasAlreadyBeenSeen: function (value) {\n var has = array.indexOf(value) >= 0;\n if (!has) {\n array.push(value);\n }\n return has;\n },\n };\n}\n//# sourceMappingURL=mergeInto.js.map","import { display } from '../display';\nimport { ONE_KIBI_BYTE } from '../utils/byteUtils';\nimport { detachToJsonMethod } from './jsonStringify';\n// The maximum size of a single event is 256KiB. By default, we ensure that user-provided data\n// going through sanitize fits inside our events, while leaving room for other contexts, metadata, ...\nvar SANITIZE_DEFAULT_MAX_CHARACTER_COUNT = 220 * ONE_KIBI_BYTE;\n// Symbol for the root element of the JSONPath used for visited objects\nvar JSON_PATH_ROOT_ELEMENT = '$';\n// When serializing (using JSON.stringify) a key of an object, { key: 42 } gets wrapped in quotes as \"key\".\n// With the separator (:), we need to add 3 characters to the count.\nvar KEY_DECORATION_LENGTH = 3;\nexport function sanitize(source, maxCharacterCount) {\n var _a;\n if (maxCharacterCount === void 0) { maxCharacterCount = SANITIZE_DEFAULT_MAX_CHARACTER_COUNT; }\n // Unbind any toJSON function we may have on [] or {} prototypes\n var restoreObjectPrototypeToJson = detachToJsonMethod(Object.prototype);\n var restoreArrayPrototypeToJson = detachToJsonMethod(Array.prototype);\n // Initial call to sanitizeProcessor - will populate containerQueue if source is an Array or a plain Object\n var containerQueue = [];\n var visitedObjectsWithPath = new WeakMap();\n var sanitizedData = sanitizeProcessor(source, JSON_PATH_ROOT_ELEMENT, undefined, containerQueue, visitedObjectsWithPath);\n var accumulatedCharacterCount = ((_a = JSON.stringify(sanitizedData)) === null || _a === void 0 ? void 0 : _a.length) || 0;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'discarded', source);\n return undefined;\n }\n while (containerQueue.length > 0 && accumulatedCharacterCount < maxCharacterCount) {\n var containerToProcess = containerQueue.shift();\n var separatorLength = 0; // 0 for the first element, 1 for subsequent elements\n // Arrays and Objects have to be handled distinctly to ensure\n // we do not pick up non-numerical properties from Arrays\n if (Array.isArray(containerToProcess.source)) {\n for (var key = 0; key < containerToProcess.source.length; key++) {\n var targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n if (targetData !== undefined) {\n accumulatedCharacterCount += JSON.stringify(targetData).length;\n }\n else {\n // When an element of an Array (targetData) is undefined, it is serialized as null:\n // JSON.stringify([undefined]) => '[null]' - This accounts for 4 characters\n accumulatedCharacterCount += 4;\n }\n accumulatedCharacterCount += separatorLength;\n separatorLength = 1;\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n else {\n for (var key in containerToProcess.source) {\n if (Object.prototype.hasOwnProperty.call(containerToProcess.source, key)) {\n var targetData = sanitizeProcessor(containerToProcess.source[key], containerToProcess.path, key, containerQueue, visitedObjectsWithPath);\n // When a property of an object has an undefined value, it will be dropped during serialization:\n // JSON.stringify({a:undefined}) => '{}'\n if (targetData !== undefined) {\n accumulatedCharacterCount +=\n JSON.stringify(targetData).length + separatorLength + key.length + KEY_DECORATION_LENGTH;\n separatorLength = 1;\n }\n if (accumulatedCharacterCount > maxCharacterCount) {\n warnOverCharacterLimit(maxCharacterCount, 'truncated', source);\n break;\n }\n ;\n containerToProcess.target[key] = targetData;\n }\n }\n }\n }\n // Rebind detached toJSON functions\n restoreObjectPrototypeToJson();\n restoreArrayPrototypeToJson();\n return sanitizedData;\n}\n/**\n * Internal function to factorize the process common to the\n * initial call to sanitize, and iterations for Arrays and Objects\n *\n */\nfunction sanitizeProcessor(source, parentPath, key, queue, visitedObjectsWithPath) {\n // Start by handling toJSON, as we want to sanitize its output\n var sourceToSanitize = tryToApplyToJSON(source);\n if (!sourceToSanitize || typeof sourceToSanitize !== 'object') {\n return sanitizePrimitivesAndFunctions(sourceToSanitize);\n }\n var sanitizedSource = sanitizeObjects(sourceToSanitize);\n if (sanitizedSource !== '[Object]' && sanitizedSource !== '[Array]' && sanitizedSource !== '[Error]') {\n return sanitizedSource;\n }\n // Handle potential cyclic references\n // We need to use source as sourceToSanitize could be a reference to a new object\n // At this stage, we know the source is an object type\n var sourceAsObject = source;\n if (visitedObjectsWithPath.has(sourceAsObject)) {\n return \"[Reference seen at \".concat(visitedObjectsWithPath.get(sourceAsObject), \"]\");\n }\n // Add processed source to queue\n var currentPath = key !== undefined ? \"\".concat(parentPath, \".\").concat(key) : parentPath;\n var target = Array.isArray(sourceToSanitize) ? [] : {};\n visitedObjectsWithPath.set(sourceAsObject, currentPath);\n queue.push({ source: sourceToSanitize, target: target, path: currentPath });\n return target;\n}\n/**\n * Handles sanitization of simple, non-object types\n *\n */\nfunction sanitizePrimitivesAndFunctions(value) {\n // BigInt cannot be serialized by JSON.stringify(), convert it to a string representation\n if (typeof value === 'bigint') {\n return \"[BigInt] \".concat(value.toString());\n }\n // Functions cannot be serialized by JSON.stringify(). Moreover, if a faulty toJSON is present, it needs to be converted\n // so it won't prevent stringify from serializing later\n if (typeof value === 'function') {\n return \"[Function] \".concat(value.name || 'unknown');\n }\n // JSON.stringify() does not serialize symbols.\n if (typeof value === 'symbol') {\n return \"[Symbol] \".concat(value.description || value.toString());\n }\n return value;\n}\n/**\n * Handles sanitization of object types\n *\n * LIMITATIONS\n * - If a class defines a toStringTag Symbol, it will fall in the catch-all method and prevent enumeration of properties.\n * To avoid this, a toJSON method can be defined.\n * - IE11 does not return a distinct type for objects such as Map, WeakMap, ... These objects will pass through and their\n * properties enumerated if any.\n *\n */\nfunction sanitizeObjects(value) {\n try {\n // Handle events - Keep a simple implementation to avoid breaking changes\n if (value instanceof Event) {\n return {\n isTrusted: value.isTrusted,\n };\n }\n // Handle all remaining object types in a generic way\n var result = Object.prototype.toString.call(value);\n var match = result.match(/\\[object (.*)\\]/);\n if (match && match[1]) {\n return \"[\".concat(match[1], \"]\");\n }\n }\n catch (_a) {\n // If the previous serialization attempts failed, and we cannot convert using\n // Object.prototype.toString, declare the value unserializable\n }\n return '[Unserializable]';\n}\n/**\n * Checks if a toJSON function exists and tries to execute it\n *\n */\nfunction tryToApplyToJSON(value) {\n var object = value;\n if (object && typeof object.toJSON === 'function') {\n try {\n return object.toJSON();\n }\n catch (_a) {\n // If toJSON fails, we continue by trying to serialize the value manually\n }\n }\n return value;\n}\n/**\n * Helper function to display the warning when the accumulated character count is over the limit\n */\nfunction warnOverCharacterLimit(maxCharacterCount, changeType, source) {\n display.warn(\"The data provided has been \".concat(changeType, \" as it is over the limit of \").concat(maxCharacterCount, \" characters:\"), source);\n}\n//# sourceMappingURL=sanitize.js.map","var Observable = /** @class */ (function () {\n function Observable(onFirstSubscribe) {\n this.onFirstSubscribe = onFirstSubscribe;\n this.observers = [];\n }\n Observable.prototype.subscribe = function (f) {\n var _this = this;\n if (!this.observers.length && this.onFirstSubscribe) {\n this.onLastUnsubscribe = this.onFirstSubscribe(this) || undefined;\n }\n this.observers.push(f);\n return {\n unsubscribe: function () {\n _this.observers = _this.observers.filter(function (other) { return f !== other; });\n if (!_this.observers.length && _this.onLastUnsubscribe) {\n _this.onLastUnsubscribe();\n }\n },\n };\n };\n Observable.prototype.notify = function (data) {\n this.observers.forEach(function (observer) { return observer(data); });\n };\n return Observable;\n}());\nexport { Observable };\nexport function mergeObservables() {\n var observables = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n observables[_i] = arguments[_i];\n }\n return new Observable(function (globalObservable) {\n var subscriptions = observables.map(function (observable) {\n return observable.subscribe(function (data) { return globalObservable.notify(data); });\n });\n return function () { return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); }); };\n });\n}\n//# sourceMappingURL=observable.js.map","import { deepClone } from '../../tools/mergeInto';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { Observable } from '../../tools/observable';\nexport function createContextManager(customerDataTracker) {\n var context = {};\n var changeObservable = new Observable();\n var contextManager = {\n getContext: function () { return deepClone(context); },\n setContext: function (newContext) {\n if (getType(newContext) === 'object') {\n context = sanitize(newContext);\n customerDataTracker.updateCustomerData(context);\n }\n else {\n contextManager.clearContext();\n }\n changeObservable.notify();\n },\n setContextProperty: function (key, property) {\n context[key] = sanitize(property);\n customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n removeContextProperty: function (key) {\n delete context[key];\n customerDataTracker.updateCustomerData(context);\n changeObservable.notify();\n },\n clearContext: function () {\n context = {};\n customerDataTracker.resetCustomerData();\n changeObservable.notify();\n },\n changeObservable: changeObservable,\n };\n return contextManager;\n}\n//# sourceMappingURL=contextManager.js.map","import { Observable } from '../tools/observable';\nexport var TrackingConsent = {\n GRANTED: 'granted',\n NOT_GRANTED: 'not-granted',\n};\nexport function createTrackingConsentState(currentConsent) {\n var observable = new Observable();\n return {\n tryToInit: function (trackingConsent) {\n if (!currentConsent) {\n currentConsent = trackingConsent;\n }\n },\n update: function (trackingConsent) {\n currentConsent = trackingConsent;\n observable.notify();\n },\n isGranted: function () {\n return currentConsent === TrackingConsent.GRANTED;\n },\n observable: observable,\n };\n}\n//# sourceMappingURL=trackingConsent.js.map","import { monitor } from '../tools/monitor';\nimport { getZoneJsOriginalValue } from '../tools/getZoneJsOriginalValue';\n// We want to use a real enum (i.e. not a const enum) here, to be able to iterate over it to automatically add _ddIsTrusted in e2e tests\n// eslint-disable-next-line no-restricted-syntax\nexport var DOM_EVENT;\n(function (DOM_EVENT) {\n DOM_EVENT[\"BEFORE_UNLOAD\"] = \"beforeunload\";\n DOM_EVENT[\"CLICK\"] = \"click\";\n DOM_EVENT[\"DBL_CLICK\"] = \"dblclick\";\n DOM_EVENT[\"KEY_DOWN\"] = \"keydown\";\n DOM_EVENT[\"LOAD\"] = \"load\";\n DOM_EVENT[\"POP_STATE\"] = \"popstate\";\n DOM_EVENT[\"SCROLL\"] = \"scroll\";\n DOM_EVENT[\"TOUCH_START\"] = \"touchstart\";\n DOM_EVENT[\"TOUCH_END\"] = \"touchend\";\n DOM_EVENT[\"TOUCH_MOVE\"] = \"touchmove\";\n DOM_EVENT[\"VISIBILITY_CHANGE\"] = \"visibilitychange\";\n DOM_EVENT[\"PAGE_SHOW\"] = \"pageshow\";\n DOM_EVENT[\"FREEZE\"] = \"freeze\";\n DOM_EVENT[\"RESUME\"] = \"resume\";\n DOM_EVENT[\"DOM_CONTENT_LOADED\"] = \"DOMContentLoaded\";\n DOM_EVENT[\"POINTER_DOWN\"] = \"pointerdown\";\n DOM_EVENT[\"POINTER_UP\"] = \"pointerup\";\n DOM_EVENT[\"POINTER_CANCEL\"] = \"pointercancel\";\n DOM_EVENT[\"HASH_CHANGE\"] = \"hashchange\";\n DOM_EVENT[\"PAGE_HIDE\"] = \"pagehide\";\n DOM_EVENT[\"MOUSE_DOWN\"] = \"mousedown\";\n DOM_EVENT[\"MOUSE_UP\"] = \"mouseup\";\n DOM_EVENT[\"MOUSE_MOVE\"] = \"mousemove\";\n DOM_EVENT[\"FOCUS\"] = \"focus\";\n DOM_EVENT[\"BLUR\"] = \"blur\";\n DOM_EVENT[\"CONTEXT_MENU\"] = \"contextmenu\";\n DOM_EVENT[\"RESIZE\"] = \"resize\";\n DOM_EVENT[\"CHANGE\"] = \"change\";\n DOM_EVENT[\"INPUT\"] = \"input\";\n DOM_EVENT[\"PLAY\"] = \"play\";\n DOM_EVENT[\"PAUSE\"] = \"pause\";\n DOM_EVENT[\"SECURITY_POLICY_VIOLATION\"] = \"securitypolicyviolation\";\n DOM_EVENT[\"SELECTION_CHANGE\"] = \"selectionchange\";\n DOM_EVENT[\"STORAGE\"] = \"storage\";\n})(DOM_EVENT || (DOM_EVENT = {}));\n/**\n * Add an event listener to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n */\nexport function addEventListener(configuration, eventTarget, eventName, listener, options) {\n return addEventListeners(configuration, eventTarget, [eventName], listener, options);\n}\n/**\n * Add event listeners to an event target object (Window, Element, mock object...). This provides\n * a few conveniences compared to using `element.addEventListener` directly:\n *\n * * supports IE11 by: using an option object only if needed and emulating the `once` option\n *\n * * wraps the listener with a `monitor` function\n *\n * * returns a `stop` function to remove the listener\n *\n * * with `once: true`, the listener will be called at most once, even if different events are listened\n */\nexport function addEventListeners(configuration, eventTarget, eventNames, listener, _a) {\n var _b = _a === void 0 ? {} : _a, once = _b.once, capture = _b.capture, passive = _b.passive;\n var listenerWithMonitor = monitor(function (event) {\n if (!event.isTrusted && !event.__ddIsTrusted && !configuration.allowUntrustedEvents) {\n return;\n }\n if (once) {\n stop();\n }\n listener(event);\n });\n var options = passive ? { capture: capture, passive: passive } : capture;\n var add = getZoneJsOriginalValue(eventTarget, 'addEventListener');\n eventNames.forEach(function (eventName) { return add.call(eventTarget, eventName, listenerWithMonitor, options); });\n function stop() {\n var remove = getZoneJsOriginalValue(eventTarget, 'removeEventListener');\n eventNames.forEach(function (eventName) { return remove.call(eventTarget, eventName, listenerWithMonitor, options); });\n }\n return {\n stop: stop,\n };\n}\n//# sourceMappingURL=addEventListener.js.map","import { addEventListener, DOM_EVENT } from '../../browser/addEventListener';\nimport { combine } from '../../tools/mergeInto';\nvar CONTEXT_STORE_KEY_PREFIX = '_dd_c';\nvar storageListeners = [];\nexport function storeContextManager(configuration, contextManager, productKey, customerDataType) {\n var storageKey = buildStorageKey(productKey, customerDataType);\n storageListeners.push(addEventListener(configuration, window, DOM_EVENT.STORAGE, function (_a) {\n var key = _a.key;\n if (storageKey === key) {\n synchronizeWithStorage();\n }\n }));\n contextManager.changeObservable.subscribe(dumpToStorage);\n contextManager.setContext(combine(getFromStorage(), contextManager.getContext()));\n function synchronizeWithStorage() {\n contextManager.setContext(getFromStorage());\n }\n function dumpToStorage() {\n localStorage.setItem(storageKey, JSON.stringify(contextManager.getContext()));\n }\n function getFromStorage() {\n var rawContext = localStorage.getItem(storageKey);\n return rawContext !== null ? JSON.parse(rawContext) : {};\n }\n}\nexport function buildStorageKey(productKey, customerDataType) {\n return \"\".concat(CONTEXT_STORE_KEY_PREFIX, \"_\").concat(productKey, \"_\").concat(customerDataType);\n}\nexport function removeStorageListeners() {\n storageListeners.map(function (listener) { return listener.stop(); });\n}\n//# sourceMappingURL=storeContextManager.js.map","import { display } from '../../tools/display';\nimport { getType } from '../../tools/utils/typeUtils';\nimport { assign } from '../../tools/utils/polyfills';\n/**\n * Clone input data and ensure known user properties (id, name, email)\n * are strings, as defined here:\n * https://docs.datadoghq.com/logs/log_configuration/attributes_naming_convention/#user-related-attributes\n */\nexport function sanitizeUser(newUser) {\n // We shallow clone only to prevent mutation of user data.\n var user = assign({}, newUser);\n var keys = ['id', 'name', 'email'];\n keys.forEach(function (key) {\n if (key in user) {\n user[key] = String(user[key]);\n }\n });\n return user;\n}\n/**\n * Simple check to ensure user is valid\n */\nexport function checkUser(newUser) {\n var isValid = getType(newUser) === 'object';\n if (!isValid) {\n display.error('Unsupported user:', newUser);\n }\n return isValid;\n}\n//# sourceMappingURL=user.js.map","import { display } from '../tools/display';\nexport function displayAlreadyInitializedError(sdkName, initConfiguration) {\n if (!initConfiguration.silentMultipleInit) {\n display.error(\"\".concat(sdkName, \" is already initialized.\"));\n }\n}\n//# sourceMappingURL=displayAlreadyInitializedError.js.map","/**\n * Cross-browser stack trace computation.\n *\n * Reference implementation: https://github.com/csnover/TraceKit/blob/04530298073c3823de72deb0b97e7b38ca7bcb59/tracekit.js\n */\nimport { startsWith } from '../../tools/utils/polyfills';\nvar UNKNOWN_FUNCTION = '?';\nexport function computeStackTrace(ex) {\n var stack = [];\n var stackProperty = tryToGetString(ex, 'stack');\n var exString = String(ex);\n if (stackProperty && startsWith(stackProperty, exString)) {\n stackProperty = stackProperty.slice(exString.length);\n }\n if (stackProperty) {\n stackProperty.split('\\n').forEach(function (line) {\n var stackFrame = parseChromeLine(line) || parseChromeAnonymousLine(line) || parseWinLine(line) || parseGeckoLine(line);\n if (stackFrame) {\n if (!stackFrame.func && stackFrame.line) {\n stackFrame.func = UNKNOWN_FUNCTION;\n }\n stack.push(stackFrame);\n }\n });\n }\n return {\n message: tryToGetString(ex, 'message'),\n name: tryToGetString(ex, 'name'),\n stack: stack,\n };\n}\nvar fileUrl = '((?:file|https?|blob|chrome-extension|native|eval|webpack|snippet||\\\\w+\\\\.|\\\\/).*?)';\nvar filePosition = '(?::(\\\\d+))';\nvar CHROME_LINE_RE = new RegExp(\"^\\\\s*at (.*?) ?\\\\(\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"?\\\\)?\\\\s*$\"), 'i');\nvar CHROME_EVAL_RE = new RegExp(\"\\\\((\\\\S*)\".concat(filePosition).concat(filePosition, \"\\\\)\"));\nfunction parseChromeLine(line) {\n var parts = CHROME_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isNative = parts[2] && parts[2].indexOf('native') === 0; // start of line\n var isEval = parts[2] && parts[2].indexOf('eval') === 0; // start of line\n var submatch = CHROME_EVAL_RE.exec(parts[2]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line/column number\n parts[2] = submatch[1]; // url\n parts[3] = submatch[2]; // line\n parts[4] = submatch[3]; // column\n }\n return {\n args: isNative ? [parts[2]] : [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[3] ? +parts[3] : undefined,\n url: !isNative ? parts[2] : undefined,\n };\n}\nvar CHROME_ANONYMOUS_FUNCTION_RE = new RegExp(\"^\\\\s*at ?\".concat(fileUrl).concat(filePosition, \"?\").concat(filePosition, \"??\\\\s*$\"), 'i');\nfunction parseChromeAnonymousLine(line) {\n var parts = CHROME_ANONYMOUS_FUNCTION_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[3] ? +parts[3] : undefined,\n func: UNKNOWN_FUNCTION,\n line: parts[2] ? +parts[2] : undefined,\n url: parts[1],\n };\n}\nvar WINJS_LINE_RE = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\nfunction parseWinLine(line) {\n var parts = WINJS_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n return {\n args: [],\n column: parts[4] ? +parts[4] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: +parts[3],\n url: parts[2],\n };\n}\nvar GECKO_LINE_RE = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|capacitor|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\nvar GECKO_EVAL_RE = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\nfunction parseGeckoLine(line) {\n var parts = GECKO_LINE_RE.exec(line);\n if (!parts) {\n return;\n }\n var isEval = parts[3] && parts[3].indexOf(' > eval') > -1;\n var submatch = GECKO_EVAL_RE.exec(parts[3]);\n if (isEval && submatch) {\n // throw out eval line/column and use top-most line number\n parts[3] = submatch[1];\n parts[4] = submatch[2];\n parts[5] = undefined; // no column when eval\n }\n return {\n args: parts[2] ? parts[2].split(',') : [],\n column: parts[5] ? +parts[5] : undefined,\n func: parts[1] || UNKNOWN_FUNCTION,\n line: parts[4] ? +parts[4] : undefined,\n url: parts[3],\n };\n}\nfunction tryToGetString(candidate, property) {\n if (typeof candidate !== 'object' || !candidate || !(property in candidate)) {\n return undefined;\n }\n var value = candidate[property];\n return typeof value === 'string' ? value : undefined;\n}\nexport function computeStackTraceFromOnErrorMessage(messageObj, url, line, column) {\n var stack = [{ url: url, column: column, line: line }];\n var _a = tryToParseMessage(messageObj), name = _a.name, message = _a.message;\n return {\n name: name,\n message: message,\n stack: stack,\n };\n}\n// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#Error_types\nvar ERROR_TYPES_RE = /^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?([\\s\\S]*)$/;\nfunction tryToParseMessage(messageObj) {\n var _a;\n var name;\n var message;\n if ({}.toString.call(messageObj) === '[object String]') {\n ;\n _a = ERROR_TYPES_RE.exec(messageObj), name = _a[1], message = _a[2];\n }\n return { name: name, message: message };\n}\n//# sourceMappingURL=computeStackTrace.js.map","import { callMonitored } from '../../tools/monitor';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { noop } from '../../tools/utils/functionUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { computeStackTrace } from './computeStackTrace';\nexport var NO_ERROR_STACK_PRESENT_MESSAGE = 'No stack, consider using an instance of Error';\nexport function computeRawError(_a) {\n var stackTrace = _a.stackTrace, originalError = _a.originalError, handlingStack = _a.handlingStack, startClocks = _a.startClocks, nonErrorPrefix = _a.nonErrorPrefix, source = _a.source, handling = _a.handling;\n var isErrorInstance = originalError instanceof Error;\n var message = computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError);\n var stack = hasUsableStack(isErrorInstance, stackTrace)\n ? toStackTraceString(stackTrace)\n : NO_ERROR_STACK_PRESENT_MESSAGE;\n var causes = isErrorInstance ? flattenErrorCauses(originalError, source) : undefined;\n var type = stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name;\n var fingerprint = tryToGetFingerprint(originalError);\n return {\n startClocks: startClocks,\n source: source,\n handling: handling,\n handlingStack: handlingStack,\n originalError: originalError,\n type: type,\n message: message,\n stack: stack,\n causes: causes,\n fingerprint: fingerprint,\n };\n}\nfunction computeMessage(stackTrace, isErrorInstance, nonErrorPrefix, originalError) {\n // Favor stackTrace message only if tracekit has really been able to extract something meaningful (message + name)\n // TODO rework tracekit integration to avoid scattering error building logic\n return (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.message) && (stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name)\n ? stackTrace.message\n : !isErrorInstance\n ? \"\".concat(nonErrorPrefix, \" \").concat(jsonStringify(sanitize(originalError)))\n : 'Empty message';\n}\nfunction hasUsableStack(isErrorInstance, stackTrace) {\n if (stackTrace === undefined) {\n return false;\n }\n if (isErrorInstance) {\n return true;\n }\n // handle cases where tracekit return stack = [] or stack = [{url: undefined, line: undefined, column: undefined}]\n // TODO rework tracekit integration to avoid generating those unusable stack\n return stackTrace.stack.length > 0 && (stackTrace.stack.length > 1 || stackTrace.stack[0].url !== undefined);\n}\nexport function tryToGetFingerprint(originalError) {\n return originalError instanceof Error && 'dd_fingerprint' in originalError\n ? String(originalError.dd_fingerprint)\n : undefined;\n}\nexport function toStackTraceString(stack) {\n var result = formatErrorMessage(stack);\n stack.stack.forEach(function (frame) {\n var func = frame.func === '?' ? '' : frame.func;\n var args = frame.args && frame.args.length > 0 ? \"(\".concat(frame.args.join(', '), \")\") : '';\n var line = frame.line ? \":\".concat(frame.line) : '';\n var column = frame.line && frame.column ? \":\".concat(frame.column) : '';\n result += \"\\n at \".concat(func).concat(args, \" @ \").concat(frame.url).concat(line).concat(column);\n });\n return result;\n}\nexport function getFileFromStackTraceString(stack) {\n var _a;\n return (_a = /@ (.+)/.exec(stack)) === null || _a === void 0 ? void 0 : _a[1];\n}\nexport function formatErrorMessage(stack) {\n return \"\".concat(stack.name || 'Error', \": \").concat(stack.message);\n}\n/**\n Creates a stacktrace without SDK internal frames.\n \n Constraints:\n - Has to be called at the utmost position of the call stack.\n - No monitored function should encapsulate it, that is why we need to use callMonitored inside it.\n */\nexport function createHandlingStack() {\n /**\n * Skip the two internal frames:\n * - SDK API (console.error, ...)\n * - this function\n * in order to keep only the user calls\n */\n var internalFramesToSkip = 2;\n var error = new Error();\n var formattedStack;\n // IE needs to throw the error to fill in the stack trace\n if (!error.stack) {\n try {\n throw error;\n }\n catch (e) {\n noop();\n }\n }\n callMonitored(function () {\n var stackTrace = computeStackTrace(error);\n stackTrace.stack = stackTrace.stack.slice(internalFramesToSkip);\n formattedStack = toStackTraceString(stackTrace);\n });\n return formattedStack;\n}\nexport function flattenErrorCauses(error, parentSource) {\n var currentError = error;\n var causes = [];\n while ((currentError === null || currentError === void 0 ? void 0 : currentError.cause) instanceof Error && causes.length < 10) {\n var stackTrace = computeStackTrace(currentError.cause);\n causes.push({\n message: currentError.cause.message,\n source: parentSource,\n type: stackTrace === null || stackTrace === void 0 ? void 0 : stackTrace.name,\n stack: stackTrace && toStackTraceString(stackTrace),\n });\n currentError = currentError.cause;\n }\n return causes.length ? causes : undefined;\n}\n//# sourceMappingURL=error.js.map","export var ErrorSource = {\n AGENT: 'agent',\n CONSOLE: 'console',\n CUSTOM: 'custom',\n LOGGER: 'logger',\n NETWORK: 'network',\n SOURCE: 'source',\n REPORT: 'report',\n};\n//# sourceMappingURL=error.types.js.map","import { isNumber, round } from './numberUtils';\nexport var ONE_SECOND = 1000;\nexport var ONE_MINUTE = 60 * ONE_SECOND;\nexport var ONE_HOUR = 60 * ONE_MINUTE;\nexport var ONE_DAY = 24 * ONE_HOUR;\nexport var ONE_YEAR = 365 * ONE_DAY;\nexport function relativeToClocks(relative) {\n return { relative: relative, timeStamp: getCorrectedTimeStamp(relative) };\n}\nexport function timeStampToClocks(timeStamp) {\n return { relative: getRelativeTime(timeStamp), timeStamp: timeStamp };\n}\nfunction getCorrectedTimeStamp(relativeTime) {\n var correctedOrigin = (dateNow() - performance.now());\n // apply correction only for positive drift\n if (correctedOrigin > getNavigationStart()) {\n return Math.round(addDuration(correctedOrigin, relativeTime));\n }\n return getTimeStamp(relativeTime);\n}\nexport function currentDrift() {\n return Math.round(dateNow() - addDuration(getNavigationStart(), performance.now()));\n}\nexport function toServerDuration(duration) {\n if (!isNumber(duration)) {\n return duration;\n }\n return round(duration * 1e6, 0);\n}\nexport function dateNow() {\n // Do not use `Date.now` because sometimes websites are wrongly \"polyfilling\" it. For example, we\n // had some users using a very old version of `datejs`, which patched `Date.now` to return a Date\n // instance instead of a timestamp[1]. Those users are unlikely to fix this, so let's handle this\n // case ourselves.\n // [1]: https://github.com/datejs/Datejs/blob/97f5c7c58c5bc5accdab8aa7602b6ac56462d778/src/core-debug.js#L14-L16\n return new Date().getTime();\n}\nexport function timeStampNow() {\n return dateNow();\n}\nexport function relativeNow() {\n return performance.now();\n}\nexport function clocksNow() {\n return { relative: relativeNow(), timeStamp: timeStampNow() };\n}\nexport function clocksOrigin() {\n return { relative: 0, timeStamp: getNavigationStart() };\n}\nexport function elapsed(start, end) {\n return (end - start);\n}\nexport function addDuration(a, b) {\n return a + b;\n}\n/**\n * Get the time since the navigation was started.\n *\n * Note: this does not use `performance.timeOrigin` because it doesn't seem to reflect the actual\n * time on which the navigation has started: it may be much farther in the past, at least in Firefox 71.\n * Related issue in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=1429926\n */\nexport function getRelativeTime(timestamp) {\n return (timestamp - getNavigationStart());\n}\nexport function getTimeStamp(relativeTime) {\n return Math.round(addDuration(getNavigationStart(), relativeTime));\n}\nexport function looksLikeRelativeTime(time) {\n return time < ONE_YEAR;\n}\n/**\n * Navigation start slightly change on some rare cases\n */\nvar navigationStart;\nfunction getNavigationStart() {\n if (navigationStart === undefined) {\n navigationStart = performance.timing.navigationStart;\n }\n return navigationStart;\n}\nexport function resetNavigationStart() {\n navigationStart = undefined;\n}\n//# sourceMappingURL=timeUtils.js.map","var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nimport { clocksNow, computeRawError, computeStackTrace, combine, createContextManager, ErrorSource, monitored, sanitize, } from '@datadog/browser-core';\nexport var StatusType = {\n debug: 'debug',\n error: 'error',\n info: 'info',\n warn: 'warn',\n};\nexport var HandlerType = {\n console: 'console',\n http: 'http',\n silent: 'silent',\n};\nexport var STATUSES = Object.keys(StatusType);\nvar Logger = /** @class */ (function () {\n function Logger(handleLogStrategy, customerDataTracker, name, handlerType, level, loggerContext) {\n if (handlerType === void 0) { handlerType = HandlerType.http; }\n if (level === void 0) { level = StatusType.debug; }\n if (loggerContext === void 0) { loggerContext = {}; }\n this.handleLogStrategy = handleLogStrategy;\n this.handlerType = handlerType;\n this.level = level;\n this.contextManager = createContextManager(customerDataTracker);\n this.contextManager.setContext(loggerContext);\n if (name) {\n this.contextManager.setContextProperty('logger', { name: name });\n }\n }\n Logger.prototype.log = function (message, messageContext, status, error) {\n if (status === void 0) { status = StatusType.info; }\n var errorContext;\n if (error !== undefined && error !== null) {\n var stackTrace = error instanceof Error ? computeStackTrace(error) : undefined;\n var rawError = computeRawError({\n stackTrace: stackTrace,\n originalError: error,\n nonErrorPrefix: \"Provided\" /* NonErrorPrefix.PROVIDED */,\n source: ErrorSource.LOGGER,\n handling: \"handled\" /* ErrorHandling.HANDLED */,\n startClocks: clocksNow(),\n });\n errorContext = {\n stack: rawError.stack,\n kind: rawError.type,\n message: rawError.message,\n causes: rawError.causes,\n };\n }\n var sanitizedMessageContext = sanitize(messageContext);\n var context = errorContext\n ? combine({ error: errorContext }, sanitizedMessageContext)\n : sanitizedMessageContext;\n this.handleLogStrategy({\n message: sanitize(message),\n context: context,\n status: status,\n }, this);\n };\n Logger.prototype.debug = function (message, messageContext, error) {\n this.log(message, messageContext, StatusType.debug, error);\n };\n Logger.prototype.info = function (message, messageContext, error) {\n this.log(message, messageContext, StatusType.info, error);\n };\n Logger.prototype.warn = function (message, messageContext, error) {\n this.log(message, messageContext, StatusType.warn, error);\n };\n Logger.prototype.error = function (message, messageContext, error) {\n this.log(message, messageContext, StatusType.error, error);\n };\n Logger.prototype.setContext = function (context) {\n this.contextManager.setContext(context);\n };\n Logger.prototype.getContext = function () {\n return this.contextManager.getContext();\n };\n Logger.prototype.setContextProperty = function (key, value) {\n this.contextManager.setContextProperty(key, value);\n };\n Logger.prototype.removeContextProperty = function (key) {\n this.contextManager.removeContextProperty(key);\n };\n Logger.prototype.clearContext = function () {\n this.contextManager.clearContext();\n };\n Logger.prototype.setHandler = function (handler) {\n this.handlerType = handler;\n };\n Logger.prototype.getHandler = function () {\n return this.handlerType;\n };\n Logger.prototype.setLevel = function (level) {\n this.level = level;\n };\n Logger.prototype.getLevel = function () {\n return this.level;\n };\n __decorate([\n monitored\n ], Logger.prototype, \"log\", null);\n return Logger;\n}());\nexport { Logger };\n//# sourceMappingURL=logger.js.map","export function buildCommonContext(globalContextManager, userContextManager) {\n return {\n view: {\n referrer: document.referrer,\n url: window.location.href,\n },\n context: globalContextManager.getContext(),\n user: userContextManager.getContext(),\n };\n}\n//# sourceMappingURL=commonContext.js.map","import { arrayFrom } from './polyfills';\nexport function removeDuplicates(array) {\n var set = new Set();\n array.forEach(function (item) { return set.add(item); });\n return arrayFrom(set);\n}\nexport function removeItem(array, item) {\n var index = array.indexOf(item);\n if (index >= 0) {\n array.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrayUtils.js.map","import { removeItem } from './utils/arrayUtils';\nvar BUFFER_LIMIT = 500;\nvar BoundedBuffer = /** @class */ (function () {\n function BoundedBuffer() {\n this.buffer = [];\n }\n BoundedBuffer.prototype.add = function (callback) {\n var length = this.buffer.push(callback);\n if (length > BUFFER_LIMIT) {\n this.buffer.splice(0, 1);\n }\n };\n BoundedBuffer.prototype.remove = function (callback) {\n removeItem(this.buffer, callback);\n };\n BoundedBuffer.prototype.drain = function (arg) {\n this.buffer.forEach(function (callback) { return callback(arg); });\n this.buffer.length = 0;\n };\n return BoundedBuffer;\n}());\nexport { BoundedBuffer };\n//# sourceMappingURL=boundedBuffer.js.map","import { endsWith, includes } from '../tools/utils/polyfills';\nimport { getGlobalObject } from '../tools/getGlobalObject';\nexport function getEventBridge() {\n var eventBridgeGlobal = getEventBridgeGlobal();\n if (!eventBridgeGlobal) {\n return;\n }\n return {\n getCapabilities: function () {\n var _a;\n return JSON.parse(((_a = eventBridgeGlobal.getCapabilities) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal)) || '[]');\n },\n getPrivacyLevel: function () {\n var _a;\n return (_a = eventBridgeGlobal.getPrivacyLevel) === null || _a === void 0 ? void 0 : _a.call(eventBridgeGlobal);\n },\n getAllowedWebViewHosts: function () {\n return JSON.parse(eventBridgeGlobal.getAllowedWebViewHosts());\n },\n send: function (eventType, event, viewId) {\n var view = viewId ? { id: viewId } : undefined;\n eventBridgeGlobal.send(JSON.stringify({ eventType: eventType, event: event, view: view }));\n },\n };\n}\nexport function bridgeSupports(capability) {\n var bridge = getEventBridge();\n return !!bridge && includes(bridge.getCapabilities(), capability);\n}\nexport function canUseEventBridge(currentHost) {\n var _a;\n if (currentHost === void 0) { currentHost = (_a = getGlobalObject().location) === null || _a === void 0 ? void 0 : _a.hostname; }\n var bridge = getEventBridge();\n return (!!bridge &&\n bridge\n .getAllowedWebViewHosts()\n .some(function (allowedHost) { return currentHost === allowedHost || endsWith(currentHost, \".\".concat(allowedHost)); }));\n}\nfunction getEventBridgeGlobal() {\n return getGlobalObject().DatadogEventBridge;\n}\n//# sourceMappingURL=eventBridge.js.map","/**\n * LIMITATION:\n * For NPM setup, this feature flag singleton is shared between RUM and Logs product.\n * This means that an experimental flag set on the RUM product will be set on the Logs product.\n * So keep in mind that in certain configurations, your experimental feature flag may affect other products.\n *\n * FORMAT:\n * All feature flags should be snake_cased\n */\n// We want to use a real enum (i.e. not a const enum) here, to be able to check whether an arbitrary\n// string is an expected feature flag\n// eslint-disable-next-line no-restricted-syntax\nexport var ExperimentalFeature;\n(function (ExperimentalFeature) {\n ExperimentalFeature[\"PAGEHIDE\"] = \"pagehide\";\n ExperimentalFeature[\"FEATURE_FLAGS\"] = \"feature_flags\";\n ExperimentalFeature[\"RESOURCE_PAGE_STATES\"] = \"resource_page_states\";\n ExperimentalFeature[\"COLLECT_FLUSH_REASON\"] = \"collect_flush_reason\";\n ExperimentalFeature[\"ZERO_LCP_TELEMETRY\"] = \"zero_lcp_telemetry\";\n ExperimentalFeature[\"DISABLE_REPLAY_INLINE_CSS\"] = \"disable_replay_inline_css\";\n ExperimentalFeature[\"WRITABLE_RESOURCE_GRAPHQL\"] = \"writable_resource_graphql\";\n ExperimentalFeature[\"CUSTOM_VITALS\"] = \"custom_vitals\";\n})(ExperimentalFeature || (ExperimentalFeature = {}));\nvar enabledExperimentalFeatures = new Set();\nexport function addExperimentalFeatures(enabledFeatures) {\n enabledFeatures.forEach(function (flag) {\n enabledExperimentalFeatures.add(flag);\n });\n}\nexport function isExperimentalFeatureEnabled(featureName) {\n return enabledExperimentalFeatures.has(featureName);\n}\nexport function resetExperimentalFeatures() {\n enabledExperimentalFeatures.clear();\n}\nexport function getExperimentalFeatures() {\n return enabledExperimentalFeatures;\n}\n//# sourceMappingURL=experimentalFeatures.js.map","/**\n * Return true if the draw is successful\n * @param threshold between 0 and 100\n */\nexport function performDraw(threshold) {\n return threshold !== 0 && Math.random() * 100 <= threshold;\n}\nexport function round(num, decimals) {\n return +num.toFixed(decimals);\n}\nexport function isPercentage(value) {\n return isNumber(value) && value >= 0 && value <= 100;\n}\nexport function isNumber(value) {\n return typeof value === 'number';\n}\n//# sourceMappingURL=numberUtils.js.map","/**\n * UUID v4\n * from https://gist.github.com/jed/982883\n */\nexport function generateUUID(placeholder) {\n return placeholder\n ? // eslint-disable-next-line no-bitwise\n (parseInt(placeholder, 10) ^ ((Math.random() * 16) >> (parseInt(placeholder, 10) / 4))).toString(16)\n : \"\".concat(1e7, \"-\").concat(1e3, \"-\").concat(4e3, \"-\").concat(8e3, \"-\").concat(1e11).replace(/[018]/g, generateUUID);\n}\nvar COMMA_SEPARATED_KEY_VALUE = /([\\w-]+)\\s*=\\s*([^;]+)/g;\nexport function findCommaSeparatedValue(rawString, name) {\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n if (match[1] === name) {\n return match[2];\n }\n }\n else {\n break;\n }\n }\n}\nexport function findCommaSeparatedValues(rawString) {\n var result = new Map();\n COMMA_SEPARATED_KEY_VALUE.lastIndex = 0;\n // eslint-disable-next-line no-constant-condition\n while (true) {\n var match = COMMA_SEPARATED_KEY_VALUE.exec(rawString);\n if (match) {\n result.set(match[1], match[2]);\n }\n else {\n break;\n }\n }\n return result;\n}\nexport function safeTruncate(candidate, length, suffix) {\n if (suffix === void 0) { suffix = ''; }\n var lastChar = candidate.charCodeAt(length - 1);\n var isLastCharSurrogatePair = lastChar >= 0xd800 && lastChar <= 0xdbff;\n var correctedLength = isLastCharSurrogatePair ? length + 1 : length;\n if (candidate.length <= correctedLength) {\n return candidate;\n }\n return \"\".concat(candidate.slice(0, correctedLength)).concat(suffix);\n}\n//# sourceMappingURL=stringUtils.js.map","import { ONE_HOUR, ONE_MINUTE } from '../../tools/utils/timeUtils';\nexport var SESSION_TIME_OUT_DELAY = 4 * ONE_HOUR;\nexport var SESSION_EXPIRATION_DELAY = 15 * ONE_MINUTE;\n//# sourceMappingURL=sessionConstants.js.map","export function isIE() {\n return detectBrowserCached() === 0 /* Browser.IE */;\n}\nexport function isChromium() {\n return detectBrowserCached() === 1 /* Browser.CHROMIUM */;\n}\nexport function isSafari() {\n return detectBrowserCached() === 2 /* Browser.SAFARI */;\n}\nvar browserCache;\nfunction detectBrowserCached() {\n return browserCache !== null && browserCache !== void 0 ? browserCache : (browserCache = detectBrowser());\n}\n// Exported only for tests\nexport function detectBrowser(browserWindow) {\n var _a;\n if (browserWindow === void 0) { browserWindow = window; }\n var userAgent = browserWindow.navigator.userAgent;\n if (browserWindow.chrome || /HeadlessChrome/.test(userAgent)) {\n return 1 /* Browser.CHROMIUM */;\n }\n if (\n // navigator.vendor is deprecated, but it is the most resilient way we found to detect\n // \"Apple maintained browsers\" (AKA Safari). If one day it gets removed, we still have the\n // useragent test as a semi-working fallback.\n ((_a = browserWindow.navigator.vendor) === null || _a === void 0 ? void 0 : _a.indexOf('Apple')) === 0 ||\n (/safari/i.test(userAgent) && !/chrome|android/i.test(userAgent))) {\n return 2 /* Browser.SAFARI */;\n }\n if (browserWindow.document.documentMode) {\n return 0 /* Browser.IE */;\n }\n return 3 /* Browser.OTHER */;\n}\n//# sourceMappingURL=browserDetection.js.map","import { display } from '../tools/display';\nimport { ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { findCommaSeparatedValue, findCommaSeparatedValues, generateUUID } from '../tools/utils/stringUtils';\nexport function setCookie(name, value, expireDelay, options) {\n var date = new Date();\n date.setTime(date.getTime() + expireDelay);\n var expires = \"expires=\".concat(date.toUTCString());\n var sameSite = options && options.crossSite ? 'none' : 'strict';\n var domain = options && options.domain ? \";domain=\".concat(options.domain) : '';\n var secure = options && options.secure ? ';secure' : '';\n var partitioned = options && options.partitioned ? ';partitioned' : '';\n document.cookie = \"\".concat(name, \"=\").concat(value, \";\").concat(expires, \";path=/;samesite=\").concat(sameSite).concat(domain).concat(secure).concat(partitioned);\n}\nexport function getCookie(name) {\n return findCommaSeparatedValue(document.cookie, name);\n}\nvar initCookieParsed;\n/**\n * Returns a cached value of the cookie. Use this during SDK initialization (and whenever possible)\n * to avoid accessing document.cookie multiple times.\n */\nexport function getInitCookie(name) {\n if (!initCookieParsed) {\n initCookieParsed = findCommaSeparatedValues(document.cookie);\n }\n return initCookieParsed.get(name);\n}\nexport function resetInitCookies() {\n initCookieParsed = undefined;\n}\nexport function deleteCookie(name, options) {\n setCookie(name, '', 0, options);\n}\nexport function areCookiesAuthorized(options) {\n if (document.cookie === undefined || document.cookie === null) {\n return false;\n }\n try {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_cookie_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n setCookie(testCookieName, testCookieValue, ONE_MINUTE, options);\n var isCookieCorrectlySet = getCookie(testCookieName) === testCookieValue;\n deleteCookie(testCookieName, options);\n return isCookieCorrectlySet;\n }\n catch (error) {\n display.error(error);\n return false;\n }\n}\n/**\n * No API to retrieve it, number of levels for subdomain and suffix are unknown\n * strategy: find the minimal domain on which cookies are allowed to be set\n * https://web.dev/same-site-same-origin/#site\n */\nvar getCurrentSiteCache;\nexport function getCurrentSite() {\n if (getCurrentSiteCache === undefined) {\n // Use a unique cookie name to avoid issues when the SDK is initialized multiple times during\n // the test cookie lifetime\n var testCookieName = \"dd_site_test_\".concat(generateUUID());\n var testCookieValue = 'test';\n var domainLevels = window.location.hostname.split('.');\n var candidateDomain = domainLevels.pop();\n while (domainLevels.length && !getCookie(testCookieName)) {\n candidateDomain = \"\".concat(domainLevels.pop(), \".\").concat(candidateDomain);\n setCookie(testCookieName, testCookieValue, ONE_SECOND, { domain: candidateDomain });\n }\n deleteCookie(testCookieName, { domain: candidateDomain });\n getCurrentSiteCache = candidateDomain;\n }\n return getCurrentSiteCache;\n}\n//# sourceMappingURL=cookie.js.map","export var SESSION_STORE_KEY = '_dd_s';\n//# sourceMappingURL=sessionStoreStrategy.js.map","import { isEmptyObject } from '../../tools/utils/objectUtils';\nimport { objectEntries } from '../../tools/utils/polyfills';\nimport { dateNow } from '../../tools/utils/timeUtils';\nimport { SESSION_EXPIRATION_DELAY } from './sessionConstants';\nvar SESSION_ENTRY_REGEXP = /^([a-z]+)=([a-z0-9-]+)$/;\nvar SESSION_ENTRY_SEPARATOR = '&';\nexport function isSessionInExpiredState(session) {\n return isEmptyObject(session);\n}\nexport function expandSessionState(session) {\n session.expire = String(dateNow() + SESSION_EXPIRATION_DELAY);\n}\nexport function toSessionString(session) {\n return objectEntries(session)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return \"\".concat(key, \"=\").concat(value);\n })\n .join(SESSION_ENTRY_SEPARATOR);\n}\nexport function toSessionState(sessionString) {\n var session = {};\n if (isValidSessionString(sessionString)) {\n sessionString.split(SESSION_ENTRY_SEPARATOR).forEach(function (entry) {\n var matches = SESSION_ENTRY_REGEXP.exec(entry);\n if (matches !== null) {\n var key = matches[1], value = matches[2];\n session[key] = value;\n }\n });\n }\n return session;\n}\nfunction isValidSessionString(sessionString) {\n return (!!sessionString &&\n (sessionString.indexOf(SESSION_ENTRY_SEPARATOR) !== -1 || SESSION_ENTRY_REGEXP.test(sessionString)));\n}\n//# sourceMappingURL=sessionState.js.map","import { getInitCookie } from '../../browser/cookie';\nimport { SESSION_STORE_KEY } from './storeStrategies/sessionStoreStrategy';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport var OLD_SESSION_COOKIE_NAME = '_dd';\nexport var OLD_RUM_COOKIE_NAME = '_dd_r';\nexport var OLD_LOGS_COOKIE_NAME = '_dd_l';\n// duplicate values to avoid dependency issues\nexport var RUM_SESSION_KEY = 'rum';\nexport var LOGS_SESSION_KEY = 'logs';\n/**\n * This migration should remain in the codebase as long as older versions are available/live\n * to allow older sdk versions to be upgraded to newer versions without compatibility issues.\n */\nexport function tryOldCookiesMigration(cookieStoreStrategy) {\n var sessionString = getInitCookie(SESSION_STORE_KEY);\n if (!sessionString) {\n var oldSessionId = getInitCookie(OLD_SESSION_COOKIE_NAME);\n var oldRumType = getInitCookie(OLD_RUM_COOKIE_NAME);\n var oldLogsType = getInitCookie(OLD_LOGS_COOKIE_NAME);\n var session = {};\n if (oldSessionId) {\n session.id = oldSessionId;\n }\n if (oldLogsType && /^[01]$/.test(oldLogsType)) {\n session[LOGS_SESSION_KEY] = oldLogsType;\n }\n if (oldRumType && /^[012]$/.test(oldRumType)) {\n session[RUM_SESSION_KEY] = oldRumType;\n }\n if (!isSessionInExpiredState(session)) {\n expandSessionState(session);\n cookieStoreStrategy.persistSession(session);\n }\n }\n}\n//# sourceMappingURL=oldCookiesMigration.js.map","import { isChromium } from '../../../tools/utils/browserDetection';\nimport { getCurrentSite, areCookiesAuthorized, deleteCookie, getCookie, setCookie } from '../../../browser/cookie';\nimport { tryOldCookiesMigration } from '../oldCookiesMigration';\nimport { SESSION_EXPIRATION_DELAY } from '../sessionConstants';\nimport { toSessionString, toSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nexport function selectCookieStrategy(initConfiguration) {\n var cookieOptions = buildCookieOptions(initConfiguration);\n return areCookiesAuthorized(cookieOptions) ? { type: 'Cookie', cookieOptions: cookieOptions } : undefined;\n}\nexport function initCookieStrategy(cookieOptions) {\n var cookieStore = {\n /**\n * Lock strategy allows mitigating issues due to concurrent access to cookie.\n * This issue concerns only chromium browsers and enabling this on firefox increases cookie write failures.\n */\n isLockEnabled: isChromium(),\n persistSession: persistSessionCookie(cookieOptions),\n retrieveSession: retrieveSessionCookie,\n clearSession: deleteSessionCookie(cookieOptions),\n };\n tryOldCookiesMigration(cookieStore);\n return cookieStore;\n}\nfunction persistSessionCookie(options) {\n return function (session) {\n setCookie(SESSION_STORE_KEY, toSessionString(session), SESSION_EXPIRATION_DELAY, options);\n };\n}\nfunction retrieveSessionCookie() {\n var sessionString = getCookie(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction deleteSessionCookie(options) {\n return function () {\n deleteCookie(SESSION_STORE_KEY, options);\n };\n}\nexport function buildCookieOptions(initConfiguration) {\n var cookieOptions = {};\n cookieOptions.secure =\n !!initConfiguration.useSecureSessionCookie ||\n !!initConfiguration.usePartitionedCrossSiteSessionCookie ||\n !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.crossSite =\n !!initConfiguration.usePartitionedCrossSiteSessionCookie || !!initConfiguration.useCrossSiteSessionCookie;\n cookieOptions.partitioned = !!initConfiguration.usePartitionedCrossSiteSessionCookie;\n if (initConfiguration.trackSessionAcrossSubdomains) {\n cookieOptions.domain = getCurrentSite();\n }\n return cookieOptions;\n}\n//# sourceMappingURL=sessionInCookie.js.map","import { generateUUID } from '../../../tools/utils/stringUtils';\nimport { toSessionString, toSessionState } from '../sessionState';\nimport { SESSION_STORE_KEY } from './sessionStoreStrategy';\nvar LOCAL_STORAGE_TEST_KEY = '_dd_test_';\nexport function selectLocalStorageStrategy() {\n try {\n var id = generateUUID();\n var testKey = \"\".concat(LOCAL_STORAGE_TEST_KEY).concat(id);\n localStorage.setItem(testKey, id);\n var retrievedId = localStorage.getItem(testKey);\n localStorage.removeItem(testKey);\n return id === retrievedId ? { type: 'LocalStorage' } : undefined;\n }\n catch (e) {\n return undefined;\n }\n}\nexport function initLocalStorageStrategy() {\n return {\n isLockEnabled: false,\n persistSession: persistInLocalStorage,\n retrieveSession: retrieveSessionFromLocalStorage,\n clearSession: clearSessionFromLocalStorage,\n };\n}\nfunction persistInLocalStorage(sessionState) {\n localStorage.setItem(SESSION_STORE_KEY, toSessionString(sessionState));\n}\nfunction retrieveSessionFromLocalStorage() {\n var sessionString = localStorage.getItem(SESSION_STORE_KEY);\n return toSessionState(sessionString);\n}\nfunction clearSessionFromLocalStorage() {\n localStorage.removeItem(SESSION_STORE_KEY);\n}\n//# sourceMappingURL=sessionInLocalStorage.js.map","import { setTimeout } from '../../tools/timer';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { expandSessionState, isSessionInExpiredState } from './sessionState';\nexport var LOCK_RETRY_DELAY = 10;\nexport var LOCK_MAX_TRIES = 100;\nvar bufferedOperations = [];\nvar ongoingOperations;\nexport function processSessionStoreOperations(operations, sessionStoreStrategy, numberOfRetries) {\n var _a;\n if (numberOfRetries === void 0) { numberOfRetries = 0; }\n var isLockEnabled = sessionStoreStrategy.isLockEnabled, retrieveSession = sessionStoreStrategy.retrieveSession, persistSession = sessionStoreStrategy.persistSession, clearSession = sessionStoreStrategy.clearSession;\n if (!ongoingOperations) {\n ongoingOperations = operations;\n }\n if (operations !== ongoingOperations) {\n bufferedOperations.push(operations);\n return;\n }\n if (isLockEnabled && numberOfRetries >= LOCK_MAX_TRIES) {\n next(sessionStoreStrategy);\n return;\n }\n var currentLock;\n var currentSession = retrieveSession();\n if (isLockEnabled) {\n // if someone has lock, retry later\n if (currentSession.lock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n // acquire lock\n currentLock = generateUUID();\n currentSession.lock = currentLock;\n persistSession(currentSession);\n // if lock is not acquired, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n var processedSession = operations.process(currentSession);\n if (isLockEnabled) {\n // if lock corrupted after process, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n }\n if (processedSession) {\n if (isSessionInExpiredState(processedSession)) {\n clearSession();\n }\n else {\n expandSessionState(processedSession);\n persistSession(processedSession);\n }\n }\n if (isLockEnabled) {\n // correctly handle lock around expiration would require to handle this case properly at several levels\n // since we don't have evidence of lock issues around expiration, let's just not do the corruption check for it\n if (!(processedSession && isSessionInExpiredState(processedSession))) {\n // if lock corrupted after persist, retry later\n currentSession = retrieveSession();\n if (currentSession.lock !== currentLock) {\n retryLater(operations, sessionStoreStrategy, numberOfRetries);\n return;\n }\n delete currentSession.lock;\n persistSession(currentSession);\n processedSession = currentSession;\n }\n }\n // call after even if session is not persisted in order to perform operations on\n // up-to-date session state value => the value could have been modified by another tab\n (_a = operations.after) === null || _a === void 0 ? void 0 : _a.call(operations, processedSession || currentSession);\n next(sessionStoreStrategy);\n}\nfunction retryLater(operations, sessionStore, currentNumberOfRetries) {\n setTimeout(function () {\n processSessionStoreOperations(operations, sessionStore, currentNumberOfRetries + 1);\n }, LOCK_RETRY_DELAY);\n}\nfunction next(sessionStore) {\n ongoingOperations = undefined;\n var nextOperations = bufferedOperations.shift();\n if (nextOperations) {\n processSessionStoreOperations(nextOperations, sessionStore);\n }\n}\n//# sourceMappingURL=sessionStoreOperations.js.map","import { clearInterval, setInterval } from '../../tools/timer';\nimport { Observable } from '../../tools/observable';\nimport { ONE_SECOND, dateNow } from '../../tools/utils/timeUtils';\nimport { throttle } from '../../tools/utils/functionUtils';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { selectCookieStrategy, initCookieStrategy } from './storeStrategies/sessionInCookie';\nimport { initLocalStorageStrategy, selectLocalStorageStrategy } from './storeStrategies/sessionInLocalStorage';\nimport { processSessionStoreOperations } from './sessionStoreOperations';\n/**\n * Every second, the storage will be polled to check for any change that can occur\n * to the session state in another browser tab, or another window.\n * This value has been determined from our previous cookie-only implementation.\n */\nexport var STORAGE_POLL_DELAY = ONE_SECOND;\n/**\n * Checks if cookies are available as the preferred storage\n * Else, checks if LocalStorage is allowed and available\n */\nexport function selectSessionStoreStrategyType(initConfiguration) {\n var sessionStoreStrategyType = selectCookieStrategy(initConfiguration);\n if (!sessionStoreStrategyType && initConfiguration.allowFallbackToLocalStorage) {\n sessionStoreStrategyType = selectLocalStorageStrategy();\n }\n return sessionStoreStrategyType;\n}\n/**\n * Different session concepts:\n * - tracked, the session has an id and is updated along the user navigation\n * - not tracked, the session does not have an id but it is updated along the user navigation\n * - inactive, no session in store or session expired, waiting for a renew session\n */\nexport function startSessionStore(sessionStoreStrategyType, productKey, computeSessionState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n var sessionStoreStrategy = sessionStoreStrategyType.type === 'Cookie'\n ? initCookieStrategy(sessionStoreStrategyType.cookieOptions)\n : initLocalStorageStrategy();\n var clearSession = sessionStoreStrategy.clearSession, retrieveSession = sessionStoreStrategy.retrieveSession;\n var watchSessionTimeoutId = setInterval(watchSession, STORAGE_POLL_DELAY);\n var sessionCache = retrieveActiveSession();\n var _a = throttle(function () {\n var isTracked;\n processSessionStoreOperations({\n process: function (sessionState) {\n var synchronizedSession = synchronizeSession(sessionState);\n isTracked = expandOrRenewSessionState(synchronizedSession);\n return synchronizedSession;\n },\n after: function (sessionState) {\n if (isTracked && !hasSessionInCache()) {\n renewSessionInCache(sessionState);\n }\n sessionCache = sessionState;\n },\n }, sessionStoreStrategy);\n }, STORAGE_POLL_DELAY), throttledExpandOrRenewSession = _a.throttled, cancelExpandOrRenewSession = _a.cancel;\n function expandSession() {\n processSessionStoreOperations({\n process: function (sessionState) { return (hasSessionInCache() ? synchronizeSession(sessionState) : undefined); },\n }, sessionStoreStrategy);\n }\n /**\n * allows two behaviors:\n * - if the session is active, synchronize the session cache without updating the session store\n * - if the session is not active, clear the session store and expire the session cache\n */\n function watchSession() {\n processSessionStoreOperations({\n process: function (sessionState) { return (!isActiveSession(sessionState) ? {} : undefined); },\n after: synchronizeSession,\n }, sessionStoreStrategy);\n }\n function synchronizeSession(sessionState) {\n if (!isActiveSession(sessionState)) {\n sessionState = {};\n }\n if (hasSessionInCache()) {\n if (isSessionInCacheOutdated(sessionState)) {\n expireSessionInCache();\n }\n else {\n sessionCache = sessionState;\n }\n }\n return sessionState;\n }\n function expandOrRenewSessionState(sessionState) {\n var _a = computeSessionState(sessionState[productKey]), trackingType = _a.trackingType, isTracked = _a.isTracked;\n sessionState[productKey] = trackingType;\n if (isTracked && !sessionState.id) {\n sessionState.id = generateUUID();\n sessionState.created = String(dateNow());\n }\n return isTracked;\n }\n function hasSessionInCache() {\n return sessionCache[productKey] !== undefined;\n }\n function isSessionInCacheOutdated(sessionState) {\n return sessionCache.id !== sessionState.id || sessionCache[productKey] !== sessionState[productKey];\n }\n function expireSessionInCache() {\n sessionCache = {};\n expireObservable.notify();\n }\n function renewSessionInCache(sessionState) {\n sessionCache = sessionState;\n renewObservable.notify();\n }\n function retrieveActiveSession() {\n var session = retrieveSession();\n if (isActiveSession(session)) {\n return session;\n }\n return {};\n }\n function isActiveSession(sessionState) {\n // created and expire can be undefined for versions which was not storing them\n // these checks could be removed when older versions will not be available/live anymore\n return ((sessionState.created === undefined || dateNow() - Number(sessionState.created) < SESSION_TIME_OUT_DELAY) &&\n (sessionState.expire === undefined || dateNow() < Number(sessionState.expire)));\n }\n return {\n expandOrRenewSession: throttledExpandOrRenewSession,\n expandSession: expandSession,\n getSession: function () { return sessionCache; },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: function () {\n cancelExpandOrRenewSession();\n clearSession();\n synchronizeSession({});\n },\n stop: function () {\n clearInterval(watchSessionTimeoutId);\n },\n };\n}\n//# sourceMappingURL=sessionStore.js.map","import { jsonStringify } from '../serialisation/jsonStringify';\nexport function normalizeUrl(url) {\n return buildUrl(url, location.href).href;\n}\nexport function isValidUrl(url) {\n try {\n return !!buildUrl(url);\n }\n catch (_a) {\n return false;\n }\n}\nexport function getPathName(url) {\n var pathname = buildUrl(url).pathname;\n return pathname[0] === '/' ? pathname : \"/\".concat(pathname);\n}\nexport function buildUrl(url, base) {\n var supportedURL = getSupportedUrl();\n if (supportedURL) {\n try {\n return base !== undefined ? new supportedURL(url, base) : new supportedURL(url);\n }\n catch (error) {\n throw new Error(\"Failed to construct URL: \".concat(String(error), \" \").concat(jsonStringify({ url: url, base: base })));\n }\n }\n if (base === undefined && !/:/.test(url)) {\n throw new Error(\"Invalid URL: '\".concat(url, \"'\"));\n }\n var doc = document;\n var anchorElement = doc.createElement('a');\n if (base !== undefined) {\n doc = document.implementation.createHTMLDocument('');\n var baseElement = doc.createElement('base');\n baseElement.href = base;\n doc.head.appendChild(baseElement);\n doc.body.appendChild(anchorElement);\n }\n anchorElement.href = url;\n return anchorElement;\n}\nvar originalURL = URL;\nvar isURLSupported;\nfunction getSupportedUrl() {\n if (isURLSupported === undefined) {\n try {\n var url = new originalURL('http://test/path');\n isURLSupported = url.href === 'http://test/path';\n }\n catch (_a) {\n isURLSupported = false;\n }\n }\n return isURLSupported ? originalURL : undefined;\n}\n//# sourceMappingURL=urlPolyfill.js.map","export var INTAKE_SITE_STAGING = 'datad0g.com';\nexport var INTAKE_SITE_FED_STAGING = 'dd0g-gov.com';\nexport var INTAKE_SITE_US1 = 'datadoghq.com';\nexport var INTAKE_SITE_EU1 = 'datadoghq.eu';\nexport var INTAKE_SITE_US1_FED = 'ddog-gov.com';\n//# sourceMappingURL=intakeSites.js.map","import { timeStampNow } from '../../tools/utils/timeUtils';\nimport { normalizeUrl } from '../../tools/utils/urlPolyfill';\nimport { ExperimentalFeature, isExperimentalFeatureEnabled } from '../../tools/experimentalFeatures';\nimport { generateUUID } from '../../tools/utils/stringUtils';\nimport { INTAKE_SITE_US1, INTAKE_SITE_FED_STAGING } from './intakeSites';\nexport function createEndpointBuilder(initConfiguration, trackType, configurationTags) {\n var buildUrlWithParameters = createEndpointUrlWithParametersBuilder(initConfiguration, trackType);\n return {\n build: function (api, payload) {\n var parameters = buildEndpointParameters(initConfiguration, trackType, configurationTags, api, payload);\n return buildUrlWithParameters(parameters);\n },\n urlPrefix: buildUrlWithParameters(''),\n trackType: trackType,\n };\n}\n/**\n * Create a function used to build a full endpoint url from provided parameters. The goal of this\n * function is to pre-compute some parts of the URL to avoid re-computing everything on every\n * request, as only parameters are changing.\n */\nfunction createEndpointUrlWithParametersBuilder(initConfiguration, trackType) {\n var path = \"/api/v2/\".concat(trackType);\n var proxy = initConfiguration.proxy;\n if (typeof proxy === 'string') {\n var normalizedProxyUrl_1 = normalizeUrl(proxy);\n return function (parameters) { return \"\".concat(normalizedProxyUrl_1, \"?ddforward=\").concat(encodeURIComponent(\"\".concat(path, \"?\").concat(parameters))); };\n }\n if (typeof proxy === 'function') {\n return function (parameters) { return proxy({ path: path, parameters: parameters }); };\n }\n var host = buildEndpointHost(initConfiguration);\n return function (parameters) { return \"https://\".concat(host).concat(path, \"?\").concat(parameters); };\n}\nfunction buildEndpointHost(initConfiguration) {\n var _a = initConfiguration.site, site = _a === void 0 ? INTAKE_SITE_US1 : _a, internalAnalyticsSubdomain = initConfiguration.internalAnalyticsSubdomain;\n if (internalAnalyticsSubdomain && site === INTAKE_SITE_US1) {\n return \"\".concat(internalAnalyticsSubdomain, \".\").concat(INTAKE_SITE_US1);\n }\n if (site === INTAKE_SITE_FED_STAGING) {\n return \"http-intake.logs.\".concat(site);\n }\n var domainParts = site.split('.');\n var extension = domainParts.pop();\n return \"browser-intake-\".concat(domainParts.join('-'), \".\").concat(extension);\n}\n/**\n * Build parameters to be used for an intake request. Parameters should be re-built for each\n * request, as they change randomly.\n */\nfunction buildEndpointParameters(_a, trackType, configurationTags, api, _b) {\n var clientToken = _a.clientToken, internalAnalyticsSubdomain = _a.internalAnalyticsSubdomain;\n var retry = _b.retry, flushReason = _b.flushReason, encoding = _b.encoding;\n var tags = [\"sdk_version:\".concat(\"5.11.0\"), \"api:\".concat(api)].concat(configurationTags);\n if (flushReason && isExperimentalFeatureEnabled(ExperimentalFeature.COLLECT_FLUSH_REASON)) {\n tags.push(\"flush_reason:\".concat(flushReason));\n }\n if (retry) {\n tags.push(\"retry_count:\".concat(retry.count), \"retry_after:\".concat(retry.lastFailureStatus));\n }\n var parameters = [\n 'ddsource=browser',\n \"ddtags=\".concat(encodeURIComponent(tags.join(','))),\n \"dd-api-key=\".concat(clientToken),\n \"dd-evp-origin-version=\".concat(encodeURIComponent(\"5.11.0\")),\n 'dd-evp-origin=browser',\n \"dd-request-id=\".concat(generateUUID()),\n ];\n if (encoding) {\n parameters.push(\"dd-evp-encoding=\".concat(encoding));\n }\n if (trackType === 'rum') {\n parameters.push(\"batch_time=\".concat(timeStampNow()));\n }\n if (internalAnalyticsSubdomain) {\n parameters.reverse();\n }\n return parameters.join('&');\n}\n//# sourceMappingURL=endpointBuilder.js.map","import { display } from '../../tools/display';\nexport var TAG_SIZE_LIMIT = 200;\nexport function buildTags(configuration) {\n var env = configuration.env, service = configuration.service, version = configuration.version, datacenter = configuration.datacenter;\n var tags = [];\n if (env) {\n tags.push(buildTag('env', env));\n }\n if (service) {\n tags.push(buildTag('service', service));\n }\n if (version) {\n tags.push(buildTag('version', version));\n }\n if (datacenter) {\n tags.push(buildTag('datacenter', datacenter));\n }\n return tags;\n}\nvar FORBIDDEN_CHARACTERS = /[^a-z0-9_:./-]/;\nexport function buildTag(key, rawValue) {\n // See https://docs.datadoghq.com/getting_started/tagging/#defining-tags for tags syntax. Note\n // that the backend may not follow the exact same rules, so we only want to display an informal\n // warning.\n var valueSizeLimit = TAG_SIZE_LIMIT - key.length - 1;\n if (rawValue.length > valueSizeLimit || FORBIDDEN_CHARACTERS.test(rawValue)) {\n display.warn(\"\".concat(key, \" value doesn't meet tag requirements and will be sanitized\"));\n }\n // Let the backend do most of the sanitization, but still make sure multiple tags can't be crafted\n // by forging a value containing commas.\n var sanitizedValue = rawValue.replace(/,/g, '_');\n return \"\".concat(key, \":\").concat(sanitizedValue);\n}\n//# sourceMappingURL=tags.js.map","import { objectValues, assign } from '../../tools/utils/polyfills';\nimport { createEndpointBuilder } from './endpointBuilder';\nimport { buildTags } from './tags';\nimport { INTAKE_SITE_US1 } from './intakeSites';\nexport function computeTransportConfiguration(initConfiguration) {\n var tags = buildTags(initConfiguration);\n var endpointBuilders = computeEndpointBuilders(initConfiguration, tags);\n var intakeUrlPrefixes = objectValues(endpointBuilders).map(function (builder) { return builder.urlPrefix; });\n var replicaConfiguration = computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags);\n return assign({\n isIntakeUrl: function (url) { return intakeUrlPrefixes.some(function (intakeEndpoint) { return url.indexOf(intakeEndpoint) === 0; }); },\n replica: replicaConfiguration,\n site: initConfiguration.site || INTAKE_SITE_US1,\n }, endpointBuilders);\n}\nfunction computeEndpointBuilders(initConfiguration, tags) {\n return {\n logsEndpointBuilder: createEndpointBuilder(initConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(initConfiguration, 'rum', tags),\n sessionReplayEndpointBuilder: createEndpointBuilder(initConfiguration, 'replay', tags),\n };\n}\nfunction computeReplicaConfiguration(initConfiguration, intakeUrlPrefixes, tags) {\n if (!initConfiguration.replica) {\n return;\n }\n var replicaConfiguration = assign({}, initConfiguration, {\n site: INTAKE_SITE_US1,\n clientToken: initConfiguration.replica.clientToken,\n });\n var replicaEndpointBuilders = {\n logsEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'logs', tags),\n rumEndpointBuilder: createEndpointBuilder(replicaConfiguration, 'rum', tags),\n };\n intakeUrlPrefixes.push.apply(intakeUrlPrefixes, objectValues(replicaEndpointBuilders).map(function (builder) { return builder.urlPrefix; }));\n return assign({ applicationId: initConfiguration.replica.applicationId }, replicaEndpointBuilders);\n}\n//# sourceMappingURL=transportConfiguration.js.map","import { catchUserErrors } from '../../tools/catchUserErrors';\nimport { display } from '../../tools/display';\nimport { ExperimentalFeature, addExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { ONE_SECOND } from '../../tools/utils/timeUtils';\nimport { isPercentage } from '../../tools/utils/numberUtils';\nimport { ONE_KIBI_BYTE } from '../../tools/utils/byteUtils';\nimport { objectHasValue } from '../../tools/utils/objectUtils';\nimport { assign } from '../../tools/utils/polyfills';\nimport { selectSessionStoreStrategyType } from '../session/sessionStore';\nimport { TrackingConsent } from '../trackingConsent';\nimport { computeTransportConfiguration } from './transportConfiguration';\nexport var DefaultPrivacyLevel = {\n ALLOW: 'allow',\n MASK: 'mask',\n MASK_USER_INPUT: 'mask-user-input',\n};\nexport function validateAndBuildConfiguration(initConfiguration) {\n var _a, _b, _c, _d;\n if (!initConfiguration || !initConfiguration.clientToken) {\n display.error('Client Token is not configured, we will not send any data.');\n return;\n }\n if (initConfiguration.sessionSampleRate !== undefined && !isPercentage(initConfiguration.sessionSampleRate)) {\n display.error('Session Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetrySampleRate !== undefined && !isPercentage(initConfiguration.telemetrySampleRate)) {\n display.error('Telemetry Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.telemetryConfigurationSampleRate !== undefined &&\n !isPercentage(initConfiguration.telemetryConfigurationSampleRate)) {\n display.error('Telemetry Configuration Sample Rate should be a number between 0 and 100');\n return;\n }\n if (initConfiguration.trackingConsent !== undefined &&\n !objectHasValue(TrackingConsent, initConfiguration.trackingConsent)) {\n display.error('Tracking Consent should be either \"granted\" or \"not-granted\"');\n return;\n }\n // Set the experimental feature flags as early as possible, so we can use them in most places\n if (Array.isArray(initConfiguration.enableExperimentalFeatures)) {\n addExperimentalFeatures(initConfiguration.enableExperimentalFeatures.filter(function (flag) {\n return objectHasValue(ExperimentalFeature, flag);\n }));\n }\n return assign({\n beforeSend: initConfiguration.beforeSend && catchUserErrors(initConfiguration.beforeSend, 'beforeSend threw an error:'),\n sessionStoreStrategyType: selectSessionStoreStrategyType(initConfiguration),\n sessionSampleRate: (_a = initConfiguration.sessionSampleRate) !== null && _a !== void 0 ? _a : 100,\n telemetrySampleRate: (_b = initConfiguration.telemetrySampleRate) !== null && _b !== void 0 ? _b : 20,\n telemetryConfigurationSampleRate: (_c = initConfiguration.telemetryConfigurationSampleRate) !== null && _c !== void 0 ? _c : 5,\n service: initConfiguration.service,\n silentMultipleInit: !!initConfiguration.silentMultipleInit,\n allowUntrustedEvents: !!initConfiguration.allowUntrustedEvents,\n trackingConsent: (_d = initConfiguration.trackingConsent) !== null && _d !== void 0 ? _d : TrackingConsent.GRANTED,\n /**\n * beacon payload max queue size implementation is 64kb\n * ensure that we leave room for logs, rum and potential other users\n */\n batchBytesLimit: 16 * ONE_KIBI_BYTE,\n eventRateLimiterThreshold: 3000,\n maxTelemetryEventsPerPage: 15,\n /**\n * flush automatically, aim to be lower than ALB connection timeout\n * to maximize connection reuse.\n */\n flushTimeout: (30 * ONE_SECOND),\n /**\n * Logs intake limit\n */\n batchMessagesLimit: 50,\n messageBytesLimit: 256 * ONE_KIBI_BYTE,\n }, computeTransportConfiguration(initConfiguration));\n}\nexport function serializeConfiguration(initConfiguration) {\n return {\n session_sample_rate: initConfiguration.sessionSampleRate,\n telemetry_sample_rate: initConfiguration.telemetrySampleRate,\n telemetry_configuration_sample_rate: initConfiguration.telemetryConfigurationSampleRate,\n use_before_send: !!initConfiguration.beforeSend,\n use_cross_site_session_cookie: initConfiguration.useCrossSiteSessionCookie,\n use_partitioned_cross_site_session_cookie: initConfiguration.usePartitionedCrossSiteSessionCookie,\n use_secure_session_cookie: initConfiguration.useSecureSessionCookie,\n use_proxy: !!initConfiguration.proxy,\n silent_multiple_init: initConfiguration.silentMultipleInit,\n track_session_across_subdomains: initConfiguration.trackSessionAcrossSubdomains,\n allow_fallback_to_local_storage: !!initConfiguration.allowFallbackToLocalStorage,\n store_contexts_across_pages: !!initConfiguration.storeContextsAcrossPages,\n allow_untrusted_events: !!initConfiguration.allowUntrustedEvents,\n };\n}\n//# sourceMappingURL=configuration.js.map","import { toStackTraceString } from '../error/error';\nimport { monitor } from '../../tools/monitor';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { addEventListener, DOM_EVENT } from '../../browser/addEventListener';\nimport { includes } from '../../tools/utils/polyfills';\nimport { safeTruncate } from '../../tools/utils/stringUtils';\nexport var RawReportType = {\n intervention: 'intervention',\n deprecation: 'deprecation',\n cspViolation: 'csp_violation',\n};\nexport function initReportObservable(configuration, apis) {\n var observables = [];\n if (includes(apis, RawReportType.cspViolation)) {\n observables.push(createCspViolationReportObservable(configuration));\n }\n var reportTypes = apis.filter(function (api) { return api !== RawReportType.cspViolation; });\n if (reportTypes.length) {\n observables.push(createReportObservable(reportTypes));\n }\n return mergeObservables.apply(void 0, observables);\n}\nfunction createReportObservable(reportTypes) {\n return new Observable(function (observable) {\n if (!window.ReportingObserver) {\n return;\n }\n var handleReports = monitor(function (reports, _) {\n return reports.forEach(function (report) {\n observable.notify(buildRawReportFromReport(report));\n });\n });\n var observer = new window.ReportingObserver(handleReports, {\n types: reportTypes,\n buffered: true,\n });\n observer.observe();\n return function () {\n observer.disconnect();\n };\n });\n}\nfunction createCspViolationReportObservable(configuration) {\n return new Observable(function (observable) {\n var stop = addEventListener(configuration, document, DOM_EVENT.SECURITY_POLICY_VIOLATION, function (event) {\n observable.notify(buildRawReportFromCspViolation(event));\n }).stop;\n return stop;\n });\n}\nfunction buildRawReportFromReport(report) {\n var type = report.type, body = report.body;\n return {\n type: type,\n subtype: body.id,\n message: \"\".concat(type, \": \").concat(body.message),\n originalReport: report,\n stack: buildStack(body.id, body.message, body.sourceFile, body.lineNumber, body.columnNumber),\n };\n}\nfunction buildRawReportFromCspViolation(event) {\n var type = RawReportType.cspViolation;\n var message = \"'\".concat(event.blockedURI, \"' blocked by '\").concat(event.effectiveDirective, \"' directive\");\n return {\n type: RawReportType.cspViolation,\n subtype: event.effectiveDirective,\n message: \"\".concat(type, \": \").concat(message),\n stack: buildStack(event.effectiveDirective, event.originalPolicy\n ? \"\".concat(message, \" of the policy \\\"\").concat(safeTruncate(event.originalPolicy, 100, '...'), \"\\\"\")\n : 'no policy', event.sourceFile, event.lineNumber, event.columnNumber),\n originalReport: event,\n };\n}\nfunction buildStack(name, message, sourceFile, lineNumber, columnNumber) {\n return sourceFile\n ? toStackTraceString({\n name: name,\n message: message,\n stack: [\n {\n func: '?',\n url: sourceFile,\n line: lineNumber !== null && lineNumber !== void 0 ? lineNumber : undefined,\n column: columnNumber !== null && columnNumber !== void 0 ? columnNumber : undefined,\n },\n ],\n })\n : undefined;\n}\n//# sourceMappingURL=reportObservable.js.map","import { serializeConfiguration, assign, ONE_KIBI_BYTE, validateAndBuildConfiguration, display, removeDuplicates, ConsoleApiName, RawReportType, includes, objectValues, } from '@datadog/browser-core';\n/**\n * arbitrary value, byte precision not needed\n */\nexport var DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT = 32 * ONE_KIBI_BYTE;\nexport function validateAndBuildLogsConfiguration(initConfiguration) {\n var baseConfiguration = validateAndBuildConfiguration(initConfiguration);\n var forwardConsoleLogs = validateAndBuildForwardOption(initConfiguration.forwardConsoleLogs, objectValues(ConsoleApiName), 'Forward Console Logs');\n var forwardReports = validateAndBuildForwardOption(initConfiguration.forwardReports, objectValues(RawReportType), 'Forward Reports');\n if (!baseConfiguration || !forwardConsoleLogs || !forwardReports) {\n return;\n }\n if (initConfiguration.forwardErrorsToLogs && !includes(forwardConsoleLogs, ConsoleApiName.error)) {\n forwardConsoleLogs.push(ConsoleApiName.error);\n }\n return assign({\n forwardErrorsToLogs: initConfiguration.forwardErrorsToLogs !== false,\n forwardConsoleLogs: forwardConsoleLogs,\n forwardReports: forwardReports,\n requestErrorResponseLengthLimit: DEFAULT_REQUEST_ERROR_RESPONSE_LENGTH_LIMIT,\n }, baseConfiguration);\n}\nexport function validateAndBuildForwardOption(option, allowedValues, label) {\n if (option === undefined) {\n return [];\n }\n if (!(option === 'all' || (Array.isArray(option) && option.every(function (api) { return includes(allowedValues, api); })))) {\n display.error(\"\".concat(label, \" should be \\\"all\\\" or an array with allowed values \\\"\").concat(allowedValues.join('\", \"'), \"\\\"\"));\n return;\n }\n return option === 'all' ? allowedValues : removeDuplicates(option);\n}\nexport function serializeLogsConfiguration(configuration) {\n var baseSerializedInitConfiguration = serializeConfiguration(configuration);\n return assign({\n forward_errors_to_logs: configuration.forwardErrorsToLogs,\n forward_console_logs: configuration.forwardConsoleLogs,\n forward_reports: configuration.forwardReports,\n }, baseSerializedInitConfiguration);\n}\n//# sourceMappingURL=configuration.js.map","import { BoundedBuffer, assign, canUseEventBridge, display, displayAlreadyInitializedError, noop, timeStampNow, } from '@datadog/browser-core';\nimport { validateAndBuildLogsConfiguration, } from '../domain/configuration';\nexport function createPreStartStrategy(getCommonContext, trackingConsentState, doStartLogs) {\n var bufferApiCalls = new BoundedBuffer();\n var cachedInitConfiguration;\n var cachedConfiguration;\n var trackingConsentStateSubscription = trackingConsentState.observable.subscribe(tryStartLogs);\n function tryStartLogs() {\n if (!cachedConfiguration || !cachedInitConfiguration || !trackingConsentState.isGranted()) {\n return;\n }\n trackingConsentStateSubscription.unsubscribe();\n var startLogsResult = doStartLogs(cachedInitConfiguration, cachedConfiguration);\n bufferApiCalls.drain(startLogsResult);\n }\n return {\n init: function (initConfiguration) {\n if (!initConfiguration) {\n display.error('Missing configuration');\n return;\n }\n if (canUseEventBridge()) {\n initConfiguration = overrideInitConfigurationForBridge(initConfiguration);\n }\n // Expose the initial configuration regardless of initialization success.\n cachedInitConfiguration = initConfiguration;\n if (cachedConfiguration) {\n displayAlreadyInitializedError('DD_LOGS', initConfiguration);\n return;\n }\n var configuration = validateAndBuildLogsConfiguration(initConfiguration);\n if (!configuration) {\n return;\n }\n cachedConfiguration = configuration;\n trackingConsentState.tryToInit(configuration.trackingConsent);\n tryStartLogs();\n },\n get initConfiguration() {\n return cachedInitConfiguration;\n },\n getInternalContext: noop,\n handleLog: function (message, statusType, context, date) {\n if (context === void 0) { context = getCommonContext(); }\n if (date === void 0) { date = timeStampNow(); }\n bufferApiCalls.add(function (startLogsResult) { return startLogsResult.handleLog(message, statusType, context, date); });\n },\n };\n}\nfunction overrideInitConfigurationForBridge(initConfiguration) {\n return assign({}, initConfiguration, { clientToken: 'empty' });\n}\n//# sourceMappingURL=preStartLogs.js.map","import { assign, createContextManager, makePublicApi, monitor, checkUser, sanitizeUser, sanitize, createCustomerDataTrackerManager, storeContextManager, displayAlreadyInitializedError, deepClone, createTrackingConsentState, } from '@datadog/browser-core';\nimport { Logger } from '../domain/logger';\nimport { buildCommonContext } from '../domain/contexts/commonContext';\nimport { createPreStartStrategy } from './preStartLogs';\nvar LOGS_STORAGE_KEY = 'logs';\nexport function makeLogsPublicApi(startLogsImpl) {\n var customerDataTrackerManager = createCustomerDataTrackerManager();\n var globalContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(2 /* CustomerDataType.GlobalContext */));\n var userContextManager = createContextManager(customerDataTrackerManager.getOrCreateTracker(1 /* CustomerDataType.User */));\n var trackingConsentState = createTrackingConsentState();\n function getCommonContext() {\n return buildCommonContext(globalContextManager, userContextManager);\n }\n var strategy = createPreStartStrategy(getCommonContext, trackingConsentState, function (initConfiguration, configuration) {\n if (initConfiguration.storeContextsAcrossPages) {\n storeContextManager(configuration, globalContextManager, LOGS_STORAGE_KEY, 2 /* CustomerDataType.GlobalContext */);\n storeContextManager(configuration, userContextManager, LOGS_STORAGE_KEY, 1 /* CustomerDataType.User */);\n }\n var startLogsResult = startLogsImpl(initConfiguration, configuration, getCommonContext, trackingConsentState);\n strategy = createPostStartStrategy(initConfiguration, startLogsResult);\n return startLogsResult;\n });\n var customLoggers = {};\n var mainLogger = new Logger(function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return strategy.handleLog.apply(strategy, params);\n }, customerDataTrackerManager.createDetachedTracker());\n return makePublicApi({\n logger: mainLogger,\n init: monitor(function (initConfiguration) { return strategy.init(initConfiguration); }),\n /**\n * Set the tracking consent of the current user.\n *\n * @param {\"granted\" | \"not-granted\"} trackingConsent The user tracking consent\n *\n * Logs will be sent only if it is set to \"granted\". This value won't be stored by the library\n * across page loads: you will need to call this method or set the appropriate `trackingConsent`\n * field in the init() method at each page load.\n *\n * If this method is called before the init() method, the provided value will take precedence\n * over the one provided as initialization parameter.\n */\n setTrackingConsent: monitor(function (trackingConsent) { return trackingConsentState.update(trackingConsent); }),\n getGlobalContext: monitor(function () { return globalContextManager.getContext(); }),\n setGlobalContext: monitor(function (context) { return globalContextManager.setContext(context); }),\n setGlobalContextProperty: monitor(function (key, value) { return globalContextManager.setContextProperty(key, value); }),\n removeGlobalContextProperty: monitor(function (key) { return globalContextManager.removeContextProperty(key); }),\n clearGlobalContext: monitor(function () { return globalContextManager.clearContext(); }),\n createLogger: monitor(function (name, conf) {\n if (conf === void 0) { conf = {}; }\n customLoggers[name] = new Logger(function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n return strategy.handleLog.apply(strategy, params);\n }, customerDataTrackerManager.createDetachedTracker(), sanitize(name), conf.handler, conf.level, sanitize(conf.context));\n return customLoggers[name];\n }),\n getLogger: monitor(function (name) { return customLoggers[name]; }),\n getInitConfiguration: monitor(function () { return deepClone(strategy.initConfiguration); }),\n getInternalContext: monitor(function (startTime) { return strategy.getInternalContext(startTime); }),\n setUser: monitor(function (newUser) {\n if (checkUser(newUser)) {\n userContextManager.setContext(sanitizeUser(newUser));\n }\n }),\n getUser: monitor(function () { return userContextManager.getContext(); }),\n setUserProperty: monitor(function (key, property) {\n var _a;\n var sanitizedProperty = sanitizeUser((_a = {}, _a[key] = property, _a))[key];\n userContextManager.setContextProperty(key, sanitizedProperty);\n }),\n removeUserProperty: monitor(function (key) { return userContextManager.removeContextProperty(key); }),\n clearUser: monitor(function () { return userContextManager.clearContext(); }),\n });\n}\nfunction createPostStartStrategy(initConfiguration, startLogsResult) {\n return assign({\n init: function (initConfiguration) {\n displayAlreadyInitializedError('DD_LOGS', initConfiguration);\n },\n initConfiguration: initConfiguration,\n }, startLogsResult);\n}\n//# sourceMappingURL=logsPublicApi.js.map","export function sendToExtension(type, payload) {\n var callback = window.__ddBrowserSdkExtensionCallback;\n if (callback) {\n callback({ type: type, payload: payload });\n }\n}\n//# sourceMappingURL=sendToExtension.js.map","import { isExperimentalFeatureEnabled, ExperimentalFeature } from '../tools/experimentalFeatures';\nimport { Observable } from '../tools/observable';\nimport { objectValues, includes } from '../tools/utils/polyfills';\nimport { noop } from '../tools/utils/functionUtils';\nimport { addEventListeners, addEventListener, DOM_EVENT } from './addEventListener';\nexport var PageExitReason = {\n HIDDEN: 'visibility_hidden',\n UNLOADING: 'before_unload',\n PAGEHIDE: 'page_hide',\n FROZEN: 'page_frozen',\n};\nexport function createPageExitObservable(configuration) {\n return new Observable(function (observable) {\n var pagehideEnabled = isExperimentalFeatureEnabled(ExperimentalFeature.PAGEHIDE);\n var stopListeners = addEventListeners(configuration, window, [DOM_EVENT.VISIBILITY_CHANGE, DOM_EVENT.FREEZE, DOM_EVENT.PAGE_HIDE], function (event) {\n if (event.type === DOM_EVENT.PAGE_HIDE && pagehideEnabled) {\n /**\n * Only event that detect page unload events while being compatible with the back/forward cache (bfcache)\n */\n observable.notify({ reason: PageExitReason.PAGEHIDE });\n }\n else if (event.type === DOM_EVENT.VISIBILITY_CHANGE && document.visibilityState === 'hidden') {\n /**\n * Only event that guarantee to fire on mobile devices when the page transitions to background state\n * (e.g. when user switches to a different application, goes to homescreen, etc), or is being unloaded.\n */\n observable.notify({ reason: PageExitReason.HIDDEN });\n }\n else if (event.type === DOM_EVENT.FREEZE) {\n /**\n * After transitioning in background a tab can be freezed to preserve resources. (cf: https://developer.chrome.com/blog/page-lifecycle-api)\n * Allow to collect events happening between hidden and frozen state.\n */\n observable.notify({ reason: PageExitReason.FROZEN });\n }\n }, { capture: true }).stop;\n var stopBeforeUnloadListener = noop;\n if (!pagehideEnabled) {\n stopBeforeUnloadListener = addEventListener(configuration, window, DOM_EVENT.BEFORE_UNLOAD, function () {\n observable.notify({ reason: PageExitReason.UNLOADING });\n }).stop;\n }\n return function () {\n stopListeners();\n stopBeforeUnloadListener();\n };\n });\n}\nexport function isPageExitReason(reason) {\n return includes(objectValues(PageExitReason), reason);\n}\n//# sourceMappingURL=pageExitObservable.js.map","import { getInitCookie } from '../../browser/cookie';\nexport var SYNTHETICS_TEST_ID_COOKIE_NAME = 'datadog-synthetics-public-id';\nexport var SYNTHETICS_RESULT_ID_COOKIE_NAME = 'datadog-synthetics-result-id';\nexport var SYNTHETICS_INJECTS_RUM_COOKIE_NAME = 'datadog-synthetics-injects-rum';\nexport function willSyntheticsInjectRum() {\n return Boolean(window._DATADOG_SYNTHETICS_INJECTS_RUM || getInitCookie(SYNTHETICS_INJECTS_RUM_COOKIE_NAME));\n}\nexport function getSyntheticsTestId() {\n var value = window._DATADOG_SYNTHETICS_PUBLIC_ID || getInitCookie(SYNTHETICS_TEST_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\nexport function getSyntheticsResultId() {\n var value = window._DATADOG_SYNTHETICS_RESULT_ID || getInitCookie(SYNTHETICS_RESULT_ID_COOKIE_NAME);\n return typeof value === 'string' ? value : undefined;\n}\n//# sourceMappingURL=syntheticsWorkerValues.js.map","import { setInterval, clearInterval } from './timer';\nimport { removeItem } from './utils/arrayUtils';\nimport { addDuration, relativeNow, ONE_MINUTE } from './utils/timeUtils';\nvar END_OF_TIMES = Infinity;\nexport var CLEAR_OLD_VALUES_INTERVAL = ONE_MINUTE;\n/**\n * Store and keep track of values spans. This whole class assumes that values are added in\n * chronological order (i.e. all entries have an increasing start time).\n */\nvar ValueHistory = /** @class */ (function () {\n function ValueHistory(expireDelay, maxEntries) {\n var _this = this;\n this.expireDelay = expireDelay;\n this.maxEntries = maxEntries;\n this.entries = [];\n this.clearOldValuesInterval = setInterval(function () { return _this.clearOldValues(); }, CLEAR_OLD_VALUES_INTERVAL);\n }\n /**\n * Add a value to the history associated with a start time. Returns a reference to this newly\n * added entry that can be removed or closed.\n */\n ValueHistory.prototype.add = function (value, startTime) {\n var _this = this;\n var entry = {\n value: value,\n startTime: startTime,\n endTime: END_OF_TIMES,\n remove: function () {\n removeItem(_this.entries, entry);\n },\n close: function (endTime) {\n entry.endTime = endTime;\n },\n };\n if (this.maxEntries && this.entries.length >= this.maxEntries) {\n this.entries.pop();\n }\n this.entries.unshift(entry);\n return entry;\n };\n /**\n * Return the latest value that was active during `startTime`, or the currently active value\n * if no `startTime` is provided. This method assumes that entries are not overlapping.\n */\n ValueHistory.prototype.find = function (startTime) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n for (var _i = 0, _a = this.entries; _i < _a.length; _i++) {\n var entry = _a[_i];\n if (entry.startTime <= startTime) {\n if (startTime <= entry.endTime) {\n return entry.value;\n }\n break;\n }\n }\n };\n /**\n * Helper function to close the currently active value, if any. This method assumes that entries\n * are not overlapping.\n */\n ValueHistory.prototype.closeActive = function (endTime) {\n var latestEntry = this.entries[0];\n if (latestEntry && latestEntry.endTime === END_OF_TIMES) {\n latestEntry.close(endTime);\n }\n };\n /**\n * Return all values with an active period overlapping with the duration,\n * or all values that were active during `startTime` if no duration is provided,\n * or all currently active values if no `startTime` is provided.\n */\n ValueHistory.prototype.findAll = function (startTime, duration) {\n if (startTime === void 0) { startTime = END_OF_TIMES; }\n if (duration === void 0) { duration = 0; }\n var endTime = addDuration(startTime, duration);\n return this.entries\n .filter(function (entry) { return entry.startTime <= endTime && startTime <= entry.endTime; })\n .map(function (entry) { return entry.value; });\n };\n /**\n * Remove all entries from this collection.\n */\n ValueHistory.prototype.reset = function () {\n this.entries = [];\n };\n /**\n * Stop internal garbage collection of past entries.\n */\n ValueHistory.prototype.stop = function () {\n clearInterval(this.clearOldValuesInterval);\n };\n ValueHistory.prototype.clearOldValues = function () {\n var oldTimeThreshold = relativeNow() - this.expireDelay;\n while (this.entries.length > 0 && this.entries[this.entries.length - 1].endTime < oldTimeThreshold) {\n this.entries.pop();\n }\n };\n return ValueHistory;\n}());\nexport { ValueHistory };\n//# sourceMappingURL=valueHistory.js.map","import { Observable } from '../../tools/observable';\nimport { ValueHistory } from '../../tools/valueHistory';\nimport { relativeNow, clocksOrigin, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { DOM_EVENT, addEventListener, addEventListeners } from '../../browser/addEventListener';\nimport { clearInterval, setInterval } from '../../tools/timer';\nimport { SESSION_TIME_OUT_DELAY } from './sessionConstants';\nimport { startSessionStore } from './sessionStore';\nexport var VISIBILITY_CHECK_DELAY = ONE_MINUTE;\nvar SESSION_CONTEXT_TIMEOUT_DELAY = SESSION_TIME_OUT_DELAY;\nvar stopCallbacks = [];\nexport function startSessionManager(configuration, productKey, computeSessionState, trackingConsentState) {\n var renewObservable = new Observable();\n var expireObservable = new Observable();\n // TODO - Improve configuration type and remove assertion\n var sessionStore = startSessionStore(configuration.sessionStoreStrategyType, productKey, computeSessionState);\n stopCallbacks.push(function () { return sessionStore.stop(); });\n var sessionContextHistory = new ValueHistory(SESSION_CONTEXT_TIMEOUT_DELAY);\n stopCallbacks.push(function () { return sessionContextHistory.stop(); });\n sessionStore.renewObservable.subscribe(function () {\n sessionContextHistory.add(buildSessionContext(), relativeNow());\n renewObservable.notify();\n });\n sessionStore.expireObservable.subscribe(function () {\n expireObservable.notify();\n sessionContextHistory.closeActive(relativeNow());\n });\n // We expand/renew session unconditionally as tracking consent is always granted when the session\n // manager is started.\n sessionStore.expandOrRenewSession();\n sessionContextHistory.add(buildSessionContext(), clocksOrigin().relative);\n trackingConsentState.observable.subscribe(function () {\n if (trackingConsentState.isGranted()) {\n sessionStore.expandOrRenewSession();\n }\n else {\n sessionStore.expire();\n }\n });\n trackActivity(configuration, function () {\n if (trackingConsentState.isGranted()) {\n sessionStore.expandOrRenewSession();\n }\n });\n trackVisibility(configuration, function () { return sessionStore.expandSession(); });\n function buildSessionContext() {\n return {\n id: sessionStore.getSession().id,\n trackingType: sessionStore.getSession()[productKey],\n };\n }\n return {\n findActiveSession: function (startTime) { return sessionContextHistory.find(startTime); },\n renewObservable: renewObservable,\n expireObservable: expireObservable,\n expire: sessionStore.expire,\n };\n}\nexport function stopSessionManager() {\n stopCallbacks.forEach(function (e) { return e(); });\n stopCallbacks = [];\n}\nfunction trackActivity(configuration, expandOrRenewSession) {\n var stop = addEventListeners(configuration, window, [DOM_EVENT.CLICK, DOM_EVENT.TOUCH_START, DOM_EVENT.KEY_DOWN, DOM_EVENT.SCROLL], expandOrRenewSession, { capture: true, passive: true }).stop;\n stopCallbacks.push(stop);\n}\nfunction trackVisibility(configuration, expandSession) {\n var expandSessionWhenVisible = function () {\n if (document.visibilityState === 'visible') {\n expandSession();\n }\n };\n var stop = addEventListener(configuration, document, DOM_EVENT.VISIBILITY_CHANGE, expandSessionWhenVisible).stop;\n stopCallbacks.push(stop);\n var visibilityCheckInterval = setInterval(expandSessionWhenVisible, VISIBILITY_CHECK_DELAY);\n stopCallbacks.push(function () {\n clearInterval(visibilityCheckInterval);\n });\n}\n//# sourceMappingURL=sessionManager.js.map","import { Observable, performDraw, startSessionManager } from '@datadog/browser-core';\nexport var LOGS_SESSION_KEY = 'logs';\nexport function startLogsSessionManager(configuration, trackingConsentState) {\n var sessionManager = startSessionManager(configuration, LOGS_SESSION_KEY, function (rawTrackingType) { return computeSessionState(configuration, rawTrackingType); }, trackingConsentState);\n return {\n findTrackedSession: function (startTime) {\n var session = sessionManager.findActiveSession(startTime);\n return session && session.trackingType === \"1\" /* LoggerTrackingType.TRACKED */\n ? {\n id: session.id,\n }\n : undefined;\n },\n expireObservable: sessionManager.expireObservable,\n };\n}\nexport function startLogsSessionManagerStub(configuration) {\n var isTracked = computeTrackingType(configuration) === \"1\" /* LoggerTrackingType.TRACKED */;\n var session = isTracked ? {} : undefined;\n return {\n findTrackedSession: function () { return session; },\n expireObservable: new Observable(),\n };\n}\nfunction computeTrackingType(configuration) {\n if (!performDraw(configuration.sessionSampleRate)) {\n return \"0\" /* LoggerTrackingType.NOT_TRACKED */;\n }\n return \"1\" /* LoggerTrackingType.TRACKED */;\n}\nfunction computeSessionState(configuration, rawSessionType) {\n var trackingType = hasValidLoggerSession(rawSessionType) ? rawSessionType : computeTrackingType(configuration);\n return {\n trackingType: trackingType,\n isTracked: trackingType === \"1\" /* LoggerTrackingType.TRACKED */,\n };\n}\nfunction hasValidLoggerSession(trackingType) {\n return trackingType === \"0\" /* LoggerTrackingType.NOT_TRACKED */ || trackingType === \"1\" /* LoggerTrackingType.TRACKED */;\n}\n//# sourceMappingURL=logsSessionManager.js.map","import { setTimeout } from '../../tools/timer';\nimport { clocksNow, ONE_MINUTE } from '../../tools/utils/timeUtils';\nimport { ErrorSource } from '../error/error.types';\nexport function createEventRateLimiter(eventType, limit, onLimitReached) {\n var eventCount = 0;\n var allowNextEvent = false;\n return {\n isLimitReached: function () {\n if (eventCount === 0) {\n setTimeout(function () {\n eventCount = 0;\n }, ONE_MINUTE);\n }\n eventCount += 1;\n if (eventCount <= limit || allowNextEvent) {\n allowNextEvent = false;\n return false;\n }\n if (eventCount === limit + 1) {\n allowNextEvent = true;\n try {\n onLimitReached({\n message: \"Reached max number of \".concat(eventType, \"s by minute: \").concat(limit),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n }\n finally {\n allowNextEvent = false;\n }\n }\n return true;\n },\n };\n}\n//# sourceMappingURL=createEventRateLimiter.js.map","export function getConnectivity() {\n var _a;\n var navigator = window.navigator;\n return {\n status: navigator.onLine ? 'connected' : 'not_connected',\n interfaces: navigator.connection && navigator.connection.type ? [navigator.connection.type] : undefined,\n effective_type: (_a = navigator.connection) === null || _a === void 0 ? void 0 : _a.effectiveType,\n };\n}\n//# sourceMappingURL=connectivity.js.map","export var TelemetryType = {\n log: 'log',\n configuration: 'configuration',\n};\n//# sourceMappingURL=rawTelemetryEvent.types.js.map","import { ConsoleApiName } from '../../tools/display';\nimport { toStackTraceString, NO_ERROR_STACK_PRESENT_MESSAGE } from '../error/error';\nimport { getExperimentalFeatures } from '../../tools/experimentalFeatures';\nimport { INTAKE_SITE_STAGING, INTAKE_SITE_US1_FED } from '../configuration';\nimport { Observable } from '../../tools/observable';\nimport { timeStampNow } from '../../tools/utils/timeUtils';\nimport { displayIfDebugEnabled, startMonitorErrorCollection } from '../../tools/monitor';\nimport { sendToExtension } from '../../tools/sendToExtension';\nimport { startsWith, arrayFrom, includes, assign } from '../../tools/utils/polyfills';\nimport { performDraw } from '../../tools/utils/numberUtils';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { combine } from '../../tools/mergeInto';\nimport { computeStackTrace } from '../error/computeStackTrace';\nimport { getConnectivity } from '../connectivity';\nimport { TelemetryType } from './rawTelemetryEvent.types';\nvar ALLOWED_FRAME_URLS = [\n 'https://www.datadoghq-browser-agent.com',\n 'https://www.datad0g-browser-agent.com',\n 'https://d3uc069fcn7uxw.cloudfront.net',\n 'https://d20xtzwzcl0ceb.cloudfront.net',\n 'http://localhost',\n '',\n];\nvar TELEMETRY_EXCLUDED_SITES = [INTAKE_SITE_US1_FED];\nvar telemetryConfiguration = { maxEventsPerPage: 0, sentEventCount: 0, telemetryEnabled: false, telemetryConfigurationEnabled: false };\nvar onRawTelemetryEventCollected;\nexport function startTelemetry(telemetryService, configuration) {\n var contextProvider;\n var observable = new Observable();\n telemetryConfiguration.telemetryEnabled =\n !includes(TELEMETRY_EXCLUDED_SITES, configuration.site) && performDraw(configuration.telemetrySampleRate);\n telemetryConfiguration.telemetryConfigurationEnabled =\n telemetryConfiguration.telemetryEnabled && performDraw(configuration.telemetryConfigurationSampleRate);\n var runtimeEnvInfo = getRuntimeEnvInfo();\n onRawTelemetryEventCollected = function (rawEvent) {\n if (telemetryConfiguration.telemetryEnabled) {\n var event_1 = toTelemetryEvent(telemetryService, rawEvent, runtimeEnvInfo);\n observable.notify(event_1);\n sendToExtension('telemetry', event_1);\n }\n };\n startMonitorErrorCollection(addTelemetryError);\n assign(telemetryConfiguration, {\n maxEventsPerPage: configuration.maxTelemetryEventsPerPage,\n sentEventCount: 0,\n });\n function toTelemetryEvent(telemetryService, event, runtimeEnvInfo) {\n return combine({\n type: 'telemetry',\n date: timeStampNow(),\n service: telemetryService,\n version: \"5.11.0\",\n source: 'browser',\n _dd: {\n format_version: 2,\n },\n telemetry: combine(event, {\n runtime_env: runtimeEnvInfo,\n connectivity: getConnectivity(),\n }),\n experimental_features: arrayFrom(getExperimentalFeatures()),\n }, contextProvider !== undefined ? contextProvider() : {});\n }\n return {\n setContextProvider: function (provider) {\n contextProvider = provider;\n },\n observable: observable,\n enabled: telemetryConfiguration.telemetryEnabled,\n };\n}\nfunction getRuntimeEnvInfo() {\n return {\n is_local_file: window.location.protocol === 'file:',\n is_worker: 'WorkerGlobalScope' in self,\n };\n}\nexport function startFakeTelemetry() {\n var events = [];\n assign(telemetryConfiguration, {\n maxEventsPerPage: Infinity,\n sentEventCount: 0,\n });\n onRawTelemetryEventCollected = function (event) {\n events.push(event);\n };\n return events;\n}\nexport function resetTelemetry() {\n onRawTelemetryEventCollected = undefined;\n}\n/**\n * Avoid mixing telemetry events from different data centers\n * but keep replicating staging events for reliability\n */\nexport function isTelemetryReplicationAllowed(configuration) {\n return configuration.site === INTAKE_SITE_STAGING;\n}\nexport function addTelemetryDebug(message, context) {\n displayIfDebugEnabled(ConsoleApiName.debug, message, context);\n addTelemetry(assign({\n type: TelemetryType.log,\n message: message,\n status: \"debug\" /* StatusType.debug */,\n }, context));\n}\nexport function addTelemetryError(e, context) {\n addTelemetry(assign({\n type: TelemetryType.log,\n status: \"error\" /* StatusType.error */,\n }, formatError(e), context));\n}\nexport function addTelemetryConfiguration(configuration) {\n if (telemetryConfiguration.telemetryConfigurationEnabled) {\n addTelemetry({\n type: TelemetryType.configuration,\n configuration: configuration,\n });\n }\n}\nfunction addTelemetry(event) {\n if (onRawTelemetryEventCollected && telemetryConfiguration.sentEventCount < telemetryConfiguration.maxEventsPerPage) {\n telemetryConfiguration.sentEventCount += 1;\n onRawTelemetryEventCollected(event);\n }\n}\nexport function formatError(e) {\n if (e instanceof Error) {\n var stackTrace = computeStackTrace(e);\n return {\n error: {\n kind: stackTrace.name,\n stack: toStackTraceString(scrubCustomerFrames(stackTrace)),\n },\n message: stackTrace.message,\n };\n }\n return {\n error: {\n stack: NO_ERROR_STACK_PRESENT_MESSAGE,\n },\n message: \"\".concat(\"Uncaught\" /* NonErrorPrefix.UNCAUGHT */, \" \").concat(jsonStringify(e)),\n };\n}\nexport function scrubCustomerFrames(stackTrace) {\n stackTrace.stack = stackTrace.stack.filter(function (frame) { return !frame.url || ALLOWED_FRAME_URLS.some(function (allowedFrameUrl) { return startsWith(frame.url, allowedFrameUrl); }); });\n return stackTrace;\n}\n//# sourceMappingURL=telemetry.js.map","import { willSyntheticsInjectRum, addTelemetryDebug, getSyntheticsTestId, getSyntheticsResultId, } from '@datadog/browser-core';\nvar logsSentBeforeRumInjectionTelemetryAdded = false;\nexport function getRUMInternalContext(startTime) {\n var browserWindow = window;\n if (willSyntheticsInjectRum()) {\n var context = getInternalContextFromRumGlobal(browserWindow.DD_RUM_SYNTHETICS);\n if (!context && !logsSentBeforeRumInjectionTelemetryAdded) {\n logsSentBeforeRumInjectionTelemetryAdded = true;\n addTelemetryDebug('Logs sent before RUM is injected by the synthetics worker', {\n testId: getSyntheticsTestId(),\n resultId: getSyntheticsResultId(),\n });\n }\n return context;\n }\n return getInternalContextFromRumGlobal(browserWindow.DD_RUM);\n function getInternalContextFromRumGlobal(rumGlobal) {\n if (rumGlobal && rumGlobal.getInternalContext) {\n return rumGlobal.getInternalContext(startTime);\n }\n }\n}\nexport function resetRUMInternalContext() {\n logsSentBeforeRumInjectionTelemetryAdded = false;\n}\n//# sourceMappingURL=rumInternalContext.js.map","import { ErrorSource, combine, createEventRateLimiter, getRelativeTime, isEmptyObject } from '@datadog/browser-core';\nimport { STATUSES } from './logger';\nimport { getRUMInternalContext } from './contexts/rumInternalContext';\nexport function startLogsAssembly(sessionManager, configuration, lifeCycle, getCommonContext, reportError) {\n var statusWithCustom = STATUSES.concat(['custom']);\n var logRateLimiters = {};\n statusWithCustom.forEach(function (status) {\n logRateLimiters[status] = createEventRateLimiter(status, configuration.eventRateLimiterThreshold, reportError);\n });\n lifeCycle.subscribe(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, function (_a) {\n var _b, _c;\n var rawLogsEvent = _a.rawLogsEvent, _d = _a.messageContext, messageContext = _d === void 0 ? undefined : _d, _e = _a.savedCommonContext, savedCommonContext = _e === void 0 ? undefined : _e;\n var startTime = getRelativeTime(rawLogsEvent.date);\n var session = sessionManager.findTrackedSession(startTime);\n if (!session) {\n return;\n }\n var commonContext = savedCommonContext || getCommonContext();\n var log = combine({\n service: configuration.service,\n session_id: session.id,\n // Insert user first to allow overrides from global context\n usr: !isEmptyObject(commonContext.user) ? commonContext.user : undefined,\n view: commonContext.view,\n }, commonContext.context, getRUMInternalContext(startTime), rawLogsEvent, messageContext);\n if (((_b = configuration.beforeSend) === null || _b === void 0 ? void 0 : _b.call(configuration, log)) === false ||\n (log.origin !== ErrorSource.AGENT &&\n ((_c = logRateLimiters[log.status]) !== null && _c !== void 0 ? _c : logRateLimiters['custom']).isLimitReached())) {\n return;\n }\n lifeCycle.notify(1 /* LifeCycleEventType.LOG_COLLECTED */, log);\n });\n}\n//# sourceMappingURL=assembly.js.map","import { createHandlingStack, flattenErrorCauses, formatErrorMessage, toStackTraceString, tryToGetFingerprint, } from '../error/error';\nimport { mergeObservables, Observable } from '../../tools/observable';\nimport { ConsoleApiName, globalConsole } from '../../tools/display';\nimport { callMonitored } from '../../tools/monitor';\nimport { sanitize } from '../../tools/serialisation/sanitize';\nimport { find } from '../../tools/utils/polyfills';\nimport { jsonStringify } from '../../tools/serialisation/jsonStringify';\nimport { computeStackTrace } from '../error/computeStackTrace';\nvar consoleObservablesByApi = {};\nexport function initConsoleObservable(apis) {\n var consoleObservables = apis.map(function (api) {\n if (!consoleObservablesByApi[api]) {\n consoleObservablesByApi[api] = createConsoleObservable(api);\n }\n return consoleObservablesByApi[api];\n });\n return mergeObservables.apply(void 0, consoleObservables);\n}\nexport function resetConsoleObservable() {\n consoleObservablesByApi = {};\n}\nfunction createConsoleObservable(api) {\n return new Observable(function (observable) {\n var originalConsoleApi = globalConsole[api];\n globalConsole[api] = function () {\n var params = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n params[_i] = arguments[_i];\n }\n originalConsoleApi.apply(console, params);\n var handlingStack = createHandlingStack();\n callMonitored(function () {\n observable.notify(buildConsoleLog(params, api, handlingStack));\n });\n };\n return function () {\n globalConsole[api] = originalConsoleApi;\n };\n });\n}\nfunction buildConsoleLog(params, api, handlingStack) {\n var message = params.map(function (param) { return formatConsoleParameters(param); }).join(' ');\n var stack;\n var fingerprint;\n var causes;\n if (api === ConsoleApiName.error) {\n var firstErrorParam = find(params, function (param) { return param instanceof Error; });\n stack = firstErrorParam ? toStackTraceString(computeStackTrace(firstErrorParam)) : undefined;\n fingerprint = tryToGetFingerprint(firstErrorParam);\n causes = firstErrorParam ? flattenErrorCauses(firstErrorParam, 'console') : undefined;\n }\n return {\n api: api,\n message: message,\n stack: stack,\n handlingStack: handlingStack,\n fingerprint: fingerprint,\n causes: causes,\n };\n}\nfunction formatConsoleParameters(param) {\n if (typeof param === 'string') {\n return sanitize(param);\n }\n if (param instanceof Error) {\n return formatErrorMessage(computeStackTrace(param));\n }\n return jsonStringify(sanitize(param), undefined, 2);\n}\n//# sourceMappingURL=consoleObservable.js.map","var _a;\nimport { timeStampNow, ConsoleApiName, ErrorSource, initConsoleObservable } from '@datadog/browser-core';\nimport { StatusType } from '../logger';\nexport var LogStatusForApi = (_a = {},\n _a[ConsoleApiName.log] = StatusType.info,\n _a[ConsoleApiName.debug] = StatusType.debug,\n _a[ConsoleApiName.info] = StatusType.info,\n _a[ConsoleApiName.warn] = StatusType.warn,\n _a[ConsoleApiName.error] = StatusType.error,\n _a);\nexport function startConsoleCollection(configuration, lifeCycle) {\n var consoleSubscription = initConsoleObservable(configuration.forwardConsoleLogs).subscribe(function (log) {\n lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: log.message,\n origin: ErrorSource.CONSOLE,\n error: log.api === ConsoleApiName.error\n ? {\n stack: log.stack,\n fingerprint: log.fingerprint,\n causes: log.causes,\n }\n : undefined,\n status: LogStatusForApi[log.api],\n },\n });\n });\n return {\n stop: function () {\n consoleSubscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=consoleCollection.js.map","var _a;\nimport { timeStampNow, ErrorSource, RawReportType, getFileFromStackTraceString, initReportObservable, } from '@datadog/browser-core';\nimport { StatusType } from '../logger';\nvar LogStatusForReport = (_a = {},\n _a[RawReportType.cspViolation] = StatusType.error,\n _a[RawReportType.intervention] = StatusType.error,\n _a[RawReportType.deprecation] = StatusType.warn,\n _a);\nexport function startReportCollection(configuration, lifeCycle) {\n var reportSubscription = initReportObservable(configuration, configuration.forwardReports).subscribe(function (report) {\n var message = report.message;\n var status = LogStatusForReport[report.type];\n var error;\n if (status === StatusType.error) {\n error = {\n kind: report.subtype,\n stack: report.stack,\n };\n }\n else if (report.stack) {\n message += \" Found in \".concat(getFileFromStackTraceString(report.stack));\n }\n lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n date: timeStampNow(),\n message: message,\n origin: ErrorSource.REPORT,\n error: error,\n status: status,\n },\n });\n });\n return {\n stop: function () {\n reportSubscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=reportCollection.js.map","import { setTimeout } from './timer';\nimport { callMonitored } from './monitor';\nimport { noop } from './utils/functionUtils';\n/**\n * Instruments a method on a object, calling the given callback before the original method is\n * invoked. The callback receives an object with information about the method call.\n *\n * Note: it is generally better to instrument methods that are \"owned\" by the object instead of ones\n * that are inherited from the prototype chain. Example:\n * * do: `instrumentMethod(Array.prototype, 'push', ...)`\n * * don't: `instrumentMethod([], 'push', ...)`\n *\n * @example\n *\n * instrumentMethod(window, 'fetch', ({ target, parameters, onPostCall }) => {\n * console.log('Before calling fetch on', target, 'with parameters', parameters)\n *\n * onPostCall((result) => {\n * console.log('After fetch calling on', target, 'with parameters', parameters, 'and result', result)\n * })\n * })\n */\nexport function instrumentMethod(targetPrototype, method, onPreCall) {\n var original = targetPrototype[method];\n var instrumentation = createInstrumentedMethod(original, onPreCall);\n var instrumentationWrapper = function () {\n if (typeof instrumentation !== 'function') {\n return undefined;\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call\n return instrumentation.apply(this, arguments);\n };\n targetPrototype[method] = instrumentationWrapper;\n return {\n stop: function () {\n if (targetPrototype[method] === instrumentationWrapper) {\n targetPrototype[method] = original;\n }\n else {\n instrumentation = original;\n }\n },\n };\n}\nfunction createInstrumentedMethod(original, onPreCall) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return function () {\n var parameters = arguments;\n var result;\n var postCallCallback;\n callMonitored(onPreCall, null, [\n {\n target: this,\n parameters: parameters,\n onPostCall: function (callback) {\n postCallCallback = callback;\n },\n },\n ]);\n if (typeof original === 'function') {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-call\n result = original.apply(this, parameters);\n }\n if (postCallCallback) {\n callMonitored(postCallCallback, null, [result]);\n }\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return result;\n };\n}\nexport function instrumentSetter(targetPrototype, property, after) {\n var originalDescriptor = Object.getOwnPropertyDescriptor(targetPrototype, property);\n if (!originalDescriptor || !originalDescriptor.set || !originalDescriptor.configurable) {\n return { stop: noop };\n }\n var stoppedInstrumentation = noop;\n var instrumentation = function (target, value) {\n // put hooked setter into event loop to avoid of set latency\n setTimeout(function () {\n if (instrumentation !== stoppedInstrumentation) {\n after(target, value);\n }\n }, 0);\n };\n var instrumentationWrapper = function (value) {\n originalDescriptor.set.call(this, value);\n instrumentation(this, value);\n };\n Object.defineProperty(targetPrototype, property, {\n set: instrumentationWrapper,\n });\n return {\n stop: function () {\n var _a;\n if (((_a = Object.getOwnPropertyDescriptor(targetPrototype, property)) === null || _a === void 0 ? void 0 : _a.set) === instrumentationWrapper) {\n Object.defineProperty(targetPrototype, property, originalDescriptor);\n }\n instrumentation = stoppedInstrumentation;\n },\n };\n}\n//# sourceMappingURL=instrumentMethod.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { Observable } from '../tools/observable';\nimport { elapsed, clocksNow, timeStampNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nimport { shallowClone } from '../tools/utils/objectUtils';\nimport { addEventListener } from './addEventListener';\nvar xhrObservable;\nvar xhrContexts = new WeakMap();\nexport function initXhrObservable(configuration) {\n if (!xhrObservable) {\n xhrObservable = createXhrObservable(configuration);\n }\n return xhrObservable;\n}\nfunction createXhrObservable(configuration) {\n return new Observable(function (observable) {\n var stopInstrumentingStart = instrumentMethod(XMLHttpRequest.prototype, 'open', openXhr).stop;\n var stopInstrumentingSend = instrumentMethod(XMLHttpRequest.prototype, 'send', function (call) {\n sendXhr(call, configuration, observable);\n }).stop;\n var stopInstrumentingAbort = instrumentMethod(XMLHttpRequest.prototype, 'abort', abortXhr).stop;\n return function () {\n stopInstrumentingStart();\n stopInstrumentingSend();\n stopInstrumentingAbort();\n };\n });\n}\nfunction openXhr(_a) {\n var xhr = _a.target, _b = _a.parameters, method = _b[0], url = _b[1];\n xhrContexts.set(xhr, {\n state: 'open',\n method: String(method).toUpperCase(),\n url: normalizeUrl(String(url)),\n });\n}\nfunction sendXhr(_a, configuration, observable) {\n var xhr = _a.target;\n var context = xhrContexts.get(xhr);\n if (!context) {\n return;\n }\n var startContext = context;\n startContext.state = 'start';\n startContext.startClocks = clocksNow();\n startContext.isAborted = false;\n startContext.xhr = xhr;\n var hasBeenReported = false;\n var stopInstrumentingOnReadyStateChange = instrumentMethod(xhr, 'onreadystatechange', function () {\n if (xhr.readyState === XMLHttpRequest.DONE) {\n // Try to report the XHR as soon as possible, because the XHR may be mutated by the\n // application during a future event. For example, Angular is calling .abort() on\n // completed requests during an onreadystatechange event, so the status becomes '0'\n // before the request is collected.\n onEnd();\n }\n }).stop;\n var onEnd = function () {\n unsubscribeLoadEndListener();\n stopInstrumentingOnReadyStateChange();\n if (hasBeenReported) {\n return;\n }\n hasBeenReported = true;\n var completeContext = context;\n completeContext.state = 'complete';\n completeContext.duration = elapsed(startContext.startClocks.timeStamp, timeStampNow());\n completeContext.status = xhr.status;\n observable.notify(shallowClone(completeContext));\n };\n var unsubscribeLoadEndListener = addEventListener(configuration, xhr, 'loadend', onEnd).stop;\n observable.notify(startContext);\n}\nfunction abortXhr(_a) {\n var xhr = _a.target;\n var context = xhrContexts.get(xhr);\n if (context) {\n context.isAborted = true;\n }\n}\n//# sourceMappingURL=xhrObservable.js.map","import { instrumentMethod } from '../tools/instrumentMethod';\nimport { monitor } from '../tools/monitor';\nimport { Observable } from '../tools/observable';\nimport { clocksNow } from '../tools/utils/timeUtils';\nimport { normalizeUrl } from '../tools/utils/urlPolyfill';\nvar fetchObservable;\nexport function initFetchObservable() {\n if (!fetchObservable) {\n fetchObservable = createFetchObservable();\n }\n return fetchObservable;\n}\nfunction createFetchObservable() {\n return new Observable(function (observable) {\n if (!window.fetch) {\n return;\n }\n var stop = instrumentMethod(window, 'fetch', function (call) { return beforeSend(call, observable); }).stop;\n return stop;\n });\n}\nfunction beforeSend(_a, observable) {\n var parameters = _a.parameters, onPostCall = _a.onPostCall;\n var input = parameters[0], init = parameters[1];\n var methodFromParams = init && init.method;\n if (methodFromParams === undefined && input instanceof Request) {\n methodFromParams = input.method;\n }\n var method = methodFromParams !== undefined ? String(methodFromParams).toUpperCase() : 'GET';\n var url = input instanceof Request ? input.url : normalizeUrl(String(input));\n var startClocks = clocksNow();\n var context = {\n state: 'start',\n init: init,\n input: input,\n method: method,\n startClocks: startClocks,\n url: url,\n };\n observable.notify(context);\n // Those properties can be changed by observable subscribers\n parameters[0] = context.input;\n parameters[1] = context.init;\n onPostCall(function (responsePromise) { return afterSend(observable, responsePromise, context); });\n}\nfunction afterSend(observable, responsePromise, startContext) {\n var reportFetch = function (response) {\n var context = startContext;\n context.state = 'resolve';\n if ('stack' in response || response instanceof Error) {\n context.status = 0;\n context.isAborted = response instanceof DOMException && response.code === DOMException.ABORT_ERR;\n context.error = response;\n }\n else if ('status' in response) {\n context.response = response;\n context.responseType = response.type;\n context.status = response.status;\n context.isAborted = false;\n }\n observable.notify(context);\n };\n responsePromise.then(monitor(reportFetch), monitor(reportFetch));\n}\n//# sourceMappingURL=fetchObservable.js.map","export function isServerError(status) {\n return status >= 500;\n}\nexport function tryToClone(response) {\n try {\n return response.clone();\n }\n catch (e) {\n // clone can throw if the response has already been used by another instrumentation or is disturbed\n return;\n }\n}\n//# sourceMappingURL=responseUtils.js.map","import { monitor } from './monitor';\nimport { noop } from './utils/functionUtils';\n/**\n * Read bytes from a ReadableStream until at least `limit` bytes have been read (or until the end of\n * the stream). The callback is invoked with the at most `limit` bytes, and indicates that the limit\n * has been exceeded if more bytes were available.\n */\nexport function readBytesFromStream(stream, callback, options) {\n var reader = stream.getReader();\n var chunks = [];\n var readBytesCount = 0;\n readMore();\n function readMore() {\n reader.read().then(monitor(function (result) {\n if (result.done) {\n onDone();\n return;\n }\n if (options.collectStreamBody) {\n chunks.push(result.value);\n }\n readBytesCount += result.value.length;\n if (readBytesCount > options.bytesLimit) {\n onDone();\n }\n else {\n readMore();\n }\n }), monitor(function (error) { return callback(error); }));\n }\n function onDone() {\n reader.cancel().catch(\n // we don't care if cancel fails, but we still need to catch the error to avoid reporting it\n // as an unhandled rejection\n noop);\n var bytes;\n var limitExceeded;\n if (options.collectStreamBody) {\n var completeBuffer_1;\n if (chunks.length === 1) {\n // optimization: if the response is small enough to fit in a single buffer (provided by the browser), just\n // use it directly.\n completeBuffer_1 = chunks[0];\n }\n else {\n // else, we need to copy buffers into a larger buffer to concatenate them.\n completeBuffer_1 = new Uint8Array(readBytesCount);\n var offset_1 = 0;\n chunks.forEach(function (chunk) {\n completeBuffer_1.set(chunk, offset_1);\n offset_1 += chunk.length;\n });\n }\n bytes = completeBuffer_1.slice(0, options.bytesLimit);\n limitExceeded = completeBuffer_1.length > options.bytesLimit;\n }\n callback(undefined, bytes, limitExceeded);\n }\n}\n//# sourceMappingURL=readBytesFromStream.js.map","import { ErrorSource, initXhrObservable, initFetchObservable, computeStackTrace, toStackTraceString, monitor, noop, readBytesFromStream, tryToClone, isServerError, } from '@datadog/browser-core';\nimport { StatusType } from '../logger';\nexport function startNetworkErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop };\n }\n var xhrSubscription = initXhrObservable(configuration).subscribe(function (context) {\n if (context.state === 'complete') {\n handleResponse(\"xhr\" /* RequestType.XHR */, context);\n }\n });\n var fetchSubscription = initFetchObservable().subscribe(function (context) {\n if (context.state === 'resolve') {\n handleResponse(\"fetch\" /* RequestType.FETCH */, context);\n }\n });\n function handleResponse(type, request) {\n if (!configuration.isIntakeUrl(request.url) && (isRejected(request) || isServerError(request.status))) {\n if ('xhr' in request) {\n computeXhrResponseData(request.xhr, configuration, onResponseDataAvailable);\n }\n else if (request.response) {\n computeFetchResponseText(request.response, configuration, onResponseDataAvailable);\n }\n else if (request.error) {\n computeFetchErrorText(request.error, configuration, onResponseDataAvailable);\n }\n }\n function onResponseDataAvailable(responseData) {\n lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n message: \"\".concat(format(type), \" error \").concat(request.method, \" \").concat(request.url),\n date: request.startClocks.timeStamp,\n error: {\n stack: responseData || 'Failed to load',\n },\n http: {\n method: request.method, // Cast resource method because of case mismatch cf issue RUMF-1152\n status_code: request.status,\n url: request.url,\n },\n status: StatusType.error,\n origin: ErrorSource.NETWORK,\n },\n });\n }\n }\n return {\n stop: function () {\n xhrSubscription.unsubscribe();\n fetchSubscription.unsubscribe();\n },\n };\n}\n// TODO: ideally, computeXhrResponseData should always call the callback with a string instead of\n// `unknown`. But to keep backward compatibility, in the case of XHR with a `responseType` different\n// than \"text\", the response data should be whatever `xhr.response` is. This is a bit confusing as\n// Logs event 'stack' is expected to be a string. This should be changed in a future major version\n// as it could be a breaking change.\nexport function computeXhrResponseData(xhr, configuration, callback) {\n if (typeof xhr.response === 'string') {\n callback(truncateResponseText(xhr.response, configuration));\n }\n else {\n callback(xhr.response);\n }\n}\nexport function computeFetchErrorText(error, configuration, callback) {\n callback(truncateResponseText(toStackTraceString(computeStackTrace(error)), configuration));\n}\nexport function computeFetchResponseText(response, configuration, callback) {\n var clonedResponse = tryToClone(response);\n if (!clonedResponse || !clonedResponse.body) {\n // if the clone failed or if the body is null, let's not try to read it.\n callback();\n }\n else if (!window.TextDecoder) {\n // If the browser doesn't support TextDecoder, let's read the whole response then truncate it.\n //\n // This should only be the case on early versions of Edge (before they migrated to Chromium).\n // Even if it could be possible to implement a workaround for the missing TextDecoder API (using\n // a Blob and FileReader), we found another issue preventing us from reading only the first\n // bytes from the response: contrary to other browsers, when reading from the cloned response,\n // if the original response gets canceled, the cloned response is also canceled and we can't\n // know about it. In the following illustration, the promise returned by `reader.read()` may\n // never be fulfilled:\n //\n // fetch('/').then((response) => {\n // const reader = response.clone().body.getReader()\n // readMore()\n // function readMore() {\n // reader.read().then(\n // (result) => {\n // if (result.done) {\n // console.log('done')\n // } else {\n // readMore()\n // }\n // },\n // () => console.log('error')\n // )\n // }\n // response.body.getReader().cancel()\n // })\n clonedResponse.text().then(monitor(function (text) { return callback(truncateResponseText(text, configuration)); }), monitor(function (error) { return callback(\"Unable to retrieve response: \".concat(error)); }));\n }\n else {\n truncateResponseStream(clonedResponse.body, configuration.requestErrorResponseLengthLimit, function (error, responseText) {\n if (error) {\n callback(\"Unable to retrieve response: \".concat(error));\n }\n else {\n callback(responseText);\n }\n });\n }\n}\nfunction isRejected(request) {\n return request.status === 0 && request.responseType !== 'opaque';\n}\nfunction truncateResponseText(responseText, configuration) {\n if (responseText.length > configuration.requestErrorResponseLengthLimit) {\n return \"\".concat(responseText.substring(0, configuration.requestErrorResponseLengthLimit), \"...\");\n }\n return responseText;\n}\nfunction format(type) {\n if (\"xhr\" /* RequestType.XHR */ === type) {\n return 'XHR';\n }\n return 'Fetch';\n}\nfunction truncateResponseStream(stream, bytesLimit, callback) {\n readBytesFromStream(stream, function (error, bytes, limitExceeded) {\n if (error) {\n callback(error);\n }\n else {\n var responseText = new TextDecoder().decode(bytes);\n if (limitExceeded) {\n responseText += '...';\n }\n callback(undefined, responseText);\n }\n }, {\n bytesLimit: bytesLimit,\n collectStreamBody: true,\n });\n}\n//# sourceMappingURL=networkErrorCollection.js.map","import { instrumentMethod } from '../../tools/instrumentMethod';\nimport { clocksNow } from '../../tools/utils/timeUtils';\nimport { computeStackTrace, computeStackTraceFromOnErrorMessage } from './computeStackTrace';\nimport { computeRawError } from './error';\nimport { ErrorSource } from './error.types';\nexport function trackRuntimeError(errorObservable) {\n var handleRuntimeError = function (stackTrace, originalError) {\n var rawError = computeRawError({\n stackTrace: stackTrace,\n originalError: originalError,\n startClocks: clocksNow(),\n nonErrorPrefix: \"Uncaught\" /* NonErrorPrefix.UNCAUGHT */,\n source: ErrorSource.SOURCE,\n handling: \"unhandled\" /* ErrorHandling.UNHANDLED */,\n });\n errorObservable.notify(rawError);\n };\n var stopInstrumentingOnError = instrumentOnError(handleRuntimeError).stop;\n var stopInstrumentingOnUnhandledRejection = instrumentUnhandledRejection(handleRuntimeError).stop;\n return {\n stop: function () {\n stopInstrumentingOnError();\n stopInstrumentingOnUnhandledRejection();\n },\n };\n}\nexport function instrumentOnError(callback) {\n return instrumentMethod(window, 'onerror', function (_a) {\n var _b = _a.parameters, messageObj = _b[0], url = _b[1], line = _b[2], column = _b[3], errorObj = _b[4];\n var stackTrace;\n if (errorObj instanceof Error) {\n stackTrace = computeStackTrace(errorObj);\n }\n else {\n stackTrace = computeStackTraceFromOnErrorMessage(messageObj, url, line, column);\n }\n callback(stackTrace, errorObj !== null && errorObj !== void 0 ? errorObj : messageObj);\n });\n}\nexport function instrumentUnhandledRejection(callback) {\n return instrumentMethod(window, 'onunhandledrejection', function (_a) {\n var e = _a.parameters[0];\n var reason = e.reason || 'Empty reason';\n var stack = computeStackTrace(reason);\n callback(stack, reason);\n });\n}\n//# sourceMappingURL=trackRuntimeError.js.map","import { noop, ErrorSource, trackRuntimeError, Observable } from '@datadog/browser-core';\nimport { StatusType } from '../logger';\nexport function startRuntimeErrorCollection(configuration, lifeCycle) {\n if (!configuration.forwardErrorsToLogs) {\n return { stop: noop };\n }\n var rawErrorObservable = new Observable();\n var stopRuntimeErrorTracking = trackRuntimeError(rawErrorObservable).stop;\n var rawErrorSubscription = rawErrorObservable.subscribe(function (rawError) {\n lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n message: rawError.message,\n date: rawError.startClocks.timeStamp,\n error: {\n kind: rawError.type,\n stack: rawError.stack,\n causes: rawError.causes,\n },\n origin: ErrorSource.SOURCE,\n status: StatusType.error,\n },\n });\n });\n return {\n stop: function () {\n stopRuntimeErrorTracking();\n rawErrorSubscription.unsubscribe();\n },\n };\n}\n//# sourceMappingURL=runtimeErrorCollection.js.map","var AbstractLifeCycle = /** @class */ (function () {\n function AbstractLifeCycle() {\n this.callbacks = {};\n }\n AbstractLifeCycle.prototype.notify = function (eventType, data) {\n var eventCallbacks = this.callbacks[eventType];\n if (eventCallbacks) {\n eventCallbacks.forEach(function (callback) { return callback(data); });\n }\n };\n AbstractLifeCycle.prototype.subscribe = function (eventType, callback) {\n var _this = this;\n if (!this.callbacks[eventType]) {\n this.callbacks[eventType] = [];\n }\n this.callbacks[eventType].push(callback);\n return {\n unsubscribe: function () {\n _this.callbacks[eventType] = _this.callbacks[eventType].filter(function (other) { return callback !== other; });\n },\n };\n };\n return AbstractLifeCycle;\n}());\nexport { AbstractLifeCycle };\n//# sourceMappingURL=abstractLifeCycle.js.map","import { AbstractLifeCycle } from '@datadog/browser-core';\nexport var LifeCycle = (AbstractLifeCycle);\n//# sourceMappingURL=lifeCycle.js.map","var _a;\nimport { includes, combine, ErrorSource, timeStampNow, originalConsoleMethods, globalConsole, } from '@datadog/browser-core';\nimport { StatusType, HandlerType } from '../logger';\nexport var STATUS_PRIORITIES = (_a = {},\n _a[StatusType.debug] = 0,\n _a[StatusType.info] = 1,\n _a[StatusType.warn] = 2,\n _a[StatusType.error] = 3,\n _a);\nexport function startLoggerCollection(lifeCycle) {\n function handleLog(logsMessage, logger, savedCommonContext, savedDate) {\n var messageContext = combine(logger.getContext(), logsMessage.context);\n if (isAuthorized(logsMessage.status, HandlerType.console, logger)) {\n displayInConsole(logsMessage, messageContext);\n }\n if (isAuthorized(logsMessage.status, HandlerType.http, logger)) {\n lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n date: savedDate || timeStampNow(),\n message: logsMessage.message,\n status: logsMessage.status,\n origin: ErrorSource.LOGGER,\n },\n messageContext: messageContext,\n savedCommonContext: savedCommonContext,\n });\n }\n }\n return {\n handleLog: handleLog,\n };\n}\nexport function isAuthorized(status, handlerType, logger) {\n var loggerHandler = logger.getHandler();\n var sanitizedHandlerType = Array.isArray(loggerHandler) ? loggerHandler : [loggerHandler];\n return (STATUS_PRIORITIES[status] >= STATUS_PRIORITIES[logger.getLevel()] && includes(sanitizedHandlerType, handlerType));\n}\nfunction displayInConsole(logsMessage, messageContext) {\n originalConsoleMethods[logsMessage.status].call(globalConsole, logsMessage.message, messageContext);\n}\n//# sourceMappingURL=loggerCollection.js.map","import { display } from '../tools/display';\nimport { objectValues } from '../tools/utils/polyfills';\nimport { isPageExitReason } from '../browser/pageExitObservable';\nimport { jsonStringify } from '../tools/serialisation/jsonStringify';\nimport { computeBytesCount } from '../tools/utils/byteUtils';\nvar Batch = /** @class */ (function () {\n function Batch(encoder, request, flushController, messageBytesLimit) {\n var _this = this;\n this.encoder = encoder;\n this.request = request;\n this.flushController = flushController;\n this.messageBytesLimit = messageBytesLimit;\n this.upsertBuffer = {};\n this.flushSubscription = this.flushController.flushObservable.subscribe(function (event) { return _this.flush(event); });\n }\n Batch.prototype.add = function (message) {\n this.addOrUpdate(message);\n };\n Batch.prototype.upsert = function (message, key) {\n this.addOrUpdate(message, key);\n };\n Batch.prototype.stop = function () {\n this.flushSubscription.unsubscribe();\n };\n Batch.prototype.flush = function (event) {\n var upsertMessages = objectValues(this.upsertBuffer).join('\\n');\n this.upsertBuffer = {};\n var isPageExit = isPageExitReason(event.reason);\n var send = isPageExit ? this.request.sendOnExit : this.request.send;\n if (isPageExit &&\n // Note: checking that the encoder is async is not strictly needed, but it's an optimization:\n // if the encoder is async we need to send two requests in some cases (one for encoded data\n // and the other for non-encoded data). But if it's not async, we don't have to worry about\n // it and always send a single request.\n this.encoder.isAsync) {\n var encoderResult = this.encoder.finishSync();\n // Send encoded messages\n if (encoderResult.outputBytesCount) {\n send(formatPayloadFromEncoder(encoderResult, event));\n }\n // Send messages that are not yet encoded at this point\n var pendingMessages = [encoderResult.pendingData, upsertMessages].filter(Boolean).join('\\n');\n if (pendingMessages) {\n send({\n data: pendingMessages,\n bytesCount: computeBytesCount(pendingMessages),\n flushReason: event.reason,\n });\n }\n }\n else {\n if (upsertMessages) {\n this.encoder.write(this.encoder.isEmpty ? upsertMessages : \"\\n\".concat(upsertMessages));\n }\n this.encoder.finish(function (encoderResult) {\n send(formatPayloadFromEncoder(encoderResult, event));\n });\n }\n };\n Batch.prototype.addOrUpdate = function (message, key) {\n var serializedMessage = jsonStringify(message);\n var estimatedMessageBytesCount = this.encoder.estimateEncodedBytesCount(serializedMessage);\n if (estimatedMessageBytesCount >= this.messageBytesLimit) {\n display.warn(\"Discarded a message whose size was bigger than the maximum allowed size \".concat(this.messageBytesLimit, \"KB.\"));\n return;\n }\n if (this.hasMessageFor(key)) {\n this.remove(key);\n }\n this.push(serializedMessage, estimatedMessageBytesCount, key);\n };\n Batch.prototype.push = function (serializedMessage, estimatedMessageBytesCount, key) {\n var _this = this;\n this.flushController.notifyBeforeAddMessage(estimatedMessageBytesCount);\n if (key !== undefined) {\n this.upsertBuffer[key] = serializedMessage;\n this.flushController.notifyAfterAddMessage();\n }\n else {\n this.encoder.write(this.encoder.isEmpty ? serializedMessage : \"\\n\".concat(serializedMessage), function (realMessageBytesCount) {\n _this.flushController.notifyAfterAddMessage(realMessageBytesCount - estimatedMessageBytesCount);\n });\n }\n };\n Batch.prototype.remove = function (key) {\n var removedMessage = this.upsertBuffer[key];\n delete this.upsertBuffer[key];\n var messageBytesCount = this.encoder.estimateEncodedBytesCount(removedMessage);\n this.flushController.notifyAfterRemoveMessage(messageBytesCount);\n };\n Batch.prototype.hasMessageFor = function (key) {\n return key !== undefined && this.upsertBuffer[key] !== undefined;\n };\n return Batch;\n}());\nexport { Batch };\nfunction formatPayloadFromEncoder(encoderResult, flushEvent) {\n var data;\n if (typeof encoderResult.output === 'string') {\n data = encoderResult.output;\n }\n else {\n data = new Blob([encoderResult.output], {\n // This will set the 'Content-Type: text/plain' header. Reasoning:\n // * The intake rejects the request if there is no content type.\n // * The browser will issue CORS preflight requests if we set it to 'application/json', which\n // could induce higher intake load (and maybe has other impacts).\n // * Also it's not quite JSON, since we are concatenating multiple JSON objects separated by\n // new lines.\n type: 'text/plain',\n });\n }\n return {\n data: data,\n bytesCount: encoderResult.outputBytesCount,\n encoding: encoderResult.encoding,\n flushReason: flushEvent.reason,\n };\n}\n//# sourceMappingURL=batch.js.map","import { setTimeout } from '../tools/timer';\nimport { clocksNow, ONE_MINUTE, ONE_SECOND } from '../tools/utils/timeUtils';\nimport { ONE_MEBI_BYTE, ONE_KIBI_BYTE } from '../tools/utils/byteUtils';\nimport { isServerError } from '../tools/utils/responseUtils';\nimport { ErrorSource } from '../domain/error/error.types';\nexport var MAX_ONGOING_BYTES_COUNT = 80 * ONE_KIBI_BYTE;\nexport var MAX_ONGOING_REQUESTS = 32;\nexport var MAX_QUEUE_BYTES_COUNT = 3 * ONE_MEBI_BYTE;\nexport var MAX_BACKOFF_TIME = ONE_MINUTE;\nexport var INITIAL_BACKOFF_TIME = ONE_SECOND;\nexport function sendWithRetryStrategy(payload, state, sendStrategy, trackType, reportError) {\n if (state.transportStatus === 0 /* TransportStatus.UP */ &&\n state.queuedPayloads.size() === 0 &&\n state.bandwidthMonitor.canHandle(payload)) {\n send(payload, state, sendStrategy, {\n onSuccess: function () { return retryQueuedPayloads(0 /* RetryReason.AFTER_SUCCESS */, state, sendStrategy, trackType, reportError); },\n onFailure: function () {\n state.queuedPayloads.enqueue(payload);\n scheduleRetry(state, sendStrategy, trackType, reportError);\n },\n });\n }\n else {\n state.queuedPayloads.enqueue(payload);\n }\n}\nfunction scheduleRetry(state, sendStrategy, trackType, reportError) {\n if (state.transportStatus !== 2 /* TransportStatus.DOWN */) {\n return;\n }\n setTimeout(function () {\n var payload = state.queuedPayloads.first();\n send(payload, state, sendStrategy, {\n onSuccess: function () {\n state.queuedPayloads.dequeue();\n state.currentBackoffTime = INITIAL_BACKOFF_TIME;\n retryQueuedPayloads(1 /* RetryReason.AFTER_RESUME */, state, sendStrategy, trackType, reportError);\n },\n onFailure: function () {\n state.currentBackoffTime = Math.min(MAX_BACKOFF_TIME, state.currentBackoffTime * 2);\n scheduleRetry(state, sendStrategy, trackType, reportError);\n },\n });\n }, state.currentBackoffTime);\n}\nfunction send(payload, state, sendStrategy, _a) {\n var onSuccess = _a.onSuccess, onFailure = _a.onFailure;\n state.bandwidthMonitor.add(payload);\n sendStrategy(payload, function (response) {\n state.bandwidthMonitor.remove(payload);\n if (!shouldRetryRequest(response)) {\n state.transportStatus = 0 /* TransportStatus.UP */;\n onSuccess();\n }\n else {\n // do not consider transport down if another ongoing request could succeed\n state.transportStatus =\n state.bandwidthMonitor.ongoingRequestCount > 0 ? 1 /* TransportStatus.FAILURE_DETECTED */ : 2 /* TransportStatus.DOWN */;\n payload.retry = {\n count: payload.retry ? payload.retry.count + 1 : 1,\n lastFailureStatus: response.status,\n };\n onFailure();\n }\n });\n}\nfunction retryQueuedPayloads(reason, state, sendStrategy, trackType, reportError) {\n if (reason === 0 /* RetryReason.AFTER_SUCCESS */ && state.queuedPayloads.isFull() && !state.queueFullReported) {\n reportError({\n message: \"Reached max \".concat(trackType, \" events size queued for upload: \").concat(MAX_QUEUE_BYTES_COUNT / ONE_MEBI_BYTE, \"MiB\"),\n source: ErrorSource.AGENT,\n startClocks: clocksNow(),\n });\n state.queueFullReported = true;\n }\n var previousQueue = state.queuedPayloads;\n state.queuedPayloads = newPayloadQueue();\n while (previousQueue.size() > 0) {\n sendWithRetryStrategy(previousQueue.dequeue(), state, sendStrategy, trackType, reportError);\n }\n}\nfunction shouldRetryRequest(response) {\n return (response.type !== 'opaque' &&\n ((response.status === 0 && !navigator.onLine) ||\n response.status === 408 ||\n response.status === 429 ||\n isServerError(response.status)));\n}\nexport function newRetryState() {\n return {\n transportStatus: 0 /* TransportStatus.UP */,\n currentBackoffTime: INITIAL_BACKOFF_TIME,\n bandwidthMonitor: newBandwidthMonitor(),\n queuedPayloads: newPayloadQueue(),\n queueFullReported: false,\n };\n}\nfunction newPayloadQueue() {\n var queue = [];\n return {\n bytesCount: 0,\n enqueue: function (payload) {\n if (this.isFull()) {\n return;\n }\n queue.push(payload);\n this.bytesCount += payload.bytesCount;\n },\n first: function () {\n return queue[0];\n },\n dequeue: function () {\n var payload = queue.shift();\n if (payload) {\n this.bytesCount -= payload.bytesCount;\n }\n return payload;\n },\n size: function () {\n return queue.length;\n },\n isFull: function () {\n return this.bytesCount >= MAX_QUEUE_BYTES_COUNT;\n },\n };\n}\nfunction newBandwidthMonitor() {\n return {\n ongoingRequestCount: 0,\n ongoingByteCount: 0,\n canHandle: function (payload) {\n return (this.ongoingRequestCount === 0 ||\n (this.ongoingByteCount + payload.bytesCount <= MAX_ONGOING_BYTES_COUNT &&\n this.ongoingRequestCount < MAX_ONGOING_REQUESTS));\n },\n add: function (payload) {\n this.ongoingRequestCount += 1;\n this.ongoingByteCount += payload.bytesCount;\n },\n remove: function (payload) {\n this.ongoingRequestCount -= 1;\n this.ongoingByteCount -= payload.bytesCount;\n },\n };\n}\n//# sourceMappingURL=sendWithRetryStrategy.js.map","import { addTelemetryError } from '../domain/telemetry';\nimport { monitor } from '../tools/monitor';\nimport { addEventListener } from '../browser/addEventListener';\nimport { newRetryState, sendWithRetryStrategy } from './sendWithRetryStrategy';\nexport function createHttpRequest(configuration, endpointBuilder, bytesLimit, reportError) {\n var retryState = newRetryState();\n var sendStrategyForRetry = function (payload, onResponse) {\n return fetchKeepAliveStrategy(configuration, endpointBuilder, bytesLimit, payload, onResponse);\n };\n return {\n send: function (payload) {\n sendWithRetryStrategy(payload, retryState, sendStrategyForRetry, endpointBuilder.trackType, reportError);\n },\n /**\n * Since fetch keepalive behaves like regular fetch on Firefox,\n * keep using sendBeaconStrategy on exit\n */\n sendOnExit: function (payload) {\n sendBeaconStrategy(configuration, endpointBuilder, bytesLimit, payload);\n },\n };\n}\nfunction sendBeaconStrategy(configuration, endpointBuilder, bytesLimit, payload) {\n var canUseBeacon = !!navigator.sendBeacon && payload.bytesCount < bytesLimit;\n if (canUseBeacon) {\n try {\n var beaconUrl = endpointBuilder.build('beacon', payload);\n var isQueued = navigator.sendBeacon(beaconUrl, payload.data);\n if (isQueued) {\n return;\n }\n }\n catch (e) {\n reportBeaconError(e);\n }\n }\n var xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(configuration, xhrUrl, payload.data);\n}\nvar hasReportedBeaconError = false;\nfunction reportBeaconError(e) {\n if (!hasReportedBeaconError) {\n hasReportedBeaconError = true;\n addTelemetryError(e);\n }\n}\nexport function fetchKeepAliveStrategy(configuration, endpointBuilder, bytesLimit, payload, onResponse) {\n var canUseKeepAlive = isKeepAliveSupported() && payload.bytesCount < bytesLimit;\n if (canUseKeepAlive) {\n var fetchUrl = endpointBuilder.build('fetch', payload);\n fetch(fetchUrl, { method: 'POST', body: payload.data, keepalive: true, mode: 'cors' }).then(monitor(function (response) { return onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: response.status, type: response.type }); }), monitor(function () {\n var xhrUrl = endpointBuilder.build('xhr', payload);\n // failed to queue the request\n sendXHR(configuration, xhrUrl, payload.data, onResponse);\n }));\n }\n else {\n var xhrUrl = endpointBuilder.build('xhr', payload);\n sendXHR(configuration, xhrUrl, payload.data, onResponse);\n }\n}\nfunction isKeepAliveSupported() {\n // Request can throw, cf https://developer.mozilla.org/en-US/docs/Web/API/Request/Request#errors\n try {\n return window.Request && 'keepalive' in new Request('http://a');\n }\n catch (_a) {\n return false;\n }\n}\nexport function sendXHR(configuration, url, data, onResponse) {\n var request = new XMLHttpRequest();\n request.open('POST', url, true);\n if (data instanceof Blob) {\n // When using a Blob instance, IE does not use its 'type' to define the 'Content-Type' header\n // automatically, so the intake request ends up being rejected with an HTTP status 415\n // Defining the header manually fixes this issue.\n request.setRequestHeader('Content-Type', data.type);\n }\n addEventListener(configuration, request, 'loadend', function () {\n onResponse === null || onResponse === void 0 ? void 0 : onResponse({ status: request.status });\n }, {\n // prevent multiple onResponse callbacks\n // if the xhr instance is reused by a third party\n once: true,\n });\n request.send(data);\n}\n//# sourceMappingURL=httpRequest.js.map","import { Observable } from '../tools/observable';\nimport { clearTimeout, setTimeout } from '../tools/timer';\n/**\n * Returns a \"flush controller\", responsible of notifying when flushing a pool of pending data needs\n * to happen. The implementation is designed to support both synchronous and asynchronous usages,\n * but relies on invariants described in each method documentation to keep a coherent state.\n */\nexport function createFlushController(_a) {\n var messagesLimit = _a.messagesLimit, bytesLimit = _a.bytesLimit, durationLimit = _a.durationLimit, pageExitObservable = _a.pageExitObservable, sessionExpireObservable = _a.sessionExpireObservable;\n var pageExitSubscription = pageExitObservable.subscribe(function (event) { return flush(event.reason); });\n var sessionExpireSubscription = sessionExpireObservable.subscribe(function () { return flush('session_expire'); });\n var flushObservable = new Observable(function () { return function () {\n pageExitSubscription.unsubscribe();\n sessionExpireSubscription.unsubscribe();\n }; });\n var currentBytesCount = 0;\n var currentMessagesCount = 0;\n function flush(flushReason) {\n if (currentMessagesCount === 0) {\n return;\n }\n var messagesCount = currentMessagesCount;\n var bytesCount = currentBytesCount;\n currentMessagesCount = 0;\n currentBytesCount = 0;\n cancelDurationLimitTimeout();\n flushObservable.notify({\n reason: flushReason,\n messagesCount: messagesCount,\n bytesCount: bytesCount,\n });\n }\n var durationLimitTimeoutId;\n function scheduleDurationLimitTimeout() {\n if (durationLimitTimeoutId === undefined) {\n durationLimitTimeoutId = setTimeout(function () {\n flush('duration_limit');\n }, durationLimit);\n }\n }\n function cancelDurationLimitTimeout() {\n clearTimeout(durationLimitTimeoutId);\n durationLimitTimeoutId = undefined;\n }\n return {\n flushObservable: flushObservable,\n get messagesCount() {\n return currentMessagesCount;\n },\n /**\n * Notifies that a message will be added to a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right before adding the message, so no flush\n * event can happen after `notifyBeforeAddMessage` and before adding the message.\n *\n * @param estimatedMessageBytesCount: an estimation of the message bytes count once it is\n * actually added.\n */\n notifyBeforeAddMessage: function (estimatedMessageBytesCount) {\n if (currentBytesCount + estimatedMessageBytesCount >= bytesLimit) {\n flush('bytes_limit');\n }\n // Consider the message to be added now rather than in `notifyAfterAddMessage`, because if no\n // message was added yet and `notifyAfterAddMessage` is called asynchronously, we still want\n // to notify when a flush is needed (for example on page exit).\n currentMessagesCount += 1;\n currentBytesCount += estimatedMessageBytesCount;\n scheduleDurationLimitTimeout();\n },\n /**\n * Notifies that a message *was* added to a pool of pending messages waiting to be flushed.\n *\n * This function can be called asynchronously after the message was added, but in this case it\n * should not be called if a flush event occurred in between.\n *\n * @param messageBytesCountDiff: the difference between the estimated message bytes count and\n * its actual bytes count once added to the pool.\n */\n notifyAfterAddMessage: function (messageBytesCountDiff) {\n if (messageBytesCountDiff === void 0) { messageBytesCountDiff = 0; }\n currentBytesCount += messageBytesCountDiff;\n if (currentMessagesCount >= messagesLimit) {\n flush('messages_limit');\n }\n else if (currentBytesCount >= bytesLimit) {\n flush('bytes_limit');\n }\n },\n /**\n * Notifies that a message was removed from a pool of pending messages waiting to be flushed.\n *\n * This function needs to be called synchronously, right after removing the message, so no flush\n * event can happen after removing the message and before `notifyAfterRemoveMessage`.\n *\n * @param messageBytesCount: the message bytes count that was added to the pool. Should\n * correspond to the sum of bytes counts passed to `notifyBeforeAddMessage` and\n * `notifyAfterAddMessage`.\n */\n notifyAfterRemoveMessage: function (messageBytesCount) {\n currentBytesCount -= messageBytesCount;\n currentMessagesCount -= 1;\n if (currentMessagesCount === 0) {\n cancelDurationLimitTimeout();\n }\n },\n };\n}\n//# sourceMappingURL=flushController.js.map","import { Batch } from './batch';\nimport { createHttpRequest } from './httpRequest';\nimport { createFlushController } from './flushController';\nexport function startBatchWithReplica(configuration, primary, replica, reportError, pageExitObservable, sessionExpireObservable) {\n var primaryBatch = createBatch(configuration, primary);\n var replicaBatch = replica && createBatch(configuration, replica);\n function createBatch(configuration, _a) {\n var endpoint = _a.endpoint, encoder = _a.encoder;\n return new Batch(encoder, createHttpRequest(configuration, endpoint, configuration.batchBytesLimit, reportError), createFlushController({\n messagesLimit: configuration.batchMessagesLimit,\n bytesLimit: configuration.batchBytesLimit,\n durationLimit: configuration.flushTimeout,\n pageExitObservable: pageExitObservable,\n sessionExpireObservable: sessionExpireObservable,\n }), configuration.messageBytesLimit);\n }\n return {\n flushObservable: primaryBatch.flushController.flushObservable,\n add: function (message, replicated) {\n if (replicated === void 0) { replicated = true; }\n primaryBatch.add(message);\n if (replicaBatch && replicated) {\n replicaBatch.add(replica.transformMessage ? replica.transformMessage(message) : message);\n }\n },\n upsert: function (message, key) {\n primaryBatch.upsert(message, key);\n if (replicaBatch) {\n replicaBatch.upsert(replica.transformMessage ? replica.transformMessage(message) : message, key);\n }\n },\n stop: function () {\n primaryBatch.stop();\n replicaBatch === null || replicaBatch === void 0 ? void 0 : replicaBatch.stop();\n },\n };\n}\n//# sourceMappingURL=startBatchWithReplica.js.map","import { computeBytesCount } from './utils/byteUtils';\nexport function createIdentityEncoder() {\n var output = '';\n var outputBytesCount = 0;\n return {\n isAsync: false,\n get isEmpty() {\n return !output;\n },\n write: function (data, callback) {\n var additionalEncodedBytesCount = computeBytesCount(data);\n outputBytesCount += additionalEncodedBytesCount;\n output += data;\n if (callback) {\n callback(additionalEncodedBytesCount);\n }\n },\n finish: function (callback) {\n callback(this.finishSync());\n },\n finishSync: function () {\n var result = {\n output: output,\n outputBytesCount: outputBytesCount,\n rawBytesCount: outputBytesCount,\n pendingData: '',\n };\n output = '';\n outputBytesCount = 0;\n return result;\n },\n estimateEncodedBytesCount: function (data) {\n return data.length;\n },\n };\n}\n//# sourceMappingURL=encoder.js.map","import { createIdentityEncoder, startBatchWithReplica } from '@datadog/browser-core';\nexport function startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable, session) {\n var batch = startBatchWithReplica(configuration, {\n endpoint: configuration.logsEndpointBuilder,\n encoder: createIdentityEncoder(),\n }, configuration.replica && {\n endpoint: configuration.replica.logsEndpointBuilder,\n encoder: createIdentityEncoder(),\n }, reportError, pageExitObservable, session.expireObservable);\n lifeCycle.subscribe(1 /* LifeCycleEventType.LOG_COLLECTED */, function (serverLogsEvent) {\n batch.add(serverLogsEvent);\n });\n return batch;\n}\n//# sourceMappingURL=startLogsBatch.js.map","import { getEventBridge } from '@datadog/browser-core';\nexport function startLogsBridge(lifeCycle) {\n var bridge = getEventBridge();\n lifeCycle.subscribe(1 /* LifeCycleEventType.LOG_COLLECTED */, function (serverLogsEvent) {\n bridge.send('log', serverLogsEvent);\n });\n}\n//# sourceMappingURL=startLogsBridge.js.map","export function startInternalContext(sessionManager) {\n return {\n get: function (startTime) {\n var trackedSession = sessionManager.findTrackedSession(startTime);\n if (trackedSession) {\n return {\n session_id: trackedSession.id,\n };\n }\n },\n };\n}\n//# sourceMappingURL=internalContext.js.map","import { ErrorSource, addTelemetryDebug } from '@datadog/browser-core';\nimport { StatusType } from './logger';\nexport function startReportError(lifeCycle) {\n return function (error) {\n lifeCycle.notify(0 /* LifeCycleEventType.RAW_LOG_COLLECTED */, {\n rawLogsEvent: {\n message: error.message,\n date: error.startClocks.timeStamp,\n origin: ErrorSource.AGENT,\n status: StatusType.error,\n },\n });\n addTelemetryDebug('Error reported to customer', { 'error.message': error.message });\n };\n}\n//# sourceMappingURL=reportError.js.map","import { startTelemetry, canUseEventBridge, getEventBridge, startBatchWithReplica, createIdentityEncoder, isTelemetryReplicationAllowed, addTelemetryConfiguration, } from '@datadog/browser-core';\nimport { getRUMInternalContext } from './contexts/rumInternalContext';\nimport { serializeLogsConfiguration } from './configuration';\nexport function startLogsTelemetry(initConfiguration, configuration, reportError, pageExitObservable, session) {\n var telemetry = startTelemetry(\"browser-logs-sdk\" /* TelemetryService.LOGS */, configuration);\n telemetry.setContextProvider(function () {\n var _a, _b, _c, _d, _e, _f;\n return ({\n application: {\n id: (_a = getRUMInternalContext()) === null || _a === void 0 ? void 0 : _a.application_id,\n },\n session: {\n id: (_b = session.findTrackedSession()) === null || _b === void 0 ? void 0 : _b.id,\n },\n view: {\n id: (_d = (_c = getRUMInternalContext()) === null || _c === void 0 ? void 0 : _c.view) === null || _d === void 0 ? void 0 : _d.id,\n },\n action: {\n id: (_f = (_e = getRUMInternalContext()) === null || _e === void 0 ? void 0 : _e.user_action) === null || _f === void 0 ? void 0 : _f.id,\n },\n });\n });\n var cleanupTasks = [];\n if (canUseEventBridge()) {\n var bridge_1 = getEventBridge();\n var telemetrySubscription_1 = telemetry.observable.subscribe(function (event) { return bridge_1.send('internal_telemetry', event); });\n cleanupTasks.push(function () { return telemetrySubscription_1.unsubscribe(); });\n }\n else {\n var telemetryBatch_1 = startBatchWithReplica(configuration, {\n endpoint: configuration.rumEndpointBuilder,\n encoder: createIdentityEncoder(),\n }, configuration.replica && {\n endpoint: configuration.replica.rumEndpointBuilder,\n encoder: createIdentityEncoder(),\n }, reportError, pageExitObservable, session.expireObservable);\n cleanupTasks.push(function () { return telemetryBatch_1.stop(); });\n var telemetrySubscription_2 = telemetry.observable.subscribe(function (event) {\n return telemetryBatch_1.add(event, isTelemetryReplicationAllowed(configuration));\n });\n cleanupTasks.push(function () { return telemetrySubscription_2.unsubscribe(); });\n }\n addTelemetryConfiguration(serializeLogsConfiguration(initConfiguration));\n return {\n telemetry: telemetry,\n stop: function () {\n cleanupTasks.forEach(function (task) { return task(); });\n },\n };\n}\n//# sourceMappingURL=logsTelemetry.js.map","import { sendToExtension, createPageExitObservable, willSyntheticsInjectRum, canUseEventBridge, } from '@datadog/browser-core';\nimport { startLogsSessionManager, startLogsSessionManagerStub } from '../domain/logsSessionManager';\nimport { startLogsAssembly } from '../domain/assembly';\nimport { startConsoleCollection } from '../domain/console/consoleCollection';\nimport { startReportCollection } from '../domain/report/reportCollection';\nimport { startNetworkErrorCollection } from '../domain/networkError/networkErrorCollection';\nimport { startRuntimeErrorCollection } from '../domain/runtimeError/runtimeErrorCollection';\nimport { LifeCycle } from '../domain/lifeCycle';\nimport { startLoggerCollection } from '../domain/logger/loggerCollection';\nimport { startLogsBatch } from '../transport/startLogsBatch';\nimport { startLogsBridge } from '../transport/startLogsBridge';\nimport { startInternalContext } from '../domain/contexts/internalContext';\nimport { startReportError } from '../domain/reportError';\nimport { startLogsTelemetry } from '../domain/logsTelemetry';\nexport function startLogs(initConfiguration, configuration, getCommonContext, \n// `startLogs` and its subcomponents assume tracking consent is granted initially and starts\n// collecting logs unconditionally. As such, `startLogs` should be called with a\n// `trackingConsentState` set to \"granted\".\ntrackingConsentState) {\n var lifeCycle = new LifeCycle();\n var cleanupTasks = [];\n lifeCycle.subscribe(1 /* LifeCycleEventType.LOG_COLLECTED */, function (log) { return sendToExtension('logs', log); });\n var reportError = startReportError(lifeCycle);\n var pageExitObservable = createPageExitObservable(configuration);\n var session = configuration.sessionStoreStrategyType && !canUseEventBridge() && !willSyntheticsInjectRum()\n ? startLogsSessionManager(configuration, trackingConsentState)\n : startLogsSessionManagerStub(configuration);\n var stopLogsTelemetry = startLogsTelemetry(initConfiguration, configuration, reportError, pageExitObservable, session).stop;\n cleanupTasks.push(function () { return stopLogsTelemetry(); });\n startNetworkErrorCollection(configuration, lifeCycle);\n startRuntimeErrorCollection(configuration, lifeCycle);\n startConsoleCollection(configuration, lifeCycle);\n startReportCollection(configuration, lifeCycle);\n var handleLog = startLoggerCollection(lifeCycle).handleLog;\n startLogsAssembly(session, configuration, lifeCycle, getCommonContext, reportError);\n if (!canUseEventBridge()) {\n var stopLogsBatch_1 = startLogsBatch(configuration, lifeCycle, reportError, pageExitObservable, session).stop;\n cleanupTasks.push(function () { return stopLogsBatch_1(); });\n }\n else {\n startLogsBridge(lifeCycle);\n }\n var internalContext = startInternalContext(session);\n return {\n handleLog: handleLog,\n getInternalContext: internalContext.get,\n stop: function () {\n cleanupTasks.forEach(function (task) { return task(); });\n },\n };\n}\n//# sourceMappingURL=startLogs.js.map","import { defineGlobal, getGlobalObject } from '@datadog/browser-core';\nimport { makeLogsPublicApi } from '../boot/logsPublicApi';\nimport { startLogs } from '../boot/startLogs';\nexport { Logger, StatusType, HandlerType } from '../domain/logger';\nexport var datadogLogs = makeLogsPublicApi(startLogs);\ndefineGlobal(getGlobalObject(), 'DD_LOGS', datadogLogs);\n//# sourceMappingURL=main.js.map","\"use strict\";\n'use client';\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\nconst react_1 = require(\"react\");\nfunction ThirdPartyScriptEmbed({ html, height = null, width = null, children, dataNtpc = '', }) {\n (0, react_1.useEffect)(() => {\n if (dataNtpc) {\n // performance.mark is being used as a feature use signal. While it is traditionally used for performance\n // benchmarking it is low overhead and thus considered safe to use in production and it is a widely available\n // existing API.\n performance.mark('mark_feature_usage', {\n detail: {\n feature: `next-third-parties-${dataNtpc}`,\n },\n });\n }\n }, [dataNtpc]);\n return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [children, html ? ((0, jsx_runtime_1.jsx)(\"div\", { style: {\n height: height != null ? `${height}px` : 'auto',\n width: width != null ? `${width}px` : 'auto',\n }, \"data-ntpc\": dataNtpc, dangerouslySetInnerHTML: { __html: html } })) : null] }));\n}\nexports.default = ThirdPartyScriptEmbed;\n","\"use strict\";\n'use client';\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendGAEvent = exports.GoogleAnalytics = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\n// TODO: Evaluate import 'client only'\nconst react_1 = require(\"react\");\nconst script_1 = __importDefault(require(\"next/script\"));\nlet currDataLayerName = undefined;\nfunction GoogleAnalytics(props) {\n const { gaId, dataLayerName = 'dataLayer' } = props;\n if (currDataLayerName === undefined) {\n currDataLayerName = dataLayerName;\n }\n (0, react_1.useEffect)(() => {\n // performance.mark is being used as a feature use signal. While it is traditionally used for performance\n // benchmarking it is low overhead and thus considered safe to use in production and it is a widely available\n // existing API.\n // The performance measurement will be handled by Chrome Aurora\n performance.mark('mark_feature_usage', {\n detail: {\n feature: 'next-third-parties-ga',\n },\n });\n }, []);\n return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(script_1.default, { id: \"_next-ga-init\", dangerouslySetInnerHTML: {\n __html: `\n window['${dataLayerName}'] = window['${dataLayerName}'] || [];\n function gtag(){window['${dataLayerName}'].push(arguments);}\n gtag('js', new Date());\n\n gtag('config', '${gaId}');`,\n } }), (0, jsx_runtime_1.jsx)(script_1.default, { id: \"_next-ga\", src: `https://www.googletagmanager.com/gtag/js?id=${gaId}` })] }));\n}\nexports.GoogleAnalytics = GoogleAnalytics;\nfunction sendGAEvent(..._args) {\n if (currDataLayerName === undefined) {\n console.warn(`@next/third-parties: GA has not been initialized`);\n return;\n }\n if (window[currDataLayerName]) {\n window[currDataLayerName].push(arguments);\n }\n else {\n console.warn(`@next/third-parties: GA dataLayer ${currDataLayerName} does not exist`);\n }\n}\nexports.sendGAEvent = sendGAEvent;\n","\"use strict\";\n'use client';\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.sendGTMEvent = exports.GoogleTagManager = void 0;\nconst jsx_runtime_1 = require(\"react/jsx-runtime\");\n// TODO: Evaluate import 'client only'\nconst react_1 = require(\"react\");\nconst script_1 = __importDefault(require(\"next/script\"));\nlet currDataLayerName = undefined;\nfunction GoogleTagManager(props) {\n const { gtmId, dataLayerName = 'dataLayer', auth, preview, dataLayer } = props;\n if (currDataLayerName === undefined) {\n currDataLayerName = dataLayerName;\n }\n const gtmLayer = dataLayerName !== 'dataLayer' ? `&l=${dataLayerName}` : '';\n const gtmAuth = auth ? `>m_auth=${auth}` : '';\n const gtmPreview = preview ? `>m_preview=${preview}>m_cookies_win=x` : '';\n (0, react_1.useEffect)(() => {\n // performance.mark is being used as a feature use signal. While it is traditionally used for performance\n // benchmarking it is low overhead and thus considered safe to use in production and it is a widely available\n // existing API.\n // The performance measurement will be handled by Chrome Aurora\n performance.mark('mark_feature_usage', {\n detail: {\n feature: 'next-third-parties-gtm',\n },\n });\n }, []);\n return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(script_1.default, { id: \"_next-gtm-init\", dangerouslySetInnerHTML: {\n __html: `\n (function(w,l){\n w[l]=w[l]||[];\n w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});\n ${dataLayer ? `w[l].push(${JSON.stringify(dataLayer)})` : ''}\n })(window,'${dataLayerName}');`,\n } }), (0, jsx_runtime_1.jsx)(script_1.default, { id: \"_next-gtm\", \"data-ntpc\": \"GTM\", src: `https://www.googletagmanager.com/gtm.js?id=${gtmId}${gtmLayer}${gtmAuth}${gtmPreview}` })] }));\n}\nexports.GoogleTagManager = GoogleTagManager;\nconst sendGTMEvent = (data) => {\n if (currDataLayerName === undefined) {\n console.warn(`@next/third-parties: GTM has not been initialized`);\n return;\n }\n if (window[currDataLayerName]) {\n window[currDataLayerName].push(data);\n }\n else {\n console.warn(`@next/third-parties: GTM dataLayer ${currDataLayerName} does not exist`);\n }\n};\nexports.sendGTMEvent = sendGTMEvent;\n","import { useEffect, useRef } from 'react';\n/**\n * Returns a boolean that is `true` only on first render.\n */\nexport function useFirstMountState() {\n const isFirstMount = useRef(true);\n useEffect(() => {\n isFirstMount.current = false;\n }, []);\n return isFirstMount.current;\n}\n","import { useStorageValue, } from '../useStorageValue';\nimport { isBrowser, noop } from \"../util/const.js\";\nlet IS_LOCAL_STORAGE_AVAILABLE;\ntry {\n IS_LOCAL_STORAGE_AVAILABLE = isBrowser && Boolean(window.localStorage);\n}\ncatch {\n // No need to test this flag leads to noop behaviour\n /* istanbul ignore next */\n IS_LOCAL_STORAGE_AVAILABLE = false;\n}\n/**\n * Manages a single localStorage key.\n */\nexport const useLocalStorageValue = IS_LOCAL_STORAGE_AVAILABLE\n ? (key, options) => {\n return useStorageValue(localStorage, key, options);\n }\n : (_key, _options) => {\n if (isBrowser && process.env.NODE_ENV === 'development') {\n console.warn('LocalStorage is not available in this environment');\n }\n return { value: undefined, set: noop, remove: noop, fetch: noop };\n };\n","import { useEffect, useLayoutEffect } from 'react';\nimport { isBrowser } from \"../util/const.js\";\n/**\n * Alias for `useLayoutEffect` in browser, but for `useEffect` at server side. Helps to avoid\n * warning shown during SSR.\n */\nexport const useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;\n","import { useEffect } from 'react';\nimport { useFirstMountState } from '../useFirstMountState';\nimport { noop } from \"../util/const.js\";\n/**\n * Effect hook that ignores the first render (not invoked on mount).\n *\n * @param effect Effector to run on updates\n * @param deps Dependencies list, as for `useEffect` hook\n */\nexport function useUpdateEffect(effect, deps) {\n const isFirstMount = useFirstMountState();\n useEffect(isFirstMount ? noop : effect, deps);\n}\n","export function on(obj, ...args) {\n obj?.addEventListener?.(...args);\n}\nexport function off(obj, ...args) {\n obj?.removeEventListener?.(...args);\n}\nexport const hasOwnProperty = (obj, property) => Object.prototype.hasOwnProperty.call(obj, property);\nexport const yieldTrue = () => true;\nexport const yieldFalse = () => false;\nexport const basicDepsComparator = (d1, d2) => {\n if (d1 === d2)\n return true;\n if (d1.length !== d2.length)\n return false;\n for (let i = 0; i < d1.length; i++) {\n if (d1[i] !== d2[i]) {\n return false;\n }\n }\n return true;\n};\n","export function resolveHookState(nextState, prevState) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n if (typeof nextState === 'function')\n return nextState(prevState);\n return nextState;\n}\n","import { useEffect, useMemo, useState } from 'react';\nimport { useFirstMountState } from '../useFirstMountState';\nimport { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';\nimport { useSyncedRef } from '../useSyncedRef';\nimport { useUpdateEffect } from '../useUpdateEffect';\nimport { isBrowser } from \"../util/const.js\";\nimport { off, on } from \"../util/misc.js\";\nimport { resolveHookState } from \"../util/resolveHookState.js\";\nconst storageListeners = new Map();\nconst invokeStorageKeyListeners = (s, key, value, skipListener) => {\n storageListeners\n .get(s)\n ?.get(key)\n ?.forEach((listener) => {\n if (listener !== skipListener) {\n listener(value);\n }\n });\n};\nconst storageEventHandler = (evt) => {\n if (evt.storageArea && evt.key && evt.newValue) {\n invokeStorageKeyListeners(evt.storageArea, evt.key, evt.newValue);\n }\n};\nconst addStorageListener = (s, key, listener) => {\n // In case of first listener added within browser environment we\n // want to bind single storage event handler\n if (isBrowser && storageListeners.size === 0) {\n on(window, 'storage', storageEventHandler, { passive: true });\n }\n let keys = storageListeners.get(s);\n if (!keys) {\n keys = new Map();\n storageListeners.set(s, keys);\n }\n let listeners = keys.get(key);\n if (!listeners) {\n listeners = new Set();\n keys.set(key, listeners);\n }\n listeners.add(listener);\n};\nconst removeStorageListener = (s, key, listener) => {\n const keys = storageListeners.get(s);\n /* istanbul ignore next */\n if (!keys) {\n return;\n }\n const listeners = keys.get(key);\n /* istanbul ignore next */\n if (!listeners) {\n return;\n }\n listeners.delete(listener);\n if (!listeners.size) {\n keys.delete(key);\n }\n if (!keys.size) {\n storageListeners.delete(s);\n }\n // Unbind storage event handler in browser environment in case there is no\n // storage keys listeners left\n if (isBrowser && !storageListeners.size) {\n off(window, 'storage', storageEventHandler);\n }\n};\nconst DEFAULT_OPTIONS = {\n defaultValue: null,\n initializeWithValue: true,\n};\nexport function useStorageValue(storage, key, options) {\n const optionsRef = useSyncedRef({ ...DEFAULT_OPTIONS, ...options });\n const parse = (str, fallback) => {\n const parseFunction = optionsRef.current.parse ?? defaultParse;\n return parseFunction(str, fallback);\n };\n const stringify = (data) => {\n const stringifyFunction = optionsRef.current.stringify ?? defaultStringify;\n return stringifyFunction(data);\n };\n const storageActions = useSyncedRef({\n fetchRaw: () => storage.getItem(key),\n fetch: () => parse(storageActions.current.fetchRaw(), optionsRef.current.defaultValue),\n remove() {\n storage.removeItem(key);\n },\n store(val) {\n const stringified = stringify(val);\n if (stringified !== null) {\n storage.setItem(key, stringified);\n }\n return stringified;\n },\n });\n const isFirstMount = useFirstMountState();\n const [state, setState] = useState(optionsRef.current?.initializeWithValue && isFirstMount\n ? storageActions.current.fetch()\n : undefined);\n const stateRef = useSyncedRef(state);\n const stateActions = useSyncedRef({\n fetch() {\n setState(storageActions.current.fetch());\n },\n setRawVal(val) {\n setState(parse(val, optionsRef.current.defaultValue));\n },\n });\n useUpdateEffect(() => {\n stateActions.current.fetch();\n }, [key]);\n useEffect(() => {\n if (!optionsRef.current.initializeWithValue) {\n stateActions.current.fetch();\n }\n }, []);\n useIsomorphicLayoutEffect(() => {\n const handler = stateActions.current.setRawVal;\n addStorageListener(storage, key, handler);\n return () => {\n removeStorageListener(storage, key, handler);\n };\n }, [storage, key]);\n const actions = useSyncedRef({\n set(val) {\n if (!isBrowser)\n return;\n const s = resolveHookState(val, stateRef.current);\n const storeVal = storageActions.current.store(s);\n if (storeVal !== null) {\n invokeStorageKeyListeners(storage, key, storeVal);\n }\n },\n delete() {\n if (!isBrowser)\n return;\n storageActions.current.remove();\n invokeStorageKeyListeners(storage, key, null);\n },\n fetch() {\n if (!isBrowser)\n return;\n invokeStorageKeyListeners(storage, key, storageActions.current.fetchRaw());\n },\n });\n // Make actions static so developers can pass methods further\n const staticActions = useMemo(() => ({\n set: ((v) => {\n actions.current.set(v);\n }),\n remove() {\n actions.current.delete();\n },\n fetch() {\n actions.current.fetch();\n },\n }), []);\n return useMemo(() => ({\n value: state,\n ...staticActions,\n }), [state]);\n}\nconst defaultStringify = (data) => {\n if (data === null) {\n /* istanbul ignore next */\n if (process.env.NODE_ENV === 'development') {\n console.warn(`'null' is not a valid data for useStorageValue hook, this operation will take no effect`);\n }\n return null;\n }\n try {\n return JSON.stringify(data);\n }\n catch (error) /* istanbul ignore next */ {\n // I have absolutely no idea how to cover this, since modern JSON.stringify does not throw on\n // cyclic references anymore\n console.warn(error);\n return null;\n }\n};\nconst defaultParse = (str, fallback) => {\n if (str === null)\n return fallback;\n try {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n return JSON.parse(str);\n }\n catch (error) {\n console.warn(error);\n return fallback;\n }\n};\n","import { useMemo, useRef } from 'react';\n/**\n * Like `useRef`, but it returns immutable ref that contains actual value.\n *\n * @param value\n */\nexport function useSyncedRef(value) {\n const ref = useRef(value);\n ref.current = value;\n return useMemo(() => Object.freeze({\n get current() {\n return ref.current;\n },\n }), []);\n}\n","export const noop = () => { };\nexport const isBrowser = typeof window !== 'undefined' &&\n typeof navigator !== 'undefined' &&\n typeof document !== 'undefined';\n/**\n * You should only be reaching for this function when you're attempting to prevent multiple\n * redefinitions of the same function. In-place strict equality checks are more performant.\n */\nexport const isStrictEqual = (prev, next) => prev === next;\nexport const truthyAndArrayPredicate = (conditions) => conditions.every(Boolean);\nexport const truthyOrArrayPredicate = (conditions) => conditions.some(Boolean);\n","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?t(exports,require(\"react\")):\"function\"==typeof define&&define.amd?define([\"exports\",\"react\"],t):t((e=\"undefined\"!=typeof globalThis?globalThis:e||self)[\"flagsmith/react\"]={},e.React)}(this,(function(e,t){\"use strict\";function n(e){return e&&\"object\"==typeof e&&\"default\"in e?e:{default:e}}var r=n(t),i=function(){return i=Object.assign||function(e){for(var t,n=1,r=arguments.length;n{},themes:[]},y=()=>{var e;return null!==(e=t(u))&&void 0!==e?e:h},$=r=>t(u)?/*#__PURE__*/e.createElement(n,null,r.children):/*#__PURE__*/e.createElement(f,r),v=[\"light\",\"dark\"],f=({forcedTheme:t,disableTransitionOnChange:n=!1,enableSystem:l=!0,enableColorScheme:m=!0,storageKey:d=\"theme\",themes:h=v,defaultTheme:y=(l?\"system\":\"light\"),attribute:$=\"data-theme\",value:f,children:w,nonce:T})=>{const[E,k]=r(()=>S(d,y)),[C,L]=r(()=>S(d)),x=f?Object.values(f):h,I=o(e=>{let t=e;if(!t)return;\"system\"===e&&l&&(t=p());const r=f?f[t]:t,o=n?b():null,a=document.documentElement;if(\"class\"===$?(a.classList.remove(...x),r&&a.classList.add(r)):r?a.setAttribute($,r):a.removeAttribute($),m){const e=c.includes(y)?y:null,n=c.includes(t)?t:e;a.style.colorScheme=n}null==o||o()},[]),O=o(e=>{k(e);try{localStorage.setItem(d,e)}catch(e){}},[t]),M=o(e=>{const n=p(e);L(n),\"system\"===E&&l&&!t&&I(\"system\")},[E,t]);a(()=>{const e=window.matchMedia(i);return e.addListener(M),M(e),()=>e.removeListener(M)},[M]),a(()=>{const e=e=>{e.key===d&&O(e.newValue||y)};return window.addEventListener(\"storage\",e),()=>window.removeEventListener(\"storage\",e)},[O]),a(()=>{I(null!=t?t:E)},[t,E]);const A=s(()=>({theme:E,setTheme:O,forcedTheme:t,resolvedTheme:\"system\"===E?C:E,themes:l?[...h,\"system\"]:h,systemTheme:l?C:void 0}),[E,O,t,C,l,h]);/*#__PURE__*/return e.createElement(u.Provider,{value:A},/*#__PURE__*/e.createElement(g,{forcedTheme:t,disableTransitionOnChange:n,enableSystem:l,enableColorScheme:m,storageKey:d,themes:h,defaultTheme:y,attribute:$,value:f,children:w,attrs:x,nonce:T}),w)},g=/*#__PURE__*/l(({forcedTheme:t,storageKey:n,attribute:r,enableSystem:o,enableColorScheme:a,defaultTheme:s,value:l,attrs:m,nonce:d})=>{const u=\"system\"===s,h=\"class\"===r?`var d=document.documentElement,c=d.classList;c.remove(${m.map(e=>`'${e}'`).join(\",\")});`:`var d=document.documentElement,n='${r}',s='setAttribute';`,y=a?c.includes(s)&&s?`if(e==='light'||e==='dark'||!e)d.style.colorScheme=e||'${s}'`:\"if(e==='light'||e==='dark')d.style.colorScheme=e\":\"\",$=(e,t=!1,n=!0)=>{const o=l?l[e]:e,s=t?e+\"|| ''\":`'${o}'`;let m=\"\";return a&&n&&!t&&c.includes(e)&&(m+=`d.style.colorScheme = '${e}';`),\"class\"===r?m+=t||o?`c.add(${s})`:\"null\":o&&(m+=`d[s](n,${s})`),m},v=t?`!function(){${h}${$(t)}}()`:o?`!function(){try{${h}var e=localStorage.getItem('${n}');if('system'===e||(!e&&${u})){var t='${i}',m=window.matchMedia(t);if(m.media!==t||m.matches){${$(\"dark\")}}else{${$(\"light\")}}}else if(e){${l?`var x=${JSON.stringify(l)};`:\"\"}${$(l?\"x[e]\":\"e\",!0)}}${u?\"\":\"else{\"+$(s,!1,!1)+\"}\"}${y}}catch(e){}}()`:`!function(){try{${h}var e=localStorage.getItem('${n}');if(e){${l?`var x=${JSON.stringify(l)};`:\"\"}${$(l?\"x[e]\":\"e\",!0)}}else{${$(s,!1,!1)};}${y}}catch(t){}}();`;/*#__PURE__*/return e.createElement(\"script\",{nonce:d,dangerouslySetInnerHTML:{__html:v}})},()=>!0),S=(e,t)=>{if(d)return;let n;try{n=localStorage.getItem(e)||void 0}catch(e){}return n||t},b=()=>{const e=document.createElement(\"style\");return e.appendChild(document.createTextNode(\"*{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\")),document.head.appendChild(e),()=>{window.getComputedStyle(document.body),setTimeout(()=>{document.head.removeChild(e)},1)}},p=e=>(e||(e=window.matchMedia(i)),e.matches?\"dark\":\"light\");export{$ as ThemeProvider,y as useTheme};\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"style\":{\"fontFamily\":\"'__Syne_b40857', '__Syne_Fallback_b40857'\",\"fontStyle\":\"normal\"},\"className\":\"__className_b40857\",\"variable\":\"__variable_b40857\"};"],"names":["DOM_EVENT","ExperimentalFeature","global","name","existingGlobalVariable","onMonitorErrorCollected","navigationStart","browserCache","initCookieParsed","getCurrentSiteCache","ongoingOperations","isURLSupported","onRawTelemetryEventCollected","_a","reportCollection_a","xhrObservable","fetchObservable","loggerCollection_a","ConsoleApiName","log","debug","info","warn","error","globalConsole","console","originalConsoleMethods","Object","keys","forEach","PREFIX","display","bind","catchUserErrors","fn","errorMsg","args","_i","arguments","length","apply","err","__spreadArray","to","from","pack","ar","i","l","Array","prototype","slice","call","concat","debugMode","setDebugMode","newDebugMode","monitored","_","__","descriptor","originalMethod","value","decorated","monitor","callMonitored","context","e","displayIfDebugEnabled","polyfills_includes","candidate","search","indexOf","arrayFrom","arrayLike","array","Set","item","push","objectValues","object","map","key","startsWith","polyfills_assign","target","toAssign","source","hasOwnProperty","getGlobalObject","globalThis","defineProperty","get","configurable","globalObject","_dd_temp_","self","window","HAS_MULTI_BYTES_CHARACTERS","computeBytesCount","test","undefined","TextEncoder","encode","Blob","size","getZoneJsOriginalValue","original","browserWindow","Zone","__symbol__","timer_setTimeout","callback","delay","timer_clearTimeout","timeoutId","timer_setInterval","timer_clearInterval","throttle","wait","options","pendingExecutionWithParameters","pendingTimeoutId","needLeadingExecution","leading","needTrailingExecution","trailing","inWaitPeriod","throttled","parameters","cancel","functionUtils_noop","jsonStringify","replacer","space","JSON","stringify","restoreObjectPrototypeToJson","detachToJsonMethod","restoreArrayPrototypeToJson","restoreValuePrototypeToJson","getPrototypeOf","restoreValueToJson","objectToJson","toJSON","objectHasValue","some","isEmptyObject","createCustomerDataTracker","checkCustomerDataLimit","bytesCountCache","computeBytesCountThrottled","cancelComputeBytesCount","resetBytesCount","updateCustomerData","resetCustomerData","getBytesCount","stop","getType","isArray","mergeInto","destination","circularReferenceChecker","createCircularReferenceChecker","WeakSet","set_1","hasAlreadyBeenSeen","has","add","Date","getTime","RegExp","flags","ignoreCase","multiline","sticky","unicode","join","merged_1","merged","combine","sources","sources_1","sanitize","maxCharacterCount","containerQueue","visitedObjectsWithPath","WeakMap","sanitizedData","sanitizeProcessor","accumulatedCharacterCount","warnOverCharacterLimit","containerToProcess","shift","separatorLength","targetData","path","parentPath","queue","sourceToSanitize","tryToApplyToJSON","toString","description","sanitizedSource","sanitizeObjects","Event","isTrusted","match","result","currentPath","set","changeType","Observable","onFirstSubscribe","observers","subscribe","f","_this","onLastUnsubscribe","unsubscribe","filter","other","notify","data","observer","mergeObservables","observables","globalObservable","subscriptions","observable","subscription","createContextManager","customerDataTracker","changeObservable","contextManager","getContext","setContext","newContext","clearContext","setContextProperty","property","removeContextProperty","TrackingConsent","GRANTED","NOT_GRANTED","addEventListeners","configuration","eventTarget","eventNames","listener","_b","once","capture","passive","listenerWithMonitor","event","__ddIsTrusted","allowUntrustedEvents","remove","eventName","storageListeners","storeContextManager","productKey","customerDataType","storageKey","getFromStorage","rawContext","localStorage","getItem","parse","STORAGE","setItem","sanitizeUser","newUser","user","String","displayAlreadyInitializedError","sdkName","initConfiguration","silentMultipleInit","computeStackTrace","ex","stack","stackProperty","tryToGetString","exString","split","line","stackFrame","parseChromeLine","parts","CHROME_LINE_RE","exec","isNative","isEval","submatch","CHROME_EVAL_RE","column","func","url","parseChromeAnonymousLine","CHROME_ANONYMOUS_FUNCTION_RE","parseWinLine","WINJS_LINE_RE","parseGeckoLine","GECKO_LINE_RE","GECKO_EVAL_RE","message","fileUrl","filePosition","ERROR_TYPES_RE","NO_ERROR_STACK_PRESENT_MESSAGE","computeRawError","stackTrace","originalError","handlingStack","startClocks","nonErrorPrefix","handling","isErrorInstance","Error","hasUsableStack","toStackTraceString","causes","flattenErrorCauses","type","fingerprint","tryToGetFingerprint","dd_fingerprint","formatErrorMessage","frame","parentSource","currentError","cause","ErrorSource","AGENT","CONSOLE","LOGGER","NETWORK","SOURCE","REPORT","dateNow","relativeNow","performance","now","clocksNow","relative","timeStamp","getNavigationStart","timing","__decorate","decorators","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","StatusType","HandlerType","http","STATUSES","Logger","handleLogStrategy","handlerType","level","loggerContext","messageContext","status","errorContext","rawError","kind","sanitizedMessageContext","setHandler","handler","getHandler","setLevel","getLevel","removeItem","index","splice","BoundedBuffer","buffer","drain","arg","getEventBridge","eventBridgeGlobal","DatadogEventBridge","getCapabilities","getPrivacyLevel","getAllowedWebViewHosts","send","eventType","viewId","view","id","canUseEventBridge","currentHost","location","hostname","bridge","allowedHost","enabledExperimentalFeatures","performDraw","threshold","Math","random","isPercentage","numberUtils_isNumber","generateUUID","placeholder","parseInt","replace","COMMA_SEPARATED_KEY_VALUE","setCookie","expireDelay","date","setTime","expires","toUTCString","sameSite","crossSite","domain","secure","partitioned","document","cookie","getCookie","findCommaSeparatedValue","rawString","lastIndex","getInitCookie","findCommaSeparatedValues","Map","deleteCookie","SESSION_STORE_KEY","SESSION_ENTRY_REGEXP","expandSessionState","session","expire","toSessionString","objectEntries","toSessionState","sessionString","entry","matches","retrieveSessionCookie","persistInLocalStorage","sessionState","retrieveSessionFromLocalStorage","clearSessionFromLocalStorage","bufferedOperations","processSessionStoreOperations","operations","sessionStoreStrategy","numberOfRetries","currentLock","isLockEnabled","retrieveSession","persistSession","clearSession","next","currentSession","lock","retryLater","processedSession","process","after","sessionStore","currentNumberOfRetries","nextOperations","normalizeUrl","buildUrl","base","supportedURL","getSupportedUrl","originalURL","href","doc","anchorElement","createElement","baseElement","implementation","createHTMLDocument","head","appendChild","body","URL","INTAKE_SITE_US1","createEndpointBuilder","trackType","configurationTags","buildUrlWithParameters","createEndpointUrlWithParametersBuilder","proxy","normalizedProxyUrl_1","encodeURIComponent","host","buildEndpointHost","site","internalAnalyticsSubdomain","domainParts","extension","pop","build","api","payload","featureName","clientToken","retry","flushReason","encoding","tags","COLLECT_FLUSH_REASON","count","lastFailureStatus","reverse","urlPrefix","FORBIDDEN_CHARACTERS","buildTag","rawValue","valueSizeLimit","TAG_SIZE_LIMIT","sanitizedValue","RawReportType","intervention","deprecation","cspViolation","buildStack","sourceFile","lineNumber","columnNumber","validateAndBuildForwardOption","option","allowedValues","label","every","LOGS_STORAGE_KEY","sendToExtension","__ddBrowserSdkExtensionCallback","PageExitReason","HIDDEN","UNLOADING","PAGEHIDE","FROZEN","willSyntheticsInjectRum","Boolean","_DATADOG_SYNTHETICS_INJECTS_RUM","END_OF_TIMES","Infinity","ValueHistory","maxEntries","entries","clearOldValuesInterval","clearOldValues","startTime","endTime","close","unshift","find","closeActive","latestEntry","findAll","duration","a","reset","oldTimeThreshold","stopCallbacks","computeTrackingType","sessionSampleRate","TelemetryType","ALLOWED_FRAME_URLS","TELEMETRY_EXCLUDED_SITES","telemetryConfiguration","maxEventsPerPage","sentEventCount","telemetryEnabled","telemetryConfigurationEnabled","addTelemetryDebug","addTelemetry","addTelemetryError","formatError","allowedFrameUrl","logsSentBeforeRumInjectionTelemetryAdded","getRUMInternalContext","getInternalContextFromRumGlobal","DD_RUM_SYNTHETICS","testId","_DATADOG_SYNTHETICS_PUBLIC_ID","resultId","_DATADOG_SYNTHETICS_RESULT_ID","DD_RUM","rumGlobal","getInternalContext","consoleObservablesByApi","LogStatusForApi","LogStatusForReport","instrumentMethod","targetPrototype","method","onPreCall","instrumentation","postCallCallback","onPostCall","instrumentationWrapper","xhrContexts","openXhr","xhr","state","toUpperCase","abortXhr","isAborted","truncateResponseText","responseText","requestErrorResponseLengthLimit","substring","AbstractLifeCycle","callbacks","eventCallbacks","STATUS_PRIORITIES","isAuthorized","logger","loggerHandler","sanitizedHandlerType","Batch","encoder","request","flushController","messageBytesLimit","upsertBuffer","flushSubscription","flushObservable","flush","addOrUpdate","upsert","reason","upsertMessages","isPageExit","sendOnExit","isAsync","encoderResult","finishSync","outputBytesCount","formatPayloadFromEncoder","pendingMessages","pendingData","bytesCount","write","isEmpty","finish","serializedMessage","estimatedMessageBytesCount","estimateEncodedBytesCount","hasMessageFor","notifyBeforeAddMessage","notifyAfterAddMessage","realMessageBytesCount","removedMessage","messageBytesCount","notifyAfterRemoveMessage","flushEvent","output","sendWithRetryStrategy","sendStrategy","reportError","transportStatus","queuedPayloads","bandwidthMonitor","canHandle","onSuccess","retryQueuedPayloads","onFailure","enqueue","scheduleRetry","first","dequeue","currentBackoffTime","min","response","navigator","onLine","ongoingRequestCount","isFull","queueFullReported","MAX_QUEUE_BYTES_COUNT","previousQueue","newPayloadQueue","hasReportedBeaconError","sendXHR","onResponse","XMLHttpRequest","open","setRequestHeader","startBatchWithReplica","primary","replica","pageExitObservable","sessionExpireObservable","primaryBatch","createBatch","replicaBatch","bytesLimit","retryState","sendStrategyForRetry","endpoint","batchBytesLimit","ongoingByteCount","isKeepAliveSupported","Request","fetch","endpointBuilder","keepalive","mode","then","sendBeaconStrategy","sendBeacon","beaconUrl","createFlushController","durationLimitTimeoutId","messagesLimit","durationLimit","pageExitSubscription","sessionExpireSubscription","currentBytesCount","currentMessagesCount","messagesCount","cancelDurationLimitTimeout","messageBytesCountDiff","batchMessagesLimit","flushTimeout","replicated","transformMessage","createIdentityEncoder","additionalEncodedBytesCount","rawBytesCount","datadogLogs","makeLogsPublicApi","startLogsImpl","currentConsent","publicApi","customerDataTrackerManager","createCustomerDataTrackerManager","compressionStatus","customerDataTrackers","alreadyWarned","initialBytesCount","bytesCountLimit","tracker","createDetachedTracker","getOrCreateTracker","setCompressionStatus","newCompressionStatus","getCompressionStatus","clear","globalContextManager","userContextManager","trackingConsentState","tryToInit","trackingConsent","update","isGranted","getCommonContext","referrer","strategy","createPreStartStrategy","doStartLogs","cachedInitConfiguration","cachedConfiguration","bufferApiCalls","trackingConsentStateSubscription","tryStartLogs","startLogsResult","init","validateAndBuildLogsConfiguration","baseConfiguration","validateAndBuildConfiguration","_c","_d","env","service","version","datacenter","endpointBuilders","intakeUrlPrefixes","cookieOptions","sessionStoreStrategyType","telemetrySampleRate","telemetryConfigurationSampleRate","enableExperimentalFeatures","addExperimentalFeatures","enabledFeatures","flag","beforeSend","areCookiesAuthorized","testCookieName","testCookieValue","isCookieCorrectlySet","useSecureSessionCookie","usePartitionedCrossSiteSessionCookie","useCrossSiteSessionCookie","trackSessionAcrossSubdomains","getCurrentSite","domainLevels","candidateDomain","allowFallbackToLocalStorage","selectLocalStorageStrategy","testKey","retrievedId","eventRateLimiterThreshold","maxTelemetryEventsPerPage","logsEndpointBuilder","rumEndpointBuilder","sessionReplayEndpointBuilder","builder","isIntakeUrl","intakeEndpoint","computeReplicaConfiguration","replicaConfiguration","replicaEndpointBuilders","applicationId","forwardConsoleLogs","forwardReports","forwardErrorsToLogs","handleLog","statusType","storeContextsAcrossPages","customLoggers","onReady","params","setTrackingConsent","getGlobalContext","setGlobalContext","setGlobalContextProperty","removeGlobalContextProperty","clearGlobalContext","createLogger","conf","getLogger","getInitConfiguration","setUser","isValid","getUser","setUserProperty","sanitizedProperty","removeUserProperty","clearUser","enumerable","lifeCycle","cleanupTasks","rawLogsEvent","origin","pagehideEnabled","stopListeners","VISIBILITY_CHANGE","FREEZE","PAGE_HIDE","visibilityState","stopBeforeUnloadListener","addEventListener","BEFORE_UNLOAD","isTracked","findTrackedSession","expireObservable","sessionManager","findActiveSession","trackingType","startSessionManager","computeSessionState","expandSession","expandSessionWhenVisible","visibilityCheckInterval","expandOrRenewSession","renewObservable","startSessionStore","userAgent","cookieStore","tryOldCookiesMigration","cookieStoreStrategy","oldSessionId","oldRumType","oldLogsType","detectBrowserCached","chrome","vendor","documentMode","watchSessionTimeoutId","synchronizeSession","sessionCache","synchronizedSession","created","hasSessionInCache","throttledExpandOrRenewSession","cancelExpandOrRenewSession","isActiveSession","Number","getSession","sessionContextHistory","buildSessionContext","clocksOrigin","CLICK","TOUCH_START","KEY_DOWN","SCROLL","rawTrackingType","hasValidLoggerSession","stopLogsTelemetry","startLogsTelemetry","telemetryService","contextProvider","runtimeEnvInfo","baseSerializedInitConfiguration","telemetry","is_local_file","protocol","is_worker","rawEvent","event_1","_dd","format_version","runtime_env","connectivity","interfaces","connection","effective_type","effectiveType","experimental_features","setContextProvider","provider","enabled","_e","_f","application","application_id","action","user_action","bridge_1","telemetrySubscription_1","telemetryBatch_1","telemetrySubscription_2","session_sample_rate","telemetry_sample_rate","telemetry_configuration_sample_rate","use_before_send","use_cross_site_session_cookie","use_partitioned_cross_site_session_cookie","use_secure_session_cookie","use_proxy","silent_multiple_init","track_session_across_subdomains","allow_fallback_to_local_storage","store_contexts_across_pages","allow_untrusted_events","forward_errors_to_logs","forward_console_logs","forward_reports","task","startNetworkErrorCollection","handleResponse","clonedResponse","stream","onResponseDataAvailable","responseData","status_code","isRejected","responseType","tryToClone","clone","TextDecoder","readBytesFromStream","reader","getReader","chunks","readBytesCount","onDone","catch","collectStreamBody","completeBuffer_1","Uint8Array","bytes","limitExceeded","offset_1","chunk","readMore","read","done","decode","text","initXhrObservable","stopInstrumentingStart","stopInstrumentingSend","sendXhr","startContext","hasBeenReported","stopInstrumentingOnReadyStateChange","readyState","DONE","onEnd","start","unsubscribeLoadEndListener","completeContext","end","stopInstrumentingAbort","initFetchObservable","input","methodFromParams","responsePromise","afterSend","reportFetch","DOMException","code","ABORT_ERR","startRuntimeErrorCollection","handleRuntimeError","stopInstrumentingOnError","stopInstrumentingOnUnhandledRejection","rawErrorObservable","trackRuntimeError","instrumentOnError","errorObservable","messageObj","errorObj","instrumentUnhandledRejection","startConsoleCollection","consoleObservables","initConsoleObservable","apis","originalConsoleApi","createHandlingStack","formattedStack","buildConsoleLog","param","firstErrorParam","predicate","initReportObservable","SECURITY_POLICY_VIOLATION","lastChar","correctedLength","blockedURI","effectiveDirective","subtype","originalPolicy","isLastCharSurrogatePair","charCodeAt","originalReport","reportTypes","ReportingObserver","handleReports","reports","report","types","buffered","observe","disconnect","statusWithCustom","logRateLimiters","limit","eventCount","allowNextEvent","isLimitReached","onLimitReached","savedCommonContext","timestamp","commonContext","session_id","usr","startLogsBridge","serverLogsEvent","batch","stopLogsBatch_1","startLogsBatch","logsMessage","savedDate","displayInConsole","trackedSession","q","jsx_runtime_1","require","react_1","exports","html","height","width","children","dataNtpc","useEffect","mark","detail","feature","jsxs","Fragment","jsx","style","dangerouslySetInnerHTML","__html","mod","currDataLayerName","script_1","__esModule","props","gaId","dataLayerName","default","src","_len","_args","_key","gtmId","auth","preview","dataLayer","gtmLayer","gtmAuth","gtmPreview","useFirstMountState","isFirstMount","react__WEBPACK_IMPORTED_MODULE_0__","useRef","current","IS_LOCAL_STORAGE_AVAILABLE","_util_const_js__WEBPACK_IMPORTED_MODULE_0__","jU","useLocalStorageValue","_useStorageValue__WEBPACK_IMPORTED_MODULE_1__","$","_options","ZT","useIsomorphicLayoutEffect","util_const","react","useLayoutEffect","invokeStorageKeyListeners","s","skipListener","storageEventHandler","evt","storageArea","newValue","addStorageListener","on","obj","listeners","removeStorageListener","delete","off","removeEventListener","DEFAULT_OPTIONS","defaultValue","initializeWithValue","useStorageValue","storage","optionsRef","useSyncedRef","x","str","fallback","parseFunction","defaultParse","stringifyFunction","defaultStringify","storageActions","fetchRaw","store","val","stringified","Z","setState","useState","stateRef","stateActions","setRawVal","useUpdateEffect","effect","deps","actions","prevState","nextState","storeVal","staticActions","useMemo","v","ref","freeze","noop","isBrowser","t","assign","n","o","ctx","emit","TinyEmitter","u","createContext","getValue","hasFeature","getTrait","FlagsmithContext","FlagsmithProvider","flagsmith","serverState","_trigger","_triggerLoadingState","initialised","onChange","Provider","useFlags","useContext","g","h","useCallback","useFlagsmith","useFlagsmithLoading","loadingState","__webpack_require__","locale","setTheme","themes","y","forcedTheme","disableTransitionOnChange","enableSystem","enableColorScheme","m","defaultTheme","attribute","w","nonce","T","E","k","S","C","L","values","I","p","b","documentElement","classList","setAttribute","removeAttribute","includes","colorScheme","O","M","matchMedia","addListener","removeListener","A","theme","resolvedTheme","systemTheme","attrs","memo","createTextNode","getComputedStyle","setTimeout","removeChild","module"],"sourceRoot":""}