/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ (self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["main-app"],{ /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js": /*!******************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js ***! \******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ DEBUG_BUILD: () => (/* binding */ DEBUG_BUILD)\n/* harmony export */ });\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = ( false || false);\n\n\n//# sourceMappingURL=debug-build.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2RlYnVnLWJ1aWxkLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLE1BQXVDLElBQUksS0FBZ0I7O0FBRXpEO0FBQ3ZCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9kZWJ1Zy1idWlsZC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoaXMgc2VydmVzIGFzIGEgYnVpbGQgdGltZSBmbGFnIHRoYXQgd2lsbCBiZSB0cnVlIGJ5IGRlZmF1bHQsIGJ1dCBmYWxzZSBpbiBub24tZGVidWcgYnVpbGRzIG9yIGlmIHVzZXJzIHJlcGxhY2UgYF9fU0VOVFJZX0RFQlVHX19gIGluIHRoZWlyIGdlbmVyYXRlZCBjb2RlLlxuICpcbiAqIEFUVEVOVElPTjogVGhpcyBjb25zdGFudCBtdXN0IG5ldmVyIGNyb3NzIHBhY2thZ2UgYm91bmRhcmllcyAoaS5lLiBiZSBleHBvcnRlZCkgdG8gZ3VhcmFudGVlIHRoYXQgaXQgY2FuIGJlIHVzZWQgZm9yIHRyZWUgc2hha2luZy5cbiAqL1xuY29uc3QgREVCVUdfQlVJTEQgPSAodHlwZW9mIF9fU0VOVFJZX0RFQlVHX18gPT09ICd1bmRlZmluZWQnIHx8IF9fU0VOVFJZX0RFQlVHX18pO1xuXG5leHBvcnQgeyBERUJVR19CVUlMRCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGVidWctYnVpbGQuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/getNativeImplementation.js": /*!******************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/getNativeImplementation.js ***! \******************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ clearCachedImplementation: () => (/* binding */ clearCachedImplementation),\n/* harmony export */ fetch: () => (/* binding */ fetch),\n/* harmony export */ getNativeImplementation: () => (/* binding */ getNativeImplementation),\n/* harmony export */ setTimeout: () => (/* binding */ setTimeout)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/supports.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/debug-logger.js\");\n/* harmony import */ var _debug_build_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./debug-build.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n\n\n/**\n * We generally want to use window.fetch / window.setTimeout.\n * However, in some cases this may be wrapped (e.g. by Zone.js for Angular),\n * so we try to get an unpatched version of this from a sandboxed iframe.\n */\n\nconst cachedImplementations = {};\n\n/**\n * Get the native implementation of a browser function.\n *\n * This can be used to ensure we get an unwrapped version of a function, in cases where a wrapped function can lead to problems.\n *\n * The following methods can be retrieved:\n * - `setTimeout`: This can be wrapped by e.g. Angular, causing change detection to be triggered.\n * - `fetch`: This can be wrapped by e.g. ad-blockers, causing an infinite loop when a request is blocked.\n */\nfunction getNativeImplementation(\n name,\n) {\n const cached = cachedImplementations[name];\n if (cached) {\n return cached;\n }\n\n let impl = _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW[name] ;\n\n // Fast path to avoid DOM I/O\n if ((0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.isNativeFunction)(impl)) {\n return (cachedImplementations[name] = impl.bind(_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW) );\n }\n\n const document = _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document;\n // eslint-disable-next-line deprecation/deprecation\n if (document && typeof document.createElement === 'function') {\n try {\n const sandbox = document.createElement('iframe');\n sandbox.hidden = true;\n document.head.appendChild(sandbox);\n const contentWindow = sandbox.contentWindow;\n if (contentWindow?.[name]) {\n impl = contentWindow[name] ;\n }\n document.head.removeChild(sandbox);\n } catch (e) {\n // Could not create sandbox iframe, just use window.xxx\n _debug_build_js__WEBPACK_IMPORTED_MODULE_2__.DEBUG_BUILD && _sentry_core__WEBPACK_IMPORTED_MODULE_3__.debug.warn(`Could not create sandbox iframe for ${name} check, bailing to window.${name}: `, e);\n }\n }\n\n // Sanity check: This _should_ not happen, but if it does, we just skip caching...\n // This can happen e.g. in tests where fetch may not be available in the env, or similar.\n if (!impl) {\n return impl;\n }\n\n return (cachedImplementations[name] = impl.bind(_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW) );\n}\n\n/** Clear a cached implementation. */\nfunction clearCachedImplementation(name) {\n cachedImplementations[name] = undefined;\n}\n\n/**\n * A special usecase for incorrectly wrapped Fetch APIs in conjunction with ad-blockers.\n * Whenever someone wraps the Fetch API and returns the wrong promise chain,\n * this chain becomes orphaned and there is no possible way to capture it's rejections\n * other than allowing it bubble up to this very handler. eg.\n *\n * const f = window.fetch;\n * window.fetch = function () {\n * const p = f.apply(this, arguments);\n *\n * p.then(function() {\n * console.log('hi.');\n * });\n *\n * return p;\n * }\n *\n * `p.then(function () { ... })` is producing a completely separate promise chain,\n * however, what's returned is `p` - the result of original `fetch` call.\n *\n * This mean, that whenever we use the Fetch API to send our own requests, _and_\n * some ad-blocker blocks it, this orphaned chain will _always_ reject,\n * effectively causing another event to be captured.\n * This makes a whole process become an infinite loop, which we need to somehow\n * deal with, and break it in one way or another.\n *\n * To deal with this issue, we are making sure that we _always_ use the real\n * browser Fetch API, instead of relying on what `window.fetch` exposes.\n * The only downside to this would be missing our own requests as breadcrumbs,\n * but because we are already not doing this, it should be just fine.\n *\n * Possible failed fetch error messages per-browser:\n *\n * Chrome: Failed to fetch\n * Edge: Failed to Fetch\n * Firefox: NetworkError when attempting to fetch resource\n * Safari: resource blocked by content blocker\n */\nfunction fetch(...rest) {\n return getNativeImplementation('fetch')(...rest);\n}\n\n/**\n * Get an unwrapped `setTimeout` method.\n * This ensures that even if e.g. Angular wraps `setTimeout`, we get the native implementation,\n * avoiding triggering change detection.\n */\nfunction setTimeout(...rest) {\n return getNativeImplementation('setTimeout')(...rest);\n}\n\n\n//# sourceMappingURL=getNativeImplementation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2dldE5hdGl2ZUltcGxlbWVudGF0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQXVEO0FBQ1I7QUFDWDs7QUFFcEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxhQUFhLDZDQUFNOztBQUVuQjtBQUNBLE1BQU0sOERBQWdCO0FBQ3RCLG9EQUFvRCw2Q0FBTTtBQUMxRDs7QUFFQSxtQkFBbUIsNkNBQU07QUFDekI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBLE1BQU0sd0RBQVcsSUFBSSwrQ0FBSyw2Q0FBNkMsTUFBTSwyQkFBMkIsS0FBSztBQUM3RztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsa0RBQWtELDZDQUFNO0FBQ3hEOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixLQUFLO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFaUY7QUFDakYiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2dldE5hdGl2ZUltcGxlbWVudGF0aW9uLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzTmF0aXZlRnVuY3Rpb24sIGRlYnVnIH0gZnJvbSAnQHNlbnRyeS9jb3JlJztcbmltcG9ydCB7IERFQlVHX0JVSUxEIH0gZnJvbSAnLi9kZWJ1Zy1idWlsZC5qcyc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLyoqXG4gKiBXZSBnZW5lcmFsbHkgd2FudCB0byB1c2Ugd2luZG93LmZldGNoIC8gd2luZG93LnNldFRpbWVvdXQuXG4gKiBIb3dldmVyLCBpbiBzb21lIGNhc2VzIHRoaXMgbWF5IGJlIHdyYXBwZWQgKGUuZy4gYnkgWm9uZS5qcyBmb3IgQW5ndWxhciksXG4gKiBzbyB3ZSB0cnkgdG8gZ2V0IGFuIHVucGF0Y2hlZCB2ZXJzaW9uIG9mIHRoaXMgZnJvbSBhIHNhbmRib3hlZCBpZnJhbWUuXG4gKi9cblxuY29uc3QgY2FjaGVkSW1wbGVtZW50YXRpb25zID0ge307XG5cbi8qKlxuICogR2V0IHRoZSBuYXRpdmUgaW1wbGVtZW50YXRpb24gb2YgYSBicm93c2VyIGZ1bmN0aW9uLlxuICpcbiAqIFRoaXMgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIHdlIGdldCBhbiB1bndyYXBwZWQgdmVyc2lvbiBvZiBhIGZ1bmN0aW9uLCBpbiBjYXNlcyB3aGVyZSBhIHdyYXBwZWQgZnVuY3Rpb24gY2FuIGxlYWQgdG8gcHJvYmxlbXMuXG4gKlxuICogVGhlIGZvbGxvd2luZyBtZXRob2RzIGNhbiBiZSByZXRyaWV2ZWQ6XG4gKiAtIGBzZXRUaW1lb3V0YDogVGhpcyBjYW4gYmUgd3JhcHBlZCBieSBlLmcuIEFuZ3VsYXIsIGNhdXNpbmcgY2hhbmdlIGRldGVjdGlvbiB0byBiZSB0cmlnZ2VyZWQuXG4gKiAtIGBmZXRjaGA6IFRoaXMgY2FuIGJlIHdyYXBwZWQgYnkgZS5nLiBhZC1ibG9ja2VycywgY2F1c2luZyBhbiBpbmZpbml0ZSBsb29wIHdoZW4gYSByZXF1ZXN0IGlzIGJsb2NrZWQuXG4gKi9cbmZ1bmN0aW9uIGdldE5hdGl2ZUltcGxlbWVudGF0aW9uKFxuICBuYW1lLFxuKSB7XG4gIGNvbnN0IGNhY2hlZCA9IGNhY2hlZEltcGxlbWVudGF0aW9uc1tuYW1lXTtcbiAgaWYgKGNhY2hlZCkge1xuICAgIHJldHVybiBjYWNoZWQ7XG4gIH1cblxuICBsZXQgaW1wbCA9IFdJTkRPV1tuYW1lXSA7XG5cbiAgLy8gRmFzdCBwYXRoIHRvIGF2b2lkIERPTSBJL09cbiAgaWYgKGlzTmF0aXZlRnVuY3Rpb24oaW1wbCkpIHtcbiAgICByZXR1cm4gKGNhY2hlZEltcGxlbWVudGF0aW9uc1tuYW1lXSA9IGltcGwuYmluZChXSU5ET1cpICk7XG4gIH1cblxuICBjb25zdCBkb2N1bWVudCA9IFdJTkRPVy5kb2N1bWVudDtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlcHJlY2F0aW9uL2RlcHJlY2F0aW9uXG4gIGlmIChkb2N1bWVudCAmJiB0eXBlb2YgZG9jdW1lbnQuY3JlYXRlRWxlbWVudCA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBzYW5kYm94ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaWZyYW1lJyk7XG4gICAgICBzYW5kYm94LmhpZGRlbiA9IHRydWU7XG4gICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHNhbmRib3gpO1xuICAgICAgY29uc3QgY29udGVudFdpbmRvdyA9IHNhbmRib3guY29udGVudFdpbmRvdztcbiAgICAgIGlmIChjb250ZW50V2luZG93Py5bbmFtZV0pIHtcbiAgICAgICAgaW1wbCA9IGNvbnRlbnRXaW5kb3dbbmFtZV0gO1xuICAgICAgfVxuICAgICAgZG9jdW1lbnQuaGVhZC5yZW1vdmVDaGlsZChzYW5kYm94KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBDb3VsZCBub3QgY3JlYXRlIHNhbmRib3ggaWZyYW1lLCBqdXN0IHVzZSB3aW5kb3cueHh4XG4gICAgICBERUJVR19CVUlMRCAmJiBkZWJ1Zy53YXJuKGBDb3VsZCBub3QgY3JlYXRlIHNhbmRib3ggaWZyYW1lIGZvciAke25hbWV9IGNoZWNrLCBiYWlsaW5nIHRvIHdpbmRvdy4ke25hbWV9OiBgLCBlKTtcbiAgICB9XG4gIH1cblxuICAvLyBTYW5pdHkgY2hlY2s6IFRoaXMgX3Nob3VsZF8gbm90IGhhcHBlbiwgYnV0IGlmIGl0IGRvZXMsIHdlIGp1c3Qgc2tpcCBjYWNoaW5nLi4uXG4gIC8vIFRoaXMgY2FuIGhhcHBlbiBlLmcuIGluIHRlc3RzIHdoZXJlIGZldGNoIG1heSBub3QgYmUgYXZhaWxhYmxlIGluIHRoZSBlbnYsIG9yIHNpbWlsYXIuXG4gIGlmICghaW1wbCkge1xuICAgIHJldHVybiBpbXBsO1xuICB9XG5cbiAgcmV0dXJuIChjYWNoZWRJbXBsZW1lbnRhdGlvbnNbbmFtZV0gPSBpbXBsLmJpbmQoV0lORE9XKSApO1xufVxuXG4vKiogQ2xlYXIgYSBjYWNoZWQgaW1wbGVtZW50YXRpb24uICovXG5mdW5jdGlvbiBjbGVhckNhY2hlZEltcGxlbWVudGF0aW9uKG5hbWUpIHtcbiAgY2FjaGVkSW1wbGVtZW50YXRpb25zW25hbWVdID0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEEgc3BlY2lhbCB1c2VjYXNlIGZvciBpbmNvcnJlY3RseSB3cmFwcGVkIEZldGNoIEFQSXMgaW4gY29uanVuY3Rpb24gd2l0aCBhZC1ibG9ja2Vycy5cbiAqIFdoZW5ldmVyIHNvbWVvbmUgd3JhcHMgdGhlIEZldGNoIEFQSSBhbmQgcmV0dXJucyB0aGUgd3JvbmcgcHJvbWlzZSBjaGFpbixcbiAqIHRoaXMgY2hhaW4gYmVjb21lcyBvcnBoYW5lZCBhbmQgdGhlcmUgaXMgbm8gcG9zc2libGUgd2F5IHRvIGNhcHR1cmUgaXQncyByZWplY3Rpb25zXG4gKiBvdGhlciB0aGFuIGFsbG93aW5nIGl0IGJ1YmJsZSB1cCB0byB0aGlzIHZlcnkgaGFuZGxlci4gZWcuXG4gKlxuICogY29uc3QgZiA9IHdpbmRvdy5mZXRjaDtcbiAqIHdpbmRvdy5mZXRjaCA9IGZ1bmN0aW9uICgpIHtcbiAqICAgY29uc3QgcCA9IGYuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAqXG4gKiAgIHAudGhlbihmdW5jdGlvbigpIHtcbiAqICAgICBjb25zb2xlLmxvZygnaGkuJyk7XG4gKiAgIH0pO1xuICpcbiAqICAgcmV0dXJuIHA7XG4gKiB9XG4gKlxuICogYHAudGhlbihmdW5jdGlvbiAoKSB7IC4uLiB9KWAgaXMgcHJvZHVjaW5nIGEgY29tcGxldGVseSBzZXBhcmF0ZSBwcm9taXNlIGNoYWluLFxuICogaG93ZXZlciwgd2hhdCdzIHJldHVybmVkIGlzIGBwYCAtIHRoZSByZXN1bHQgb2Ygb3JpZ2luYWwgYGZldGNoYCBjYWxsLlxuICpcbiAqIFRoaXMgbWVhbiwgdGhhdCB3aGVuZXZlciB3ZSB1c2UgdGhlIEZldGNoIEFQSSB0byBzZW5kIG91ciBvd24gcmVxdWVzdHMsIF9hbmRfXG4gKiBzb21lIGFkLWJsb2NrZXIgYmxvY2tzIGl0LCB0aGlzIG9ycGhhbmVkIGNoYWluIHdpbGwgX2Fsd2F5c18gcmVqZWN0LFxuICogZWZmZWN0aXZlbHkgY2F1c2luZyBhbm90aGVyIGV2ZW50IHRvIGJlIGNhcHR1cmVkLlxuICogVGhpcyBtYWtlcyBhIHdob2xlIHByb2Nlc3MgYmVjb21lIGFuIGluZmluaXRlIGxvb3AsIHdoaWNoIHdlIG5lZWQgdG8gc29tZWhvd1xuICogZGVhbCB3aXRoLCBhbmQgYnJlYWsgaXQgaW4gb25lIHdheSBvciBhbm90aGVyLlxuICpcbiAqIFRvIGRlYWwgd2l0aCB0aGlzIGlzc3VlLCB3ZSBhcmUgbWFraW5nIHN1cmUgdGhhdCB3ZSBfYWx3YXlzXyB1c2UgdGhlIHJlYWxcbiAqIGJyb3dzZXIgRmV0Y2ggQVBJLCBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gd2hhdCBgd2luZG93LmZldGNoYCBleHBvc2VzLlxuICogVGhlIG9ubHkgZG93bnNpZGUgdG8gdGhpcyB3b3VsZCBiZSBtaXNzaW5nIG91ciBvd24gcmVxdWVzdHMgYXMgYnJlYWRjcnVtYnMsXG4gKiBidXQgYmVjYXVzZSB3ZSBhcmUgYWxyZWFkeSBub3QgZG9pbmcgdGhpcywgaXQgc2hvdWxkIGJlIGp1c3QgZmluZS5cbiAqXG4gKiBQb3NzaWJsZSBmYWlsZWQgZmV0Y2ggZXJyb3IgbWVzc2FnZXMgcGVyLWJyb3dzZXI6XG4gKlxuICogQ2hyb21lOiAgRmFpbGVkIHRvIGZldGNoXG4gKiBFZGdlOiAgICBGYWlsZWQgdG8gRmV0Y2hcbiAqIEZpcmVmb3g6IE5ldHdvcmtFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gZmV0Y2ggcmVzb3VyY2VcbiAqIFNhZmFyaTogIHJlc291cmNlIGJsb2NrZWQgYnkgY29udGVudCBibG9ja2VyXG4gKi9cbmZ1bmN0aW9uIGZldGNoKC4uLnJlc3QpIHtcbiAgcmV0dXJuIGdldE5hdGl2ZUltcGxlbWVudGF0aW9uKCdmZXRjaCcpKC4uLnJlc3QpO1xufVxuXG4vKipcbiAqIEdldCBhbiB1bndyYXBwZWQgYHNldFRpbWVvdXRgIG1ldGhvZC5cbiAqIFRoaXMgZW5zdXJlcyB0aGF0IGV2ZW4gaWYgZS5nLiBBbmd1bGFyIHdyYXBzIGBzZXRUaW1lb3V0YCwgd2UgZ2V0IHRoZSBuYXRpdmUgaW1wbGVtZW50YXRpb24sXG4gKiBhdm9pZGluZyB0cmlnZ2VyaW5nIGNoYW5nZSBkZXRlY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHNldFRpbWVvdXQoLi4ucmVzdCkge1xuICByZXR1cm4gZ2V0TmF0aXZlSW1wbGVtZW50YXRpb24oJ3NldFRpbWVvdXQnKSguLi5yZXN0KTtcbn1cblxuZXhwb3J0IHsgY2xlYXJDYWNoZWRJbXBsZW1lbnRhdGlvbiwgZmV0Y2gsIGdldE5hdGl2ZUltcGxlbWVudGF0aW9uLCBzZXRUaW1lb3V0IH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXROYXRpdmVJbXBsZW1lbnRhdGlvbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/getNativeImplementation.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/dom.js": /*!*********************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/instrument/dom.js ***! \*********************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addClickKeypressInstrumentationHandler: () => (/* binding */ addClickKeypressInstrumentationHandler),\n/* harmony export */ instrumentDOM: () => (/* binding */ instrumentDOM)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/instrument/handlers.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/object.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/misc.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n\nconst DEBOUNCE_DURATION = 1000;\n\nlet debounceTimerID;\nlet lastCapturedEventType;\nlet lastCapturedEventTargetId;\n\n/**\n * Add an instrumentation handler for when a click or a keypress happens.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addClickKeypressInstrumentationHandler(handler) {\n const type = 'dom';\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.addHandler)(type, handler);\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.maybeInstrument)(type, instrumentDOM);\n}\n\n/** Exported for tests only. */\nfunction instrumentDOM() {\n if (!_types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.document) {\n return;\n }\n\n // Make it so that any click or keypress that is unhandled / bubbled up all the way to the document triggers our dom\n // handlers. (Normally we have only one, which captures a breadcrumb for each click or keypress.) Do this before\n // we instrument `addEventListener` so that we don't end up attaching this handler twice.\n const triggerDOMHandler = _sentry_core__WEBPACK_IMPORTED_MODULE_0__.triggerHandlers.bind(null, 'dom');\n const globalDOMEventHandler = makeDOMEventHandler(triggerDOMHandler, true);\n _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.document.addEventListener('click', globalDOMEventHandler, false);\n _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.document.addEventListener('keypress', globalDOMEventHandler, false);\n\n // After hooking into click and keypress events bubbled up to `document`, we also hook into user-handled\n // clicks & keypresses, by adding an event listener of our own to any element to which they add a listener. That\n // way, whenever one of their handlers is triggered, ours will be, too. (This is needed because their handler\n // could potentially prevent the event from bubbling up to our global listeners. This way, our handler are still\n // guaranteed to fire at least once.)\n ['EventTarget', 'Node'].forEach((target) => {\n const globalObject = _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW ;\n const proto = globalObject[target]?.prototype;\n\n // eslint-disable-next-line no-prototype-builtins\n if (!proto?.hasOwnProperty?.('addEventListener')) {\n return;\n }\n\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.fill)(proto, 'addEventListener', function (originalAddEventListener) {\n return function ( type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n const handlers = (this.__sentry_instrumentation_handlers__ =\n this.__sentry_instrumentation_handlers__ || {});\n const handlerForType = (handlers[type] = handlers[type] || { refCount: 0 });\n\n if (!handlerForType.handler) {\n const handler = makeDOMEventHandler(triggerDOMHandler);\n handlerForType.handler = handler;\n originalAddEventListener.call(this, type, handler, options);\n }\n\n handlerForType.refCount++;\n } catch {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalAddEventListener.call(this, type, listener, options);\n };\n });\n\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.fill)(\n proto,\n 'removeEventListener',\n function (originalRemoveEventListener) {\n return function ( type, listener, options) {\n if (type === 'click' || type == 'keypress') {\n try {\n const handlers = this.__sentry_instrumentation_handlers__ || {};\n const handlerForType = handlers[type];\n\n if (handlerForType) {\n handlerForType.refCount--;\n // If there are no longer any custom handlers of the current type on this element, we can remove ours, too.\n if (handlerForType.refCount <= 0) {\n originalRemoveEventListener.call(this, type, handlerForType.handler, options);\n handlerForType.handler = undefined;\n delete handlers[type]; // eslint-disable-line @typescript-eslint/no-dynamic-delete\n }\n\n // If there are no longer any custom handlers of any type on this element, cleanup everything.\n if (Object.keys(handlers).length === 0) {\n delete this.__sentry_instrumentation_handlers__;\n }\n }\n } catch {\n // Accessing dom properties is always fragile.\n // Also allows us to skip `addEventListeners` calls with no proper `this` context.\n }\n }\n\n return originalRemoveEventListener.call(this, type, listener, options);\n };\n },\n );\n });\n}\n\n/**\n * Check whether the event is similar to the last captured one. For example, two click events on the same button.\n */\nfunction isSimilarToLastCapturedEvent(event) {\n // If both events have different type, then user definitely performed two separate actions. e.g. click + keypress.\n if (event.type !== lastCapturedEventType) {\n return false;\n }\n\n try {\n // If both events have the same type, it's still possible that actions were performed on different targets.\n // e.g. 2 clicks on different buttons.\n if (!event.target || (event.target )._sentryId !== lastCapturedEventTargetId) {\n return false;\n }\n } catch {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n }\n\n // If both events have the same type _and_ same `target` (an element which triggered an event, _not necessarily_\n // to which an event listener was attached), we treat them as the same action, as we want to capture\n // only one breadcrumb. e.g. multiple clicks on the same button, or typing inside a user input box.\n return true;\n}\n\n/**\n * Decide whether an event should be captured.\n * @param event event to be captured\n */\nfunction shouldSkipDOMEvent(eventType, target) {\n // We are only interested in filtering `keypress` events for now.\n if (eventType !== 'keypress') {\n return false;\n }\n\n if (!target?.tagName) {\n return true;\n }\n\n // Only consider keypress events on actual input elements. This will disregard keypresses targeting body\n // e.g.tabbing through elements, hotkeys, etc.\n if (target.tagName === 'INPUT' || target.tagName === 'TEXTAREA' || target.isContentEditable) {\n return false;\n }\n\n return true;\n}\n\n/**\n * Wraps addEventListener to capture UI breadcrumbs\n */\nfunction makeDOMEventHandler(\n handler,\n globalListener = false,\n) {\n return (event) => {\n // It's possible this handler might trigger multiple times for the same\n // event (e.g. event propagation through node ancestors).\n // Ignore if we've already captured that event.\n if (!event || event['_sentryCaptured']) {\n return;\n }\n\n const target = getEventTarget(event);\n\n // We always want to skip _some_ events.\n if (shouldSkipDOMEvent(event.type, target)) {\n return;\n }\n\n // Mark event as \"seen\"\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.addNonEnumerableProperty)(event, '_sentryCaptured', true);\n\n if (target && !target._sentryId) {\n // Add UUID to event target so we can identify if\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.addNonEnumerableProperty)(target, '_sentryId', (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.uuid4)());\n }\n\n const name = event.type === 'keypress' ? 'input' : event.type;\n\n // If there is no last captured event, it means that we can safely capture the new event and store it for future comparisons.\n // If there is a last captured event, see if the new event is different enough to treat it as a unique one.\n // If that's the case, emit the previous event and store locally the newly-captured DOM event.\n if (!isSimilarToLastCapturedEvent(event)) {\n const handlerData = { event, name, global: globalListener };\n handler(handlerData);\n lastCapturedEventType = event.type;\n lastCapturedEventTargetId = target ? target._sentryId : undefined;\n }\n\n // Start a new debounce timer that will prevent us from capturing multiple events that should be grouped together.\n clearTimeout(debounceTimerID);\n debounceTimerID = _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.setTimeout(() => {\n lastCapturedEventTargetId = undefined;\n lastCapturedEventType = undefined;\n }, DEBOUNCE_DURATION);\n };\n}\n\nfunction getEventTarget(event) {\n try {\n return event.target ;\n } catch {\n // just accessing `target` property can throw an exception in some rare circumstances\n // see: https://github.com/getsentry/sentry-javascript/issues/838\n return null;\n }\n}\n\n\n//# sourceMappingURL=dom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2luc3RydW1lbnQvZG9tLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFtSDtBQUM5RTs7QUFFckM7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLHdEQUFVO0FBQ1osRUFBRSw2REFBZTtBQUNqQjs7QUFFQTtBQUNBO0FBQ0EsT0FBTyw2Q0FBTTtBQUNiO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLHlEQUFlO0FBQzNDO0FBQ0EsRUFBRSw2Q0FBTTtBQUNSLEVBQUUsNkNBQU07O0FBRVI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EseUJBQXlCLDZDQUFNO0FBQy9COztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLElBQUksa0RBQUk7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBLDREQUE0RDtBQUM1RCx5RUFBeUUsYUFBYTs7QUFFdEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSzs7QUFFTCxJQUFJLGtEQUFJO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx5Q0FBeUM7QUFDekM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGNBQWM7QUFDZDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxJQUFJLHNFQUF3Qjs7QUFFNUI7QUFDQTtBQUNBLE1BQU0sc0VBQXdCLHNCQUFzQixtREFBSztBQUN6RDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDRCQUE0QjtBQUM1QjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0Esc0JBQXNCLDZDQUFNO0FBQzVCO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFaUU7QUFDakUiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2luc3RydW1lbnQvZG9tLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFkZEhhbmRsZXIsIG1heWJlSW5zdHJ1bWVudCwgdHJpZ2dlckhhbmRsZXJzLCBmaWxsLCBhZGROb25FbnVtZXJhYmxlUHJvcGVydHksIHV1aWQ0IH0gZnJvbSAnQHNlbnRyeS9jb3JlJztcbmltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uL3R5cGVzLmpzJztcblxuY29uc3QgREVCT1VOQ0VfRFVSQVRJT04gPSAxMDAwO1xuXG5sZXQgZGVib3VuY2VUaW1lcklEO1xubGV0IGxhc3RDYXB0dXJlZEV2ZW50VHlwZTtcbmxldCBsYXN0Q2FwdHVyZWRFdmVudFRhcmdldElkO1xuXG4vKipcbiAqIEFkZCBhbiBpbnN0cnVtZW50YXRpb24gaGFuZGxlciBmb3Igd2hlbiBhIGNsaWNrIG9yIGEga2V5cHJlc3MgaGFwcGVucy5cbiAqXG4gKiBVc2UgYXQgeW91ciBvd24gcmlzaywgdGhpcyBtaWdodCBicmVhayB3aXRob3V0IGNoYW5nZWxvZyBub3RpY2UsIG9ubHkgdXNlZCBpbnRlcm5hbGx5LlxuICogQGhpZGRlblxuICovXG5mdW5jdGlvbiBhZGRDbGlja0tleXByZXNzSW5zdHJ1bWVudGF0aW9uSGFuZGxlcihoYW5kbGVyKSB7XG4gIGNvbnN0IHR5cGUgPSAnZG9tJztcbiAgYWRkSGFuZGxlcih0eXBlLCBoYW5kbGVyKTtcbiAgbWF5YmVJbnN0cnVtZW50KHR5cGUsIGluc3RydW1lbnRET00pO1xufVxuXG4vKiogRXhwb3J0ZWQgZm9yIHRlc3RzIG9ubHkuICovXG5mdW5jdGlvbiBpbnN0cnVtZW50RE9NKCkge1xuICBpZiAoIVdJTkRPVy5kb2N1bWVudCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8vIE1ha2UgaXQgc28gdGhhdCBhbnkgY2xpY2sgb3Iga2V5cHJlc3MgdGhhdCBpcyB1bmhhbmRsZWQgLyBidWJibGVkIHVwIGFsbCB0aGUgd2F5IHRvIHRoZSBkb2N1bWVudCB0cmlnZ2VycyBvdXIgZG9tXG4gIC8vIGhhbmRsZXJzLiAoTm9ybWFsbHkgd2UgaGF2ZSBvbmx5IG9uZSwgd2hpY2ggY2FwdHVyZXMgYSBicmVhZGNydW1iIGZvciBlYWNoIGNsaWNrIG9yIGtleXByZXNzLikgRG8gdGhpcyBiZWZvcmVcbiAgLy8gd2UgaW5zdHJ1bWVudCBgYWRkRXZlbnRMaXN0ZW5lcmAgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAgYXR0YWNoaW5nIHRoaXMgaGFuZGxlciB0d2ljZS5cbiAgY29uc3QgdHJpZ2dlckRPTUhhbmRsZXIgPSB0cmlnZ2VySGFuZGxlcnMuYmluZChudWxsLCAnZG9tJyk7XG4gIGNvbnN0IGdsb2JhbERPTUV2ZW50SGFuZGxlciA9IG1ha2VET01FdmVudEhhbmRsZXIodHJpZ2dlckRPTUhhbmRsZXIsIHRydWUpO1xuICBXSU5ET1cuZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBnbG9iYWxET01FdmVudEhhbmRsZXIsIGZhbHNlKTtcbiAgV0lORE9XLmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleXByZXNzJywgZ2xvYmFsRE9NRXZlbnRIYW5kbGVyLCBmYWxzZSk7XG5cbiAgLy8gQWZ0ZXIgaG9va2luZyBpbnRvIGNsaWNrIGFuZCBrZXlwcmVzcyBldmVudHMgYnViYmxlZCB1cCB0byBgZG9jdW1lbnRgLCB3ZSBhbHNvIGhvb2sgaW50byB1c2VyLWhhbmRsZWRcbiAgLy8gY2xpY2tzICYga2V5cHJlc3NlcywgYnkgYWRkaW5nIGFuIGV2ZW50IGxpc3RlbmVyIG9mIG91ciBvd24gdG8gYW55IGVsZW1lbnQgdG8gd2hpY2ggdGhleSBhZGQgYSBsaXN0ZW5lci4gVGhhdFxuICAvLyB3YXksIHdoZW5ldmVyIG9uZSBvZiB0aGVpciBoYW5kbGVycyBpcyB0cmlnZ2VyZWQsIG91cnMgd2lsbCBiZSwgdG9vLiAoVGhpcyBpcyBuZWVkZWQgYmVjYXVzZSB0aGVpciBoYW5kbGVyXG4gIC8vIGNvdWxkIHBvdGVudGlhbGx5IHByZXZlbnQgdGhlIGV2ZW50IGZyb20gYnViYmxpbmcgdXAgdG8gb3VyIGdsb2JhbCBsaXN0ZW5lcnMuIFRoaXMgd2F5LCBvdXIgaGFuZGxlciBhcmUgc3RpbGxcbiAgLy8gZ3VhcmFudGVlZCB0byBmaXJlIGF0IGxlYXN0IG9uY2UuKVxuICBbJ0V2ZW50VGFyZ2V0JywgJ05vZGUnXS5mb3JFYWNoKCh0YXJnZXQpID0+IHtcbiAgICBjb25zdCBnbG9iYWxPYmplY3QgPSBXSU5ET1cgO1xuICAgIGNvbnN0IHByb3RvID0gZ2xvYmFsT2JqZWN0W3RhcmdldF0/LnByb3RvdHlwZTtcblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wcm90b3R5cGUtYnVpbHRpbnNcbiAgICBpZiAoIXByb3RvPy5oYXNPd25Qcm9wZXJ0eT8uKCdhZGRFdmVudExpc3RlbmVyJykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmaWxsKHByb3RvLCAnYWRkRXZlbnRMaXN0ZW5lcicsIGZ1bmN0aW9uIChvcmlnaW5hbEFkZEV2ZW50TGlzdGVuZXIpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoIHR5cGUsIGxpc3RlbmVyLCBvcHRpb25zKSB7XG4gICAgICAgIGlmICh0eXBlID09PSAnY2xpY2snIHx8IHR5cGUgPT0gJ2tleXByZXNzJykge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVycyA9ICh0aGlzLl9fc2VudHJ5X2luc3RydW1lbnRhdGlvbl9oYW5kbGVyc19fID1cbiAgICAgICAgICAgICAgdGhpcy5fX3NlbnRyeV9pbnN0cnVtZW50YXRpb25faGFuZGxlcnNfXyB8fCB7fSk7XG4gICAgICAgICAgICBjb25zdCBoYW5kbGVyRm9yVHlwZSA9IChoYW5kbGVyc1t0eXBlXSA9IGhhbmRsZXJzW3R5cGVdIHx8IHsgcmVmQ291bnQ6IDAgfSk7XG5cbiAgICAgICAgICAgIGlmICghaGFuZGxlckZvclR5cGUuaGFuZGxlcikge1xuICAgICAgICAgICAgICBjb25zdCBoYW5kbGVyID0gbWFrZURPTUV2ZW50SGFuZGxlcih0cmlnZ2VyRE9NSGFuZGxlcik7XG4gICAgICAgICAgICAgIGhhbmRsZXJGb3JUeXBlLmhhbmRsZXIgPSBoYW5kbGVyO1xuICAgICAgICAgICAgICBvcmlnaW5hbEFkZEV2ZW50TGlzdGVuZXIuY2FsbCh0aGlzLCB0eXBlLCBoYW5kbGVyLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaGFuZGxlckZvclR5cGUucmVmQ291bnQrKztcbiAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgIC8vIEFjY2Vzc2luZyBkb20gcHJvcGVydGllcyBpcyBhbHdheXMgZnJhZ2lsZS5cbiAgICAgICAgICAgIC8vIEFsc28gYWxsb3dzIHVzIHRvIHNraXAgYGFkZEV2ZW50TGlzdGVuZXJzYCBjYWxscyB3aXRoIG5vIHByb3BlciBgdGhpc2AgY29udGV4dC5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gb3JpZ2luYWxBZGRFdmVudExpc3RlbmVyLmNhbGwodGhpcywgdHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpO1xuICAgICAgfTtcbiAgICB9KTtcblxuICAgIGZpbGwoXG4gICAgICBwcm90byxcbiAgICAgICdyZW1vdmVFdmVudExpc3RlbmVyJyxcbiAgICAgIGZ1bmN0aW9uIChvcmlnaW5hbFJlbW92ZUV2ZW50TGlzdGVuZXIpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uICggdHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpIHtcbiAgICAgICAgICBpZiAodHlwZSA9PT0gJ2NsaWNrJyB8fCB0eXBlID09ICdrZXlwcmVzcycpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGhhbmRsZXJzID0gdGhpcy5fX3NlbnRyeV9pbnN0cnVtZW50YXRpb25faGFuZGxlcnNfXyB8fCB7fTtcbiAgICAgICAgICAgICAgY29uc3QgaGFuZGxlckZvclR5cGUgPSBoYW5kbGVyc1t0eXBlXTtcblxuICAgICAgICAgICAgICBpZiAoaGFuZGxlckZvclR5cGUpIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVyRm9yVHlwZS5yZWZDb3VudC0tO1xuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGFyZSBubyBsb25nZXIgYW55IGN1c3RvbSBoYW5kbGVycyBvZiB0aGUgY3VycmVudCB0eXBlIG9uIHRoaXMgZWxlbWVudCwgd2UgY2FuIHJlbW92ZSBvdXJzLCB0b28uXG4gICAgICAgICAgICAgICAgaWYgKGhhbmRsZXJGb3JUeXBlLnJlZkNvdW50IDw9IDApIHtcbiAgICAgICAgICAgICAgICAgIG9yaWdpbmFsUmVtb3ZlRXZlbnRMaXN0ZW5lci5jYWxsKHRoaXMsIHR5cGUsIGhhbmRsZXJGb3JUeXBlLmhhbmRsZXIsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgICAgaGFuZGxlckZvclR5cGUuaGFuZGxlciA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSBoYW5kbGVyc1t0eXBlXTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGVcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gbG9uZ2VyIGFueSBjdXN0b20gaGFuZGxlcnMgb2YgYW55IHR5cGUgb24gdGhpcyBlbGVtZW50LCBjbGVhbnVwIGV2ZXJ5dGhpbmcuXG4gICAgICAgICAgICAgICAgaWYgKE9iamVjdC5rZXlzKGhhbmRsZXJzKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLl9fc2VudHJ5X2luc3RydW1lbnRhdGlvbl9oYW5kbGVyc19fO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAgIC8vIEFjY2Vzc2luZyBkb20gcHJvcGVydGllcyBpcyBhbHdheXMgZnJhZ2lsZS5cbiAgICAgICAgICAgICAgLy8gQWxzbyBhbGxvd3MgdXMgdG8gc2tpcCBgYWRkRXZlbnRMaXN0ZW5lcnNgIGNhbGxzIHdpdGggbm8gcHJvcGVyIGB0aGlzYCBjb250ZXh0LlxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlbW92ZUV2ZW50TGlzdGVuZXIuY2FsbCh0aGlzLCB0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICk7XG4gIH0pO1xufVxuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgdGhlIGV2ZW50IGlzIHNpbWlsYXIgdG8gdGhlIGxhc3QgY2FwdHVyZWQgb25lLiBGb3IgZXhhbXBsZSwgdHdvIGNsaWNrIGV2ZW50cyBvbiB0aGUgc2FtZSBidXR0b24uXG4gKi9cbmZ1bmN0aW9uIGlzU2ltaWxhclRvTGFzdENhcHR1cmVkRXZlbnQoZXZlbnQpIHtcbiAgLy8gSWYgYm90aCBldmVudHMgaGF2ZSBkaWZmZXJlbnQgdHlwZSwgdGhlbiB1c2VyIGRlZmluaXRlbHkgcGVyZm9ybWVkIHR3byBzZXBhcmF0ZSBhY3Rpb25zLiBlLmcuIGNsaWNrICsga2V5cHJlc3MuXG4gIGlmIChldmVudC50eXBlICE9PSBsYXN0Q2FwdHVyZWRFdmVudFR5cGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICB0cnkge1xuICAgIC8vIElmIGJvdGggZXZlbnRzIGhhdmUgdGhlIHNhbWUgdHlwZSwgaXQncyBzdGlsbCBwb3NzaWJsZSB0aGF0IGFjdGlvbnMgd2VyZSBwZXJmb3JtZWQgb24gZGlmZmVyZW50IHRhcmdldHMuXG4gICAgLy8gZS5nLiAyIGNsaWNrcyBvbiBkaWZmZXJlbnQgYnV0dG9ucy5cbiAgICBpZiAoIWV2ZW50LnRhcmdldCB8fCAoZXZlbnQudGFyZ2V0ICkuX3NlbnRyeUlkICE9PSBsYXN0Q2FwdHVyZWRFdmVudFRhcmdldElkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICAvLyBqdXN0IGFjY2Vzc2luZyBgdGFyZ2V0YCBwcm9wZXJ0eSBjYW4gdGhyb3cgYW4gZXhjZXB0aW9uIGluIHNvbWUgcmFyZSBjaXJjdW1zdGFuY2VzXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vZ2V0c2VudHJ5L3NlbnRyeS1qYXZhc2NyaXB0L2lzc3Vlcy84MzhcbiAgfVxuXG4gIC8vIElmIGJvdGggZXZlbnRzIGhhdmUgdGhlIHNhbWUgdHlwZSBfYW5kXyBzYW1lIGB0YXJnZXRgIChhbiBlbGVtZW50IHdoaWNoIHRyaWdnZXJlZCBhbiBldmVudCwgX25vdCBuZWNlc3NhcmlseV9cbiAgLy8gdG8gd2hpY2ggYW4gZXZlbnQgbGlzdGVuZXIgd2FzIGF0dGFjaGVkKSwgd2UgdHJlYXQgdGhlbSBhcyB0aGUgc2FtZSBhY3Rpb24sIGFzIHdlIHdhbnQgdG8gY2FwdHVyZVxuICAvLyBvbmx5IG9uZSBicmVhZGNydW1iLiBlLmcuIG11bHRpcGxlIGNsaWNrcyBvbiB0aGUgc2FtZSBidXR0b24sIG9yIHR5cGluZyBpbnNpZGUgYSB1c2VyIGlucHV0IGJveC5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogRGVjaWRlIHdoZXRoZXIgYW4gZXZlbnQgc2hvdWxkIGJlIGNhcHR1cmVkLlxuICogQHBhcmFtIGV2ZW50IGV2ZW50IHRvIGJlIGNhcHR1cmVkXG4gKi9cbmZ1bmN0aW9uIHNob3VsZFNraXBET01FdmVudChldmVudFR5cGUsIHRhcmdldCkge1xuICAvLyBXZSBhcmUgb25seSBpbnRlcmVzdGVkIGluIGZpbHRlcmluZyBga2V5cHJlc3NgIGV2ZW50cyBmb3Igbm93LlxuICBpZiAoZXZlbnRUeXBlICE9PSAna2V5cHJlc3MnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCF0YXJnZXQ/LnRhZ05hbWUpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIE9ubHkgY29uc2lkZXIga2V5cHJlc3MgZXZlbnRzIG9uIGFjdHVhbCBpbnB1dCBlbGVtZW50cy4gVGhpcyB3aWxsIGRpc3JlZ2FyZCBrZXlwcmVzc2VzIHRhcmdldGluZyBib2R5XG4gIC8vIGUuZy50YWJiaW5nIHRocm91Z2ggZWxlbWVudHMsIGhvdGtleXMsIGV0Yy5cbiAgaWYgKHRhcmdldC50YWdOYW1lID09PSAnSU5QVVQnIHx8IHRhcmdldC50YWdOYW1lID09PSAnVEVYVEFSRUEnIHx8IHRhcmdldC5pc0NvbnRlbnRFZGl0YWJsZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vKipcbiAqIFdyYXBzIGFkZEV2ZW50TGlzdGVuZXIgdG8gY2FwdHVyZSBVSSBicmVhZGNydW1ic1xuICovXG5mdW5jdGlvbiBtYWtlRE9NRXZlbnRIYW5kbGVyKFxuICBoYW5kbGVyLFxuICBnbG9iYWxMaXN0ZW5lciA9IGZhbHNlLFxuKSB7XG4gIHJldHVybiAoZXZlbnQpID0+IHtcbiAgICAvLyBJdCdzIHBvc3NpYmxlIHRoaXMgaGFuZGxlciBtaWdodCB0cmlnZ2VyIG11bHRpcGxlIHRpbWVzIGZvciB0aGUgc2FtZVxuICAgIC8vIGV2ZW50IChlLmcuIGV2ZW50IHByb3BhZ2F0aW9uIHRocm91Z2ggbm9kZSBhbmNlc3RvcnMpLlxuICAgIC8vIElnbm9yZSBpZiB3ZSd2ZSBhbHJlYWR5IGNhcHR1cmVkIHRoYXQgZXZlbnQuXG4gICAgaWYgKCFldmVudCB8fCBldmVudFsnX3NlbnRyeUNhcHR1cmVkJ10pIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB0YXJnZXQgPSBnZXRFdmVudFRhcmdldChldmVudCk7XG5cbiAgICAvLyBXZSBhbHdheXMgd2FudCB0byBza2lwIF9zb21lXyBldmVudHMuXG4gICAgaWYgKHNob3VsZFNraXBET01FdmVudChldmVudC50eXBlLCB0YXJnZXQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gTWFyayBldmVudCBhcyBcInNlZW5cIlxuICAgIGFkZE5vbkVudW1lcmFibGVQcm9wZXJ0eShldmVudCwgJ19zZW50cnlDYXB0dXJlZCcsIHRydWUpO1xuXG4gICAgaWYgKHRhcmdldCAmJiAhdGFyZ2V0Ll9zZW50cnlJZCkge1xuICAgICAgLy8gQWRkIFVVSUQgdG8gZXZlbnQgdGFyZ2V0IHNvIHdlIGNhbiBpZGVudGlmeSBpZlxuICAgICAgYWRkTm9uRW51bWVyYWJsZVByb3BlcnR5KHRhcmdldCwgJ19zZW50cnlJZCcsIHV1aWQ0KCkpO1xuICAgIH1cblxuICAgIGNvbnN0IG5hbWUgPSBldmVudC50eXBlID09PSAna2V5cHJlc3MnID8gJ2lucHV0JyA6IGV2ZW50LnR5cGU7XG5cbiAgICAvLyBJZiB0aGVyZSBpcyBubyBsYXN0IGNhcHR1cmVkIGV2ZW50LCBpdCBtZWFucyB0aGF0IHdlIGNhbiBzYWZlbHkgY2FwdHVyZSB0aGUgbmV3IGV2ZW50IGFuZCBzdG9yZSBpdCBmb3IgZnV0dXJlIGNvbXBhcmlzb25zLlxuICAgIC8vIElmIHRoZXJlIGlzIGEgbGFzdCBjYXB0dXJlZCBldmVudCwgc2VlIGlmIHRoZSBuZXcgZXZlbnQgaXMgZGlmZmVyZW50IGVub3VnaCB0byB0cmVhdCBpdCBhcyBhIHVuaXF1ZSBvbmUuXG4gICAgLy8gSWYgdGhhdCdzIHRoZSBjYXNlLCBlbWl0IHRoZSBwcmV2aW91cyBldmVudCBhbmQgc3RvcmUgbG9jYWxseSB0aGUgbmV3bHktY2FwdHVyZWQgRE9NIGV2ZW50LlxuICAgIGlmICghaXNTaW1pbGFyVG9MYXN0Q2FwdHVyZWRFdmVudChldmVudCkpIHtcbiAgICAgIGNvbnN0IGhhbmRsZXJEYXRhID0geyBldmVudCwgbmFtZSwgZ2xvYmFsOiBnbG9iYWxMaXN0ZW5lciB9O1xuICAgICAgaGFuZGxlcihoYW5kbGVyRGF0YSk7XG4gICAgICBsYXN0Q2FwdHVyZWRFdmVudFR5cGUgPSBldmVudC50eXBlO1xuICAgICAgbGFzdENhcHR1cmVkRXZlbnRUYXJnZXRJZCA9IHRhcmdldCA/IHRhcmdldC5fc2VudHJ5SWQgOiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLy8gU3RhcnQgYSBuZXcgZGVib3VuY2UgdGltZXIgdGhhdCB3aWxsIHByZXZlbnQgdXMgZnJvbSBjYXB0dXJpbmcgbXVsdGlwbGUgZXZlbnRzIHRoYXQgc2hvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIuXG4gICAgY2xlYXJUaW1lb3V0KGRlYm91bmNlVGltZXJJRCk7XG4gICAgZGVib3VuY2VUaW1lcklEID0gV0lORE9XLnNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgbGFzdENhcHR1cmVkRXZlbnRUYXJnZXRJZCA9IHVuZGVmaW5lZDtcbiAgICAgIGxhc3RDYXB0dXJlZEV2ZW50VHlwZSA9IHVuZGVmaW5lZDtcbiAgICB9LCBERUJPVU5DRV9EVVJBVElPTik7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGdldEV2ZW50VGFyZ2V0KGV2ZW50KSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIGV2ZW50LnRhcmdldCA7XG4gIH0gY2F0Y2gge1xuICAgIC8vIGp1c3QgYWNjZXNzaW5nIGB0YXJnZXRgIHByb3BlcnR5IGNhbiB0aHJvdyBhbiBleGNlcHRpb24gaW4gc29tZSByYXJlIGNpcmN1bXN0YW5jZXNcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9nZXRzZW50cnkvc2VudHJ5LWphdmFzY3JpcHQvaXNzdWVzLzgzOFxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCB7IGFkZENsaWNrS2V5cHJlc3NJbnN0cnVtZW50YXRpb25IYW5kbGVyLCBpbnN0cnVtZW50RE9NIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1kb20uanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/dom.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/history.js": /*!*************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/instrument/history.js ***! \*************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addHistoryInstrumentationHandler: () => (/* binding */ addHistoryInstrumentationHandler),\n/* harmony export */ instrumentHistory: () => (/* binding */ instrumentHistory)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/instrument/handlers.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/supports.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/object.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n\nlet lastHref;\n\n/**\n * Add an instrumentation handler for when a fetch request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addHistoryInstrumentationHandler(handler) {\n const type = 'history';\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.addHandler)(type, handler);\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.maybeInstrument)(type, instrumentHistory);\n}\n\n/**\n * Exported just for testing\n */\nfunction instrumentHistory() {\n // The `popstate` event may also be triggered on `pushState`, but it may not always reliably be emitted by the browser\n // Which is why we also monkey-patch methods below, in addition to this\n _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.addEventListener('popstate', () => {\n const to = _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.location.href;\n // keep track of the current URL state, as we always receive only the updated state\n const from = lastHref;\n lastHref = to;\n\n if (from === to) {\n return;\n }\n\n const handlerData = { from, to } ;\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.triggerHandlers)('history', handlerData);\n });\n\n // Just guard against this not being available, in weird environments\n if (!(0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.supportsHistory)()) {\n return;\n }\n\n function historyReplacementFunction(originalHistoryFunction) {\n return function ( ...args) {\n const url = args.length > 2 ? args[2] : undefined;\n if (url) {\n const from = lastHref;\n\n // Ensure the URL is absolute\n // this can be either a path, then it is relative to the current origin\n // or a full URL of the current origin - other origins are not allowed\n // See: https://developer.mozilla.org/en-US/docs/Web/API/History/pushState#url\n // coerce to string (this is what pushState does)\n const to = getAbsoluteUrl(String(url));\n\n // keep track of the current URL state, as we always receive only the updated state\n lastHref = to;\n\n if (from === to) {\n return originalHistoryFunction.apply(this, args);\n }\n\n const handlerData = { from, to } ;\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.triggerHandlers)('history', handlerData);\n }\n return originalHistoryFunction.apply(this, args);\n };\n }\n\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.fill)(_types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.history, 'pushState', historyReplacementFunction);\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.fill)(_types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.history, 'replaceState', historyReplacementFunction);\n}\n\nfunction getAbsoluteUrl(urlOrPath) {\n try {\n const url = new URL(urlOrPath, _types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.location.origin);\n return url.toString();\n } catch {\n // fallback, just do nothing\n return urlOrPath;\n }\n}\n\n\n//# sourceMappingURL=history.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2luc3RydW1lbnQvaGlzdG9yeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBbUc7QUFDOUQ7O0FBRXJDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSx3REFBVTtBQUNaLEVBQUUsNkRBQWU7QUFDakI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSw2Q0FBTTtBQUNSLGVBQWUsNkNBQU07QUFDckI7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEI7QUFDMUIsSUFBSSw2REFBZTtBQUNuQixHQUFHOztBQUVIO0FBQ0EsT0FBTyw2REFBZTtBQUN0QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBLDhCQUE4QjtBQUM5QixRQUFRLDZEQUFlO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEVBQUUsa0RBQUksQ0FBQyw2Q0FBTTtBQUNiLEVBQUUsa0RBQUksQ0FBQyw2Q0FBTTtBQUNiOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUMsNkNBQU07QUFDekM7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRStEO0FBQy9EIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9pbnN0cnVtZW50L2hpc3RvcnkuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYWRkSGFuZGxlciwgbWF5YmVJbnN0cnVtZW50LCB0cmlnZ2VySGFuZGxlcnMsIHN1cHBvcnRzSGlzdG9yeSwgZmlsbCB9IGZyb20gJ0BzZW50cnkvY29yZSc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmxldCBsYXN0SHJlZjtcblxuLyoqXG4gKiBBZGQgYW4gaW5zdHJ1bWVudGF0aW9uIGhhbmRsZXIgZm9yIHdoZW4gYSBmZXRjaCByZXF1ZXN0IGhhcHBlbnMuXG4gKiBUaGUgaGFuZGxlciBmdW5jdGlvbiBpcyBjYWxsZWQgb25jZSB3aGVuIHRoZSByZXF1ZXN0IHN0YXJ0cyBhbmQgb25jZSB3aGVuIGl0IGVuZHMsXG4gKiB3aGljaCBjYW4gYmUgaWRlbnRpZmllZCBieSBjaGVja2luZyBpZiBpdCBoYXMgYW4gYGVuZFRpbWVzdGFtcGAuXG4gKlxuICogVXNlIGF0IHlvdXIgb3duIHJpc2ssIHRoaXMgbWlnaHQgYnJlYWsgd2l0aG91dCBjaGFuZ2Vsb2cgbm90aWNlLCBvbmx5IHVzZWQgaW50ZXJuYWxseS5cbiAqIEBoaWRkZW5cbiAqL1xuZnVuY3Rpb24gYWRkSGlzdG9yeUluc3RydW1lbnRhdGlvbkhhbmRsZXIoaGFuZGxlcikge1xuICBjb25zdCB0eXBlID0gJ2hpc3RvcnknO1xuICBhZGRIYW5kbGVyKHR5cGUsIGhhbmRsZXIpO1xuICBtYXliZUluc3RydW1lbnQodHlwZSwgaW5zdHJ1bWVudEhpc3RvcnkpO1xufVxuXG4vKipcbiAqIEV4cG9ydGVkIGp1c3QgZm9yIHRlc3RpbmdcbiAqL1xuZnVuY3Rpb24gaW5zdHJ1bWVudEhpc3RvcnkoKSB7XG4gIC8vIFRoZSBgcG9wc3RhdGVgIGV2ZW50IG1heSBhbHNvIGJlIHRyaWdnZXJlZCBvbiBgcHVzaFN0YXRlYCwgYnV0IGl0IG1heSBub3QgYWx3YXlzIHJlbGlhYmx5IGJlIGVtaXR0ZWQgYnkgdGhlIGJyb3dzZXJcbiAgLy8gV2hpY2ggaXMgd2h5IHdlIGFsc28gbW9ua2V5LXBhdGNoIG1ldGhvZHMgYmVsb3csIGluIGFkZGl0aW9uIHRvIHRoaXNcbiAgV0lORE9XLmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgKCkgPT4ge1xuICAgIGNvbnN0IHRvID0gV0lORE9XLmxvY2F0aW9uLmhyZWY7XG4gICAgLy8ga2VlcCB0cmFjayBvZiB0aGUgY3VycmVudCBVUkwgc3RhdGUsIGFzIHdlIGFsd2F5cyByZWNlaXZlIG9ubHkgdGhlIHVwZGF0ZWQgc3RhdGVcbiAgICBjb25zdCBmcm9tID0gbGFzdEhyZWY7XG4gICAgbGFzdEhyZWYgPSB0bztcblxuICAgIGlmIChmcm9tID09PSB0bykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZXJEYXRhID0geyBmcm9tLCB0byB9IDtcbiAgICB0cmlnZ2VySGFuZGxlcnMoJ2hpc3RvcnknLCBoYW5kbGVyRGF0YSk7XG4gIH0pO1xuXG4gIC8vIEp1c3QgZ3VhcmQgYWdhaW5zdCB0aGlzIG5vdCBiZWluZyBhdmFpbGFibGUsIGluIHdlaXJkIGVudmlyb25tZW50c1xuICBpZiAoIXN1cHBvcnRzSGlzdG9yeSgpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZnVuY3Rpb24gaGlzdG9yeVJlcGxhY2VtZW50RnVuY3Rpb24ob3JpZ2luYWxIaXN0b3J5RnVuY3Rpb24pIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCAuLi5hcmdzKSB7XG4gICAgICBjb25zdCB1cmwgPSBhcmdzLmxlbmd0aCA+IDIgPyBhcmdzWzJdIDogdW5kZWZpbmVkO1xuICAgICAgaWYgKHVybCkge1xuICAgICAgICBjb25zdCBmcm9tID0gbGFzdEhyZWY7XG5cbiAgICAgICAgLy8gRW5zdXJlIHRoZSBVUkwgaXMgYWJzb2x1dGVcbiAgICAgICAgLy8gdGhpcyBjYW4gYmUgZWl0aGVyIGEgcGF0aCwgdGhlbiBpdCBpcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBvcmlnaW5cbiAgICAgICAgLy8gb3IgYSBmdWxsIFVSTCBvZiB0aGUgY3VycmVudCBvcmlnaW4gLSBvdGhlciBvcmlnaW5zIGFyZSBub3QgYWxsb3dlZFxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9IaXN0b3J5L3B1c2hTdGF0ZSN1cmxcbiAgICAgICAgLy8gY29lcmNlIHRvIHN0cmluZyAodGhpcyBpcyB3aGF0IHB1c2hTdGF0ZSBkb2VzKVxuICAgICAgICBjb25zdCB0byA9IGdldEFic29sdXRlVXJsKFN0cmluZyh1cmwpKTtcblxuICAgICAgICAvLyBrZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IFVSTCBzdGF0ZSwgYXMgd2UgYWx3YXlzIHJlY2VpdmUgb25seSB0aGUgdXBkYXRlZCBzdGF0ZVxuICAgICAgICBsYXN0SHJlZiA9IHRvO1xuXG4gICAgICAgIGlmIChmcm9tID09PSB0bykge1xuICAgICAgICAgIHJldHVybiBvcmlnaW5hbEhpc3RvcnlGdW5jdGlvbi5hcHBseSh0aGlzLCBhcmdzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhbmRsZXJEYXRhID0geyBmcm9tLCB0byB9IDtcbiAgICAgICAgdHJpZ2dlckhhbmRsZXJzKCdoaXN0b3J5JywgaGFuZGxlckRhdGEpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9yaWdpbmFsSGlzdG9yeUZ1bmN0aW9uLmFwcGx5KHRoaXMsIGFyZ3MpO1xuICAgIH07XG4gIH1cblxuICBmaWxsKFdJTkRPVy5oaXN0b3J5LCAncHVzaFN0YXRlJywgaGlzdG9yeVJlcGxhY2VtZW50RnVuY3Rpb24pO1xuICBmaWxsKFdJTkRPVy5oaXN0b3J5LCAncmVwbGFjZVN0YXRlJywgaGlzdG9yeVJlcGxhY2VtZW50RnVuY3Rpb24pO1xufVxuXG5mdW5jdGlvbiBnZXRBYnNvbHV0ZVVybCh1cmxPclBhdGgpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB1cmwgPSBuZXcgVVJMKHVybE9yUGF0aCwgV0lORE9XLmxvY2F0aW9uLm9yaWdpbik7XG4gICAgcmV0dXJuIHVybC50b1N0cmluZygpO1xuICB9IGNhdGNoIHtcbiAgICAvLyBmYWxsYmFjaywganVzdCBkbyBub3RoaW5nXG4gICAgcmV0dXJuIHVybE9yUGF0aDtcbiAgfVxufVxuXG5leHBvcnQgeyBhZGRIaXN0b3J5SW5zdHJ1bWVudGF0aW9uSGFuZGxlciwgaW5zdHJ1bWVudEhpc3RvcnkgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhpc3RvcnkuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/history.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/xhr.js": /*!*********************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/instrument/xhr.js ***! \*********************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ SENTRY_XHR_DATA_KEY: () => (/* binding */ SENTRY_XHR_DATA_KEY),\n/* harmony export */ addXhrInstrumentationHandler: () => (/* binding */ addXhrInstrumentationHandler),\n/* harmony export */ instrumentXHR: () => (/* binding */ instrumentXHR)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/instrument/handlers.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/time.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/is.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n\nconst SENTRY_XHR_DATA_KEY = '__sentry_xhr_v3__';\n\n/**\n * Add an instrumentation handler for when an XHR request happens.\n * The handler function is called once when the request starts and once when it ends,\n * which can be identified by checking if it has an `endTimestamp`.\n *\n * Use at your own risk, this might break without changelog notice, only used internally.\n * @hidden\n */\nfunction addXhrInstrumentationHandler(handler) {\n const type = 'xhr';\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.addHandler)(type, handler);\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.maybeInstrument)(type, instrumentXHR);\n}\n\n/** Exported only for tests. */\nfunction instrumentXHR() {\n if (!(_types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW ).XMLHttpRequest) {\n return;\n }\n\n const xhrproto = XMLHttpRequest.prototype;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.open = new Proxy(xhrproto.open, {\n apply(\n originalOpen,\n xhrOpenThisArg,\n xhrOpenArgArray\n\n,\n ) {\n // NOTE: If you are a Sentry user, and you are seeing this stack frame,\n // it means the error, that was caused by your XHR call did not\n // have a stack trace. If you are using HttpClient integration,\n // this is the expected behavior, as we are using this virtual error to capture\n // the location of your XHR call, and group your HttpClient events accordingly.\n const virtualError = new Error();\n\n const startTimestamp = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.timestampInSeconds)() * 1000;\n\n // open() should always be called with two or more arguments\n // But to be on the safe side, we actually validate this and bail out if we don't have a method & url\n const method = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.isString)(xhrOpenArgArray[0]) ? xhrOpenArgArray[0].toUpperCase() : undefined;\n const url = parseXhrUrlArg(xhrOpenArgArray[1]);\n\n if (!method || !url) {\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n }\n\n xhrOpenThisArg[SENTRY_XHR_DATA_KEY] = {\n method,\n url,\n request_headers: {},\n };\n\n // if Sentry key appears in URL, don't capture it as a request\n if (method === 'POST' && url.match(/sentry_key/)) {\n xhrOpenThisArg.__sentry_own_request__ = true;\n }\n\n const onreadystatechangeHandler = () => {\n // For whatever reason, this is not the same instance here as from the outer method\n const xhrInfo = xhrOpenThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!xhrInfo) {\n return;\n }\n\n if (xhrOpenThisArg.readyState === 4) {\n try {\n // touching statusCode in some platforms throws\n // an exception\n xhrInfo.status_code = xhrOpenThisArg.status;\n } catch {\n /* do nothing */\n }\n\n const handlerData = {\n endTimestamp: (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.timestampInSeconds)() * 1000,\n startTimestamp,\n xhr: xhrOpenThisArg,\n virtualError,\n };\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.triggerHandlers)('xhr', handlerData);\n }\n };\n\n if ('onreadystatechange' in xhrOpenThisArg && typeof xhrOpenThisArg.onreadystatechange === 'function') {\n xhrOpenThisArg.onreadystatechange = new Proxy(xhrOpenThisArg.onreadystatechange, {\n apply(originalOnreadystatechange, onreadystatechangeThisArg, onreadystatechangeArgArray) {\n onreadystatechangeHandler();\n return originalOnreadystatechange.apply(onreadystatechangeThisArg, onreadystatechangeArgArray);\n },\n });\n } else {\n xhrOpenThisArg.addEventListener('readystatechange', onreadystatechangeHandler);\n }\n\n // Intercepting `setRequestHeader` to access the request headers of XHR instance.\n // This will only work for user/library defined headers, not for the default/browser-assigned headers.\n // Request cookies are also unavailable for XHR, as `Cookie` header can't be defined by `setRequestHeader`.\n xhrOpenThisArg.setRequestHeader = new Proxy(xhrOpenThisArg.setRequestHeader, {\n apply(\n originalSetRequestHeader,\n setRequestHeaderThisArg,\n setRequestHeaderArgArray,\n ) {\n const [header, value] = setRequestHeaderArgArray;\n\n const xhrInfo = setRequestHeaderThisArg[SENTRY_XHR_DATA_KEY];\n\n if (xhrInfo && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.isString)(header) && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.isString)(value)) {\n xhrInfo.request_headers[header.toLowerCase()] = value;\n }\n\n return originalSetRequestHeader.apply(setRequestHeaderThisArg, setRequestHeaderArgArray);\n },\n });\n\n return originalOpen.apply(xhrOpenThisArg, xhrOpenArgArray);\n },\n });\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n xhrproto.send = new Proxy(xhrproto.send, {\n apply(originalSend, sendThisArg, sendArgArray) {\n const sentryXhrData = sendThisArg[SENTRY_XHR_DATA_KEY];\n\n if (!sentryXhrData) {\n return originalSend.apply(sendThisArg, sendArgArray);\n }\n\n if (sendArgArray[0] !== undefined) {\n sentryXhrData.body = sendArgArray[0];\n }\n\n const handlerData = {\n startTimestamp: (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.timestampInSeconds)() * 1000,\n xhr: sendThisArg,\n };\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.triggerHandlers)('xhr', handlerData);\n\n return originalSend.apply(sendThisArg, sendArgArray);\n },\n });\n}\n\n/**\n * Parses the URL argument of a XHR method to a string.\n *\n * See: https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/open#url\n * url: A string or any other object with a stringifier — including a URL object — that provides the URL of the resource to send the request to.\n *\n * @param url - The URL argument of an XHR method\n * @returns The parsed URL string or undefined if the URL is invalid\n */\nfunction parseXhrUrlArg(url) {\n if ((0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.isString)(url)) {\n return url;\n }\n\n try {\n // If the passed in argument is not a string, it should have a `toString` method as a stringifier.\n // If that fails, we just return undefined (like in IE11 where URL is not available)\n return (url ).toString();\n } catch {} // eslint-disable-line no-empty\n\n return undefined;\n}\n\n\n//# sourceMappingURL=xhr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL2luc3RydW1lbnQveGhyLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBMEc7QUFDckU7O0FBRXJDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSx3REFBVTtBQUNaLEVBQUUsNkRBQWU7QUFDakI7O0FBRUE7QUFDQTtBQUNBLFFBQVEsNkNBQU07QUFDZDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCQUE2QixnRUFBa0I7O0FBRS9DO0FBQ0E7QUFDQSxxQkFBcUIsc0RBQVE7QUFDN0I7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDJCQUEyQjtBQUMzQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZO0FBQ1o7QUFDQTs7QUFFQTtBQUNBLDBCQUEwQixnRUFBa0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVLDZEQUFlO0FBQ3pCO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBQVc7QUFDWCxTQUFTO0FBQ1QsUUFBUTtBQUNSO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUEseUJBQXlCLHNEQUFRLFlBQVksc0RBQVE7QUFDckQ7QUFDQTs7QUFFQTtBQUNBLFNBQVM7QUFDVCxPQUFPOztBQUVQO0FBQ0EsS0FBSztBQUNMLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHdCQUF3QixnRUFBa0I7QUFDMUM7QUFDQTtBQUNBLE1BQU0sNkRBQWU7O0FBRXJCO0FBQ0EsS0FBSztBQUNMLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sc0RBQVE7QUFDZDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxTQUFTOztBQUViO0FBQ0E7O0FBRTRFO0FBQzVFIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9pbnN0cnVtZW50L3hoci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhZGRIYW5kbGVyLCBtYXliZUluc3RydW1lbnQsIHRpbWVzdGFtcEluU2Vjb25kcywgaXNTdHJpbmcsIHRyaWdnZXJIYW5kbGVycyB9IGZyb20gJ0BzZW50cnkvY29yZSc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbmNvbnN0IFNFTlRSWV9YSFJfREFUQV9LRVkgPSAnX19zZW50cnlfeGhyX3YzX18nO1xuXG4vKipcbiAqIEFkZCBhbiBpbnN0cnVtZW50YXRpb24gaGFuZGxlciBmb3Igd2hlbiBhbiBYSFIgcmVxdWVzdCBoYXBwZW5zLlxuICogVGhlIGhhbmRsZXIgZnVuY3Rpb24gaXMgY2FsbGVkIG9uY2Ugd2hlbiB0aGUgcmVxdWVzdCBzdGFydHMgYW5kIG9uY2Ugd2hlbiBpdCBlbmRzLFxuICogd2hpY2ggY2FuIGJlIGlkZW50aWZpZWQgYnkgY2hlY2tpbmcgaWYgaXQgaGFzIGFuIGBlbmRUaW1lc3RhbXBgLlxuICpcbiAqIFVzZSBhdCB5b3VyIG93biByaXNrLCB0aGlzIG1pZ2h0IGJyZWFrIHdpdGhvdXQgY2hhbmdlbG9nIG5vdGljZSwgb25seSB1c2VkIGludGVybmFsbHkuXG4gKiBAaGlkZGVuXG4gKi9cbmZ1bmN0aW9uIGFkZFhockluc3RydW1lbnRhdGlvbkhhbmRsZXIoaGFuZGxlcikge1xuICBjb25zdCB0eXBlID0gJ3hocic7XG4gIGFkZEhhbmRsZXIodHlwZSwgaGFuZGxlcik7XG4gIG1heWJlSW5zdHJ1bWVudCh0eXBlLCBpbnN0cnVtZW50WEhSKTtcbn1cblxuLyoqIEV4cG9ydGVkIG9ubHkgZm9yIHRlc3RzLiAqL1xuZnVuY3Rpb24gaW5zdHJ1bWVudFhIUigpIHtcbiAgaWYgKCEoV0lORE9XICkuWE1MSHR0cFJlcXVlc3QpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB4aHJwcm90byA9IFhNTEh0dHBSZXF1ZXN0LnByb3RvdHlwZTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gIHhocnByb3RvLm9wZW4gPSBuZXcgUHJveHkoeGhycHJvdG8ub3Blbiwge1xuICAgIGFwcGx5KFxuICAgICAgb3JpZ2luYWxPcGVuLFxuICAgICAgeGhyT3BlblRoaXNBcmcsXG4gICAgICB4aHJPcGVuQXJnQXJyYXlcblxuLFxuICAgICkge1xuICAgICAgLy8gTk9URTogSWYgeW91IGFyZSBhIFNlbnRyeSB1c2VyLCBhbmQgeW91IGFyZSBzZWVpbmcgdGhpcyBzdGFjayBmcmFtZSxcbiAgICAgIC8vICAgICAgIGl0IG1lYW5zIHRoZSBlcnJvciwgdGhhdCB3YXMgY2F1c2VkIGJ5IHlvdXIgWEhSIGNhbGwgZGlkIG5vdFxuICAgICAgLy8gICAgICAgaGF2ZSBhIHN0YWNrIHRyYWNlLiBJZiB5b3UgYXJlIHVzaW5nIEh0dHBDbGllbnQgaW50ZWdyYXRpb24sXG4gICAgICAvLyAgICAgICB0aGlzIGlzIHRoZSBleHBlY3RlZCBiZWhhdmlvciwgYXMgd2UgYXJlIHVzaW5nIHRoaXMgdmlydHVhbCBlcnJvciB0byBjYXB0dXJlXG4gICAgICAvLyAgICAgICB0aGUgbG9jYXRpb24gb2YgeW91ciBYSFIgY2FsbCwgYW5kIGdyb3VwIHlvdXIgSHR0cENsaWVudCBldmVudHMgYWNjb3JkaW5nbHkuXG4gICAgICBjb25zdCB2aXJ0dWFsRXJyb3IgPSBuZXcgRXJyb3IoKTtcblxuICAgICAgY29uc3Qgc3RhcnRUaW1lc3RhbXAgPSB0aW1lc3RhbXBJblNlY29uZHMoKSAqIDEwMDA7XG5cbiAgICAgIC8vIG9wZW4oKSBzaG91bGQgYWx3YXlzIGJlIGNhbGxlZCB3aXRoIHR3byBvciBtb3JlIGFyZ3VtZW50c1xuICAgICAgLy8gQnV0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUsIHdlIGFjdHVhbGx5IHZhbGlkYXRlIHRoaXMgYW5kIGJhaWwgb3V0IGlmIHdlIGRvbid0IGhhdmUgYSBtZXRob2QgJiB1cmxcbiAgICAgIGNvbnN0IG1ldGhvZCA9IGlzU3RyaW5nKHhock9wZW5BcmdBcnJheVswXSkgPyB4aHJPcGVuQXJnQXJyYXlbMF0udG9VcHBlckNhc2UoKSA6IHVuZGVmaW5lZDtcbiAgICAgIGNvbnN0IHVybCA9IHBhcnNlWGhyVXJsQXJnKHhock9wZW5BcmdBcnJheVsxXSk7XG5cbiAgICAgIGlmICghbWV0aG9kIHx8ICF1cmwpIHtcbiAgICAgICAgcmV0dXJuIG9yaWdpbmFsT3Blbi5hcHBseSh4aHJPcGVuVGhpc0FyZywgeGhyT3BlbkFyZ0FycmF5KTtcbiAgICAgIH1cblxuICAgICAgeGhyT3BlblRoaXNBcmdbU0VOVFJZX1hIUl9EQVRBX0tFWV0gPSB7XG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgdXJsLFxuICAgICAgICByZXF1ZXN0X2hlYWRlcnM6IHt9LFxuICAgICAgfTtcblxuICAgICAgLy8gaWYgU2VudHJ5IGtleSBhcHBlYXJzIGluIFVSTCwgZG9uJ3QgY2FwdHVyZSBpdCBhcyBhIHJlcXVlc3RcbiAgICAgIGlmIChtZXRob2QgPT09ICdQT1NUJyAmJiB1cmwubWF0Y2goL3NlbnRyeV9rZXkvKSkge1xuICAgICAgICB4aHJPcGVuVGhpc0FyZy5fX3NlbnRyeV9vd25fcmVxdWVzdF9fID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgb25yZWFkeXN0YXRlY2hhbmdlSGFuZGxlciA9ICgpID0+IHtcbiAgICAgICAgLy8gRm9yIHdoYXRldmVyIHJlYXNvbiwgdGhpcyBpcyBub3QgdGhlIHNhbWUgaW5zdGFuY2UgaGVyZSBhcyBmcm9tIHRoZSBvdXRlciBtZXRob2RcbiAgICAgICAgY29uc3QgeGhySW5mbyA9IHhock9wZW5UaGlzQXJnW1NFTlRSWV9YSFJfREFUQV9LRVldO1xuXG4gICAgICAgIGlmICgheGhySW5mbykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh4aHJPcGVuVGhpc0FyZy5yZWFkeVN0YXRlID09PSA0KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIHRvdWNoaW5nIHN0YXR1c0NvZGUgaW4gc29tZSBwbGF0Zm9ybXMgdGhyb3dzXG4gICAgICAgICAgICAvLyBhbiBleGNlcHRpb25cbiAgICAgICAgICAgIHhockluZm8uc3RhdHVzX2NvZGUgPSB4aHJPcGVuVGhpc0FyZy5zdGF0dXM7XG4gICAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgICAvKiBkbyBub3RoaW5nICovXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgaGFuZGxlckRhdGEgPSB7XG4gICAgICAgICAgICBlbmRUaW1lc3RhbXA6IHRpbWVzdGFtcEluU2Vjb25kcygpICogMTAwMCxcbiAgICAgICAgICAgIHN0YXJ0VGltZXN0YW1wLFxuICAgICAgICAgICAgeGhyOiB4aHJPcGVuVGhpc0FyZyxcbiAgICAgICAgICAgIHZpcnR1YWxFcnJvcixcbiAgICAgICAgICB9O1xuICAgICAgICAgIHRyaWdnZXJIYW5kbGVycygneGhyJywgaGFuZGxlckRhdGEpO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAoJ29ucmVhZHlzdGF0ZWNoYW5nZScgaW4geGhyT3BlblRoaXNBcmcgJiYgdHlwZW9mIHhock9wZW5UaGlzQXJnLm9ucmVhZHlzdGF0ZWNoYW5nZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB4aHJPcGVuVGhpc0FyZy5vbnJlYWR5c3RhdGVjaGFuZ2UgPSBuZXcgUHJveHkoeGhyT3BlblRoaXNBcmcub25yZWFkeXN0YXRlY2hhbmdlLCB7XG4gICAgICAgICAgYXBwbHkob3JpZ2luYWxPbnJlYWR5c3RhdGVjaGFuZ2UsIG9ucmVhZHlzdGF0ZWNoYW5nZVRoaXNBcmcsIG9ucmVhZHlzdGF0ZWNoYW5nZUFyZ0FycmF5KSB7XG4gICAgICAgICAgICBvbnJlYWR5c3RhdGVjaGFuZ2VIYW5kbGVyKCk7XG4gICAgICAgICAgICByZXR1cm4gb3JpZ2luYWxPbnJlYWR5c3RhdGVjaGFuZ2UuYXBwbHkob25yZWFkeXN0YXRlY2hhbmdlVGhpc0FyZywgb25yZWFkeXN0YXRlY2hhbmdlQXJnQXJyYXkpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgeGhyT3BlblRoaXNBcmcuYWRkRXZlbnRMaXN0ZW5lcigncmVhZHlzdGF0ZWNoYW5nZScsIG9ucmVhZHlzdGF0ZWNoYW5nZUhhbmRsZXIpO1xuICAgICAgfVxuXG4gICAgICAvLyBJbnRlcmNlcHRpbmcgYHNldFJlcXVlc3RIZWFkZXJgIHRvIGFjY2VzcyB0aGUgcmVxdWVzdCBoZWFkZXJzIG9mIFhIUiBpbnN0YW5jZS5cbiAgICAgIC8vIFRoaXMgd2lsbCBvbmx5IHdvcmsgZm9yIHVzZXIvbGlicmFyeSBkZWZpbmVkIGhlYWRlcnMsIG5vdCBmb3IgdGhlIGRlZmF1bHQvYnJvd3Nlci1hc3NpZ25lZCBoZWFkZXJzLlxuICAgICAgLy8gUmVxdWVzdCBjb29raWVzIGFyZSBhbHNvIHVuYXZhaWxhYmxlIGZvciBYSFIsIGFzIGBDb29raWVgIGhlYWRlciBjYW4ndCBiZSBkZWZpbmVkIGJ5IGBzZXRSZXF1ZXN0SGVhZGVyYC5cbiAgICAgIHhock9wZW5UaGlzQXJnLnNldFJlcXVlc3RIZWFkZXIgPSBuZXcgUHJveHkoeGhyT3BlblRoaXNBcmcuc2V0UmVxdWVzdEhlYWRlciwge1xuICAgICAgICBhcHBseShcbiAgICAgICAgICBvcmlnaW5hbFNldFJlcXVlc3RIZWFkZXIsXG4gICAgICAgICAgc2V0UmVxdWVzdEhlYWRlclRoaXNBcmcsXG4gICAgICAgICAgc2V0UmVxdWVzdEhlYWRlckFyZ0FycmF5LFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBbaGVhZGVyLCB2YWx1ZV0gPSBzZXRSZXF1ZXN0SGVhZGVyQXJnQXJyYXk7XG5cbiAgICAgICAgICBjb25zdCB4aHJJbmZvID0gc2V0UmVxdWVzdEhlYWRlclRoaXNBcmdbU0VOVFJZX1hIUl9EQVRBX0tFWV07XG5cbiAgICAgICAgICBpZiAoeGhySW5mbyAmJiBpc1N0cmluZyhoZWFkZXIpICYmIGlzU3RyaW5nKHZhbHVlKSkge1xuICAgICAgICAgICAgeGhySW5mby5yZXF1ZXN0X2hlYWRlcnNbaGVhZGVyLnRvTG93ZXJDYXNlKCldID0gdmFsdWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9yaWdpbmFsU2V0UmVxdWVzdEhlYWRlci5hcHBseShzZXRSZXF1ZXN0SGVhZGVyVGhpc0FyZywgc2V0UmVxdWVzdEhlYWRlckFyZ0FycmF5KTtcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gb3JpZ2luYWxPcGVuLmFwcGx5KHhock9wZW5UaGlzQXJnLCB4aHJPcGVuQXJnQXJyYXkpO1xuICAgIH0sXG4gIH0pO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvdW5ib3VuZC1tZXRob2RcbiAgeGhycHJvdG8uc2VuZCA9IG5ldyBQcm94eSh4aHJwcm90by5zZW5kLCB7XG4gICAgYXBwbHkob3JpZ2luYWxTZW5kLCBzZW5kVGhpc0FyZywgc2VuZEFyZ0FycmF5KSB7XG4gICAgICBjb25zdCBzZW50cnlYaHJEYXRhID0gc2VuZFRoaXNBcmdbU0VOVFJZX1hIUl9EQVRBX0tFWV07XG5cbiAgICAgIGlmICghc2VudHJ5WGhyRGF0YSkge1xuICAgICAgICByZXR1cm4gb3JpZ2luYWxTZW5kLmFwcGx5KHNlbmRUaGlzQXJnLCBzZW5kQXJnQXJyYXkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoc2VuZEFyZ0FycmF5WzBdICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2VudHJ5WGhyRGF0YS5ib2R5ID0gc2VuZEFyZ0FycmF5WzBdO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBoYW5kbGVyRGF0YSA9IHtcbiAgICAgICAgc3RhcnRUaW1lc3RhbXA6IHRpbWVzdGFtcEluU2Vjb25kcygpICogMTAwMCxcbiAgICAgICAgeGhyOiBzZW5kVGhpc0FyZyxcbiAgICAgIH07XG4gICAgICB0cmlnZ2VySGFuZGxlcnMoJ3hocicsIGhhbmRsZXJEYXRhKTtcblxuICAgICAgcmV0dXJuIG9yaWdpbmFsU2VuZC5hcHBseShzZW5kVGhpc0FyZywgc2VuZEFyZ0FycmF5KTtcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqXG4gKiBQYXJzZXMgdGhlIFVSTCBhcmd1bWVudCBvZiBhIFhIUiBtZXRob2QgdG8gYSBzdHJpbmcuXG4gKlxuICogU2VlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvWE1MSHR0cFJlcXVlc3Qvb3BlbiN1cmxcbiAqIHVybDogQSBzdHJpbmcgb3IgYW55IG90aGVyIG9iamVjdCB3aXRoIGEgc3RyaW5naWZpZXIg4oCUIGluY2x1ZGluZyBhIFVSTCBvYmplY3Qg4oCUIHRoYXQgcHJvdmlkZXMgdGhlIFVSTCBvZiB0aGUgcmVzb3VyY2UgdG8gc2VuZCB0aGUgcmVxdWVzdCB0by5cbiAqXG4gKiBAcGFyYW0gdXJsIC0gVGhlIFVSTCBhcmd1bWVudCBvZiBhbiBYSFIgbWV0aG9kXG4gKiBAcmV0dXJucyBUaGUgcGFyc2VkIFVSTCBzdHJpbmcgb3IgdW5kZWZpbmVkIGlmIHRoZSBVUkwgaXMgaW52YWxpZFxuICovXG5mdW5jdGlvbiBwYXJzZVhoclVybEFyZyh1cmwpIHtcbiAgaWYgKGlzU3RyaW5nKHVybCkpIHtcbiAgICByZXR1cm4gdXJsO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBJZiB0aGUgcGFzc2VkIGluIGFyZ3VtZW50IGlzIG5vdCBhIHN0cmluZywgaXQgc2hvdWxkIGhhdmUgYSBgdG9TdHJpbmdgIG1ldGhvZCBhcyBhIHN0cmluZ2lmaWVyLlxuICAgIC8vIElmIHRoYXQgZmFpbHMsIHdlIGp1c3QgcmV0dXJuIHVuZGVmaW5lZCAobGlrZSBpbiBJRTExIHdoZXJlIFVSTCBpcyBub3QgYXZhaWxhYmxlKVxuICAgIHJldHVybiAodXJsICkudG9TdHJpbmcoKTtcbiAgfSBjYXRjaCB7fSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWVtcHR5XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IHsgU0VOVFJZX1hIUl9EQVRBX0tFWSwgYWRkWGhySW5zdHJ1bWVudGF0aW9uSGFuZGxlciwgaW5zdHJ1bWVudFhIUiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9eGhyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/instrument/xhr.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/browserMetrics.js": /*!*****************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/browserMetrics.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _addMeasureSpans: () => (/* binding */ _addMeasureSpans),\n/* harmony export */ _addNavigationSpans: () => (/* binding */ _addNavigationSpans),\n/* harmony export */ _addResourceSpans: () => (/* binding */ _addResourceSpans),\n/* harmony export */ addPerformanceEntries: () => (/* binding */ addPerformanceEntries),\n/* harmony export */ startTrackingInteractions: () => (/* binding */ startTrackingInteractions),\n/* harmony export */ startTrackingLongAnimationFrames: () => (/* binding */ startTrackingLongAnimationFrames),\n/* harmony export */ startTrackingLongTasks: () => (/* binding */ startTrackingLongTasks),\n/* harmony export */ startTrackingWebVitals: () => (/* binding */ startTrackingWebVitals)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/time.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/spanUtils.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/semanticAttributes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/browser.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/tracing/measurement.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/string.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/is.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/url.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _cls_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./cls.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/cls.js\");\n/* harmony import */ var _instrument_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./instrument.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js\");\n/* harmony import */ var _lcp_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lcp.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/lcp.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js\");\n/* harmony import */ var _web_vitals_lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./web-vitals/lib/getActivationStart.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\");\n/* harmony import */ var _web_vitals_lib_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./web-vitals/lib/getNavigationEntry.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js\");\n/* harmony import */ var _web_vitals_lib_getVisibilityWatcher_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./web-vitals/lib/getVisibilityWatcher.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js\");\n\n\n\n\n\n\n\n\n\n\nconst MAX_INT_AS_BYTES = 2147483647;\n\nlet _performanceCursor = 0;\n\nlet _measurements = {};\nlet _lcpEntry;\nlet _clsEntry;\n\n/**\n * Start tracking web vitals.\n * The callback returned by this function can be used to stop tracking & ensure all measurements are final & captured.\n *\n * @returns A function that forces web vitals collection\n */\nfunction startTrackingWebVitals({\n recordClsStandaloneSpans,\n recordLcpStandaloneSpans,\n client,\n}) {\n const performance = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getBrowserPerformanceAPI)();\n if (performance && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)()) {\n // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n if (performance.mark) {\n _types_js__WEBPACK_IMPORTED_MODULE_2__.WINDOW.performance.mark('sentry-tracing-init');\n }\n const lcpCleanupCallback = recordLcpStandaloneSpans ? (0,_lcp_js__WEBPACK_IMPORTED_MODULE_3__.trackLcpAsStandaloneSpan)(client) : _trackLCP();\n const ttfbCleanupCallback = _trackTtfb();\n const clsCleanupCallback = recordClsStandaloneSpans ? (0,_cls_js__WEBPACK_IMPORTED_MODULE_4__.trackClsAsStandaloneSpan)(client) : _trackCLS();\n\n return () => {\n lcpCleanupCallback?.();\n ttfbCleanupCallback();\n clsCleanupCallback?.();\n };\n }\n\n return () => undefined;\n}\n\n/**\n * Start tracking long tasks.\n */\nfunction startTrackingLongTasks() {\n (0,_instrument_js__WEBPACK_IMPORTED_MODULE_5__.addPerformanceInstrumentationHandler)('longtask', ({ entries }) => {\n const parent = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.getActiveSpan)();\n if (!parent) {\n return;\n }\n\n const { op: parentOp, start_timestamp: parentStartTimestamp } = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.spanToJSON)(parent);\n\n for (const entry of entries) {\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(((0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)() ) + entry.startTime);\n const duration = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.duration);\n\n if (parentOp === 'navigation' && parentStartTimestamp && startTime < parentStartTimestamp) {\n // Skip adding a span if the long task started before the navigation started.\n // `startAndEndSpan` will otherwise adjust the parent's start time to the span's start\n // time, potentially skewing the duration of the actual navigation as reported via our\n // routing instrumentations\n continue;\n }\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(parent, startTime, startTime + duration, {\n name: 'Main UI thread blocked',\n op: 'ui.long-task',\n attributes: {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n }\n });\n}\n\n/**\n * Start tracking long animation frames.\n */\nfunction startTrackingLongAnimationFrames() {\n // NOTE: the current web-vitals version (3.5.2) does not support long-animation-frame, so\n // we directly observe `long-animation-frame` events instead of through the web-vitals\n // `observe` helper function.\n const observer = new PerformanceObserver(list => {\n const parent = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.getActiveSpan)();\n if (!parent) {\n return;\n }\n for (const entry of list.getEntries() ) {\n if (!entry.scripts[0]) {\n continue;\n }\n\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(((0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)() ) + entry.startTime);\n\n const { start_timestamp: parentStartTimestamp, op: parentOp } = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.spanToJSON)(parent);\n\n if (parentOp === 'navigation' && parentStartTimestamp && startTime < parentStartTimestamp) {\n // Skip adding the span if the long animation frame started before the navigation started.\n // `startAndEndSpan` will otherwise adjust the parent's start time to the span's start\n // time, potentially skewing the duration of the actual navigation as reported via our\n // routing instrumentations\n continue;\n }\n const duration = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.duration);\n\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n };\n\n const initialScript = entry.scripts[0];\n const { invoker, invokerType, sourceURL, sourceFunctionName, sourceCharPosition } = initialScript;\n attributes['browser.script.invoker'] = invoker;\n attributes['browser.script.invoker_type'] = invokerType;\n if (sourceURL) {\n attributes['code.filepath'] = sourceURL;\n }\n if (sourceFunctionName) {\n attributes['code.function'] = sourceFunctionName;\n }\n if (sourceCharPosition !== -1) {\n attributes['browser.script.source_char_position'] = sourceCharPosition;\n }\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(parent, startTime, startTime + duration, {\n name: 'Main UI thread blocked',\n op: 'ui.long-animation-frame',\n attributes,\n });\n }\n });\n\n observer.observe({ type: 'long-animation-frame', buffered: true });\n}\n\n/**\n * Start tracking interaction events.\n */\nfunction startTrackingInteractions() {\n (0,_instrument_js__WEBPACK_IMPORTED_MODULE_5__.addPerformanceInstrumentationHandler)('event', ({ entries }) => {\n const parent = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.getActiveSpan)();\n if (!parent) {\n return;\n }\n for (const entry of entries) {\n if (entry.name === 'click') {\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(((0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)() ) + entry.startTime);\n const duration = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.duration);\n\n const spanOptions = {\n name: (0,_sentry_core__WEBPACK_IMPORTED_MODULE_8__.htmlTreeAsString)(entry.target),\n op: `ui.interaction.${entry.name}`,\n startTime: startTime,\n attributes: {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n };\n\n const componentName = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_8__.getComponentName)(entry.target);\n if (componentName) {\n spanOptions.attributes['ui.component_name'] = componentName;\n }\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(parent, startTime, startTime + duration, spanOptions);\n }\n }\n });\n}\n\n/**\n * Starts tracking the Cumulative Layout Shift on the current page and collects the value and last entry\n * to the `_measurements` object which ultimately is applied to the pageload span's measurements.\n */\nfunction _trackCLS() {\n return (0,_instrument_js__WEBPACK_IMPORTED_MODULE_5__.addClsInstrumentationHandler)(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1] ;\n if (!entry) {\n return;\n }\n _measurements['cls'] = { value: metric.value, unit: '' };\n _clsEntry = entry;\n }, true);\n}\n\n/** Starts tracking the Largest Contentful Paint on the current page. */\nfunction _trackLCP() {\n return (0,_instrument_js__WEBPACK_IMPORTED_MODULE_5__.addLcpInstrumentationHandler)(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1];\n if (!entry) {\n return;\n }\n\n _measurements['lcp'] = { value: metric.value, unit: 'millisecond' };\n _lcpEntry = entry ;\n }, true);\n}\n\nfunction _trackTtfb() {\n return (0,_instrument_js__WEBPACK_IMPORTED_MODULE_5__.addTtfbInstrumentationHandler)(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1];\n if (!entry) {\n return;\n }\n\n _measurements['ttfb'] = { value: metric.value, unit: 'millisecond' };\n });\n}\n\n/** Add performance related spans to a transaction */\nfunction addPerformanceEntries(span, options) {\n const performance = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getBrowserPerformanceAPI)();\n const origin = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)();\n if (!performance?.getEntries || !origin) {\n // Gatekeeper if performance API not available\n return;\n }\n\n const timeOrigin = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(origin);\n\n const performanceEntries = performance.getEntries();\n\n const { op, start_timestamp: transactionStartTime } = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.spanToJSON)(span);\n\n performanceEntries.slice(_performanceCursor).forEach(entry => {\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.startTime);\n const duration = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(\n // Inexplicably, Chrome sometimes emits a negative duration. We need to work around this.\n // There is a SO post attempting to explain this, but it leaves one with open questions: https://stackoverflow.com/questions/23191918/peformance-getentries-and-negative-duration-display\n // The way we clamp the value is probably not accurate, since we have observed this happen for things that may take a while to load, like for example the replay worker.\n // TODO: Investigate why this happens and how to properly mitigate. For now, this is a workaround to prevent transactions being dropped due to negative duration spans.\n Math.max(0, entry.duration),\n );\n\n if (op === 'navigation' && transactionStartTime && timeOrigin + startTime < transactionStartTime) {\n return;\n }\n\n switch (entry.entryType) {\n case 'navigation': {\n _addNavigationSpans(span, entry , timeOrigin);\n break;\n }\n case 'mark':\n case 'paint':\n case 'measure': {\n _addMeasureSpans(span, entry, startTime, duration, timeOrigin, options.ignorePerformanceApiSpans);\n\n // capture web vitals\n const firstHidden = (0,_web_vitals_lib_getVisibilityWatcher_js__WEBPACK_IMPORTED_MODULE_9__.getVisibilityWatcher)();\n // Only report if the page wasn't hidden prior to the web vital.\n const shouldRecord = entry.startTime < firstHidden.firstHiddenTime;\n\n if (entry.name === 'first-paint' && shouldRecord) {\n _measurements['fp'] = { value: entry.startTime, unit: 'millisecond' };\n }\n if (entry.name === 'first-contentful-paint' && shouldRecord) {\n _measurements['fcp'] = { value: entry.startTime, unit: 'millisecond' };\n }\n break;\n }\n case 'resource': {\n _addResourceSpans(\n span,\n entry ,\n entry.name,\n startTime,\n duration,\n timeOrigin,\n options.ignoreResourceSpans,\n );\n break;\n }\n // Ignore other entry types.\n }\n });\n\n _performanceCursor = Math.max(performanceEntries.length - 1, 0);\n\n _trackNavigator(span);\n\n // Measurements are only available for pageload transactions\n if (op === 'pageload') {\n _addTtfbRequestTimeToMeasurements(_measurements);\n\n // If CLS standalone spans are enabled, don't record CLS as a measurement\n if (!options.recordClsOnPageloadSpan) {\n delete _measurements.cls;\n }\n\n // If LCP standalone spans are enabled, don't record LCP as a measurement\n if (!options.recordLcpOnPageloadSpan) {\n delete _measurements.lcp;\n }\n\n Object.entries(_measurements).forEach(([measurementName, measurement]) => {\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_10__.setMeasurement)(measurementName, measurement.value, measurement.unit);\n });\n\n // Set timeOrigin which denotes the timestamp which to base the LCP/FCP/FP/TTFB measurements on\n span.setAttribute('performance.timeOrigin', timeOrigin);\n\n // In prerendering scenarios, where a page might be prefetched and pre-rendered before the user clicks the link,\n // the navigation starts earlier than when the user clicks it. Web Vitals should always be based on the\n // user-perceived time, so they are not reported from the actual start of the navigation, but rather from the\n // time where the user actively started the navigation, for example by clicking a link.\n // This is user action is called \"activation\" and the time between navigation and activation is stored in\n // the `activationStart` attribute of the \"navigation\" PerformanceEntry.\n span.setAttribute('performance.activationStart', (0,_web_vitals_lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_11__.getActivationStart)());\n\n _setWebVitalAttributes(span, options);\n }\n\n _lcpEntry = undefined;\n _clsEntry = undefined;\n _measurements = {};\n}\n\n/**\n * Create measure related spans.\n * Exported only for tests.\n */\nfunction _addMeasureSpans(\n span,\n entry,\n startTime,\n duration,\n timeOrigin,\n ignorePerformanceApiSpans,\n) {\n if (\n ['mark', 'measure'].includes(entry.entryType) &&\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_12__.stringMatchesSomePattern)(entry.name, ignorePerformanceApiSpans)\n ) {\n return;\n }\n\n const navEntry = (0,_web_vitals_lib_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_13__.getNavigationEntry)(false);\n const requestTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(navEntry ? navEntry.requestStart : 0);\n // Because performance.measure accepts arbitrary timestamps it can produce\n // spans that happen before the browser even makes a request for the page.\n //\n // An example of this is the automatically generated Next.js-before-hydration\n // spans created by the Next.js framework.\n //\n // To prevent this we will pin the start timestamp to the request start time\n // This does make duration inaccurate, so if this does happen, we will add\n // an attribute to the span\n const measureStartTimestamp = timeOrigin + Math.max(startTime, requestTime);\n const startTimeStamp = timeOrigin + startTime;\n const measureEndTimestamp = startTimeStamp + duration;\n\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.resource.browser.metrics',\n };\n\n if (measureStartTimestamp !== startTimeStamp) {\n attributes['sentry.browser.measure_happened_before_request'] = true;\n attributes['sentry.browser.measure_start_time'] = measureStartTimestamp;\n }\n\n _addDetailToSpanAttributes(attributes, entry );\n\n // Measurements from third parties can be off, which would create invalid spans, dropping transactions in the process.\n if (measureStartTimestamp <= measureEndTimestamp) {\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(span, measureStartTimestamp, measureEndTimestamp, {\n name: entry.name ,\n op: entry.entryType ,\n attributes,\n });\n }\n}\n\nfunction _addDetailToSpanAttributes(attributes, performanceMeasure) {\n try {\n // Accessing detail might throw in some browsers (e.g., Firefox) due to security restrictions\n const detail = performanceMeasure.detail;\n\n if (!detail) {\n return;\n }\n\n // Process detail based on its type\n if (typeof detail === 'object') {\n // Handle object details\n for (const [key, value] of Object.entries(detail)) {\n if (value && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_14__.isPrimitive)(value)) {\n attributes[`sentry.browser.measure.detail.${key}`] = value ;\n } else if (value !== undefined) {\n try {\n // This is user defined so we can't guarantee it's serializable\n attributes[`sentry.browser.measure.detail.${key}`] = JSON.stringify(value);\n } catch {\n // Skip values that can't be stringified\n }\n }\n }\n return;\n }\n\n if ((0,_sentry_core__WEBPACK_IMPORTED_MODULE_14__.isPrimitive)(detail)) {\n // Handle primitive details\n attributes['sentry.browser.measure.detail'] = detail ;\n return;\n }\n\n try {\n attributes['sentry.browser.measure.detail'] = JSON.stringify(detail);\n } catch {\n // Skip if stringification fails\n }\n } catch {\n // Silently ignore any errors when accessing detail\n // This handles the Firefox \"Permission denied to access object\" error\n }\n}\n\n/**\n * Instrument navigation entries\n * exported only for tests\n */\nfunction _addNavigationSpans(span, entry, timeOrigin) {\n (['unloadEvent', 'redirect', 'domContentLoadedEvent', 'loadEvent', 'connect'] ).forEach(event => {\n _addPerformanceNavigationTiming(span, entry, event, timeOrigin);\n });\n _addPerformanceNavigationTiming(span, entry, 'secureConnection', timeOrigin, 'TLS/SSL');\n _addPerformanceNavigationTiming(span, entry, 'fetch', timeOrigin, 'cache');\n _addPerformanceNavigationTiming(span, entry, 'domainLookup', timeOrigin, 'DNS');\n\n _addRequest(span, entry, timeOrigin);\n}\n\n/** Create performance navigation related spans */\nfunction _addPerformanceNavigationTiming(\n span,\n entry,\n event,\n timeOrigin,\n name = event,\n) {\n const eventEnd = _getEndPropertyNameForNavigationTiming(event) ;\n const end = entry[eventEnd];\n const start = entry[`${event}Start`];\n if (!start || !end) {\n return;\n }\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(span, timeOrigin + (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(start), timeOrigin + (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(end), {\n op: `browser.${name}`,\n name: entry.name,\n attributes: {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n ...(event === 'redirect' && entry.redirectCount != null ? { 'http.redirect_count': entry.redirectCount } : {}),\n },\n });\n}\n\nfunction _getEndPropertyNameForNavigationTiming(event) {\n if (event === 'secureConnection') {\n return 'connectEnd';\n }\n if (event === 'fetch') {\n return 'domainLookupStart';\n }\n return `${event}End`;\n}\n\n/** Create request and response related spans */\nfunction _addRequest(span, entry, timeOrigin) {\n const requestStartTimestamp = timeOrigin + (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.requestStart );\n const responseEndTimestamp = timeOrigin + (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.responseEnd );\n const responseStartTimestamp = timeOrigin + (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(entry.responseStart );\n if (entry.responseEnd) {\n // It is possible that we are collecting these metrics when the page hasn't finished loading yet, for example when the HTML slowly streams in.\n // In this case, ie. when the document request hasn't finished yet, `entry.responseEnd` will be 0.\n // In order not to produce faulty spans, where the end timestamp is before the start timestamp, we will only collect\n // these spans when the responseEnd value is available. The backend (Relay) would drop the entire span if it contained faulty spans.\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(span, requestStartTimestamp, responseEndTimestamp, {\n op: 'browser.request',\n name: entry.name,\n attributes: {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(span, responseStartTimestamp, responseEndTimestamp, {\n op: 'browser.response',\n name: entry.name,\n attributes: {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.metrics',\n },\n });\n }\n}\n\n/**\n * Create resource-related spans.\n * Exported only for tests.\n */\nfunction _addResourceSpans(\n span,\n entry,\n resourceUrl,\n startTime,\n duration,\n timeOrigin,\n ignoreResourceSpans,\n) {\n // we already instrument based on fetch and xhr, so we don't need to\n // duplicate spans here.\n if (entry.initiatorType === 'xmlhttprequest' || entry.initiatorType === 'fetch') {\n return;\n }\n\n const op = entry.initiatorType ? `resource.${entry.initiatorType}` : 'resource.other';\n if (ignoreResourceSpans?.includes(op)) {\n return;\n }\n\n const parsedUrl = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_15__.parseUrl)(resourceUrl);\n\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.resource.browser.metrics',\n };\n setResourceEntrySizeData(attributes, entry, 'transferSize', 'http.response_transfer_size');\n setResourceEntrySizeData(attributes, entry, 'encodedBodySize', 'http.response_content_length');\n setResourceEntrySizeData(attributes, entry, 'decodedBodySize', 'http.decoded_response_content_length');\n\n // `deliveryType` is experimental and does not exist everywhere\n const deliveryType = (entry ).deliveryType;\n if (deliveryType != null) {\n attributes['http.response_delivery_type'] = deliveryType;\n }\n\n // Types do not reflect this property yet\n const renderBlockingStatus = (entry )\n .renderBlockingStatus;\n if (renderBlockingStatus) {\n attributes['resource.render_blocking_status'] = renderBlockingStatus;\n }\n\n if (parsedUrl.protocol) {\n attributes['url.scheme'] = parsedUrl.protocol.split(':').pop(); // the protocol returned by parseUrl includes a :, but OTEL spec does not, so we remove it.\n }\n\n if (parsedUrl.host) {\n attributes['server.address'] = parsedUrl.host;\n }\n\n attributes['url.same_origin'] = resourceUrl.includes(_types_js__WEBPACK_IMPORTED_MODULE_2__.WINDOW.location.origin);\n\n // Checking for only `undefined` and `null` is intentional because it's\n // valid for `nextHopProtocol` to be an empty string.\n if (entry.nextHopProtocol != null) {\n const { name, version } = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.extractNetworkProtocol)(entry.nextHopProtocol);\n attributes['network.protocol.name'] = name;\n attributes['network.protocol.version'] = version;\n }\n\n const startTimestamp = timeOrigin + startTime;\n const endTimestamp = startTimestamp + duration;\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startAndEndSpan)(span, startTimestamp, endTimestamp, {\n name: resourceUrl.replace(_types_js__WEBPACK_IMPORTED_MODULE_2__.WINDOW.location.origin, ''),\n op,\n attributes,\n });\n}\n\n/**\n * Capture the information of the user agent.\n */\nfunction _trackNavigator(span) {\n const navigator = _types_js__WEBPACK_IMPORTED_MODULE_2__.WINDOW.navigator ;\n if (!navigator) {\n return;\n }\n\n // track network connectivity\n const connection = navigator.connection;\n if (connection) {\n if (connection.effectiveType) {\n span.setAttribute('effectiveConnectionType', connection.effectiveType);\n }\n\n if (connection.type) {\n span.setAttribute('connectionType', connection.type);\n }\n\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMeasurementValue)(connection.rtt)) {\n _measurements['connection.rtt'] = { value: connection.rtt, unit: 'millisecond' };\n }\n }\n\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMeasurementValue)(navigator.deviceMemory)) {\n span.setAttribute('deviceMemory', `${navigator.deviceMemory} GB`);\n }\n\n if ((0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.isMeasurementValue)(navigator.hardwareConcurrency)) {\n span.setAttribute('hardwareConcurrency', String(navigator.hardwareConcurrency));\n }\n}\n\n/** Add LCP / CLS data to span to allow debugging */\nfunction _setWebVitalAttributes(span, options) {\n // Only add LCP attributes if LCP is being recorded on the pageload span\n if (_lcpEntry && options.recordLcpOnPageloadSpan) {\n // Capture Properties of the LCP element that contributes to the LCP.\n\n if (_lcpEntry.element) {\n span.setAttribute('lcp.element', (0,_sentry_core__WEBPACK_IMPORTED_MODULE_8__.htmlTreeAsString)(_lcpEntry.element));\n }\n\n if (_lcpEntry.id) {\n span.setAttribute('lcp.id', _lcpEntry.id);\n }\n\n if (_lcpEntry.url) {\n // Trim URL to the first 200 characters.\n span.setAttribute('lcp.url', _lcpEntry.url.trim().slice(0, 200));\n }\n\n if (_lcpEntry.loadTime != null) {\n // loadTime is the time of LCP that's related to receiving the LCP element response..\n span.setAttribute('lcp.loadTime', _lcpEntry.loadTime);\n }\n\n if (_lcpEntry.renderTime != null) {\n // renderTime is loadTime + rendering time\n // it's 0 if the LCP element is loaded from a 3rd party origin that doesn't send the\n // `Timing-Allow-Origin` header.\n span.setAttribute('lcp.renderTime', _lcpEntry.renderTime);\n }\n\n span.setAttribute('lcp.size', _lcpEntry.size);\n }\n\n // Only add CLS attributes if CLS is being recorded on the pageload span\n if (_clsEntry?.sources && options.recordClsOnPageloadSpan) {\n _clsEntry.sources.forEach((source, index) =>\n span.setAttribute(`cls.source.${index + 1}`, (0,_sentry_core__WEBPACK_IMPORTED_MODULE_8__.htmlTreeAsString)(source.node)),\n );\n }\n}\n\nfunction setResourceEntrySizeData(\n attributes,\n entry,\n key,\n dataKey,\n) {\n const entryVal = entry[key];\n if (entryVal != null && entryVal < MAX_INT_AS_BYTES) {\n attributes[dataKey] = entryVal;\n }\n}\n\n/**\n * Add ttfb request time information to measurements.\n *\n * ttfb information is added via vendored web vitals library.\n */\nfunction _addTtfbRequestTimeToMeasurements(_measurements) {\n const navEntry = (0,_web_vitals_lib_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_13__.getNavigationEntry)(false);\n if (!navEntry) {\n return;\n }\n\n const { responseStart, requestStart } = navEntry;\n\n if (requestStart <= responseStart) {\n _measurements['ttfb.requestTime'] = {\n value: responseStart - requestStart,\n unit: 'millisecond',\n };\n }\n}\n\n\n//# sourceMappingURL=browserMetrics.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvYnJvd3Nlck1ldHJpY3MuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQThOO0FBQ3pMO0FBQ2U7QUFDOEc7QUFDOUc7QUFDd0U7QUFDaEQ7QUFDQTtBQUNJOztBQUVoRjs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsc0JBQXNCLG1FQUF3QjtBQUM5QyxxQkFBcUIsMEVBQTRCO0FBQ2pEO0FBQ0E7QUFDQSxNQUFNLDZDQUFNO0FBQ1o7QUFDQSwwREFBMEQsaUVBQXdCO0FBQ2xGO0FBQ0EsMERBQTBELGlFQUF3Qjs7QUFFbEY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG9GQUFvQyxnQkFBZ0IsU0FBUztBQUMvRCxtQkFBbUIsMkRBQWE7QUFDaEM7QUFDQTtBQUNBOztBQUVBLFlBQVksc0RBQXNELEVBQUUsd0RBQVU7O0FBRTlFO0FBQ0Esd0JBQXdCLGtEQUFPLEVBQUUsMEVBQTRCO0FBQzdELHVCQUF1QixrREFBTzs7QUFFOUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSwwREFBZTtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxXQUFXLDBFQUFnQztBQUMzQyxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsMkRBQWE7QUFDaEM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsd0JBQXdCLGtEQUFPLEVBQUUsMEVBQTRCOztBQUU3RCxjQUFjLHNEQUFzRCxFQUFFLHdEQUFVOztBQUVoRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QixrREFBTzs7QUFFOUI7QUFDQSxTQUFTLDBFQUFnQztBQUN6Qzs7QUFFQTtBQUNBLGNBQWMsMEVBQTBFO0FBQ3hGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSwwREFBZTtBQUNyQjtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHOztBQUVILHFCQUFxQiw4Q0FBOEM7QUFDbkU7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxFQUFFLG9GQUFvQyxhQUFhLFNBQVM7QUFDNUQsbUJBQW1CLDJEQUFhO0FBQ2hDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQkFBMEIsa0RBQU8sRUFBRSwwRUFBNEI7QUFDL0QseUJBQXlCLGtEQUFPOztBQUVoQztBQUNBLGdCQUFnQiw4REFBZ0I7QUFDaEMsZ0NBQWdDLFdBQVc7QUFDM0M7QUFDQTtBQUNBLGFBQWEsMEVBQWdDO0FBQzdDLFdBQVc7QUFDWDs7QUFFQSw4QkFBOEIsOERBQWdCO0FBQzlDO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLDBEQUFlO0FBQ3ZCO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNEVBQTRCLElBQUksUUFBUTtBQUNqRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLDZCQUE2QjtBQUM3QjtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0EsU0FBUyw0RUFBNEIsSUFBSSxRQUFRO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBOztBQUVBLDZCQUE2QjtBQUM3QjtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBLFNBQVMsNkVBQTZCLElBQUksUUFBUTtBQUNsRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQSw4QkFBOEI7QUFDOUIsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSxzQkFBc0IsbUVBQXdCO0FBQzlDLGlCQUFpQiwwRUFBNEI7QUFDN0M7QUFDQTtBQUNBO0FBQ0E7O0FBRUEscUJBQXFCLGtEQUFPOztBQUU1Qjs7QUFFQSxVQUFVLDRDQUE0QyxFQUFFLHdEQUFVOztBQUVsRTtBQUNBLHNCQUFzQixrREFBTztBQUM3QixxQkFBcUIsa0RBQU87QUFDNUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEIsNkZBQW9CO0FBQ2hEO0FBQ0E7O0FBRUE7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBLG1DQUFtQztBQUNuQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLDZEQUFjO0FBQ3BCLEtBQUs7O0FBRUw7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxxREFBcUQsMEZBQWtCOztBQUV2RTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLHVFQUF3QjtBQUM1QjtBQUNBO0FBQ0E7O0FBRUEsbUJBQW1CLDBGQUFrQjtBQUNyQyxzQkFBc0Isa0RBQU87QUFDN0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsS0FBSywwRUFBZ0M7QUFDckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLElBQUksMERBQWU7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUJBQXFCLDBEQUFXO0FBQ2hDLHNEQUFzRCxJQUFJO0FBQzFELFVBQVU7QUFDVjtBQUNBO0FBQ0Esd0RBQXdELElBQUk7QUFDNUQsWUFBWTtBQUNaO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLDBEQUFXO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixNQUFNO0FBQy9CO0FBQ0E7QUFDQTtBQUNBLEVBQUUsMERBQWUsb0JBQW9CLGtEQUFPLHNCQUFzQixrREFBTztBQUN6RSxtQkFBbUIsS0FBSztBQUN4QjtBQUNBO0FBQ0EsT0FBTywwRUFBZ0M7QUFDdkMsa0VBQWtFLDZDQUE2QyxJQUFJO0FBQ25ILEtBQUs7QUFDTCxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLE1BQU07QUFDbEI7O0FBRUE7QUFDQTtBQUNBLDZDQUE2QyxrREFBTztBQUNwRCw0Q0FBNEMsa0RBQU87QUFDbkQsOENBQThDLGtEQUFPO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJLDBEQUFlO0FBQ25CO0FBQ0E7QUFDQTtBQUNBLFNBQVMsMEVBQWdDO0FBQ3pDLE9BQU87QUFDUCxLQUFLOztBQUVMLElBQUksMERBQWU7QUFDbkI7QUFDQTtBQUNBO0FBQ0EsU0FBUywwRUFBZ0M7QUFDekMsT0FBTztBQUNQLEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwrQ0FBK0Msb0JBQW9CO0FBQ25FO0FBQ0E7QUFDQTs7QUFFQSxvQkFBb0IsdURBQVE7O0FBRTVCO0FBQ0EsS0FBSywwRUFBZ0M7QUFDckM7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvRUFBb0U7QUFDcEU7O0FBRUE7QUFDQTtBQUNBOztBQUVBLHVEQUF1RCw2Q0FBTTs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0EsWUFBWSxnQkFBZ0IsRUFBRSxpRUFBc0I7QUFDcEQ7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUEsRUFBRSwwREFBZTtBQUNqQiw4QkFBOEIsNkNBQU07QUFDcEM7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiw2Q0FBTTtBQUMxQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxRQUFRLDZEQUFrQjtBQUMxQiwwQ0FBMEM7QUFDMUM7QUFDQTs7QUFFQSxNQUFNLDZEQUFrQjtBQUN4Qix5Q0FBeUMsd0JBQXdCO0FBQ2pFOztBQUVBLE1BQU0sNkRBQWtCO0FBQ3hCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsdUNBQXVDLDhEQUFnQjtBQUN2RDs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esc0NBQXNDLFVBQVUsR0FBRyw4REFBZ0I7QUFDbkU7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLDBGQUFrQjtBQUNyQztBQUNBO0FBQ0E7O0FBRUEsVUFBVSw4QkFBOEI7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUV3TTtBQUN4TSIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL0BzZW50cnktaW50ZXJuYWwvYnJvd3Nlci11dGlscy9idWlsZC9lc20vbWV0cmljcy9icm93c2VyTWV0cmljcy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicm93c2VyUGVyZm9ybWFuY2VUaW1lT3JpZ2luLCBzcGFuVG9KU09OLCBzZXRNZWFzdXJlbWVudCwgZ2V0QWN0aXZlU3BhbiwgcGFyc2VVcmwsIHN0cmluZ01hdGNoZXNTb21lUGF0dGVybiwgaXNQcmltaXRpdmUsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1JJR0lOLCBodG1sVHJlZUFzU3RyaW5nLCBnZXRDb21wb25lbnROYW1lIH0gZnJvbSAnQHNlbnRyeS9jb3JlJztcbmltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uL3R5cGVzLmpzJztcbmltcG9ydCB7IHRyYWNrQ2xzQXNTdGFuZGFsb25lU3BhbiB9IGZyb20gJy4vY2xzLmpzJztcbmltcG9ydCB7IGFkZFBlcmZvcm1hbmNlSW5zdHJ1bWVudGF0aW9uSGFuZGxlciwgYWRkTGNwSW5zdHJ1bWVudGF0aW9uSGFuZGxlciwgYWRkVHRmYkluc3RydW1lbnRhdGlvbkhhbmRsZXIsIGFkZENsc0luc3RydW1lbnRhdGlvbkhhbmRsZXIgfSBmcm9tICcuL2luc3RydW1lbnQuanMnO1xuaW1wb3J0IHsgdHJhY2tMY3BBc1N0YW5kYWxvbmVTcGFuIH0gZnJvbSAnLi9sY3AuanMnO1xuaW1wb3J0IHsgZ2V0QnJvd3NlclBlcmZvcm1hbmNlQVBJLCBtc1RvU2VjLCBzdGFydEFuZEVuZFNwYW4sIGV4dHJhY3ROZXR3b3JrUHJvdG9jb2wsIGlzTWVhc3VyZW1lbnRWYWx1ZSB9IGZyb20gJy4vdXRpbHMuanMnO1xuaW1wb3J0IHsgZ2V0QWN0aXZhdGlvblN0YXJ0IH0gZnJvbSAnLi93ZWItdml0YWxzL2xpYi9nZXRBY3RpdmF0aW9uU3RhcnQuanMnO1xuaW1wb3J0IHsgZ2V0TmF2aWdhdGlvbkVudHJ5IH0gZnJvbSAnLi93ZWItdml0YWxzL2xpYi9nZXROYXZpZ2F0aW9uRW50cnkuanMnO1xuaW1wb3J0IHsgZ2V0VmlzaWJpbGl0eVdhdGNoZXIgfSBmcm9tICcuL3dlYi12aXRhbHMvbGliL2dldFZpc2liaWxpdHlXYXRjaGVyLmpzJztcblxuY29uc3QgTUFYX0lOVF9BU19CWVRFUyA9IDIxNDc0ODM2NDc7XG5cbmxldCBfcGVyZm9ybWFuY2VDdXJzb3IgPSAwO1xuXG5sZXQgX21lYXN1cmVtZW50cyA9IHt9O1xubGV0IF9sY3BFbnRyeTtcbmxldCBfY2xzRW50cnk7XG5cbi8qKlxuICogU3RhcnQgdHJhY2tpbmcgd2ViIHZpdGFscy5cbiAqIFRoZSBjYWxsYmFjayByZXR1cm5lZCBieSB0aGlzIGZ1bmN0aW9uIGNhbiBiZSB1c2VkIHRvIHN0b3AgdHJhY2tpbmcgJiBlbnN1cmUgYWxsIG1lYXN1cmVtZW50cyBhcmUgZmluYWwgJiBjYXB0dXJlZC5cbiAqXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgZm9yY2VzIHdlYiB2aXRhbHMgY29sbGVjdGlvblxuICovXG5mdW5jdGlvbiBzdGFydFRyYWNraW5nV2ViVml0YWxzKHtcbiAgcmVjb3JkQ2xzU3RhbmRhbG9uZVNwYW5zLFxuICByZWNvcmRMY3BTdGFuZGFsb25lU3BhbnMsXG4gIGNsaWVudCxcbn0pIHtcbiAgY29uc3QgcGVyZm9ybWFuY2UgPSBnZXRCcm93c2VyUGVyZm9ybWFuY2VBUEkoKTtcbiAgaWYgKHBlcmZvcm1hbmNlICYmIGJyb3dzZXJQZXJmb3JtYW5jZVRpbWVPcmlnaW4oKSkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igd2Ugd2FudCB0byBtYWtlIHN1cmUgYWxsIG9mIHRoZXNlIGFyZSBhdmFpbGFibGUsIGV2ZW4gaWYgVFMgaXMgc3VyZSB0aGV5IGFyZVxuICAgIGlmIChwZXJmb3JtYW5jZS5tYXJrKSB7XG4gICAgICBXSU5ET1cucGVyZm9ybWFuY2UubWFyaygnc2VudHJ5LXRyYWNpbmctaW5pdCcpO1xuICAgIH1cbiAgICBjb25zdCBsY3BDbGVhbnVwQ2FsbGJhY2sgPSByZWNvcmRMY3BTdGFuZGFsb25lU3BhbnMgPyB0cmFja0xjcEFzU3RhbmRhbG9uZVNwYW4oY2xpZW50KSA6IF90cmFja0xDUCgpO1xuICAgIGNvbnN0IHR0ZmJDbGVhbnVwQ2FsbGJhY2sgPSBfdHJhY2tUdGZiKCk7XG4gICAgY29uc3QgY2xzQ2xlYW51cENhbGxiYWNrID0gcmVjb3JkQ2xzU3RhbmRhbG9uZVNwYW5zID8gdHJhY2tDbHNBc1N0YW5kYWxvbmVTcGFuKGNsaWVudCkgOiBfdHJhY2tDTFMoKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBsY3BDbGVhbnVwQ2FsbGJhY2s/LigpO1xuICAgICAgdHRmYkNsZWFudXBDYWxsYmFjaygpO1xuICAgICAgY2xzQ2xlYW51cENhbGxiYWNrPy4oKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuICgpID0+IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBTdGFydCB0cmFja2luZyBsb25nIHRhc2tzLlxuICovXG5mdW5jdGlvbiBzdGFydFRyYWNraW5nTG9uZ1Rhc2tzKCkge1xuICBhZGRQZXJmb3JtYW5jZUluc3RydW1lbnRhdGlvbkhhbmRsZXIoJ2xvbmd0YXNrJywgKHsgZW50cmllcyB9KSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gZ2V0QWN0aXZlU3BhbigpO1xuICAgIGlmICghcGFyZW50KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBvcDogcGFyZW50T3AsIHN0YXJ0X3RpbWVzdGFtcDogcGFyZW50U3RhcnRUaW1lc3RhbXAgfSA9IHNwYW5Ub0pTT04ocGFyZW50KTtcblxuICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gbXNUb1NlYygoYnJvd3NlclBlcmZvcm1hbmNlVGltZU9yaWdpbigpICkgKyBlbnRyeS5zdGFydFRpbWUpO1xuICAgICAgY29uc3QgZHVyYXRpb24gPSBtc1RvU2VjKGVudHJ5LmR1cmF0aW9uKTtcblxuICAgICAgaWYgKHBhcmVudE9wID09PSAnbmF2aWdhdGlvbicgJiYgcGFyZW50U3RhcnRUaW1lc3RhbXAgJiYgc3RhcnRUaW1lIDwgcGFyZW50U3RhcnRUaW1lc3RhbXApIHtcbiAgICAgICAgLy8gU2tpcCBhZGRpbmcgYSBzcGFuIGlmIHRoZSBsb25nIHRhc2sgc3RhcnRlZCBiZWZvcmUgdGhlIG5hdmlnYXRpb24gc3RhcnRlZC5cbiAgICAgICAgLy8gYHN0YXJ0QW5kRW5kU3BhbmAgd2lsbCBvdGhlcndpc2UgYWRqdXN0IHRoZSBwYXJlbnQncyBzdGFydCB0aW1lIHRvIHRoZSBzcGFuJ3Mgc3RhcnRcbiAgICAgICAgLy8gdGltZSwgcG90ZW50aWFsbHkgc2tld2luZyB0aGUgZHVyYXRpb24gb2YgdGhlIGFjdHVhbCBuYXZpZ2F0aW9uIGFzIHJlcG9ydGVkIHZpYSBvdXJcbiAgICAgICAgLy8gcm91dGluZyBpbnN0cnVtZW50YXRpb25zXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBzdGFydEFuZEVuZFNwYW4ocGFyZW50LCBzdGFydFRpbWUsIHN0YXJ0VGltZSArIGR1cmF0aW9uLCB7XG4gICAgICAgIG5hbWU6ICdNYWluIFVJIHRocmVhZCBibG9ja2VkJyxcbiAgICAgICAgb3A6ICd1aS5sb25nLXRhc2snLFxuICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgW1NFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1JJR0lOXTogJ2F1dG8udWkuYnJvd3Nlci5tZXRyaWNzJyxcbiAgICAgICAgfSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59XG5cbi8qKlxuICogU3RhcnQgdHJhY2tpbmcgbG9uZyBhbmltYXRpb24gZnJhbWVzLlxuICovXG5mdW5jdGlvbiBzdGFydFRyYWNraW5nTG9uZ0FuaW1hdGlvbkZyYW1lcygpIHtcbiAgLy8gTk9URTogdGhlIGN1cnJlbnQgd2ViLXZpdGFscyB2ZXJzaW9uICgzLjUuMikgZG9lcyBub3Qgc3VwcG9ydCBsb25nLWFuaW1hdGlvbi1mcmFtZSwgc29cbiAgLy8gd2UgZGlyZWN0bHkgb2JzZXJ2ZSBgbG9uZy1hbmltYXRpb24tZnJhbWVgIGV2ZW50cyBpbnN0ZWFkIG9mIHRocm91Z2ggdGhlIHdlYi12aXRhbHNcbiAgLy8gYG9ic2VydmVgIGhlbHBlciBmdW5jdGlvbi5cbiAgY29uc3Qgb2JzZXJ2ZXIgPSBuZXcgUGVyZm9ybWFuY2VPYnNlcnZlcihsaXN0ID0+IHtcbiAgICBjb25zdCBwYXJlbnQgPSBnZXRBY3RpdmVTcGFuKCk7XG4gICAgaWYgKCFwYXJlbnQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCBlbnRyeSBvZiBsaXN0LmdldEVudHJpZXMoKSApIHtcbiAgICAgIGlmICghZW50cnkuc2NyaXB0c1swXSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc3RhcnRUaW1lID0gbXNUb1NlYygoYnJvd3NlclBlcmZvcm1hbmNlVGltZU9yaWdpbigpICkgKyBlbnRyeS5zdGFydFRpbWUpO1xuXG4gICAgICBjb25zdCB7IHN0YXJ0X3RpbWVzdGFtcDogcGFyZW50U3RhcnRUaW1lc3RhbXAsIG9wOiBwYXJlbnRPcCB9ID0gc3BhblRvSlNPTihwYXJlbnQpO1xuXG4gICAgICBpZiAocGFyZW50T3AgPT09ICduYXZpZ2F0aW9uJyAmJiBwYXJlbnRTdGFydFRpbWVzdGFtcCAmJiBzdGFydFRpbWUgPCBwYXJlbnRTdGFydFRpbWVzdGFtcCkge1xuICAgICAgICAvLyBTa2lwIGFkZGluZyB0aGUgc3BhbiBpZiB0aGUgbG9uZyBhbmltYXRpb24gZnJhbWUgc3RhcnRlZCBiZWZvcmUgdGhlIG5hdmlnYXRpb24gc3RhcnRlZC5cbiAgICAgICAgLy8gYHN0YXJ0QW5kRW5kU3BhbmAgd2lsbCBvdGhlcndpc2UgYWRqdXN0IHRoZSBwYXJlbnQncyBzdGFydCB0aW1lIHRvIHRoZSBzcGFuJ3Mgc3RhcnRcbiAgICAgICAgLy8gdGltZSwgcG90ZW50aWFsbHkgc2tld2luZyB0aGUgZHVyYXRpb24gb2YgdGhlIGFjdHVhbCBuYXZpZ2F0aW9uIGFzIHJlcG9ydGVkIHZpYSBvdXJcbiAgICAgICAgLy8gcm91dGluZyBpbnN0cnVtZW50YXRpb25zXG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgY29uc3QgZHVyYXRpb24gPSBtc1RvU2VjKGVudHJ5LmR1cmF0aW9uKTtcblxuICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHtcbiAgICAgICAgW1NFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1JJR0lOXTogJ2F1dG8udWkuYnJvd3Nlci5tZXRyaWNzJyxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IGluaXRpYWxTY3JpcHQgPSBlbnRyeS5zY3JpcHRzWzBdO1xuICAgICAgY29uc3QgeyBpbnZva2VyLCBpbnZva2VyVHlwZSwgc291cmNlVVJMLCBzb3VyY2VGdW5jdGlvbk5hbWUsIHNvdXJjZUNoYXJQb3NpdGlvbiB9ID0gaW5pdGlhbFNjcmlwdDtcbiAgICAgIGF0dHJpYnV0ZXNbJ2Jyb3dzZXIuc2NyaXB0Lmludm9rZXInXSA9IGludm9rZXI7XG4gICAgICBhdHRyaWJ1dGVzWydicm93c2VyLnNjcmlwdC5pbnZva2VyX3R5cGUnXSA9IGludm9rZXJUeXBlO1xuICAgICAgaWYgKHNvdXJjZVVSTCkge1xuICAgICAgICBhdHRyaWJ1dGVzWydjb2RlLmZpbGVwYXRoJ10gPSBzb3VyY2VVUkw7XG4gICAgICB9XG4gICAgICBpZiAoc291cmNlRnVuY3Rpb25OYW1lKSB7XG4gICAgICAgIGF0dHJpYnV0ZXNbJ2NvZGUuZnVuY3Rpb24nXSA9IHNvdXJjZUZ1bmN0aW9uTmFtZTtcbiAgICAgIH1cbiAgICAgIGlmIChzb3VyY2VDaGFyUG9zaXRpb24gIT09IC0xKSB7XG4gICAgICAgIGF0dHJpYnV0ZXNbJ2Jyb3dzZXIuc2NyaXB0LnNvdXJjZV9jaGFyX3Bvc2l0aW9uJ10gPSBzb3VyY2VDaGFyUG9zaXRpb247XG4gICAgICB9XG5cbiAgICAgIHN0YXJ0QW5kRW5kU3BhbihwYXJlbnQsIHN0YXJ0VGltZSwgc3RhcnRUaW1lICsgZHVyYXRpb24sIHtcbiAgICAgICAgbmFtZTogJ01haW4gVUkgdGhyZWFkIGJsb2NrZWQnLFxuICAgICAgICBvcDogJ3VpLmxvbmctYW5pbWF0aW9uLWZyYW1lJyxcbiAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG5cbiAgb2JzZXJ2ZXIub2JzZXJ2ZSh7IHR5cGU6ICdsb25nLWFuaW1hdGlvbi1mcmFtZScsIGJ1ZmZlcmVkOiB0cnVlIH0pO1xufVxuXG4vKipcbiAqIFN0YXJ0IHRyYWNraW5nIGludGVyYWN0aW9uIGV2ZW50cy5cbiAqL1xuZnVuY3Rpb24gc3RhcnRUcmFja2luZ0ludGVyYWN0aW9ucygpIHtcbiAgYWRkUGVyZm9ybWFuY2VJbnN0cnVtZW50YXRpb25IYW5kbGVyKCdldmVudCcsICh7IGVudHJpZXMgfSkgPT4ge1xuICAgIGNvbnN0IHBhcmVudCA9IGdldEFjdGl2ZVNwYW4oKTtcbiAgICBpZiAoIXBhcmVudCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmIChlbnRyeS5uYW1lID09PSAnY2xpY2snKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0VGltZSA9IG1zVG9TZWMoKGJyb3dzZXJQZXJmb3JtYW5jZVRpbWVPcmlnaW4oKSApICsgZW50cnkuc3RhcnRUaW1lKTtcbiAgICAgICAgY29uc3QgZHVyYXRpb24gPSBtc1RvU2VjKGVudHJ5LmR1cmF0aW9uKTtcblxuICAgICAgICBjb25zdCBzcGFuT3B0aW9ucyA9IHtcbiAgICAgICAgICBuYW1lOiBodG1sVHJlZUFzU3RyaW5nKGVudHJ5LnRhcmdldCksXG4gICAgICAgICAgb3A6IGB1aS5pbnRlcmFjdGlvbi4ke2VudHJ5Lm5hbWV9YCxcbiAgICAgICAgICBzdGFydFRpbWU6IHN0YXJ0VGltZSxcbiAgICAgICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgICAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU5dOiAnYXV0by51aS5icm93c2VyLm1ldHJpY3MnLFxuICAgICAgICAgIH0sXG4gICAgICAgIH07XG5cbiAgICAgICAgY29uc3QgY29tcG9uZW50TmFtZSA9IGdldENvbXBvbmVudE5hbWUoZW50cnkudGFyZ2V0KTtcbiAgICAgICAgaWYgKGNvbXBvbmVudE5hbWUpIHtcbiAgICAgICAgICBzcGFuT3B0aW9ucy5hdHRyaWJ1dGVzWyd1aS5jb21wb25lbnRfbmFtZSddID0gY29tcG9uZW50TmFtZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXJ0QW5kRW5kU3BhbihwYXJlbnQsIHN0YXJ0VGltZSwgc3RhcnRUaW1lICsgZHVyYXRpb24sIHNwYW5PcHRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIFN0YXJ0cyB0cmFja2luZyB0aGUgQ3VtdWxhdGl2ZSBMYXlvdXQgU2hpZnQgb24gdGhlIGN1cnJlbnQgcGFnZSBhbmQgY29sbGVjdHMgdGhlIHZhbHVlIGFuZCBsYXN0IGVudHJ5XG4gKiB0byB0aGUgYF9tZWFzdXJlbWVudHNgIG9iamVjdCB3aGljaCB1bHRpbWF0ZWx5IGlzIGFwcGxpZWQgdG8gdGhlIHBhZ2Vsb2FkIHNwYW4ncyBtZWFzdXJlbWVudHMuXG4gKi9cbmZ1bmN0aW9uIF90cmFja0NMUygpIHtcbiAgcmV0dXJuIGFkZENsc0luc3RydW1lbnRhdGlvbkhhbmRsZXIoKHsgbWV0cmljIH0pID0+IHtcbiAgICBjb25zdCBlbnRyeSA9IG1ldHJpYy5lbnRyaWVzW21ldHJpYy5lbnRyaWVzLmxlbmd0aCAtIDFdIDtcbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIF9tZWFzdXJlbWVudHNbJ2NscyddID0geyB2YWx1ZTogbWV0cmljLnZhbHVlLCB1bml0OiAnJyB9O1xuICAgIF9jbHNFbnRyeSA9IGVudHJ5O1xuICB9LCB0cnVlKTtcbn1cblxuLyoqIFN0YXJ0cyB0cmFja2luZyB0aGUgTGFyZ2VzdCBDb250ZW50ZnVsIFBhaW50IG9uIHRoZSBjdXJyZW50IHBhZ2UuICovXG5mdW5jdGlvbiBfdHJhY2tMQ1AoKSB7XG4gIHJldHVybiBhZGRMY3BJbnN0cnVtZW50YXRpb25IYW5kbGVyKCh7IG1ldHJpYyB9KSA9PiB7XG4gICAgY29uc3QgZW50cnkgPSBtZXRyaWMuZW50cmllc1ttZXRyaWMuZW50cmllcy5sZW5ndGggLSAxXTtcbiAgICBpZiAoIWVudHJ5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgX21lYXN1cmVtZW50c1snbGNwJ10gPSB7IHZhbHVlOiBtZXRyaWMudmFsdWUsIHVuaXQ6ICdtaWxsaXNlY29uZCcgfTtcbiAgICBfbGNwRW50cnkgPSBlbnRyeSA7XG4gIH0sIHRydWUpO1xufVxuXG5mdW5jdGlvbiBfdHJhY2tUdGZiKCkge1xuICByZXR1cm4gYWRkVHRmYkluc3RydW1lbnRhdGlvbkhhbmRsZXIoKHsgbWV0cmljIH0pID0+IHtcbiAgICBjb25zdCBlbnRyeSA9IG1ldHJpYy5lbnRyaWVzW21ldHJpYy5lbnRyaWVzLmxlbmd0aCAtIDFdO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBfbWVhc3VyZW1lbnRzWyd0dGZiJ10gPSB7IHZhbHVlOiBtZXRyaWMudmFsdWUsIHVuaXQ6ICdtaWxsaXNlY29uZCcgfTtcbiAgfSk7XG59XG5cbi8qKiBBZGQgcGVyZm9ybWFuY2UgcmVsYXRlZCBzcGFucyB0byBhIHRyYW5zYWN0aW9uICovXG5mdW5jdGlvbiBhZGRQZXJmb3JtYW5jZUVudHJpZXMoc3Bhbiwgb3B0aW9ucykge1xuICBjb25zdCBwZXJmb3JtYW5jZSA9IGdldEJyb3dzZXJQZXJmb3JtYW5jZUFQSSgpO1xuICBjb25zdCBvcmlnaW4gPSBicm93c2VyUGVyZm9ybWFuY2VUaW1lT3JpZ2luKCk7XG4gIGlmICghcGVyZm9ybWFuY2U/LmdldEVudHJpZXMgfHwgIW9yaWdpbikge1xuICAgIC8vIEdhdGVrZWVwZXIgaWYgcGVyZm9ybWFuY2UgQVBJIG5vdCBhdmFpbGFibGVcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB0aW1lT3JpZ2luID0gbXNUb1NlYyhvcmlnaW4pO1xuXG4gIGNvbnN0IHBlcmZvcm1hbmNlRW50cmllcyA9IHBlcmZvcm1hbmNlLmdldEVudHJpZXMoKTtcblxuICBjb25zdCB7IG9wLCBzdGFydF90aW1lc3RhbXA6IHRyYW5zYWN0aW9uU3RhcnRUaW1lIH0gPSBzcGFuVG9KU09OKHNwYW4pO1xuXG4gIHBlcmZvcm1hbmNlRW50cmllcy5zbGljZShfcGVyZm9ybWFuY2VDdXJzb3IpLmZvckVhY2goZW50cnkgPT4ge1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IG1zVG9TZWMoZW50cnkuc3RhcnRUaW1lKTtcbiAgICBjb25zdCBkdXJhdGlvbiA9IG1zVG9TZWMoXG4gICAgICAvLyBJbmV4cGxpY2FibHksIENocm9tZSBzb21ldGltZXMgZW1pdHMgYSBuZWdhdGl2ZSBkdXJhdGlvbi4gV2UgbmVlZCB0byB3b3JrIGFyb3VuZCB0aGlzLlxuICAgICAgLy8gVGhlcmUgaXMgYSBTTyBwb3N0IGF0dGVtcHRpbmcgdG8gZXhwbGFpbiB0aGlzLCBidXQgaXQgbGVhdmVzIG9uZSB3aXRoIG9wZW4gcXVlc3Rpb25zOiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8yMzE5MTkxOC9wZWZvcm1hbmNlLWdldGVudHJpZXMtYW5kLW5lZ2F0aXZlLWR1cmF0aW9uLWRpc3BsYXlcbiAgICAgIC8vIFRoZSB3YXkgd2UgY2xhbXAgdGhlIHZhbHVlIGlzIHByb2JhYmx5IG5vdCBhY2N1cmF0ZSwgc2luY2Ugd2UgaGF2ZSBvYnNlcnZlZCB0aGlzIGhhcHBlbiBmb3IgdGhpbmdzIHRoYXQgbWF5IHRha2UgYSB3aGlsZSB0byBsb2FkLCBsaWtlIGZvciBleGFtcGxlIHRoZSByZXBsYXkgd29ya2VyLlxuICAgICAgLy8gVE9ETzogSW52ZXN0aWdhdGUgd2h5IHRoaXMgaGFwcGVucyBhbmQgaG93IHRvIHByb3Blcmx5IG1pdGlnYXRlLiBGb3Igbm93LCB0aGlzIGlzIGEgd29ya2Fyb3VuZCB0byBwcmV2ZW50IHRyYW5zYWN0aW9ucyBiZWluZyBkcm9wcGVkIGR1ZSB0byBuZWdhdGl2ZSBkdXJhdGlvbiBzcGFucy5cbiAgICAgIE1hdGgubWF4KDAsIGVudHJ5LmR1cmF0aW9uKSxcbiAgICApO1xuXG4gICAgaWYgKG9wID09PSAnbmF2aWdhdGlvbicgJiYgdHJhbnNhY3Rpb25TdGFydFRpbWUgJiYgdGltZU9yaWdpbiArIHN0YXJ0VGltZSA8IHRyYW5zYWN0aW9uU3RhcnRUaW1lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChlbnRyeS5lbnRyeVR5cGUpIHtcbiAgICAgIGNhc2UgJ25hdmlnYXRpb24nOiB7XG4gICAgICAgIF9hZGROYXZpZ2F0aW9uU3BhbnMoc3BhbiwgZW50cnkgLCB0aW1lT3JpZ2luKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlICdtYXJrJzpcbiAgICAgIGNhc2UgJ3BhaW50JzpcbiAgICAgIGNhc2UgJ21lYXN1cmUnOiB7XG4gICAgICAgIF9hZGRNZWFzdXJlU3BhbnMoc3BhbiwgZW50cnksIHN0YXJ0VGltZSwgZHVyYXRpb24sIHRpbWVPcmlnaW4sIG9wdGlvbnMuaWdub3JlUGVyZm9ybWFuY2VBcGlTcGFucyk7XG5cbiAgICAgICAgLy8gY2FwdHVyZSB3ZWIgdml0YWxzXG4gICAgICAgIGNvbnN0IGZpcnN0SGlkZGVuID0gZ2V0VmlzaWJpbGl0eVdhdGNoZXIoKTtcbiAgICAgICAgLy8gT25seSByZXBvcnQgaWYgdGhlIHBhZ2Ugd2Fzbid0IGhpZGRlbiBwcmlvciB0byB0aGUgd2ViIHZpdGFsLlxuICAgICAgICBjb25zdCBzaG91bGRSZWNvcmQgPSBlbnRyeS5zdGFydFRpbWUgPCBmaXJzdEhpZGRlbi5maXJzdEhpZGRlblRpbWU7XG5cbiAgICAgICAgaWYgKGVudHJ5Lm5hbWUgPT09ICdmaXJzdC1wYWludCcgJiYgc2hvdWxkUmVjb3JkKSB7XG4gICAgICAgICAgX21lYXN1cmVtZW50c1snZnAnXSA9IHsgdmFsdWU6IGVudHJ5LnN0YXJ0VGltZSwgdW5pdDogJ21pbGxpc2Vjb25kJyB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbnRyeS5uYW1lID09PSAnZmlyc3QtY29udGVudGZ1bC1wYWludCcgJiYgc2hvdWxkUmVjb3JkKSB7XG4gICAgICAgICAgX21lYXN1cmVtZW50c1snZmNwJ10gPSB7IHZhbHVlOiBlbnRyeS5zdGFydFRpbWUsIHVuaXQ6ICdtaWxsaXNlY29uZCcgfTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgJ3Jlc291cmNlJzoge1xuICAgICAgICBfYWRkUmVzb3VyY2VTcGFucyhcbiAgICAgICAgICBzcGFuLFxuICAgICAgICAgIGVudHJ5ICxcbiAgICAgICAgICBlbnRyeS5uYW1lLFxuICAgICAgICAgIHN0YXJ0VGltZSxcbiAgICAgICAgICBkdXJhdGlvbixcbiAgICAgICAgICB0aW1lT3JpZ2luLFxuICAgICAgICAgIG9wdGlvbnMuaWdub3JlUmVzb3VyY2VTcGFucyxcbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICAvLyBJZ25vcmUgb3RoZXIgZW50cnkgdHlwZXMuXG4gICAgfVxuICB9KTtcblxuICBfcGVyZm9ybWFuY2VDdXJzb3IgPSBNYXRoLm1heChwZXJmb3JtYW5jZUVudHJpZXMubGVuZ3RoIC0gMSwgMCk7XG5cbiAgX3RyYWNrTmF2aWdhdG9yKHNwYW4pO1xuXG4gIC8vIE1lYXN1cmVtZW50cyBhcmUgb25seSBhdmFpbGFibGUgZm9yIHBhZ2Vsb2FkIHRyYW5zYWN0aW9uc1xuICBpZiAob3AgPT09ICdwYWdlbG9hZCcpIHtcbiAgICBfYWRkVHRmYlJlcXVlc3RUaW1lVG9NZWFzdXJlbWVudHMoX21lYXN1cmVtZW50cyk7XG5cbiAgICAvLyBJZiBDTFMgc3RhbmRhbG9uZSBzcGFucyBhcmUgZW5hYmxlZCwgZG9uJ3QgcmVjb3JkIENMUyBhcyBhIG1lYXN1cmVtZW50XG4gICAgaWYgKCFvcHRpb25zLnJlY29yZENsc09uUGFnZWxvYWRTcGFuKSB7XG4gICAgICBkZWxldGUgX21lYXN1cmVtZW50cy5jbHM7XG4gICAgfVxuXG4gICAgLy8gSWYgTENQIHN0YW5kYWxvbmUgc3BhbnMgYXJlIGVuYWJsZWQsIGRvbid0IHJlY29yZCBMQ1AgYXMgYSBtZWFzdXJlbWVudFxuICAgIGlmICghb3B0aW9ucy5yZWNvcmRMY3BPblBhZ2Vsb2FkU3Bhbikge1xuICAgICAgZGVsZXRlIF9tZWFzdXJlbWVudHMubGNwO1xuICAgIH1cblxuICAgIE9iamVjdC5lbnRyaWVzKF9tZWFzdXJlbWVudHMpLmZvckVhY2goKFttZWFzdXJlbWVudE5hbWUsIG1lYXN1cmVtZW50XSkgPT4ge1xuICAgICAgc2V0TWVhc3VyZW1lbnQobWVhc3VyZW1lbnROYW1lLCBtZWFzdXJlbWVudC52YWx1ZSwgbWVhc3VyZW1lbnQudW5pdCk7XG4gICAgfSk7XG5cbiAgICAvLyBTZXQgdGltZU9yaWdpbiB3aGljaCBkZW5vdGVzIHRoZSB0aW1lc3RhbXAgd2hpY2ggdG8gYmFzZSB0aGUgTENQL0ZDUC9GUC9UVEZCIG1lYXN1cmVtZW50cyBvblxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdwZXJmb3JtYW5jZS50aW1lT3JpZ2luJywgdGltZU9yaWdpbik7XG5cbiAgICAvLyBJbiBwcmVyZW5kZXJpbmcgc2NlbmFyaW9zLCB3aGVyZSBhIHBhZ2UgbWlnaHQgYmUgcHJlZmV0Y2hlZCBhbmQgcHJlLXJlbmRlcmVkIGJlZm9yZSB0aGUgdXNlciBjbGlja3MgdGhlIGxpbmssXG4gICAgLy8gdGhlIG5hdmlnYXRpb24gc3RhcnRzIGVhcmxpZXIgdGhhbiB3aGVuIHRoZSB1c2VyIGNsaWNrcyBpdC4gV2ViIFZpdGFscyBzaG91bGQgYWx3YXlzIGJlIGJhc2VkIG9uIHRoZVxuICAgIC8vIHVzZXItcGVyY2VpdmVkIHRpbWUsIHNvIHRoZXkgYXJlIG5vdCByZXBvcnRlZCBmcm9tIHRoZSBhY3R1YWwgc3RhcnQgb2YgdGhlIG5hdmlnYXRpb24sIGJ1dCByYXRoZXIgZnJvbSB0aGVcbiAgICAvLyB0aW1lIHdoZXJlIHRoZSB1c2VyIGFjdGl2ZWx5IHN0YXJ0ZWQgdGhlIG5hdmlnYXRpb24sIGZvciBleGFtcGxlIGJ5IGNsaWNraW5nIGEgbGluay5cbiAgICAvLyBUaGlzIGlzIHVzZXIgYWN0aW9uIGlzIGNhbGxlZCBcImFjdGl2YXRpb25cIiBhbmQgdGhlIHRpbWUgYmV0d2VlbiBuYXZpZ2F0aW9uIGFuZCBhY3RpdmF0aW9uIGlzIHN0b3JlZCBpblxuICAgIC8vIHRoZSBgYWN0aXZhdGlvblN0YXJ0YCBhdHRyaWJ1dGUgb2YgdGhlIFwibmF2aWdhdGlvblwiIFBlcmZvcm1hbmNlRW50cnkuXG4gICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ3BlcmZvcm1hbmNlLmFjdGl2YXRpb25TdGFydCcsIGdldEFjdGl2YXRpb25TdGFydCgpKTtcblxuICAgIF9zZXRXZWJWaXRhbEF0dHJpYnV0ZXMoc3Bhbiwgb3B0aW9ucyk7XG4gIH1cblxuICBfbGNwRW50cnkgPSB1bmRlZmluZWQ7XG4gIF9jbHNFbnRyeSA9IHVuZGVmaW5lZDtcbiAgX21lYXN1cmVtZW50cyA9IHt9O1xufVxuXG4vKipcbiAqIENyZWF0ZSBtZWFzdXJlIHJlbGF0ZWQgc3BhbnMuXG4gKiBFeHBvcnRlZCBvbmx5IGZvciB0ZXN0cy5cbiAqL1xuZnVuY3Rpb24gX2FkZE1lYXN1cmVTcGFucyhcbiAgc3BhbixcbiAgZW50cnksXG4gIHN0YXJ0VGltZSxcbiAgZHVyYXRpb24sXG4gIHRpbWVPcmlnaW4sXG4gIGlnbm9yZVBlcmZvcm1hbmNlQXBpU3BhbnMsXG4pIHtcbiAgaWYgKFxuICAgIFsnbWFyaycsICdtZWFzdXJlJ10uaW5jbHVkZXMoZW50cnkuZW50cnlUeXBlKSAmJlxuICAgIHN0cmluZ01hdGNoZXNTb21lUGF0dGVybihlbnRyeS5uYW1lLCBpZ25vcmVQZXJmb3JtYW5jZUFwaVNwYW5zKVxuICApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBuYXZFbnRyeSA9IGdldE5hdmlnYXRpb25FbnRyeShmYWxzZSk7XG4gIGNvbnN0IHJlcXVlc3RUaW1lID0gbXNUb1NlYyhuYXZFbnRyeSA/IG5hdkVudHJ5LnJlcXVlc3RTdGFydCA6IDApO1xuICAvLyBCZWNhdXNlIHBlcmZvcm1hbmNlLm1lYXN1cmUgYWNjZXB0cyBhcmJpdHJhcnkgdGltZXN0YW1wcyBpdCBjYW4gcHJvZHVjZVxuICAvLyBzcGFucyB0aGF0IGhhcHBlbiBiZWZvcmUgdGhlIGJyb3dzZXIgZXZlbiBtYWtlcyBhIHJlcXVlc3QgZm9yIHRoZSBwYWdlLlxuICAvL1xuICAvLyBBbiBleGFtcGxlIG9mIHRoaXMgaXMgdGhlIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIE5leHQuanMtYmVmb3JlLWh5ZHJhdGlvblxuICAvLyBzcGFucyBjcmVhdGVkIGJ5IHRoZSBOZXh0LmpzIGZyYW1ld29yay5cbiAgLy9cbiAgLy8gVG8gcHJldmVudCB0aGlzIHdlIHdpbGwgcGluIHRoZSBzdGFydCB0aW1lc3RhbXAgdG8gdGhlIHJlcXVlc3Qgc3RhcnQgdGltZVxuICAvLyBUaGlzIGRvZXMgbWFrZSBkdXJhdGlvbiBpbmFjY3VyYXRlLCBzbyBpZiB0aGlzIGRvZXMgaGFwcGVuLCB3ZSB3aWxsIGFkZFxuICAvLyBhbiBhdHRyaWJ1dGUgdG8gdGhlIHNwYW5cbiAgY29uc3QgbWVhc3VyZVN0YXJ0VGltZXN0YW1wID0gdGltZU9yaWdpbiArIE1hdGgubWF4KHN0YXJ0VGltZSwgcmVxdWVzdFRpbWUpO1xuICBjb25zdCBzdGFydFRpbWVTdGFtcCA9IHRpbWVPcmlnaW4gKyBzdGFydFRpbWU7XG4gIGNvbnN0IG1lYXN1cmVFbmRUaW1lc3RhbXAgPSBzdGFydFRpbWVTdGFtcCArIGR1cmF0aW9uO1xuXG4gIGNvbnN0IGF0dHJpYnV0ZXMgPSB7XG4gICAgW1NFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1JJR0lOXTogJ2F1dG8ucmVzb3VyY2UuYnJvd3Nlci5tZXRyaWNzJyxcbiAgfTtcblxuICBpZiAobWVhc3VyZVN0YXJ0VGltZXN0YW1wICE9PSBzdGFydFRpbWVTdGFtcCkge1xuICAgIGF0dHJpYnV0ZXNbJ3NlbnRyeS5icm93c2VyLm1lYXN1cmVfaGFwcGVuZWRfYmVmb3JlX3JlcXVlc3QnXSA9IHRydWU7XG4gICAgYXR0cmlidXRlc1snc2VudHJ5LmJyb3dzZXIubWVhc3VyZV9zdGFydF90aW1lJ10gPSBtZWFzdXJlU3RhcnRUaW1lc3RhbXA7XG4gIH1cblxuICBfYWRkRGV0YWlsVG9TcGFuQXR0cmlidXRlcyhhdHRyaWJ1dGVzLCBlbnRyeSApO1xuXG4gIC8vIE1lYXN1cmVtZW50cyBmcm9tIHRoaXJkIHBhcnRpZXMgY2FuIGJlIG9mZiwgd2hpY2ggd291bGQgY3JlYXRlIGludmFsaWQgc3BhbnMsIGRyb3BwaW5nIHRyYW5zYWN0aW9ucyBpbiB0aGUgcHJvY2Vzcy5cbiAgaWYgKG1lYXN1cmVTdGFydFRpbWVzdGFtcCA8PSBtZWFzdXJlRW5kVGltZXN0YW1wKSB7XG4gICAgc3RhcnRBbmRFbmRTcGFuKHNwYW4sIG1lYXN1cmVTdGFydFRpbWVzdGFtcCwgbWVhc3VyZUVuZFRpbWVzdGFtcCwge1xuICAgICAgbmFtZTogZW50cnkubmFtZSAsXG4gICAgICBvcDogZW50cnkuZW50cnlUeXBlICxcbiAgICAgIGF0dHJpYnV0ZXMsXG4gICAgfSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gX2FkZERldGFpbFRvU3BhbkF0dHJpYnV0ZXMoYXR0cmlidXRlcywgcGVyZm9ybWFuY2VNZWFzdXJlKSB7XG4gIHRyeSB7XG4gICAgLy8gQWNjZXNzaW5nIGRldGFpbCBtaWdodCB0aHJvdyBpbiBzb21lIGJyb3dzZXJzIChlLmcuLCBGaXJlZm94KSBkdWUgdG8gc2VjdXJpdHkgcmVzdHJpY3Rpb25zXG4gICAgY29uc3QgZGV0YWlsID0gcGVyZm9ybWFuY2VNZWFzdXJlLmRldGFpbDtcblxuICAgIGlmICghZGV0YWlsKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzcyBkZXRhaWwgYmFzZWQgb24gaXRzIHR5cGVcbiAgICBpZiAodHlwZW9mIGRldGFpbCA9PT0gJ29iamVjdCcpIHtcbiAgICAgIC8vIEhhbmRsZSBvYmplY3QgZGV0YWlsc1xuICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoZGV0YWlsKSkge1xuICAgICAgICBpZiAodmFsdWUgJiYgaXNQcmltaXRpdmUodmFsdWUpKSB7XG4gICAgICAgICAgYXR0cmlidXRlc1tgc2VudHJ5LmJyb3dzZXIubWVhc3VyZS5kZXRhaWwuJHtrZXl9YF0gPSB2YWx1ZSA7XG4gICAgICAgIH0gZWxzZSBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHVzZXIgZGVmaW5lZCBzbyB3ZSBjYW4ndCBndWFyYW50ZWUgaXQncyBzZXJpYWxpemFibGVcbiAgICAgICAgICAgIGF0dHJpYnV0ZXNbYHNlbnRyeS5icm93c2VyLm1lYXN1cmUuZGV0YWlsLiR7a2V5fWBdID0gSlNPTi5zdHJpbmdpZnkodmFsdWUpO1xuICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgLy8gU2tpcCB2YWx1ZXMgdGhhdCBjYW4ndCBiZSBzdHJpbmdpZmllZFxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChpc1ByaW1pdGl2ZShkZXRhaWwpKSB7XG4gICAgICAvLyBIYW5kbGUgcHJpbWl0aXZlIGRldGFpbHNcbiAgICAgIGF0dHJpYnV0ZXNbJ3NlbnRyeS5icm93c2VyLm1lYXN1cmUuZGV0YWlsJ10gPSBkZXRhaWwgO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhdHRyaWJ1dGVzWydzZW50cnkuYnJvd3Nlci5tZWFzdXJlLmRldGFpbCddID0gSlNPTi5zdHJpbmdpZnkoZGV0YWlsKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIFNraXAgaWYgc3RyaW5naWZpY2F0aW9uIGZhaWxzXG4gICAgfVxuICB9IGNhdGNoIHtcbiAgICAvLyBTaWxlbnRseSBpZ25vcmUgYW55IGVycm9ycyB3aGVuIGFjY2Vzc2luZyBkZXRhaWxcbiAgICAvLyBUaGlzIGhhbmRsZXMgdGhlIEZpcmVmb3ggXCJQZXJtaXNzaW9uIGRlbmllZCB0byBhY2Nlc3Mgb2JqZWN0XCIgZXJyb3JcbiAgfVxufVxuXG4vKipcbiAqIEluc3RydW1lbnQgbmF2aWdhdGlvbiBlbnRyaWVzXG4gKiBleHBvcnRlZCBvbmx5IGZvciB0ZXN0c1xuICovXG5mdW5jdGlvbiBfYWRkTmF2aWdhdGlvblNwYW5zKHNwYW4sIGVudHJ5LCB0aW1lT3JpZ2luKSB7XG4gIChbJ3VubG9hZEV2ZW50JywgJ3JlZGlyZWN0JywgJ2RvbUNvbnRlbnRMb2FkZWRFdmVudCcsICdsb2FkRXZlbnQnLCAnY29ubmVjdCddICkuZm9yRWFjaChldmVudCA9PiB7XG4gICAgX2FkZFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyhzcGFuLCBlbnRyeSwgZXZlbnQsIHRpbWVPcmlnaW4pO1xuICB9KTtcbiAgX2FkZFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyhzcGFuLCBlbnRyeSwgJ3NlY3VyZUNvbm5lY3Rpb24nLCB0aW1lT3JpZ2luLCAnVExTL1NTTCcpO1xuICBfYWRkUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nKHNwYW4sIGVudHJ5LCAnZmV0Y2gnLCB0aW1lT3JpZ2luLCAnY2FjaGUnKTtcbiAgX2FkZFBlcmZvcm1hbmNlTmF2aWdhdGlvblRpbWluZyhzcGFuLCBlbnRyeSwgJ2RvbWFpbkxvb2t1cCcsIHRpbWVPcmlnaW4sICdETlMnKTtcblxuICBfYWRkUmVxdWVzdChzcGFuLCBlbnRyeSwgdGltZU9yaWdpbik7XG59XG5cbi8qKiBDcmVhdGUgcGVyZm9ybWFuY2UgbmF2aWdhdGlvbiByZWxhdGVkIHNwYW5zICovXG5mdW5jdGlvbiBfYWRkUGVyZm9ybWFuY2VOYXZpZ2F0aW9uVGltaW5nKFxuICBzcGFuLFxuICBlbnRyeSxcbiAgZXZlbnQsXG4gIHRpbWVPcmlnaW4sXG4gIG5hbWUgPSBldmVudCxcbikge1xuICBjb25zdCBldmVudEVuZCA9IF9nZXRFbmRQcm9wZXJ0eU5hbWVGb3JOYXZpZ2F0aW9uVGltaW5nKGV2ZW50KSA7XG4gIGNvbnN0IGVuZCA9IGVudHJ5W2V2ZW50RW5kXTtcbiAgY29uc3Qgc3RhcnQgPSBlbnRyeVtgJHtldmVudH1TdGFydGBdO1xuICBpZiAoIXN0YXJ0IHx8ICFlbmQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgc3RhcnRBbmRFbmRTcGFuKHNwYW4sIHRpbWVPcmlnaW4gKyBtc1RvU2VjKHN0YXJ0KSwgdGltZU9yaWdpbiArIG1zVG9TZWMoZW5kKSwge1xuICAgIG9wOiBgYnJvd3Nlci4ke25hbWV9YCxcbiAgICBuYW1lOiBlbnRyeS5uYW1lLFxuICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX09SSUdJTl06ICdhdXRvLnVpLmJyb3dzZXIubWV0cmljcycsXG4gICAgICAuLi4oZXZlbnQgPT09ICdyZWRpcmVjdCcgJiYgZW50cnkucmVkaXJlY3RDb3VudCAhPSBudWxsID8geyAnaHR0cC5yZWRpcmVjdF9jb3VudCc6IGVudHJ5LnJlZGlyZWN0Q291bnQgfSA6IHt9KSxcbiAgICB9LFxuICB9KTtcbn1cblxuZnVuY3Rpb24gX2dldEVuZFByb3BlcnR5TmFtZUZvck5hdmlnYXRpb25UaW1pbmcoZXZlbnQpIHtcbiAgaWYgKGV2ZW50ID09PSAnc2VjdXJlQ29ubmVjdGlvbicpIHtcbiAgICByZXR1cm4gJ2Nvbm5lY3RFbmQnO1xuICB9XG4gIGlmIChldmVudCA9PT0gJ2ZldGNoJykge1xuICAgIHJldHVybiAnZG9tYWluTG9va3VwU3RhcnQnO1xuICB9XG4gIHJldHVybiBgJHtldmVudH1FbmRgO1xufVxuXG4vKiogQ3JlYXRlIHJlcXVlc3QgYW5kIHJlc3BvbnNlIHJlbGF0ZWQgc3BhbnMgKi9cbmZ1bmN0aW9uIF9hZGRSZXF1ZXN0KHNwYW4sIGVudHJ5LCB0aW1lT3JpZ2luKSB7XG4gIGNvbnN0IHJlcXVlc3RTdGFydFRpbWVzdGFtcCA9IHRpbWVPcmlnaW4gKyBtc1RvU2VjKGVudHJ5LnJlcXVlc3RTdGFydCApO1xuICBjb25zdCByZXNwb25zZUVuZFRpbWVzdGFtcCA9IHRpbWVPcmlnaW4gKyBtc1RvU2VjKGVudHJ5LnJlc3BvbnNlRW5kICk7XG4gIGNvbnN0IHJlc3BvbnNlU3RhcnRUaW1lc3RhbXAgPSB0aW1lT3JpZ2luICsgbXNUb1NlYyhlbnRyeS5yZXNwb25zZVN0YXJ0ICk7XG4gIGlmIChlbnRyeS5yZXNwb25zZUVuZCkge1xuICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRoYXQgd2UgYXJlIGNvbGxlY3RpbmcgdGhlc2UgbWV0cmljcyB3aGVuIHRoZSBwYWdlIGhhc24ndCBmaW5pc2hlZCBsb2FkaW5nIHlldCwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgSFRNTCBzbG93bHkgc3RyZWFtcyBpbi5cbiAgICAvLyBJbiB0aGlzIGNhc2UsIGllLiB3aGVuIHRoZSBkb2N1bWVudCByZXF1ZXN0IGhhc24ndCBmaW5pc2hlZCB5ZXQsIGBlbnRyeS5yZXNwb25zZUVuZGAgd2lsbCBiZSAwLlxuICAgIC8vIEluIG9yZGVyIG5vdCB0byBwcm9kdWNlIGZhdWx0eSBzcGFucywgd2hlcmUgdGhlIGVuZCB0aW1lc3RhbXAgaXMgYmVmb3JlIHRoZSBzdGFydCB0aW1lc3RhbXAsIHdlIHdpbGwgb25seSBjb2xsZWN0XG4gICAgLy8gdGhlc2Ugc3BhbnMgd2hlbiB0aGUgcmVzcG9uc2VFbmQgdmFsdWUgaXMgYXZhaWxhYmxlLiBUaGUgYmFja2VuZCAoUmVsYXkpIHdvdWxkIGRyb3AgdGhlIGVudGlyZSBzcGFuIGlmIGl0IGNvbnRhaW5lZCBmYXVsdHkgc3BhbnMuXG4gICAgc3RhcnRBbmRFbmRTcGFuKHNwYW4sIHJlcXVlc3RTdGFydFRpbWVzdGFtcCwgcmVzcG9uc2VFbmRUaW1lc3RhbXAsIHtcbiAgICAgIG9wOiAnYnJvd3Nlci5yZXF1ZXN0JyxcbiAgICAgIG5hbWU6IGVudHJ5Lm5hbWUsXG4gICAgICBhdHRyaWJ1dGVzOiB7XG4gICAgICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX09SSUdJTl06ICdhdXRvLnVpLmJyb3dzZXIubWV0cmljcycsXG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgc3RhcnRBbmRFbmRTcGFuKHNwYW4sIHJlc3BvbnNlU3RhcnRUaW1lc3RhbXAsIHJlc3BvbnNlRW5kVGltZXN0YW1wLCB7XG4gICAgICBvcDogJ2Jyb3dzZXIucmVzcG9uc2UnLFxuICAgICAgbmFtZTogZW50cnkubmFtZSxcbiAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgW1NFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1JJR0lOXTogJ2F1dG8udWkuYnJvd3Nlci5tZXRyaWNzJyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBDcmVhdGUgcmVzb3VyY2UtcmVsYXRlZCBzcGFucy5cbiAqIEV4cG9ydGVkIG9ubHkgZm9yIHRlc3RzLlxuICovXG5mdW5jdGlvbiBfYWRkUmVzb3VyY2VTcGFucyhcbiAgc3BhbixcbiAgZW50cnksXG4gIHJlc291cmNlVXJsLFxuICBzdGFydFRpbWUsXG4gIGR1cmF0aW9uLFxuICB0aW1lT3JpZ2luLFxuICBpZ25vcmVSZXNvdXJjZVNwYW5zLFxuKSB7XG4gIC8vIHdlIGFscmVhZHkgaW5zdHJ1bWVudCBiYXNlZCBvbiBmZXRjaCBhbmQgeGhyLCBzbyB3ZSBkb24ndCBuZWVkIHRvXG4gIC8vIGR1cGxpY2F0ZSBzcGFucyBoZXJlLlxuICBpZiAoZW50cnkuaW5pdGlhdG9yVHlwZSA9PT0gJ3htbGh0dHByZXF1ZXN0JyB8fCBlbnRyeS5pbml0aWF0b3JUeXBlID09PSAnZmV0Y2gnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgb3AgPSBlbnRyeS5pbml0aWF0b3JUeXBlID8gYHJlc291cmNlLiR7ZW50cnkuaW5pdGlhdG9yVHlwZX1gIDogJ3Jlc291cmNlLm90aGVyJztcbiAgaWYgKGlnbm9yZVJlc291cmNlU3BhbnM/LmluY2x1ZGVzKG9wKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZFVybCA9IHBhcnNlVXJsKHJlc291cmNlVXJsKTtcblxuICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX09SSUdJTl06ICdhdXRvLnJlc291cmNlLmJyb3dzZXIubWV0cmljcycsXG4gIH07XG4gIHNldFJlc291cmNlRW50cnlTaXplRGF0YShhdHRyaWJ1dGVzLCBlbnRyeSwgJ3RyYW5zZmVyU2l6ZScsICdodHRwLnJlc3BvbnNlX3RyYW5zZmVyX3NpemUnKTtcbiAgc2V0UmVzb3VyY2VFbnRyeVNpemVEYXRhKGF0dHJpYnV0ZXMsIGVudHJ5LCAnZW5jb2RlZEJvZHlTaXplJywgJ2h0dHAucmVzcG9uc2VfY29udGVudF9sZW5ndGgnKTtcbiAgc2V0UmVzb3VyY2VFbnRyeVNpemVEYXRhKGF0dHJpYnV0ZXMsIGVudHJ5LCAnZGVjb2RlZEJvZHlTaXplJywgJ2h0dHAuZGVjb2RlZF9yZXNwb25zZV9jb250ZW50X2xlbmd0aCcpO1xuXG4gIC8vIGBkZWxpdmVyeVR5cGVgIGlzIGV4cGVyaW1lbnRhbCBhbmQgZG9lcyBub3QgZXhpc3QgZXZlcnl3aGVyZVxuICBjb25zdCBkZWxpdmVyeVR5cGUgPSAoZW50cnkgKS5kZWxpdmVyeVR5cGU7XG4gIGlmIChkZWxpdmVyeVR5cGUgIT0gbnVsbCkge1xuICAgIGF0dHJpYnV0ZXNbJ2h0dHAucmVzcG9uc2VfZGVsaXZlcnlfdHlwZSddID0gZGVsaXZlcnlUeXBlO1xuICB9XG5cbiAgLy8gVHlwZXMgZG8gbm90IHJlZmxlY3QgdGhpcyBwcm9wZXJ0eSB5ZXRcbiAgY29uc3QgcmVuZGVyQmxvY2tpbmdTdGF0dXMgPSAoZW50cnkgKVxuICAgIC5yZW5kZXJCbG9ja2luZ1N0YXR1cztcbiAgaWYgKHJlbmRlckJsb2NraW5nU3RhdHVzKSB7XG4gICAgYXR0cmlidXRlc1sncmVzb3VyY2UucmVuZGVyX2Jsb2NraW5nX3N0YXR1cyddID0gcmVuZGVyQmxvY2tpbmdTdGF0dXM7XG4gIH1cblxuICBpZiAocGFyc2VkVXJsLnByb3RvY29sKSB7XG4gICAgYXR0cmlidXRlc1sndXJsLnNjaGVtZSddID0gcGFyc2VkVXJsLnByb3RvY29sLnNwbGl0KCc6JykucG9wKCk7IC8vIHRoZSBwcm90b2NvbCByZXR1cm5lZCBieSBwYXJzZVVybCBpbmNsdWRlcyBhIDosIGJ1dCBPVEVMIHNwZWMgZG9lcyBub3QsIHNvIHdlIHJlbW92ZSBpdC5cbiAgfVxuXG4gIGlmIChwYXJzZWRVcmwuaG9zdCkge1xuICAgIGF0dHJpYnV0ZXNbJ3NlcnZlci5hZGRyZXNzJ10gPSBwYXJzZWRVcmwuaG9zdDtcbiAgfVxuXG4gIGF0dHJpYnV0ZXNbJ3VybC5zYW1lX29yaWdpbiddID0gcmVzb3VyY2VVcmwuaW5jbHVkZXMoV0lORE9XLmxvY2F0aW9uLm9yaWdpbik7XG5cbiAgLy8gQ2hlY2tpbmcgZm9yIG9ubHkgYHVuZGVmaW5lZGAgYW5kIGBudWxsYCBpcyBpbnRlbnRpb25hbCBiZWNhdXNlIGl0J3NcbiAgLy8gdmFsaWQgZm9yIGBuZXh0SG9wUHJvdG9jb2xgIHRvIGJlIGFuIGVtcHR5IHN0cmluZy5cbiAgaWYgKGVudHJ5Lm5leHRIb3BQcm90b2NvbCAhPSBudWxsKSB7XG4gICAgY29uc3QgeyBuYW1lLCB2ZXJzaW9uIH0gPSBleHRyYWN0TmV0d29ya1Byb3RvY29sKGVudHJ5Lm5leHRIb3BQcm90b2NvbCk7XG4gICAgYXR0cmlidXRlc1snbmV0d29yay5wcm90b2NvbC5uYW1lJ10gPSBuYW1lO1xuICAgIGF0dHJpYnV0ZXNbJ25ldHdvcmsucHJvdG9jb2wudmVyc2lvbiddID0gdmVyc2lvbjtcbiAgfVxuXG4gIGNvbnN0IHN0YXJ0VGltZXN0YW1wID0gdGltZU9yaWdpbiArIHN0YXJ0VGltZTtcbiAgY29uc3QgZW5kVGltZXN0YW1wID0gc3RhcnRUaW1lc3RhbXAgKyBkdXJhdGlvbjtcblxuICBzdGFydEFuZEVuZFNwYW4oc3Bhbiwgc3RhcnRUaW1lc3RhbXAsIGVuZFRpbWVzdGFtcCwge1xuICAgIG5hbWU6IHJlc291cmNlVXJsLnJlcGxhY2UoV0lORE9XLmxvY2F0aW9uLm9yaWdpbiwgJycpLFxuICAgIG9wLFxuICAgIGF0dHJpYnV0ZXMsXG4gIH0pO1xufVxuXG4vKipcbiAqIENhcHR1cmUgdGhlIGluZm9ybWF0aW9uIG9mIHRoZSB1c2VyIGFnZW50LlxuICovXG5mdW5jdGlvbiBfdHJhY2tOYXZpZ2F0b3Ioc3Bhbikge1xuICBjb25zdCBuYXZpZ2F0b3IgPSBXSU5ET1cubmF2aWdhdG9yIDtcbiAgaWYgKCFuYXZpZ2F0b3IpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyB0cmFjayBuZXR3b3JrIGNvbm5lY3Rpdml0eVxuICBjb25zdCBjb25uZWN0aW9uID0gbmF2aWdhdG9yLmNvbm5lY3Rpb247XG4gIGlmIChjb25uZWN0aW9uKSB7XG4gICAgaWYgKGNvbm5lY3Rpb24uZWZmZWN0aXZlVHlwZSkge1xuICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2VmZmVjdGl2ZUNvbm5lY3Rpb25UeXBlJywgY29ubmVjdGlvbi5lZmZlY3RpdmVUeXBlKTtcbiAgICB9XG5cbiAgICBpZiAoY29ubmVjdGlvbi50eXBlKSB7XG4gICAgICBzcGFuLnNldEF0dHJpYnV0ZSgnY29ubmVjdGlvblR5cGUnLCBjb25uZWN0aW9uLnR5cGUpO1xuICAgIH1cblxuICAgIGlmIChpc01lYXN1cmVtZW50VmFsdWUoY29ubmVjdGlvbi5ydHQpKSB7XG4gICAgICBfbWVhc3VyZW1lbnRzWydjb25uZWN0aW9uLnJ0dCddID0geyB2YWx1ZTogY29ubmVjdGlvbi5ydHQsIHVuaXQ6ICdtaWxsaXNlY29uZCcgfTtcbiAgICB9XG4gIH1cblxuICBpZiAoaXNNZWFzdXJlbWVudFZhbHVlKG5hdmlnYXRvci5kZXZpY2VNZW1vcnkpKSB7XG4gICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2RldmljZU1lbW9yeScsIGAke25hdmlnYXRvci5kZXZpY2VNZW1vcnl9IEdCYCk7XG4gIH1cblxuICBpZiAoaXNNZWFzdXJlbWVudFZhbHVlKG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5KSkge1xuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdoYXJkd2FyZUNvbmN1cnJlbmN5JywgU3RyaW5nKG5hdmlnYXRvci5oYXJkd2FyZUNvbmN1cnJlbmN5KSk7XG4gIH1cbn1cblxuLyoqIEFkZCBMQ1AgLyBDTFMgZGF0YSB0byBzcGFuIHRvIGFsbG93IGRlYnVnZ2luZyAqL1xuZnVuY3Rpb24gX3NldFdlYlZpdGFsQXR0cmlidXRlcyhzcGFuLCBvcHRpb25zKSB7XG4gIC8vIE9ubHkgYWRkIExDUCBhdHRyaWJ1dGVzIGlmIExDUCBpcyBiZWluZyByZWNvcmRlZCBvbiB0aGUgcGFnZWxvYWQgc3BhblxuICBpZiAoX2xjcEVudHJ5ICYmIG9wdGlvbnMucmVjb3JkTGNwT25QYWdlbG9hZFNwYW4pIHtcbiAgICAvLyBDYXB0dXJlIFByb3BlcnRpZXMgb2YgdGhlIExDUCBlbGVtZW50IHRoYXQgY29udHJpYnV0ZXMgdG8gdGhlIExDUC5cblxuICAgIGlmIChfbGNwRW50cnkuZWxlbWVudCkge1xuICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2xjcC5lbGVtZW50JywgaHRtbFRyZWVBc1N0cmluZyhfbGNwRW50cnkuZWxlbWVudCkpO1xuICAgIH1cblxuICAgIGlmIChfbGNwRW50cnkuaWQpIHtcbiAgICAgIHNwYW4uc2V0QXR0cmlidXRlKCdsY3AuaWQnLCBfbGNwRW50cnkuaWQpO1xuICAgIH1cblxuICAgIGlmIChfbGNwRW50cnkudXJsKSB7XG4gICAgICAvLyBUcmltIFVSTCB0byB0aGUgZmlyc3QgMjAwIGNoYXJhY3RlcnMuXG4gICAgICBzcGFuLnNldEF0dHJpYnV0ZSgnbGNwLnVybCcsIF9sY3BFbnRyeS51cmwudHJpbSgpLnNsaWNlKDAsIDIwMCkpO1xuICAgIH1cblxuICAgIGlmIChfbGNwRW50cnkubG9hZFRpbWUgIT0gbnVsbCkge1xuICAgICAgLy8gbG9hZFRpbWUgaXMgdGhlIHRpbWUgb2YgTENQIHRoYXQncyByZWxhdGVkIHRvIHJlY2VpdmluZyB0aGUgTENQIGVsZW1lbnQgcmVzcG9uc2UuLlxuICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2xjcC5sb2FkVGltZScsIF9sY3BFbnRyeS5sb2FkVGltZSk7XG4gICAgfVxuXG4gICAgaWYgKF9sY3BFbnRyeS5yZW5kZXJUaW1lICE9IG51bGwpIHtcbiAgICAgIC8vIHJlbmRlclRpbWUgaXMgbG9hZFRpbWUgKyByZW5kZXJpbmcgdGltZVxuICAgICAgLy8gaXQncyAwIGlmIHRoZSBMQ1AgZWxlbWVudCBpcyBsb2FkZWQgZnJvbSBhIDNyZCBwYXJ0eSBvcmlnaW4gdGhhdCBkb2Vzbid0IHNlbmQgdGhlXG4gICAgICAvLyBgVGltaW5nLUFsbG93LU9yaWdpbmAgaGVhZGVyLlxuICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoJ2xjcC5yZW5kZXJUaW1lJywgX2xjcEVudHJ5LnJlbmRlclRpbWUpO1xuICAgIH1cblxuICAgIHNwYW4uc2V0QXR0cmlidXRlKCdsY3Auc2l6ZScsIF9sY3BFbnRyeS5zaXplKTtcbiAgfVxuXG4gIC8vIE9ubHkgYWRkIENMUyBhdHRyaWJ1dGVzIGlmIENMUyBpcyBiZWluZyByZWNvcmRlZCBvbiB0aGUgcGFnZWxvYWQgc3BhblxuICBpZiAoX2Nsc0VudHJ5Py5zb3VyY2VzICYmIG9wdGlvbnMucmVjb3JkQ2xzT25QYWdlbG9hZFNwYW4pIHtcbiAgICBfY2xzRW50cnkuc291cmNlcy5mb3JFYWNoKChzb3VyY2UsIGluZGV4KSA9PlxuICAgICAgc3Bhbi5zZXRBdHRyaWJ1dGUoYGNscy5zb3VyY2UuJHtpbmRleCArIDF9YCwgaHRtbFRyZWVBc1N0cmluZyhzb3VyY2Uubm9kZSkpLFxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gc2V0UmVzb3VyY2VFbnRyeVNpemVEYXRhKFxuICBhdHRyaWJ1dGVzLFxuICBlbnRyeSxcbiAga2V5LFxuICBkYXRhS2V5LFxuKSB7XG4gIGNvbnN0IGVudHJ5VmFsID0gZW50cnlba2V5XTtcbiAgaWYgKGVudHJ5VmFsICE9IG51bGwgJiYgZW50cnlWYWwgPCBNQVhfSU5UX0FTX0JZVEVTKSB7XG4gICAgYXR0cmlidXRlc1tkYXRhS2V5XSA9IGVudHJ5VmFsO1xuICB9XG59XG5cbi8qKlxuICogQWRkIHR0ZmIgcmVxdWVzdCB0aW1lIGluZm9ybWF0aW9uIHRvIG1lYXN1cmVtZW50cy5cbiAqXG4gKiB0dGZiIGluZm9ybWF0aW9uIGlzIGFkZGVkIHZpYSB2ZW5kb3JlZCB3ZWIgdml0YWxzIGxpYnJhcnkuXG4gKi9cbmZ1bmN0aW9uIF9hZGRUdGZiUmVxdWVzdFRpbWVUb01lYXN1cmVtZW50cyhfbWVhc3VyZW1lbnRzKSB7XG4gIGNvbnN0IG5hdkVudHJ5ID0gZ2V0TmF2aWdhdGlvbkVudHJ5KGZhbHNlKTtcbiAgaWYgKCFuYXZFbnRyeSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHsgcmVzcG9uc2VTdGFydCwgcmVxdWVzdFN0YXJ0IH0gPSBuYXZFbnRyeTtcblxuICBpZiAocmVxdWVzdFN0YXJ0IDw9IHJlc3BvbnNlU3RhcnQpIHtcbiAgICBfbWVhc3VyZW1lbnRzWyd0dGZiLnJlcXVlc3RUaW1lJ10gPSB7XG4gICAgICB2YWx1ZTogcmVzcG9uc2VTdGFydCAtIHJlcXVlc3RTdGFydCxcbiAgICAgIHVuaXQ6ICdtaWxsaXNlY29uZCcsXG4gICAgfTtcbiAgfVxufVxuXG5leHBvcnQgeyBfYWRkTWVhc3VyZVNwYW5zLCBfYWRkTmF2aWdhdGlvblNwYW5zLCBfYWRkUmVzb3VyY2VTcGFucywgYWRkUGVyZm9ybWFuY2VFbnRyaWVzLCBzdGFydFRyYWNraW5nSW50ZXJhY3Rpb25zLCBzdGFydFRyYWNraW5nTG9uZ0FuaW1hdGlvbkZyYW1lcywgc3RhcnRUcmFja2luZ0xvbmdUYXNrcywgc3RhcnRUcmFja2luZ1dlYlZpdGFscyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YnJvd3Nlck1ldHJpY3MuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/browserMetrics.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/cls.js": /*!******************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/cls.js ***! \******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ trackClsAsStandaloneSpan: () => (/* binding */ trackClsAsStandaloneSpan)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/debug-logger.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/time.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/currentScopes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/browser.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/semanticAttributes.js\");\n/* harmony import */ var _debug_build_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../debug-build.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js\");\n/* harmony import */ var _instrument_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instrument.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js\");\n\n\n\n\n\n/**\n * Starts tracking the Cumulative Layout Shift on the current page and collects the value once\n *\n * - the page visibility is hidden\n * - a navigation span is started (to stop CLS measurement for SPA soft navigations)\n *\n * Once either of these events triggers, the CLS value is sent as a standalone span and we stop\n * measuring CLS.\n */\nfunction trackClsAsStandaloneSpan(client) {\n let standaloneCLsValue = 0;\n let standaloneClsEntry;\n\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.supportsWebVital)('layout-shift')) {\n return;\n }\n\n const cleanupClsHandler = (0,_instrument_js__WEBPACK_IMPORTED_MODULE_1__.addClsInstrumentationHandler)(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1] ;\n if (!entry) {\n return;\n }\n standaloneCLsValue = metric.value;\n standaloneClsEntry = entry;\n }, true);\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.listenForWebVitalReportEvents)(client, (reportEvent, pageloadSpanId) => {\n sendStandaloneClsSpan(standaloneCLsValue, standaloneClsEntry, pageloadSpanId, reportEvent);\n cleanupClsHandler();\n });\n}\n\nfunction sendStandaloneClsSpan(\n clsValue,\n entry,\n pageloadSpanId,\n reportEvent,\n) {\n _debug_build_js__WEBPACK_IMPORTED_MODULE_2__.DEBUG_BUILD && _sentry_core__WEBPACK_IMPORTED_MODULE_3__.debug.log(`Sending CLS span (${clsValue})`);\n\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(((0,_sentry_core__WEBPACK_IMPORTED_MODULE_4__.browserPerformanceTimeOrigin)() || 0) + (entry?.startTime || 0));\n const routeName = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_5__.getCurrentScope)().getScopeData().transactionName;\n\n const name = entry ? (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.htmlTreeAsString)(entry.sources[0]?.node) : 'Layout shift';\n\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.cls',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.webvital.cls',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry?.duration || 0,\n // attach the pageload span id to the CLS span so that we can link them in the UI\n 'sentry.pageload.span_id': pageloadSpanId,\n // describes what triggered the web vital to be reported\n 'sentry.report_event': reportEvent,\n };\n\n // Add CLS sources as span attributes to help with debugging layout shifts\n // See: https://developer.mozilla.org/en-US/docs/Web/API/LayoutShift/sources\n if (entry?.sources) {\n entry.sources.forEach((source, index) => {\n attributes[`cls.source.${index + 1}`] = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.htmlTreeAsString)(source.node);\n });\n }\n\n const span = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startStandaloneWebVitalSpan)({\n name,\n transaction: routeName,\n attributes,\n startTime,\n });\n\n if (span) {\n span.addEvent('cls', {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: '',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: clsValue,\n });\n\n // LayoutShift performance entries always have a duration of 0, so we don't need to add `entry.duration` here\n // see: https://developer.mozilla.org/en-US/docs/Web/API/PerformanceEntry/duration\n span.end(startTime);\n }\n}\n\n\n//# sourceMappingURL=cls.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvY2xzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFrUztBQUNsUDtBQUNlO0FBQ29EOztBQUVuSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsT0FBTywyREFBZ0I7QUFDdkI7QUFDQTs7QUFFQSw0QkFBNEIsNEVBQTRCLElBQUksUUFBUTtBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVILEVBQUUsd0VBQTZCO0FBQy9CO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsRUFBRSx3REFBVyxJQUFJLCtDQUFLLDBCQUEwQixTQUFTOztBQUV6RCxvQkFBb0Isa0RBQU8sRUFBRSwwRUFBNEI7QUFDekQsb0JBQW9CLDZEQUFlOztBQUVuQyx1QkFBdUIsOERBQWdCOztBQUV2QztBQUNBLEtBQUssMEVBQWdDO0FBQ3JDLEtBQUssc0VBQTRCO0FBQ2pDLEtBQUssMkVBQWlDO0FBQ3RDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0IsVUFBVSxLQUFLLDhEQUFnQjtBQUM5RCxLQUFLO0FBQ0w7O0FBRUEsZUFBZSxzRUFBMkI7QUFDMUM7QUFDQTtBQUNBO0FBQ0E7QUFDQSxHQUFHOztBQUVIO0FBQ0E7QUFDQSxPQUFPLG9GQUEwQztBQUNqRCxPQUFPLHFGQUEyQztBQUNsRCxLQUFLOztBQUVMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRW9DO0FBQ3BDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL2Nscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJ1ZywgYnJvd3NlclBlcmZvcm1hbmNlVGltZU9yaWdpbiwgZ2V0Q3VycmVudFNjb3BlLCBodG1sVHJlZUFzU3RyaW5nLCBTRU1BTlRJQ19BVFRSSUJVVEVfRVhDTFVTSVZFX1RJTUUsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfTUVBU1VSRU1FTlRfVkFMVUUsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfTUVBU1VSRU1FTlRfVU5JVCwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUCwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU4gfSBmcm9tICdAc2VudHJ5L2NvcmUnO1xuaW1wb3J0IHsgREVCVUdfQlVJTEQgfSBmcm9tICcuLi9kZWJ1Zy1idWlsZC5qcyc7XG5pbXBvcnQgeyBhZGRDbHNJbnN0cnVtZW50YXRpb25IYW5kbGVyIH0gZnJvbSAnLi9pbnN0cnVtZW50LmpzJztcbmltcG9ydCB7IHN1cHBvcnRzV2ViVml0YWwsIGxpc3RlbkZvcldlYlZpdGFsUmVwb3J0RXZlbnRzLCBtc1RvU2VjLCBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4gfSBmcm9tICcuL3V0aWxzLmpzJztcblxuLyoqXG4gKiBTdGFydHMgdHJhY2tpbmcgdGhlIEN1bXVsYXRpdmUgTGF5b3V0IFNoaWZ0IG9uIHRoZSBjdXJyZW50IHBhZ2UgYW5kIGNvbGxlY3RzIHRoZSB2YWx1ZSBvbmNlXG4gKlxuICogLSB0aGUgcGFnZSB2aXNpYmlsaXR5IGlzIGhpZGRlblxuICogLSBhIG5hdmlnYXRpb24gc3BhbiBpcyBzdGFydGVkICh0byBzdG9wIENMUyBtZWFzdXJlbWVudCBmb3IgU1BBIHNvZnQgbmF2aWdhdGlvbnMpXG4gKlxuICogT25jZSBlaXRoZXIgb2YgdGhlc2UgZXZlbnRzIHRyaWdnZXJzLCB0aGUgQ0xTIHZhbHVlIGlzIHNlbnQgYXMgYSBzdGFuZGFsb25lIHNwYW4gYW5kIHdlIHN0b3BcbiAqIG1lYXN1cmluZyBDTFMuXG4gKi9cbmZ1bmN0aW9uIHRyYWNrQ2xzQXNTdGFuZGFsb25lU3BhbihjbGllbnQpIHtcbiAgbGV0IHN0YW5kYWxvbmVDTHNWYWx1ZSA9IDA7XG4gIGxldCBzdGFuZGFsb25lQ2xzRW50cnk7XG5cbiAgaWYgKCFzdXBwb3J0c1dlYlZpdGFsKCdsYXlvdXQtc2hpZnQnKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGNsZWFudXBDbHNIYW5kbGVyID0gYWRkQ2xzSW5zdHJ1bWVudGF0aW9uSGFuZGxlcigoeyBtZXRyaWMgfSkgPT4ge1xuICAgIGNvbnN0IGVudHJ5ID0gbWV0cmljLmVudHJpZXNbbWV0cmljLmVudHJpZXMubGVuZ3RoIC0gMV0gO1xuICAgIGlmICghZW50cnkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgc3RhbmRhbG9uZUNMc1ZhbHVlID0gbWV0cmljLnZhbHVlO1xuICAgIHN0YW5kYWxvbmVDbHNFbnRyeSA9IGVudHJ5O1xuICB9LCB0cnVlKTtcblxuICBsaXN0ZW5Gb3JXZWJWaXRhbFJlcG9ydEV2ZW50cyhjbGllbnQsIChyZXBvcnRFdmVudCwgcGFnZWxvYWRTcGFuSWQpID0+IHtcbiAgICBzZW5kU3RhbmRhbG9uZUNsc1NwYW4oc3RhbmRhbG9uZUNMc1ZhbHVlLCBzdGFuZGFsb25lQ2xzRW50cnksIHBhZ2Vsb2FkU3BhbklkLCByZXBvcnRFdmVudCk7XG4gICAgY2xlYW51cENsc0hhbmRsZXIoKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIHNlbmRTdGFuZGFsb25lQ2xzU3BhbihcbiAgY2xzVmFsdWUsXG4gIGVudHJ5LFxuICBwYWdlbG9hZFNwYW5JZCxcbiAgcmVwb3J0RXZlbnQsXG4pIHtcbiAgREVCVUdfQlVJTEQgJiYgZGVidWcubG9nKGBTZW5kaW5nIENMUyBzcGFuICgke2Nsc1ZhbHVlfSlgKTtcblxuICBjb25zdCBzdGFydFRpbWUgPSBtc1RvU2VjKChicm93c2VyUGVyZm9ybWFuY2VUaW1lT3JpZ2luKCkgfHwgMCkgKyAoZW50cnk/LnN0YXJ0VGltZSB8fCAwKSk7XG4gIGNvbnN0IHJvdXRlTmFtZSA9IGdldEN1cnJlbnRTY29wZSgpLmdldFNjb3BlRGF0YSgpLnRyYW5zYWN0aW9uTmFtZTtcblxuICBjb25zdCBuYW1lID0gZW50cnkgPyBodG1sVHJlZUFzU3RyaW5nKGVudHJ5LnNvdXJjZXNbMF0/Lm5vZGUpIDogJ0xheW91dCBzaGlmdCc7XG5cbiAgY29uc3QgYXR0cmlidXRlcyA9IHtcbiAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU5dOiAnYXV0by5odHRwLmJyb3dzZXIuY2xzJyxcbiAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUF06ICd1aS53ZWJ2aXRhbC5jbHMnLFxuICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfRVhDTFVTSVZFX1RJTUVdOiBlbnRyeT8uZHVyYXRpb24gfHwgMCxcbiAgICAvLyBhdHRhY2ggdGhlIHBhZ2Vsb2FkIHNwYW4gaWQgdG8gdGhlIENMUyBzcGFuIHNvIHRoYXQgd2UgY2FuIGxpbmsgdGhlbSBpbiB0aGUgVUlcbiAgICAnc2VudHJ5LnBhZ2Vsb2FkLnNwYW5faWQnOiBwYWdlbG9hZFNwYW5JZCxcbiAgICAvLyBkZXNjcmliZXMgd2hhdCB0cmlnZ2VyZWQgdGhlIHdlYiB2aXRhbCB0byBiZSByZXBvcnRlZFxuICAgICdzZW50cnkucmVwb3J0X2V2ZW50JzogcmVwb3J0RXZlbnQsXG4gIH07XG5cbiAgLy8gQWRkIENMUyBzb3VyY2VzIGFzIHNwYW4gYXR0cmlidXRlcyB0byBoZWxwIHdpdGggZGVidWdnaW5nIGxheW91dCBzaGlmdHNcbiAgLy8gU2VlOiBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvTGF5b3V0U2hpZnQvc291cmNlc1xuICBpZiAoZW50cnk/LnNvdXJjZXMpIHtcbiAgICBlbnRyeS5zb3VyY2VzLmZvckVhY2goKHNvdXJjZSwgaW5kZXgpID0+IHtcbiAgICAgIGF0dHJpYnV0ZXNbYGNscy5zb3VyY2UuJHtpbmRleCArIDF9YF0gPSBodG1sVHJlZUFzU3RyaW5nKHNvdXJjZS5ub2RlKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNvbnN0IHNwYW4gPSBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4oe1xuICAgIG5hbWUsXG4gICAgdHJhbnNhY3Rpb246IHJvdXRlTmFtZSxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIHN0YXJ0VGltZSxcbiAgfSk7XG5cbiAgaWYgKHNwYW4pIHtcbiAgICBzcGFuLmFkZEV2ZW50KCdjbHMnLCB7XG4gICAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9NRUFTVVJFTUVOVF9VTklUXTogJycsXG4gICAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9NRUFTVVJFTUVOVF9WQUxVRV06IGNsc1ZhbHVlLFxuICAgIH0pO1xuXG4gICAgLy8gTGF5b3V0U2hpZnQgcGVyZm9ybWFuY2UgZW50cmllcyBhbHdheXMgaGF2ZSBhIGR1cmF0aW9uIG9mIDAsIHNvIHdlIGRvbid0IG5lZWQgdG8gYWRkIGBlbnRyeS5kdXJhdGlvbmAgaGVyZVxuICAgIC8vIHNlZTogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1BlcmZvcm1hbmNlRW50cnkvZHVyYXRpb25cbiAgICBzcGFuLmVuZChzdGFydFRpbWUpO1xuICB9XG59XG5cbmV4cG9ydCB7IHRyYWNrQ2xzQXNTdGFuZGFsb25lU3BhbiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y2xzLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/cls.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/elementTiming.js": /*!****************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/elementTiming.js ***! \****************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _onElementTiming: () => (/* binding */ _onElementTiming),\n/* harmony export */ startTrackingElementTiming: () => (/* binding */ startTrackingElementTiming)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/time.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/spanUtils.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/currentScopes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/semanticAttributes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/tracing/trace.js\");\n/* harmony import */ var _instrument_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./instrument.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js\");\n\n\n\n\n// ElementTiming interface based on the W3C spec\n\n/**\n * Start tracking ElementTiming performance entries.\n */\nfunction startTrackingElementTiming() {\n const performance = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getBrowserPerformanceAPI)();\n if (performance && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)()) {\n return (0,_instrument_js__WEBPACK_IMPORTED_MODULE_2__.addPerformanceInstrumentationHandler)('element', _onElementTiming);\n }\n\n return () => undefined;\n}\n\n/**\n * exported only for testing\n */\nconst _onElementTiming = ({ entries }) => {\n const activeSpan = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getActiveSpan)();\n const rootSpan = activeSpan ? (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getRootSpan)(activeSpan) : undefined;\n const transactionName = rootSpan\n ? (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.spanToJSON)(rootSpan).description\n : (0,_sentry_core__WEBPACK_IMPORTED_MODULE_4__.getCurrentScope)().getScopeData().transactionName;\n\n entries.forEach(entry => {\n const elementEntry = entry ;\n\n // Skip entries without identifier (elementtiming attribute)\n if (!elementEntry.identifier) {\n return;\n }\n\n // `name` contains the type of the element paint. Can be `'image-paint'` or `'text-paint'`.\n // https://developer.mozilla.org/en-US/docs/Web/API/PerformanceElementTiming#instance_properties\n const paintType = elementEntry.name ;\n\n const renderTime = elementEntry.renderTime;\n const loadTime = elementEntry.loadTime;\n\n // starting the span at:\n // - `loadTime` if available (should be available for all \"image-paint\" entries, 0 otherwise)\n // - `renderTime` if available (available for all entries, except 3rd party images, but these should be covered by `loadTime`, 0 otherwise)\n // - `timestampInSeconds()` as a safeguard\n // see https://developer.mozilla.org/en-US/docs/Web/API/PerformanceElementTiming/renderTime#cross-origin_image_render_time\n const [spanStartTime, spanStartTimeSource] = loadTime\n ? [(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(loadTime), 'load-time']\n : renderTime\n ? [(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(renderTime), 'render-time']\n : [(0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.timestampInSeconds)(), 'entry-emission'];\n\n const duration =\n paintType === 'image-paint'\n ? // for image paints, we can acually get a duration because image-paint entries also have a `loadTime`\n // and `renderTime`. `loadTime` is the time when the image finished loading and `renderTime` is the\n // time when the image finished rendering.\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(Math.max(0, (renderTime ?? 0) - (loadTime ?? 0)))\n : // for `'text-paint'` entries, we can't get a duration because the `loadTime` is always zero.\n 0;\n\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_5__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.ui.browser.elementtiming',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_5__.SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.elementtiming',\n // name must be user-entered, so we can assume low cardinality\n [_sentry_core__WEBPACK_IMPORTED_MODULE_5__.SEMANTIC_ATTRIBUTE_SENTRY_SOURCE]: 'component',\n // recording the source of the span start time, as it varies depending on available data\n 'sentry.span_start_time_source': spanStartTimeSource,\n 'sentry.transaction_name': transactionName,\n 'element.id': elementEntry.id,\n 'element.type': elementEntry.element?.tagName?.toLowerCase() || 'unknown',\n 'element.size':\n elementEntry.naturalWidth && elementEntry.naturalHeight\n ? `${elementEntry.naturalWidth}x${elementEntry.naturalHeight}`\n : undefined,\n 'element.render_time': renderTime,\n 'element.load_time': loadTime,\n // `url` is `0`(number) for text paints (hence we fall back to undefined)\n 'element.url': elementEntry.url || undefined,\n 'element.identifier': elementEntry.identifier,\n 'element.paint_type': paintType,\n };\n\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.startSpan)(\n {\n name: `element[${elementEntry.identifier}]`,\n attributes,\n startTime: spanStartTime,\n onlyIfParent: true,\n },\n span => {\n span.end(spanStartTime + duration);\n },\n );\n });\n};\n\n\n//# sourceMappingURL=elementTiming.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvZWxlbWVudFRpbWluZy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBc1A7QUFDL0s7QUFDUjs7QUFFL0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0IsbUVBQXdCO0FBQzlDLHFCQUFxQiwwRUFBNEI7QUFDakQsV0FBVyxvRkFBb0M7QUFDL0M7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsU0FBUztBQUNyQyxxQkFBcUIsMkRBQWE7QUFDbEMsZ0NBQWdDLHlEQUFXO0FBQzNDO0FBQ0EsTUFBTSx3REFBVTtBQUNoQixNQUFNLDZEQUFlOztBQUVyQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsa0RBQU87QUFDaEI7QUFDQSxXQUFXLGtEQUFPO0FBQ2xCLFdBQVcsZ0VBQWtCOztBQUU3QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsVUFBVSxrREFBTztBQUNqQjtBQUNBOztBQUVBO0FBQ0EsT0FBTywwRUFBZ0M7QUFDdkMsT0FBTyxzRUFBNEI7QUFDbkM7QUFDQSxPQUFPLDBFQUFnQztBQUN2QztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUsMEJBQTBCLEdBQUcsMkJBQTJCO0FBQ3ZFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsSUFBSSx1REFBUztBQUNiO0FBQ0EseUJBQXlCLHdCQUF3QjtBQUNqRDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLEdBQUc7QUFDSDs7QUFFd0Q7QUFDeEQiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvZWxlbWVudFRpbWluZy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicm93c2VyUGVyZm9ybWFuY2VUaW1lT3JpZ2luLCBnZXRBY3RpdmVTcGFuLCBnZXRSb290U3Bhbiwgc3BhblRvSlNPTiwgZ2V0Q3VycmVudFNjb3BlLCB0aW1lc3RhbXBJblNlY29uZHMsIHN0YXJ0U3BhbiwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9TT1VSQ0UsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1AsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1JJR0lOIH0gZnJvbSAnQHNlbnRyeS9jb3JlJztcbmltcG9ydCB7IGFkZFBlcmZvcm1hbmNlSW5zdHJ1bWVudGF0aW9uSGFuZGxlciB9IGZyb20gJy4vaW5zdHJ1bWVudC5qcyc7XG5pbXBvcnQgeyBnZXRCcm93c2VyUGVyZm9ybWFuY2VBUEksIG1zVG9TZWMgfSBmcm9tICcuL3V0aWxzLmpzJztcblxuLy8gRWxlbWVudFRpbWluZyBpbnRlcmZhY2UgYmFzZWQgb24gdGhlIFczQyBzcGVjXG5cbi8qKlxuICogU3RhcnQgdHJhY2tpbmcgRWxlbWVudFRpbWluZyBwZXJmb3JtYW5jZSBlbnRyaWVzLlxuICovXG5mdW5jdGlvbiBzdGFydFRyYWNraW5nRWxlbWVudFRpbWluZygpIHtcbiAgY29uc3QgcGVyZm9ybWFuY2UgPSBnZXRCcm93c2VyUGVyZm9ybWFuY2VBUEkoKTtcbiAgaWYgKHBlcmZvcm1hbmNlICYmIGJyb3dzZXJQZXJmb3JtYW5jZVRpbWVPcmlnaW4oKSkge1xuICAgIHJldHVybiBhZGRQZXJmb3JtYW5jZUluc3RydW1lbnRhdGlvbkhhbmRsZXIoJ2VsZW1lbnQnLCBfb25FbGVtZW50VGltaW5nKTtcbiAgfVxuXG4gIHJldHVybiAoKSA9PiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogZXhwb3J0ZWQgb25seSBmb3IgdGVzdGluZ1xuICovXG5jb25zdCBfb25FbGVtZW50VGltaW5nID0gKHsgZW50cmllcyB9KSA9PiB7XG4gIGNvbnN0IGFjdGl2ZVNwYW4gPSBnZXRBY3RpdmVTcGFuKCk7XG4gIGNvbnN0IHJvb3RTcGFuID0gYWN0aXZlU3BhbiA/IGdldFJvb3RTcGFuKGFjdGl2ZVNwYW4pIDogdW5kZWZpbmVkO1xuICBjb25zdCB0cmFuc2FjdGlvbk5hbWUgPSByb290U3BhblxuICAgID8gc3BhblRvSlNPTihyb290U3BhbikuZGVzY3JpcHRpb25cbiAgICA6IGdldEN1cnJlbnRTY29wZSgpLmdldFNjb3BlRGF0YSgpLnRyYW5zYWN0aW9uTmFtZTtcblxuICBlbnRyaWVzLmZvckVhY2goZW50cnkgPT4ge1xuICAgIGNvbnN0IGVsZW1lbnRFbnRyeSA9IGVudHJ5IDtcblxuICAgIC8vIFNraXAgZW50cmllcyB3aXRob3V0IGlkZW50aWZpZXIgKGVsZW1lbnR0aW1pbmcgYXR0cmlidXRlKVxuICAgIGlmICghZWxlbWVudEVudHJ5LmlkZW50aWZpZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBgbmFtZWAgY29udGFpbnMgdGhlIHR5cGUgb2YgdGhlIGVsZW1lbnQgcGFpbnQuIENhbiBiZSBgJ2ltYWdlLXBhaW50J2Agb3IgYCd0ZXh0LXBhaW50J2AuXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1BlcmZvcm1hbmNlRWxlbWVudFRpbWluZyNpbnN0YW5jZV9wcm9wZXJ0aWVzXG4gICAgY29uc3QgcGFpbnRUeXBlID0gZWxlbWVudEVudHJ5Lm5hbWUgO1xuXG4gICAgY29uc3QgcmVuZGVyVGltZSA9IGVsZW1lbnRFbnRyeS5yZW5kZXJUaW1lO1xuICAgIGNvbnN0IGxvYWRUaW1lID0gZWxlbWVudEVudHJ5LmxvYWRUaW1lO1xuXG4gICAgLy8gc3RhcnRpbmcgdGhlIHNwYW4gYXQ6XG4gICAgLy8gLSBgbG9hZFRpbWVgIGlmIGF2YWlsYWJsZSAoc2hvdWxkIGJlIGF2YWlsYWJsZSBmb3IgYWxsIFwiaW1hZ2UtcGFpbnRcIiBlbnRyaWVzLCAwIG90aGVyd2lzZSlcbiAgICAvLyAtIGByZW5kZXJUaW1lYCBpZiBhdmFpbGFibGUgKGF2YWlsYWJsZSBmb3IgYWxsIGVudHJpZXMsIGV4Y2VwdCAzcmQgcGFydHkgaW1hZ2VzLCBidXQgdGhlc2Ugc2hvdWxkIGJlIGNvdmVyZWQgYnkgYGxvYWRUaW1lYCwgMCBvdGhlcndpc2UpXG4gICAgLy8gLSBgdGltZXN0YW1wSW5TZWNvbmRzKClgIGFzIGEgc2FmZWd1YXJkXG4gICAgLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9QZXJmb3JtYW5jZUVsZW1lbnRUaW1pbmcvcmVuZGVyVGltZSNjcm9zcy1vcmlnaW5faW1hZ2VfcmVuZGVyX3RpbWVcbiAgICBjb25zdCBbc3BhblN0YXJ0VGltZSwgc3BhblN0YXJ0VGltZVNvdXJjZV0gPSBsb2FkVGltZVxuICAgICAgPyBbbXNUb1NlYyhsb2FkVGltZSksICdsb2FkLXRpbWUnXVxuICAgICAgOiByZW5kZXJUaW1lXG4gICAgICAgID8gW21zVG9TZWMocmVuZGVyVGltZSksICdyZW5kZXItdGltZSddXG4gICAgICAgIDogW3RpbWVzdGFtcEluU2Vjb25kcygpLCAnZW50cnktZW1pc3Npb24nXTtcblxuICAgIGNvbnN0IGR1cmF0aW9uID1cbiAgICAgIHBhaW50VHlwZSA9PT0gJ2ltYWdlLXBhaW50J1xuICAgICAgICA/IC8vIGZvciBpbWFnZSBwYWludHMsIHdlIGNhbiBhY3VhbGx5IGdldCBhIGR1cmF0aW9uIGJlY2F1c2UgaW1hZ2UtcGFpbnQgZW50cmllcyBhbHNvIGhhdmUgYSBgbG9hZFRpbWVgXG4gICAgICAgICAgLy8gYW5kIGByZW5kZXJUaW1lYC4gYGxvYWRUaW1lYCBpcyB0aGUgdGltZSB3aGVuIHRoZSBpbWFnZSBmaW5pc2hlZCBsb2FkaW5nIGFuZCBgcmVuZGVyVGltZWAgaXMgdGhlXG4gICAgICAgICAgLy8gdGltZSB3aGVuIHRoZSBpbWFnZSBmaW5pc2hlZCByZW5kZXJpbmcuXG4gICAgICAgICAgbXNUb1NlYyhNYXRoLm1heCgwLCAocmVuZGVyVGltZSA/PyAwKSAtIChsb2FkVGltZSA/PyAwKSkpXG4gICAgICAgIDogLy8gZm9yIGAndGV4dC1wYWludCdgIGVudHJpZXMsIHdlIGNhbid0IGdldCBhIGR1cmF0aW9uIGJlY2F1c2UgdGhlIGBsb2FkVGltZWAgaXMgYWx3YXlzIHplcm8uXG4gICAgICAgICAgMDtcblxuICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSB7XG4gICAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU5dOiAnYXV0by51aS5icm93c2VyLmVsZW1lbnR0aW1pbmcnLFxuICAgICAgW1NFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfT1BdOiAndWkuZWxlbWVudHRpbWluZycsXG4gICAgICAvLyBuYW1lIG11c3QgYmUgdXNlci1lbnRlcmVkLCBzbyB3ZSBjYW4gYXNzdW1lIGxvdyBjYXJkaW5hbGl0eVxuICAgICAgW1NFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfU09VUkNFXTogJ2NvbXBvbmVudCcsXG4gICAgICAvLyByZWNvcmRpbmcgdGhlIHNvdXJjZSBvZiB0aGUgc3BhbiBzdGFydCB0aW1lLCBhcyBpdCB2YXJpZXMgZGVwZW5kaW5nIG9uIGF2YWlsYWJsZSBkYXRhXG4gICAgICAnc2VudHJ5LnNwYW5fc3RhcnRfdGltZV9zb3VyY2UnOiBzcGFuU3RhcnRUaW1lU291cmNlLFxuICAgICAgJ3NlbnRyeS50cmFuc2FjdGlvbl9uYW1lJzogdHJhbnNhY3Rpb25OYW1lLFxuICAgICAgJ2VsZW1lbnQuaWQnOiBlbGVtZW50RW50cnkuaWQsXG4gICAgICAnZWxlbWVudC50eXBlJzogZWxlbWVudEVudHJ5LmVsZW1lbnQ/LnRhZ05hbWU/LnRvTG93ZXJDYXNlKCkgfHwgJ3Vua25vd24nLFxuICAgICAgJ2VsZW1lbnQuc2l6ZSc6XG4gICAgICAgIGVsZW1lbnRFbnRyeS5uYXR1cmFsV2lkdGggJiYgZWxlbWVudEVudHJ5Lm5hdHVyYWxIZWlnaHRcbiAgICAgICAgICA/IGAke2VsZW1lbnRFbnRyeS5uYXR1cmFsV2lkdGh9eCR7ZWxlbWVudEVudHJ5Lm5hdHVyYWxIZWlnaHR9YFxuICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgJ2VsZW1lbnQucmVuZGVyX3RpbWUnOiByZW5kZXJUaW1lLFxuICAgICAgJ2VsZW1lbnQubG9hZF90aW1lJzogbG9hZFRpbWUsXG4gICAgICAvLyBgdXJsYCBpcyBgMGAobnVtYmVyKSBmb3IgdGV4dCBwYWludHMgKGhlbmNlIHdlIGZhbGwgYmFjayB0byB1bmRlZmluZWQpXG4gICAgICAnZWxlbWVudC51cmwnOiBlbGVtZW50RW50cnkudXJsIHx8IHVuZGVmaW5lZCxcbiAgICAgICdlbGVtZW50LmlkZW50aWZpZXInOiBlbGVtZW50RW50cnkuaWRlbnRpZmllcixcbiAgICAgICdlbGVtZW50LnBhaW50X3R5cGUnOiBwYWludFR5cGUsXG4gICAgfTtcblxuICAgIHN0YXJ0U3BhbihcbiAgICAgIHtcbiAgICAgICAgbmFtZTogYGVsZW1lbnRbJHtlbGVtZW50RW50cnkuaWRlbnRpZmllcn1dYCxcbiAgICAgICAgYXR0cmlidXRlcyxcbiAgICAgICAgc3RhcnRUaW1lOiBzcGFuU3RhcnRUaW1lLFxuICAgICAgICBvbmx5SWZQYXJlbnQ6IHRydWUsXG4gICAgICB9LFxuICAgICAgc3BhbiA9PiB7XG4gICAgICAgIHNwYW4uZW5kKHNwYW5TdGFydFRpbWUgKyBkdXJhdGlvbik7XG4gICAgICB9LFxuICAgICk7XG4gIH0pO1xufTtcblxuZXhwb3J0IHsgX29uRWxlbWVudFRpbWluZywgc3RhcnRUcmFja2luZ0VsZW1lbnRUaW1pbmcgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVsZW1lbnRUaW1pbmcuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/elementTiming.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/inp.js": /*!******************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/inp.js ***! \******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _onInp: () => (/* binding */ _onInp),\n/* harmony export */ _trackINP: () => (/* binding */ _trackINP),\n/* harmony export */ registerInpInteractionListener: () => (/* binding */ registerInpInteractionListener),\n/* harmony export */ startTrackingINP: () => (/* binding */ startTrackingINP)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/time.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/spanUtils.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/currentScopes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/browser.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/semanticAttributes.js\");\n/* harmony import */ var _instrument_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./instrument.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js\");\n\n\n\n\nconst LAST_INTERACTIONS = [];\nconst INTERACTIONS_SPAN_MAP = new Map();\n\n/**\n * 60 seconds is the maximum for a plausible INP value\n * (source: Me)\n */\nconst MAX_PLAUSIBLE_INP_DURATION = 60;\n/**\n * Start tracking INP webvital events.\n */\nfunction startTrackingINP() {\n const performance = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.getBrowserPerformanceAPI)();\n if (performance && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)()) {\n const inpCallback = _trackINP();\n\n return () => {\n inpCallback();\n };\n }\n\n return () => undefined;\n}\n\nconst INP_ENTRY_MAP = {\n click: 'click',\n pointerdown: 'click',\n pointerup: 'click',\n mousedown: 'click',\n mouseup: 'click',\n touchstart: 'click',\n touchend: 'click',\n mouseover: 'hover',\n mouseout: 'hover',\n mouseenter: 'hover',\n mouseleave: 'hover',\n pointerover: 'hover',\n pointerout: 'hover',\n pointerenter: 'hover',\n pointerleave: 'hover',\n dragstart: 'drag',\n dragend: 'drag',\n drag: 'drag',\n dragenter: 'drag',\n dragleave: 'drag',\n dragover: 'drag',\n drop: 'drag',\n keydown: 'press',\n keyup: 'press',\n keypress: 'press',\n input: 'press',\n};\n\n/** Starts tracking the Interaction to Next Paint on the current page. #\n * exported only for testing\n */\nfunction _trackINP() {\n return (0,_instrument_js__WEBPACK_IMPORTED_MODULE_2__.addInpInstrumentationHandler)(_onInp);\n}\n\n/**\n * exported only for testing\n */\nconst _onInp = ({ metric }) => {\n if (metric.value == undefined) {\n return;\n }\n\n const duration = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(metric.value);\n\n // We received occasional reports of hour-long INP values.\n // Therefore, we add a sanity check to avoid creating spans for\n // unrealistically long INP durations.\n if (duration > MAX_PLAUSIBLE_INP_DURATION) {\n return;\n }\n\n const entry = metric.entries.find(entry => entry.duration === metric.value && INP_ENTRY_MAP[entry.name]);\n\n if (!entry) {\n return;\n }\n\n const { interactionId } = entry;\n const interactionType = INP_ENTRY_MAP[entry.name];\n\n /** Build the INP span, create an envelope from the span, and then send the envelope */\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(((0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.browserPerformanceTimeOrigin)() ) + entry.startTime);\n const activeSpan = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getActiveSpan)();\n const rootSpan = activeSpan ? (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getRootSpan)(activeSpan) : undefined;\n\n // We first try to lookup the span from our INTERACTIONS_SPAN_MAP,\n // where we cache the route per interactionId\n const cachedSpan = interactionId != null ? INTERACTIONS_SPAN_MAP.get(interactionId) : undefined;\n\n const spanToUse = cachedSpan || rootSpan;\n\n // Else, we try to use the active span.\n // Finally, we fall back to look at the transactionName on the scope\n const routeName = spanToUse ? (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.spanToJSON)(spanToUse).description : (0,_sentry_core__WEBPACK_IMPORTED_MODULE_4__.getCurrentScope)().getScopeData().transactionName;\n\n const name = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_5__.htmlTreeAsString)(entry.target);\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_6__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.inp',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_6__.SEMANTIC_ATTRIBUTE_SENTRY_OP]: `ui.interaction.${interactionType}`,\n [_sentry_core__WEBPACK_IMPORTED_MODULE_6__.SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: entry.duration,\n };\n\n const span = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startStandaloneWebVitalSpan)({\n name,\n transaction: routeName,\n attributes,\n startTime,\n });\n\n if (span) {\n span.addEvent('inp', {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_6__.SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: 'millisecond',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_6__.SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: metric.value,\n });\n\n span.end(startTime + duration);\n }\n};\n\n/**\n * Register a listener to cache route information for INP interactions.\n */\nfunction registerInpInteractionListener() {\n const handleEntries = ({ entries }) => {\n const activeSpan = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getActiveSpan)();\n const activeRootSpan = activeSpan && (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getRootSpan)(activeSpan);\n\n entries.forEach(entry => {\n if (!(0,_instrument_js__WEBPACK_IMPORTED_MODULE_2__.isPerformanceEventTiming)(entry) || !activeRootSpan) {\n return;\n }\n\n const interactionId = entry.interactionId;\n if (interactionId == null) {\n return;\n }\n\n // If the interaction was already recorded before, nothing more to do\n if (INTERACTIONS_SPAN_MAP.has(interactionId)) {\n return;\n }\n\n // We keep max. 10 interactions in the list, then remove the oldest one & clean up\n if (LAST_INTERACTIONS.length > 10) {\n const last = LAST_INTERACTIONS.shift() ;\n INTERACTIONS_SPAN_MAP.delete(last);\n }\n\n // We add the interaction to the list of recorded interactions\n // and store the span for this interaction\n LAST_INTERACTIONS.push(interactionId);\n INTERACTIONS_SPAN_MAP.set(interactionId, activeRootSpan);\n });\n };\n\n (0,_instrument_js__WEBPACK_IMPORTED_MODULE_2__.addPerformanceInstrumentationHandler)('event', handleEntries);\n (0,_instrument_js__WEBPACK_IMPORTED_MODULE_2__.addPerformanceInstrumentationHandler)('first-input', handleEntries);\n}\n\n\n//# sourceMappingURL=inp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvaW5wLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQW1VO0FBQ3BNO0FBQ25DOztBQUU1RjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixtRUFBd0I7QUFDOUMscUJBQXFCLDBFQUE0QjtBQUNqRDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBUyw0RUFBNEI7QUFDckM7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esa0JBQWtCLFFBQVE7QUFDMUI7QUFDQTtBQUNBOztBQUVBLG1CQUFtQixrREFBTzs7QUFFMUI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQSxVQUFVLGdCQUFnQjtBQUMxQjs7QUFFQTtBQUNBLG9CQUFvQixrREFBTyxFQUFFLDBFQUE0QjtBQUN6RCxxQkFBcUIsMkRBQWE7QUFDbEMsZ0NBQWdDLHlEQUFXOztBQUUzQztBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLGdDQUFnQyx3REFBVSwwQkFBMEIsNkRBQWU7O0FBRW5GLGVBQWUsOERBQWdCO0FBQy9CO0FBQ0EsS0FBSywwRUFBZ0M7QUFDckMsS0FBSyxzRUFBNEIscUJBQXFCLGdCQUFnQjtBQUN0RSxLQUFLLDJFQUFpQztBQUN0Qzs7QUFFQSxlQUFlLHNFQUEyQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLE9BQU8sb0ZBQTBDO0FBQ2pELE9BQU8scUZBQTJDO0FBQ2xELEtBQUs7O0FBRUw7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLFNBQVM7QUFDcEMsdUJBQXVCLDJEQUFhO0FBQ3BDLHlDQUF5Qyx5REFBVzs7QUFFcEQ7QUFDQSxXQUFXLHdFQUF3QjtBQUNuQztBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUEsRUFBRSxvRkFBb0M7QUFDdEMsRUFBRSxvRkFBb0M7QUFDdEM7O0FBRStFO0FBQy9FIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL2lucC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBicm93c2VyUGVyZm9ybWFuY2VUaW1lT3JpZ2luLCBnZXRBY3RpdmVTcGFuLCBnZXRSb290U3Bhbiwgc3BhblRvSlNPTiwgZ2V0Q3VycmVudFNjb3BlLCBodG1sVHJlZUFzU3RyaW5nLCBTRU1BTlRJQ19BVFRSSUJVVEVfRVhDTFVTSVZFX1RJTUUsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfTUVBU1VSRU1FTlRfVkFMVUUsIFNFTUFOVElDX0FUVFJJQlVURV9TRU5UUllfTUVBU1VSRU1FTlRfVU5JVCwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUCwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU4gfSBmcm9tICdAc2VudHJ5L2NvcmUnO1xuaW1wb3J0IHsgYWRkUGVyZm9ybWFuY2VJbnN0cnVtZW50YXRpb25IYW5kbGVyLCBhZGRJbnBJbnN0cnVtZW50YXRpb25IYW5kbGVyLCBpc1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcgfSBmcm9tICcuL2luc3RydW1lbnQuanMnO1xuaW1wb3J0IHsgZ2V0QnJvd3NlclBlcmZvcm1hbmNlQVBJLCBtc1RvU2VjLCBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4gfSBmcm9tICcuL3V0aWxzLmpzJztcblxuY29uc3QgTEFTVF9JTlRFUkFDVElPTlMgPSBbXTtcbmNvbnN0IElOVEVSQUNUSU9OU19TUEFOX01BUCA9IG5ldyBNYXAoKTtcblxuLyoqXG4gKiA2MCBzZWNvbmRzIGlzIHRoZSBtYXhpbXVtIGZvciBhIHBsYXVzaWJsZSBJTlAgdmFsdWVcbiAqIChzb3VyY2U6IE1lKVxuICovXG5jb25zdCBNQVhfUExBVVNJQkxFX0lOUF9EVVJBVElPTiA9IDYwO1xuLyoqXG4gKiBTdGFydCB0cmFja2luZyBJTlAgd2Vidml0YWwgZXZlbnRzLlxuICovXG5mdW5jdGlvbiBzdGFydFRyYWNraW5nSU5QKCkge1xuICBjb25zdCBwZXJmb3JtYW5jZSA9IGdldEJyb3dzZXJQZXJmb3JtYW5jZUFQSSgpO1xuICBpZiAocGVyZm9ybWFuY2UgJiYgYnJvd3NlclBlcmZvcm1hbmNlVGltZU9yaWdpbigpKSB7XG4gICAgY29uc3QgaW5wQ2FsbGJhY2sgPSBfdHJhY2tJTlAoKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpbnBDYWxsYmFjaygpO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gKCkgPT4gdW5kZWZpbmVkO1xufVxuXG5jb25zdCBJTlBfRU5UUllfTUFQID0ge1xuICBjbGljazogJ2NsaWNrJyxcbiAgcG9pbnRlcmRvd246ICdjbGljaycsXG4gIHBvaW50ZXJ1cDogJ2NsaWNrJyxcbiAgbW91c2Vkb3duOiAnY2xpY2snLFxuICBtb3VzZXVwOiAnY2xpY2snLFxuICB0b3VjaHN0YXJ0OiAnY2xpY2snLFxuICB0b3VjaGVuZDogJ2NsaWNrJyxcbiAgbW91c2VvdmVyOiAnaG92ZXInLFxuICBtb3VzZW91dDogJ2hvdmVyJyxcbiAgbW91c2VlbnRlcjogJ2hvdmVyJyxcbiAgbW91c2VsZWF2ZTogJ2hvdmVyJyxcbiAgcG9pbnRlcm92ZXI6ICdob3ZlcicsXG4gIHBvaW50ZXJvdXQ6ICdob3ZlcicsXG4gIHBvaW50ZXJlbnRlcjogJ2hvdmVyJyxcbiAgcG9pbnRlcmxlYXZlOiAnaG92ZXInLFxuICBkcmFnc3RhcnQ6ICdkcmFnJyxcbiAgZHJhZ2VuZDogJ2RyYWcnLFxuICBkcmFnOiAnZHJhZycsXG4gIGRyYWdlbnRlcjogJ2RyYWcnLFxuICBkcmFnbGVhdmU6ICdkcmFnJyxcbiAgZHJhZ292ZXI6ICdkcmFnJyxcbiAgZHJvcDogJ2RyYWcnLFxuICBrZXlkb3duOiAncHJlc3MnLFxuICBrZXl1cDogJ3ByZXNzJyxcbiAga2V5cHJlc3M6ICdwcmVzcycsXG4gIGlucHV0OiAncHJlc3MnLFxufTtcblxuLyoqIFN0YXJ0cyB0cmFja2luZyB0aGUgSW50ZXJhY3Rpb24gdG8gTmV4dCBQYWludCBvbiB0aGUgY3VycmVudCBwYWdlLiAjXG4gKiBleHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nXG4gKi9cbmZ1bmN0aW9uIF90cmFja0lOUCgpIHtcbiAgcmV0dXJuIGFkZElucEluc3RydW1lbnRhdGlvbkhhbmRsZXIoX29uSW5wKTtcbn1cblxuLyoqXG4gKiBleHBvcnRlZCBvbmx5IGZvciB0ZXN0aW5nXG4gKi9cbmNvbnN0IF9vbklucCA9ICh7IG1ldHJpYyB9KSA9PiB7XG4gIGlmIChtZXRyaWMudmFsdWUgPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgZHVyYXRpb24gPSBtc1RvU2VjKG1ldHJpYy52YWx1ZSk7XG5cbiAgLy8gV2UgcmVjZWl2ZWQgb2NjYXNpb25hbCByZXBvcnRzIG9mIGhvdXItbG9uZyBJTlAgdmFsdWVzLlxuICAvLyBUaGVyZWZvcmUsIHdlIGFkZCBhIHNhbml0eSBjaGVjayB0byBhdm9pZCBjcmVhdGluZyBzcGFucyBmb3JcbiAgLy8gdW5yZWFsaXN0aWNhbGx5IGxvbmcgSU5QIGR1cmF0aW9ucy5cbiAgaWYgKGR1cmF0aW9uID4gTUFYX1BMQVVTSUJMRV9JTlBfRFVSQVRJT04pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBlbnRyeSA9IG1ldHJpYy5lbnRyaWVzLmZpbmQoZW50cnkgPT4gZW50cnkuZHVyYXRpb24gPT09IG1ldHJpYy52YWx1ZSAmJiBJTlBfRU5UUllfTUFQW2VudHJ5Lm5hbWVdKTtcblxuICBpZiAoIWVudHJ5KSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyBpbnRlcmFjdGlvbklkIH0gPSBlbnRyeTtcbiAgY29uc3QgaW50ZXJhY3Rpb25UeXBlID0gSU5QX0VOVFJZX01BUFtlbnRyeS5uYW1lXTtcblxuICAvKiogQnVpbGQgdGhlIElOUCBzcGFuLCBjcmVhdGUgYW4gZW52ZWxvcGUgZnJvbSB0aGUgc3BhbiwgYW5kIHRoZW4gc2VuZCB0aGUgZW52ZWxvcGUgKi9cbiAgY29uc3Qgc3RhcnRUaW1lID0gbXNUb1NlYygoYnJvd3NlclBlcmZvcm1hbmNlVGltZU9yaWdpbigpICkgKyBlbnRyeS5zdGFydFRpbWUpO1xuICBjb25zdCBhY3RpdmVTcGFuID0gZ2V0QWN0aXZlU3BhbigpO1xuICBjb25zdCByb290U3BhbiA9IGFjdGl2ZVNwYW4gPyBnZXRSb290U3BhbihhY3RpdmVTcGFuKSA6IHVuZGVmaW5lZDtcblxuICAvLyBXZSBmaXJzdCB0cnkgdG8gbG9va3VwIHRoZSBzcGFuIGZyb20gb3VyIElOVEVSQUNUSU9OU19TUEFOX01BUCxcbiAgLy8gd2hlcmUgd2UgY2FjaGUgdGhlIHJvdXRlIHBlciBpbnRlcmFjdGlvbklkXG4gIGNvbnN0IGNhY2hlZFNwYW4gPSBpbnRlcmFjdGlvbklkICE9IG51bGwgPyBJTlRFUkFDVElPTlNfU1BBTl9NQVAuZ2V0KGludGVyYWN0aW9uSWQpIDogdW5kZWZpbmVkO1xuXG4gIGNvbnN0IHNwYW5Ub1VzZSA9IGNhY2hlZFNwYW4gfHwgcm9vdFNwYW47XG5cbiAgLy8gRWxzZSwgd2UgdHJ5IHRvIHVzZSB0aGUgYWN0aXZlIHNwYW4uXG4gIC8vIEZpbmFsbHksIHdlIGZhbGwgYmFjayB0byBsb29rIGF0IHRoZSB0cmFuc2FjdGlvbk5hbWUgb24gdGhlIHNjb3BlXG4gIGNvbnN0IHJvdXRlTmFtZSA9IHNwYW5Ub1VzZSA/IHNwYW5Ub0pTT04oc3BhblRvVXNlKS5kZXNjcmlwdGlvbiA6IGdldEN1cnJlbnRTY29wZSgpLmdldFNjb3BlRGF0YSgpLnRyYW5zYWN0aW9uTmFtZTtcblxuICBjb25zdCBuYW1lID0gaHRtbFRyZWVBc1N0cmluZyhlbnRyeS50YXJnZXQpO1xuICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX09SSUdJTl06ICdhdXRvLmh0dHAuYnJvd3Nlci5pbnAnLFxuICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX09QXTogYHVpLmludGVyYWN0aW9uLiR7aW50ZXJhY3Rpb25UeXBlfWAsXG4gICAgW1NFTUFOVElDX0FUVFJJQlVURV9FWENMVVNJVkVfVElNRV06IGVudHJ5LmR1cmF0aW9uLFxuICB9O1xuXG4gIGNvbnN0IHNwYW4gPSBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4oe1xuICAgIG5hbWUsXG4gICAgdHJhbnNhY3Rpb246IHJvdXRlTmFtZSxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIHN0YXJ0VGltZSxcbiAgfSk7XG5cbiAgaWYgKHNwYW4pIHtcbiAgICBzcGFuLmFkZEV2ZW50KCdpbnAnLCB7XG4gICAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9NRUFTVVJFTUVOVF9VTklUXTogJ21pbGxpc2Vjb25kJyxcbiAgICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX01FQVNVUkVNRU5UX1ZBTFVFXTogbWV0cmljLnZhbHVlLFxuICAgIH0pO1xuXG4gICAgc3Bhbi5lbmQoc3RhcnRUaW1lICsgZHVyYXRpb24pO1xuICB9XG59O1xuXG4vKipcbiAqIFJlZ2lzdGVyIGEgbGlzdGVuZXIgdG8gY2FjaGUgcm91dGUgaW5mb3JtYXRpb24gZm9yIElOUCBpbnRlcmFjdGlvbnMuXG4gKi9cbmZ1bmN0aW9uIHJlZ2lzdGVySW5wSW50ZXJhY3Rpb25MaXN0ZW5lcigpIHtcbiAgY29uc3QgaGFuZGxlRW50cmllcyA9ICh7IGVudHJpZXMgfSkgPT4ge1xuICAgIGNvbnN0IGFjdGl2ZVNwYW4gPSBnZXRBY3RpdmVTcGFuKCk7XG4gICAgY29uc3QgYWN0aXZlUm9vdFNwYW4gPSBhY3RpdmVTcGFuICYmIGdldFJvb3RTcGFuKGFjdGl2ZVNwYW4pO1xuXG4gICAgZW50cmllcy5mb3JFYWNoKGVudHJ5ID0+IHtcbiAgICAgIGlmICghaXNQZXJmb3JtYW5jZUV2ZW50VGltaW5nKGVudHJ5KSB8fCAhYWN0aXZlUm9vdFNwYW4pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbnRlcmFjdGlvbklkID0gZW50cnkuaW50ZXJhY3Rpb25JZDtcbiAgICAgIGlmIChpbnRlcmFjdGlvbklkID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICAvLyBJZiB0aGUgaW50ZXJhY3Rpb24gd2FzIGFscmVhZHkgcmVjb3JkZWQgYmVmb3JlLCBub3RoaW5nIG1vcmUgdG8gZG9cbiAgICAgIGlmIChJTlRFUkFDVElPTlNfU1BBTl9NQVAuaGFzKGludGVyYWN0aW9uSWQpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gV2Uga2VlcCBtYXguIDEwIGludGVyYWN0aW9ucyBpbiB0aGUgbGlzdCwgdGhlbiByZW1vdmUgdGhlIG9sZGVzdCBvbmUgJiBjbGVhbiB1cFxuICAgICAgaWYgKExBU1RfSU5URVJBQ1RJT05TLmxlbmd0aCA+IDEwKSB7XG4gICAgICAgIGNvbnN0IGxhc3QgPSBMQVNUX0lOVEVSQUNUSU9OUy5zaGlmdCgpIDtcbiAgICAgICAgSU5URVJBQ1RJT05TX1NQQU5fTUFQLmRlbGV0ZShsYXN0KTtcbiAgICAgIH1cblxuICAgICAgLy8gV2UgYWRkIHRoZSBpbnRlcmFjdGlvbiB0byB0aGUgbGlzdCBvZiByZWNvcmRlZCBpbnRlcmFjdGlvbnNcbiAgICAgIC8vIGFuZCBzdG9yZSB0aGUgc3BhbiBmb3IgdGhpcyBpbnRlcmFjdGlvblxuICAgICAgTEFTVF9JTlRFUkFDVElPTlMucHVzaChpbnRlcmFjdGlvbklkKTtcbiAgICAgIElOVEVSQUNUSU9OU19TUEFOX01BUC5zZXQoaW50ZXJhY3Rpb25JZCwgYWN0aXZlUm9vdFNwYW4pO1xuICAgIH0pO1xuICB9O1xuXG4gIGFkZFBlcmZvcm1hbmNlSW5zdHJ1bWVudGF0aW9uSGFuZGxlcignZXZlbnQnLCBoYW5kbGVFbnRyaWVzKTtcbiAgYWRkUGVyZm9ybWFuY2VJbnN0cnVtZW50YXRpb25IYW5kbGVyKCdmaXJzdC1pbnB1dCcsIGhhbmRsZUVudHJpZXMpO1xufVxuXG5leHBvcnQgeyBfb25JbnAsIF90cmFja0lOUCwgcmVnaXN0ZXJJbnBJbnRlcmFjdGlvbkxpc3RlbmVyLCBzdGFydFRyYWNraW5nSU5QIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnAuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/inp.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js": /*!*************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js ***! \*************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ addClsInstrumentationHandler: () => (/* binding */ addClsInstrumentationHandler),\n/* harmony export */ addInpInstrumentationHandler: () => (/* binding */ addInpInstrumentationHandler),\n/* harmony export */ addLcpInstrumentationHandler: () => (/* binding */ addLcpInstrumentationHandler),\n/* harmony export */ addPerformanceInstrumentationHandler: () => (/* binding */ addPerformanceInstrumentationHandler),\n/* harmony export */ addTtfbInstrumentationHandler: () => (/* binding */ addTtfbInstrumentationHandler),\n/* harmony export */ isPerformanceEventTiming: () => (/* binding */ isPerformanceEventTiming)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/debug-logger.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/stacktrace.js\");\n/* harmony import */ var _debug_build_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../debug-build.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js\");\n/* harmony import */ var _web_vitals_getCLS_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./web-vitals/getCLS.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getCLS.js\");\n/* harmony import */ var _web_vitals_getINP_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./web-vitals/getINP.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getINP.js\");\n/* harmony import */ var _web_vitals_getLCP_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./web-vitals/getLCP.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getLCP.js\");\n/* harmony import */ var _web_vitals_lib_observe_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./web-vitals/lib/observe.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\");\n/* harmony import */ var _web_vitals_onTTFB_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./web-vitals/onTTFB.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onTTFB.js\");\n\n\n\n\n\n\n\n\nconst handlers = {};\nconst instrumented = {};\n\nlet _previousCls;\nlet _previousLcp;\nlet _previousTtfb;\nlet _previousInp;\n\n/**\n * Add a callback that will be triggered when a CLS metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n *\n * Pass `stopOnCallback = true` to stop listening for CLS when the cleanup callback is called.\n * This will lead to the CLS being finalized and frozen.\n */\nfunction addClsInstrumentationHandler(\n callback,\n stopOnCallback = false,\n) {\n return addMetricObserver('cls', callback, instrumentCls, _previousCls, stopOnCallback);\n}\n\n/**\n * Add a callback that will be triggered when a LCP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n *\n * Pass `stopOnCallback = true` to stop listening for LCP when the cleanup callback is called.\n * This will lead to the LCP being finalized and frozen.\n */\nfunction addLcpInstrumentationHandler(\n callback,\n stopOnCallback = false,\n) {\n return addMetricObserver('lcp', callback, instrumentLcp, _previousLcp, stopOnCallback);\n}\n\n/**\n * Add a callback that will be triggered when a TTFD metric is available.\n */\nfunction addTtfbInstrumentationHandler(callback) {\n return addMetricObserver('ttfb', callback, instrumentTtfb, _previousTtfb);\n}\n\n/**\n * Add a callback that will be triggered when a INP metric is available.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addInpInstrumentationHandler(callback) {\n return addMetricObserver('inp', callback, instrumentInp, _previousInp);\n}\n\n/**\n * Add a callback that will be triggered when a performance observer is triggered,\n * and receives the entries of the observer.\n * Returns a cleanup callback which can be called to remove the instrumentation handler.\n */\nfunction addPerformanceInstrumentationHandler(\n type,\n callback,\n) {\n addHandler(type, callback);\n\n if (!instrumented[type]) {\n instrumentPerformanceObserver(type);\n instrumented[type] = true;\n }\n\n return getCleanupCallback(type, callback);\n}\n\n/** Trigger all handlers of a given type. */\nfunction triggerHandlers(type, data) {\n const typeHandlers = handlers[type];\n\n if (!typeHandlers?.length) {\n return;\n }\n\n for (const handler of typeHandlers) {\n try {\n handler(data);\n } catch (e) {\n _debug_build_js__WEBPACK_IMPORTED_MODULE_0__.DEBUG_BUILD &&\n _sentry_core__WEBPACK_IMPORTED_MODULE_1__.debug.error(\n `Error while triggering instrumentation handler.\\nType: ${type}\\nName: ${(0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.getFunctionName)(handler)}\\nError:`,\n e,\n );\n }\n }\n}\n\nfunction instrumentCls() {\n return (0,_web_vitals_getCLS_js__WEBPACK_IMPORTED_MODULE_3__.onCLS)(\n metric => {\n triggerHandlers('cls', {\n metric,\n });\n _previousCls = metric;\n },\n // We want the callback to be called whenever the CLS value updates.\n // By default, the callback is only called when the tab goes to the background.\n { reportAllChanges: true },\n );\n}\n\nfunction instrumentLcp() {\n return (0,_web_vitals_getLCP_js__WEBPACK_IMPORTED_MODULE_4__.onLCP)(\n metric => {\n triggerHandlers('lcp', {\n metric,\n });\n _previousLcp = metric;\n },\n // We want the callback to be called whenever the LCP value updates.\n // By default, the callback is only called when the tab goes to the background.\n { reportAllChanges: true },\n );\n}\n\nfunction instrumentTtfb() {\n return (0,_web_vitals_onTTFB_js__WEBPACK_IMPORTED_MODULE_5__.onTTFB)(metric => {\n triggerHandlers('ttfb', {\n metric,\n });\n _previousTtfb = metric;\n });\n}\n\nfunction instrumentInp() {\n return (0,_web_vitals_getINP_js__WEBPACK_IMPORTED_MODULE_6__.onINP)(metric => {\n triggerHandlers('inp', {\n metric,\n });\n _previousInp = metric;\n });\n}\n\nfunction addMetricObserver(\n type,\n callback,\n instrumentFn,\n previousValue,\n stopOnCallback = false,\n) {\n addHandler(type, callback);\n\n let stopListening;\n\n if (!instrumented[type]) {\n stopListening = instrumentFn();\n instrumented[type] = true;\n }\n\n if (previousValue) {\n callback({ metric: previousValue });\n }\n\n return getCleanupCallback(type, callback, stopOnCallback ? stopListening : undefined);\n}\n\nfunction instrumentPerformanceObserver(type) {\n const options = {};\n\n // Special per-type options we want to use\n if (type === 'event') {\n options.durationThreshold = 0;\n }\n\n (0,_web_vitals_lib_observe_js__WEBPACK_IMPORTED_MODULE_7__.observe)(\n type,\n entries => {\n triggerHandlers(type, { entries });\n },\n options,\n );\n}\n\nfunction addHandler(type, handler) {\n handlers[type] = handlers[type] || [];\n (handlers[type] ).push(handler);\n}\n\n// Get a callback which can be called to remove the instrumentation handler\nfunction getCleanupCallback(\n type,\n callback,\n stopListening,\n) {\n return () => {\n if (stopListening) {\n stopListening();\n }\n\n const typeHandlers = handlers[type];\n\n if (!typeHandlers) {\n return;\n }\n\n const index = typeHandlers.indexOf(callback);\n if (index !== -1) {\n typeHandlers.splice(index, 1);\n }\n };\n}\n\n/**\n * Check if a PerformanceEntry is a PerformanceEventTiming by checking for the `duration` property.\n */\nfunction isPerformanceEventTiming(entry) {\n return 'duration' in entry;\n}\n\n\n//# sourceMappingURL=instrument.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvaW5zdHJ1bWVudC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFzRDtBQUNOO0FBQ0Q7QUFDQTtBQUNBO0FBQ087QUFDTjs7QUFFaEQ7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU07QUFDTixNQUFNLHdEQUFXO0FBQ2pCLFFBQVEsK0NBQUs7QUFDYixvRUFBb0UsS0FBSyxVQUFVLDZEQUFlLFVBQVU7QUFDNUc7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsNERBQUs7QUFDZDtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLE1BQU0sd0JBQXdCO0FBQzlCO0FBQ0E7O0FBRUE7QUFDQSxTQUFTLDREQUFLO0FBQ2Q7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxNQUFNLHdCQUF3QjtBQUM5QjtBQUNBOztBQUVBO0FBQ0EsU0FBUyw2REFBTTtBQUNmO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQSxTQUFTLDREQUFLO0FBQ2Q7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsZUFBZSx1QkFBdUI7QUFDdEM7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEVBQUUsbUVBQU87QUFDVDtBQUNBO0FBQ0EsOEJBQThCLFNBQVM7QUFDdkMsS0FBSztBQUNMO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFbU07QUFDbk0iLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvaW5zdHJ1bWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJ1ZywgZ2V0RnVuY3Rpb25OYW1lIH0gZnJvbSAnQHNlbnRyeS9jb3JlJztcbmltcG9ydCB7IERFQlVHX0JVSUxEIH0gZnJvbSAnLi4vZGVidWctYnVpbGQuanMnO1xuaW1wb3J0IHsgb25DTFMgfSBmcm9tICcuL3dlYi12aXRhbHMvZ2V0Q0xTLmpzJztcbmltcG9ydCB7IG9uSU5QIH0gZnJvbSAnLi93ZWItdml0YWxzL2dldElOUC5qcyc7XG5pbXBvcnQgeyBvbkxDUCB9IGZyb20gJy4vd2ViLXZpdGFscy9nZXRMQ1AuanMnO1xuaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4vd2ViLXZpdGFscy9saWIvb2JzZXJ2ZS5qcyc7XG5pbXBvcnQgeyBvblRURkIgfSBmcm9tICcuL3dlYi12aXRhbHMvb25UVEZCLmpzJztcblxuY29uc3QgaGFuZGxlcnMgPSB7fTtcbmNvbnN0IGluc3RydW1lbnRlZCA9IHt9O1xuXG5sZXQgX3ByZXZpb3VzQ2xzO1xubGV0IF9wcmV2aW91c0xjcDtcbmxldCBfcHJldmlvdXNUdGZiO1xubGV0IF9wcmV2aW91c0lucDtcblxuLyoqXG4gKiBBZGQgYSBjYWxsYmFjayB0aGF0IHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gYSBDTFMgbWV0cmljIGlzIGF2YWlsYWJsZS5cbiAqIFJldHVybnMgYSBjbGVhbnVwIGNhbGxiYWNrIHdoaWNoIGNhbiBiZSBjYWxsZWQgdG8gcmVtb3ZlIHRoZSBpbnN0cnVtZW50YXRpb24gaGFuZGxlci5cbiAqXG4gKiBQYXNzIGBzdG9wT25DYWxsYmFjayA9IHRydWVgIHRvIHN0b3AgbGlzdGVuaW5nIGZvciBDTFMgd2hlbiB0aGUgY2xlYW51cCBjYWxsYmFjayBpcyBjYWxsZWQuXG4gKiBUaGlzIHdpbGwgbGVhZCB0byB0aGUgQ0xTIGJlaW5nIGZpbmFsaXplZCBhbmQgZnJvemVuLlxuICovXG5mdW5jdGlvbiBhZGRDbHNJbnN0cnVtZW50YXRpb25IYW5kbGVyKFxuICBjYWxsYmFjayxcbiAgc3RvcE9uQ2FsbGJhY2sgPSBmYWxzZSxcbikge1xuICByZXR1cm4gYWRkTWV0cmljT2JzZXJ2ZXIoJ2NscycsIGNhbGxiYWNrLCBpbnN0cnVtZW50Q2xzLCBfcHJldmlvdXNDbHMsIHN0b3BPbkNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBBZGQgYSBjYWxsYmFjayB0aGF0IHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gYSBMQ1AgbWV0cmljIGlzIGF2YWlsYWJsZS5cbiAqIFJldHVybnMgYSBjbGVhbnVwIGNhbGxiYWNrIHdoaWNoIGNhbiBiZSBjYWxsZWQgdG8gcmVtb3ZlIHRoZSBpbnN0cnVtZW50YXRpb24gaGFuZGxlci5cbiAqXG4gKiBQYXNzIGBzdG9wT25DYWxsYmFjayA9IHRydWVgIHRvIHN0b3AgbGlzdGVuaW5nIGZvciBMQ1Agd2hlbiB0aGUgY2xlYW51cCBjYWxsYmFjayBpcyBjYWxsZWQuXG4gKiBUaGlzIHdpbGwgbGVhZCB0byB0aGUgTENQIGJlaW5nIGZpbmFsaXplZCBhbmQgZnJvemVuLlxuICovXG5mdW5jdGlvbiBhZGRMY3BJbnN0cnVtZW50YXRpb25IYW5kbGVyKFxuICBjYWxsYmFjayxcbiAgc3RvcE9uQ2FsbGJhY2sgPSBmYWxzZSxcbikge1xuICByZXR1cm4gYWRkTWV0cmljT2JzZXJ2ZXIoJ2xjcCcsIGNhbGxiYWNrLCBpbnN0cnVtZW50TGNwLCBfcHJldmlvdXNMY3AsIHN0b3BPbkNhbGxiYWNrKTtcbn1cblxuLyoqXG4gKiBBZGQgYSBjYWxsYmFjayB0aGF0IHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gYSBUVEZEIG1ldHJpYyBpcyBhdmFpbGFibGUuXG4gKi9cbmZ1bmN0aW9uIGFkZFR0ZmJJbnN0cnVtZW50YXRpb25IYW5kbGVyKGNhbGxiYWNrKSB7XG4gIHJldHVybiBhZGRNZXRyaWNPYnNlcnZlcigndHRmYicsIGNhbGxiYWNrLCBpbnN0cnVtZW50VHRmYiwgX3ByZXZpb3VzVHRmYik7XG59XG5cbi8qKlxuICogQWRkIGEgY2FsbGJhY2sgdGhhdCB3aWxsIGJlIHRyaWdnZXJlZCB3aGVuIGEgSU5QIG1ldHJpYyBpcyBhdmFpbGFibGUuXG4gKiBSZXR1cm5zIGEgY2xlYW51cCBjYWxsYmFjayB3aGljaCBjYW4gYmUgY2FsbGVkIHRvIHJlbW92ZSB0aGUgaW5zdHJ1bWVudGF0aW9uIGhhbmRsZXIuXG4gKi9cbmZ1bmN0aW9uIGFkZElucEluc3RydW1lbnRhdGlvbkhhbmRsZXIoY2FsbGJhY2spIHtcbiAgcmV0dXJuIGFkZE1ldHJpY09ic2VydmVyKCdpbnAnLCBjYWxsYmFjaywgaW5zdHJ1bWVudElucCwgX3ByZXZpb3VzSW5wKTtcbn1cblxuLyoqXG4gKiBBZGQgYSBjYWxsYmFjayB0aGF0IHdpbGwgYmUgdHJpZ2dlcmVkIHdoZW4gYSBwZXJmb3JtYW5jZSBvYnNlcnZlciBpcyB0cmlnZ2VyZWQsXG4gKiBhbmQgcmVjZWl2ZXMgdGhlIGVudHJpZXMgb2YgdGhlIG9ic2VydmVyLlxuICogUmV0dXJucyBhIGNsZWFudXAgY2FsbGJhY2sgd2hpY2ggY2FuIGJlIGNhbGxlZCB0byByZW1vdmUgdGhlIGluc3RydW1lbnRhdGlvbiBoYW5kbGVyLlxuICovXG5mdW5jdGlvbiBhZGRQZXJmb3JtYW5jZUluc3RydW1lbnRhdGlvbkhhbmRsZXIoXG4gIHR5cGUsXG4gIGNhbGxiYWNrLFxuKSB7XG4gIGFkZEhhbmRsZXIodHlwZSwgY2FsbGJhY2spO1xuXG4gIGlmICghaW5zdHJ1bWVudGVkW3R5cGVdKSB7XG4gICAgaW5zdHJ1bWVudFBlcmZvcm1hbmNlT2JzZXJ2ZXIodHlwZSk7XG4gICAgaW5zdHJ1bWVudGVkW3R5cGVdID0gdHJ1ZTtcbiAgfVxuXG4gIHJldHVybiBnZXRDbGVhbnVwQ2FsbGJhY2sodHlwZSwgY2FsbGJhY2spO1xufVxuXG4vKiogVHJpZ2dlciBhbGwgaGFuZGxlcnMgb2YgYSBnaXZlbiB0eXBlLiAqL1xuZnVuY3Rpb24gdHJpZ2dlckhhbmRsZXJzKHR5cGUsIGRhdGEpIHtcbiAgY29uc3QgdHlwZUhhbmRsZXJzID0gaGFuZGxlcnNbdHlwZV07XG5cbiAgaWYgKCF0eXBlSGFuZGxlcnM/Lmxlbmd0aCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZvciAoY29uc3QgaGFuZGxlciBvZiB0eXBlSGFuZGxlcnMpIHtcbiAgICB0cnkge1xuICAgICAgaGFuZGxlcihkYXRhKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBERUJVR19CVUlMRCAmJlxuICAgICAgICBkZWJ1Zy5lcnJvcihcbiAgICAgICAgICBgRXJyb3Igd2hpbGUgdHJpZ2dlcmluZyBpbnN0cnVtZW50YXRpb24gaGFuZGxlci5cXG5UeXBlOiAke3R5cGV9XFxuTmFtZTogJHtnZXRGdW5jdGlvbk5hbWUoaGFuZGxlcil9XFxuRXJyb3I6YCxcbiAgICAgICAgICBlLFxuICAgICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBpbnN0cnVtZW50Q2xzKCkge1xuICByZXR1cm4gb25DTFMoXG4gICAgbWV0cmljID0+IHtcbiAgICAgIHRyaWdnZXJIYW5kbGVycygnY2xzJywge1xuICAgICAgICBtZXRyaWMsXG4gICAgICB9KTtcbiAgICAgIF9wcmV2aW91c0NscyA9IG1ldHJpYztcbiAgICB9LFxuICAgIC8vIFdlIHdhbnQgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgQ0xTIHZhbHVlIHVwZGF0ZXMuXG4gICAgLy8gQnkgZGVmYXVsdCwgdGhlIGNhbGxiYWNrIGlzIG9ubHkgY2FsbGVkIHdoZW4gdGhlIHRhYiBnb2VzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuICAgIHsgcmVwb3J0QWxsQ2hhbmdlczogdHJ1ZSB9LFxuICApO1xufVxuXG5mdW5jdGlvbiBpbnN0cnVtZW50TGNwKCkge1xuICByZXR1cm4gb25MQ1AoXG4gICAgbWV0cmljID0+IHtcbiAgICAgIHRyaWdnZXJIYW5kbGVycygnbGNwJywge1xuICAgICAgICBtZXRyaWMsXG4gICAgICB9KTtcbiAgICAgIF9wcmV2aW91c0xjcCA9IG1ldHJpYztcbiAgICB9LFxuICAgIC8vIFdlIHdhbnQgdGhlIGNhbGxiYWNrIHRvIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgTENQIHZhbHVlIHVwZGF0ZXMuXG4gICAgLy8gQnkgZGVmYXVsdCwgdGhlIGNhbGxiYWNrIGlzIG9ubHkgY2FsbGVkIHdoZW4gdGhlIHRhYiBnb2VzIHRvIHRoZSBiYWNrZ3JvdW5kLlxuICAgIHsgcmVwb3J0QWxsQ2hhbmdlczogdHJ1ZSB9LFxuICApO1xufVxuXG5mdW5jdGlvbiBpbnN0cnVtZW50VHRmYigpIHtcbiAgcmV0dXJuIG9uVFRGQihtZXRyaWMgPT4ge1xuICAgIHRyaWdnZXJIYW5kbGVycygndHRmYicsIHtcbiAgICAgIG1ldHJpYyxcbiAgICB9KTtcbiAgICBfcHJldmlvdXNUdGZiID0gbWV0cmljO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5zdHJ1bWVudElucCgpIHtcbiAgcmV0dXJuIG9uSU5QKG1ldHJpYyA9PiB7XG4gICAgdHJpZ2dlckhhbmRsZXJzKCdpbnAnLCB7XG4gICAgICBtZXRyaWMsXG4gICAgfSk7XG4gICAgX3ByZXZpb3VzSW5wID0gbWV0cmljO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gYWRkTWV0cmljT2JzZXJ2ZXIoXG4gIHR5cGUsXG4gIGNhbGxiYWNrLFxuICBpbnN0cnVtZW50Rm4sXG4gIHByZXZpb3VzVmFsdWUsXG4gIHN0b3BPbkNhbGxiYWNrID0gZmFsc2UsXG4pIHtcbiAgYWRkSGFuZGxlcih0eXBlLCBjYWxsYmFjayk7XG5cbiAgbGV0IHN0b3BMaXN0ZW5pbmc7XG5cbiAgaWYgKCFpbnN0cnVtZW50ZWRbdHlwZV0pIHtcbiAgICBzdG9wTGlzdGVuaW5nID0gaW5zdHJ1bWVudEZuKCk7XG4gICAgaW5zdHJ1bWVudGVkW3R5cGVdID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcmV2aW91c1ZhbHVlKSB7XG4gICAgY2FsbGJhY2soeyBtZXRyaWM6IHByZXZpb3VzVmFsdWUgfSk7XG4gIH1cblxuICByZXR1cm4gZ2V0Q2xlYW51cENhbGxiYWNrKHR5cGUsIGNhbGxiYWNrLCBzdG9wT25DYWxsYmFjayA/IHN0b3BMaXN0ZW5pbmcgOiB1bmRlZmluZWQpO1xufVxuXG5mdW5jdGlvbiBpbnN0cnVtZW50UGVyZm9ybWFuY2VPYnNlcnZlcih0eXBlKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSB7fTtcblxuICAvLyBTcGVjaWFsIHBlci10eXBlIG9wdGlvbnMgd2Ugd2FudCB0byB1c2VcbiAgaWYgKHR5cGUgPT09ICdldmVudCcpIHtcbiAgICBvcHRpb25zLmR1cmF0aW9uVGhyZXNob2xkID0gMDtcbiAgfVxuXG4gIG9ic2VydmUoXG4gICAgdHlwZSxcbiAgICBlbnRyaWVzID0+IHtcbiAgICAgIHRyaWdnZXJIYW5kbGVycyh0eXBlLCB7IGVudHJpZXMgfSk7XG4gICAgfSxcbiAgICBvcHRpb25zLFxuICApO1xufVxuXG5mdW5jdGlvbiBhZGRIYW5kbGVyKHR5cGUsIGhhbmRsZXIpIHtcbiAgaGFuZGxlcnNbdHlwZV0gPSBoYW5kbGVyc1t0eXBlXSB8fCBbXTtcbiAgKGhhbmRsZXJzW3R5cGVdICkucHVzaChoYW5kbGVyKTtcbn1cblxuLy8gR2V0IGEgY2FsbGJhY2sgd2hpY2ggY2FuIGJlIGNhbGxlZCB0byByZW1vdmUgdGhlIGluc3RydW1lbnRhdGlvbiBoYW5kbGVyXG5mdW5jdGlvbiBnZXRDbGVhbnVwQ2FsbGJhY2soXG4gIHR5cGUsXG4gIGNhbGxiYWNrLFxuICBzdG9wTGlzdGVuaW5nLFxuKSB7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgaWYgKHN0b3BMaXN0ZW5pbmcpIHtcbiAgICAgIHN0b3BMaXN0ZW5pbmcoKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlSGFuZGxlcnMgPSBoYW5kbGVyc1t0eXBlXTtcblxuICAgIGlmICghdHlwZUhhbmRsZXJzKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5kZXggPSB0eXBlSGFuZGxlcnMuaW5kZXhPZihjYWxsYmFjayk7XG4gICAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgICAgdHlwZUhhbmRsZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgfVxuICB9O1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgUGVyZm9ybWFuY2VFbnRyeSBpcyBhIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgYnkgY2hlY2tpbmcgZm9yIHRoZSBgZHVyYXRpb25gIHByb3BlcnR5LlxuICovXG5mdW5jdGlvbiBpc1BlcmZvcm1hbmNlRXZlbnRUaW1pbmcoZW50cnkpIHtcbiAgcmV0dXJuICdkdXJhdGlvbicgaW4gZW50cnk7XG59XG5cbmV4cG9ydCB7IGFkZENsc0luc3RydW1lbnRhdGlvbkhhbmRsZXIsIGFkZElucEluc3RydW1lbnRhdGlvbkhhbmRsZXIsIGFkZExjcEluc3RydW1lbnRhdGlvbkhhbmRsZXIsIGFkZFBlcmZvcm1hbmNlSW5zdHJ1bWVudGF0aW9uSGFuZGxlciwgYWRkVHRmYkluc3RydW1lbnRhdGlvbkhhbmRsZXIsIGlzUGVyZm9ybWFuY2VFdmVudFRpbWluZyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5zdHJ1bWVudC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/lcp.js": /*!******************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/lcp.js ***! \******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _sendStandaloneLcpSpan: () => (/* binding */ _sendStandaloneLcpSpan),\n/* harmony export */ trackLcpAsStandaloneSpan: () => (/* binding */ trackLcpAsStandaloneSpan)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/debug-logger.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/time.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/currentScopes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/browser.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/semanticAttributes.js\");\n/* harmony import */ var _debug_build_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../debug-build.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js\");\n/* harmony import */ var _instrument_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./instrument.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/instrument.js\");\n/* harmony import */ var _utils_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js\");\n\n\n\n\n\n/**\n * Starts tracking the Largest Contentful Paint on the current page and collects the value once\n *\n * - the page visibility is hidden\n * - a navigation span is started (to stop LCP measurement for SPA soft navigations)\n *\n * Once either of these events triggers, the LCP value is sent as a standalone span and we stop\n * measuring LCP for subsequent routes.\n */\nfunction trackLcpAsStandaloneSpan(client) {\n let standaloneLcpValue = 0;\n let standaloneLcpEntry;\n\n if (!(0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.supportsWebVital)('largest-contentful-paint')) {\n return;\n }\n\n const cleanupLcpHandler = (0,_instrument_js__WEBPACK_IMPORTED_MODULE_1__.addLcpInstrumentationHandler)(({ metric }) => {\n const entry = metric.entries[metric.entries.length - 1] ;\n if (!entry) {\n return;\n }\n standaloneLcpValue = metric.value;\n standaloneLcpEntry = entry;\n }, true);\n\n (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.listenForWebVitalReportEvents)(client, (reportEvent, pageloadSpanId) => {\n _sendStandaloneLcpSpan(standaloneLcpValue, standaloneLcpEntry, pageloadSpanId, reportEvent);\n cleanupLcpHandler();\n });\n}\n\n/**\n * Exported only for testing!\n */\nfunction _sendStandaloneLcpSpan(\n lcpValue,\n entry,\n pageloadSpanId,\n reportEvent,\n) {\n _debug_build_js__WEBPACK_IMPORTED_MODULE_2__.DEBUG_BUILD && _sentry_core__WEBPACK_IMPORTED_MODULE_3__.debug.log(`Sending LCP span (${lcpValue})`);\n\n const startTime = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.msToSec)(((0,_sentry_core__WEBPACK_IMPORTED_MODULE_4__.browserPerformanceTimeOrigin)() || 0) + (entry?.startTime || 0));\n const routeName = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_5__.getCurrentScope)().getScopeData().transactionName;\n\n const name = entry ? (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.htmlTreeAsString)(entry.element) : 'Largest contentful paint';\n\n const attributes = {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_ORIGIN]: 'auto.http.browser.lcp',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_OP]: 'ui.webvital.lcp',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_EXCLUSIVE_TIME]: 0, // LCP is a point-in-time metric\n // attach the pageload span id to the LCP span so that we can link them in the UI\n 'sentry.pageload.span_id': pageloadSpanId,\n // describes what triggered the web vital to be reported\n 'sentry.report_event': reportEvent,\n };\n\n if (entry) {\n entry.element && (attributes['lcp.element'] = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_6__.htmlTreeAsString)(entry.element));\n entry.id && (attributes['lcp.id'] = entry.id);\n\n // Trim URL to the first 200 characters.\n entry.url && (attributes['lcp.url'] = entry.url.trim().slice(0, 200));\n\n // loadTime is the time of LCP that's related to receiving the LCP element response..\n entry.loadTime != null && (attributes['lcp.loadTime'] = entry.loadTime);\n\n // renderTime is loadTime + rendering time\n // it's 0 if the LCP element is loaded from a 3rd party origin that doesn't send the\n // `Timing-Allow-Origin` header.\n entry.renderTime != null && (attributes['lcp.renderTime'] = entry.renderTime);\n\n entry.size != null && (attributes['lcp.size'] = entry.size);\n }\n\n const span = (0,_utils_js__WEBPACK_IMPORTED_MODULE_0__.startStandaloneWebVitalSpan)({\n name,\n transaction: routeName,\n attributes,\n startTime,\n });\n\n if (span) {\n span.addEvent('lcp', {\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_UNIT]: 'millisecond',\n [_sentry_core__WEBPACK_IMPORTED_MODULE_7__.SEMANTIC_ATTRIBUTE_SENTRY_MEASUREMENT_VALUE]: lcpValue,\n });\n\n // LCP is a point-in-time metric, so we end the span immediately\n span.end(startTime);\n }\n}\n\n\n//# sourceMappingURL=lcp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvbGNwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBa1M7QUFDbFA7QUFDZTtBQUNvRDs7QUFFbkg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU8sMkRBQWdCO0FBQ3ZCO0FBQ0E7O0FBRUEsNEJBQTRCLDRFQUE0QixJQUFJLFFBQVE7QUFDcEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSCxFQUFFLHdFQUE2QjtBQUMvQjtBQUNBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEVBQUUsd0RBQVcsSUFBSSwrQ0FBSywwQkFBMEIsU0FBUzs7QUFFekQsb0JBQW9CLGtEQUFPLEVBQUUsMEVBQTRCO0FBQ3pELG9CQUFvQiw2REFBZTs7QUFFbkMsdUJBQXVCLDhEQUFnQjs7QUFFdkM7QUFDQSxLQUFLLDBFQUFnQztBQUNyQyxLQUFLLHNFQUE0QjtBQUNqQyxLQUFLLDJFQUFpQztBQUN0QztBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esa0RBQWtELDhEQUFnQjtBQUNsRTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQSxlQUFlLHNFQUEyQjtBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLE9BQU8sb0ZBQTBDO0FBQ2pELE9BQU8scUZBQTJDO0FBQ2xELEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7O0FBRTREO0FBQzVEIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL2xjcC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJ1ZywgYnJvd3NlclBlcmZvcm1hbmNlVGltZU9yaWdpbiwgZ2V0Q3VycmVudFNjb3BlLCBodG1sVHJlZUFzU3RyaW5nLCBTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX01FQVNVUkVNRU5UX1ZBTFVFLCBTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX01FQVNVUkVNRU5UX1VOSVQsIFNFTUFOVElDX0FUVFJJQlVURV9FWENMVVNJVkVfVElNRSwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUCwgU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU4gfSBmcm9tICdAc2VudHJ5L2NvcmUnO1xuaW1wb3J0IHsgREVCVUdfQlVJTEQgfSBmcm9tICcuLi9kZWJ1Zy1idWlsZC5qcyc7XG5pbXBvcnQgeyBhZGRMY3BJbnN0cnVtZW50YXRpb25IYW5kbGVyIH0gZnJvbSAnLi9pbnN0cnVtZW50LmpzJztcbmltcG9ydCB7IHN1cHBvcnRzV2ViVml0YWwsIGxpc3RlbkZvcldlYlZpdGFsUmVwb3J0RXZlbnRzLCBtc1RvU2VjLCBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4gfSBmcm9tICcuL3V0aWxzLmpzJztcblxuLyoqXG4gKiBTdGFydHMgdHJhY2tpbmcgdGhlIExhcmdlc3QgQ29udGVudGZ1bCBQYWludCBvbiB0aGUgY3VycmVudCBwYWdlIGFuZCBjb2xsZWN0cyB0aGUgdmFsdWUgb25jZVxuICpcbiAqIC0gdGhlIHBhZ2UgdmlzaWJpbGl0eSBpcyBoaWRkZW5cbiAqIC0gYSBuYXZpZ2F0aW9uIHNwYW4gaXMgc3RhcnRlZCAodG8gc3RvcCBMQ1AgbWVhc3VyZW1lbnQgZm9yIFNQQSBzb2Z0IG5hdmlnYXRpb25zKVxuICpcbiAqIE9uY2UgZWl0aGVyIG9mIHRoZXNlIGV2ZW50cyB0cmlnZ2VycywgdGhlIExDUCB2YWx1ZSBpcyBzZW50IGFzIGEgc3RhbmRhbG9uZSBzcGFuIGFuZCB3ZSBzdG9wXG4gKiBtZWFzdXJpbmcgTENQIGZvciBzdWJzZXF1ZW50IHJvdXRlcy5cbiAqL1xuZnVuY3Rpb24gdHJhY2tMY3BBc1N0YW5kYWxvbmVTcGFuKGNsaWVudCkge1xuICBsZXQgc3RhbmRhbG9uZUxjcFZhbHVlID0gMDtcbiAgbGV0IHN0YW5kYWxvbmVMY3BFbnRyeTtcblxuICBpZiAoIXN1cHBvcnRzV2ViVml0YWwoJ2xhcmdlc3QtY29udGVudGZ1bC1wYWludCcpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgY2xlYW51cExjcEhhbmRsZXIgPSBhZGRMY3BJbnN0cnVtZW50YXRpb25IYW5kbGVyKCh7IG1ldHJpYyB9KSA9PiB7XG4gICAgY29uc3QgZW50cnkgPSBtZXRyaWMuZW50cmllc1ttZXRyaWMuZW50cmllcy5sZW5ndGggLSAxXSA7XG4gICAgaWYgKCFlbnRyeSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzdGFuZGFsb25lTGNwVmFsdWUgPSBtZXRyaWMudmFsdWU7XG4gICAgc3RhbmRhbG9uZUxjcEVudHJ5ID0gZW50cnk7XG4gIH0sIHRydWUpO1xuXG4gIGxpc3RlbkZvcldlYlZpdGFsUmVwb3J0RXZlbnRzKGNsaWVudCwgKHJlcG9ydEV2ZW50LCBwYWdlbG9hZFNwYW5JZCkgPT4ge1xuICAgIF9zZW5kU3RhbmRhbG9uZUxjcFNwYW4oc3RhbmRhbG9uZUxjcFZhbHVlLCBzdGFuZGFsb25lTGNwRW50cnksIHBhZ2Vsb2FkU3BhbklkLCByZXBvcnRFdmVudCk7XG4gICAgY2xlYW51cExjcEhhbmRsZXIoKTtcbiAgfSk7XG59XG5cbi8qKlxuICogRXhwb3J0ZWQgb25seSBmb3IgdGVzdGluZyFcbiAqL1xuZnVuY3Rpb24gX3NlbmRTdGFuZGFsb25lTGNwU3BhbihcbiAgbGNwVmFsdWUsXG4gIGVudHJ5LFxuICBwYWdlbG9hZFNwYW5JZCxcbiAgcmVwb3J0RXZlbnQsXG4pIHtcbiAgREVCVUdfQlVJTEQgJiYgZGVidWcubG9nKGBTZW5kaW5nIExDUCBzcGFuICgke2xjcFZhbHVlfSlgKTtcblxuICBjb25zdCBzdGFydFRpbWUgPSBtc1RvU2VjKChicm93c2VyUGVyZm9ybWFuY2VUaW1lT3JpZ2luKCkgfHwgMCkgKyAoZW50cnk/LnN0YXJ0VGltZSB8fCAwKSk7XG4gIGNvbnN0IHJvdXRlTmFtZSA9IGdldEN1cnJlbnRTY29wZSgpLmdldFNjb3BlRGF0YSgpLnRyYW5zYWN0aW9uTmFtZTtcblxuICBjb25zdCBuYW1lID0gZW50cnkgPyBodG1sVHJlZUFzU3RyaW5nKGVudHJ5LmVsZW1lbnQpIDogJ0xhcmdlc3QgY29udGVudGZ1bCBwYWludCc7XG5cbiAgY29uc3QgYXR0cmlidXRlcyA9IHtcbiAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUklHSU5dOiAnYXV0by5odHRwLmJyb3dzZXIubGNwJyxcbiAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9PUF06ICd1aS53ZWJ2aXRhbC5sY3AnLFxuICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfRVhDTFVTSVZFX1RJTUVdOiAwLCAvLyBMQ1AgaXMgYSBwb2ludC1pbi10aW1lIG1ldHJpY1xuICAgIC8vIGF0dGFjaCB0aGUgcGFnZWxvYWQgc3BhbiBpZCB0byB0aGUgTENQIHNwYW4gc28gdGhhdCB3ZSBjYW4gbGluayB0aGVtIGluIHRoZSBVSVxuICAgICdzZW50cnkucGFnZWxvYWQuc3Bhbl9pZCc6IHBhZ2Vsb2FkU3BhbklkLFxuICAgIC8vIGRlc2NyaWJlcyB3aGF0IHRyaWdnZXJlZCB0aGUgd2ViIHZpdGFsIHRvIGJlIHJlcG9ydGVkXG4gICAgJ3NlbnRyeS5yZXBvcnRfZXZlbnQnOiByZXBvcnRFdmVudCxcbiAgfTtcblxuICBpZiAoZW50cnkpIHtcbiAgICBlbnRyeS5lbGVtZW50ICYmIChhdHRyaWJ1dGVzWydsY3AuZWxlbWVudCddID0gaHRtbFRyZWVBc1N0cmluZyhlbnRyeS5lbGVtZW50KSk7XG4gICAgZW50cnkuaWQgJiYgKGF0dHJpYnV0ZXNbJ2xjcC5pZCddID0gZW50cnkuaWQpO1xuXG4gICAgLy8gVHJpbSBVUkwgdG8gdGhlIGZpcnN0IDIwMCBjaGFyYWN0ZXJzLlxuICAgIGVudHJ5LnVybCAmJiAoYXR0cmlidXRlc1snbGNwLnVybCddID0gZW50cnkudXJsLnRyaW0oKS5zbGljZSgwLCAyMDApKTtcblxuICAgIC8vIGxvYWRUaW1lIGlzIHRoZSB0aW1lIG9mIExDUCB0aGF0J3MgcmVsYXRlZCB0byByZWNlaXZpbmcgdGhlIExDUCBlbGVtZW50IHJlc3BvbnNlLi5cbiAgICBlbnRyeS5sb2FkVGltZSAhPSBudWxsICYmIChhdHRyaWJ1dGVzWydsY3AubG9hZFRpbWUnXSA9IGVudHJ5LmxvYWRUaW1lKTtcblxuICAgIC8vIHJlbmRlclRpbWUgaXMgbG9hZFRpbWUgKyByZW5kZXJpbmcgdGltZVxuICAgIC8vIGl0J3MgMCBpZiB0aGUgTENQIGVsZW1lbnQgaXMgbG9hZGVkIGZyb20gYSAzcmQgcGFydHkgb3JpZ2luIHRoYXQgZG9lc24ndCBzZW5kIHRoZVxuICAgIC8vIGBUaW1pbmctQWxsb3ctT3JpZ2luYCBoZWFkZXIuXG4gICAgZW50cnkucmVuZGVyVGltZSAhPSBudWxsICYmIChhdHRyaWJ1dGVzWydsY3AucmVuZGVyVGltZSddID0gZW50cnkucmVuZGVyVGltZSk7XG5cbiAgICBlbnRyeS5zaXplICE9IG51bGwgJiYgKGF0dHJpYnV0ZXNbJ2xjcC5zaXplJ10gPSBlbnRyeS5zaXplKTtcbiAgfVxuXG4gIGNvbnN0IHNwYW4gPSBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4oe1xuICAgIG5hbWUsXG4gICAgdHJhbnNhY3Rpb246IHJvdXRlTmFtZSxcbiAgICBhdHRyaWJ1dGVzLFxuICAgIHN0YXJ0VGltZSxcbiAgfSk7XG5cbiAgaWYgKHNwYW4pIHtcbiAgICBzcGFuLmFkZEV2ZW50KCdsY3AnLCB7XG4gICAgICBbU0VNQU5USUNfQVRUUklCVVRFX1NFTlRSWV9NRUFTVVJFTUVOVF9VTklUXTogJ21pbGxpc2Vjb25kJyxcbiAgICAgIFtTRU1BTlRJQ19BVFRSSUJVVEVfU0VOVFJZX01FQVNVUkVNRU5UX1ZBTFVFXTogbGNwVmFsdWUsXG4gICAgfSk7XG5cbiAgICAvLyBMQ1AgaXMgYSBwb2ludC1pbi10aW1lIG1ldHJpYywgc28gd2UgZW5kIHRoZSBzcGFuIGltbWVkaWF0ZWx5XG4gICAgc3Bhbi5lbmQoc3RhcnRUaW1lKTtcbiAgfVxufVxuXG5leHBvcnQgeyBfc2VuZFN0YW5kYWxvbmVMY3BTcGFuLCB0cmFja0xjcEFzU3RhbmRhbG9uZVNwYW4gfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxjcC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/lcp.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js": /*!********************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js ***! \********************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ extractNetworkProtocol: () => (/* binding */ extractNetworkProtocol),\n/* harmony export */ getBrowserPerformanceAPI: () => (/* binding */ getBrowserPerformanceAPI),\n/* harmony export */ isMeasurementValue: () => (/* binding */ isMeasurementValue),\n/* harmony export */ listenForWebVitalReportEvents: () => (/* binding */ listenForWebVitalReportEvents),\n/* harmony export */ msToSec: () => (/* binding */ msToSec),\n/* harmony export */ startAndEndSpan: () => (/* binding */ startAndEndSpan),\n/* harmony export */ startStandaloneWebVitalSpan: () => (/* binding */ startStandaloneWebVitalSpan),\n/* harmony export */ supportsWebVital: () => (/* binding */ supportsWebVital)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/spanUtils.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/tracing/trace.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/currentScopes.js\");\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _web_vitals_lib_onHidden_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./web-vitals/lib/onHidden.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js\");\n\n\n\n\n/**\n * Checks if a given value is a valid measurement value.\n */\nfunction isMeasurementValue(value) {\n return typeof value === 'number' && isFinite(value);\n}\n\n/**\n * Helper function to start child on transactions. This function will make sure that the transaction will\n * use the start timestamp of the created child span if it is earlier than the transactions actual\n * start timestamp.\n */\nfunction startAndEndSpan(\n parentSpan,\n startTimeInSeconds,\n endTime,\n { ...ctx },\n) {\n const parentStartTime = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_0__.spanToJSON)(parentSpan).start_timestamp;\n if (parentStartTime && parentStartTime > startTimeInSeconds) {\n // We can only do this for SentrySpans...\n if (typeof (parentSpan ).updateStartTime === 'function') {\n (parentSpan ).updateStartTime(startTimeInSeconds);\n }\n }\n\n // The return value only exists for tests\n return (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.withActiveSpan)(parentSpan, () => {\n const span = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.startInactiveSpan)({\n startTime: startTimeInSeconds,\n ...ctx,\n });\n\n if (span) {\n span.end(endTime);\n }\n\n return span;\n });\n}\n\n/**\n * Starts an inactive, standalone span used to send web vital values to Sentry.\n * DO NOT use this for arbitrary spans, as these spans require special handling\n * during ingestion to extract metrics.\n *\n * This function adds a bunch of attributes and data to the span that's shared\n * by all web vital standalone spans. However, you need to take care of adding\n * the actual web vital value as an event to the span. Also, you need to assign\n * a transaction name and some other values that are specific to the web vital.\n *\n * Ultimately, you also need to take care of ending the span to send it off.\n *\n * @param options\n *\n * @returns an inactive, standalone and NOT YET ended span\n */\nfunction startStandaloneWebVitalSpan(options) {\n const client = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.getClient)();\n if (!client) {\n return;\n }\n\n const { name, transaction, attributes: passedAttributes, startTime } = options;\n\n const { release, environment, sendDefaultPii } = client.getOptions();\n // We need to get the replay, user, and activeTransaction from the current scope\n // so that we can associate replay id, profile id, and a user display to the span\n const replay = client.getIntegrationByName('Replay');\n const replayId = replay?.getReplayId();\n\n const scope = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.getCurrentScope)();\n\n const user = scope.getUser();\n const userDisplay = user !== undefined ? user.email || user.id || user.ip_address : undefined;\n\n let profileId;\n try {\n // @ts-expect-error skip optional chaining to save bundle size with try catch\n profileId = scope.getScopeData().contexts.profile.profile_id;\n } catch {\n // do nothing\n }\n\n const attributes = {\n release,\n environment,\n\n user: userDisplay || undefined,\n profile_id: profileId || undefined,\n replay_id: replayId || undefined,\n\n transaction,\n\n // Web vital score calculation relies on the user agent to account for different\n // browsers setting different thresholds for what is considered a good/meh/bad value.\n // For example: Chrome vs. Chrome Mobile\n 'user_agent.original': _types_js__WEBPACK_IMPORTED_MODULE_3__.WINDOW.navigator?.userAgent,\n\n // This tells Sentry to infer the IP address from the request\n 'client.address': sendDefaultPii ? '{{auto}}' : undefined,\n\n ...passedAttributes,\n };\n\n return (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.startInactiveSpan)({\n name,\n attributes,\n startTime,\n experimental: {\n standalone: true,\n },\n });\n}\n\n/** Get the browser performance API. */\nfunction getBrowserPerformanceAPI() {\n // @ts-expect-error we want to make sure all of these are available, even if TS is sure they are\n return _types_js__WEBPACK_IMPORTED_MODULE_3__.WINDOW.addEventListener && _types_js__WEBPACK_IMPORTED_MODULE_3__.WINDOW.performance;\n}\n\n/**\n * Converts from milliseconds to seconds\n * @param time time in ms\n */\nfunction msToSec(time) {\n return time / 1000;\n}\n\n/**\n * Converts ALPN protocol ids to name and version.\n *\n * (https://www.iana.org/assignments/tls-extensiontype-values/tls-extensiontype-values.xhtml#alpn-protocol-ids)\n * @param nextHopProtocol PerformanceResourceTiming.nextHopProtocol\n */\nfunction extractNetworkProtocol(nextHopProtocol) {\n let name = 'unknown';\n let version = 'unknown';\n let _name = '';\n for (const char of nextHopProtocol) {\n // http/1.1 etc.\n if (char === '/') {\n [name, version] = nextHopProtocol.split('/') ;\n break;\n }\n // h2, h3 etc.\n if (!isNaN(Number(char))) {\n name = _name === 'h' ? 'http' : _name;\n version = nextHopProtocol.split(_name)[1] ;\n break;\n }\n _name += char;\n }\n if (_name === nextHopProtocol) {\n // webrtc, ftp, etc.\n name = _name;\n }\n return { name, version };\n}\n\n/**\n * Generic support check for web vitals\n */\nfunction supportsWebVital(entryType) {\n try {\n return PerformanceObserver.supportedEntryTypes.includes(entryType);\n } catch {\n return false;\n }\n}\n\n/**\n * Listens for events on which we want to collect a previously accumulated web vital value.\n * Currently, this includes:\n *\n * - pagehide (i.e. user minimizes browser window, hides tab, etc)\n * - soft navigation (we only care about the vital of the initially loaded route)\n *\n * As a \"side-effect\", this function will also collect the span id of the pageload span.\n *\n * @param collectorCallback the callback to be called when the first of these events is triggered. Parameters:\n * - event: the event that triggered the reporting of the web vital value.\n * - pageloadSpanId: the span id of the pageload span. This is used to link the web vital span to the pageload span.\n */\nfunction listenForWebVitalReportEvents(\n client,\n collectorCallback,\n) {\n let pageloadSpanId;\n\n let collected = false;\n function _runCollectorCallbackOnce(event) {\n if (!collected && pageloadSpanId) {\n collectorCallback(event, pageloadSpanId);\n }\n collected = true;\n }\n\n (0,_web_vitals_lib_onHidden_js__WEBPACK_IMPORTED_MODULE_4__.onHidden)(() => {\n _runCollectorCallbackOnce('pagehide');\n });\n\n const unsubscribeStartNavigation = client.on('beforeStartNavigationSpan', (_, options) => {\n // we only want to collect LCP if we actually navigate. Redirects should be ignored.\n if (!options?.isRedirect) {\n _runCollectorCallbackOnce('navigation');\n safeUnsubscribe(unsubscribeStartNavigation, unsubscribeAfterStartPageLoadSpan);\n }\n });\n\n const unsubscribeAfterStartPageLoadSpan = client.on('afterStartPageLoadSpan', span => {\n pageloadSpanId = span.spanContext().spanId;\n safeUnsubscribe(unsubscribeAfterStartPageLoadSpan);\n });\n}\n\n/**\n * Invoke a list of unsubscribers in a safe way, by deferring the invocation to the next tick.\n * This is necessary because unsubscribing in sync can lead to other callbacks no longer being invoked\n * due to in-place array mutation of the subscribers array on the client.\n */\nfunction safeUnsubscribe(...unsubscribers) {\n unsubscribers.forEach(u => u && setTimeout(u, 0));\n}\n\n\n//# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvdXRpbHMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUF5RztBQUNwRTtBQUNtQjs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUksUUFBUTtBQUNaO0FBQ0EsMEJBQTBCLHdEQUFVO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLFNBQVMsNERBQWM7QUFDdkIsaUJBQWlCLCtEQUFpQjtBQUNsQztBQUNBO0FBQ0EsS0FBSzs7QUFFTDtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlCQUFpQix1REFBUztBQUMxQjtBQUNBO0FBQ0E7O0FBRUEsVUFBVSw2REFBNkQ7O0FBRXZFLFVBQVUsdUNBQXVDO0FBQ2pEO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGdCQUFnQiw2REFBZTs7QUFFL0I7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsMkJBQTJCLDZDQUFNOztBQUVqQztBQUNBLDBDQUEwQyxNQUFNOztBQUVoRDtBQUNBOztBQUVBLFNBQVMsK0RBQWlCO0FBQzFCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0wsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNkNBQU0scUJBQXFCLDZDQUFNO0FBQzFDOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsV0FBVztBQUNYOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEVBQUUscUVBQVE7QUFDVjtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRzs7QUFFSDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFd0w7QUFDeEwiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3MvdXRpbHMuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3BhblRvSlNPTiwgd2l0aEFjdGl2ZVNwYW4sIHN0YXJ0SW5hY3RpdmVTcGFuLCBnZXRDbGllbnQsIGdldEN1cnJlbnRTY29wZSB9IGZyb20gJ0BzZW50cnkvY29yZSc7XG5pbXBvcnQgeyBXSU5ET1cgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBvbkhpZGRlbiB9IGZyb20gJy4vd2ViLXZpdGFscy9saWIvb25IaWRkZW4uanMnO1xuXG4vKipcbiAqIENoZWNrcyBpZiBhIGdpdmVuIHZhbHVlIGlzIGEgdmFsaWQgbWVhc3VyZW1lbnQgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGlzTWVhc3VyZW1lbnRWYWx1ZSh2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyAmJiBpc0Zpbml0ZSh2YWx1ZSk7XG59XG5cbi8qKlxuICogSGVscGVyIGZ1bmN0aW9uIHRvIHN0YXJ0IGNoaWxkIG9uIHRyYW5zYWN0aW9ucy4gVGhpcyBmdW5jdGlvbiB3aWxsIG1ha2Ugc3VyZSB0aGF0IHRoZSB0cmFuc2FjdGlvbiB3aWxsXG4gKiB1c2UgdGhlIHN0YXJ0IHRpbWVzdGFtcCBvZiB0aGUgY3JlYXRlZCBjaGlsZCBzcGFuIGlmIGl0IGlzIGVhcmxpZXIgdGhhbiB0aGUgdHJhbnNhY3Rpb25zIGFjdHVhbFxuICogc3RhcnQgdGltZXN0YW1wLlxuICovXG5mdW5jdGlvbiBzdGFydEFuZEVuZFNwYW4oXG4gIHBhcmVudFNwYW4sXG4gIHN0YXJ0VGltZUluU2Vjb25kcyxcbiAgZW5kVGltZSxcbiAgeyAuLi5jdHggfSxcbikge1xuICBjb25zdCBwYXJlbnRTdGFydFRpbWUgPSBzcGFuVG9KU09OKHBhcmVudFNwYW4pLnN0YXJ0X3RpbWVzdGFtcDtcbiAgaWYgKHBhcmVudFN0YXJ0VGltZSAmJiBwYXJlbnRTdGFydFRpbWUgPiBzdGFydFRpbWVJblNlY29uZHMpIHtcbiAgICAvLyBXZSBjYW4gb25seSBkbyB0aGlzIGZvciBTZW50cnlTcGFucy4uLlxuICAgIGlmICh0eXBlb2YgKHBhcmVudFNwYW4gKS51cGRhdGVTdGFydFRpbWUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIChwYXJlbnRTcGFuICkudXBkYXRlU3RhcnRUaW1lKHN0YXJ0VGltZUluU2Vjb25kcyk7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhlIHJldHVybiB2YWx1ZSBvbmx5IGV4aXN0cyBmb3IgdGVzdHNcbiAgcmV0dXJuIHdpdGhBY3RpdmVTcGFuKHBhcmVudFNwYW4sICgpID0+IHtcbiAgICBjb25zdCBzcGFuID0gc3RhcnRJbmFjdGl2ZVNwYW4oe1xuICAgICAgc3RhcnRUaW1lOiBzdGFydFRpbWVJblNlY29uZHMsXG4gICAgICAuLi5jdHgsXG4gICAgfSk7XG5cbiAgICBpZiAoc3Bhbikge1xuICAgICAgc3Bhbi5lbmQoZW5kVGltZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNwYW47XG4gIH0pO1xufVxuXG4vKipcbiAqIFN0YXJ0cyBhbiBpbmFjdGl2ZSwgc3RhbmRhbG9uZSBzcGFuIHVzZWQgdG8gc2VuZCB3ZWIgdml0YWwgdmFsdWVzIHRvIFNlbnRyeS5cbiAqIERPIE5PVCB1c2UgdGhpcyBmb3IgYXJiaXRyYXJ5IHNwYW5zLCBhcyB0aGVzZSBzcGFucyByZXF1aXJlIHNwZWNpYWwgaGFuZGxpbmdcbiAqIGR1cmluZyBpbmdlc3Rpb24gdG8gZXh0cmFjdCBtZXRyaWNzLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gYWRkcyBhIGJ1bmNoIG9mIGF0dHJpYnV0ZXMgYW5kIGRhdGEgdG8gdGhlIHNwYW4gdGhhdCdzIHNoYXJlZFxuICogYnkgYWxsIHdlYiB2aXRhbCBzdGFuZGFsb25lIHNwYW5zLiBIb3dldmVyLCB5b3UgbmVlZCB0byB0YWtlIGNhcmUgb2YgYWRkaW5nXG4gKiB0aGUgYWN0dWFsIHdlYiB2aXRhbCB2YWx1ZSBhcyBhbiBldmVudCB0byB0aGUgc3Bhbi4gQWxzbywgeW91IG5lZWQgdG8gYXNzaWduXG4gKiBhIHRyYW5zYWN0aW9uIG5hbWUgYW5kIHNvbWUgb3RoZXIgdmFsdWVzIHRoYXQgYXJlIHNwZWNpZmljIHRvIHRoZSB3ZWIgdml0YWwuXG4gKlxuICogVWx0aW1hdGVseSwgeW91IGFsc28gbmVlZCB0byB0YWtlIGNhcmUgb2YgZW5kaW5nIHRoZSBzcGFuIHRvIHNlbmQgaXQgb2ZmLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zXG4gKlxuICogQHJldHVybnMgYW4gaW5hY3RpdmUsIHN0YW5kYWxvbmUgYW5kIE5PVCBZRVQgZW5kZWQgc3BhblxuICovXG5mdW5jdGlvbiBzdGFydFN0YW5kYWxvbmVXZWJWaXRhbFNwYW4ob3B0aW9ucykge1xuICBjb25zdCBjbGllbnQgPSBnZXRDbGllbnQoKTtcbiAgaWYgKCFjbGllbnQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB7IG5hbWUsIHRyYW5zYWN0aW9uLCBhdHRyaWJ1dGVzOiBwYXNzZWRBdHRyaWJ1dGVzLCBzdGFydFRpbWUgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgeyByZWxlYXNlLCBlbnZpcm9ubWVudCwgc2VuZERlZmF1bHRQaWkgfSA9IGNsaWVudC5nZXRPcHRpb25zKCk7XG4gIC8vIFdlIG5lZWQgdG8gZ2V0IHRoZSByZXBsYXksIHVzZXIsIGFuZCBhY3RpdmVUcmFuc2FjdGlvbiBmcm9tIHRoZSBjdXJyZW50IHNjb3BlXG4gIC8vIHNvIHRoYXQgd2UgY2FuIGFzc29jaWF0ZSByZXBsYXkgaWQsIHByb2ZpbGUgaWQsIGFuZCBhIHVzZXIgZGlzcGxheSB0byB0aGUgc3BhblxuICBjb25zdCByZXBsYXkgPSBjbGllbnQuZ2V0SW50ZWdyYXRpb25CeU5hbWUoJ1JlcGxheScpO1xuICBjb25zdCByZXBsYXlJZCA9IHJlcGxheT8uZ2V0UmVwbGF5SWQoKTtcblxuICBjb25zdCBzY29wZSA9IGdldEN1cnJlbnRTY29wZSgpO1xuXG4gIGNvbnN0IHVzZXIgPSBzY29wZS5nZXRVc2VyKCk7XG4gIGNvbnN0IHVzZXJEaXNwbGF5ID0gdXNlciAhPT0gdW5kZWZpbmVkID8gdXNlci5lbWFpbCB8fCB1c2VyLmlkIHx8IHVzZXIuaXBfYWRkcmVzcyA6IHVuZGVmaW5lZDtcblxuICBsZXQgcHJvZmlsZUlkO1xuICB0cnkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igc2tpcCBvcHRpb25hbCBjaGFpbmluZyB0byBzYXZlIGJ1bmRsZSBzaXplIHdpdGggdHJ5IGNhdGNoXG4gICAgcHJvZmlsZUlkID0gc2NvcGUuZ2V0U2NvcGVEYXRhKCkuY29udGV4dHMucHJvZmlsZS5wcm9maWxlX2lkO1xuICB9IGNhdGNoIHtcbiAgICAvLyBkbyBub3RoaW5nXG4gIH1cblxuICBjb25zdCBhdHRyaWJ1dGVzID0ge1xuICAgIHJlbGVhc2UsXG4gICAgZW52aXJvbm1lbnQsXG5cbiAgICB1c2VyOiB1c2VyRGlzcGxheSB8fCB1bmRlZmluZWQsXG4gICAgcHJvZmlsZV9pZDogcHJvZmlsZUlkIHx8IHVuZGVmaW5lZCxcbiAgICByZXBsYXlfaWQ6IHJlcGxheUlkIHx8IHVuZGVmaW5lZCxcblxuICAgIHRyYW5zYWN0aW9uLFxuXG4gICAgLy8gV2ViIHZpdGFsIHNjb3JlIGNhbGN1bGF0aW9uIHJlbGllcyBvbiB0aGUgdXNlciBhZ2VudCB0byBhY2NvdW50IGZvciBkaWZmZXJlbnRcbiAgICAvLyBicm93c2VycyBzZXR0aW5nIGRpZmZlcmVudCB0aHJlc2hvbGRzIGZvciB3aGF0IGlzIGNvbnNpZGVyZWQgYSBnb29kL21laC9iYWQgdmFsdWUuXG4gICAgLy8gRm9yIGV4YW1wbGU6IENocm9tZSB2cy4gQ2hyb21lIE1vYmlsZVxuICAgICd1c2VyX2FnZW50Lm9yaWdpbmFsJzogV0lORE9XLm5hdmlnYXRvcj8udXNlckFnZW50LFxuXG4gICAgLy8gVGhpcyB0ZWxscyBTZW50cnkgdG8gaW5mZXIgdGhlIElQIGFkZHJlc3MgZnJvbSB0aGUgcmVxdWVzdFxuICAgICdjbGllbnQuYWRkcmVzcyc6IHNlbmREZWZhdWx0UGlpID8gJ3t7YXV0b319JyA6IHVuZGVmaW5lZCxcblxuICAgIC4uLnBhc3NlZEF0dHJpYnV0ZXMsXG4gIH07XG5cbiAgcmV0dXJuIHN0YXJ0SW5hY3RpdmVTcGFuKHtcbiAgICBuYW1lLFxuICAgIGF0dHJpYnV0ZXMsXG4gICAgc3RhcnRUaW1lLFxuICAgIGV4cGVyaW1lbnRhbDoge1xuICAgICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICB9LFxuICB9KTtcbn1cblxuLyoqIEdldCB0aGUgYnJvd3NlciBwZXJmb3JtYW5jZSBBUEkuICovXG5mdW5jdGlvbiBnZXRCcm93c2VyUGVyZm9ybWFuY2VBUEkoKSB7XG4gIC8vIEB0cy1leHBlY3QtZXJyb3Igd2Ugd2FudCB0byBtYWtlIHN1cmUgYWxsIG9mIHRoZXNlIGFyZSBhdmFpbGFibGUsIGV2ZW4gaWYgVFMgaXMgc3VyZSB0aGV5IGFyZVxuICByZXR1cm4gV0lORE9XLmFkZEV2ZW50TGlzdGVuZXIgJiYgV0lORE9XLnBlcmZvcm1hbmNlO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGZyb20gbWlsbGlzZWNvbmRzIHRvIHNlY29uZHNcbiAqIEBwYXJhbSB0aW1lIHRpbWUgaW4gbXNcbiAqL1xuZnVuY3Rpb24gbXNUb1NlYyh0aW1lKSB7XG4gIHJldHVybiB0aW1lIC8gMTAwMDtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBBTFBOIHByb3RvY29sIGlkcyB0byBuYW1lIGFuZCB2ZXJzaW9uLlxuICpcbiAqIChodHRwczovL3d3dy5pYW5hLm9yZy9hc3NpZ25tZW50cy90bHMtZXh0ZW5zaW9udHlwZS12YWx1ZXMvdGxzLWV4dGVuc2lvbnR5cGUtdmFsdWVzLnhodG1sI2FscG4tcHJvdG9jb2wtaWRzKVxuICogQHBhcmFtIG5leHRIb3BQcm90b2NvbCBQZXJmb3JtYW5jZVJlc291cmNlVGltaW5nLm5leHRIb3BQcm90b2NvbFxuICovXG5mdW5jdGlvbiBleHRyYWN0TmV0d29ya1Byb3RvY29sKG5leHRIb3BQcm90b2NvbCkge1xuICBsZXQgbmFtZSA9ICd1bmtub3duJztcbiAgbGV0IHZlcnNpb24gPSAndW5rbm93bic7XG4gIGxldCBfbmFtZSA9ICcnO1xuICBmb3IgKGNvbnN0IGNoYXIgb2YgbmV4dEhvcFByb3RvY29sKSB7XG4gICAgLy8gaHR0cC8xLjEgZXRjLlxuICAgIGlmIChjaGFyID09PSAnLycpIHtcbiAgICAgIFtuYW1lLCB2ZXJzaW9uXSA9IG5leHRIb3BQcm90b2NvbC5zcGxpdCgnLycpIDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAvLyBoMiwgaDMgZXRjLlxuICAgIGlmICghaXNOYU4oTnVtYmVyKGNoYXIpKSkge1xuICAgICAgbmFtZSA9IF9uYW1lID09PSAnaCcgPyAnaHR0cCcgOiBfbmFtZTtcbiAgICAgIHZlcnNpb24gPSBuZXh0SG9wUHJvdG9jb2wuc3BsaXQoX25hbWUpWzFdIDtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBfbmFtZSArPSBjaGFyO1xuICB9XG4gIGlmIChfbmFtZSA9PT0gbmV4dEhvcFByb3RvY29sKSB7XG4gICAgLy8gd2VicnRjLCBmdHAsIGV0Yy5cbiAgICBuYW1lID0gX25hbWU7XG4gIH1cbiAgcmV0dXJuIHsgbmFtZSwgdmVyc2lvbiB9O1xufVxuXG4vKipcbiAqIEdlbmVyaWMgc3VwcG9ydCBjaGVjayBmb3Igd2ViIHZpdGFsc1xuICovXG5mdW5jdGlvbiBzdXBwb3J0c1dlYlZpdGFsKGVudHJ5VHlwZSkge1xuICB0cnkge1xuICAgIHJldHVybiBQZXJmb3JtYW5jZU9ic2VydmVyLnN1cHBvcnRlZEVudHJ5VHlwZXMuaW5jbHVkZXMoZW50cnlUeXBlKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogTGlzdGVucyBmb3IgZXZlbnRzIG9uIHdoaWNoIHdlIHdhbnQgdG8gY29sbGVjdCBhIHByZXZpb3VzbHkgYWNjdW11bGF0ZWQgd2ViIHZpdGFsIHZhbHVlLlxuICogQ3VycmVudGx5LCB0aGlzIGluY2x1ZGVzOlxuICpcbiAqIC0gcGFnZWhpZGUgKGkuZS4gdXNlciBtaW5pbWl6ZXMgYnJvd3NlciB3aW5kb3csIGhpZGVzIHRhYiwgZXRjKVxuICogLSBzb2Z0IG5hdmlnYXRpb24gKHdlIG9ubHkgY2FyZSBhYm91dCB0aGUgdml0YWwgb2YgdGhlIGluaXRpYWxseSBsb2FkZWQgcm91dGUpXG4gKlxuICogQXMgYSBcInNpZGUtZWZmZWN0XCIsIHRoaXMgZnVuY3Rpb24gd2lsbCBhbHNvIGNvbGxlY3QgdGhlIHNwYW4gaWQgb2YgdGhlIHBhZ2Vsb2FkIHNwYW4uXG4gKlxuICogQHBhcmFtIGNvbGxlY3RvckNhbGxiYWNrIHRoZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgd2hlbiB0aGUgZmlyc3Qgb2YgdGhlc2UgZXZlbnRzIGlzIHRyaWdnZXJlZC4gUGFyYW1ldGVyczpcbiAqIC0gZXZlbnQ6IHRoZSBldmVudCB0aGF0IHRyaWdnZXJlZCB0aGUgcmVwb3J0aW5nIG9mIHRoZSB3ZWIgdml0YWwgdmFsdWUuXG4gKiAtIHBhZ2Vsb2FkU3BhbklkOiB0aGUgc3BhbiBpZCBvZiB0aGUgcGFnZWxvYWQgc3Bhbi4gVGhpcyBpcyB1c2VkIHRvIGxpbmsgdGhlIHdlYiB2aXRhbCBzcGFuIHRvIHRoZSBwYWdlbG9hZCBzcGFuLlxuICovXG5mdW5jdGlvbiBsaXN0ZW5Gb3JXZWJWaXRhbFJlcG9ydEV2ZW50cyhcbiAgY2xpZW50LFxuICBjb2xsZWN0b3JDYWxsYmFjayxcbikge1xuICBsZXQgcGFnZWxvYWRTcGFuSWQ7XG5cbiAgbGV0IGNvbGxlY3RlZCA9IGZhbHNlO1xuICBmdW5jdGlvbiBfcnVuQ29sbGVjdG9yQ2FsbGJhY2tPbmNlKGV2ZW50KSB7XG4gICAgaWYgKCFjb2xsZWN0ZWQgJiYgcGFnZWxvYWRTcGFuSWQpIHtcbiAgICAgIGNvbGxlY3RvckNhbGxiYWNrKGV2ZW50LCBwYWdlbG9hZFNwYW5JZCk7XG4gICAgfVxuICAgIGNvbGxlY3RlZCA9IHRydWU7XG4gIH1cblxuICBvbkhpZGRlbigoKSA9PiB7XG4gICAgX3J1bkNvbGxlY3RvckNhbGxiYWNrT25jZSgncGFnZWhpZGUnKTtcbiAgfSk7XG5cbiAgY29uc3QgdW5zdWJzY3JpYmVTdGFydE5hdmlnYXRpb24gPSBjbGllbnQub24oJ2JlZm9yZVN0YXJ0TmF2aWdhdGlvblNwYW4nLCAoXywgb3B0aW9ucykgPT4ge1xuICAgIC8vIHdlIG9ubHkgd2FudCB0byBjb2xsZWN0IExDUCBpZiB3ZSBhY3R1YWxseSBuYXZpZ2F0ZS4gUmVkaXJlY3RzIHNob3VsZCBiZSBpZ25vcmVkLlxuICAgIGlmICghb3B0aW9ucz8uaXNSZWRpcmVjdCkge1xuICAgICAgX3J1bkNvbGxlY3RvckNhbGxiYWNrT25jZSgnbmF2aWdhdGlvbicpO1xuICAgICAgc2FmZVVuc3Vic2NyaWJlKHVuc3Vic2NyaWJlU3RhcnROYXZpZ2F0aW9uLCB1bnN1YnNjcmliZUFmdGVyU3RhcnRQYWdlTG9hZFNwYW4pO1xuICAgIH1cbiAgfSk7XG5cbiAgY29uc3QgdW5zdWJzY3JpYmVBZnRlclN0YXJ0UGFnZUxvYWRTcGFuID0gY2xpZW50Lm9uKCdhZnRlclN0YXJ0UGFnZUxvYWRTcGFuJywgc3BhbiA9PiB7XG4gICAgcGFnZWxvYWRTcGFuSWQgPSBzcGFuLnNwYW5Db250ZXh0KCkuc3BhbklkO1xuICAgIHNhZmVVbnN1YnNjcmliZSh1bnN1YnNjcmliZUFmdGVyU3RhcnRQYWdlTG9hZFNwYW4pO1xuICB9KTtcbn1cblxuLyoqXG4gKiBJbnZva2UgYSBsaXN0IG9mIHVuc3Vic2NyaWJlcnMgaW4gYSBzYWZlIHdheSwgYnkgZGVmZXJyaW5nIHRoZSBpbnZvY2F0aW9uIHRvIHRoZSBuZXh0IHRpY2suXG4gKiBUaGlzIGlzIG5lY2Vzc2FyeSBiZWNhdXNlIHVuc3Vic2NyaWJpbmcgaW4gc3luYyBjYW4gbGVhZCB0byBvdGhlciBjYWxsYmFja3Mgbm8gbG9uZ2VyIGJlaW5nIGludm9rZWRcbiAqIGR1ZSB0byBpbi1wbGFjZSBhcnJheSBtdXRhdGlvbiBvZiB0aGUgc3Vic2NyaWJlcnMgYXJyYXkgb24gdGhlIGNsaWVudC5cbiAqL1xuZnVuY3Rpb24gc2FmZVVuc3Vic2NyaWJlKC4uLnVuc3Vic2NyaWJlcnMpIHtcbiAgdW5zdWJzY3JpYmVycy5mb3JFYWNoKHUgPT4gdSAmJiBzZXRUaW1lb3V0KHUsIDApKTtcbn1cblxuZXhwb3J0IHsgZXh0cmFjdE5ldHdvcmtQcm90b2NvbCwgZ2V0QnJvd3NlclBlcmZvcm1hbmNlQVBJLCBpc01lYXN1cmVtZW50VmFsdWUsIGxpc3RlbkZvcldlYlZpdGFsUmVwb3J0RXZlbnRzLCBtc1RvU2VjLCBzdGFydEFuZEVuZFNwYW4sIHN0YXJ0U3RhbmRhbG9uZVdlYlZpdGFsU3Bhbiwgc3VwcG9ydHNXZWJWaXRhbCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/utils.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getCLS.js": /*!********************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getCLS.js ***! \********************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CLSThresholds: () => (/* binding */ CLSThresholds),\n/* harmony export */ onCLS: () => (/* binding */ onCLS)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/bindReporter.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js\");\n/* harmony import */ var _lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/initMetric.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js\");\n/* harmony import */ var _lib_initUnique_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/initUnique.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js\");\n/* harmony import */ var _lib_LayoutShiftManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/LayoutShiftManager.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js\");\n/* harmony import */ var _lib_observe_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/observe.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\");\n/* harmony import */ var _lib_runOnce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/runOnce.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js\");\n/* harmony import */ var _onFCP_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./onFCP.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onFCP.js\");\n\n\n\n\n\n\n\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for CLS. See https://web.dev/articles/cls#what_is_a_good_cls_score */\nconst CLSThresholds = [0.1, 0.25];\n\n/**\n * Calculates the [CLS](https://web.dev/articles/cls) value for the current page and\n * calls the `callback` function once the value is ready to be reported, along\n * with all `layout-shift` performance entries that were used in the metric\n * value calculation. The reported value is a `double` (corresponding to a\n * [layout shift score](https://web.dev/articles/cls#layout_shift_score)).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** CLS should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nconst onCLS = (onReport, opts = {}) => {\n // Start monitoring FCP so we can only report CLS if FCP is also reported.\n // Note: this is done to match the current behavior of CrUX.\n (0,_onFCP_js__WEBPACK_IMPORTED_MODULE_0__.onFCP)(\n (0,_lib_runOnce_js__WEBPACK_IMPORTED_MODULE_1__.runOnce)(() => {\n const metric = (0,_lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__.initMetric)('CLS', 0);\n let report;\n\n const layoutShiftManager = (0,_lib_initUnique_js__WEBPACK_IMPORTED_MODULE_3__.initUnique)(opts, _lib_LayoutShiftManager_js__WEBPACK_IMPORTED_MODULE_4__.LayoutShiftManager);\n\n const handleEntries = (entries) => {\n for (const entry of entries) {\n layoutShiftManager._processEntry(entry);\n }\n\n // If the current session value is larger than the current CLS value,\n // update CLS and the entries contributing to it.\n if (layoutShiftManager._sessionValue > metric.value) {\n metric.value = layoutShiftManager._sessionValue;\n metric.entries = layoutShiftManager._sessionEntries;\n report();\n }\n };\n\n const po = (0,_lib_observe_js__WEBPACK_IMPORTED_MODULE_5__.observe)('layout-shift', handleEntries);\n if (po) {\n report = (0,_lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_6__.bindReporter)(onReport, metric, CLSThresholds, opts.reportAllChanges);\n\n _types_js__WEBPACK_IMPORTED_MODULE_7__.WINDOW.document?.addEventListener('visibilitychange', () => {\n if (_types_js__WEBPACK_IMPORTED_MODULE_7__.WINDOW.document?.visibilityState === 'hidden') {\n handleEntries(po.takeRecords() );\n report(true);\n }\n });\n\n // Queue a task to report (if nothing else triggers a report first).\n // This allows CLS to be reported as soon as FCP fires when\n // `reportAllChanges` is true.\n _types_js__WEBPACK_IMPORTED_MODULE_7__.WINDOW?.setTimeout?.(report);\n }\n }),\n );\n};\n\n\n//# sourceMappingURL=getCLS.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9nZXRDTFMuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUF3QztBQUNhO0FBQ0o7QUFDQTtBQUNnQjtBQUN0QjtBQUNBO0FBQ1I7O0FBRW5DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxrQ0FBa0M7QUFDbEM7QUFDQTtBQUNBLEVBQUUsZ0RBQUs7QUFDUCxJQUFJLHdEQUFPO0FBQ1gscUJBQXFCLDhEQUFVO0FBQy9COztBQUVBLGlDQUFpQyw4REFBVSxPQUFPLDBFQUFrQjs7QUFFcEU7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxpQkFBaUIsd0RBQU87QUFDeEI7QUFDQSxpQkFBaUIsa0VBQVk7O0FBRTdCLFFBQVEsNkNBQU07QUFDZCxjQUFjLDZDQUFNO0FBQ3BCO0FBQ0E7QUFDQTtBQUNBLFNBQVM7O0FBRVQ7QUFDQTtBQUNBO0FBQ0EsUUFBUSw2Q0FBTTtBQUNkO0FBQ0EsS0FBSztBQUNMO0FBQ0E7O0FBRWdDO0FBQ2hDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvZ2V0Q0xTLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcbmltcG9ydCB7IGJpbmRSZXBvcnRlciB9IGZyb20gJy4vbGliL2JpbmRSZXBvcnRlci5qcyc7XG5pbXBvcnQgeyBpbml0TWV0cmljIH0gZnJvbSAnLi9saWIvaW5pdE1ldHJpYy5qcyc7XG5pbXBvcnQgeyBpbml0VW5pcXVlIH0gZnJvbSAnLi9saWIvaW5pdFVuaXF1ZS5qcyc7XG5pbXBvcnQgeyBMYXlvdXRTaGlmdE1hbmFnZXIgfSBmcm9tICcuL2xpYi9MYXlvdXRTaGlmdE1hbmFnZXIuanMnO1xuaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4vbGliL29ic2VydmUuanMnO1xuaW1wb3J0IHsgcnVuT25jZSB9IGZyb20gJy4vbGliL3J1bk9uY2UuanMnO1xuaW1wb3J0IHsgb25GQ1AgfSBmcm9tICcuL29uRkNQLmpzJztcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cblxuLyoqIFRocmVzaG9sZHMgZm9yIENMUy4gU2VlIGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy9jbHMjd2hhdF9pc19hX2dvb2RfY2xzX3Njb3JlICovXG5jb25zdCBDTFNUaHJlc2hvbGRzID0gWzAuMSwgMC4yNV07XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgW0NMU10oaHR0cHM6Ly93ZWIuZGV2L2FydGljbGVzL2NscykgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhZ2UgYW5kXG4gKiBjYWxscyB0aGUgYGNhbGxiYWNrYCBmdW5jdGlvbiBvbmNlIHRoZSB2YWx1ZSBpcyByZWFkeSB0byBiZSByZXBvcnRlZCwgYWxvbmdcbiAqIHdpdGggYWxsIGBsYXlvdXQtc2hpZnRgIHBlcmZvcm1hbmNlIGVudHJpZXMgdGhhdCB3ZXJlIHVzZWQgaW4gdGhlIG1ldHJpY1xuICogdmFsdWUgY2FsY3VsYXRpb24uIFRoZSByZXBvcnRlZCB2YWx1ZSBpcyBhIGBkb3VibGVgIChjb3JyZXNwb25kaW5nIHRvIGFcbiAqIFtsYXlvdXQgc2hpZnQgc2NvcmVdKGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy9jbHMjbGF5b3V0X3NoaWZ0X3Njb3JlKSkuXG4gKlxuICogSWYgdGhlIGByZXBvcnRBbGxDaGFuZ2VzYCBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLCB0aGVcbiAqIGBjYWxsYmFja2AgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYXMgc29vbiBhcyB0aGUgdmFsdWUgaXMgaW5pdGlhbGx5XG4gKiBkZXRlcm1pbmVkIGFzIHdlbGwgYXMgYW55IHRpbWUgdGhlIHZhbHVlIGNoYW5nZXMgdGhyb3VnaG91dCB0aGUgcGFnZVxuICogbGlmZXNwYW4uXG4gKlxuICogXyoqSW1wb3J0YW50OioqIENMUyBzaG91bGQgYmUgY29udGludWFsbHkgbW9uaXRvcmVkIGZvciBjaGFuZ2VzIHRocm91Z2hvdXRcbiAqIHRoZSBlbnRpcmUgbGlmZXNwYW4gb2YgYSBwYWdl4oCUaW5jbHVkaW5nIGlmIHRoZSB1c2VyIHJldHVybnMgdG8gdGhlIHBhZ2UgYWZ0ZXJcbiAqIGl0J3MgYmVlbiBoaWRkZW4vYmFja2dyb3VuZGVkLiBIb3dldmVyLCBzaW5jZSBicm93c2VycyBvZnRlbiBbd2lsbCBub3QgZmlyZVxuICogYWRkaXRpb25hbCBjYWxsYmFja3Mgb25jZSB0aGUgdXNlciBoYXMgYmFja2dyb3VuZGVkIGFcbiAqIHBhZ2VdKGh0dHBzOi8vZGV2ZWxvcGVyLmNocm9tZS5jb20vYmxvZy9wYWdlLWxpZmVjeWNsZS1hcGkvI2FkdmljZS1oaWRkZW4pLFxuICogYGNhbGxiYWNrYCBpcyBhbHdheXMgY2FsbGVkIHdoZW4gdGhlIHBhZ2UncyB2aXNpYmlsaXR5IHN0YXRlIGNoYW5nZXMgdG9cbiAqIGhpZGRlbi4gQXMgYSByZXN1bHQsIHRoZSBgY2FsbGJhY2tgIGZ1bmN0aW9uIG1pZ2h0IGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lc1xuICogZHVyaW5nIHRoZSBzYW1lIHBhZ2UgbG9hZC5fXG4gKi9cbmNvbnN0IG9uQ0xTID0gKG9uUmVwb3J0LCBvcHRzID0ge30pID0+IHtcbiAgLy8gU3RhcnQgbW9uaXRvcmluZyBGQ1Agc28gd2UgY2FuIG9ubHkgcmVwb3J0IENMUyBpZiBGQ1AgaXMgYWxzbyByZXBvcnRlZC5cbiAgLy8gTm90ZTogdGhpcyBpcyBkb25lIHRvIG1hdGNoIHRoZSBjdXJyZW50IGJlaGF2aW9yIG9mIENyVVguXG4gIG9uRkNQKFxuICAgIHJ1bk9uY2UoKCkgPT4ge1xuICAgICAgY29uc3QgbWV0cmljID0gaW5pdE1ldHJpYygnQ0xTJywgMCk7XG4gICAgICBsZXQgcmVwb3J0O1xuXG4gICAgICBjb25zdCBsYXlvdXRTaGlmdE1hbmFnZXIgPSBpbml0VW5pcXVlKG9wdHMsIExheW91dFNoaWZ0TWFuYWdlcik7XG5cbiAgICAgIGNvbnN0IGhhbmRsZUVudHJpZXMgPSAoZW50cmllcykgPT4ge1xuICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgICAgICBsYXlvdXRTaGlmdE1hbmFnZXIuX3Byb2Nlc3NFbnRyeShlbnRyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGUgY3VycmVudCBzZXNzaW9uIHZhbHVlIGlzIGxhcmdlciB0aGFuIHRoZSBjdXJyZW50IENMUyB2YWx1ZSxcbiAgICAgICAgLy8gdXBkYXRlIENMUyBhbmQgdGhlIGVudHJpZXMgY29udHJpYnV0aW5nIHRvIGl0LlxuICAgICAgICBpZiAobGF5b3V0U2hpZnRNYW5hZ2VyLl9zZXNzaW9uVmFsdWUgPiBtZXRyaWMudmFsdWUpIHtcbiAgICAgICAgICBtZXRyaWMudmFsdWUgPSBsYXlvdXRTaGlmdE1hbmFnZXIuX3Nlc3Npb25WYWx1ZTtcbiAgICAgICAgICBtZXRyaWMuZW50cmllcyA9IGxheW91dFNoaWZ0TWFuYWdlci5fc2Vzc2lvbkVudHJpZXM7XG4gICAgICAgICAgcmVwb3J0KCk7XG4gICAgICAgIH1cbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHBvID0gb2JzZXJ2ZSgnbGF5b3V0LXNoaWZ0JywgaGFuZGxlRW50cmllcyk7XG4gICAgICBpZiAocG8pIHtcbiAgICAgICAgcmVwb3J0ID0gYmluZFJlcG9ydGVyKG9uUmVwb3J0LCBtZXRyaWMsIENMU1RocmVzaG9sZHMsIG9wdHMucmVwb3J0QWxsQ2hhbmdlcyk7XG5cbiAgICAgICAgV0lORE9XLmRvY3VtZW50Py5hZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgKCkgPT4ge1xuICAgICAgICAgIGlmIChXSU5ET1cuZG9jdW1lbnQ/LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ2hpZGRlbicpIHtcbiAgICAgICAgICAgIGhhbmRsZUVudHJpZXMocG8udGFrZVJlY29yZHMoKSApO1xuICAgICAgICAgICAgcmVwb3J0KHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUXVldWUgYSB0YXNrIHRvIHJlcG9ydCAoaWYgbm90aGluZyBlbHNlIHRyaWdnZXJzIGEgcmVwb3J0IGZpcnN0KS5cbiAgICAgICAgLy8gVGhpcyBhbGxvd3MgQ0xTIHRvIGJlIHJlcG9ydGVkIGFzIHNvb24gYXMgRkNQIGZpcmVzIHdoZW5cbiAgICAgICAgLy8gYHJlcG9ydEFsbENoYW5nZXNgIGlzIHRydWUuXG4gICAgICAgIFdJTkRPVz8uc2V0VGltZW91dD8uKHJlcG9ydCk7XG4gICAgICB9XG4gICAgfSksXG4gICk7XG59O1xuXG5leHBvcnQgeyBDTFNUaHJlc2hvbGRzLCBvbkNMUyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0Q0xTLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getCLS.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getINP.js": /*!********************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getINP.js ***! \********************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ INPThresholds: () => (/* binding */ INPThresholds),\n/* harmony export */ onINP: () => (/* binding */ onINP)\n/* harmony export */ });\n/* harmony import */ var _lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/bindReporter.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js\");\n/* harmony import */ var _lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/initMetric.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js\");\n/* harmony import */ var _lib_initUnique_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/initUnique.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js\");\n/* harmony import */ var _lib_InteractionManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/InteractionManager.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/InteractionManager.js\");\n/* harmony import */ var _lib_observe_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/observe.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\");\n/* harmony import */ var _lib_onHidden_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/onHidden.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js\");\n/* harmony import */ var _lib_polyfills_interactionCountPolyfill_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/polyfills/interactionCountPolyfill.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js\");\n/* harmony import */ var _lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/whenActivated.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js\");\n/* harmony import */ var _lib_whenIdleOrHidden_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/whenIdleOrHidden.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js\");\n\n\n\n\n\n\n\n\n\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for INP. See https://web.dev/articles/inp#what_is_a_good_inp_score */\nconst INPThresholds = [200, 500];\n\n// The default `durationThreshold` used across this library for observing\n// `event` entries via PerformanceObserver.\nconst DEFAULT_DURATION_THRESHOLD = 40;\n\n/**\n * Calculates the [INP](https://web.dev/articles/inp) value for the current\n * page and calls the `callback` function once the value is ready, along with\n * the `event` performance entries reported for that interaction. The reported\n * value is a `DOMHighResTimeStamp`.\n *\n * A custom `durationThreshold` configuration option can optionally be passed\n * to control what `event-timing` entries are considered for INP reporting. The\n * default threshold is `40`, which means INP scores of less than 40 will not\n * be reported. To avoid reporting no interactions in these cases, the library\n * will fall back to the input delay of the first interaction. Note that this\n * will not affect your 75th percentile INP value unless that value is also\n * less than 40 (well below the recommended\n * [good](https://web.dev/articles/inp#what_is_a_good_inp_score) threshold).\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called as soon as the value is initially\n * determined as well as any time the value changes throughout the page\n * lifespan.\n *\n * _**Important:** INP should be continually monitored for changes throughout\n * the entire lifespan of a page—including if the user returns to the page after\n * it's been hidden/backgrounded. However, since browsers often [will not fire\n * additional callbacks once the user has backgrounded a\n * page](https://developer.chrome.com/blog/page-lifecycle-api/#advice-hidden),\n * `callback` is always called when the page's visibility state changes to\n * hidden. As a result, the `callback` function might be called multiple times\n * during the same page load._\n */\nconst onINP = (onReport, opts = {}) => {\n // Return if the browser doesn't support all APIs needed to measure INP.\n if (!(globalThis.PerformanceEventTiming && 'interactionId' in PerformanceEventTiming.prototype)) {\n return;\n }\n\n (0,_lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_0__.whenActivated)(() => {\n // TODO(philipwalton): remove once the polyfill is no longer needed.\n (0,_lib_polyfills_interactionCountPolyfill_js__WEBPACK_IMPORTED_MODULE_1__.initInteractionCountPolyfill)();\n\n const metric = (0,_lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__.initMetric)('INP');\n // eslint-disable-next-line prefer-const\n let report;\n\n const interactionManager = (0,_lib_initUnique_js__WEBPACK_IMPORTED_MODULE_3__.initUnique)(opts, _lib_InteractionManager_js__WEBPACK_IMPORTED_MODULE_4__.InteractionManager);\n\n const handleEntries = (entries) => {\n // Queue the `handleEntries()` callback in the next idle task.\n // This is needed to increase the chances that all event entries that\n // occurred between the user interaction and the next paint\n // have been dispatched. Note: there is currently an experiment\n // running in Chrome (EventTimingKeypressAndCompositionInteractionId)\n // 123+ that if rolled out fully may make this no longer necessary.\n (0,_lib_whenIdleOrHidden_js__WEBPACK_IMPORTED_MODULE_5__.whenIdleOrHidden)(() => {\n for (const entry of entries) {\n interactionManager._processEntry(entry);\n }\n\n const inp = interactionManager._estimateP98LongestInteraction();\n\n if (inp && inp._latency !== metric.value) {\n metric.value = inp._latency;\n metric.entries = inp.entries;\n report();\n }\n });\n };\n\n const po = (0,_lib_observe_js__WEBPACK_IMPORTED_MODULE_6__.observe)('event', handleEntries, {\n // Event Timing entries have their durations rounded to the nearest 8ms,\n // so a duration of 40ms would be any event that spans 2.5 or more frames\n // at 60Hz. This threshold is chosen to strike a balance between usefulness\n // and performance. Running this callback for any interaction that spans\n // just one or two frames is likely not worth the insight that could be\n // gained.\n durationThreshold: opts.durationThreshold ?? DEFAULT_DURATION_THRESHOLD,\n });\n\n report = (0,_lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_7__.bindReporter)(onReport, metric, INPThresholds, opts.reportAllChanges);\n\n if (po) {\n // Also observe entries of type `first-input`. This is useful in cases\n // where the first interaction is less than the `durationThreshold`.\n po.observe({ type: 'first-input', buffered: true });\n\n // sentry: we use onHidden instead of directly listening to visibilitychange\n // because some browsers we still support (Safari <14.4) don't fully support\n // `visibilitychange` or have known bugs w.r.t the `visibilitychange` event.\n (0,_lib_onHidden_js__WEBPACK_IMPORTED_MODULE_8__.onHidden)(() => {\n handleEntries(po.takeRecords() );\n report(true);\n });\n }\n });\n};\n\n\n//# sourceMappingURL=getINP.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9nZXRJTlAuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBcUQ7QUFDSjtBQUNBO0FBQ2dCO0FBQ3RCO0FBQ0U7QUFDOEM7QUFDcEM7QUFDTTs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEVBQUUsb0VBQWE7QUFDZjtBQUNBLElBQUksd0dBQTRCOztBQUVoQyxtQkFBbUIsOERBQVU7QUFDN0I7QUFDQTs7QUFFQSwrQkFBK0IsOERBQVUsT0FBTywwRUFBa0I7O0FBRWxFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwRUFBZ0I7QUFDdEI7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7O0FBRUEsZUFBZSx3REFBTztBQUN0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUwsYUFBYSxrRUFBWTs7QUFFekI7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLHFDQUFxQzs7QUFFeEQ7QUFDQTtBQUNBO0FBQ0EsTUFBTSwwREFBUTtBQUNkO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSxHQUFHO0FBQ0g7O0FBRWdDO0FBQ2hDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvZ2V0SU5QLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpbmRSZXBvcnRlciB9IGZyb20gJy4vbGliL2JpbmRSZXBvcnRlci5qcyc7XG5pbXBvcnQgeyBpbml0TWV0cmljIH0gZnJvbSAnLi9saWIvaW5pdE1ldHJpYy5qcyc7XG5pbXBvcnQgeyBpbml0VW5pcXVlIH0gZnJvbSAnLi9saWIvaW5pdFVuaXF1ZS5qcyc7XG5pbXBvcnQgeyBJbnRlcmFjdGlvbk1hbmFnZXIgfSBmcm9tICcuL2xpYi9JbnRlcmFjdGlvbk1hbmFnZXIuanMnO1xuaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4vbGliL29ic2VydmUuanMnO1xuaW1wb3J0IHsgb25IaWRkZW4gfSBmcm9tICcuL2xpYi9vbkhpZGRlbi5qcyc7XG5pbXBvcnQgeyBpbml0SW50ZXJhY3Rpb25Db3VudFBvbHlmaWxsIH0gZnJvbSAnLi9saWIvcG9seWZpbGxzL2ludGVyYWN0aW9uQ291bnRQb2x5ZmlsbC5qcyc7XG5pbXBvcnQgeyB3aGVuQWN0aXZhdGVkIH0gZnJvbSAnLi9saWIvd2hlbkFjdGl2YXRlZC5qcyc7XG5pbXBvcnQgeyB3aGVuSWRsZU9ySGlkZGVuIH0gZnJvbSAnLi9saWIvd2hlbklkbGVPckhpZGRlbi5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMiBHb29nbGUgTExDXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5cbi8qKiBUaHJlc2hvbGRzIGZvciBJTlAuIFNlZSBodHRwczovL3dlYi5kZXYvYXJ0aWNsZXMvaW5wI3doYXRfaXNfYV9nb29kX2lucF9zY29yZSAqL1xuY29uc3QgSU5QVGhyZXNob2xkcyA9IFsyMDAsIDUwMF07XG5cbi8vIFRoZSBkZWZhdWx0IGBkdXJhdGlvblRocmVzaG9sZGAgdXNlZCBhY3Jvc3MgdGhpcyBsaWJyYXJ5IGZvciBvYnNlcnZpbmdcbi8vIGBldmVudGAgZW50cmllcyB2aWEgUGVyZm9ybWFuY2VPYnNlcnZlci5cbmNvbnN0IERFRkFVTFRfRFVSQVRJT05fVEhSRVNIT0xEID0gNDA7XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgW0lOUF0oaHR0cHM6Ly93ZWIuZGV2L2FydGljbGVzL2lucCkgdmFsdWUgZm9yIHRoZSBjdXJyZW50XG4gKiBwYWdlIGFuZCBjYWxscyB0aGUgYGNhbGxiYWNrYCBmdW5jdGlvbiBvbmNlIHRoZSB2YWx1ZSBpcyByZWFkeSwgYWxvbmcgd2l0aFxuICogdGhlIGBldmVudGAgcGVyZm9ybWFuY2UgZW50cmllcyByZXBvcnRlZCBmb3IgdGhhdCBpbnRlcmFjdGlvbi4gVGhlIHJlcG9ydGVkXG4gKiB2YWx1ZSBpcyBhIGBET01IaWdoUmVzVGltZVN0YW1wYC5cbiAqXG4gKiBBIGN1c3RvbSBgZHVyYXRpb25UaHJlc2hvbGRgIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGNhbiBvcHRpb25hbGx5IGJlIHBhc3NlZFxuICogdG8gY29udHJvbCB3aGF0IGBldmVudC10aW1pbmdgIGVudHJpZXMgYXJlIGNvbnNpZGVyZWQgZm9yIElOUCByZXBvcnRpbmcuIFRoZVxuICogZGVmYXVsdCB0aHJlc2hvbGQgaXMgYDQwYCwgd2hpY2ggbWVhbnMgSU5QIHNjb3JlcyBvZiBsZXNzIHRoYW4gNDAgd2lsbCBub3RcbiAqIGJlIHJlcG9ydGVkLiBUbyBhdm9pZCByZXBvcnRpbmcgbm8gaW50ZXJhY3Rpb25zIGluIHRoZXNlIGNhc2VzLCB0aGUgbGlicmFyeVxuICogd2lsbCBmYWxsIGJhY2sgdG8gdGhlIGlucHV0IGRlbGF5IG9mIHRoZSBmaXJzdCBpbnRlcmFjdGlvbi4gTm90ZSB0aGF0IHRoaXNcbiAqIHdpbGwgbm90IGFmZmVjdCB5b3VyIDc1dGggcGVyY2VudGlsZSBJTlAgdmFsdWUgdW5sZXNzIHRoYXQgdmFsdWUgaXMgYWxzb1xuICogbGVzcyB0aGFuIDQwICh3ZWxsIGJlbG93IHRoZSByZWNvbW1lbmRlZFxuICogW2dvb2RdKGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy9pbnAjd2hhdF9pc19hX2dvb2RfaW5wX3Njb3JlKSB0aHJlc2hvbGQpLlxuICpcbiAqIElmIHRoZSBgcmVwb3J0QWxsQ2hhbmdlc2AgY29uZmlndXJhdGlvbiBvcHRpb24gaXMgc2V0IHRvIGB0cnVlYCwgdGhlXG4gKiBgY2FsbGJhY2tgIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGFzIHNvb24gYXMgdGhlIHZhbHVlIGlzIGluaXRpYWxseVxuICogZGV0ZXJtaW5lZCBhcyB3ZWxsIGFzIGFueSB0aW1lIHRoZSB2YWx1ZSBjaGFuZ2VzIHRocm91Z2hvdXQgdGhlIHBhZ2VcbiAqIGxpZmVzcGFuLlxuICpcbiAqIF8qKkltcG9ydGFudDoqKiBJTlAgc2hvdWxkIGJlIGNvbnRpbnVhbGx5IG1vbml0b3JlZCBmb3IgY2hhbmdlcyB0aHJvdWdob3V0XG4gKiB0aGUgZW50aXJlIGxpZmVzcGFuIG9mIGEgcGFnZeKAlGluY2x1ZGluZyBpZiB0aGUgdXNlciByZXR1cm5zIHRvIHRoZSBwYWdlIGFmdGVyXG4gKiBpdCdzIGJlZW4gaGlkZGVuL2JhY2tncm91bmRlZC4gSG93ZXZlciwgc2luY2UgYnJvd3NlcnMgb2Z0ZW4gW3dpbGwgbm90IGZpcmVcbiAqIGFkZGl0aW9uYWwgY2FsbGJhY2tzIG9uY2UgdGhlIHVzZXIgaGFzIGJhY2tncm91bmRlZCBhXG4gKiBwYWdlXShodHRwczovL2RldmVsb3Blci5jaHJvbWUuY29tL2Jsb2cvcGFnZS1saWZlY3ljbGUtYXBpLyNhZHZpY2UtaGlkZGVuKSxcbiAqIGBjYWxsYmFja2AgaXMgYWx3YXlzIGNhbGxlZCB3aGVuIHRoZSBwYWdlJ3MgdmlzaWJpbGl0eSBzdGF0ZSBjaGFuZ2VzIHRvXG4gKiBoaWRkZW4uIEFzIGEgcmVzdWx0LCB0aGUgYGNhbGxiYWNrYCBmdW5jdGlvbiBtaWdodCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXNcbiAqIGR1cmluZyB0aGUgc2FtZSBwYWdlIGxvYWQuX1xuICovXG5jb25zdCBvbklOUCA9IChvblJlcG9ydCwgb3B0cyA9IHt9KSA9PiB7XG4gIC8vIFJldHVybiBpZiB0aGUgYnJvd3NlciBkb2Vzbid0IHN1cHBvcnQgYWxsIEFQSXMgbmVlZGVkIHRvIG1lYXN1cmUgSU5QLlxuICBpZiAoIShnbG9iYWxUaGlzLlBlcmZvcm1hbmNlRXZlbnRUaW1pbmcgJiYgJ2ludGVyYWN0aW9uSWQnIGluIFBlcmZvcm1hbmNlRXZlbnRUaW1pbmcucHJvdG90eXBlKSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdoZW5BY3RpdmF0ZWQoKCkgPT4ge1xuICAgIC8vIFRPRE8ocGhpbGlwd2FsdG9uKTogcmVtb3ZlIG9uY2UgdGhlIHBvbHlmaWxsIGlzIG5vIGxvbmdlciBuZWVkZWQuXG4gICAgaW5pdEludGVyYWN0aW9uQ291bnRQb2x5ZmlsbCgpO1xuXG4gICAgY29uc3QgbWV0cmljID0gaW5pdE1ldHJpYygnSU5QJyk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1jb25zdFxuICAgIGxldCByZXBvcnQ7XG5cbiAgICBjb25zdCBpbnRlcmFjdGlvbk1hbmFnZXIgPSBpbml0VW5pcXVlKG9wdHMsIEludGVyYWN0aW9uTWFuYWdlcik7XG5cbiAgICBjb25zdCBoYW5kbGVFbnRyaWVzID0gKGVudHJpZXMpID0+IHtcbiAgICAgIC8vIFF1ZXVlIHRoZSBgaGFuZGxlRW50cmllcygpYCBjYWxsYmFjayBpbiB0aGUgbmV4dCBpZGxlIHRhc2suXG4gICAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBpbmNyZWFzZSB0aGUgY2hhbmNlcyB0aGF0IGFsbCBldmVudCBlbnRyaWVzIHRoYXRcbiAgICAgIC8vIG9jY3VycmVkIGJldHdlZW4gdGhlIHVzZXIgaW50ZXJhY3Rpb24gYW5kIHRoZSBuZXh0IHBhaW50XG4gICAgICAvLyBoYXZlIGJlZW4gZGlzcGF0Y2hlZC4gTm90ZTogdGhlcmUgaXMgY3VycmVudGx5IGFuIGV4cGVyaW1lbnRcbiAgICAgIC8vIHJ1bm5pbmcgaW4gQ2hyb21lIChFdmVudFRpbWluZ0tleXByZXNzQW5kQ29tcG9zaXRpb25JbnRlcmFjdGlvbklkKVxuICAgICAgLy8gMTIzKyB0aGF0IGlmIHJvbGxlZCBvdXQgZnVsbHkgbWF5IG1ha2UgdGhpcyBubyBsb25nZXIgbmVjZXNzYXJ5LlxuICAgICAgd2hlbklkbGVPckhpZGRlbigoKSA9PiB7XG4gICAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgICAgICAgIGludGVyYWN0aW9uTWFuYWdlci5fcHJvY2Vzc0VudHJ5KGVudHJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucCA9IGludGVyYWN0aW9uTWFuYWdlci5fZXN0aW1hdGVQOThMb25nZXN0SW50ZXJhY3Rpb24oKTtcblxuICAgICAgICBpZiAoaW5wICYmIGlucC5fbGF0ZW5jeSAhPT0gbWV0cmljLnZhbHVlKSB7XG4gICAgICAgICAgbWV0cmljLnZhbHVlID0gaW5wLl9sYXRlbmN5O1xuICAgICAgICAgIG1ldHJpYy5lbnRyaWVzID0gaW5wLmVudHJpZXM7XG4gICAgICAgICAgcmVwb3J0KCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH07XG5cbiAgICBjb25zdCBwbyA9IG9ic2VydmUoJ2V2ZW50JywgaGFuZGxlRW50cmllcywge1xuICAgICAgLy8gRXZlbnQgVGltaW5nIGVudHJpZXMgaGF2ZSB0aGVpciBkdXJhdGlvbnMgcm91bmRlZCB0byB0aGUgbmVhcmVzdCA4bXMsXG4gICAgICAvLyBzbyBhIGR1cmF0aW9uIG9mIDQwbXMgd291bGQgYmUgYW55IGV2ZW50IHRoYXQgc3BhbnMgMi41IG9yIG1vcmUgZnJhbWVzXG4gICAgICAvLyBhdCA2MEh6LiBUaGlzIHRocmVzaG9sZCBpcyBjaG9zZW4gdG8gc3RyaWtlIGEgYmFsYW5jZSBiZXR3ZWVuIHVzZWZ1bG5lc3NcbiAgICAgIC8vIGFuZCBwZXJmb3JtYW5jZS4gUnVubmluZyB0aGlzIGNhbGxiYWNrIGZvciBhbnkgaW50ZXJhY3Rpb24gdGhhdCBzcGFuc1xuICAgICAgLy8ganVzdCBvbmUgb3IgdHdvIGZyYW1lcyBpcyBsaWtlbHkgbm90IHdvcnRoIHRoZSBpbnNpZ2h0IHRoYXQgY291bGQgYmVcbiAgICAgIC8vIGdhaW5lZC5cbiAgICAgIGR1cmF0aW9uVGhyZXNob2xkOiBvcHRzLmR1cmF0aW9uVGhyZXNob2xkID8/IERFRkFVTFRfRFVSQVRJT05fVEhSRVNIT0xELFxuICAgIH0pO1xuXG4gICAgcmVwb3J0ID0gYmluZFJlcG9ydGVyKG9uUmVwb3J0LCBtZXRyaWMsIElOUFRocmVzaG9sZHMsIG9wdHMucmVwb3J0QWxsQ2hhbmdlcyk7XG5cbiAgICBpZiAocG8pIHtcbiAgICAgIC8vIEFsc28gb2JzZXJ2ZSBlbnRyaWVzIG9mIHR5cGUgYGZpcnN0LWlucHV0YC4gVGhpcyBpcyB1c2VmdWwgaW4gY2FzZXNcbiAgICAgIC8vIHdoZXJlIHRoZSBmaXJzdCBpbnRlcmFjdGlvbiBpcyBsZXNzIHRoYW4gdGhlIGBkdXJhdGlvblRocmVzaG9sZGAuXG4gICAgICBwby5vYnNlcnZlKHsgdHlwZTogJ2ZpcnN0LWlucHV0JywgYnVmZmVyZWQ6IHRydWUgfSk7XG5cbiAgICAgIC8vIHNlbnRyeTogd2UgdXNlIG9uSGlkZGVuIGluc3RlYWQgb2YgZGlyZWN0bHkgbGlzdGVuaW5nIHRvIHZpc2liaWxpdHljaGFuZ2VcbiAgICAgIC8vIGJlY2F1c2Ugc29tZSBicm93c2VycyB3ZSBzdGlsbCBzdXBwb3J0IChTYWZhcmkgPDE0LjQpIGRvbid0IGZ1bGx5IHN1cHBvcnRcbiAgICAgIC8vIGB2aXNpYmlsaXR5Y2hhbmdlYCBvciBoYXZlIGtub3duIGJ1Z3Mgdy5yLnQgdGhlIGB2aXNpYmlsaXR5Y2hhbmdlYCBldmVudC5cbiAgICAgIG9uSGlkZGVuKCgpID0+IHtcbiAgICAgICAgaGFuZGxlRW50cmllcyhwby50YWtlUmVjb3JkcygpICk7XG4gICAgICAgIHJlcG9ydCh0cnVlKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBJTlBUaHJlc2hvbGRzLCBvbklOUCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0SU5QLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getINP.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getLCP.js": /*!********************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getLCP.js ***! \********************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LCPThresholds: () => (/* binding */ LCPThresholds),\n/* harmony export */ onLCP: () => (/* binding */ onLCP)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./lib/bindReporter.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js\");\n/* harmony import */ var _lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/getActivationStart.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\");\n/* harmony import */ var _lib_getVisibilityWatcher_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/getVisibilityWatcher.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js\");\n/* harmony import */ var _lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/initMetric.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js\");\n/* harmony import */ var _lib_initUnique_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/initUnique.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js\");\n/* harmony import */ var _lib_LCPEntryManager_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/LCPEntryManager.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LCPEntryManager.js\");\n/* harmony import */ var _lib_observe_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./lib/observe.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\");\n/* harmony import */ var _lib_runOnce_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./lib/runOnce.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js\");\n/* harmony import */ var _lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/whenActivated.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js\");\n/* harmony import */ var _lib_whenIdleOrHidden_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./lib/whenIdleOrHidden.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for LCP. See https://web.dev/articles/lcp#what_is_a_good_lcp_score */\nconst LCPThresholds = [2500, 4000];\n\n/**\n * Calculates the [LCP](https://web.dev/articles/lcp) value for the current page and\n * calls the `callback` function once the value is ready (along with the\n * relevant `largest-contentful-paint` performance entry used to determine the\n * value). The reported value is a `DOMHighResTimeStamp`.\n *\n * If the `reportAllChanges` configuration option is set to `true`, the\n * `callback` function will be called any time a new `largest-contentful-paint`\n * performance entry is dispatched, or once the final value of the metric has\n * been determined.\n */\nconst onLCP = (onReport, opts = {}) => {\n (0,_lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_0__.whenActivated)(() => {\n const visibilityWatcher = (0,_lib_getVisibilityWatcher_js__WEBPACK_IMPORTED_MODULE_1__.getVisibilityWatcher)();\n const metric = (0,_lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__.initMetric)('LCP');\n let report;\n\n const lcpEntryManager = (0,_lib_initUnique_js__WEBPACK_IMPORTED_MODULE_3__.initUnique)(opts, _lib_LCPEntryManager_js__WEBPACK_IMPORTED_MODULE_4__.LCPEntryManager);\n\n const handleEntries = (entries) => {\n // If reportAllChanges is set then call this function for each entry,\n // otherwise only consider the last one.\n if (!opts.reportAllChanges) {\n // eslint-disable-next-line no-param-reassign\n entries = entries.slice(-1);\n }\n\n for (const entry of entries) {\n lcpEntryManager._processEntry(entry);\n\n // Only report if the page wasn't hidden prior to LCP.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n // The startTime attribute returns the value of the renderTime if it is\n // not 0, and the value of the loadTime otherwise. The activationStart\n // reference is used because LCP should be relative to page activation\n // rather than navigation start if the page was prerendered. But in cases\n // where `activationStart` occurs after the LCP, this time should be\n // clamped at 0.\n metric.value = Math.max(entry.startTime - (0,_lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_5__.getActivationStart)(), 0);\n metric.entries = [entry];\n report();\n }\n }\n };\n\n const po = (0,_lib_observe_js__WEBPACK_IMPORTED_MODULE_6__.observe)('largest-contentful-paint', handleEntries);\n\n if (po) {\n report = (0,_lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_7__.bindReporter)(onReport, metric, LCPThresholds, opts.reportAllChanges);\n\n // Ensure this logic only runs once, since it can be triggered from\n // any of three different event listeners below.\n const stopListening = (0,_lib_runOnce_js__WEBPACK_IMPORTED_MODULE_8__.runOnce)(() => {\n handleEntries(po.takeRecords() );\n po.disconnect();\n report(true);\n });\n\n // Stop listening after input or visibilitychange.\n // Note: while scrolling is an input that stops LCP observation, it's\n // unreliable since it can be programmatically generated.\n // See: https://github.com/GoogleChrome/web-vitals/issues/75\n for (const type of ['keydown', 'click', 'visibilitychange']) {\n // Wrap the listener in an idle callback so it's run in a separate\n // task to reduce potential INP impact.\n // https://github.com/GoogleChrome/web-vitals/issues/383\n if (_types_js__WEBPACK_IMPORTED_MODULE_9__.WINDOW.document) {\n addEventListener(type, () => (0,_lib_whenIdleOrHidden_js__WEBPACK_IMPORTED_MODULE_10__.whenIdleOrHidden)(stopListening), {\n capture: true,\n once: true,\n });\n }\n }\n }\n });\n};\n\n\n//# sourceMappingURL=getLCP.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9nZXRMQ1AuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUF3QztBQUNhO0FBQ1k7QUFDSTtBQUNwQjtBQUNBO0FBQ1U7QUFDaEI7QUFDQTtBQUNZO0FBQ007O0FBRTdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDLEVBQUUsb0VBQWE7QUFDZiw4QkFBOEIsa0ZBQW9CO0FBQ2xELG1CQUFtQiw4REFBVTtBQUM3Qjs7QUFFQSw0QkFBNEIsOERBQVUsT0FBTyxvRUFBZTs7QUFFNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esb0RBQW9ELDhFQUFrQjtBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLGVBQWUsd0RBQU87O0FBRXRCO0FBQ0EsZUFBZSxrRUFBWTs7QUFFM0I7QUFDQTtBQUNBLDRCQUE0Qix3REFBTztBQUNuQztBQUNBO0FBQ0E7QUFDQSxPQUFPOztBQUVQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxZQUFZLDZDQUFNO0FBQ2xCLHVDQUF1QywyRUFBZ0I7QUFDdkQ7QUFDQTtBQUNBLFdBQVc7QUFDWDtBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7O0FBRWdDO0FBQ2hDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvZ2V0TENQLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uLy4uL3R5cGVzLmpzJztcbmltcG9ydCB7IGJpbmRSZXBvcnRlciB9IGZyb20gJy4vbGliL2JpbmRSZXBvcnRlci5qcyc7XG5pbXBvcnQgeyBnZXRBY3RpdmF0aW9uU3RhcnQgfSBmcm9tICcuL2xpYi9nZXRBY3RpdmF0aW9uU3RhcnQuanMnO1xuaW1wb3J0IHsgZ2V0VmlzaWJpbGl0eVdhdGNoZXIgfSBmcm9tICcuL2xpYi9nZXRWaXNpYmlsaXR5V2F0Y2hlci5qcyc7XG5pbXBvcnQgeyBpbml0TWV0cmljIH0gZnJvbSAnLi9saWIvaW5pdE1ldHJpYy5qcyc7XG5pbXBvcnQgeyBpbml0VW5pcXVlIH0gZnJvbSAnLi9saWIvaW5pdFVuaXF1ZS5qcyc7XG5pbXBvcnQgeyBMQ1BFbnRyeU1hbmFnZXIgfSBmcm9tICcuL2xpYi9MQ1BFbnRyeU1hbmFnZXIuanMnO1xuaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4vbGliL29ic2VydmUuanMnO1xuaW1wb3J0IHsgcnVuT25jZSB9IGZyb20gJy4vbGliL3J1bk9uY2UuanMnO1xuaW1wb3J0IHsgd2hlbkFjdGl2YXRlZCB9IGZyb20gJy4vbGliL3doZW5BY3RpdmF0ZWQuanMnO1xuaW1wb3J0IHsgd2hlbklkbGVPckhpZGRlbiB9IGZyb20gJy4vbGliL3doZW5JZGxlT3JIaWRkZW4uanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG4vKiogVGhyZXNob2xkcyBmb3IgTENQLiBTZWUgaHR0cHM6Ly93ZWIuZGV2L2FydGljbGVzL2xjcCN3aGF0X2lzX2FfZ29vZF9sY3Bfc2NvcmUgKi9cbmNvbnN0IExDUFRocmVzaG9sZHMgPSBbMjUwMCwgNDAwMF07XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgW0xDUF0oaHR0cHM6Ly93ZWIuZGV2L2FydGljbGVzL2xjcCkgdmFsdWUgZm9yIHRoZSBjdXJyZW50IHBhZ2UgYW5kXG4gKiBjYWxscyB0aGUgYGNhbGxiYWNrYCBmdW5jdGlvbiBvbmNlIHRoZSB2YWx1ZSBpcyByZWFkeSAoYWxvbmcgd2l0aCB0aGVcbiAqIHJlbGV2YW50IGBsYXJnZXN0LWNvbnRlbnRmdWwtcGFpbnRgIHBlcmZvcm1hbmNlIGVudHJ5IHVzZWQgdG8gZGV0ZXJtaW5lIHRoZVxuICogdmFsdWUpLiBUaGUgcmVwb3J0ZWQgdmFsdWUgaXMgYSBgRE9NSGlnaFJlc1RpbWVTdGFtcGAuXG4gKlxuICogSWYgdGhlIGByZXBvcnRBbGxDaGFuZ2VzYCBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBzZXQgdG8gYHRydWVgLCB0aGVcbiAqIGBjYWxsYmFja2AgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYW55IHRpbWUgYSBuZXcgYGxhcmdlc3QtY29udGVudGZ1bC1wYWludGBcbiAqIHBlcmZvcm1hbmNlIGVudHJ5IGlzIGRpc3BhdGNoZWQsIG9yIG9uY2UgdGhlIGZpbmFsIHZhbHVlIG9mIHRoZSBtZXRyaWMgaGFzXG4gKiBiZWVuIGRldGVybWluZWQuXG4gKi9cbmNvbnN0IG9uTENQID0gKG9uUmVwb3J0LCBvcHRzID0ge30pID0+IHtcbiAgd2hlbkFjdGl2YXRlZCgoKSA9PiB7XG4gICAgY29uc3QgdmlzaWJpbGl0eVdhdGNoZXIgPSBnZXRWaXNpYmlsaXR5V2F0Y2hlcigpO1xuICAgIGNvbnN0IG1ldHJpYyA9IGluaXRNZXRyaWMoJ0xDUCcpO1xuICAgIGxldCByZXBvcnQ7XG5cbiAgICBjb25zdCBsY3BFbnRyeU1hbmFnZXIgPSBpbml0VW5pcXVlKG9wdHMsIExDUEVudHJ5TWFuYWdlcik7XG5cbiAgICBjb25zdCBoYW5kbGVFbnRyaWVzID0gKGVudHJpZXMpID0+IHtcbiAgICAgIC8vIElmIHJlcG9ydEFsbENoYW5nZXMgaXMgc2V0IHRoZW4gY2FsbCB0aGlzIGZ1bmN0aW9uIGZvciBlYWNoIGVudHJ5LFxuICAgICAgLy8gb3RoZXJ3aXNlIG9ubHkgY29uc2lkZXIgdGhlIGxhc3Qgb25lLlxuICAgICAgaWYgKCFvcHRzLnJlcG9ydEFsbENoYW5nZXMpIHtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgIGVudHJpZXMgPSBlbnRyaWVzLnNsaWNlKC0xKTtcbiAgICAgIH1cblxuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGxjcEVudHJ5TWFuYWdlci5fcHJvY2Vzc0VudHJ5KGVudHJ5KTtcblxuICAgICAgICAvLyBPbmx5IHJlcG9ydCBpZiB0aGUgcGFnZSB3YXNuJ3QgaGlkZGVuIHByaW9yIHRvIExDUC5cbiAgICAgICAgaWYgKGVudHJ5LnN0YXJ0VGltZSA8IHZpc2liaWxpdHlXYXRjaGVyLmZpcnN0SGlkZGVuVGltZSkge1xuICAgICAgICAgIC8vIFRoZSBzdGFydFRpbWUgYXR0cmlidXRlIHJldHVybnMgdGhlIHZhbHVlIG9mIHRoZSByZW5kZXJUaW1lIGlmIGl0IGlzXG4gICAgICAgICAgLy8gbm90IDAsIGFuZCB0aGUgdmFsdWUgb2YgdGhlIGxvYWRUaW1lIG90aGVyd2lzZS4gVGhlIGFjdGl2YXRpb25TdGFydFxuICAgICAgICAgIC8vIHJlZmVyZW5jZSBpcyB1c2VkIGJlY2F1c2UgTENQIHNob3VsZCBiZSByZWxhdGl2ZSB0byBwYWdlIGFjdGl2YXRpb25cbiAgICAgICAgICAvLyByYXRoZXIgdGhhbiBuYXZpZ2F0aW9uIHN0YXJ0IGlmIHRoZSBwYWdlIHdhcyBwcmVyZW5kZXJlZC4gQnV0IGluIGNhc2VzXG4gICAgICAgICAgLy8gd2hlcmUgYGFjdGl2YXRpb25TdGFydGAgb2NjdXJzIGFmdGVyIHRoZSBMQ1AsIHRoaXMgdGltZSBzaG91bGQgYmVcbiAgICAgICAgICAvLyBjbGFtcGVkIGF0IDAuXG4gICAgICAgICAgbWV0cmljLnZhbHVlID0gTWF0aC5tYXgoZW50cnkuc3RhcnRUaW1lIC0gZ2V0QWN0aXZhdGlvblN0YXJ0KCksIDApO1xuICAgICAgICAgIG1ldHJpYy5lbnRyaWVzID0gW2VudHJ5XTtcbiAgICAgICAgICByZXBvcnQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBwbyA9IG9ic2VydmUoJ2xhcmdlc3QtY29udGVudGZ1bC1wYWludCcsIGhhbmRsZUVudHJpZXMpO1xuXG4gICAgaWYgKHBvKSB7XG4gICAgICByZXBvcnQgPSBiaW5kUmVwb3J0ZXIob25SZXBvcnQsIG1ldHJpYywgTENQVGhyZXNob2xkcywgb3B0cy5yZXBvcnRBbGxDaGFuZ2VzKTtcblxuICAgICAgLy8gRW5zdXJlIHRoaXMgbG9naWMgb25seSBydW5zIG9uY2UsIHNpbmNlIGl0IGNhbiBiZSB0cmlnZ2VyZWQgZnJvbVxuICAgICAgLy8gYW55IG9mIHRocmVlIGRpZmZlcmVudCBldmVudCBsaXN0ZW5lcnMgYmVsb3cuXG4gICAgICBjb25zdCBzdG9wTGlzdGVuaW5nID0gcnVuT25jZSgoKSA9PiB7XG4gICAgICAgIGhhbmRsZUVudHJpZXMocG8udGFrZVJlY29yZHMoKSApO1xuICAgICAgICBwby5kaXNjb25uZWN0KCk7XG4gICAgICAgIHJlcG9ydCh0cnVlKTtcbiAgICAgIH0pO1xuXG4gICAgICAvLyBTdG9wIGxpc3RlbmluZyBhZnRlciBpbnB1dCBvciB2aXNpYmlsaXR5Y2hhbmdlLlxuICAgICAgLy8gTm90ZTogd2hpbGUgc2Nyb2xsaW5nIGlzIGFuIGlucHV0IHRoYXQgc3RvcHMgTENQIG9ic2VydmF0aW9uLCBpdCdzXG4gICAgICAvLyB1bnJlbGlhYmxlIHNpbmNlIGl0IGNhbiBiZSBwcm9ncmFtbWF0aWNhbGx5IGdlbmVyYXRlZC5cbiAgICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZS93ZWItdml0YWxzL2lzc3Vlcy83NVxuICAgICAgZm9yIChjb25zdCB0eXBlIG9mIFsna2V5ZG93bicsICdjbGljaycsICd2aXNpYmlsaXR5Y2hhbmdlJ10pIHtcbiAgICAgICAgLy8gV3JhcCB0aGUgbGlzdGVuZXIgaW4gYW4gaWRsZSBjYWxsYmFjayBzbyBpdCdzIHJ1biBpbiBhIHNlcGFyYXRlXG4gICAgICAgIC8vIHRhc2sgdG8gcmVkdWNlIHBvdGVudGlhbCBJTlAgaW1wYWN0LlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vR29vZ2xlQ2hyb21lL3dlYi12aXRhbHMvaXNzdWVzLzM4M1xuICAgICAgICBpZiAoV0lORE9XLmRvY3VtZW50KSB7XG4gICAgICAgICAgYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCAoKSA9PiB3aGVuSWRsZU9ySGlkZGVuKHN0b3BMaXN0ZW5pbmcpLCB7XG4gICAgICAgICAgICBjYXB0dXJlOiB0cnVlLFxuICAgICAgICAgICAgb25jZTogdHJ1ZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSk7XG59O1xuXG5leHBvcnQgeyBMQ1BUaHJlc2hvbGRzLCBvbkxDUCB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0TENQLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/getLCP.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/InteractionManager.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/InteractionManager.js ***! \************************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ InteractionManager: () => (/* binding */ InteractionManager)\n/* harmony export */ });\n/* harmony import */ var _polyfills_interactionCountPolyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./polyfills/interactionCountPolyfill.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js\");\n\n\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// To prevent unnecessary memory usage on pages with lots of interactions,\n// store at most 10 of the longest interactions to consider as INP candidates.\nconst MAX_INTERACTIONS_TO_CONSIDER = 10;\n\n// Used to store the interaction count after a bfcache restore, since p98\n// interaction latencies should only consider the current navigation.\nlet prevInteractionCount = 0;\n\n/**\n * Returns the interaction count since the last bfcache restore (or for the\n * full page lifecycle if there were no bfcache restores).\n */\nconst getInteractionCountForNavigation = () => {\n return (0,_polyfills_interactionCountPolyfill_js__WEBPACK_IMPORTED_MODULE_0__.getInteractionCount)() - prevInteractionCount;\n};\n\n/**\n *\n */\nclass InteractionManager {constructor() { InteractionManager.prototype.__init.call(this);InteractionManager.prototype.__init2.call(this); }\n /**\n * A list of longest interactions on the page (by latency) sorted so the\n * longest one is first. The list is at most MAX_INTERACTIONS_TO_CONSIDER\n * long.\n */\n // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n __init() {this._longestInteractionList = [];}\n\n /**\n * A mapping of longest interactions by their interaction ID.\n * This is used for faster lookup.\n */\n // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n __init2() {this._longestInteractionMap = new Map();}\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility, jsdoc/require-jsdoc\n _resetInteractions() {\n prevInteractionCount = (0,_polyfills_interactionCountPolyfill_js__WEBPACK_IMPORTED_MODULE_0__.getInteractionCount)();\n this._longestInteractionList.length = 0;\n this._longestInteractionMap.clear();\n }\n\n /**\n * Returns the estimated p98 longest interaction based on the stored\n * interaction candidates and the interaction count for the current page.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n _estimateP98LongestInteraction() {\n const candidateInteractionIndex = Math.min(\n this._longestInteractionList.length - 1,\n Math.floor(getInteractionCountForNavigation() / 50),\n );\n\n return this._longestInteractionList[candidateInteractionIndex];\n }\n\n /**\n * Takes a performance entry and adds it to the list of worst interactions\n * if its duration is long enough to make it among the worst. If the\n * entry is part of an existing interaction, it is merged and the latency\n * and entries list is updated as needed.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n _processEntry(entry) {\n this._onBeforeProcessingEntry?.(entry);\n\n // Skip further processing for entries that cannot be INP candidates.\n if (!(entry.interactionId || entry.entryType === 'first-input')) return;\n\n // The least-long of the 10 longest interactions.\n const minLongestInteraction = this._longestInteractionList.at(-1);\n\n let interaction = this._longestInteractionMap.get(entry.interactionId);\n\n // Only process the entry if it's possibly one of the ten longest,\n // or if it's part of an existing interaction.\n if (\n interaction ||\n this._longestInteractionList.length < MAX_INTERACTIONS_TO_CONSIDER ||\n // If the above conditions are false, `minLongestInteraction` will be set.\n entry.duration > minLongestInteraction._latency\n ) {\n // If the interaction already exists, update it. Otherwise create one.\n if (interaction) {\n // If the new entry has a longer duration, replace the old entries,\n // otherwise add to the array.\n if (entry.duration > interaction._latency) {\n interaction.entries = [entry];\n interaction._latency = entry.duration;\n } else if (entry.duration === interaction._latency && entry.startTime === interaction.entries[0].startTime) {\n interaction.entries.push(entry);\n }\n } else {\n interaction = {\n id: entry.interactionId,\n entries: [entry],\n _latency: entry.duration,\n };\n this._longestInteractionMap.set(interaction.id, interaction);\n this._longestInteractionList.push(interaction);\n }\n\n // Sort the entries by latency (descending) and keep only the top ten.\n this._longestInteractionList.sort((a, b) => b._latency - a._latency);\n if (this._longestInteractionList.length > MAX_INTERACTIONS_TO_CONSIDER) {\n const removedInteractions = this._longestInteractionList.splice(MAX_INTERACTIONS_TO_CONSIDER);\n\n for (const interaction of removedInteractions) {\n this._longestInteractionMap.delete(interaction.id);\n }\n }\n\n // Call any post-processing on the interaction\n this._onAfterProcessingINPCandidate?.(interaction);\n }\n }\n}\n\n\n//# sourceMappingURL=InteractionManager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvSW50ZXJhY3Rpb25NYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQThFOztBQUU5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsMkZBQW1CO0FBQzVCOztBQUVBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQixnQkFBZ0IsK0NBQStDO0FBQ3pGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7O0FBRVo7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGFBQWE7O0FBRWI7O0FBRUE7O0FBRUE7QUFDQTtBQUNBLDJCQUEyQiwyRkFBbUI7QUFDOUM7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxVQUFVO0FBQ1Y7QUFDQTtBQUNBLFFBQVE7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRThCO0FBQzlCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL0ludGVyYWN0aW9uTWFuYWdlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBnZXRJbnRlcmFjdGlvbkNvdW50IH0gZnJvbSAnLi9wb2x5ZmlsbHMvaW50ZXJhY3Rpb25Db3VudFBvbHlmaWxsLmpzJztcblxuLypcbiAqIENvcHlyaWdodCAyMDI0IEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cblxuLy8gVG8gcHJldmVudCB1bm5lY2Vzc2FyeSBtZW1vcnkgdXNhZ2Ugb24gcGFnZXMgd2l0aCBsb3RzIG9mIGludGVyYWN0aW9ucyxcbi8vIHN0b3JlIGF0IG1vc3QgMTAgb2YgdGhlIGxvbmdlc3QgaW50ZXJhY3Rpb25zIHRvIGNvbnNpZGVyIGFzIElOUCBjYW5kaWRhdGVzLlxuY29uc3QgTUFYX0lOVEVSQUNUSU9OU19UT19DT05TSURFUiA9IDEwO1xuXG4vLyBVc2VkIHRvIHN0b3JlIHRoZSBpbnRlcmFjdGlvbiBjb3VudCBhZnRlciBhIGJmY2FjaGUgcmVzdG9yZSwgc2luY2UgcDk4XG4vLyBpbnRlcmFjdGlvbiBsYXRlbmNpZXMgc2hvdWxkIG9ubHkgY29uc2lkZXIgdGhlIGN1cnJlbnQgbmF2aWdhdGlvbi5cbmxldCBwcmV2SW50ZXJhY3Rpb25Db3VudCA9IDA7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgaW50ZXJhY3Rpb24gY291bnQgc2luY2UgdGhlIGxhc3QgYmZjYWNoZSByZXN0b3JlIChvciBmb3IgdGhlXG4gKiBmdWxsIHBhZ2UgbGlmZWN5Y2xlIGlmIHRoZXJlIHdlcmUgbm8gYmZjYWNoZSByZXN0b3JlcykuXG4gKi9cbmNvbnN0IGdldEludGVyYWN0aW9uQ291bnRGb3JOYXZpZ2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4gZ2V0SW50ZXJhY3Rpb25Db3VudCgpIC0gcHJldkludGVyYWN0aW9uQ291bnQ7XG59O1xuXG4vKipcbiAqXG4gKi9cbmNsYXNzIEludGVyYWN0aW9uTWFuYWdlciB7Y29uc3RydWN0b3IoKSB7IEludGVyYWN0aW9uTWFuYWdlci5wcm90b3R5cGUuX19pbml0LmNhbGwodGhpcyk7SW50ZXJhY3Rpb25NYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQyLmNhbGwodGhpcyk7IH1cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBsb25nZXN0IGludGVyYWN0aW9ucyBvbiB0aGUgcGFnZSAoYnkgbGF0ZW5jeSkgc29ydGVkIHNvIHRoZVxuICAgKiBsb25nZXN0IG9uZSBpcyBmaXJzdC4gVGhlIGxpc3QgaXMgYXQgbW9zdCBNQVhfSU5URVJBQ1RJT05TX1RPX0NPTlNJREVSXG4gICAqIGxvbmcuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHNlbnRyeS1pbnRlcm5hbC9zZGsvbm8tY2xhc3MtZmllbGQtaW5pdGlhbGl6ZXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHlcbiAgX19pbml0KCkge3RoaXMuX2xvbmdlc3RJbnRlcmFjdGlvbkxpc3QgPSBbXTt9XG5cbiAgLyoqXG4gICAqIEEgbWFwcGluZyBvZiBsb25nZXN0IGludGVyYWN0aW9ucyBieSB0aGVpciBpbnRlcmFjdGlvbiBJRC5cbiAgICogVGhpcyBpcyB1c2VkIGZvciBmYXN0ZXIgbG9va3VwLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBzZW50cnktaW50ZXJuYWwvc2RrL25vLWNsYXNzLWZpZWxkLWluaXRpYWxpemVycywgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIF9faW5pdDIoKSB7dGhpcy5fbG9uZ2VzdEludGVyYWN0aW9uTWFwID0gbmV3IE1hcCgpO31cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHksIGpzZG9jL3JlcXVpcmUtanNkb2NcbiAgX3Jlc2V0SW50ZXJhY3Rpb25zKCkge1xuICAgIHByZXZJbnRlcmFjdGlvbkNvdW50ID0gZ2V0SW50ZXJhY3Rpb25Db3VudCgpO1xuICAgIHRoaXMuX2xvbmdlc3RJbnRlcmFjdGlvbkxpc3QubGVuZ3RoID0gMDtcbiAgICB0aGlzLl9sb25nZXN0SW50ZXJhY3Rpb25NYXAuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBlc3RpbWF0ZWQgcDk4IGxvbmdlc3QgaW50ZXJhY3Rpb24gYmFzZWQgb24gdGhlIHN0b3JlZFxuICAgKiBpbnRlcmFjdGlvbiBjYW5kaWRhdGVzIGFuZCB0aGUgaW50ZXJhY3Rpb24gY291bnQgZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIF9lc3RpbWF0ZVA5OExvbmdlc3RJbnRlcmFjdGlvbigpIHtcbiAgICBjb25zdCBjYW5kaWRhdGVJbnRlcmFjdGlvbkluZGV4ID0gTWF0aC5taW4oXG4gICAgICB0aGlzLl9sb25nZXN0SW50ZXJhY3Rpb25MaXN0Lmxlbmd0aCAtIDEsXG4gICAgICBNYXRoLmZsb29yKGdldEludGVyYWN0aW9uQ291bnRGb3JOYXZpZ2F0aW9uKCkgLyA1MCksXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLl9sb25nZXN0SW50ZXJhY3Rpb25MaXN0W2NhbmRpZGF0ZUludGVyYWN0aW9uSW5kZXhdO1xuICB9XG5cbiAgLyoqXG4gICAqIFRha2VzIGEgcGVyZm9ybWFuY2UgZW50cnkgYW5kIGFkZHMgaXQgdG8gdGhlIGxpc3Qgb2Ygd29yc3QgaW50ZXJhY3Rpb25zXG4gICAqIGlmIGl0cyBkdXJhdGlvbiBpcyBsb25nIGVub3VnaCB0byBtYWtlIGl0IGFtb25nIHRoZSB3b3JzdC4gSWYgdGhlXG4gICAqIGVudHJ5IGlzIHBhcnQgb2YgYW4gZXhpc3RpbmcgaW50ZXJhY3Rpb24sIGl0IGlzIG1lcmdlZCBhbmQgdGhlIGxhdGVuY3lcbiAgICogYW5kIGVudHJpZXMgbGlzdCBpcyB1cGRhdGVkIGFzIG5lZWRlZC5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHlcbiAgX3Byb2Nlc3NFbnRyeShlbnRyeSkge1xuICAgIHRoaXMuX29uQmVmb3JlUHJvY2Vzc2luZ0VudHJ5Py4oZW50cnkpO1xuXG4gICAgLy8gU2tpcCBmdXJ0aGVyIHByb2Nlc3NpbmcgZm9yIGVudHJpZXMgdGhhdCBjYW5ub3QgYmUgSU5QIGNhbmRpZGF0ZXMuXG4gICAgaWYgKCEoZW50cnkuaW50ZXJhY3Rpb25JZCB8fCBlbnRyeS5lbnRyeVR5cGUgPT09ICdmaXJzdC1pbnB1dCcpKSByZXR1cm47XG5cbiAgICAvLyBUaGUgbGVhc3QtbG9uZyBvZiB0aGUgMTAgbG9uZ2VzdCBpbnRlcmFjdGlvbnMuXG4gICAgY29uc3QgbWluTG9uZ2VzdEludGVyYWN0aW9uID0gdGhpcy5fbG9uZ2VzdEludGVyYWN0aW9uTGlzdC5hdCgtMSk7XG5cbiAgICBsZXQgaW50ZXJhY3Rpb24gPSB0aGlzLl9sb25nZXN0SW50ZXJhY3Rpb25NYXAuZ2V0KGVudHJ5LmludGVyYWN0aW9uSWQpO1xuXG4gICAgLy8gT25seSBwcm9jZXNzIHRoZSBlbnRyeSBpZiBpdCdzIHBvc3NpYmx5IG9uZSBvZiB0aGUgdGVuIGxvbmdlc3QsXG4gICAgLy8gb3IgaWYgaXQncyBwYXJ0IG9mIGFuIGV4aXN0aW5nIGludGVyYWN0aW9uLlxuICAgIGlmIChcbiAgICAgIGludGVyYWN0aW9uIHx8XG4gICAgICB0aGlzLl9sb25nZXN0SW50ZXJhY3Rpb25MaXN0Lmxlbmd0aCA8IE1BWF9JTlRFUkFDVElPTlNfVE9fQ09OU0lERVIgfHxcbiAgICAgIC8vIElmIHRoZSBhYm92ZSBjb25kaXRpb25zIGFyZSBmYWxzZSwgYG1pbkxvbmdlc3RJbnRlcmFjdGlvbmAgd2lsbCBiZSBzZXQuXG4gICAgICBlbnRyeS5kdXJhdGlvbiA+IG1pbkxvbmdlc3RJbnRlcmFjdGlvbi5fbGF0ZW5jeVxuICAgICkge1xuICAgICAgLy8gSWYgdGhlIGludGVyYWN0aW9uIGFscmVhZHkgZXhpc3RzLCB1cGRhdGUgaXQuIE90aGVyd2lzZSBjcmVhdGUgb25lLlxuICAgICAgaWYgKGludGVyYWN0aW9uKSB7XG4gICAgICAgIC8vIElmIHRoZSBuZXcgZW50cnkgaGFzIGEgbG9uZ2VyIGR1cmF0aW9uLCByZXBsYWNlIHRoZSBvbGQgZW50cmllcyxcbiAgICAgICAgLy8gb3RoZXJ3aXNlIGFkZCB0byB0aGUgYXJyYXkuXG4gICAgICAgIGlmIChlbnRyeS5kdXJhdGlvbiA+IGludGVyYWN0aW9uLl9sYXRlbmN5KSB7XG4gICAgICAgICAgaW50ZXJhY3Rpb24uZW50cmllcyA9IFtlbnRyeV07XG4gICAgICAgICAgaW50ZXJhY3Rpb24uX2xhdGVuY3kgPSBlbnRyeS5kdXJhdGlvbjtcbiAgICAgICAgfSBlbHNlIGlmIChlbnRyeS5kdXJhdGlvbiA9PT0gaW50ZXJhY3Rpb24uX2xhdGVuY3kgJiYgZW50cnkuc3RhcnRUaW1lID09PSBpbnRlcmFjdGlvbi5lbnRyaWVzWzBdLnN0YXJ0VGltZSkge1xuICAgICAgICAgIGludGVyYWN0aW9uLmVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGludGVyYWN0aW9uID0ge1xuICAgICAgICAgIGlkOiBlbnRyeS5pbnRlcmFjdGlvbklkLFxuICAgICAgICAgIGVudHJpZXM6IFtlbnRyeV0sXG4gICAgICAgICAgX2xhdGVuY3k6IGVudHJ5LmR1cmF0aW9uLFxuICAgICAgICB9O1xuICAgICAgICB0aGlzLl9sb25nZXN0SW50ZXJhY3Rpb25NYXAuc2V0KGludGVyYWN0aW9uLmlkLCBpbnRlcmFjdGlvbik7XG4gICAgICAgIHRoaXMuX2xvbmdlc3RJbnRlcmFjdGlvbkxpc3QucHVzaChpbnRlcmFjdGlvbik7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvcnQgdGhlIGVudHJpZXMgYnkgbGF0ZW5jeSAoZGVzY2VuZGluZykgYW5kIGtlZXAgb25seSB0aGUgdG9wIHRlbi5cbiAgICAgIHRoaXMuX2xvbmdlc3RJbnRlcmFjdGlvbkxpc3Quc29ydCgoYSwgYikgPT4gYi5fbGF0ZW5jeSAtIGEuX2xhdGVuY3kpO1xuICAgICAgaWYgKHRoaXMuX2xvbmdlc3RJbnRlcmFjdGlvbkxpc3QubGVuZ3RoID4gTUFYX0lOVEVSQUNUSU9OU19UT19DT05TSURFUikge1xuICAgICAgICBjb25zdCByZW1vdmVkSW50ZXJhY3Rpb25zID0gdGhpcy5fbG9uZ2VzdEludGVyYWN0aW9uTGlzdC5zcGxpY2UoTUFYX0lOVEVSQUNUSU9OU19UT19DT05TSURFUik7XG5cbiAgICAgICAgZm9yIChjb25zdCBpbnRlcmFjdGlvbiBvZiByZW1vdmVkSW50ZXJhY3Rpb25zKSB7XG4gICAgICAgICAgdGhpcy5fbG9uZ2VzdEludGVyYWN0aW9uTWFwLmRlbGV0ZShpbnRlcmFjdGlvbi5pZCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQ2FsbCBhbnkgcG9zdC1wcm9jZXNzaW5nIG9uIHRoZSBpbnRlcmFjdGlvblxuICAgICAgdGhpcy5fb25BZnRlclByb2Nlc3NpbmdJTlBDYW5kaWRhdGU/LihpbnRlcmFjdGlvbik7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCB7IEludGVyYWN0aW9uTWFuYWdlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9SW50ZXJhY3Rpb25NYW5hZ2VyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/InteractionManager.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LCPEntryManager.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LCPEntryManager.js ***! \*********************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LCPEntryManager: () => (/* binding */ LCPEntryManager)\n/* harmony export */ });\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n// eslint-disable-next-line jsdoc/require-jsdoc\nclass LCPEntryManager {\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility, jsdoc/require-jsdoc\n _processEntry(entry) {\n this._onBeforeProcessingEntry?.(entry);\n }\n}\n\n\n//# sourceMappingURL=LCPEntryManager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvTENQRW50cnlNYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRTJCO0FBQzNCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL0xDUEVudHJ5TWFuYWdlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjQgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGpzZG9jL3JlcXVpcmUtanNkb2NcbmNsYXNzIExDUEVudHJ5TWFuYWdlciB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvZXhwbGljaXQtbWVtYmVyLWFjY2Vzc2liaWxpdHlcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5LCBqc2RvYy9yZXF1aXJlLWpzZG9jXG4gIF9wcm9jZXNzRW50cnkoZW50cnkpIHtcbiAgICB0aGlzLl9vbkJlZm9yZVByb2Nlc3NpbmdFbnRyeT8uKGVudHJ5KTtcbiAgfVxufVxuXG5leHBvcnQgeyBMQ1BFbnRyeU1hbmFnZXIgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUxDUEVudHJ5TWFuYWdlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LCPEntryManager.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js ***! \************************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ LayoutShiftManager: () => (/* binding */ LayoutShiftManager)\n/* harmony export */ });\n/* eslint-disable jsdoc/require-jsdoc */\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nclass LayoutShiftManager {constructor() { LayoutShiftManager.prototype.__init.call(this);LayoutShiftManager.prototype.__init2.call(this); }\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n\n // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n __init() {this._sessionValue = 0;}\n // eslint-disable-next-line @sentry-internal/sdk/no-class-field-initializers, @typescript-eslint/explicit-member-accessibility\n __init2() {this._sessionEntries = [];}\n\n // eslint-disable-next-line @typescript-eslint/explicit-member-accessibility\n _processEntry(entry) {\n // Only count layout shifts without recent user input.\n if (entry.hadRecentInput) return;\n\n const firstSessionEntry = this._sessionEntries[0];\n // This previously used `this._sessionEntries.at(-1)` but that is ES2022. We support ES2021 and earlier.\n const lastSessionEntry = this._sessionEntries[this._sessionEntries.length - 1];\n\n // If the entry occurred less than 1 second after the previous entry\n // and less than 5 seconds after the first entry in the session,\n // include the entry in the current session. Otherwise, start a new\n // session.\n if (\n this._sessionValue &&\n firstSessionEntry &&\n lastSessionEntry &&\n entry.startTime - lastSessionEntry.startTime < 1000 &&\n entry.startTime - firstSessionEntry.startTime < 5000\n ) {\n this._sessionValue += entry.value;\n this._sessionEntries.push(entry);\n } else {\n this._sessionValue = entry.value;\n this._sessionEntries = [entry];\n }\n\n this._onAfterProcessingUnexpectedShift?.(entry);\n }\n}\n\n\n//# sourceMappingURL=LayoutShiftManager.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvTGF5b3V0U2hpZnRNYW5hZ2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSwwQkFBMEIsZ0JBQWdCLCtDQUErQztBQUN6Rjs7QUFFQTtBQUNBLFlBQVk7QUFDWjtBQUNBLGFBQWE7O0FBRWI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsTUFBTTtBQUNOO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRThCO0FBQzlCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL0xheW91dFNoaWZ0TWFuYWdlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBqc2RvYy9yZXF1aXJlLWpzZG9jICovXG4vKlxuICogQ29weXJpZ2h0IDIwMjQgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuY2xhc3MgTGF5b3V0U2hpZnRNYW5hZ2VyIHtjb25zdHJ1Y3RvcigpIHsgTGF5b3V0U2hpZnRNYW5hZ2VyLnByb3RvdHlwZS5fX2luaXQuY2FsbCh0aGlzKTtMYXlvdXRTaGlmdE1hbmFnZXIucHJvdG90eXBlLl9faW5pdDIuY2FsbCh0aGlzKTsgfVxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBzZW50cnktaW50ZXJuYWwvc2RrL25vLWNsYXNzLWZpZWxkLWluaXRpYWxpemVycywgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIF9faW5pdCgpIHt0aGlzLl9zZXNzaW9uVmFsdWUgPSAwO31cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBzZW50cnktaW50ZXJuYWwvc2RrL25vLWNsYXNzLWZpZWxkLWluaXRpYWxpemVycywgQHR5cGVzY3JpcHQtZXNsaW50L2V4cGxpY2l0LW1lbWJlci1hY2Nlc3NpYmlsaXR5XG4gIF9faW5pdDIoKSB7dGhpcy5fc2Vzc2lvbkVudHJpZXMgPSBbXTt9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9leHBsaWNpdC1tZW1iZXItYWNjZXNzaWJpbGl0eVxuICBfcHJvY2Vzc0VudHJ5KGVudHJ5KSB7XG4gICAgLy8gT25seSBjb3VudCBsYXlvdXQgc2hpZnRzIHdpdGhvdXQgcmVjZW50IHVzZXIgaW5wdXQuXG4gICAgaWYgKGVudHJ5LmhhZFJlY2VudElucHV0KSByZXR1cm47XG5cbiAgICBjb25zdCBmaXJzdFNlc3Npb25FbnRyeSA9IHRoaXMuX3Nlc3Npb25FbnRyaWVzWzBdO1xuICAgIC8vIFRoaXMgcHJldmlvdXNseSB1c2VkIGB0aGlzLl9zZXNzaW9uRW50cmllcy5hdCgtMSlgIGJ1dCB0aGF0IGlzIEVTMjAyMi4gV2Ugc3VwcG9ydCBFUzIwMjEgYW5kIGVhcmxpZXIuXG4gICAgY29uc3QgbGFzdFNlc3Npb25FbnRyeSA9IHRoaXMuX3Nlc3Npb25FbnRyaWVzW3RoaXMuX3Nlc3Npb25FbnRyaWVzLmxlbmd0aCAtIDFdO1xuXG4gICAgLy8gSWYgdGhlIGVudHJ5IG9jY3VycmVkIGxlc3MgdGhhbiAxIHNlY29uZCBhZnRlciB0aGUgcHJldmlvdXMgZW50cnlcbiAgICAvLyBhbmQgbGVzcyB0aGFuIDUgc2Vjb25kcyBhZnRlciB0aGUgZmlyc3QgZW50cnkgaW4gdGhlIHNlc3Npb24sXG4gICAgLy8gaW5jbHVkZSB0aGUgZW50cnkgaW4gdGhlIGN1cnJlbnQgc2Vzc2lvbi4gT3RoZXJ3aXNlLCBzdGFydCBhIG5ld1xuICAgIC8vIHNlc3Npb24uXG4gICAgaWYgKFxuICAgICAgdGhpcy5fc2Vzc2lvblZhbHVlICYmXG4gICAgICBmaXJzdFNlc3Npb25FbnRyeSAmJlxuICAgICAgbGFzdFNlc3Npb25FbnRyeSAmJlxuICAgICAgZW50cnkuc3RhcnRUaW1lIC0gbGFzdFNlc3Npb25FbnRyeS5zdGFydFRpbWUgPCAxMDAwICYmXG4gICAgICBlbnRyeS5zdGFydFRpbWUgLSBmaXJzdFNlc3Npb25FbnRyeS5zdGFydFRpbWUgPCA1MDAwXG4gICAgKSB7XG4gICAgICB0aGlzLl9zZXNzaW9uVmFsdWUgKz0gZW50cnkudmFsdWU7XG4gICAgICB0aGlzLl9zZXNzaW9uRW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2Vzc2lvblZhbHVlID0gZW50cnkudmFsdWU7XG4gICAgICB0aGlzLl9zZXNzaW9uRW50cmllcyA9IFtlbnRyeV07XG4gICAgfVxuXG4gICAgdGhpcy5fb25BZnRlclByb2Nlc3NpbmdVbmV4cGVjdGVkU2hpZnQ/LihlbnRyeSk7XG4gIH1cbn1cblxuZXhwb3J0IHsgTGF5b3V0U2hpZnRNYW5hZ2VyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1MYXlvdXRTaGlmdE1hbmFnZXIuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/LayoutShiftManager.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js": /*!******************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js ***! \******************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ bindReporter: () => (/* binding */ bindReporter)\n/* harmony export */ });\nconst getRating = (value, thresholds) => {\n if (value > thresholds[1]) {\n return 'poor';\n }\n if (value > thresholds[0]) {\n return 'needs-improvement';\n }\n return 'good';\n};\n\nconst bindReporter = (\n callback,\n metric,\n thresholds,\n reportAllChanges,\n) => {\n let prevValue;\n let delta;\n return (forceReport) => {\n if (metric.value >= 0) {\n if (forceReport || reportAllChanges) {\n delta = metric.value - (prevValue ?? 0);\n\n // Report the metric if there's a non-zero delta or if no previous\n // value exists (which can happen in the case of the document becoming\n // hidden when the metric value is 0).\n // See: https://github.com/GoogleChrome/web-vitals/issues/14\n if (delta || prevValue === undefined) {\n prevValue = metric.value;\n metric.delta = delta;\n metric.rating = getRating(metric.value, thresholds);\n callback(metric);\n }\n }\n }\n };\n};\n\n\n//# sourceMappingURL=bindReporter.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvYmluZFJlcG9ydGVyLmpzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXdCO0FBQ3hCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL2JpbmRSZXBvcnRlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCBnZXRSYXRpbmcgPSAodmFsdWUsIHRocmVzaG9sZHMpID0+IHtcbiAgaWYgKHZhbHVlID4gdGhyZXNob2xkc1sxXSkge1xuICAgIHJldHVybiAncG9vcic7XG4gIH1cbiAgaWYgKHZhbHVlID4gdGhyZXNob2xkc1swXSkge1xuICAgIHJldHVybiAnbmVlZHMtaW1wcm92ZW1lbnQnO1xuICB9XG4gIHJldHVybiAnZ29vZCc7XG59O1xuXG5jb25zdCBiaW5kUmVwb3J0ZXIgPSAoXG4gIGNhbGxiYWNrLFxuICBtZXRyaWMsXG4gIHRocmVzaG9sZHMsXG4gIHJlcG9ydEFsbENoYW5nZXMsXG4pID0+IHtcbiAgbGV0IHByZXZWYWx1ZTtcbiAgbGV0IGRlbHRhO1xuICByZXR1cm4gKGZvcmNlUmVwb3J0KSA9PiB7XG4gICAgaWYgKG1ldHJpYy52YWx1ZSA+PSAwKSB7XG4gICAgICBpZiAoZm9yY2VSZXBvcnQgfHwgcmVwb3J0QWxsQ2hhbmdlcykge1xuICAgICAgICBkZWx0YSA9IG1ldHJpYy52YWx1ZSAtIChwcmV2VmFsdWUgPz8gMCk7XG5cbiAgICAgICAgLy8gUmVwb3J0IHRoZSBtZXRyaWMgaWYgdGhlcmUncyBhIG5vbi16ZXJvIGRlbHRhIG9yIGlmIG5vIHByZXZpb3VzXG4gICAgICAgIC8vIHZhbHVlIGV4aXN0cyAod2hpY2ggY2FuIGhhcHBlbiBpbiB0aGUgY2FzZSBvZiB0aGUgZG9jdW1lbnQgYmVjb21pbmdcbiAgICAgICAgLy8gaGlkZGVuIHdoZW4gdGhlIG1ldHJpYyB2YWx1ZSBpcyAwKS5cbiAgICAgICAgLy8gU2VlOiBodHRwczovL2dpdGh1Yi5jb20vR29vZ2xlQ2hyb21lL3dlYi12aXRhbHMvaXNzdWVzLzE0XG4gICAgICAgIGlmIChkZWx0YSB8fCBwcmV2VmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHByZXZWYWx1ZSA9IG1ldHJpYy52YWx1ZTtcbiAgICAgICAgICBtZXRyaWMuZGVsdGEgPSBkZWx0YTtcbiAgICAgICAgICBtZXRyaWMucmF0aW5nID0gZ2V0UmF0aW5nKG1ldHJpYy52YWx1ZSwgdGhyZXNob2xkcyk7XG4gICAgICAgICAgY2FsbGJhY2sobWV0cmljKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCB7IGJpbmRSZXBvcnRlciB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmluZFJlcG9ydGVyLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js ***! \**********************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ generateUniqueID: () => (/* binding */ generateUniqueID)\n/* harmony export */ });\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Performantly generate a unique, 30-char string by combining a version\n * number, the current timestamp with a 13-digit number integer.\n * @return {string}\n */\nconst generateUniqueID = () => {\n return `v5-${Date.now()}-${Math.floor(Math.random() * (9e12 - 1)) + 1e12}`;\n};\n\n\n//# sourceMappingURL=generateUniqueID.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvZ2VuZXJhdGVVbmlxdWVJRC5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLFlBQVk7QUFDWjtBQUNBO0FBQ0EsZUFBZSxXQUFXLEdBQUcsOENBQThDO0FBQzNFOztBQUU0QjtBQUM1QiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL0BzZW50cnktaW50ZXJuYWwvYnJvd3Nlci11dGlscy9idWlsZC9lc20vbWV0cmljcy93ZWItdml0YWxzL2xpYi9nZW5lcmF0ZVVuaXF1ZUlELmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG4vKipcbiAqIFBlcmZvcm1hbnRseSBnZW5lcmF0ZSBhIHVuaXF1ZSwgMzAtY2hhciBzdHJpbmcgYnkgY29tYmluaW5nIGEgdmVyc2lvblxuICogbnVtYmVyLCB0aGUgY3VycmVudCB0aW1lc3RhbXAgd2l0aCBhIDEzLWRpZ2l0IG51bWJlciBpbnRlZ2VyLlxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5jb25zdCBnZW5lcmF0ZVVuaXF1ZUlEID0gKCkgPT4ge1xuICByZXR1cm4gYHY1LSR7RGF0ZS5ub3coKX0tJHtNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAoOWUxMiAtIDEpKSArIDFlMTJ9YDtcbn07XG5cbmV4cG9ydCB7IGdlbmVyYXRlVW5pcXVlSUQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdlbmVyYXRlVW5pcXVlSUQuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js ***! \************************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getActivationStart: () => (/* binding */ getActivationStart)\n/* harmony export */ });\n/* harmony import */ var _getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNavigationEntry.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js\");\n\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst getActivationStart = () => {\n const navEntry = (0,_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_0__.getNavigationEntry)();\n return navEntry?.activationStart ?? 0;\n};\n\n\n//# sourceMappingURL=getActivationStart.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvZ2V0QWN0aXZhdGlvblN0YXJ0LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTZEOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0EsbUJBQW1CLDBFQUFrQjtBQUNyQztBQUNBOztBQUU4QjtBQUM5QiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL0BzZW50cnktaW50ZXJuYWwvYnJvd3Nlci11dGlscy9idWlsZC9lc20vbWV0cmljcy93ZWItdml0YWxzL2xpYi9nZXRBY3RpdmF0aW9uU3RhcnQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZ2V0TmF2aWdhdGlvbkVudHJ5IH0gZnJvbSAnLi9nZXROYXZpZ2F0aW9uRW50cnkuanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG5jb25zdCBnZXRBY3RpdmF0aW9uU3RhcnQgPSAoKSA9PiB7XG4gIGNvbnN0IG5hdkVudHJ5ID0gZ2V0TmF2aWdhdGlvbkVudHJ5KCk7XG4gIHJldHVybiBuYXZFbnRyeT8uYWN0aXZhdGlvblN0YXJ0ID8/IDA7XG59O1xuXG5leHBvcnQgeyBnZXRBY3RpdmF0aW9uU3RhcnQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldEFjdGl2YXRpb25TdGFydC5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js": /*!************************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js ***! \************************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getNavigationEntry: () => (/* binding */ getNavigationEntry)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// sentry-specific change:\n// add optional param to not check for responseStart (see comment below)\nconst getNavigationEntry = (checkResponseStart = true) => {\n const navigationEntry = _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.performance?.getEntriesByType?.('navigation')[0];\n // Check to ensure the `responseStart` property is present and valid.\n // In some cases a zero value is reported by the browser (for\n // privacy/security reasons), and in other cases (bugs) the value is\n // negative or is larger than the current page time. Ignore these cases:\n // - https://github.com/GoogleChrome/web-vitals/issues/137\n // - https://github.com/GoogleChrome/web-vitals/issues/162\n // - https://github.com/GoogleChrome/web-vitals/issues/275\n if (\n // sentry-specific change:\n // We don't want to check for responseStart for our own use of `getNavigationEntry`\n !checkResponseStart ||\n (navigationEntry && navigationEntry.responseStart > 0 && navigationEntry.responseStart < performance.now())\n ) {\n return navigationEntry;\n }\n};\n\n\n//# sourceMappingURL=getNavigationEntry.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvZ2V0TmF2aWdhdGlvbkVudHJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTJDOztBQUUzQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7QUFDQTtBQUNBLDBCQUEwQiw2Q0FBTTtBQUNoQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFOEI7QUFDOUIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvZ2V0TmF2aWdhdGlvbkVudHJ5LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzLmpzJztcblxuLypcbiAqIENvcHlyaWdodCAyMDIyIEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cblxuLy8gc2VudHJ5LXNwZWNpZmljIGNoYW5nZTpcbi8vIGFkZCBvcHRpb25hbCBwYXJhbSB0byBub3QgY2hlY2sgZm9yIHJlc3BvbnNlU3RhcnQgKHNlZSBjb21tZW50IGJlbG93KVxuY29uc3QgZ2V0TmF2aWdhdGlvbkVudHJ5ID0gKGNoZWNrUmVzcG9uc2VTdGFydCA9IHRydWUpID0+IHtcbiAgY29uc3QgbmF2aWdhdGlvbkVudHJ5ID0gV0lORE9XLnBlcmZvcm1hbmNlPy5nZXRFbnRyaWVzQnlUeXBlPy4oJ25hdmlnYXRpb24nKVswXTtcbiAgLy8gQ2hlY2sgdG8gZW5zdXJlIHRoZSBgcmVzcG9uc2VTdGFydGAgcHJvcGVydHkgaXMgcHJlc2VudCBhbmQgdmFsaWQuXG4gIC8vIEluIHNvbWUgY2FzZXMgYSB6ZXJvIHZhbHVlIGlzIHJlcG9ydGVkIGJ5IHRoZSBicm93c2VyIChmb3JcbiAgLy8gcHJpdmFjeS9zZWN1cml0eSByZWFzb25zKSwgYW5kIGluIG90aGVyIGNhc2VzIChidWdzKSB0aGUgdmFsdWUgaXNcbiAgLy8gbmVnYXRpdmUgb3IgaXMgbGFyZ2VyIHRoYW4gdGhlIGN1cnJlbnQgcGFnZSB0aW1lLiBJZ25vcmUgdGhlc2UgY2FzZXM6XG4gIC8vIC0gaHR0cHM6Ly9naXRodWIuY29tL0dvb2dsZUNocm9tZS93ZWItdml0YWxzL2lzc3Vlcy8xMzdcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vR29vZ2xlQ2hyb21lL3dlYi12aXRhbHMvaXNzdWVzLzE2MlxuICAvLyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWUvd2ViLXZpdGFscy9pc3N1ZXMvMjc1XG4gIGlmIChcbiAgICAvLyBzZW50cnktc3BlY2lmaWMgY2hhbmdlOlxuICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gY2hlY2sgZm9yIHJlc3BvbnNlU3RhcnQgZm9yIG91ciBvd24gdXNlIG9mIGBnZXROYXZpZ2F0aW9uRW50cnlgXG4gICAgIWNoZWNrUmVzcG9uc2VTdGFydCB8fFxuICAgIChuYXZpZ2F0aW9uRW50cnkgJiYgbmF2aWdhdGlvbkVudHJ5LnJlc3BvbnNlU3RhcnQgPiAwICYmIG5hdmlnYXRpb25FbnRyeS5yZXNwb25zZVN0YXJ0IDwgcGVyZm9ybWFuY2Uubm93KCkpXG4gICkge1xuICAgIHJldHVybiBuYXZpZ2F0aW9uRW50cnk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IGdldE5hdmlnYXRpb25FbnRyeSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0TmF2aWdhdGlvbkVudHJ5LmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js ***! \**************************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getVisibilityWatcher: () => (/* binding */ getVisibilityWatcher)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _getActivationStart_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./getActivationStart.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\");\n\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet firstHiddenTime = -1;\n\nconst initHiddenTime = () => {\n // If the document is hidden when this code runs, assume it was always\n // hidden and the page was loaded in the background, with the one exception\n // that visibility state is always 'hidden' during prerendering, so we have\n // to ignore that case until prerendering finishes (see: `prerenderingchange`\n // event logic below).\n return _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.visibilityState === 'hidden' && !_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.prerendering ? 0 : Infinity;\n};\n\nconst onVisibilityUpdate = (event) => {\n // If the document is 'hidden' and no previous hidden timestamp has been\n // set, update it based on the current event data.\n if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document.visibilityState === 'hidden' && firstHiddenTime > -1) {\n // If the event is a 'visibilitychange' event, it means the page was\n // visible prior to this change, so the event timestamp is the first\n // hidden time.\n // However, if the event is not a 'visibilitychange' event, then it must\n // be a 'prerenderingchange' event, and the fact that the document is\n // still 'hidden' from the above check means the tab was activated\n // in a background state and so has always been hidden.\n firstHiddenTime = event.type === 'visibilitychange' ? event.timeStamp : 0;\n\n // Remove all listeners now that a `firstHiddenTime` value has been set.\n removeChangeListeners();\n }\n};\n\nconst addChangeListeners = () => {\n addEventListener('visibilitychange', onVisibilityUpdate, true);\n // IMPORTANT: when a page is prerendering, its `visibilityState` is\n // 'hidden', so in order to account for cases where this module checks for\n // visibility during prerendering, an additional check after prerendering\n // completes is also required.\n addEventListener('prerenderingchange', onVisibilityUpdate, true);\n};\n\nconst removeChangeListeners = () => {\n removeEventListener('visibilitychange', onVisibilityUpdate, true);\n removeEventListener('prerenderingchange', onVisibilityUpdate, true);\n};\n\nconst getVisibilityWatcher = () => {\n if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document && firstHiddenTime < 0) {\n // Check if we have a previous hidden `visibility-state` performance entry.\n const activationStart = (0,_getActivationStart_js__WEBPACK_IMPORTED_MODULE_1__.getActivationStart)();\n const firstVisibilityStateHiddenTime = !_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document.prerendering\n ? globalThis.performance\n .getEntriesByType('visibility-state')\n .filter(e => e.name === 'hidden' && e.startTime > activationStart)[0]?.startTime\n : undefined;\n\n // Prefer that, but if it's not available and the document is hidden when\n // this code runs, assume it was hidden since navigation start. This isn't\n // a perfect heuristic, but it's the best we can do until the\n // `visibility-state` performance entry becomes available in all browsers.\n firstHiddenTime = firstVisibilityStateHiddenTime ?? initHiddenTime();\n // We're still going to listen to for changes so we can handle things like\n // bfcache restores and/or prerender without having to examine individual\n // timestamps in detail.\n addChangeListeners();\n }\n return {\n get firstHiddenTime() {\n return firstHiddenTime;\n },\n };\n};\n\n\n//# sourceMappingURL=getVisibilityWatcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvZ2V0VmlzaWJpbGl0eVdhdGNoZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQTJDO0FBQ2tCOztBQUU3RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsNkNBQU0sNENBQTRDLDZDQUFNO0FBQ2pFOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE1BQU0sNkNBQU07QUFDWjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxNQUFNLDZDQUFNO0FBQ1o7QUFDQSw0QkFBNEIsMEVBQWtCO0FBQzlDLDRDQUE0Qyw2Q0FBTTtBQUNsRDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBOztBQUVnQztBQUNoQyIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL0BzZW50cnktaW50ZXJuYWwvYnJvd3Nlci11dGlscy9idWlsZC9lc20vbWV0cmljcy93ZWItdml0YWxzL2xpYi9nZXRWaXNpYmlsaXR5V2F0Y2hlci5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXSU5ET1cgfSBmcm9tICcuLi8uLi8uLi90eXBlcy5qcyc7XG5pbXBvcnQgeyBnZXRBY3RpdmF0aW9uU3RhcnQgfSBmcm9tICcuL2dldEFjdGl2YXRpb25TdGFydC5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5cbmxldCBmaXJzdEhpZGRlblRpbWUgPSAtMTtcblxuY29uc3QgaW5pdEhpZGRlblRpbWUgPSAoKSA9PiB7XG4gIC8vIElmIHRoZSBkb2N1bWVudCBpcyBoaWRkZW4gd2hlbiB0aGlzIGNvZGUgcnVucywgYXNzdW1lIGl0IHdhcyBhbHdheXNcbiAgLy8gaGlkZGVuIGFuZCB0aGUgcGFnZSB3YXMgbG9hZGVkIGluIHRoZSBiYWNrZ3JvdW5kLCB3aXRoIHRoZSBvbmUgZXhjZXB0aW9uXG4gIC8vIHRoYXQgdmlzaWJpbGl0eSBzdGF0ZSBpcyBhbHdheXMgJ2hpZGRlbicgZHVyaW5nIHByZXJlbmRlcmluZywgc28gd2UgaGF2ZVxuICAvLyB0byBpZ25vcmUgdGhhdCBjYXNlIHVudGlsIHByZXJlbmRlcmluZyBmaW5pc2hlcyAoc2VlOiBgcHJlcmVuZGVyaW5nY2hhbmdlYFxuICAvLyBldmVudCBsb2dpYyBiZWxvdykuXG4gIHJldHVybiBXSU5ET1cuZG9jdW1lbnQ/LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ2hpZGRlbicgJiYgIVdJTkRPVy5kb2N1bWVudD8ucHJlcmVuZGVyaW5nID8gMCA6IEluZmluaXR5O1xufTtcblxuY29uc3Qgb25WaXNpYmlsaXR5VXBkYXRlID0gKGV2ZW50KSA9PiB7XG4gIC8vIElmIHRoZSBkb2N1bWVudCBpcyAnaGlkZGVuJyBhbmQgbm8gcHJldmlvdXMgaGlkZGVuIHRpbWVzdGFtcCBoYXMgYmVlblxuICAvLyBzZXQsIHVwZGF0ZSBpdCBiYXNlZCBvbiB0aGUgY3VycmVudCBldmVudCBkYXRhLlxuICBpZiAoV0lORE9XLmRvY3VtZW50LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ2hpZGRlbicgJiYgZmlyc3RIaWRkZW5UaW1lID4gLTEpIHtcbiAgICAvLyBJZiB0aGUgZXZlbnQgaXMgYSAndmlzaWJpbGl0eWNoYW5nZScgZXZlbnQsIGl0IG1lYW5zIHRoZSBwYWdlIHdhc1xuICAgIC8vIHZpc2libGUgcHJpb3IgdG8gdGhpcyBjaGFuZ2UsIHNvIHRoZSBldmVudCB0aW1lc3RhbXAgaXMgdGhlIGZpcnN0XG4gICAgLy8gaGlkZGVuIHRpbWUuXG4gICAgLy8gSG93ZXZlciwgaWYgdGhlIGV2ZW50IGlzIG5vdCBhICd2aXNpYmlsaXR5Y2hhbmdlJyBldmVudCwgdGhlbiBpdCBtdXN0XG4gICAgLy8gYmUgYSAncHJlcmVuZGVyaW5nY2hhbmdlJyBldmVudCwgYW5kIHRoZSBmYWN0IHRoYXQgdGhlIGRvY3VtZW50IGlzXG4gICAgLy8gc3RpbGwgJ2hpZGRlbicgZnJvbSB0aGUgYWJvdmUgY2hlY2sgbWVhbnMgdGhlIHRhYiB3YXMgYWN0aXZhdGVkXG4gICAgLy8gaW4gYSBiYWNrZ3JvdW5kIHN0YXRlIGFuZCBzbyBoYXMgYWx3YXlzIGJlZW4gaGlkZGVuLlxuICAgIGZpcnN0SGlkZGVuVGltZSA9IGV2ZW50LnR5cGUgPT09ICd2aXNpYmlsaXR5Y2hhbmdlJyA/IGV2ZW50LnRpbWVTdGFtcCA6IDA7XG5cbiAgICAvLyBSZW1vdmUgYWxsIGxpc3RlbmVycyBub3cgdGhhdCBhIGBmaXJzdEhpZGRlblRpbWVgIHZhbHVlIGhhcyBiZWVuIHNldC5cbiAgICByZW1vdmVDaGFuZ2VMaXN0ZW5lcnMoKTtcbiAgfVxufTtcblxuY29uc3QgYWRkQ2hhbmdlTGlzdGVuZXJzID0gKCkgPT4ge1xuICBhZGRFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgb25WaXNpYmlsaXR5VXBkYXRlLCB0cnVlKTtcbiAgLy8gSU1QT1JUQU5UOiB3aGVuIGEgcGFnZSBpcyBwcmVyZW5kZXJpbmcsIGl0cyBgdmlzaWJpbGl0eVN0YXRlYCBpc1xuICAvLyAnaGlkZGVuJywgc28gaW4gb3JkZXIgdG8gYWNjb3VudCBmb3IgY2FzZXMgd2hlcmUgdGhpcyBtb2R1bGUgY2hlY2tzIGZvclxuICAvLyB2aXNpYmlsaXR5IGR1cmluZyBwcmVyZW5kZXJpbmcsIGFuIGFkZGl0aW9uYWwgY2hlY2sgYWZ0ZXIgcHJlcmVuZGVyaW5nXG4gIC8vIGNvbXBsZXRlcyBpcyBhbHNvIHJlcXVpcmVkLlxuICBhZGRFdmVudExpc3RlbmVyKCdwcmVyZW5kZXJpbmdjaGFuZ2UnLCBvblZpc2liaWxpdHlVcGRhdGUsIHRydWUpO1xufTtcblxuY29uc3QgcmVtb3ZlQ2hhbmdlTGlzdGVuZXJzID0gKCkgPT4ge1xuICByZW1vdmVFdmVudExpc3RlbmVyKCd2aXNpYmlsaXR5Y2hhbmdlJywgb25WaXNpYmlsaXR5VXBkYXRlLCB0cnVlKTtcbiAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigncHJlcmVuZGVyaW5nY2hhbmdlJywgb25WaXNpYmlsaXR5VXBkYXRlLCB0cnVlKTtcbn07XG5cbmNvbnN0IGdldFZpc2liaWxpdHlXYXRjaGVyID0gKCkgPT4ge1xuICBpZiAoV0lORE9XLmRvY3VtZW50ICYmIGZpcnN0SGlkZGVuVGltZSA8IDApIHtcbiAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGEgcHJldmlvdXMgaGlkZGVuIGB2aXNpYmlsaXR5LXN0YXRlYCBwZXJmb3JtYW5jZSBlbnRyeS5cbiAgICBjb25zdCBhY3RpdmF0aW9uU3RhcnQgPSBnZXRBY3RpdmF0aW9uU3RhcnQoKTtcbiAgICBjb25zdCBmaXJzdFZpc2liaWxpdHlTdGF0ZUhpZGRlblRpbWUgPSAhV0lORE9XLmRvY3VtZW50LnByZXJlbmRlcmluZ1xuICAgICAgPyBnbG9iYWxUaGlzLnBlcmZvcm1hbmNlXG4gICAgICAgICAgLmdldEVudHJpZXNCeVR5cGUoJ3Zpc2liaWxpdHktc3RhdGUnKVxuICAgICAgICAgIC5maWx0ZXIoZSA9PiBlLm5hbWUgPT09ICdoaWRkZW4nICYmIGUuc3RhcnRUaW1lID4gYWN0aXZhdGlvblN0YXJ0KVswXT8uc3RhcnRUaW1lXG4gICAgICA6IHVuZGVmaW5lZDtcblxuICAgIC8vIFByZWZlciB0aGF0LCBidXQgaWYgaXQncyBub3QgYXZhaWxhYmxlIGFuZCB0aGUgZG9jdW1lbnQgaXMgaGlkZGVuIHdoZW5cbiAgICAvLyB0aGlzIGNvZGUgcnVucywgYXNzdW1lIGl0IHdhcyBoaWRkZW4gc2luY2UgbmF2aWdhdGlvbiBzdGFydC4gVGhpcyBpc24ndFxuICAgIC8vIGEgcGVyZmVjdCBoZXVyaXN0aWMsIGJ1dCBpdCdzIHRoZSBiZXN0IHdlIGNhbiBkbyB1bnRpbCB0aGVcbiAgICAvLyBgdmlzaWJpbGl0eS1zdGF0ZWAgcGVyZm9ybWFuY2UgZW50cnkgYmVjb21lcyBhdmFpbGFibGUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIGZpcnN0SGlkZGVuVGltZSA9IGZpcnN0VmlzaWJpbGl0eVN0YXRlSGlkZGVuVGltZSA/PyBpbml0SGlkZGVuVGltZSgpO1xuICAgIC8vIFdlJ3JlIHN0aWxsIGdvaW5nIHRvIGxpc3RlbiB0byBmb3IgY2hhbmdlcyBzbyB3ZSBjYW4gaGFuZGxlIHRoaW5ncyBsaWtlXG4gICAgLy8gYmZjYWNoZSByZXN0b3JlcyBhbmQvb3IgcHJlcmVuZGVyIHdpdGhvdXQgaGF2aW5nIHRvIGV4YW1pbmUgaW5kaXZpZHVhbFxuICAgIC8vIHRpbWVzdGFtcHMgaW4gZGV0YWlsLlxuICAgIGFkZENoYW5nZUxpc3RlbmVycygpO1xuICB9XG4gIHJldHVybiB7XG4gICAgZ2V0IGZpcnN0SGlkZGVuVGltZSgpIHtcbiAgICAgIHJldHVybiBmaXJzdEhpZGRlblRpbWU7XG4gICAgfSxcbiAgfTtcbn07XG5cbmV4cG9ydCB7IGdldFZpc2liaWxpdHlXYXRjaGVyIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXRWaXNpYmlsaXR5V2F0Y2hlci5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js": /*!****************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js ***! \****************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initMetric: () => (/* binding */ initMetric)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _generateUniqueID_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./generateUniqueID.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/generateUniqueID.js\");\n/* harmony import */ var _getActivationStart_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./getActivationStart.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\");\n/* harmony import */ var _getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./getNavigationEntry.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js\");\n\n\n\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst initMetric = (name, value = -1) => {\n const navEntry = (0,_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_0__.getNavigationEntry)();\n let navigationType = 'navigate';\n\n if (navEntry) {\n if (_types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.document?.prerendering || (0,_getActivationStart_js__WEBPACK_IMPORTED_MODULE_2__.getActivationStart)() > 0) {\n navigationType = 'prerender';\n } else if (_types_js__WEBPACK_IMPORTED_MODULE_1__.WINDOW.document?.wasDiscarded) {\n navigationType = 'restore';\n } else if (navEntry.type) {\n navigationType = navEntry.type.replace(/_/g, '-') ;\n }\n }\n\n // Use `entries` type specific for the metric.\n const entries = [];\n\n return {\n name,\n value,\n rating: 'good' , // If needed, will be updated when reported. `const` to keep the type from widening to `string`.\n delta: 0,\n entries,\n id: (0,_generateUniqueID_js__WEBPACK_IMPORTED_MODULE_3__.generateUniqueID)(),\n navigationType,\n };\n};\n\n\n//# sourceMappingURL=initMetric.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvaW5pdE1ldHJpYy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUEyQztBQUNjO0FBQ0k7QUFDQTs7QUFFN0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLG1CQUFtQiwwRUFBa0I7QUFDckM7O0FBRUE7QUFDQSxRQUFRLDZDQUFNLDJCQUEyQiwwRUFBa0I7QUFDM0Q7QUFDQSxNQUFNLFNBQVMsNkNBQU07QUFDckI7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsUUFBUSxzRUFBZ0I7QUFDeEI7QUFDQTtBQUNBOztBQUVzQjtBQUN0QiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL0BzZW50cnktaW50ZXJuYWwvYnJvd3Nlci11dGlscy9idWlsZC9lc20vbWV0cmljcy93ZWItdml0YWxzL2xpYi9pbml0TWV0cmljLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFdJTkRPVyB9IGZyb20gJy4uLy4uLy4uL3R5cGVzLmpzJztcbmltcG9ydCB7IGdlbmVyYXRlVW5pcXVlSUQgfSBmcm9tICcuL2dlbmVyYXRlVW5pcXVlSUQuanMnO1xuaW1wb3J0IHsgZ2V0QWN0aXZhdGlvblN0YXJ0IH0gZnJvbSAnLi9nZXRBY3RpdmF0aW9uU3RhcnQuanMnO1xuaW1wb3J0IHsgZ2V0TmF2aWdhdGlvbkVudHJ5IH0gZnJvbSAnLi9nZXROYXZpZ2F0aW9uRW50cnkuanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG5jb25zdCBpbml0TWV0cmljID0gKG5hbWUsIHZhbHVlID0gLTEpID0+IHtcbiAgY29uc3QgbmF2RW50cnkgPSBnZXROYXZpZ2F0aW9uRW50cnkoKTtcbiAgbGV0IG5hdmlnYXRpb25UeXBlID0gJ25hdmlnYXRlJztcblxuICBpZiAobmF2RW50cnkpIHtcbiAgICBpZiAoV0lORE9XLmRvY3VtZW50Py5wcmVyZW5kZXJpbmcgfHwgZ2V0QWN0aXZhdGlvblN0YXJ0KCkgPiAwKSB7XG4gICAgICBuYXZpZ2F0aW9uVHlwZSA9ICdwcmVyZW5kZXInO1xuICAgIH0gZWxzZSBpZiAoV0lORE9XLmRvY3VtZW50Py53YXNEaXNjYXJkZWQpIHtcbiAgICAgIG5hdmlnYXRpb25UeXBlID0gJ3Jlc3RvcmUnO1xuICAgIH0gZWxzZSBpZiAobmF2RW50cnkudHlwZSkge1xuICAgICAgbmF2aWdhdGlvblR5cGUgPSBuYXZFbnRyeS50eXBlLnJlcGxhY2UoL18vZywgJy0nKSA7XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIGBlbnRyaWVzYCB0eXBlIHNwZWNpZmljIGZvciB0aGUgbWV0cmljLlxuICBjb25zdCBlbnRyaWVzID0gW107XG5cbiAgcmV0dXJuIHtcbiAgICBuYW1lLFxuICAgIHZhbHVlLFxuICAgIHJhdGluZzogJ2dvb2QnICwgLy8gSWYgbmVlZGVkLCB3aWxsIGJlIHVwZGF0ZWQgd2hlbiByZXBvcnRlZC4gYGNvbnN0YCB0byBrZWVwIHRoZSB0eXBlIGZyb20gd2lkZW5pbmcgdG8gYHN0cmluZ2AuXG4gICAgZGVsdGE6IDAsXG4gICAgZW50cmllcyxcbiAgICBpZDogZ2VuZXJhdGVVbmlxdWVJRCgpLFxuICAgIG5hdmlnYXRpb25UeXBlLFxuICB9O1xufTtcblxuZXhwb3J0IHsgaW5pdE1ldHJpYyB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5pdE1ldHJpYy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js": /*!****************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js ***! \****************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ initUnique: () => (/* binding */ initUnique)\n/* harmony export */ });\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst instanceMap = new WeakMap();\n\n/**\n * A function that accepts and identity object and a class object and returns\n * either a new instance of that class or an existing instance, if the\n * identity object was previously used.\n */\nfunction initUnique(identityObj, ClassObj) {\n if (!instanceMap.get(identityObj)) {\n instanceMap.set(identityObj, new ClassObj());\n }\n return instanceMap.get(identityObj) ;\n}\n\n\n//# sourceMappingURL=initUnique.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvaW5pdFVuaXF1ZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRXNCO0FBQ3RCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL2luaXRVbmlxdWUuanMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDI0IEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmNvbnN0IGluc3RhbmNlTWFwID0gbmV3IFdlYWtNYXAoKTtcblxuLyoqXG4gKiBBIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBhbmQgaWRlbnRpdHkgb2JqZWN0IGFuZCBhIGNsYXNzIG9iamVjdCBhbmQgcmV0dXJuc1xuICogZWl0aGVyIGEgbmV3IGluc3RhbmNlIG9mIHRoYXQgY2xhc3Mgb3IgYW4gZXhpc3RpbmcgaW5zdGFuY2UsIGlmIHRoZVxuICogaWRlbnRpdHkgb2JqZWN0IHdhcyBwcmV2aW91c2x5IHVzZWQuXG4gKi9cbmZ1bmN0aW9uIGluaXRVbmlxdWUoaWRlbnRpdHlPYmosIENsYXNzT2JqKSB7XG4gIGlmICghaW5zdGFuY2VNYXAuZ2V0KGlkZW50aXR5T2JqKSkge1xuICAgIGluc3RhbmNlTWFwLnNldChpZGVudGl0eU9iaiwgbmV3IENsYXNzT2JqKCkpO1xuICB9XG4gIHJldHVybiBpbnN0YW5jZU1hcC5nZXQoaWRlbnRpdHlPYmopIDtcbn1cblxuZXhwb3J0IHsgaW5pdFVuaXF1ZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5pdFVuaXF1ZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initUnique.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js": /*!*************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ observe: () => (/* binding */ observe)\n/* harmony export */ });\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n/**\n * Takes a performance entry type and a callback function, and creates a\n * `PerformanceObserver` instance that will observe the specified entry type\n * with buffering enabled and call the callback _for each entry_.\n *\n * This function also feature-detects entry support and wraps the logic in a\n * try/catch to avoid errors in unsupporting browsers.\n */\nconst observe = (\n type,\n callback,\n opts = {},\n) => {\n try {\n if (PerformanceObserver.supportedEntryTypes.includes(type)) {\n const po = new PerformanceObserver(list => {\n // Delay by a microtask to workaround a bug in Safari where the\n // callback is invoked immediately, rather than in a separate task.\n // See: https://github.com/GoogleChrome/web-vitals/issues/277\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n Promise.resolve().then(() => {\n callback(list.getEntries() );\n });\n });\n po.observe({ type, buffered: true, ...opts });\n return po;\n }\n } catch {\n // Do nothing.\n }\n return;\n};\n\n\n//# sourceMappingURL=observe.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvb2JzZXJ2ZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUFXO0FBQ1g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQLG1CQUFtQiwrQkFBK0I7QUFDbEQ7QUFDQTtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7QUFFbUI7QUFDbkIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvb2JzZXJ2ZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuLyoqXG4gKiBUYWtlcyBhIHBlcmZvcm1hbmNlIGVudHJ5IHR5cGUgYW5kIGEgY2FsbGJhY2sgZnVuY3Rpb24sIGFuZCBjcmVhdGVzIGFcbiAqIGBQZXJmb3JtYW5jZU9ic2VydmVyYCBpbnN0YW5jZSB0aGF0IHdpbGwgb2JzZXJ2ZSB0aGUgc3BlY2lmaWVkIGVudHJ5IHR5cGVcbiAqIHdpdGggYnVmZmVyaW5nIGVuYWJsZWQgYW5kIGNhbGwgdGhlIGNhbGxiYWNrIF9mb3IgZWFjaCBlbnRyeV8uXG4gKlxuICogVGhpcyBmdW5jdGlvbiBhbHNvIGZlYXR1cmUtZGV0ZWN0cyBlbnRyeSBzdXBwb3J0IGFuZCB3cmFwcyB0aGUgbG9naWMgaW4gYVxuICogdHJ5L2NhdGNoIHRvIGF2b2lkIGVycm9ycyBpbiB1bnN1cHBvcnRpbmcgYnJvd3NlcnMuXG4gKi9cbmNvbnN0IG9ic2VydmUgPSAoXG4gIHR5cGUsXG4gIGNhbGxiYWNrLFxuICBvcHRzID0ge30sXG4pID0+IHtcbiAgdHJ5IHtcbiAgICBpZiAoUGVyZm9ybWFuY2VPYnNlcnZlci5zdXBwb3J0ZWRFbnRyeVR5cGVzLmluY2x1ZGVzKHR5cGUpKSB7XG4gICAgICBjb25zdCBwbyA9IG5ldyBQZXJmb3JtYW5jZU9ic2VydmVyKGxpc3QgPT4ge1xuICAgICAgICAvLyBEZWxheSBieSBhIG1pY3JvdGFzayB0byB3b3JrYXJvdW5kIGEgYnVnIGluIFNhZmFyaSB3aGVyZSB0aGVcbiAgICAgICAgLy8gY2FsbGJhY2sgaXMgaW52b2tlZCBpbW1lZGlhdGVseSwgcmF0aGVyIHRoYW4gaW4gYSBzZXBhcmF0ZSB0YXNrLlxuICAgICAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWUvd2ViLXZpdGFscy9pc3N1ZXMvMjc3XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZmxvYXRpbmctcHJvbWlzZXNcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgY2FsbGJhY2sobGlzdC5nZXRFbnRyaWVzKCkgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICAgIHBvLm9ic2VydmUoeyB0eXBlLCBidWZmZXJlZDogdHJ1ZSwgLi4ub3B0cyB9KTtcbiAgICAgIHJldHVybiBwbztcbiAgICB9XG4gIH0gY2F0Y2gge1xuICAgIC8vIERvIG5vdGhpbmcuXG4gIH1cbiAgcmV0dXJuO1xufTtcblxuZXhwb3J0IHsgb2JzZXJ2ZSB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b2JzZXJ2ZS5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js": /*!**************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js ***! \**************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ onHidden: () => (/* binding */ onHidden)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n// Sentry-specific change:\n// This function's logic was NOT updated to web-vitals 4.2.4 or 5.x but we continue\n// to use the web-vitals 3.5.2 versiondue to us having stricter browser support.\n// PR with context that made the changes: https://github.com/GoogleChrome/web-vitals/pull/442/files#r1530492402\n// The PR removed listening to the `pagehide` event, in favour of only listening to `visibilitychange` event.\n// This is \"more correct\" but some browsers we still support (Safari <14.4) don't fully support `visibilitychange`\n// or have known bugs w.r.t the `visibilitychange` event.\n// TODO (v11): If we decide to drop support for Safari 14.4, we can use the logic from web-vitals 4.2.4\n// In this case, we also need to update the integration tests that currently trigger the `pagehide` event to\n// simulate the page being hidden.\nconst onHidden = (cb) => {\n const onHiddenOrPageHide = (event) => {\n if (event.type === 'pagehide' || _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.visibilityState === 'hidden') {\n cb(event);\n }\n };\n\n if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document) {\n addEventListener('visibilitychange', onHiddenOrPageHide, true);\n // Some browsers have buggy implementations of visibilitychange,\n // so we use pagehide in addition, just to be safe.\n addEventListener('pagehide', onHiddenOrPageHide, true);\n }\n};\n\n\n//# sourceMappingURL=onHidden.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvb25IaWRkZW4uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBMkM7O0FBRTNDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLDZDQUFNO0FBQzNDO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLDZDQUFNO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVvQjtBQUNwQiIsInNvdXJjZXMiOlsiL2hvbWUvTmljaG9sYWkvRG9jdW1lbnRzL0Rldi9iaW9oYXphcmQtdmZ4LTIvbm9kZV9tb2R1bGVzL0BzZW50cnktaW50ZXJuYWwvYnJvd3Nlci11dGlscy9idWlsZC9lc20vbWV0cmljcy93ZWItdml0YWxzL2xpYi9vbkhpZGRlbi5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXSU5ET1cgfSBmcm9tICcuLi8uLi8uLi90eXBlcy5qcyc7XG5cbi8qXG4gKiBDb3B5cmlnaHQgMjAyMCBHb29nbGUgTExDXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5cbi8vIFNlbnRyeS1zcGVjaWZpYyBjaGFuZ2U6XG4vLyBUaGlzIGZ1bmN0aW9uJ3MgbG9naWMgd2FzIE5PVCB1cGRhdGVkIHRvIHdlYi12aXRhbHMgNC4yLjQgb3IgNS54IGJ1dCB3ZSBjb250aW51ZVxuLy8gdG8gdXNlIHRoZSB3ZWItdml0YWxzIDMuNS4yIHZlcnNpb25kdWUgdG8gdXMgaGF2aW5nIHN0cmljdGVyIGJyb3dzZXIgc3VwcG9ydC5cbi8vIFBSIHdpdGggY29udGV4dCB0aGF0IG1hZGUgdGhlIGNoYW5nZXM6IGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWUvd2ViLXZpdGFscy9wdWxsLzQ0Mi9maWxlcyNyMTUzMDQ5MjQwMlxuLy8gVGhlIFBSIHJlbW92ZWQgbGlzdGVuaW5nIHRvIHRoZSBgcGFnZWhpZGVgIGV2ZW50LCBpbiBmYXZvdXIgb2Ygb25seSBsaXN0ZW5pbmcgdG8gYHZpc2liaWxpdHljaGFuZ2VgIGV2ZW50LlxuLy8gVGhpcyBpcyBcIm1vcmUgY29ycmVjdFwiIGJ1dCBzb21lIGJyb3dzZXJzIHdlIHN0aWxsIHN1cHBvcnQgKFNhZmFyaSA8MTQuNCkgZG9uJ3QgZnVsbHkgc3VwcG9ydCBgdmlzaWJpbGl0eWNoYW5nZWBcbi8vIG9yIGhhdmUga25vd24gYnVncyB3LnIudCB0aGUgYHZpc2liaWxpdHljaGFuZ2VgIGV2ZW50LlxuLy8gVE9ETyAodjExKTogSWYgd2UgZGVjaWRlIHRvIGRyb3Agc3VwcG9ydCBmb3IgU2FmYXJpIDE0LjQsIHdlIGNhbiB1c2UgdGhlIGxvZ2ljIGZyb20gd2ViLXZpdGFscyA0LjIuNFxuLy8gSW4gdGhpcyBjYXNlLCB3ZSBhbHNvIG5lZWQgdG8gdXBkYXRlIHRoZSBpbnRlZ3JhdGlvbiB0ZXN0cyB0aGF0IGN1cnJlbnRseSB0cmlnZ2VyIHRoZSBgcGFnZWhpZGVgIGV2ZW50IHRvXG4vLyBzaW11bGF0ZSB0aGUgcGFnZSBiZWluZyBoaWRkZW4uXG5jb25zdCBvbkhpZGRlbiA9IChjYikgPT4ge1xuICBjb25zdCBvbkhpZGRlbk9yUGFnZUhpZGUgPSAoZXZlbnQpID0+IHtcbiAgICBpZiAoZXZlbnQudHlwZSA9PT0gJ3BhZ2VoaWRlJyB8fCBXSU5ET1cuZG9jdW1lbnQ/LnZpc2liaWxpdHlTdGF0ZSA9PT0gJ2hpZGRlbicpIHtcbiAgICAgIGNiKGV2ZW50KTtcbiAgICB9XG4gIH07XG5cbiAgaWYgKFdJTkRPVy5kb2N1bWVudCkge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ3Zpc2liaWxpdHljaGFuZ2UnLCBvbkhpZGRlbk9yUGFnZUhpZGUsIHRydWUpO1xuICAgIC8vIFNvbWUgYnJvd3NlcnMgaGF2ZSBidWdneSBpbXBsZW1lbnRhdGlvbnMgb2YgdmlzaWJpbGl0eWNoYW5nZSxcbiAgICAvLyBzbyB3ZSB1c2UgcGFnZWhpZGUgaW4gYWRkaXRpb24sIGp1c3QgdG8gYmUgc2FmZS5cbiAgICBhZGRFdmVudExpc3RlbmVyKCdwYWdlaGlkZScsIG9uSGlkZGVuT3JQYWdlSGlkZSwgdHJ1ZSk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IG9uSGlkZGVuIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1vbkhpZGRlbi5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js": /*!****************************************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js ***! \****************************************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getInteractionCount: () => (/* binding */ getInteractionCount),\n/* harmony export */ initInteractionCountPolyfill: () => (/* binding */ initInteractionCountPolyfill)\n/* harmony export */ });\n/* harmony import */ var _observe_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../observe.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\");\n\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nlet interactionCountEstimate = 0;\nlet minKnownInteractionId = Infinity;\nlet maxKnownInteractionId = 0;\n\nconst updateEstimate = (entries) => {\n entries.forEach(e => {\n if (e.interactionId) {\n minKnownInteractionId = Math.min(minKnownInteractionId, e.interactionId);\n maxKnownInteractionId = Math.max(maxKnownInteractionId, e.interactionId);\n\n interactionCountEstimate = maxKnownInteractionId ? (maxKnownInteractionId - minKnownInteractionId) / 7 + 1 : 0;\n }\n });\n};\n\nlet po;\n\n/**\n * Returns the `interactionCount` value using the native API (if available)\n * or the polyfill estimate in this module.\n */\nconst getInteractionCount = () => {\n return po ? interactionCountEstimate : performance.interactionCount || 0;\n};\n\n/**\n * Feature detects native support or initializes the polyfill if needed.\n */\nconst initInteractionCountPolyfill = () => {\n if ('interactionCount' in performance || po) return;\n\n po = (0,_observe_js__WEBPACK_IMPORTED_MODULE_0__.observe)('event', updateEstimate, {\n type: 'event',\n buffered: true,\n durationThreshold: 0,\n } );\n};\n\n\n//# sourceMappingURL=interactionCountPolyfill.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvcG9seWZpbGxzL2ludGVyYWN0aW9uQ291bnRQb2x5ZmlsbC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7QUFBd0M7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE9BQU8sb0RBQU87QUFDZDtBQUNBO0FBQ0E7QUFDQSxJQUFJO0FBQ0o7O0FBRTZEO0FBQzdEIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL3BvbHlmaWxscy9pbnRlcmFjdGlvbkNvdW50UG9seWZpbGwuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgb2JzZXJ2ZSB9IGZyb20gJy4uL29ic2VydmUuanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG5sZXQgaW50ZXJhY3Rpb25Db3VudEVzdGltYXRlID0gMDtcbmxldCBtaW5Lbm93bkludGVyYWN0aW9uSWQgPSBJbmZpbml0eTtcbmxldCBtYXhLbm93bkludGVyYWN0aW9uSWQgPSAwO1xuXG5jb25zdCB1cGRhdGVFc3RpbWF0ZSA9IChlbnRyaWVzKSA9PiB7XG4gIGVudHJpZXMuZm9yRWFjaChlID0+IHtcbiAgICBpZiAoZS5pbnRlcmFjdGlvbklkKSB7XG4gICAgICBtaW5Lbm93bkludGVyYWN0aW9uSWQgPSBNYXRoLm1pbihtaW5Lbm93bkludGVyYWN0aW9uSWQsIGUuaW50ZXJhY3Rpb25JZCk7XG4gICAgICBtYXhLbm93bkludGVyYWN0aW9uSWQgPSBNYXRoLm1heChtYXhLbm93bkludGVyYWN0aW9uSWQsIGUuaW50ZXJhY3Rpb25JZCk7XG5cbiAgICAgIGludGVyYWN0aW9uQ291bnRFc3RpbWF0ZSA9IG1heEtub3duSW50ZXJhY3Rpb25JZCA/IChtYXhLbm93bkludGVyYWN0aW9uSWQgLSBtaW5Lbm93bkludGVyYWN0aW9uSWQpIC8gNyArIDEgOiAwO1xuICAgIH1cbiAgfSk7XG59O1xuXG5sZXQgcG87XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYGludGVyYWN0aW9uQ291bnRgIHZhbHVlIHVzaW5nIHRoZSBuYXRpdmUgQVBJIChpZiBhdmFpbGFibGUpXG4gKiBvciB0aGUgcG9seWZpbGwgZXN0aW1hdGUgaW4gdGhpcyBtb2R1bGUuXG4gKi9cbmNvbnN0IGdldEludGVyYWN0aW9uQ291bnQgPSAoKSA9PiB7XG4gIHJldHVybiBwbyA/IGludGVyYWN0aW9uQ291bnRFc3RpbWF0ZSA6IHBlcmZvcm1hbmNlLmludGVyYWN0aW9uQ291bnQgfHwgMDtcbn07XG5cbi8qKlxuICogRmVhdHVyZSBkZXRlY3RzIG5hdGl2ZSBzdXBwb3J0IG9yIGluaXRpYWxpemVzIHRoZSBwb2x5ZmlsbCBpZiBuZWVkZWQuXG4gKi9cbmNvbnN0IGluaXRJbnRlcmFjdGlvbkNvdW50UG9seWZpbGwgPSAoKSA9PiB7XG4gIGlmICgnaW50ZXJhY3Rpb25Db3VudCcgaW4gcGVyZm9ybWFuY2UgfHwgcG8pIHJldHVybjtcblxuICBwbyA9IG9ic2VydmUoJ2V2ZW50JywgdXBkYXRlRXN0aW1hdGUsIHtcbiAgICB0eXBlOiAnZXZlbnQnLFxuICAgIGJ1ZmZlcmVkOiB0cnVlLFxuICAgIGR1cmF0aW9uVGhyZXNob2xkOiAwLFxuICB9ICk7XG59O1xuXG5leHBvcnQgeyBnZXRJbnRlcmFjdGlvbkNvdW50LCBpbml0SW50ZXJhY3Rpb25Db3VudFBvbHlmaWxsIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmFjdGlvbkNvdW50UG9seWZpbGwuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/polyfills/interactionCountPolyfill.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js": /*!*************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js ***! \*************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ runOnce: () => (/* binding */ runOnce)\n/* harmony export */ });\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nconst runOnce = (cb) => {\n let called = false;\n return () => {\n if (!called) {\n cb();\n called = true;\n }\n };\n};\n\n\n//# sourceMappingURL=runOnce.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvcnVuT25jZS5qcyIsIm1hcHBpbmdzIjoiOzs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFbUI7QUFDbkIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvcnVuT25jZS5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuY29uc3QgcnVuT25jZSA9IChjYikgPT4ge1xuICBsZXQgY2FsbGVkID0gZmFsc2U7XG4gIHJldHVybiAoKSA9PiB7XG4gICAgaWYgKCFjYWxsZWQpIHtcbiAgICAgIGNiKCk7XG4gICAgICBjYWxsZWQgPSB0cnVlO1xuICAgIH1cbiAgfTtcbn07XG5cbmV4cG9ydCB7IHJ1bk9uY2UgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJ1bk9uY2UuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js ***! \*******************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ whenActivated: () => (/* binding */ whenActivated)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n\n\n/*\n * Copyright 2022 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\nconst whenActivated = (callback) => {\n if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.prerendering) {\n addEventListener('prerenderingchange', () => callback(), true);\n } else {\n callback();\n }\n};\n\n\n//# sourceMappingURL=whenActivated.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvd2hlbkFjdGl2YXRlZC5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUEyQzs7QUFFM0M7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBLE1BQU0sNkNBQU07QUFDWjtBQUNBLElBQUk7QUFDSjtBQUNBO0FBQ0E7O0FBRXlCO0FBQ3pCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL3doZW5BY3RpdmF0ZWQuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMuanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjIgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG5jb25zdCB3aGVuQWN0aXZhdGVkID0gKGNhbGxiYWNrKSA9PiB7XG4gIGlmIChXSU5ET1cuZG9jdW1lbnQ/LnByZXJlbmRlcmluZykge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ3ByZXJlbmRlcmluZ2NoYW5nZScsICgpID0+IGNhbGxiYWNrKCksIHRydWUpO1xuICB9IGVsc2Uge1xuICAgIGNhbGxiYWNrKCk7XG4gIH1cbn07XG5cbmV4cG9ydCB7IHdoZW5BY3RpdmF0ZWQgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXdoZW5BY3RpdmF0ZWQuanMubWFwXG4iXSwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbMF0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js ***! \**********************************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ whenIdleOrHidden: () => (/* binding */ whenIdleOrHidden)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _onHidden_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./onHidden.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/onHidden.js\");\n/* harmony import */ var _runOnce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./runOnce.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/runOnce.js\");\n\n\n\n\n/*\n * Copyright 2024 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * Runs the passed callback during the next idle period, or immediately\n * if the browser's visibility state is (or becomes) hidden.\n */\nconst whenIdleOrHidden = (cb) => {\n const rIC = _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.requestIdleCallback || _types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.setTimeout;\n\n // If the document is hidden, run the callback immediately, otherwise\n // race an idle callback with the next `visibilitychange` event.\n if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.visibilityState === 'hidden') {\n cb();\n } else {\n // eslint-disable-next-line no-param-reassign\n cb = (0,_runOnce_js__WEBPACK_IMPORTED_MODULE_1__.runOnce)(cb);\n rIC(cb);\n // sentry: we use onHidden instead of directly listening to visibilitychange\n // because some browsers we still support (Safari <14.4) don't fully support\n // `visibilitychange` or have known bugs w.r.t the `visibilitychange` event.\n (0,_onHidden_js__WEBPACK_IMPORTED_MODULE_2__.onHidden)(cb);\n }\n};\n\n\n//# sourceMappingURL=whenIdleOrHidden.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9saWIvd2hlbklkbGVPckhpZGRlbi5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQTJDO0FBQ0Y7QUFDRjs7QUFFdkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsY0FBYyw2Q0FBTSx3QkFBd0IsNkNBQU07O0FBRWxEO0FBQ0E7QUFDQSxNQUFNLDZDQUFNO0FBQ1o7QUFDQSxJQUFJO0FBQ0o7QUFDQSxTQUFTLG9EQUFPO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsSUFBSSxzREFBUTtBQUNaO0FBQ0E7O0FBRTRCO0FBQzVCIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvbGliL3doZW5JZGxlT3JIaWRkZW4uanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMuanMnO1xuaW1wb3J0IHsgb25IaWRkZW4gfSBmcm9tICcuL29uSGlkZGVuLmpzJztcbmltcG9ydCB7IHJ1bk9uY2UgfSBmcm9tICcuL3J1bk9uY2UuanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjQgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG4vKipcbiAqIFJ1bnMgdGhlIHBhc3NlZCBjYWxsYmFjayBkdXJpbmcgdGhlIG5leHQgaWRsZSBwZXJpb2QsIG9yIGltbWVkaWF0ZWx5XG4gKiBpZiB0aGUgYnJvd3NlcidzIHZpc2liaWxpdHkgc3RhdGUgaXMgKG9yIGJlY29tZXMpIGhpZGRlbi5cbiAqL1xuY29uc3Qgd2hlbklkbGVPckhpZGRlbiA9IChjYikgPT4ge1xuICBjb25zdCBySUMgPSBXSU5ET1cucmVxdWVzdElkbGVDYWxsYmFjayB8fCBXSU5ET1cuc2V0VGltZW91dDtcblxuICAvLyBJZiB0aGUgZG9jdW1lbnQgaXMgaGlkZGVuLCBydW4gdGhlIGNhbGxiYWNrIGltbWVkaWF0ZWx5LCBvdGhlcndpc2VcbiAgLy8gcmFjZSBhbiBpZGxlIGNhbGxiYWNrIHdpdGggdGhlIG5leHQgYHZpc2liaWxpdHljaGFuZ2VgIGV2ZW50LlxuICBpZiAoV0lORE9XLmRvY3VtZW50Py52aXNpYmlsaXR5U3RhdGUgPT09ICdoaWRkZW4nKSB7XG4gICAgY2IoKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICBjYiA9IHJ1bk9uY2UoY2IpO1xuICAgIHJJQyhjYik7XG4gICAgLy8gc2VudHJ5OiB3ZSB1c2Ugb25IaWRkZW4gaW5zdGVhZCBvZiBkaXJlY3RseSBsaXN0ZW5pbmcgdG8gdmlzaWJpbGl0eWNoYW5nZVxuICAgIC8vIGJlY2F1c2Ugc29tZSBicm93c2VycyB3ZSBzdGlsbCBzdXBwb3J0IChTYWZhcmkgPDE0LjQpIGRvbid0IGZ1bGx5IHN1cHBvcnRcbiAgICAvLyBgdmlzaWJpbGl0eWNoYW5nZWAgb3IgaGF2ZSBrbm93biBidWdzIHcuci50IHRoZSBgdmlzaWJpbGl0eWNoYW5nZWAgZXZlbnQuXG4gICAgb25IaWRkZW4oY2IpO1xuICB9XG59O1xuXG5leHBvcnQgeyB3aGVuSWRsZU9ySGlkZGVuIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD13aGVuSWRsZU9ySGlkZGVuLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenIdleOrHidden.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onFCP.js": /*!*******************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onFCP.js ***! \*******************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ FCPThresholds: () => (/* binding */ FCPThresholds),\n/* harmony export */ onFCP: () => (/* binding */ onFCP)\n/* harmony export */ });\n/* harmony import */ var _lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/bindReporter.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js\");\n/* harmony import */ var _lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/getActivationStart.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\");\n/* harmony import */ var _lib_getVisibilityWatcher_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/getVisibilityWatcher.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getVisibilityWatcher.js\");\n/* harmony import */ var _lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/initMetric.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js\");\n/* harmony import */ var _lib_observe_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/observe.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/observe.js\");\n/* harmony import */ var _lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/whenActivated.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js\");\n\n\n\n\n\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for FCP. See https://web.dev/articles/fcp#what_is_a_good_fcp_score */\nconst FCPThresholds = [1800, 3000];\n\n/**\n * Calculates the [FCP](https://web.dev/articles/fcp) value for the current page and\n * calls the `callback` function once the value is ready, along with the\n * relevant `paint` performance entry used to determine the value. The reported\n * value is a `DOMHighResTimeStamp`.\n */\nconst onFCP = (onReport, opts = {}) => {\n (0,_lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_0__.whenActivated)(() => {\n const visibilityWatcher = (0,_lib_getVisibilityWatcher_js__WEBPACK_IMPORTED_MODULE_1__.getVisibilityWatcher)();\n const metric = (0,_lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__.initMetric)('FCP');\n let report;\n\n const handleEntries = (entries) => {\n for (const entry of entries) {\n if (entry.name === 'first-contentful-paint') {\n po.disconnect();\n\n // Only report if the page wasn't hidden prior to the first paint.\n if (entry.startTime < visibilityWatcher.firstHiddenTime) {\n // The activationStart reference is used because FCP should be\n // relative to page activation rather than navigation start if the\n // page was prerendered. But in cases where `activationStart` occurs\n // after the FCP, this time should be clamped at 0.\n metric.value = Math.max(entry.startTime - (0,_lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_3__.getActivationStart)(), 0);\n metric.entries.push(entry);\n report(true);\n }\n }\n }\n };\n\n const po = (0,_lib_observe_js__WEBPACK_IMPORTED_MODULE_4__.observe)('paint', handleEntries);\n\n if (po) {\n report = (0,_lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_5__.bindReporter)(onReport, metric, FCPThresholds, opts.reportAllChanges);\n }\n });\n};\n\n\n//# sourceMappingURL=onFCP.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9vbkZDUC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFxRDtBQUNZO0FBQ0k7QUFDcEI7QUFDTjtBQUNZOztBQUV2RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esa0NBQWtDO0FBQ2xDLEVBQUUsb0VBQWE7QUFDZiw4QkFBOEIsa0ZBQW9CO0FBQ2xELG1CQUFtQiw4REFBVTtBQUM3Qjs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzREFBc0QsOEVBQWtCO0FBQ3hFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxlQUFlLHdEQUFPOztBQUV0QjtBQUNBLGVBQWUsa0VBQVk7QUFDM0I7QUFDQSxHQUFHO0FBQ0g7O0FBRWdDO0FBQ2hDIiwic291cmNlcyI6WyIvaG9tZS9OaWNob2xhaS9Eb2N1bWVudHMvRGV2L2Jpb2hhemFyZC12ZngtMi9ub2RlX21vZHVsZXMvQHNlbnRyeS1pbnRlcm5hbC9icm93c2VyLXV0aWxzL2J1aWxkL2VzbS9tZXRyaWNzL3dlYi12aXRhbHMvb25GQ1AuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYmluZFJlcG9ydGVyIH0gZnJvbSAnLi9saWIvYmluZFJlcG9ydGVyLmpzJztcbmltcG9ydCB7IGdldEFjdGl2YXRpb25TdGFydCB9IGZyb20gJy4vbGliL2dldEFjdGl2YXRpb25TdGFydC5qcyc7XG5pbXBvcnQgeyBnZXRWaXNpYmlsaXR5V2F0Y2hlciB9IGZyb20gJy4vbGliL2dldFZpc2liaWxpdHlXYXRjaGVyLmpzJztcbmltcG9ydCB7IGluaXRNZXRyaWMgfSBmcm9tICcuL2xpYi9pbml0TWV0cmljLmpzJztcbmltcG9ydCB7IG9ic2VydmUgfSBmcm9tICcuL2xpYi9vYnNlcnZlLmpzJztcbmltcG9ydCB7IHdoZW5BY3RpdmF0ZWQgfSBmcm9tICcuL2xpYi93aGVuQWN0aXZhdGVkLmpzJztcblxuLypcbiAqIENvcHlyaWdodCAyMDIwIEdvb2dsZSBMTENcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cblxuLyoqIFRocmVzaG9sZHMgZm9yIEZDUC4gU2VlIGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy9mY3Ajd2hhdF9pc19hX2dvb2RfZmNwX3Njb3JlICovXG5jb25zdCBGQ1BUaHJlc2hvbGRzID0gWzE4MDAsIDMwMDBdO1xuXG4vKipcbiAqIENhbGN1bGF0ZXMgdGhlIFtGQ1BdKGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy9mY3ApIHZhbHVlIGZvciB0aGUgY3VycmVudCBwYWdlIGFuZFxuICogY2FsbHMgdGhlIGBjYWxsYmFja2AgZnVuY3Rpb24gb25jZSB0aGUgdmFsdWUgaXMgcmVhZHksIGFsb25nIHdpdGggdGhlXG4gKiByZWxldmFudCBgcGFpbnRgIHBlcmZvcm1hbmNlIGVudHJ5IHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSB2YWx1ZS4gVGhlIHJlcG9ydGVkXG4gKiB2YWx1ZSBpcyBhIGBET01IaWdoUmVzVGltZVN0YW1wYC5cbiAqL1xuY29uc3Qgb25GQ1AgPSAob25SZXBvcnQsIG9wdHMgPSB7fSkgPT4ge1xuICB3aGVuQWN0aXZhdGVkKCgpID0+IHtcbiAgICBjb25zdCB2aXNpYmlsaXR5V2F0Y2hlciA9IGdldFZpc2liaWxpdHlXYXRjaGVyKCk7XG4gICAgY29uc3QgbWV0cmljID0gaW5pdE1ldHJpYygnRkNQJyk7XG4gICAgbGV0IHJlcG9ydDtcblxuICAgIGNvbnN0IGhhbmRsZUVudHJpZXMgPSAoZW50cmllcykgPT4ge1xuICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgIGlmIChlbnRyeS5uYW1lID09PSAnZmlyc3QtY29udGVudGZ1bC1wYWludCcpIHtcbiAgICAgICAgICBwby5kaXNjb25uZWN0KCk7XG5cbiAgICAgICAgICAvLyBPbmx5IHJlcG9ydCBpZiB0aGUgcGFnZSB3YXNuJ3QgaGlkZGVuIHByaW9yIHRvIHRoZSBmaXJzdCBwYWludC5cbiAgICAgICAgICBpZiAoZW50cnkuc3RhcnRUaW1lIDwgdmlzaWJpbGl0eVdhdGNoZXIuZmlyc3RIaWRkZW5UaW1lKSB7XG4gICAgICAgICAgICAvLyBUaGUgYWN0aXZhdGlvblN0YXJ0IHJlZmVyZW5jZSBpcyB1c2VkIGJlY2F1c2UgRkNQIHNob3VsZCBiZVxuICAgICAgICAgICAgLy8gcmVsYXRpdmUgdG8gcGFnZSBhY3RpdmF0aW9uIHJhdGhlciB0aGFuIG5hdmlnYXRpb24gc3RhcnQgaWYgdGhlXG4gICAgICAgICAgICAvLyBwYWdlIHdhcyBwcmVyZW5kZXJlZC4gQnV0IGluIGNhc2VzIHdoZXJlIGBhY3RpdmF0aW9uU3RhcnRgIG9jY3Vyc1xuICAgICAgICAgICAgLy8gYWZ0ZXIgdGhlIEZDUCwgdGhpcyB0aW1lIHNob3VsZCBiZSBjbGFtcGVkIGF0IDAuXG4gICAgICAgICAgICBtZXRyaWMudmFsdWUgPSBNYXRoLm1heChlbnRyeS5zdGFydFRpbWUgLSBnZXRBY3RpdmF0aW9uU3RhcnQoKSwgMCk7XG4gICAgICAgICAgICBtZXRyaWMuZW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICAgICAgICAgIHJlcG9ydCh0cnVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuXG4gICAgY29uc3QgcG8gPSBvYnNlcnZlKCdwYWludCcsIGhhbmRsZUVudHJpZXMpO1xuXG4gICAgaWYgKHBvKSB7XG4gICAgICByZXBvcnQgPSBiaW5kUmVwb3J0ZXIob25SZXBvcnQsIG1ldHJpYywgRkNQVGhyZXNob2xkcywgb3B0cy5yZXBvcnRBbGxDaGFuZ2VzKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IHsgRkNQVGhyZXNob2xkcywgb25GQ1AgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9uRkNQLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onFCP.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onTTFB.js": /*!********************************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onTTFB.js ***! \********************************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TTFBThresholds: () => (/* binding */ TTFBThresholds),\n/* harmony export */ onTTFB: () => (/* binding */ onTTFB)\n/* harmony export */ });\n/* harmony import */ var _types_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../types.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\");\n/* harmony import */ var _lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./lib/bindReporter.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/bindReporter.js\");\n/* harmony import */ var _lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./lib/getActivationStart.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getActivationStart.js\");\n/* harmony import */ var _lib_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./lib/getNavigationEntry.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/getNavigationEntry.js\");\n/* harmony import */ var _lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./lib/initMetric.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/initMetric.js\");\n/* harmony import */ var _lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./lib/whenActivated.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/lib/whenActivated.js\");\n\n\n\n\n\n\n\n/*\n * Copyright 2020 Google LLC\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/** Thresholds for TTFB. See https://web.dev/articles/ttfb#what_is_a_good_ttfb_score */\nconst TTFBThresholds = [800, 1800];\n\n/**\n * Runs in the next task after the page is done loading and/or prerendering.\n * @param callback\n */\nconst whenReady = (callback) => {\n if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.prerendering) {\n (0,_lib_whenActivated_js__WEBPACK_IMPORTED_MODULE_1__.whenActivated)(() => whenReady(callback));\n } else if (_types_js__WEBPACK_IMPORTED_MODULE_0__.WINDOW.document?.readyState !== 'complete') {\n addEventListener('load', () => whenReady(callback), true);\n } else {\n // Queue a task so the callback runs after `loadEventEnd`.\n setTimeout(callback);\n }\n};\n\n/**\n * Calculates the [TTFB](https://web.dev/articles/ttfb) value for the\n * current page and calls the `callback` function once the page has loaded,\n * along with the relevant `navigation` performance entry used to determine the\n * value. The reported value is a `DOMHighResTimeStamp`.\n *\n * Note, this function waits until after the page is loaded to call `callback`\n * in order to ensure all properties of the `navigation` entry are populated.\n * This is useful if you want to report on other metrics exposed by the\n * [Navigation Timing API](https://w3c.github.io/navigation-timing/). For\n * example, the TTFB metric starts from the page's [time\n * origin](https://www.w3.org/TR/hr-time-2/#sec-time-origin), which means it\n * includes time spent on DNS lookup, connection negotiation, network latency,\n * and server processing time.\n */\nconst onTTFB = (onReport, opts = {}) => {\n const metric = (0,_lib_initMetric_js__WEBPACK_IMPORTED_MODULE_2__.initMetric)('TTFB');\n const report = (0,_lib_bindReporter_js__WEBPACK_IMPORTED_MODULE_3__.bindReporter)(onReport, metric, TTFBThresholds, opts.reportAllChanges);\n\n whenReady(() => {\n const navigationEntry = (0,_lib_getNavigationEntry_js__WEBPACK_IMPORTED_MODULE_4__.getNavigationEntry)();\n\n if (navigationEntry) {\n // The activationStart reference is used because TTFB should be\n // relative to page activation rather than navigation start if the\n // page was prerendered. But in cases where `activationStart` occurs\n // after the first byte is received, this time should be clamped at 0.\n metric.value = Math.max(navigationEntry.responseStart - (0,_lib_getActivationStart_js__WEBPACK_IMPORTED_MODULE_5__.getActivationStart)(), 0);\n\n metric.entries = [navigationEntry];\n report(true);\n }\n });\n};\n\n\n//# sourceMappingURL=onTTFB.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9vblRURkIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBd0M7QUFDYTtBQUNZO0FBQ0E7QUFDaEI7QUFDTTs7QUFFdkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOzs7QUFHQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNLDZDQUFNO0FBQ1osSUFBSSxvRUFBYTtBQUNqQixJQUFJLFNBQVMsNkNBQU07QUFDbkI7QUFDQSxJQUFJO0FBQ0o7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUNBQW1DO0FBQ25DLGlCQUFpQiw4REFBVTtBQUMzQixpQkFBaUIsa0VBQVk7O0FBRTdCO0FBQ0EsNEJBQTRCLDhFQUFrQjs7QUFFOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDhEQUE4RCw4RUFBa0I7O0FBRWhGO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFa0M7QUFDbEMiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL21ldHJpY3Mvd2ViLXZpdGFscy9vblRURkIuanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV0lORE9XIH0gZnJvbSAnLi4vLi4vdHlwZXMuanMnO1xuaW1wb3J0IHsgYmluZFJlcG9ydGVyIH0gZnJvbSAnLi9saWIvYmluZFJlcG9ydGVyLmpzJztcbmltcG9ydCB7IGdldEFjdGl2YXRpb25TdGFydCB9IGZyb20gJy4vbGliL2dldEFjdGl2YXRpb25TdGFydC5qcyc7XG5pbXBvcnQgeyBnZXROYXZpZ2F0aW9uRW50cnkgfSBmcm9tICcuL2xpYi9nZXROYXZpZ2F0aW9uRW50cnkuanMnO1xuaW1wb3J0IHsgaW5pdE1ldHJpYyB9IGZyb20gJy4vbGliL2luaXRNZXRyaWMuanMnO1xuaW1wb3J0IHsgd2hlbkFjdGl2YXRlZCB9IGZyb20gJy4vbGliL3doZW5BY3RpdmF0ZWQuanMnO1xuXG4vKlxuICogQ29weXJpZ2h0IDIwMjAgR29vZ2xlIExMQ1xuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgaHR0cHM6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuXG4vKiogVGhyZXNob2xkcyBmb3IgVFRGQi4gU2VlIGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy90dGZiI3doYXRfaXNfYV9nb29kX3R0ZmJfc2NvcmUgKi9cbmNvbnN0IFRURkJUaHJlc2hvbGRzID0gWzgwMCwgMTgwMF07XG5cbi8qKlxuICogUnVucyBpbiB0aGUgbmV4dCB0YXNrIGFmdGVyIHRoZSBwYWdlIGlzIGRvbmUgbG9hZGluZyBhbmQvb3IgcHJlcmVuZGVyaW5nLlxuICogQHBhcmFtIGNhbGxiYWNrXG4gKi9cbmNvbnN0IHdoZW5SZWFkeSA9IChjYWxsYmFjaykgPT4ge1xuICBpZiAoV0lORE9XLmRvY3VtZW50Py5wcmVyZW5kZXJpbmcpIHtcbiAgICB3aGVuQWN0aXZhdGVkKCgpID0+IHdoZW5SZWFkeShjYWxsYmFjaykpO1xuICB9IGVsc2UgaWYgKFdJTkRPVy5kb2N1bWVudD8ucmVhZHlTdGF0ZSAhPT0gJ2NvbXBsZXRlJykge1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoKSA9PiB3aGVuUmVhZHkoY2FsbGJhY2spLCB0cnVlKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBRdWV1ZSBhIHRhc2sgc28gdGhlIGNhbGxiYWNrIHJ1bnMgYWZ0ZXIgYGxvYWRFdmVudEVuZGAuXG4gICAgc2V0VGltZW91dChjYWxsYmFjayk7XG4gIH1cbn07XG5cbi8qKlxuICogQ2FsY3VsYXRlcyB0aGUgW1RURkJdKGh0dHBzOi8vd2ViLmRldi9hcnRpY2xlcy90dGZiKSB2YWx1ZSBmb3IgdGhlXG4gKiBjdXJyZW50IHBhZ2UgYW5kIGNhbGxzIHRoZSBgY2FsbGJhY2tgIGZ1bmN0aW9uIG9uY2UgdGhlIHBhZ2UgaGFzIGxvYWRlZCxcbiAqIGFsb25nIHdpdGggdGhlIHJlbGV2YW50IGBuYXZpZ2F0aW9uYCBwZXJmb3JtYW5jZSBlbnRyeSB1c2VkIHRvIGRldGVybWluZSB0aGVcbiAqIHZhbHVlLiBUaGUgcmVwb3J0ZWQgdmFsdWUgaXMgYSBgRE9NSGlnaFJlc1RpbWVTdGFtcGAuXG4gKlxuICogTm90ZSwgdGhpcyBmdW5jdGlvbiB3YWl0cyB1bnRpbCBhZnRlciB0aGUgcGFnZSBpcyBsb2FkZWQgdG8gY2FsbCBgY2FsbGJhY2tgXG4gKiBpbiBvcmRlciB0byBlbnN1cmUgYWxsIHByb3BlcnRpZXMgb2YgdGhlIGBuYXZpZ2F0aW9uYCBlbnRyeSBhcmUgcG9wdWxhdGVkLlxuICogVGhpcyBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gcmVwb3J0IG9uIG90aGVyIG1ldHJpY3MgZXhwb3NlZCBieSB0aGVcbiAqIFtOYXZpZ2F0aW9uIFRpbWluZyBBUEldKGh0dHBzOi8vdzNjLmdpdGh1Yi5pby9uYXZpZ2F0aW9uLXRpbWluZy8pLiBGb3JcbiAqIGV4YW1wbGUsIHRoZSBUVEZCIG1ldHJpYyBzdGFydHMgZnJvbSB0aGUgcGFnZSdzIFt0aW1lXG4gKiBvcmlnaW5dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi9oci10aW1lLTIvI3NlYy10aW1lLW9yaWdpbiksIHdoaWNoIG1lYW5zIGl0XG4gKiBpbmNsdWRlcyB0aW1lIHNwZW50IG9uIEROUyBsb29rdXAsIGNvbm5lY3Rpb24gbmVnb3RpYXRpb24sIG5ldHdvcmsgbGF0ZW5jeSxcbiAqIGFuZCBzZXJ2ZXIgcHJvY2Vzc2luZyB0aW1lLlxuICovXG5jb25zdCBvblRURkIgPSAob25SZXBvcnQsIG9wdHMgPSB7fSkgPT4ge1xuICBjb25zdCBtZXRyaWMgPSBpbml0TWV0cmljKCdUVEZCJyk7XG4gIGNvbnN0IHJlcG9ydCA9IGJpbmRSZXBvcnRlcihvblJlcG9ydCwgbWV0cmljLCBUVEZCVGhyZXNob2xkcywgb3B0cy5yZXBvcnRBbGxDaGFuZ2VzKTtcblxuICB3aGVuUmVhZHkoKCkgPT4ge1xuICAgIGNvbnN0IG5hdmlnYXRpb25FbnRyeSA9IGdldE5hdmlnYXRpb25FbnRyeSgpO1xuXG4gICAgaWYgKG5hdmlnYXRpb25FbnRyeSkge1xuICAgICAgLy8gVGhlIGFjdGl2YXRpb25TdGFydCByZWZlcmVuY2UgaXMgdXNlZCBiZWNhdXNlIFRURkIgc2hvdWxkIGJlXG4gICAgICAvLyByZWxhdGl2ZSB0byBwYWdlIGFjdGl2YXRpb24gcmF0aGVyIHRoYW4gbmF2aWdhdGlvbiBzdGFydCBpZiB0aGVcbiAgICAgIC8vIHBhZ2Ugd2FzIHByZXJlbmRlcmVkLiBCdXQgaW4gY2FzZXMgd2hlcmUgYGFjdGl2YXRpb25TdGFydGAgb2NjdXJzXG4gICAgICAvLyBhZnRlciB0aGUgZmlyc3QgYnl0ZSBpcyByZWNlaXZlZCwgdGhpcyB0aW1lIHNob3VsZCBiZSBjbGFtcGVkIGF0IDAuXG4gICAgICBtZXRyaWMudmFsdWUgPSBNYXRoLm1heChuYXZpZ2F0aW9uRW50cnkucmVzcG9uc2VTdGFydCAtIGdldEFjdGl2YXRpb25TdGFydCgpLCAwKTtcblxuICAgICAgbWV0cmljLmVudHJpZXMgPSBbbmF2aWdhdGlvbkVudHJ5XTtcbiAgICAgIHJlcG9ydCh0cnVlKTtcbiAgICB9XG4gIH0pO1xufTtcblxuZXhwb3J0IHsgVFRGQlRocmVzaG9sZHMsIG9uVFRGQiB9O1xuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b25UVEZCLmpzLm1hcFxuIl0sIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6WzBdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/metrics/web-vitals/onTTFB.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/networkUtils.js": /*!*******************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/networkUtils.js ***! \*******************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ getBodyString: () => (/* binding */ getBodyString),\n/* harmony export */ getFetchRequestArgBody: () => (/* binding */ getFetchRequestArgBody),\n/* harmony export */ serializeFormData: () => (/* binding */ serializeFormData)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/debug-logger.js\");\n/* harmony import */ var _debug_build_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./debug-build.js */ \"(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/debug-build.js\");\n\n\n\n/**\n * Serializes FormData.\n *\n * This is a bit simplified, but gives us a decent estimate.\n * This converts e.g. { name: 'Anne Smith', age: 13 } to 'name=Anne+Smith&age=13'.\n *\n */\nfunction serializeFormData(formData) {\n // @ts-expect-error passing FormData to URLSearchParams actually works\n return new URLSearchParams(formData).toString();\n}\n\n/** Get the string representation of a body. */\nfunction getBodyString(body, _debug = _sentry_core__WEBPACK_IMPORTED_MODULE_0__.debug) {\n try {\n if (typeof body === 'string') {\n return [body];\n }\n\n if (body instanceof URLSearchParams) {\n return [body.toString()];\n }\n\n if (body instanceof FormData) {\n return [serializeFormData(body)];\n }\n\n if (!body) {\n return [undefined];\n }\n } catch (error) {\n _debug_build_js__WEBPACK_IMPORTED_MODULE_1__.DEBUG_BUILD && _debug.error(error, 'Failed to serialize body', body);\n return [undefined, 'BODY_PARSE_ERROR'];\n }\n\n _debug_build_js__WEBPACK_IMPORTED_MODULE_1__.DEBUG_BUILD && _debug.log('Skipping network body because of body type', body);\n\n return [undefined, 'UNPARSEABLE_BODY_TYPE'];\n}\n\n/**\n * Parses the fetch arguments to extract the request payload.\n *\n * We only support getting the body from the fetch options.\n */\nfunction getFetchRequestArgBody(fetchArgs = []) {\n if (fetchArgs.length !== 2 || typeof fetchArgs[1] !== 'object') {\n return undefined;\n }\n\n return (fetchArgs[1] ).body;\n}\n\n\n//# sourceMappingURL=networkUtils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL25ldHdvcmtVdGlscy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFxQztBQUNVOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLHdCQUF3Qiw4QkFBOEI7QUFDdEQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0Esc0NBQXNDLCtDQUFLO0FBQzNDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsSUFBSTtBQUNKLElBQUksd0RBQVc7QUFDZjtBQUNBOztBQUVBLEVBQUUsd0RBQVc7O0FBRWI7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFb0U7QUFDcEUiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL25ldHdvcmtVdGlscy5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBkZWJ1ZyB9IGZyb20gJ0BzZW50cnkvY29yZSc7XG5pbXBvcnQgeyBERUJVR19CVUlMRCB9IGZyb20gJy4vZGVidWctYnVpbGQuanMnO1xuXG4vKipcbiAqIFNlcmlhbGl6ZXMgRm9ybURhdGEuXG4gKlxuICogVGhpcyBpcyBhIGJpdCBzaW1wbGlmaWVkLCBidXQgZ2l2ZXMgdXMgYSBkZWNlbnQgZXN0aW1hdGUuXG4gKiBUaGlzIGNvbnZlcnRzIGUuZy4geyBuYW1lOiAnQW5uZSBTbWl0aCcsIGFnZTogMTMgfSB0byAnbmFtZT1Bbm5lK1NtaXRoJmFnZT0xMycuXG4gKlxuICovXG5mdW5jdGlvbiBzZXJpYWxpemVGb3JtRGF0YShmb3JtRGF0YSkge1xuICAvLyBAdHMtZXhwZWN0LWVycm9yIHBhc3NpbmcgRm9ybURhdGEgdG8gVVJMU2VhcmNoUGFyYW1zIGFjdHVhbGx5IHdvcmtzXG4gIHJldHVybiBuZXcgVVJMU2VhcmNoUGFyYW1zKGZvcm1EYXRhKS50b1N0cmluZygpO1xufVxuXG4vKiogR2V0IHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBib2R5LiAqL1xuZnVuY3Rpb24gZ2V0Qm9keVN0cmluZyhib2R5LCBfZGVidWcgPSBkZWJ1Zykge1xuICB0cnkge1xuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBbYm9keV07XG4gICAgfVxuXG4gICAgaWYgKGJvZHkgaW5zdGFuY2VvZiBVUkxTZWFyY2hQYXJhbXMpIHtcbiAgICAgIHJldHVybiBbYm9keS50b1N0cmluZygpXTtcbiAgICB9XG5cbiAgICBpZiAoYm9keSBpbnN0YW5jZW9mIEZvcm1EYXRhKSB7XG4gICAgICByZXR1cm4gW3NlcmlhbGl6ZUZvcm1EYXRhKGJvZHkpXTtcbiAgICB9XG5cbiAgICBpZiAoIWJvZHkpIHtcbiAgICAgIHJldHVybiBbdW5kZWZpbmVkXTtcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgREVCVUdfQlVJTEQgJiYgX2RlYnVnLmVycm9yKGVycm9yLCAnRmFpbGVkIHRvIHNlcmlhbGl6ZSBib2R5JywgYm9keSk7XG4gICAgcmV0dXJuIFt1bmRlZmluZWQsICdCT0RZX1BBUlNFX0VSUk9SJ107XG4gIH1cblxuICBERUJVR19CVUlMRCAmJiBfZGVidWcubG9nKCdTa2lwcGluZyBuZXR3b3JrIGJvZHkgYmVjYXVzZSBvZiBib2R5IHR5cGUnLCBib2R5KTtcblxuICByZXR1cm4gW3VuZGVmaW5lZCwgJ1VOUEFSU0VBQkxFX0JPRFlfVFlQRSddO1xufVxuXG4vKipcbiAqIFBhcnNlcyB0aGUgZmV0Y2ggYXJndW1lbnRzIHRvIGV4dHJhY3QgdGhlIHJlcXVlc3QgcGF5bG9hZC5cbiAqXG4gKiBXZSBvbmx5IHN1cHBvcnQgZ2V0dGluZyB0aGUgYm9keSBmcm9tIHRoZSBmZXRjaCBvcHRpb25zLlxuICovXG5mdW5jdGlvbiBnZXRGZXRjaFJlcXVlc3RBcmdCb2R5KGZldGNoQXJncyA9IFtdKSB7XG4gIGlmIChmZXRjaEFyZ3MubGVuZ3RoICE9PSAyIHx8IHR5cGVvZiBmZXRjaEFyZ3NbMV0gIT09ICdvYmplY3QnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiAoZmV0Y2hBcmdzWzFdICkuYm9keTtcbn1cblxuZXhwb3J0IHsgZ2V0Qm9keVN0cmluZywgZ2V0RmV0Y2hSZXF1ZXN0QXJnQm9keSwgc2VyaWFsaXplRm9ybURhdGEgfTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5ldHdvcmtVdGlscy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/networkUtils.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js": /*!************************************************************************!*\ !*** ./node_modules/@sentry-internal/browser-utils/build/esm/types.js ***! \************************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ WINDOW: () => (/* binding */ WINDOW)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/worldwide.js\");\n\n\nconst WINDOW = _sentry_core__WEBPACK_IMPORTED_MODULE_0__.GLOBAL_OBJ\n\n;\n\n\n//# sourceMappingURL=types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL3R5cGVzLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQTBDOztBQUUxQyxlQUFlLG9EQUFVOztBQUV6Qjs7QUFFa0I7QUFDbEIiLCJzb3VyY2VzIjpbIi9ob21lL05pY2hvbGFpL0RvY3VtZW50cy9EZXYvYmlvaGF6YXJkLXZmeC0yL25vZGVfbW9kdWxlcy9Ac2VudHJ5LWludGVybmFsL2Jyb3dzZXItdXRpbHMvYnVpbGQvZXNtL3R5cGVzLmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEdMT0JBTF9PQkogfSBmcm9tICdAc2VudHJ5L2NvcmUnO1xuXG5jb25zdCBXSU5ET1cgPSBHTE9CQUxfT0JKXG5cbjtcblxuZXhwb3J0IHsgV0lORE9XIH07XG4vLyMgc291cmNlTWFwcGluZ1VSTD10eXBlcy5qcy5tYXBcbiJdLCJuYW1lcyI6W10sImlnbm9yZUxpc3QiOlswXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-pages-browser)/./node_modules/@sentry-internal/browser-utils/build/esm/types.js\n")); /***/ }), /***/ "(app-pages-browser)/./node_modules/@sentry-internal/feedback/build/npm/esm/index.js": /*!***********************************************************************!*\ !*** ./node_modules/@sentry-internal/feedback/build/npm/esm/index.js ***! \***********************************************************************/ /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { "use strict"; eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ buildFeedbackIntegration: () => (/* binding */ buildFeedbackIntegration),\n/* harmony export */ feedbackModalIntegration: () => (/* binding */ feedbackModalIntegration),\n/* harmony export */ feedbackScreenshotIntegration: () => (/* binding */ feedbackScreenshotIntegration),\n/* harmony export */ getFeedback: () => (/* binding */ getFeedback),\n/* harmony export */ sendFeedback: () => (/* binding */ sendFeedback)\n/* harmony export */ });\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/worldwide.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/currentScopes.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/feedback.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/browser.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/integration.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/debug-logger.js\");\n/* harmony import */ var _sentry_core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @sentry/core */ \"(app-pages-browser)/./node_modules/@sentry/core/build/esm/utils/isBrowser.js\");\n\n\n// exporting a separate copy of `WINDOW` rather than exporting the one from `@sentry/browser`\n// prevents the browser package from being bundled in the CDN bundle, and avoids a\n// circular dependency between the browser and feedback packages\nconst WINDOW = _sentry_core__WEBPACK_IMPORTED_MODULE_0__.GLOBAL_OBJ ;\nconst DOCUMENT = WINDOW.document;\nconst NAVIGATOR = WINDOW.navigator;\n\nconst TRIGGER_LABEL = 'Report a Bug';\nconst CANCEL_BUTTON_LABEL = 'Cancel';\nconst SUBMIT_BUTTON_LABEL = 'Send Bug Report';\nconst CONFIRM_BUTTON_LABEL = 'Confirm';\nconst FORM_TITLE = 'Report a Bug';\nconst EMAIL_PLACEHOLDER = 'your.email@example.org';\nconst EMAIL_LABEL = 'Email';\nconst MESSAGE_PLACEHOLDER = \"What's the bug? What did you expect?\";\nconst MESSAGE_LABEL = 'Description';\nconst NAME_PLACEHOLDER = 'Your Name';\nconst NAME_LABEL = 'Name';\nconst SUCCESS_MESSAGE_TEXT = 'Thank you for your report!';\nconst IS_REQUIRED_LABEL = '(required)';\nconst ADD_SCREENSHOT_LABEL = 'Add a screenshot';\nconst REMOVE_SCREENSHOT_LABEL = 'Remove screenshot';\nconst HIGHLIGHT_TOOL_TEXT = 'Highlight';\nconst HIDE_TOOL_TEXT = 'Hide';\nconst REMOVE_HIGHLIGHT_TEXT = 'Remove';\n\nconst FEEDBACK_WIDGET_SOURCE = 'widget';\nconst FEEDBACK_API_SOURCE = 'api';\n\nconst SUCCESS_MESSAGE_TIMEOUT = 5000;\n\n/**\n * Public API to send a Feedback item to Sentry\n */\nconst sendFeedback = (\n params,\n hint = { includeReplay: true },\n) => {\n if (!params.message) {\n throw new Error('Unable to submit feedback with empty message');\n }\n\n // We want to wait for the feedback to be sent (or not)\n const client = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.getClient)();\n\n if (!client) {\n throw new Error('No client setup, cannot send feedback.');\n }\n\n if (params.tags && Object.keys(params.tags).length) {\n (0,_sentry_core__WEBPACK_IMPORTED_MODULE_1__.getCurrentScope)().setTags(params.tags);\n }\n const eventId = (0,_sentry_core__WEBPACK_IMPORTED_MODULE_2__.captureFeedback)(\n {\n source: FEEDBACK_API_SOURCE,\n url: (0,_sentry_core__WEBPACK_IMPORTED_MODULE_3__.getLocationHref)(),\n ...params,\n },\n hint,\n );\n\n // We want to wait for the feedback to be sent (or not)\n return new Promise((resolve, reject) => {\n // After 30s, we want to clear anyhow\n const timeout = setTimeout(() => reject('Unable to determine if Feedback was correctly sent.'), 30000);\n\n const cleanup = client.on('afterSendEvent', (event, response) => {\n if (event.event_id !== eventId) {\n return;\n }\n\n clearTimeout(timeout);\n cleanup();\n\n // Require valid status codes, otherwise can assume feedback was not sent successfully\n if (response?.statusCode && response.statusCode >= 200 && response.statusCode < 300) {\n return resolve(eventId);\n }\n\n if (response?.statusCode === 403) {\n return reject(\n 'Unable to send feedback. This could be because this domain is not in your list of allowed domains.',\n );\n }\n\n return reject(\n 'Unable to send feedback. This could be because of network issues, or because you are using an ad-blocker.',\n );\n });\n });\n};\n\n/*\n * For reference, the fully built event looks something like this:\n * {\n * \"type\": \"feedback\",\n * \"event_id\": \"d2132d31b39445f1938d7e21b6bf0ec4\",\n * \"timestamp\": 1597977777.6189718,\n * \"dist\": \"1.12\",\n * \"platform\": \"javascript\",\n * \"environment\": \"production\",\n * \"release\": 42,\n * \"tags\": {\"transaction\": \"/organizations/:orgId/performance/:eventSlug/\"},\n * \"sdk\": {\"name\": \"name\", \"version\": \"version\"},\n * \"user\": {\n * \"id\": \"123\",\n * \"username\": \"user\",\n * \"email\": \"user@site.com\",\n * \"ip_address\": \"192.168.11.12\",\n * },\n * \"request\": {\n * \"url\": None,\n * \"headers\": {\n * \"user-Agent\": \"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.5 Safari/605.1.15\"\n * },\n * },\n * \"contexts\": {\n * \"feedback\": {\n * \"message\": \"test message\",\n * \"contact_email\": \"test@example.com\",\n * \"type\": \"feedback\",\n * },\n * \"trace\": {\n * \"trace_id\": \"4C79F60C11214EB38604F4AE0781BFB2\",\n * \"span_id\": \"FA90FDEAD5F74052\",\n * \"type\": \"trace\",\n * },\n * \"replay\": {\n * \"replay_id\": \"e2d42047b1c5431c8cba85ee2a8ab25d\",\n * },\n * },\n * }\n */\n\n/**\n * This serves as a build time flag that will be true by default, but false in non-debug builds or if users replace `__SENTRY_DEBUG__` in their generated code.\n *\n * ATTENTION: This constant must never cross package boundaries (i.e. be exported) to guarantee that it can be used for tree shaking.\n */\nconst DEBUG_BUILD = ( false || false);\n\n/**\n * Mobile browsers do not support `mediaDevices.getDisplayMedia` even though they have the api implemented\n * Instead they return things like `NotAllowedError` when called.\n *\n * It's simpler for us to browser sniff first, and avoid loading the integration if we can.\n *\n * https://stackoverflow.com/a/58879212\n * https://stackoverflow.com/a/3540295\n *\n * `mediaDevices.getDisplayMedia` is also only supported in secure contexts, and return a `mediaDevices is not supported` error, so we should also avoid loading the integration if we can.\n *\n * https://developer.mozilla.org/en-US/docs/Web/API/MediaDevices/getDisplayMedia\n */\nfunction isScreenshotSupported() {\n if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(NAVIGATOR.userAgent)) {\n return false;\n }\n /**\n * User agent on iPads show as Macintosh, so we need extra checks\n *\n * https://forums.developer.apple.com/forums/thread/119186\n * https://stackoverflow.com/questions/60482650/how-to-detect-ipad-useragent-on-safari-browser\n */\n if (/Macintosh/i.test(NAVIGATOR.userAgent) && NAVIGATOR.maxTouchPoints && NAVIGATOR.maxTouchPoints > 1) {\n return false;\n }\n if (!isSecureContext) {\n return false;\n }\n return true;\n}\n\n/**\n * Quick and dirty deep merge for the Feedback integration options\n */\nfunction mergeOptions(\n defaultOptions,\n optionOverrides,\n) {\n return {\n ...defaultOptions,\n ...optionOverrides,\n tags: {\n ...defaultOptions.tags,\n ...optionOverrides.tags,\n },\n onFormOpen: () => {\n optionOverrides.onFormOpen?.();\n defaultOptions.onFormOpen?.();\n },\n onFormClose: () => {\n optionOverrides.onFormClose?.();\n defaultOptions.onFormClose?.();\n },\n onSubmitSuccess: (data, eventId) => {\n optionOverrides.onSubmitSuccess?.(data, eventId);\n defaultOptions.onSubmitSuccess?.(data, eventId);\n },\n onSubmitError: (error) => {\n optionOverrides.onSubmitError?.(error);\n defaultOptions.onSubmitError?.(error);\n },\n onFormSubmitted: () => {\n optionOverrides.onFormSubmitted?.();\n defaultOptions.onFormSubmitted?.();\n },\n themeDark: {\n ...defaultOptions.themeDark,\n ...optionOverrides.themeDark,\n },\n themeLight: {\n ...defaultOptions.themeLight,\n ...optionOverrides.themeLight,\n },\n };\n}\n\n/**\n * Creates