/* * 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/). */ exports.id = "vendor-chunks/next"; exports.ids = ["vendor-chunks/next"]; exports.modules = { /***/ "./node_modules/next/dist/build/templates/helpers.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/build/templates/helpers.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Hoists a name from a module or promised module.\n *\n * @param module the module to hoist the name from\n * @param name the name to hoist\n * @returns the value on the module (or promised module)\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hoist\", ({\n enumerable: true,\n get: function() {\n return hoist;\n }\n}));\nfunction hoist(module, name) {\n // If the name is available in the module, return it.\n if (name in module) {\n return module[name];\n }\n // If a property called `then` exists, assume it's a promise and\n // return a promise that resolves to the name.\n if (\"then\" in module && typeof module.then === \"function\") {\n return module.then((mod)=>hoist(mod, name));\n }\n // If we're trying to hoise the default export, and the module is a function,\n // return the module itself.\n if (typeof module === \"function\" && name === \"default\") {\n return module;\n }\n // Otherwise, return undefined.\n return undefined;\n}\n\n//# sourceMappingURL=helpers.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3RlbXBsYXRlcy9oZWxwZXJzLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLElBQWlCO0FBQ2pCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLHlDQUF3QztBQUN4QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3RlbXBsYXRlcy9oZWxwZXJzLmpzP2IyODciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBIb2lzdHMgYSBuYW1lIGZyb20gYSBtb2R1bGUgb3IgcHJvbWlzZWQgbW9kdWxlLlxuICpcbiAqIEBwYXJhbSBtb2R1bGUgdGhlIG1vZHVsZSB0byBob2lzdCB0aGUgbmFtZSBmcm9tXG4gKiBAcGFyYW0gbmFtZSB0aGUgbmFtZSB0byBob2lzdFxuICogQHJldHVybnMgdGhlIHZhbHVlIG9uIHRoZSBtb2R1bGUgKG9yIHByb21pc2VkIG1vZHVsZSlcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImhvaXN0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBob2lzdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGhvaXN0KG1vZHVsZSwgbmFtZSkge1xuICAgIC8vIElmIHRoZSBuYW1lIGlzIGF2YWlsYWJsZSBpbiB0aGUgbW9kdWxlLCByZXR1cm4gaXQuXG4gICAgaWYgKG5hbWUgaW4gbW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGVbbmFtZV07XG4gICAgfVxuICAgIC8vIElmIGEgcHJvcGVydHkgY2FsbGVkIGB0aGVuYCBleGlzdHMsIGFzc3VtZSBpdCdzIGEgcHJvbWlzZSBhbmRcbiAgICAvLyByZXR1cm4gYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIG5hbWUuXG4gICAgaWYgKFwidGhlblwiIGluIG1vZHVsZSAmJiB0eXBlb2YgbW9kdWxlLnRoZW4gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gbW9kdWxlLnRoZW4oKG1vZCk9PmhvaXN0KG1vZCwgbmFtZSkpO1xuICAgIH1cbiAgICAvLyBJZiB3ZSdyZSB0cnlpbmcgdG8gaG9pc2UgdGhlIGRlZmF1bHQgZXhwb3J0LCBhbmQgdGhlIG1vZHVsZSBpcyBhIGZ1bmN0aW9uLFxuICAgIC8vIHJldHVybiB0aGUgbW9kdWxlIGl0c2VsZi5cbiAgICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gXCJmdW5jdGlvblwiICYmIG5hbWUgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgIHJldHVybiBtb2R1bGU7XG4gICAgfVxuICAgIC8vIE90aGVyd2lzZSwgcmV0dXJuIHVuZGVmaW5lZC5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWxwZXJzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/build/templates/helpers.js\n"); /***/ }), /***/ "./node_modules/next/dist/pages/_app.js": /*!**********************************************!*\ !*** ./node_modules/next/dist/pages/_app.js ***! \**********************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return App;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\n/**\n * `App` component is used for initialize of pages. It allows for overwriting and full control of the `page` initialization.\n * This allows for keeping state between navigation, custom error handling, injecting additional data.\n */ async function appGetInitialProps(param) {\n let { Component, ctx } = param;\n const pageProps = await (0, _utils.loadGetInitialProps)(Component, ctx);\n return {\n pageProps\n };\n}\nclass App extends _react.default.Component {\n render() {\n const { Component, pageProps } = this.props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...pageProps\n });\n }\n}\nApp.origGetInitialProps = appGetInitialProps;\nApp.getInitialProps = appGetInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_app.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19hcHAuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsNkdBQXlDO0FBQ2xGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLDRDQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG9CQUFPO0FBQ3ZFLE1BQU1JLFNBQVNKLG1CQUFPQSxDQUFDLHlFQUFxQjtBQUM1Qzs7O0NBR0MsR0FBRyxlQUFlSyxtQkFBbUJDLEtBQUs7SUFDdkMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEdBQUcsRUFBRSxHQUFHRjtJQUN6QixNQUFNRyxZQUFZLE1BQU0sQ0FBQyxHQUFHTCxPQUFPTSxtQkFBbUIsRUFBRUgsV0FBV0M7SUFDbkUsT0FBTztRQUNIQztJQUNKO0FBQ0o7QUFDQSxNQUFNWCxZQUFZSSxPQUFPUyxPQUFPLENBQUNKLFNBQVM7SUFDdENLLFNBQVM7UUFDTCxNQUFNLEVBQUVMLFNBQVMsRUFBRUUsU0FBUyxFQUFFLEdBQUcsSUFBSSxDQUFDSSxLQUFLO1FBQzNDLE9BQXFCLFdBQUgsR0FBSSxJQUFHWixZQUFZYSxHQUFHLEVBQUVQLFdBQVc7WUFDakQsR0FBR0UsU0FBUztRQUNoQjtJQUNKO0FBQ0o7QUFDQVgsSUFBSWlCLG1CQUFtQixHQUFHVjtBQUMxQlAsSUFBSWtCLGVBQWUsR0FBR1g7QUFFdEIsSUFBSSxDQUFDLE9BQU9YLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNNLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBTzBCLE1BQU0sQ0FBQ3hCLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQnlCLE9BQU96QixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvcGFnZXMvX2FwcC5qcz85NjFkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQXBwO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvdXRpbHNcIik7XG4vKipcbiAqIGBBcHBgIGNvbXBvbmVudCBpcyB1c2VkIGZvciBpbml0aWFsaXplIG9mIHBhZ2VzLiBJdCBhbGxvd3MgZm9yIG92ZXJ3cml0aW5nIGFuZCBmdWxsIGNvbnRyb2wgb2YgdGhlIGBwYWdlYCBpbml0aWFsaXphdGlvbi5cbiAqIFRoaXMgYWxsb3dzIGZvciBrZWVwaW5nIHN0YXRlIGJldHdlZW4gbmF2aWdhdGlvbiwgY3VzdG9tIGVycm9yIGhhbmRsaW5nLCBpbmplY3RpbmcgYWRkaXRpb25hbCBkYXRhLlxuICovIGFzeW5jIGZ1bmN0aW9uIGFwcEdldEluaXRpYWxQcm9wcyhwYXJhbSkge1xuICAgIGxldCB7IENvbXBvbmVudCwgY3R4IH0gPSBwYXJhbTtcbiAgICBjb25zdCBwYWdlUHJvcHMgPSBhd2FpdCAoMCwgX3V0aWxzLmxvYWRHZXRJbml0aWFsUHJvcHMpKENvbXBvbmVudCwgY3R4KTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwYWdlUHJvcHNcbiAgICB9O1xufVxuY2xhc3MgQXBwIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgQ29tcG9uZW50LCBwYWdlUHJvcHMgfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKENvbXBvbmVudCwge1xuICAgICAgICAgICAgLi4ucGFnZVByb3BzXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbkFwcC5vcmlnR2V0SW5pdGlhbFByb3BzID0gYXBwR2V0SW5pdGlhbFByb3BzO1xuQXBwLmdldEluaXRpYWxQcm9wcyA9IGFwcEdldEluaXRpYWxQcm9wcztcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X2FwcC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQXBwIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl91dGlscyIsImFwcEdldEluaXRpYWxQcm9wcyIsInBhcmFtIiwiQ29tcG9uZW50IiwiY3R4IiwicGFnZVByb3BzIiwibG9hZEdldEluaXRpYWxQcm9wcyIsImRlZmF1bHQiLCJyZW5kZXIiLCJwcm9wcyIsImpzeCIsIm9yaWdHZXRJbml0aWFsUHJvcHMiLCJnZXRJbml0aWFsUHJvcHMiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_app.js\n"); /***/ }), /***/ "./node_modules/next/dist/pages/_document.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/pages/_document.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Head: function() {\n return Head;\n },\n NextScript: function() {\n return NextScript;\n },\n Html: function() {\n return Html;\n },\n Main: function() {\n return Main;\n },\n /**\n * `Document` component handles the initial `document` markup and renders only on the server side.\n * Commonly used for implementing server side rendering for `css-in-js` libraries.\n */ default: function() {\n return Document;\n }\n});\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! react */ \"react\"));\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nconst _getpagefiles = __webpack_require__(/*! ../server/get-page-files */ \"./node_modules/next/dist/server/get-page-files.js\");\nconst _htmlescape = __webpack_require__(/*! ../server/htmlescape */ \"./node_modules/next/dist/server/htmlescape.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _htmlcontextsharedruntime = __webpack_require__(/*! ../shared/lib/html-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n/** Set of pages that have triggered a large data warning on production mode. */ const largePageDataWarnings = new Set();\nfunction getDocumentFiles(buildManifest, pathname, inAmpMode) {\n const sharedFiles = (0, _getpagefiles.getPageFiles)(buildManifest, \"/_app\");\n const pageFiles = true && inAmpMode ? [] : (0, _getpagefiles.getPageFiles)(buildManifest, pathname);\n return {\n sharedFiles,\n pageFiles,\n allFiles: [\n ...new Set([\n ...sharedFiles,\n ...pageFiles\n ])\n ]\n };\n}\nfunction getPolyfillScripts(context, props) {\n // polyfills.js has to be rendered as nomodule without async\n // It also has to be the first script to load\n const { assetPrefix, buildManifest, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return buildManifest.polyfillFiles.filter((polyfill)=>polyfill.endsWith(\".js\") && !polyfill.endsWith(\".module.js\")).map((polyfill)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n defer: !disableOptimizedLoading,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin,\n noModule: true,\n src: `${assetPrefix}/_next/${polyfill}${assetQueryString}`\n }, polyfill));\n}\nfunction hasComponentProps(child) {\n return !!child && !!child.props;\n}\nfunction AmpStyles({ styles }) {\n if (!styles) return null;\n // try to parse styles from fragment for backwards compat\n const curStyles = Array.isArray(styles) ? styles : [];\n if (styles.props && // @ts-ignore Property 'props' does not exist on type ReactElement\n Array.isArray(styles.props.children)) {\n const hasStyles = (el)=>{\n var _el_props_dangerouslySetInnerHTML, _el_props;\n return el == null ? void 0 : (_el_props = el.props) == null ? void 0 : (_el_props_dangerouslySetInnerHTML = _el_props.dangerouslySetInnerHTML) == null ? void 0 : _el_props_dangerouslySetInnerHTML.__html;\n };\n // @ts-ignore Property 'props' does not exist on type ReactElement\n styles.props.children.forEach((child)=>{\n if (Array.isArray(child)) {\n child.forEach((el)=>hasStyles(el) && curStyles.push(el));\n } else if (hasStyles(child)) {\n curStyles.push(child);\n }\n });\n }\n /* Add custom styles before AMP styles to prevent accidental overrides */ return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-custom\": \"\",\n dangerouslySetInnerHTML: {\n __html: curStyles.map((style)=>style.props.dangerouslySetInnerHTML.__html).join(\"\").replace(/\\/\\*# sourceMappingURL=.*\\*\\//g, \"\").replace(/\\/\\*@ sourceURL=.*?\\*\\//g, \"\")\n }\n });\n}\nfunction getDynamicChunks(context, props, files) {\n const { dynamicImports, assetPrefix, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\") || files.allFiles.includes(file)) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n crossOrigin: props.crossOrigin || crossOrigin\n }, file);\n });\n}\nfunction getScripts(context, props, files) {\n var _buildManifest_lowPriorityFiles;\n const { assetPrefix, buildManifest, isDevelopment, assetQueryString, disableOptimizedLoading, crossOrigin } = context;\n const normalScripts = files.allFiles.filter((file)=>file.endsWith(\".js\"));\n const lowPriorityScripts = (_buildManifest_lowPriorityFiles = buildManifest.lowPriorityFiles) == null ? void 0 : _buildManifest_lowPriorityFiles.filter((file)=>file.endsWith(\".js\"));\n return [\n ...normalScripts,\n ...lowPriorityScripts\n ].map((file)=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: props.nonce,\n async: !isDevelopment && disableOptimizedLoading,\n defer: !disableOptimizedLoading,\n crossOrigin: props.crossOrigin || crossOrigin\n }, file);\n });\n}\nfunction getPreNextWorkerScripts(context, props) {\n const { assetPrefix, scriptLoader, crossOrigin, nextScriptWorkers } = context;\n // disable `nextScriptWorkers` in edge runtime\n if (!nextScriptWorkers || \"nodejs\" === \"edge\") return null;\n try {\n let { partytownSnippet } = require(\"@builder.io/partytown/integration\");\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n // Check to see if the user has defined their own Partytown configuration\n const userDefinedConfig = children.find((child)=>{\n var _child_props_dangerouslySetInnerHTML, _child_props;\n return hasComponentProps(child) && (child == null ? void 0 : (_child_props = child.props) == null ? void 0 : (_child_props_dangerouslySetInnerHTML = _child_props.dangerouslySetInnerHTML) == null ? void 0 : _child_props_dangerouslySetInnerHTML.__html.length) && \"data-partytown-config\" in child.props;\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !userDefinedConfig && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n \"data-partytown-config\": \"\",\n dangerouslySetInnerHTML: {\n __html: `\n partytown = {\n lib: \"${assetPrefix}/_next/static/~partytown/\"\n };\n `\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n \"data-partytown\": \"\",\n dangerouslySetInnerHTML: {\n __html: partytownSnippet()\n }\n }),\n (scriptLoader.worker || []).map((file, index)=>{\n const { strategy, src, children: scriptChildren, dangerouslySetInnerHTML, ...scriptProps } = file;\n let srcProps = {};\n if (src) {\n // Use external src if provided\n srcProps.src = src;\n } else if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n // Embed inline script if provided with dangerouslySetInnerHTML\n srcProps.dangerouslySetInnerHTML = {\n __html: dangerouslySetInnerHTML.__html\n };\n } else if (scriptChildren) {\n // Embed inline script if provided with children\n srcProps.dangerouslySetInnerHTML = {\n __html: typeof scriptChildren === \"string\" ? scriptChildren : Array.isArray(scriptChildren) ? scriptChildren.join(\"\") : \"\"\n };\n } else {\n throw new Error(\"Invalid usage of next/script. Did you forget to include a src attribute or an inline script? https://nextjs.org/docs/messages/invalid-script\");\n }\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...srcProps,\n ...scriptProps,\n type: \"text/partytown\",\n key: src || index,\n nonce: props.nonce,\n \"data-nscript\": \"worker\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n })\n ]\n });\n } catch (err) {\n if ((0, _iserror.default)(err) && err.code !== \"MODULE_NOT_FOUND\") {\n console.warn(`Warning: ${err.message}`);\n }\n return null;\n }\n}\nfunction getPreNextScripts(context, props) {\n const { scriptLoader, disableOptimizedLoading, crossOrigin } = context;\n const webWorkerScripts = getPreNextWorkerScripts(context, props);\n const beforeInteractiveScripts = (scriptLoader.beforeInteractive || []).filter((script)=>script.src).map((file, index)=>{\n const { strategy, ...scriptProps } = file;\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...scriptProps,\n key: scriptProps.src || index,\n defer: scriptProps.defer ?? !disableOptimizedLoading,\n nonce: props.nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: props.crossOrigin || crossOrigin\n });\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n webWorkerScripts,\n beforeInteractiveScripts\n ]\n });\n}\nfunction getHeadHTMLProps(props) {\n const { crossOrigin, nonce, ...restProps } = props;\n // This assignment is necessary for additional type checking to avoid unsupported attributes in \n const headProps = restProps;\n return headProps;\n}\nfunction getAmpPath(ampPath, asPath) {\n return ampPath || `${asPath}${asPath.includes(\"?\") ? \"&\" : \"?\"}amp=1`;\n}\nfunction getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix = \"\") {\n if (!nextFontManifest) {\n return {\n preconnect: null,\n preload: null\n };\n }\n const appFontsEntry = nextFontManifest.pages[\"/_app\"];\n const pageFontsEntry = nextFontManifest.pages[dangerousAsPath];\n const preloadedFontFiles = [\n ...appFontsEntry ?? [],\n ...pageFontsEntry ?? []\n ];\n // If no font files should preload but there's an entry for the path, add a preconnect tag.\n const preconnectToSelf = !!(preloadedFontFiles.length === 0 && (appFontsEntry || pageFontsEntry));\n return {\n preconnect: preconnectToSelf ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n \"data-next-font\": nextFontManifest.pagesUsingSizeAdjust ? \"size-adjust\" : \"\",\n rel: \"preconnect\",\n href: \"/\",\n crossOrigin: \"anonymous\"\n }) : null,\n preload: preloadedFontFiles ? preloadedFontFiles.map((fontFile)=>{\n const ext = /\\.(woff|woff2|eot|ttf|otf)$/.exec(fontFile)[1];\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(fontFile)}`,\n as: \"font\",\n type: `font/${ext}`,\n crossOrigin: \"anonymous\",\n \"data-next-font\": fontFile.includes(\"-s\") ? \"size-adjust\" : \"\"\n }, fontFile);\n }) : null\n };\n}\nclass Head extends _react.default.Component {\n static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext;\n getCssLinks(files) {\n const { assetPrefix, assetQueryString, dynamicImports, crossOrigin, optimizeCss, optimizeFonts } = this.context;\n const cssFiles = files.allFiles.filter((f)=>f.endsWith(\".css\"));\n const sharedFiles = new Set(files.sharedFiles);\n // Unmanaged files are CSS files that will be handled directly by the\n // webpack runtime (`mini-css-extract-plugin`).\n let unmangedFiles = new Set([]);\n let dynamicCssFiles = Array.from(new Set(dynamicImports.filter((file)=>file.endsWith(\".css\"))));\n if (dynamicCssFiles.length) {\n const existing = new Set(cssFiles);\n dynamicCssFiles = dynamicCssFiles.filter((f)=>!(existing.has(f) || sharedFiles.has(f)));\n unmangedFiles = new Set(dynamicCssFiles);\n cssFiles.push(...dynamicCssFiles);\n }\n let cssLinkElements = [];\n cssFiles.forEach((file)=>{\n const isSharedFile = sharedFiles.has(file);\n if (!optimizeCss) {\n cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"style\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, `${file}-preload`));\n }\n const isUnmanagedFile = unmangedFiles.has(file);\n cssLinkElements.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"stylesheet\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-n-g\": isUnmanagedFile ? undefined : isSharedFile ? \"\" : undefined,\n \"data-n-p\": isUnmanagedFile ? undefined : isSharedFile ? undefined : \"\"\n }, file));\n });\n if (false) {}\n return cssLinkElements.length === 0 ? null : cssLinkElements;\n }\n getPreloadDynamicChunks() {\n const { dynamicImports, assetPrefix, assetQueryString, crossOrigin } = this.context;\n return dynamicImports.map((file)=>{\n if (!file.endsWith(\".js\")) {\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file);\n }) // Filter out nulled scripts\n .filter(Boolean);\n }\n getPreloadMainLinks(files) {\n const { assetPrefix, assetQueryString, scriptLoader, crossOrigin } = this.context;\n const preloadFiles = files.allFiles.filter((file)=>{\n return file.endsWith(\".js\");\n });\n return [\n ...(scriptLoader.beforeInteractive || []).map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: file.src,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file.src)),\n ...preloadFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n nonce: this.props.nonce,\n rel: \"preload\",\n href: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n as: \"script\",\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file))\n ];\n }\n getBeforeInteractiveInlineScripts() {\n const { scriptLoader } = this.context;\n const { nonce, crossOrigin } = this.props;\n return (scriptLoader.beforeInteractive || []).filter((script)=>!script.src && (script.dangerouslySetInnerHTML || script.children)).map((file, index)=>{\n const { strategy, children, dangerouslySetInnerHTML, src, ...scriptProps } = file;\n let html = \"\";\n if (dangerouslySetInnerHTML && dangerouslySetInnerHTML.__html) {\n html = dangerouslySetInnerHTML.__html;\n } else if (children) {\n html = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return /*#__PURE__*/ (0, _react.createElement)(\"script\", {\n ...scriptProps,\n dangerouslySetInnerHTML: {\n __html: html\n },\n key: scriptProps.id || index,\n nonce: nonce,\n \"data-nscript\": \"beforeInteractive\",\n crossOrigin: crossOrigin || undefined\n });\n });\n }\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n makeStylesheetInert(node) {\n return _react.default.Children.map(node, (c)=>{\n var _c_props, _c_props1;\n if ((c == null ? void 0 : c.type) === \"link\" && (c == null ? void 0 : (_c_props = c.props) == null ? void 0 : _c_props.href) && _constants.OPTIMIZED_FONT_PROVIDERS.some(({ url })=>{\n var _c_props_href, _c_props;\n return c == null ? void 0 : (_c_props = c.props) == null ? void 0 : (_c_props_href = _c_props.href) == null ? void 0 : _c_props_href.startsWith(url);\n })) {\n const newProps = {\n ...c.props || {},\n \"data-href\": c.props.href,\n href: undefined\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n } else if (c == null ? void 0 : (_c_props1 = c.props) == null ? void 0 : _c_props1.children) {\n const newProps = {\n ...c.props || {},\n children: this.makeStylesheetInert(c.props.children)\n };\n return /*#__PURE__*/ _react.default.cloneElement(c, newProps);\n }\n return c;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n }).filter(Boolean);\n }\n render() {\n const { styles, ampPath, inAmpMode, hybridAmp, canonicalBase, __NEXT_DATA__, dangerousAsPath, headTags, unstable_runtimeJS, unstable_JsPreload, disableOptimizedLoading, optimizeCss, optimizeFonts, assetPrefix, nextFontManifest } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n const disableJsPreload = unstable_JsPreload === false || !disableOptimizedLoading;\n this.context.docComponentsRendered.Head = true;\n let { head } = this.context;\n let cssPreloads = [];\n let otherHeadElements = [];\n if (head) {\n head.forEach((c)=>{\n let metaTag;\n if (this.context.strictNextHead) {\n metaTag = /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-head\",\n content: \"1\"\n });\n }\n if (c && c.type === \"link\" && c.props[\"rel\"] === \"preload\" && c.props[\"as\"] === \"style\") {\n metaTag && cssPreloads.push(metaTag);\n cssPreloads.push(c);\n } else {\n if (c) {\n if (metaTag && (c.type !== \"meta\" || !c.props[\"charSet\"])) {\n otherHeadElements.push(metaTag);\n }\n otherHeadElements.push(c);\n }\n }\n });\n head = cssPreloads.concat(otherHeadElements);\n }\n let children = _react.default.Children.toArray(this.props.children).filter(Boolean);\n // show a warning if Head contains (only in development)\n if (true) {\n children = _react.default.Children.map(children, (child)=>{\n var _child_props;\n const isReactHelmet = child == null ? void 0 : (_child_props = child.props) == null ? void 0 : _child_props[\"data-react-helmet\"];\n if (!isReactHelmet) {\n var _child_props1;\n if ((child == null ? void 0 : child.type) === \"title\") {\n console.warn(\"Warning: <title> should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-title\");\n } else if ((child == null ? void 0 : child.type) === \"meta\" && (child == null ? void 0 : (_child_props1 = child.props) == null ? void 0 : _child_props1.name) === \"viewport\") {\n console.warn(\"Warning: viewport meta tags should not be used in _document.js's <Head>. https://nextjs.org/docs/messages/no-document-viewport-meta\");\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n if (this.props.crossOrigin) console.warn(\"Warning: `Head` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n if (false) {}\n let hasAmphtmlRel = false;\n let hasCanonicalRel = false;\n // show warning and remove conflicting amp head tags\n head = _react.default.Children.map(head || [], (child)=>{\n if (!child) return child;\n const { type, props } = child;\n if ( true && inAmpMode) {\n let badProp = \"\";\n if (type === \"meta\" && props.name === \"viewport\") {\n badProp = 'name=\"viewport\"';\n } else if (type === \"link\" && props.rel === \"canonical\") {\n hasCanonicalRel = true;\n } else if (type === \"script\") {\n // only block if\n // 1. it has a src and isn't pointing to ampproject's CDN\n // 2. it is using dangerouslySetInnerHTML without a type or\n // a type of text/javascript\n if (props.src && props.src.indexOf(\"ampproject\") < -1 || props.dangerouslySetInnerHTML && (!props.type || props.type === \"text/javascript\")) {\n badProp = \"<script\";\n Object.keys(props).forEach((prop)=>{\n badProp += ` ${prop}=\"${props[prop]}\"`;\n });\n badProp += \"/>\";\n }\n }\n if (badProp) {\n console.warn(`Found conflicting amp tag \"${child.type}\" with conflicting prop ${badProp} in ${__NEXT_DATA__.page}. https://nextjs.org/docs/messages/conflicting-amp-tag`);\n return null;\n }\n } else {\n // non-amp mode\n if (type === \"link\" && props.rel === \"amphtml\") {\n hasAmphtmlRel = true;\n }\n }\n return child;\n // @types/react bug. Returned value from .map will not be `null` if you pass in `[null]`\n });\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n const nextFontLinkTags = getNextFontLinkTags(nextFontManifest, dangerousAsPath, assetPrefix);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"head\", {\n ...getHeadHTMLProps(this.props),\n children: [\n this.context.isDevelopment && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n dangerouslySetInnerHTML: {\n __html: `body{display:none}`\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-next-hide-fouc\": true,\n \"data-ampdevmode\": true && inAmpMode ? \"true\" : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n __html: `body{display:block}`\n }\n })\n })\n ]\n }),\n head,\n this.context.strictNextHead ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-head-count\",\n content: _react.default.Children.count(head || []).toString()\n }),\n children,\n optimizeFonts && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-font-preconnect\"\n }),\n nextFontLinkTags.preconnect,\n nextFontLinkTags.preload,\n true && inAmpMode && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width,minimum-scale=1,initial-scale=1\"\n }),\n !hasCanonicalRel && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"canonical\",\n href: canonicalBase + (__webpack_require__(/*! ../server/utils */ \"./node_modules/next/dist/server/utils.js\").cleanAmpPath)(dangerousAsPath)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n as: \"script\",\n href: \"https://cdn.ampproject.org/v0.js\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(AmpStyles, {\n styles: styles\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}`\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n \"amp-boilerplate\": \"\",\n dangerouslySetInnerHTML: {\n __html: `body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}`\n }\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n async: true,\n src: \"https://cdn.ampproject.org/v0.js\"\n })\n ]\n }),\n !( true && inAmpMode) && /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !hasAmphtmlRel && hybridAmp && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"amphtml\",\n href: canonicalBase + getAmpPath(ampPath, dangerousAsPath)\n }),\n this.getBeforeInteractiveInlineScripts(),\n !optimizeCss && this.getCssLinks(files),\n !optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }),\n !disableRuntimeJS && !disableJsPreload && this.getPreloadDynamicChunks(),\n !disableRuntimeJS && !disableJsPreload && this.getPreloadMainLinks(files),\n !disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(),\n !disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(),\n !disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files),\n !disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files),\n optimizeCss && this.getCssLinks(files),\n optimizeCss && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n \"data-n-css\": this.props.nonce ?? \"\"\n }),\n this.context.isDevelopment && // this element is used to mount development styles so the\n // ordering matches production\n // (by default, style-loader injects at the bottom of <head />)\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"noscript\", {\n id: \"__next_css__DO_NOT_USE__\"\n }),\n styles || null\n ]\n }),\n /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, {}, ...headTags || [])\n ]\n });\n }\n}\nfunction handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props) {\n var _children_find_props, _children_find, _children_find_props1, _children_find1;\n if (!props.children) return;\n const scriptLoaderItems = [];\n const children = Array.isArray(props.children) ? props.children : [\n props.children\n ];\n const headChildren = (_children_find = children.find((child)=>child.type === Head)) == null ? void 0 : (_children_find_props = _children_find.props) == null ? void 0 : _children_find_props.children;\n const bodyChildren = (_children_find1 = children.find((child)=>child.type === \"body\")) == null ? void 0 : (_children_find_props1 = _children_find1.props) == null ? void 0 : _children_find_props1.children;\n // Scripts with beforeInteractive can be placed inside Head or <body> so children of both needs to be traversed\n const combinedChildren = [\n ...Array.isArray(headChildren) ? headChildren : [\n headChildren\n ],\n ...Array.isArray(bodyChildren) ? bodyChildren : [\n bodyChildren\n ]\n ];\n _react.default.Children.forEach(combinedChildren, (child)=>{\n var _child_type;\n if (!child) return;\n // When using the `next/script` component, register it in script loader.\n if ((_child_type = child.type) == null ? void 0 : _child_type.__nextScript) {\n if (child.props.strategy === \"beforeInteractive\") {\n scriptLoader.beforeInteractive = (scriptLoader.beforeInteractive || []).concat([\n {\n ...child.props\n }\n ]);\n return;\n } else if ([\n \"lazyOnload\",\n \"afterInteractive\",\n \"worker\"\n ].includes(child.props.strategy)) {\n scriptLoaderItems.push(child.props);\n return;\n }\n }\n });\n __NEXT_DATA__.scriptLoader = scriptLoaderItems;\n}\nclass NextScript extends _react.default.Component {\n static #_ = this.contextType = _htmlcontextsharedruntime.HtmlContext;\n getDynamicChunks(files) {\n return getDynamicChunks(this.context, this.props, files);\n }\n getPreNextScripts() {\n return getPreNextScripts(this.context, this.props);\n }\n getScripts(files) {\n return getScripts(this.context, this.props, files);\n }\n getPolyfillScripts() {\n return getPolyfillScripts(this.context, this.props);\n }\n static getInlineScriptSource(context) {\n const { __NEXT_DATA__, largePageDataBytes } = context;\n try {\n const data = JSON.stringify(__NEXT_DATA__);\n if (largePageDataWarnings.has(__NEXT_DATA__.page)) {\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n }\n const bytes = false ? 0 : Buffer.from(data).byteLength;\n const prettyBytes = (__webpack_require__(/*! ../lib/pretty-bytes */ \"./node_modules/next/dist/lib/pretty-bytes.js\")[\"default\"]);\n if (largePageDataBytes && bytes > largePageDataBytes) {\n if (false) {}\n console.warn(`Warning: data for page \"${__NEXT_DATA__.page}\"${__NEXT_DATA__.page === context.dangerousAsPath ? \"\" : ` (path \"${context.dangerousAsPath}\")`} is ${prettyBytes(bytes)} which exceeds the threshold of ${prettyBytes(largePageDataBytes)}, this amount of data can reduce performance.\\nSee more info here: https://nextjs.org/docs/messages/large-page-data`);\n }\n return (0, _htmlescape.htmlEscapeJsonString)(data);\n } catch (err) {\n if ((0, _iserror.default)(err) && err.message.indexOf(\"circular structure\") !== -1) {\n throw new Error(`Circular structure in \"getInitialProps\" result of page \"${__NEXT_DATA__.page}\". https://nextjs.org/docs/messages/circular-structure`);\n }\n throw err;\n }\n }\n render() {\n const { assetPrefix, inAmpMode, buildManifest, unstable_runtimeJS, docComponentsRendered, assetQueryString, disableOptimizedLoading, crossOrigin } = this.context;\n const disableRuntimeJS = unstable_runtimeJS === false;\n docComponentsRendered.NextScript = true;\n if ( true && inAmpMode) {\n if (false) {}\n const ampDevFiles = [\n ...buildManifest.devFiles,\n ...buildManifest.polyfillFiles,\n ...buildManifest.ampDevFiles\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n },\n \"data-ampdevmode\": true\n }),\n ampDevFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${file}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n \"data-ampdevmode\": true\n }, file))\n ]\n });\n }\n if (true) {\n if (this.props.crossOrigin) console.warn(\"Warning: `NextScript` attribute `crossOrigin` is deprecated. https://nextjs.org/docs/messages/doc-crossorigin-deprecated\");\n }\n const files = getDocumentFiles(this.context.buildManifest, this.context.__NEXT_DATA__.page, true && inAmpMode);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n !disableRuntimeJS && buildManifest.devFiles ? buildManifest.devFiles.map((file)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n src: `${assetPrefix}/_next/${encodeURI(file)}${assetQueryString}`,\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin\n }, file)) : null,\n disableRuntimeJS ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"script\", {\n id: \"__NEXT_DATA__\",\n type: \"application/json\",\n nonce: this.props.nonce,\n crossOrigin: this.props.crossOrigin || crossOrigin,\n dangerouslySetInnerHTML: {\n __html: NextScript.getInlineScriptSource(this.context)\n }\n }),\n disableOptimizedLoading && !disableRuntimeJS && this.getPolyfillScripts(),\n disableOptimizedLoading && !disableRuntimeJS && this.getPreNextScripts(),\n disableOptimizedLoading && !disableRuntimeJS && this.getDynamicChunks(files),\n disableOptimizedLoading && !disableRuntimeJS && this.getScripts(files)\n ]\n });\n }\n}\nfunction Html(props) {\n const { inAmpMode, docComponentsRendered, locale, scriptLoader, __NEXT_DATA__ } = (0, _htmlcontextsharedruntime.useHtmlContext)();\n docComponentsRendered.Html = true;\n handleDocumentScriptLoaderItems(scriptLoader, __NEXT_DATA__, props);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"html\", {\n ...props,\n lang: props.lang || locale || undefined,\n amp: true && inAmpMode ? \"\" : undefined,\n \"data-ampdevmode\": true && inAmpMode && \"development\" !== \"production\" ? \"\" : undefined\n });\n}\nfunction Main() {\n const { docComponentsRendered } = (0, _htmlcontextsharedruntime.useHtmlContext)();\n docComponentsRendered.Main = true;\n // @ts-ignore\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"next-js-internal-body-render-target\", {});\n}\nclass Document extends _react.default.Component {\n /**\n * `getInitialProps` hook returns the context object with the addition of `renderPage`.\n * `renderPage` callback executes `React` rendering logic synchronously to support server-rendering wrappers\n */ static getInitialProps(ctx) {\n return ctx.defaultGetInitialProps(ctx);\n }\n render() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {})\n ]\n })\n ]\n });\n }\n}\n// Add a special property to the built-in `Document` component so later we can\n// identify if a user customized `Document` is used or not.\nconst InternalFunctionDocument = function InternalFunctionDocument() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(Html, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(Main, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(NextScript, {})\n ]\n })\n ]\n });\n};\nDocument[_constants.NEXT_BUILTIN_DOCUMENT] = InternalFunctionDocument; //# sourceMappingURL=_document.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQTs7O0NBR0gsR0FBR0MsU0FBUztRQUNMLE9BQU9PO0lBQ1g7QUFDSjtBQUNBLE1BQU1DLGNBQWNDLG1CQUFPQSxDQUFDLDRDQUFtQjtBQUMvQyxNQUFNQyxTQUFTLFdBQVcsR0FBR0MsMEJBQTBCRixtQkFBT0EsQ0FBQyxvQkFBTztBQUN0RSxNQUFNRyxhQUFhSCxtQkFBT0EsQ0FBQyxpRkFBeUI7QUFDcEQsTUFBTUksZ0JBQWdCSixtQkFBT0EsQ0FBQyxtRkFBMEI7QUFDeEQsTUFBTUssY0FBY0wsbUJBQU9BLENBQUMsMkVBQXNCO0FBQ2xELE1BQU1NLFdBQVcsV0FBVyxHQUFHQyx5QkFBeUJQLG1CQUFPQSxDQUFDLGlFQUFpQjtBQUNqRixNQUFNUSw0QkFBNEJSLG1CQUFPQSxDQUFDLCtJQUEyQztBQUNyRixTQUFTTyx5QkFBeUJFLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDbEIsU0FBU2tCO0lBQ2I7QUFDSjtBQUNBLFNBQVNFLHlCQUF5QkMsV0FBVztJQUN6QyxJQUFJLE9BQU9DLFlBQVksWUFBWSxPQUFPO0lB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WUFBWXFELEdBQUcsRUFBRTlELE1BQU0sQ0FBQztvQkFDMUMsV0FBVyxHQUFJLElBQUdTLFlBQVlxRCxHQUFHLEVBQUVoRSxZQUFZLENBQUM7aUJBQ25EO1lBQ0w7U0FDSDtJQUNMO0FBQ0o7QUFDQVUsUUFBUSxDQUFDSyxXQUFXb1AscUJBQXFCLENBQUMsR0FBR0QsMEJBRTdDLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19kb2N1bWVudC5qcz8zYjhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgSGVhZDogbnVsbCxcbiAgICBOZXh0U2NyaXB0OiBudWxsLFxuICAgIEh0bWw6IG51bGwsXG4gICAgTWFpbjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSGVhZDtcbiAgICB9LFxuICAgIE5leHRTY3JpcHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFNjcmlwdDtcbiAgICB9LFxuICAgIEh0bWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSHRtbDtcbiAgICB9LFxuICAgIE1haW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTWFpbjtcbiAgICB9LFxuICAgIC8qKlxuICogYERvY3VtZW50YCBjb21wb25lbnQgaGFuZGxlcyB0aGUgaW5pdGlhbCBgZG9jdW1lbnRgIG1hcmt1cCBhbmQgcmVuZGVycyBvbmx5IG9uIHRoZSBzZXJ2ZXIgc2lkZS5cbiAqIENvbW1vbmx5IHVzZWQgZm9yIGltcGxlbWVudGluZyBzZXJ2ZXIgc2lkZSByZW5kZXJpbmcgZm9yIGBjc3MtaW4tanNgIGxpYnJhcmllcy5cbiAqLyBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERvY3VtZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfZ2V0cGFnZWZpbGVzID0gcmVxdWlyZShcIi4uL3NlcnZlci9nZXQtcGFnZS1maWxlc1wiKTtcbmNvbnN0IF9odG1sZXNjYXBlID0gcmVxdWlyZShcIi4uL3NlcnZlci9odG1sZXNjYXBlXCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vbGliL2lzLWVycm9yXCIpKTtcbmNvbnN0IF9odG1sY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9odG1sLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICAgIH1cbiAgICB2YXIgbmV3T2JqID0ge307XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuICAgIGZvcih2YXIga2V5IGluIG9iail7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkge1xuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld09ialtrZXldID0gb2JqW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG4gICAgaWYgKGNhY2hlKSB7XG4gICAgICAgIGNhY2hlLnNldChvYmosIG5ld09iaik7XG4gICAgfVxuICAgIHJldHVybiBuZXdPYmo7XG59XG4vKiogU2V0IG9mIHBhZ2VzIHRoYXQgaGF2ZSB0cmlnZ2VyZWQgYSBsYXJnZSBkYXRhIHdhcm5pbmcgb24gcHJvZHVjdGlvbiBtb2RlLiAqLyBjb25zdCBsYXJnZVBhZ2VEYXRhV2FybmluZ3MgPSBuZXcgU2V0KCk7XG5mdW5jdGlvbiBnZXREb2N1bWVudEZpbGVzKGJ1aWxkTWFuaWZlc3QsIHBhdGhuYW1lLCBpbkFtcE1vZGUpIHtcbiAgICBjb25zdCBzaGFyZWRGaWxlcyA9ICgwLCBfZ2V0cGFnZWZpbGVzLmdldFBhZ2VGaWxlcykoYnVpbGRNYW5pZmVzdCwgXCIvX2FwcFwiKTtcbiAgICBjb25zdCBwYWdlRmlsZXMgPSBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSA/IFtdIDogKDAsIF9nZXRwYWdlZmlsZXMuZ2V0UGFnZUZpbGVzKShidWlsZE1hbmlmZXN0LCBwYXRobmFtZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgc2hhcmVkRmlsZXMsXG4gICAgICAgIHBhZ2VGaWxlcyxcbiAgICAgICAgYWxsRmlsZXM6IFtcbiAgICAgICAgICAgIC4uLm5ldyBTZXQoW1xuICAgICAgICAgICAgICAgIC4uLnNoYXJlZEZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLnBhZ2VGaWxlc1xuICAgICAgICAgICAgXSlcbiAgICAgICAgXVxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRQb2x5ZmlsbFNjcmlwdHMoY29udGV4dCwgcHJvcHMpIHtcbiAgICAvLyBwb2x5ZmlsbHMuanMgaGFzIHRvIGJlIHJlbmRlcmVkIGFzIG5vbW9kdWxlIHdpdGhvdXQgYXN5bmNcbiAgICAvLyBJdCBhbHNvIGhhcyB0byBiZSB0aGUgZmlyc3Qgc2NyaXB0IHRvIGxvYWRcbiAgICBjb25zdCB7IGFzc2V0UHJlZml4LCBidWlsZE1hbmlmZXN0LCBhc3NldFF1ZXJ5U3RyaW5nLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZywgY3Jvc3NPcmlnaW4gfSA9IGNvbnRleHQ7XG4gICAgcmV0dXJuIGJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcy5maWx0ZXIoKHBvbHlmaWxsKT0+cG9seWZpbGwuZW5kc1dpdGgoXCIuanNcIikgJiYgIXBvbHlmaWxsLmVuZHNXaXRoKFwiLm1vZHVsZS5qc1wiKSkubWFwKChwb2x5ZmlsbCk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgIG5vTW9kdWxlOiB0cnVlLFxuICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtwb2x5ZmlsbH0ke2Fzc2V0UXVlcnlTdHJpbmd9YFxuICAgICAgICB9LCBwb2x5ZmlsbCkpO1xufVxuZnVuY3Rpb24gaGFzQ29tcG9uZW50UHJvcHMoY2hpbGQpIHtcbiAgICByZXR1cm4gISFjaGlsZCAmJiAhIWNoaWxkLnByb3BzO1xufVxuZnVuY3Rpb24gQW1wU3R5bGVzKHsgc3R5bGVzIH0pIHtcbiAgICBpZiAoIXN0eWxlcykgcmV0dXJuIG51bGw7XG4gICAgLy8gdHJ5IHRvIHBhcnNlIHN0eWxlcyBmcm9tIGZyYWdtZW50IGZvciBiYWNrd2FyZHMgY29tcGF0XG4gICAgY29uc3QgY3VyU3R5bGVzID0gQXJyYXkuaXNBcnJheShzdHlsZXMpID8gc3R5bGVzIDogW107XG4gICAgaWYgKC8vIEB0cy1pZ25vcmUgUHJvcGVydHkgJ3Byb3BzJyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlIFJlYWN0RWxlbWVudFxuICAgIHN0eWxlcy5wcm9wcyAmJiAvLyBAdHMtaWdub3JlIFByb3BlcnR5ICdwcm9wcycgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSBSZWFjdEVsZW1lbnRcbiAgICBBcnJheS5pc0FycmF5KHN0eWxlcy5wcm9wcy5jaGlsZHJlbikpIHtcbiAgICAgICAgY29uc3QgaGFzU3R5bGVzID0gKGVsKT0+e1xuICAgICAgICAgICAgdmFyIF9lbF9wcm9wc19kYW5nZXJvdXNseVNldElubmVySFRNTCwgX2VsX3Byb3BzO1xuICAgICAgICAgICAgcmV0dXJuIGVsID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzID0gZWwucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2VsX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbDtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gQHRzLWlnbm9yZSBQcm9wZXJ0eSAncHJvcHMnIGRvZXMgbm90IGV4aXN0IG9uIHR5cGUgUmVhY3RFbGVtZW50XG4gICAgICAgIHN0eWxlcy5wcm9wcy5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGNoaWxkKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkLmZvckVhY2goKGVsKT0+aGFzU3R5bGVzKGVsKSAmJiBjdXJTdHlsZXMucHVzaChlbCkpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNTdHlsZXMoY2hpbGQpKSB7XG4gICAgICAgICAgICAgICAgY3VyU3R5bGVzLnB1c2goY2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyogQWRkIGN1c3RvbSBzdHlsZXMgYmVmb3JlIEFNUCBzdHlsZXMgdG8gcHJldmVudCBhY2NpZGVudGFsIG92ZXJyaWRlcyAqLyByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0eWxlXCIsIHtcbiAgICAgICAgXCJhbXAtY3VzdG9tXCI6IFwiXCIsXG4gICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICBfX2h0bWw6IGN1clN0eWxlcy5tYXAoKHN0eWxlKT0+c3R5bGUucHJvcHMuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sKS5qb2luKFwiXCIpLnJlcGxhY2UoL1xcL1xcKiMgc291cmNlTWFwcGluZ1VSTD0uKlxcKlxcLy9nLCBcIlwiKS5yZXBsYWNlKC9cXC9cXCpAIHNvdXJjZVVSTD0uKj9cXCpcXC8vZywgXCJcIilcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0RHluYW1pY0NodW5rcyhjb250ZXh0LCBwcm9wcywgZmlsZXMpIHtcbiAgICBjb25zdCB7IGR5bmFtaWNJbXBvcnRzLCBhc3NldFByZWZpeCwgaXNEZXZlbG9wbWVudCwgYXNzZXRRdWVyeVN0cmluZywgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsIGNyb3NzT3JpZ2luIH0gPSBjb250ZXh0O1xuICAgIHJldHVybiBkeW5hbWljSW1wb3J0cy5tYXAoKGZpbGUpPT57XG4gICAgICAgIGlmICghZmlsZS5lbmRzV2l0aChcIi5qc1wiKSB8fCBmaWxlcy5hbGxGaWxlcy5pbmNsdWRlcyhmaWxlKSkgcmV0dXJuIG51bGw7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIGFzeW5jOiAhaXNEZXZlbG9wbWVudCAmJiBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGRlZmVyOiAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBzcmM6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgIG5vbmNlOiBwcm9wcy5ub25jZSxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9LCBmaWxlKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFNjcmlwdHMoY29udGV4dCwgcHJvcHMsIGZpbGVzKSB7XG4gICAgdmFyIF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXM7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCwgYnVpbGRNYW5pZmVzdCwgaXNEZXZlbG9wbWVudCwgYXNzZXRRdWVyeVN0cmluZywgZGlzYWJsZU9wdGltaXplZExvYWRpbmcsIGNyb3NzT3JpZ2luIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IG5vcm1hbFNjcmlwdHMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGZpbGUpPT5maWxlLmVuZHNXaXRoKFwiLmpzXCIpKTtcbiAgICBjb25zdCBsb3dQcmlvcml0eVNjcmlwdHMgPSAoX2J1aWxkTWFuaWZlc3RfbG93UHJpb3JpdHlGaWxlcyA9IGJ1aWxkTWFuaWZlc3QubG93UHJpb3JpdHlGaWxlcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9idWlsZE1hbmlmZXN0X2xvd1ByaW9yaXR5RmlsZXMuZmlsdGVyKChmaWxlKT0+ZmlsZS5lbmRzV2l0aChcIi5qc1wiKSk7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgLi4ubm9ybWFsU2NyaXB0cyxcbiAgICAgICAgLi4ubG93UHJpb3JpdHlTY3JpcHRzXG4gICAgXS5tYXAoKGZpbGUpPT57XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgYXN5bmM6ICFpc0RldmVsb3BtZW50ICYmIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLFxuICAgICAgICAgICAgZGVmZXI6ICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyxcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICB9LCBmaWxlKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldFByZU5leHRXb3JrZXJTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBhc3NldFByZWZpeCwgc2NyaXB0TG9hZGVyLCBjcm9zc09yaWdpbiwgbmV4dFNjcmlwdFdvcmtlcnMgfSA9IGNvbnRleHQ7XG4gICAgLy8gZGlzYWJsZSBgbmV4dFNjcmlwdFdvcmtlcnNgIGluIGVkZ2UgcnVudGltZVxuICAgIGlmICghbmV4dFNjcmlwdFdvcmtlcnMgfHwgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikgcmV0dXJuIG51bGw7XG4gICAgdHJ5IHtcbiAgICAgICAgbGV0IHsgcGFydHl0b3duU25pcHBldCB9ID0gX19ub25fd2VicGFja19yZXF1aXJlX18oXCJAYnVpbGRlci5pby9wYXJ0eXRvd24vaW50ZWdyYXRpb25cIik7XG4gICAgICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIHByb3BzLmNoaWxkcmVuXG4gICAgICAgIF07XG4gICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgdXNlciBoYXMgZGVmaW5lZCB0aGVpciBvd24gUGFydHl0b3duIGNvbmZpZ3VyYXRpb25cbiAgICAgICAgY29uc3QgdXNlckRlZmluZWRDb25maWcgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PntcbiAgICAgICAgICAgIHZhciBfY2hpbGRfcHJvcHNfZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsIF9jaGlsZF9wcm9wcztcbiAgICAgICAgICAgIHJldHVybiBoYXNDb21wb25lbnRQcm9wcyhjaGlsZCkgJiYgKGNoaWxkID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkX3Byb3BzID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MID0gX2NoaWxkX3Byb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSA9PSBudWxsID8gdm9pZCAwIDogX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbC5sZW5ndGgpICYmIFwiZGF0YS1wYXJ0eXRvd24tY29uZmlnXCIgaW4gY2hpbGQucHJvcHM7XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgIXVzZXJEZWZpbmVkQ29uZmlnICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICBcImRhdGEtcGFydHl0b3duLWNvbmZpZ1wiOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBgXG4gICAgICAgICAgICBwYXJ0eXRvd24gPSB7XG4gICAgICAgICAgICAgIGxpYjogXCIke2Fzc2V0UHJlZml4fS9fbmV4dC9zdGF0aWMvfnBhcnR5dG93bi9cIlxuICAgICAgICAgICAgfTtcbiAgICAgICAgICBgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLXBhcnR5dG93blwiOiBcIlwiLFxuICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBwYXJ0eXRvd25TbmlwcGV0KClcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIChzY3JpcHRMb2FkZXIud29ya2VyIHx8IFtdKS5tYXAoKGZpbGUsIGluZGV4KT0+e1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IHN0cmF0ZWd5LCBzcmMsIGNoaWxkcmVuOiBzY3JpcHRDaGlsZHJlbiwgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwsIC4uLnNjcmlwdFByb3BzIH0gPSBmaWxlO1xuICAgICAgICAgICAgICAgICAgICBsZXQgc3JjUHJvcHMgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNyYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVXNlIGV4dGVybmFsIHNyYyBpZiBwcm92aWRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgc3JjUHJvcHMuc3JjID0gc3JjO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmNQcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbFxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzY3JpcHRDaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRW1iZWQgaW5saW5lIHNjcmlwdCBpZiBwcm92aWRlZCB3aXRoIGNoaWxkcmVuXG4gICAgICAgICAgICAgICAgICAgICAgICBzcmNQcm9wcy5kYW5nZXJvdXNseVNldElubmVySFRNTCA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IHR5cGVvZiBzY3JpcHRDaGlsZHJlbiA9PT0gXCJzdHJpbmdcIiA/IHNjcmlwdENoaWxkcmVuIDogQXJyYXkuaXNBcnJheShzY3JpcHRDaGlsZHJlbikgPyBzY3JpcHRDaGlsZHJlbi5qb2luKFwiXCIpIDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgdXNhZ2Ugb2YgbmV4dC9zY3JpcHQuIERpZCB5b3UgZm9yZ2V0IHRvIGluY2x1ZGUgYSBzcmMgYXR0cmlidXRlIG9yIGFuIGlubGluZSBzY3JpcHQ/IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2ludmFsaWQtc2NyaXB0XCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfcmVhY3QuY3JlYXRlRWxlbWVudCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3JjUHJvcHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwidGV4dC9wYXJ0eXRvd25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleTogc3JjIHx8IGluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLW5zY3JpcHRcIjogXCJ3b3JrZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBwcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKCgwLCBfaXNlcnJvci5kZWZhdWx0KShlcnIpICYmIGVyci5jb2RlICE9PSBcIk1PRFVMRV9OT1RfRk9VTkRcIikge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKGBXYXJuaW5nOiAke2Vyci5tZXNzYWdlfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFByZU5leHRTY3JpcHRzKGNvbnRleHQsIHByb3BzKSB7XG4gICAgY29uc3QgeyBzY3JpcHRMb2FkZXIsIGRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nLCBjcm9zc09yaWdpbiB9ID0gY29udGV4dDtcbiAgICBjb25zdCB3ZWJXb3JrZXJTY3JpcHRzID0gZ2V0UHJlTmV4dFdvcmtlclNjcmlwdHMoY29udGV4dCwgcHJvcHMpO1xuICAgIGNvbnN0IGJlZm9yZUludGVyYWN0aXZlU2NyaXB0cyA9IChzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLmZpbHRlcigoc2NyaXB0KT0+c2NyaXB0LnNyYykubWFwKChmaWxlLCBpbmRleCk9PntcbiAgICAgICAgY29uc3QgeyBzdHJhdGVneSwgLi4uc2NyaXB0UHJvcHMgfSA9IGZpbGU7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfcmVhY3QuY3JlYXRlRWxlbWVudCkoXCJzY3JpcHRcIiwge1xuICAgICAgICAgICAgLi4uc2NyaXB0UHJvcHMsXG4gICAgICAgICAgICBrZXk6IHNjcmlwdFByb3BzLnNyYyB8fCBpbmRleCxcbiAgICAgICAgICAgIGRlZmVyOiBzY3JpcHRQcm9wcy5kZWZlciA/PyAhZGlzYWJsZU9wdGltaXplZExvYWRpbmcsXG4gICAgICAgICAgICBub25jZTogcHJvcHMubm9uY2UsXG4gICAgICAgICAgICBcImRhdGEtbnNjcmlwdFwiOiBcImJlZm9yZUludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICBjcm9zc09yaWdpbjogcHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICB3ZWJXb3JrZXJTY3JpcHRzLFxuICAgICAgICAgICAgYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldEhlYWRIVE1MUHJvcHMocHJvcHMpIHtcbiAgICBjb25zdCB7IGNyb3NzT3JpZ2luLCBub25jZSwgLi4ucmVzdFByb3BzIH0gPSBwcm9wcztcbiAgICAvLyBUaGlzIGFzc2lnbm1lbnQgaXMgbmVjZXNzYXJ5IGZvciBhZGRpdGlvbmFsIHR5cGUgY2hlY2tpbmcgdG8gYXZvaWQgdW5zdXBwb3J0ZWQgYXR0cmlidXRlcyBpbiA8aGVhZD5cbiAgICBjb25zdCBoZWFkUHJvcHMgPSByZXN0UHJvcHM7XG4gICAgcmV0dXJuIGhlYWRQcm9wcztcbn1cbmZ1bmN0aW9uIGdldEFtcFBhdGgoYW1wUGF0aCwgYXNQYXRoKSB7XG4gICAgcmV0dXJuIGFtcFBhdGggfHwgYCR7YXNQYXRofSR7YXNQYXRoLmluY2x1ZGVzKFwiP1wiKSA/IFwiJlwiIDogXCI/XCJ9YW1wPTFgO1xufVxuZnVuY3Rpb24gZ2V0TmV4dEZvbnRMaW5rVGFncyhuZXh0Rm9udE1hbmlmZXN0LCBkYW5nZXJvdXNBc1BhdGgsIGFzc2V0UHJlZml4ID0gXCJcIikge1xuICAgIGlmICghbmV4dEZvbnRNYW5pZmVzdCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgcHJlY29ubmVjdDogbnVsbCxcbiAgICAgICAgICAgIHByZWxvYWQ6IG51bGxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29uc3QgYXBwRm9udHNFbnRyeSA9IG5leHRGb250TWFuaWZlc3QucGFnZXNbXCIvX2FwcFwiXTtcbiAgICBjb25zdCBwYWdlRm9udHNFbnRyeSA9IG5leHRGb250TWFuaWZlc3QucGFnZXNbZGFuZ2Vyb3VzQXNQYXRoXTtcbiAgICBjb25zdCBwcmVsb2FkZWRGb250RmlsZXMgPSBbXG4gICAgICAgIC4uLmFwcEZvbnRzRW50cnkgPz8gW10sXG4gICAgICAgIC4uLnBhZ2VGb250c0VudHJ5ID8/IFtdXG4gICAgXTtcbiAgICAvLyBJZiBubyBmb250IGZpbGVzIHNob3VsZCBwcmVsb2FkIGJ1dCB0aGVyZSdzIGFuIGVudHJ5IGZvciB0aGUgcGF0aCwgYWRkIGEgcHJlY29ubmVjdCB0YWcuXG4gICAgY29uc3QgcHJlY29ubmVjdFRvU2VsZiA9ICEhKHByZWxvYWRlZEZvbnRGaWxlcy5sZW5ndGggPT09IDAgJiYgKGFwcEZvbnRzRW50cnkgfHwgcGFnZUZvbnRzRW50cnkpKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcmVjb25uZWN0OiBwcmVjb25uZWN0VG9TZWxmID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgXCJkYXRhLW5leHQtZm9udFwiOiBuZXh0Rm9udE1hbmlmZXN0LnBhZ2VzVXNpbmdTaXplQWRqdXN0ID8gXCJzaXplLWFkanVzdFwiIDogXCJcIixcbiAgICAgICAgICAgIHJlbDogXCJwcmVjb25uZWN0XCIsXG4gICAgICAgICAgICBocmVmOiBcIi9cIixcbiAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBcImFub255bW91c1wiXG4gICAgICAgIH0pIDogbnVsbCxcbiAgICAgICAgcHJlbG9hZDogcHJlbG9hZGVkRm9udEZpbGVzID8gcHJlbG9hZGVkRm9udEZpbGVzLm1hcCgoZm9udEZpbGUpPT57XG4gICAgICAgICAgICBjb25zdCBleHQgPSAvXFwuKHdvZmZ8d29mZjJ8ZW90fHR0ZnxvdGYpJC8uZXhlYyhmb250RmlsZSlbMV07XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAgaHJlZjogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZvbnRGaWxlKX1gLFxuICAgICAgICAgICAgICAgIGFzOiBcImZvbnRcIixcbiAgICAgICAgICAgICAgICB0eXBlOiBgZm9udC8ke2V4dH1gLFxuICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiBcImFub255bW91c1wiLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0LWZvbnRcIjogZm9udEZpbGUuaW5jbHVkZXMoXCItc1wiKSA/IFwic2l6ZS1hZGp1c3RcIiA6IFwiXCJcbiAgICAgICAgICAgIH0sIGZvbnRGaWxlKTtcbiAgICAgICAgfSkgOiBudWxsXG4gICAgfTtcbn1cbmNsYXNzIEhlYWQgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyAjXyA9IHRoaXMuY29udGV4dFR5cGUgPSBfaHRtbGNvbnRleHRzaGFyZWRydW50aW1lLkh0bWxDb250ZXh0O1xuICAgIGdldENzc0xpbmtzKGZpbGVzKSB7XG4gICAgICAgIGNvbnN0IHsgYXNzZXRQcmVmaXgsIGFzc2V0UXVlcnlTdHJpbmcsIGR5bmFtaWNJbXBvcnRzLCBjcm9zc09yaWdpbiwgb3B0aW1pemVDc3MsIG9wdGltaXplRm9udHMgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgY3NzRmlsZXMgPSBmaWxlcy5hbGxGaWxlcy5maWx0ZXIoKGYpPT5mLmVuZHNXaXRoKFwiLmNzc1wiKSk7XG4gICAgICAgIGNvbnN0IHNoYXJlZEZpbGVzID0gbmV3IFNldChmaWxlcy5zaGFyZWRGaWxlcyk7XG4gICAgICAgIC8vIFVubWFuYWdlZCBmaWxlcyBhcmUgQ1NTIGZpbGVzIHRoYXQgd2lsbCBiZSBoYW5kbGVkIGRpcmVjdGx5IGJ5IHRoZVxuICAgICAgICAvLyB3ZWJwYWNrIHJ1bnRpbWUgKGBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbmApLlxuICAgICAgICBsZXQgdW5tYW5nZWRGaWxlcyA9IG5ldyBTZXQoW10pO1xuICAgICAgICBsZXQgZHluYW1pY0Nzc0ZpbGVzID0gQXJyYXkuZnJvbShuZXcgU2V0KGR5bmFtaWNJbXBvcnRzLmZpbHRlcigoZmlsZSk9PmZpbGUuZW5kc1dpdGgoXCIuY3NzXCIpKSkpO1xuICAgICAgICBpZiAoZHluYW1pY0Nzc0ZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgY29uc3QgZXhpc3RpbmcgPSBuZXcgU2V0KGNzc0ZpbGVzKTtcbiAgICAgICAgICAgIGR5bmFtaWNDc3NGaWxlcyA9IGR5bmFtaWNDc3NGaWxlcy5maWx0ZXIoKGYpPT4hKGV4aXN0aW5nLmhhcyhmKSB8fCBzaGFyZWRGaWxlcy5oYXMoZikpKTtcbiAgICAgICAgICAgIHVubWFuZ2VkRmlsZXMgPSBuZXcgU2V0KGR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgICAgICBjc3NGaWxlcy5wdXNoKC4uLmR5bmFtaWNDc3NGaWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGNzc0xpbmtFbGVtZW50cyA9IFtdO1xuICAgICAgICBjc3NGaWxlcy5mb3JFYWNoKChmaWxlKT0+e1xuICAgICAgICAgICAgY29uc3QgaXNTaGFyZWRGaWxlID0gc2hhcmVkRmlsZXMuaGFzKGZpbGUpO1xuICAgICAgICAgICAgaWYgKCFvcHRpbWl6ZUNzcykge1xuICAgICAgICAgICAgICAgIGNzc0xpbmtFbGVtZW50cy5wdXNoKC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgYXM6IFwic3R5bGVcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9LCBgJHtmaWxlfS1wcmVsb2FkYCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgaXNVbm1hbmFnZWRGaWxlID0gdW5tYW5nZWRGaWxlcy5oYXMoZmlsZSk7XG4gICAgICAgICAgICBjc3NMaW5rRWxlbWVudHMucHVzaCgvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgcmVsOiBcInN0eWxlc2hlZXRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW4sXG4gICAgICAgICAgICAgICAgXCJkYXRhLW4tZ1wiOiBpc1VubWFuYWdlZEZpbGUgPyB1bmRlZmluZWQgOiBpc1NoYXJlZEZpbGUgPyBcIlwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uLXBcIjogaXNVbm1hbmFnZWRGaWxlID8gdW5kZWZpbmVkIDogaXNTaGFyZWRGaWxlID8gdW5kZWZpbmVkIDogXCJcIlxuICAgICAgICAgICAgfSwgZmlsZSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgJiYgb3B0aW1pemVGb250cykge1xuICAgICAgICAgICAgY3NzTGlua0VsZW1lbnRzID0gdGhpcy5tYWtlU3R5bGVzaGVldEluZXJ0KGNzc0xpbmtFbGVtZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNzc0xpbmtFbGVtZW50cy5sZW5ndGggPT09IDAgPyBudWxsIDogY3NzTGlua0VsZW1lbnRzO1xuICAgIH1cbiAgICBnZXRQcmVsb2FkRHluYW1pY0NodW5rcygpIHtcbiAgICAgICAgY29uc3QgeyBkeW5hbWljSW1wb3J0cywgYXNzZXRQcmVmaXgsIGFzc2V0UXVlcnlTdHJpbmcsIGNyb3NzT3JpZ2luIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIHJldHVybiBkeW5hbWljSW1wb3J0cy5tYXAoKGZpbGUpPT57XG4gICAgICAgICAgICBpZiAoIWZpbGUuZW5kc1dpdGgoXCIuanNcIikpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICBocmVmOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtlbmNvZGVVUkkoZmlsZSl9JHthc3NldFF1ZXJ5U3RyaW5nfWAsXG4gICAgICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgIH0sIGZpbGUpO1xuICAgICAgICB9KS8vIEZpbHRlciBvdXQgbnVsbGVkIHNjcmlwdHNcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKTtcbiAgICB9XG4gICAgZ2V0UHJlbG9hZE1haW5MaW5rcyhmaWxlcykge1xuICAgICAgICBjb25zdCB7IGFzc2V0UHJlZml4LCBhc3NldFF1ZXJ5U3RyaW5nLCBzY3JpcHRMb2FkZXIsIGNyb3NzT3JpZ2luIH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IHByZWxvYWRGaWxlcyA9IGZpbGVzLmFsbEZpbGVzLmZpbHRlcigoZmlsZSk9PntcbiAgICAgICAgICAgIHJldHVybiBmaWxlLmVuZHNXaXRoKFwiLmpzXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIC4uLihzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgfHwgW10pLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IGZpbGUuc3JjLFxuICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgY3Jvc3NPcmlnaW46IHRoaXMucHJvcHMuY3Jvc3NPcmlnaW4gfHwgY3Jvc3NPcmlnaW5cbiAgICAgICAgICAgICAgICB9LCBmaWxlLnNyYykpLFxuICAgICAgICAgICAgLi4ucHJlbG9hZEZpbGVzLm1hcCgoZmlsZSk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IGAke2Fzc2V0UHJlZml4fS9fbmV4dC8ke2VuY29kZVVSSShmaWxlKX0ke2Fzc2V0UXVlcnlTdHJpbmd9YCxcbiAgICAgICAgICAgICAgICAgICAgYXM6IFwic2NyaXB0XCIsXG4gICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luXG4gICAgICAgICAgICAgICAgfSwgZmlsZSkpXG4gICAgICAgIF07XG4gICAgfVxuICAgIGdldEJlZm9yZUludGVyYWN0aXZlSW5saW5lU2NyaXB0cygpIHtcbiAgICAgICAgY29uc3QgeyBzY3JpcHRMb2FkZXIgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgeyBub25jZSwgY3Jvc3NPcmlnaW4gfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIHJldHVybiAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5maWx0ZXIoKHNjcmlwdCk9PiFzY3JpcHQuc3JjICYmIChzY3JpcHQuZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgfHwgc2NyaXB0LmNoaWxkcmVuKSkubWFwKChmaWxlLCBpbmRleCk9PntcbiAgICAgICAgICAgIGNvbnN0IHsgc3RyYXRlZ3ksIGNoaWxkcmVuLCBkYW5nZXJvdXNseVNldElubmVySFRNTCwgc3JjLCAuLi5zY3JpcHRQcm9wcyB9ID0gZmlsZTtcbiAgICAgICAgICAgIGxldCBodG1sID0gXCJcIjtcbiAgICAgICAgICAgIGlmIChkYW5nZXJvdXNseVNldElubmVySFRNTCAmJiBkYW5nZXJvdXNseVNldElubmVySFRNTC5fX2h0bWwpIHtcbiAgICAgICAgICAgICAgICBodG1sID0gZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwuX19odG1sO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgIGh0bWwgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX3JlYWN0LmNyZWF0ZUVsZW1lbnQpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAuLi5zY3JpcHRQcm9wcyxcbiAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGh0bWxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGtleTogc2NyaXB0UHJvcHMuaWQgfHwgaW5kZXgsXG4gICAgICAgICAgICAgICAgbm9uY2U6IG5vbmNlLFxuICAgICAgICAgICAgICAgIFwiZGF0YS1uc2NyaXB0XCI6IFwiYmVmb3JlSW50ZXJhY3RpdmVcIixcbiAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogY3Jvc3NPcmlnaW4gfHwgcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXREeW5hbWljQ2h1bmtzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXREeW5hbWljQ2h1bmtzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQcmVOZXh0U2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFByZU5leHRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcyk7XG4gICAgfVxuICAgIGdldFNjcmlwdHMoZmlsZXMpIHtcbiAgICAgICAgcmV0dXJuIGdldFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzLCBmaWxlcyk7XG4gICAgfVxuICAgIGdldFBvbHlmaWxsU2NyaXB0cygpIHtcbiAgICAgICAgcmV0dXJuIGdldFBvbHlmaWxsU2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBtYWtlU3R5bGVzaGVldEluZXJ0KG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChub2RlLCAoYyk9PntcbiAgICAgICAgICAgIHZhciBfY19wcm9wcywgX2NfcHJvcHMxO1xuICAgICAgICAgICAgaWYgKChjID09IG51bGwgPyB2b2lkIDAgOiBjLnR5cGUpID09PSBcImxpbmtcIiAmJiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzID0gYy5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jX3Byb3BzLmhyZWYpICYmIF9jb25zdGFudHMuT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTLnNvbWUoKHsgdXJsIH0pPT57XG4gICAgICAgICAgICAgICAgdmFyIF9jX3Byb3BzX2hyZWYsIF9jX3Byb3BzO1xuICAgICAgICAgICAgICAgIHJldHVybiBjID09IG51bGwgPyB2b2lkIDAgOiAoX2NfcHJvcHMgPSBjLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzX2hyZWYgPSBfY19wcm9wcy5ocmVmKSA9PSBudWxsID8gdm9pZCAwIDogX2NfcHJvcHNfaHJlZi5zdGFydHNXaXRoKHVybCk7XG4gICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld1Byb3BzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi5jLnByb3BzIHx8IHt9LFxuICAgICAgICAgICAgICAgICAgICBcImRhdGEtaHJlZlwiOiBjLnByb3BzLmhyZWYsXG4gICAgICAgICAgICAgICAgICAgIGhyZWY6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGMsIG5ld1Byb3BzKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYyA9PSBudWxsID8gdm9pZCAwIDogKF9jX3Byb3BzMSA9IGMucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY19wcm9wczEuY2hpbGRyZW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdQcm9wcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4uYy5wcm9wcyB8fCB7fSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHRoaXMubWFrZVN0eWxlc2hlZXRJbmVydChjLnByb3BzLmNoaWxkcmVuKVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGMsIG5ld1Byb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjO1xuICAgICAgICAvLyBAdHlwZXMvcmVhY3QgYnVnLiBSZXR1cm5lZCB2YWx1ZSBmcm9tIC5tYXAgd2lsbCBub3QgYmUgYG51bGxgIGlmIHlvdSBwYXNzIGluIGBbbnVsbF1gXG4gICAgICAgIH0pLmZpbHRlcihCb29sZWFuKTtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IHN0eWxlcywgYW1wUGF0aCwgaW5BbXBNb2RlLCBoeWJyaWRBbXAsIGNhbm9uaWNhbEJhc2UsIF9fTkVYVF9EQVRBX18sIGRhbmdlcm91c0FzUGF0aCwgaGVhZFRhZ3MsIHVuc3RhYmxlX3J1bnRpbWVKUywgdW5zdGFibGVfSnNQcmVsb2FkLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZywgb3B0aW1pemVDc3MsIG9wdGltaXplRm9udHMsIGFzc2V0UHJlZml4LCBuZXh0Rm9udE1hbmlmZXN0IH0gPSB0aGlzLmNvbnRleHQ7XG4gICAgICAgIGNvbnN0IGRpc2FibGVSdW50aW1lSlMgPSB1bnN0YWJsZV9ydW50aW1lSlMgPT09IGZhbHNlO1xuICAgICAgICBjb25zdCBkaXNhYmxlSnNQcmVsb2FkID0gdW5zdGFibGVfSnNQcmVsb2FkID09PSBmYWxzZSB8fCAhZGlzYWJsZU9wdGltaXplZExvYWRpbmc7XG4gICAgICAgIHRoaXMuY29udGV4dC5kb2NDb21wb25lbnRzUmVuZGVyZWQuSGVhZCA9IHRydWU7XG4gICAgICAgIGxldCB7IGhlYWQgfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgbGV0IGNzc1ByZWxvYWRzID0gW107XG4gICAgICAgIGxldCBvdGhlckhlYWRFbGVtZW50cyA9IFtdO1xuICAgICAgICBpZiAoaGVhZCkge1xuICAgICAgICAgICAgaGVhZC5mb3JFYWNoKChjKT0+e1xuICAgICAgICAgICAgICAgIGxldCBtZXRhVGFnO1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0TmV4dEhlYWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWV0YVRhZyA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcIm1ldGFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZTogXCJuZXh0LWhlYWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiMVwiXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoYyAmJiBjLnR5cGUgPT09IFwibGlua1wiICYmIGMucHJvcHNbXCJyZWxcIl0gPT09IFwicHJlbG9hZFwiICYmIGMucHJvcHNbXCJhc1wiXSA9PT0gXCJzdHlsZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIG1ldGFUYWcgJiYgY3NzUHJlbG9hZHMucHVzaChtZXRhVGFnKTtcbiAgICAgICAgICAgICAgICAgICAgY3NzUHJlbG9hZHMucHVzaChjKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAoYykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1ldGFUYWcgJiYgKGMudHlwZSAhPT0gXCJtZXRhXCIgfHwgIWMucHJvcHNbXCJjaGFyU2V0XCJdKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG90aGVySGVhZEVsZW1lbnRzLnB1c2gobWV0YVRhZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBvdGhlckhlYWRFbGVtZW50cy5wdXNoKGMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBoZWFkID0gY3NzUHJlbG9hZHMuY29uY2F0KG90aGVySGVhZEVsZW1lbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY2hpbGRyZW4gPSBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi50b0FycmF5KHRoaXMucHJvcHMuY2hpbGRyZW4pLmZpbHRlcihCb29sZWFuKTtcbiAgICAgICAgLy8gc2hvdyBhIHdhcm5pbmcgaWYgSGVhZCBjb250YWlucyA8dGl0bGU+IChvbmx5IGluIGRldmVsb3BtZW50KVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm1hcChjaGlsZHJlbiwgKGNoaWxkKT0+e1xuICAgICAgICAgICAgICAgIHZhciBfY2hpbGRfcHJvcHM7XG4gICAgICAgICAgICAgICAgY29uc3QgaXNSZWFjdEhlbG1ldCA9IGNoaWxkID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkX3Byb3BzID0gY2hpbGQucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRfcHJvcHNbXCJkYXRhLXJlYWN0LWhlbG1ldFwiXTtcbiAgICAgICAgICAgICAgICBpZiAoIWlzUmVhY3RIZWxtZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9jaGlsZF9wcm9wczE7XG4gICAgICAgICAgICAgICAgICAgIGlmICgoY2hpbGQgPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkLnR5cGUpID09PSBcInRpdGxlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIldhcm5pbmc6IDx0aXRsZT4gc2hvdWxkIG5vdCBiZSB1c2VkIGluIF9kb2N1bWVudC5qcydzIDxIZWFkPi4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm8tZG9jdW1lbnQtdGl0bGVcIik7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoKGNoaWxkID09IG51bGwgPyB2b2lkIDAgOiBjaGlsZC50eXBlKSA9PT0gXCJtZXRhXCIgJiYgKGNoaWxkID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkX3Byb3BzMSA9IGNoaWxkLnByb3BzKSA9PSBudWxsID8gdm9pZCAwIDogX2NoaWxkX3Byb3BzMS5uYW1lKSA9PT0gXCJ2aWV3cG9ydFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJXYXJuaW5nOiB2aWV3cG9ydCBtZXRhIHRhZ3Mgc2hvdWxkIG5vdCBiZSB1c2VkIGluIF9kb2N1bWVudC5qcydzIDxIZWFkPi4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm8tZG9jdW1lbnQtdmlld3BvcnQtbWV0YVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGQ7XG4gICAgICAgICAgICAvLyBAdHlwZXMvcmVhY3QgYnVnLiBSZXR1cm5lZCB2YWx1ZSBmcm9tIC5tYXAgd2lsbCBub3QgYmUgYG51bGxgIGlmIHlvdSBwYXNzIGluIGBbbnVsbF1gXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmNyb3NzT3JpZ2luKSBjb25zb2xlLndhcm4oXCJXYXJuaW5nOiBgSGVhZGAgYXR0cmlidXRlIGBjcm9zc09yaWdpbmAgaXMgZGVwcmVjYXRlZC4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZG9jLWNyb3Nzb3JpZ2luLWRlcHJlY2F0ZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcImRldmVsb3BtZW50XCIgJiYgb3B0aW1pemVGb250cyAmJiAhKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSkge1xuICAgICAgICAgICAgY2hpbGRyZW4gPSB0aGlzLm1ha2VTdHlsZXNoZWV0SW5lcnQoY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgICAgIGxldCBoYXNBbXBodG1sUmVsID0gZmFsc2U7XG4gICAgICAgIGxldCBoYXNDYW5vbmljYWxSZWwgPSBmYWxzZTtcbiAgICAgICAgLy8gc2hvdyB3YXJuaW5nIGFuZCByZW1vdmUgY29uZmxpY3RpbmcgYW1wIGhlYWQgdGFnc1xuICAgICAgICBoZWFkID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ubWFwKGhlYWQgfHwgW10sIChjaGlsZCk9PntcbiAgICAgICAgICAgIGlmICghY2hpbGQpIHJldHVybiBjaGlsZDtcbiAgICAgICAgICAgIGNvbnN0IHsgdHlwZSwgcHJvcHMgfSA9IGNoaWxkO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICAgICAgbGV0IGJhZFByb3AgPSBcIlwiO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBcIm1ldGFcIiAmJiBwcm9wcy5uYW1lID09PSBcInZpZXdwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFkUHJvcCA9ICduYW1lPVwidmlld3BvcnRcIic7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSBcImxpbmtcIiAmJiBwcm9wcy5yZWwgPT09IFwiY2Fub25pY2FsXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgaGFzQ2Fub25pY2FsUmVsID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGUgPT09IFwic2NyaXB0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gb25seSBibG9jayBpZlxuICAgICAgICAgICAgICAgICAgICAvLyAxLiBpdCBoYXMgYSBzcmMgYW5kIGlzbid0IHBvaW50aW5nIHRvIGFtcHByb2plY3QncyBDRE5cbiAgICAgICAgICAgICAgICAgICAgLy8gMi4gaXQgaXMgdXNpbmcgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwgd2l0aG91dCBhIHR5cGUgb3JcbiAgICAgICAgICAgICAgICAgICAgLy8gYSB0eXBlIG9mIHRleHQvamF2YXNjcmlwdFxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvcHMuc3JjICYmIHByb3BzLnNyYy5pbmRleE9mKFwiYW1wcHJvamVjdFwiKSA8IC0xIHx8IHByb3BzLmRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICYmICghcHJvcHMudHlwZSB8fCBwcm9wcy50eXBlID09PSBcInRleHQvamF2YXNjcmlwdFwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFkUHJvcCA9IFwiPHNjcmlwdFwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmtleXMocHJvcHMpLmZvckVhY2goKHByb3ApPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFkUHJvcCArPSBgICR7cHJvcH09XCIke3Byb3BzW3Byb3BdfVwiYDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFkUHJvcCArPSBcIi8+XCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGJhZFByb3ApIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBGb3VuZCBjb25mbGljdGluZyBhbXAgdGFnIFwiJHtjaGlsZC50eXBlfVwiIHdpdGggY29uZmxpY3RpbmcgcHJvcCAke2JhZFByb3B9IGluICR7X19ORVhUX0RBVEFfXy5wYWdlfS4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvY29uZmxpY3RpbmctYW1wLXRhZ2ApO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIG5vbi1hbXAgbW9kZVxuICAgICAgICAgICAgICAgIGlmICh0eXBlID09PSBcImxpbmtcIiAmJiBwcm9wcy5yZWwgPT09IFwiYW1waHRtbFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGhhc0FtcGh0bWxSZWwgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBjaGlsZDtcbiAgICAgICAgLy8gQHR5cGVzL3JlYWN0IGJ1Zy4gUmV0dXJuZWQgdmFsdWUgZnJvbSAubWFwIHdpbGwgbm90IGJlIGBudWxsYCBpZiB5b3UgcGFzcyBpbiBgW251bGxdYFxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBnZXREb2N1bWVudEZpbGVzKHRoaXMuY29udGV4dC5idWlsZE1hbmlmZXN0LCB0aGlzLmNvbnRleHQuX19ORVhUX0RBVEFfXy5wYWdlLCBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSk7XG4gICAgICAgIGNvbnN0IG5leHRGb250TGlua1RhZ3MgPSBnZXROZXh0Rm9udExpbmtUYWdzKG5leHRGb250TWFuaWZlc3QsIGRhbmdlcm91c0FzUGF0aCwgYXNzZXRQcmVmaXgpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJoZWFkXCIsIHtcbiAgICAgICAgICAgIC4uLmdldEhlYWRIVE1MUHJvcHModGhpcy5wcm9wcyksXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0RldmVsb3BtZW50ICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0LWhpZGUtZm91Y1wiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlID8gXCJ0cnVlXCIgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXtkaXNwbGF5Om5vbmV9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtbmV4dC1oaWRlLWZvdWNcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtYW1wZGV2bW9kZVwiOiBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSA/IFwidHJ1ZVwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXtkaXNwbGF5OmJsb2NrfWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgaGVhZCxcbiAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuc3RyaWN0TmV4dEhlYWQgPyBudWxsIDogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm1ldGFcIiwge1xuICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtaGVhZC1jb3VudFwiLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5jb3VudChoZWFkIHx8IFtdKS50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgb3B0aW1pemVGb250cyAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIG5hbWU6IFwibmV4dC1mb250LXByZWNvbm5lY3RcIlxuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgIG5leHRGb250TGlua1RhZ3MucHJlY29ubmVjdCxcbiAgICAgICAgICAgICAgICBuZXh0Rm9udExpbmtUYWdzLnByZWxvYWQsXG4gICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FICE9PSBcImVkZ2VcIiAmJiBpbkFtcE1vZGUgJiYgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJ3aWR0aD1kZXZpY2Utd2lkdGgsbWluaW11bS1zY2FsZT0xLGluaXRpYWwtc2NhbGU9MVwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICFoYXNDYW5vbmljYWxSZWwgJiYgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmtcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbDogXCJjYW5vbmljYWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBjYW5vbmljYWxCYXNlICsgcmVxdWlyZShcIi4uL3NlcnZlci91dGlsc1wiKS5jbGVhbkFtcFBhdGgoZGFuZ2Vyb3VzQXNQYXRoKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGlua1wiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsOiBcInByZWxvYWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhczogXCJzY3JpcHRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShBbXBTdHlsZXMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZXM6IHN0eWxlc1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYW1wLWJvaWxlcnBsYXRlXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBgYm9keXstd2Via2l0LWFuaW1hdGlvbjotYW1wLXN0YXJ0IDhzIHN0ZXBzKDEsZW5kKSAwcyAxIG5vcm1hbCBib3RoOy1tb3otYW5pbWF0aW9uOi1hbXAtc3RhcnQgOHMgc3RlcHMoMSxlbmQpIDBzIDEgbm9ybWFsIGJvdGg7LW1zLWFuaW1hdGlvbjotYW1wLXN0YXJ0IDhzIHN0ZXBzKDEsZW5kKSAwcyAxIG5vcm1hbCBib3RoO2FuaW1hdGlvbjotYW1wLXN0YXJ0IDhzIHN0ZXBzKDEsZW5kKSAwcyAxIG5vcm1hbCBib3RofUAtd2Via2l0LWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1ALW1vei1rZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19QC1tcy1rZXlmcmFtZXMgLWFtcC1zdGFydHtmcm9te3Zpc2liaWxpdHk6aGlkZGVufXRve3Zpc2liaWxpdHk6dmlzaWJsZX19QC1vLWtleWZyYW1lcyAtYW1wLXN0YXJ0e2Zyb217dmlzaWJpbGl0eTpoaWRkZW59dG97dmlzaWJpbGl0eTp2aXNpYmxlfX1Aa2V5ZnJhbWVzIC1hbXAtc3RhcnR7ZnJvbXt2aXNpYmlsaXR5OmhpZGRlbn10b3t2aXNpYmlsaXR5OnZpc2libGV9fWBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiYW1wLWJvaWxlcnBsYXRlXCI6IFwiXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX2h0bWw6IGBib2R5ey13ZWJraXQtYW5pbWF0aW9uOm5vbmU7LW1vei1hbmltYXRpb246bm9uZTstbXMtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9YFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN5bmM6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBcImh0dHBzOi8vY2RuLmFtcHByb2plY3Qub3JnL3YwLmpzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAhKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgIWhhc0FtcGh0bWxSZWwgJiYgaHlicmlkQW1wICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWw6IFwiYW1waHRtbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY6IGNhbm9uaWNhbEJhc2UgKyBnZXRBbXBQYXRoKGFtcFBhdGgsIGRhbmdlcm91c0FzUGF0aClcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5nZXRCZWZvcmVJbnRlcmFjdGl2ZUlubGluZVNjcmlwdHMoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICFvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICFvcHRpbWl6ZUNzcyAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibm9zY3JpcHRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1uLWNzc1wiOiB0aGlzLnByb3BzLm5vbmNlID8/IFwiXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkRHluYW1pY0NodW5rcygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWRpc2FibGVSdW50aW1lSlMgJiYgIWRpc2FibGVKc1ByZWxvYWQgJiYgdGhpcy5nZXRQcmVsb2FkTWFpbkxpbmtzKGZpbGVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFBvbHlmaWxsU2NyaXB0cygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0UHJlTmV4dFNjcmlwdHMoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICFkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldER5bmFtaWNDaHVua3MoZmlsZXMpLFxuICAgICAgICAgICAgICAgICAgICAgICAgIWRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nICYmICFkaXNhYmxlUnVudGltZUpTICYmIHRoaXMuZ2V0U2NyaXB0cyhmaWxlcyksXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpbWl6ZUNzcyAmJiB0aGlzLmdldENzc0xpbmtzKGZpbGVzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGltaXplQ3NzICYmIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJub3NjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLW4tY3NzXCI6IHRoaXMucHJvcHMubm9uY2UgPz8gXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNEZXZlbG9wbWVudCAmJiAvLyB0aGlzIGVsZW1lbnQgaXMgdXNlZCB0byBtb3VudCBkZXZlbG9wbWVudCBzdHlsZXMgc28gdGhlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvcmRlcmluZyBtYXRjaGVzIHByb2R1Y3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIChieSBkZWZhdWx0LCBzdHlsZS1sb2FkZXIgaW5qZWN0cyBhdCB0aGUgYm90dG9tIG9mIDxoZWFkIC8+KVxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm5vc2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJfX25leHRfY3NzX19ET19OT1RfVVNFX19cIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZXMgfHwgbnVsbFxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCB7fSwgLi4uaGVhZFRhZ3MgfHwgW10pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcykge1xuICAgIHZhciBfY2hpbGRyZW5fZmluZF9wcm9wcywgX2NoaWxkcmVuX2ZpbmQsIF9jaGlsZHJlbl9maW5kX3Byb3BzMSwgX2NoaWxkcmVuX2ZpbmQxO1xuICAgIGlmICghcHJvcHMuY2hpbGRyZW4pIHJldHVybjtcbiAgICBjb25zdCBzY3JpcHRMb2FkZXJJdGVtcyA9IFtdO1xuICAgIGNvbnN0IGNoaWxkcmVuID0gQXJyYXkuaXNBcnJheShwcm9wcy5jaGlsZHJlbikgPyBwcm9wcy5jaGlsZHJlbiA6IFtcbiAgICAgICAgcHJvcHMuY2hpbGRyZW5cbiAgICBdO1xuICAgIGNvbnN0IGhlYWRDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZCA9IGNoaWxkcmVuLmZpbmQoKGNoaWxkKT0+Y2hpbGQudHlwZSA9PT0gSGVhZCkpID09IG51bGwgPyB2b2lkIDAgOiAoX2NoaWxkcmVuX2ZpbmRfcHJvcHMgPSBfY2hpbGRyZW5fZmluZC5wcm9wcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZHJlbl9maW5kX3Byb3BzLmNoaWxkcmVuO1xuICAgIGNvbnN0IGJvZHlDaGlsZHJlbiA9IChfY2hpbGRyZW5fZmluZDEgPSBjaGlsZHJlbi5maW5kKChjaGlsZCk9PmNoaWxkLnR5cGUgPT09IFwiYm9keVwiKSkgPT0gbnVsbCA/IHZvaWQgMCA6IChfY2hpbGRyZW5fZmluZF9wcm9wczEgPSBfY2hpbGRyZW5fZmluZDEucHJvcHMpID09IG51bGwgPyB2b2lkIDAgOiBfY2hpbGRyZW5fZmluZF9wcm9wczEuY2hpbGRyZW47XG4gICAgLy8gU2NyaXB0cyB3aXRoIGJlZm9yZUludGVyYWN0aXZlIGNhbiBiZSBwbGFjZWQgaW5zaWRlIEhlYWQgb3IgPGJvZHk+IHNvIGNoaWxkcmVuIG9mIGJvdGggbmVlZHMgdG8gYmUgdHJhdmVyc2VkXG4gICAgY29uc3QgY29tYmluZWRDaGlsZHJlbiA9IFtcbiAgICAgICAgLi4uQXJyYXkuaXNBcnJheShoZWFkQ2hpbGRyZW4pID8gaGVhZENoaWxkcmVuIDogW1xuICAgICAgICAgICAgaGVhZENoaWxkcmVuXG4gICAgICAgIF0sXG4gICAgICAgIC4uLkFycmF5LmlzQXJyYXkoYm9keUNoaWxkcmVuKSA/IGJvZHlDaGlsZHJlbiA6IFtcbiAgICAgICAgICAgIGJvZHlDaGlsZHJlblxuICAgICAgICBdXG4gICAgXTtcbiAgICBfcmVhY3QuZGVmYXVsdC5DaGlsZHJlbi5mb3JFYWNoKGNvbWJpbmVkQ2hpbGRyZW4sIChjaGlsZCk9PntcbiAgICAgICAgdmFyIF9jaGlsZF90eXBlO1xuICAgICAgICBpZiAoIWNoaWxkKSByZXR1cm47XG4gICAgICAgIC8vIFdoZW4gdXNpbmcgdGhlIGBuZXh0L3NjcmlwdGAgY29tcG9uZW50LCByZWdpc3RlciBpdCBpbiBzY3JpcHQgbG9hZGVyLlxuICAgICAgICBpZiAoKF9jaGlsZF90eXBlID0gY2hpbGQudHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jaGlsZF90eXBlLl9fbmV4dFNjcmlwdCkge1xuICAgICAgICAgICAgaWYgKGNoaWxkLnByb3BzLnN0cmF0ZWd5ID09PSBcImJlZm9yZUludGVyYWN0aXZlXCIpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXIuYmVmb3JlSW50ZXJhY3RpdmUgPSAoc2NyaXB0TG9hZGVyLmJlZm9yZUludGVyYWN0aXZlIHx8IFtdKS5jb25jYXQoW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5jaGlsZC5wcm9wc1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChbXG4gICAgICAgICAgICAgICAgXCJsYXp5T25sb2FkXCIsXG4gICAgICAgICAgICAgICAgXCJhZnRlckludGVyYWN0aXZlXCIsXG4gICAgICAgICAgICAgICAgXCJ3b3JrZXJcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcyhjaGlsZC5wcm9wcy5zdHJhdGVneSkpIHtcbiAgICAgICAgICAgICAgICBzY3JpcHRMb2FkZXJJdGVtcy5wdXNoKGNoaWxkLnByb3BzKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBfX05FWFRfREFUQV9fLnNjcmlwdExvYWRlciA9IHNjcmlwdExvYWRlckl0ZW1zO1xufVxuY2xhc3MgTmV4dFNjcmlwdCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljICNfID0gdGhpcy5jb250ZXh0VHlwZSA9IF9odG1sY29udGV4dHNoYXJlZHJ1bnRpbWUuSHRtbENvbnRleHQ7XG4gICAgZ2V0RHluYW1pY0NodW5rcyhmaWxlcykge1xuICAgICAgICByZXR1cm4gZ2V0RHluYW1pY0NodW5rcyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMsIGZpbGVzKTtcbiAgICB9XG4gICAgZ2V0UHJlTmV4dFNjcmlwdHMoKSB7XG4gICAgICAgIHJldHVybiBnZXRQcmVOZXh0U2NyaXB0cyh0aGlzLmNvbnRleHQsIHRoaXMucHJvcHMpO1xuICAgIH1cbiAgICBnZXRTY3JpcHRzKGZpbGVzKSB7XG4gICAgICAgIHJldHVybiBnZXRTY3JpcHRzKHRoaXMuY29udGV4dCwgdGhpcy5wcm9wcywgZmlsZXMpO1xuICAgIH1cbiAgICBnZXRQb2x5ZmlsbFNjcmlwdHMoKSB7XG4gICAgICAgIHJldHVybiBnZXRQb2x5ZmlsbFNjcmlwdHModGhpcy5jb250ZXh0LCB0aGlzLnByb3BzKTtcbiAgICB9XG4gICAgc3RhdGljIGdldElubGluZVNjcmlwdFNvdXJjZShjb250ZXh0KSB7XG4gICAgICAgIGNvbnN0IHsgX19ORVhUX0RBVEFfXywgbGFyZ2VQYWdlRGF0YUJ5dGVzIH0gPSBjb250ZXh0O1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IEpTT04uc3RyaW5naWZ5KF9fTkVYVF9EQVRBX18pO1xuICAgICAgICAgICAgaWYgKGxhcmdlUGFnZURhdGFXYXJuaW5ncy5oYXMoX19ORVhUX0RBVEFfXy5wYWdlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX2h0bWxlc2NhcGUuaHRtbEVzY2FwZUpzb25TdHJpbmcpKGRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYnl0ZXMgPSBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPT09IFwiZWRnZVwiID8gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKGRhdGEpLmJ1ZmZlci5ieXRlTGVuZ3RoIDogQnVmZmVyLmZyb20oZGF0YSkuYnl0ZUxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IHByZXR0eUJ5dGVzID0gcmVxdWlyZShcIi4uL2xpYi9wcmV0dHktYnl0ZXNcIikuZGVmYXVsdDtcbiAgICAgICAgICAgIGlmIChsYXJnZVBhZ2VEYXRhQnl0ZXMgJiYgYnl0ZXMgPiBsYXJnZVBhZ2VEYXRhQnl0ZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGxhcmdlUGFnZURhdGFXYXJuaW5ncy5hZGQoX19ORVhUX0RBVEFfXy5wYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGBXYXJuaW5nOiBkYXRhIGZvciBwYWdlIFwiJHtfX05FWFRfREFUQV9fLnBhZ2V9XCIke19fTkVYVF9EQVRBX18ucGFnZSA9PT0gY29udGV4dC5kYW5nZXJvdXNBc1BhdGggPyBcIlwiIDogYCAocGF0aCBcIiR7Y29udGV4dC5kYW5nZXJvdXNBc1BhdGh9XCIpYH0gaXMgJHtwcmV0dHlCeXRlcyhieXRlcyl9IHdoaWNoIGV4Y2VlZHMgdGhlIHRocmVzaG9sZCBvZiAke3ByZXR0eUJ5dGVzKGxhcmdlUGFnZURhdGFCeXRlcyl9LCB0aGlzIGFtb3VudCBvZiBkYXRhIGNhbiByZWR1Y2UgcGVyZm9ybWFuY2UuXFxuU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9sYXJnZS1wYWdlLWRhdGFgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgX2h0bWxlc2NhcGUuaHRtbEVzY2FwZUpzb25TdHJpbmcpKGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGlmICgoMCwgX2lzZXJyb3IuZGVmYXVsdCkoZXJyKSAmJiBlcnIubWVzc2FnZS5pbmRleE9mKFwiY2lyY3VsYXIgc3RydWN0dXJlXCIpICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ2lyY3VsYXIgc3RydWN0dXJlIGluIFwiZ2V0SW5pdGlhbFByb3BzXCIgcmVzdWx0IG9mIHBhZ2UgXCIke19fTkVYVF9EQVRBX18ucGFnZX1cIi4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvY2lyY3VsYXItc3RydWN0dXJlYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBjb25zdCB7IGFzc2V0UHJlZml4LCBpbkFtcE1vZGUsIGJ1aWxkTWFuaWZlc3QsIHVuc3RhYmxlX3J1bnRpbWVKUywgZG9jQ29tcG9uZW50c1JlbmRlcmVkLCBhc3NldFF1ZXJ5U3RyaW5nLCBkaXNhYmxlT3B0aW1pemVkTG9hZGluZywgY3Jvc3NPcmlnaW4gfSA9IHRoaXMuY29udGV4dDtcbiAgICAgICAgY29uc3QgZGlzYWJsZVJ1bnRpbWVKUyA9IHVuc3RhYmxlX3J1bnRpbWVKUyA9PT0gZmFsc2U7XG4gICAgICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5OZXh0U2NyaXB0ID0gdHJ1ZTtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBhbXBEZXZGaWxlcyA9IFtcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmRldkZpbGVzLFxuICAgICAgICAgICAgICAgIC4uLmJ1aWxkTWFuaWZlc3QucG9seWZpbGxGaWxlcyxcbiAgICAgICAgICAgICAgICAuLi5idWlsZE1hbmlmZXN0LmFtcERldkZpbGVzXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJ1bnRpbWVKUyA/IG51bGwgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX19odG1sOiBOZXh0U2NyaXB0LmdldElubGluZVNjcmlwdFNvdXJjZSh0aGlzLmNvbnRleHQpXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJkYXRhLWFtcGRldm1vZGVcIjogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgYW1wRGV2RmlsZXMubWFwKChmaWxlKT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBgJHthc3NldFByZWZpeH0vX25leHQvJHtmaWxlfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNyb3NzT3JpZ2luOiB0aGlzLnByb3BzLmNyb3NzT3JpZ2luIHx8IGNyb3NzT3JpZ2luLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGZpbGUpKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLmNyb3NzT3JpZ2luKSBjb25zb2xlLndhcm4oXCJXYXJuaW5nOiBgTmV4dFNjcmlwdGAgYXR0cmlidXRlIGBjcm9zc09yaWdpbmAgaXMgZGVwcmVjYXRlZC4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZG9jLWNyb3Nzb3JpZ2luLWRlcHJlY2F0ZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZmlsZXMgPSBnZXREb2N1bWVudEZpbGVzKHRoaXMuY29udGV4dC5idWlsZE1hbmlmZXN0LCB0aGlzLmNvbnRleHQuX19ORVhUX0RBVEFfXy5wYWdlLCBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSk7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAhZGlzYWJsZVJ1bnRpbWVKUyAmJiBidWlsZE1hbmlmZXN0LmRldkZpbGVzID8gYnVpbGRNYW5pZmVzdC5kZXZGaWxlcy5tYXAoKGZpbGUpPT4vKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic2NyaXB0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNyYzogYCR7YXNzZXRQcmVmaXh9L19uZXh0LyR7ZW5jb2RlVVJJKGZpbGUpfSR7YXNzZXRRdWVyeVN0cmluZ31gLFxuICAgICAgICAgICAgICAgICAgICAgICAgbm9uY2U6IHRoaXMucHJvcHMubm9uY2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpblxuICAgICAgICAgICAgICAgICAgICB9LCBmaWxlKSkgOiBudWxsLFxuICAgICAgICAgICAgICAgIGRpc2FibGVSdW50aW1lSlMgPyBudWxsIDogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNjcmlwdFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiBcIl9fTkVYVF9EQVRBX19cIixcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgICAgICAgICAgIG5vbmNlOiB0aGlzLnByb3BzLm5vbmNlLFxuICAgICAgICAgICAgICAgICAgICBjcm9zc09yaWdpbjogdGhpcy5wcm9wcy5jcm9zc09yaWdpbiB8fCBjcm9zc09yaWdpbixcbiAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDogTmV4dFNjcmlwdC5nZXRJbmxpbmVTY3JpcHRTb3VyY2UodGhpcy5jb250ZXh0KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXRQb2x5ZmlsbFNjcmlwdHMoKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFByZU5leHRTY3JpcHRzKCksXG4gICAgICAgICAgICAgICAgZGlzYWJsZU9wdGltaXplZExvYWRpbmcgJiYgIWRpc2FibGVSdW50aW1lSlMgJiYgdGhpcy5nZXREeW5hbWljQ2h1bmtzKGZpbGVzKSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlT3B0aW1pemVkTG9hZGluZyAmJiAhZGlzYWJsZVJ1bnRpbWVKUyAmJiB0aGlzLmdldFNjcmlwdHMoZmlsZXMpXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbmZ1bmN0aW9uIEh0bWwocHJvcHMpIHtcbiAgICBjb25zdCB7IGluQW1wTW9kZSwgZG9jQ29tcG9uZW50c1JlbmRlcmVkLCBsb2NhbGUsIHNjcmlwdExvYWRlciwgX19ORVhUX0RBVEFfXyB9ID0gKDAsIF9odG1sY29udGV4dHNoYXJlZHJ1bnRpbWUudXNlSHRtbENvbnRleHQpKCk7XG4gICAgZG9jQ29tcG9uZW50c1JlbmRlcmVkLkh0bWwgPSB0cnVlO1xuICAgIGhhbmRsZURvY3VtZW50U2NyaXB0TG9hZGVySXRlbXMoc2NyaXB0TG9hZGVyLCBfX05FWFRfREFUQV9fLCBwcm9wcyk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJodG1sXCIsIHtcbiAgICAgICAgLi4ucHJvcHMsXG4gICAgICAgIGxhbmc6IHByb3BzLmxhbmcgfHwgbG9jYWxlIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgYW1wOiBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiICYmIGluQW1wTW9kZSA/IFwiXCIgOiB1bmRlZmluZWQsXG4gICAgICAgIFwiZGF0YS1hbXBkZXZtb2RlXCI6IHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSAhPT0gXCJlZGdlXCIgJiYgaW5BbXBNb2RlICYmIHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIiA/IFwiXCIgOiB1bmRlZmluZWRcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIE1haW4oKSB7XG4gICAgY29uc3QgeyBkb2NDb21wb25lbnRzUmVuZGVyZWQgfSA9ICgwLCBfaHRtbGNvbnRleHRzaGFyZWRydW50aW1lLnVzZUh0bWxDb250ZXh0KSgpO1xuICAgIGRvY0NvbXBvbmVudHNSZW5kZXJlZC5NYWluID0gdHJ1ZTtcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJuZXh0LWpzLWludGVybmFsLWJvZHktcmVuZGVyLXRhcmdldFwiLCB7fSk7XG59XG5jbGFzcyBEb2N1bWVudCBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgLyoqXG4gICAqIGBnZXRJbml0aWFsUHJvcHNgIGhvb2sgcmV0dXJucyB0aGUgY29udGV4dCBvYmplY3Qgd2l0aCB0aGUgYWRkaXRpb24gb2YgYHJlbmRlclBhZ2VgLlxuICAgKiBgcmVuZGVyUGFnZWAgY2FsbGJhY2sgZXhlY3V0ZXMgYFJlYWN0YCByZW5kZXJpbmcgbG9naWMgc3luY2hyb25vdXNseSB0byBzdXBwb3J0IHNlcnZlci1yZW5kZXJpbmcgd3JhcHBlcnNcbiAgICovIHN0YXRpYyBnZXRJbml0aWFsUHJvcHMoY3R4KSB7XG4gICAgICAgIHJldHVybiBjdHguZGVmYXVsdEdldEluaXRpYWxQcm9wcyhjdHgpO1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShIdG1sLCB7XG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSGVhZCwge30pLFxuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiYm9keVwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKE1haW4sIHt9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTmV4dFNjcmlwdCwge30pXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICB9XG59XG4vLyBBZGQgYSBzcGVjaWFsIHByb3BlcnR5IHRvIHRoZSBidWlsdC1pbiBgRG9jdW1lbnRgIGNvbXBvbmVudCBzbyBsYXRlciB3ZSBjYW5cbi8vIGlkZW50aWZ5IGlmIGEgdXNlciBjdXN0b21pemVkIGBEb2N1bWVudGAgaXMgdXNlZCBvciBub3QuXG5jb25zdCBJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQgPSBmdW5jdGlvbiBJbnRlcm5hbEZ1bmN0aW9uRG9jdW1lbnQoKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKEh0bWwsIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSGVhZCwge30pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJib2R5XCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKE1haW4sIHt9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShOZXh0U2NyaXB0LCB7fSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59O1xuRG9jdW1lbnRbX2NvbnN0YW50cy5ORVhUX0JVSUxUSU5fRE9DVU1FTlRdID0gSW50ZXJuYWxGdW5jdGlvbkRvY3VtZW50O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1fZG9jdW1lbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiSGVhZCIsIk5leHRTY3JpcHQiLCJIdG1sIiwiTWFpbiIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEb2N1bWVudCIsIl9qc3hydW50aW1lIiwicmVxdWlyZSIsIl9yZWFjdCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfY29uc3RhbnRzIiwiX2dldHBhZ2VmaWxlcyIsIl9odG1sZXNjYXBlIiwiX2lzZXJyb3IiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfaHRtbGNvbnRleHRzaGFyZWRydW50aW1lIiwib2JqIiwiX19lc01vZHVsZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsImNhY2hlIiwiaGFzIiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImxhcmdlUGFnZURhdGFXYXJuaW5ncyIsIlNldCIsImdldERvY3VtZW50RmlsZXMiLCJidWlsZE1hbmlmZXN0IiwicGF0aG5hbWUiLCJpbkFtcE1vZGUiLCJzaGFyZWRGaWxlcyIsImdldFBhZ2VGaWxlcyIsInBhZ2VGaWxlcyIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJhbGxGaWxlcyIsImdldFBvbHlmaWxsU2NyaXB0cyIsImNvbnRleHQiLCJwcm9wcyIsImFzc2V0UHJlZml4IiwiYXNzZXRRdWVyeVN0cmluZyIsImRpc2FibGVPcHRpbWl6ZWRMb2FkaW5nIiwiY3Jvc3NPcmlnaW4iLCJwb2x5ZmlsbEZpbGVzIiwiZmlsdGVyIiwicG9seWZpbGwiLCJlbmRzV2l0aCIsIm1hcCIsImpzeCIsImRlZmVyIiwibm9uY2UiLCJub01vZHVsZSIsInNyYyIsImhhc0NvbXBvbmVudFByb3BzIiwiY2hpbGQiLCJBbXBTdHlsZXMiLCJzdHlsZXMiLCJjdXJTdHlsZXMiLCJBcnJheSIsImlzQXJyYXkiLCJjaGlsZHJlbiIsImhhc1N0eWxlcyIsImVsIiwiX2VsX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX2VsX3Byb3BzIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJmb3JFYWNoIiwicHVzaCIsInN0eWxlIiwiam9pbiIsInJlcGxhY2UiLCJnZXREeW5hbWljQ2h1bmtzIiwiZmlsZXMiLCJkeW5hbWljSW1wb3J0cyIsImlzRGV2ZWxvcG1lbnQiLCJmaWxlIiwiaW5jbHVkZXMiLCJhc3luYyIsImVuY29kZVVSSSIsImdldFNjcmlwdHMiLCJfYnVpbGRNYW5pZmVzdF9sb3dQcmlvcml0eUZpbGVzIiwibm9ybWFsU2NyaXB0cyIsImxvd1ByaW9yaXR5U2NyaXB0cyIsImxvd1ByaW9yaXR5RmlsZXMiLCJnZXRQcmVOZXh0V29ya2VyU2NyaXB0cyIsInNjcmlwdExvYWRlciIsIm5leHRTY3JpcHRXb3JrZXJzIiwicGFydHl0b3duU25pcHBldCIsIl9fbm9uX3dlYnBhY2tfcmVxdWlyZV9fIiwidXNlckRlZmluZWRDb25maWciLCJmaW5kIiwiX2NoaWxkX3Byb3BzX2Rhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX2NoaWxkX3Byb3BzIiwibGVuZ3RoIiwianN4cyIsIkZyYWdtZW50Iiwid29ya2VyIiwiaW5kZXgiLCJzdHJhdGVneSIsInNjcmlwdENoaWxkcmVuIiwic2NyaXB0UHJvcHMiLCJzcmNQcm9wcyIsIkVycm9yIiwiY3JlYXRlRWxlbWVudCIsInR5cGUiLCJlcnIiLCJjb2RlIiwiY29uc29sZSIsIndhcm4iLCJtZXNzYWdlIiwiZ2V0UHJlTmV4dFNjcmlwdHMiLCJ3ZWJXb3JrZXJTY3JpcHRzIiwiYmVmb3JlSW50ZXJhY3RpdmVTY3JpcHRzIiwiYmVmb3JlSW50ZXJhY3RpdmUiLCJzY3JpcHQiLCJnZXRIZWFkSFRNTFByb3BzIiwicmVzdFByb3BzIiwiaGVhZFByb3BzIiwiZ2V0QW1wUGF0aCIsImFtcFBhdGgiLCJhc1BhdGgiLCJnZXROZXh0Rm9udExpbmtUYWdzIiwibmV4dEZvbnRNYW5pZmVzdCIsImRhbmdlcm91c0FzUGF0aCIsInByZWNvbm5lY3QiLCJwcmVsb2FkIiwiYXBwRm9udHNFbnRyeSIsInBhZ2VzIiwicGFnZUZvbnRzRW50cnkiLCJwcmVsb2FkZWRGb250RmlsZXMiLCJwcmVjb25uZWN0VG9TZWxmIiwicGFnZXNVc2luZ1NpemVBZGp1c3QiLCJyZWwiLCJocmVmIiwiZm9udEZpbGUiLCJleHQiLCJleGVjIiwiYXMiLCJDb21wb25lbnQiLCJfIiwiY29udGV4dFR5cGUiLCJIdG1sQ29udGV4dCIsImdldENzc0xpbmtzIiwib3B0aW1pemVDc3MiLCJvcHRpbWl6ZUZvbnRzIiwiY3NzRmlsZXMiLCJmIiwidW5tYW5nZWRGaWxlcyIsImR5bmFtaWNDc3NGaWxlcyIsImZyb20iLCJleGlzdGluZyIsImNzc0xpbmtFbGVtZW50cyIsImlzU2hhcmVkRmlsZSIsImlzVW5tYW5hZ2VkRmlsZSIsInVuZGVmaW5lZCIsIm1ha2VTdHlsZXNoZWV0SW5lcnQiLCJnZXRQcmVsb2FkRHluYW1pY0NodW5rcyIsIkJvb2xlYW4iLCJnZXRQcmVsb2FkTWFpbkxpbmtzIiwicHJlbG9hZEZpbGVzIiwiZ2V0QmVmb3JlSW50ZXJhY3RpdmVJbmxpbmVTY3JpcHRzIiwiaHRtbCIsImlkIiwiX19ORVhUX0NST1NTX09SSUdJTiIsIm5vZGUiLCJDaGlsZHJlbiIsImMiLCJfY19wcm9wcyIsIl9jX3Byb3BzMSIsIk9QVElNSVpFRF9GT05UX1BST1ZJREVSUyIsInNvbWUiLCJ1cmwiLCJfY19wcm9wc19ocmVmIiwic3RhcnRzV2l0aCIsIm5ld1Byb3BzIiwiY2xvbmVFbGVtZW50IiwicmVuZGVyIiwiaHlicmlkQW1wIiwiY2Fub25pY2FsQmFzZSIsIl9fTkVYVF9EQVRBX18iLCJoZWFkVGFncyIsInVuc3RhYmxlX3J1bnRpbWVKUyIsInVuc3RhYmxlX0pzUHJlbG9hZCIsImRpc2FibGVSdW50aW1lSlMiLCJkaXNhYmxlSnNQcmVsb2FkIiwiZG9jQ29tcG9uZW50c1JlbmRlcmVkIiwiaGVhZCIsImNzc1ByZWxvYWRzIiwib3RoZXJIZWFkRWxlbWVudHMiLCJtZXRhVGFnIiwic3RyaWN0TmV4dEhlYWQiLCJjb250ZW50IiwiY29uY2F0IiwidG9BcnJheSIsImlzUmVhY3RIZWxtZXQiLCJfY2hpbGRfcHJvcHMxIiwiaGFzQW1waHRtbFJlbCIsImhhc0Nhbm9uaWNhbFJlbCIsImJhZFByb3AiLCJpbmRleE9mIiwia2V5cyIsInByb3AiLCJwYWdlIiwibmV4dEZvbnRMaW5rVGFncyIsImNvdW50IiwidG9TdHJpbmciLCJjbGVhbkFtcFBhdGgiLCJoYW5kbGVEb2N1bWVudFNjcmlwdExvYWRlckl0ZW1zIiwiX2NoaWxkcmVuX2ZpbmRfcHJvcHMiLCJfY2hpbGRyZW5fZmluZCIsIl9jaGlsZHJlbl9maW5kX3Byb3BzMSIsIl9jaGlsZHJlbl9maW5kMSIsInNjcmlwdExvYWRlckl0ZW1zIiwiaGVhZENoaWxkcmVuIiwiYm9keUNoaWxkcmVuIiwiY29tYmluZWRDaGlsZHJlbiIsIl9jaGlsZF90eXBlIiwiX19uZXh0U2NyaXB0IiwiZ2V0SW5saW5lU2NyaXB0U291cmNlIiwibGFyZ2VQYWdlRGF0YUJ5dGVzIiwiZGF0YSIsIkpTT04iLCJzdHJpbmdpZnkiLCJodG1sRXNjYXBlSnNvblN0cmluZyIsImJ5dGVzIiwiVGV4dEVuY29kZXIiLCJlbmNvZGUiLCJidWZmZXIiLCJieXRlTGVuZ3RoIiwiQnVmZmVyIiwicHJldHR5Qnl0ZXMiLCJhZGQiLCJhbXBEZXZGaWxlcyIsImRldkZpbGVzIiwibG9jYWxlIiwidXNlSHRtbENvbnRleHQiLCJsYW5nIiwiYW1wIiwiZ2V0SW5pdGlhbFByb3BzIiwiY3R4IiwiZGVmYXVsdEdldEluaXRpYWxQcm9wcyIsIkludGVybmFsRnVuY3Rpb25Eb2N1bWVudCIsIk5FWFRfQlVJTFRJTl9ET0NVTUVOVCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_document.js\n"); /***/ }), /***/ "./node_modules/next/dist/pages/_error.js": /*!************************************************!*\ !*** ./node_modules/next/dist/pages/_error.js ***! \************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return Error;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"react\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"./node_modules/next/dist/shared/lib/head.js\"));\nconst statusCodes = {\n 400: \"Bad Request\",\n 404: \"This page could not be found\",\n 405: \"Method Not Allowed\",\n 500: \"Internal Server Error\"\n};\nfunction _getInitialProps(param) {\n let { res, err } = param;\n const statusCode = res && res.statusCode ? res.statusCode : err ? err.statusCode : 404;\n return {\n statusCode\n };\n}\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n lineHeight: \"48px\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n paddingRight: 23,\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"28px\"\n },\n wrap: {\n display: \"inline-block\"\n }\n};\nclass Error extends _react.default.Component {\n render() {\n const { statusCode, withDarkMode = true } = this.props;\n const title = this.props.title || statusCodes[statusCode] || \"An unexpected error has occurred\";\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.error,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: statusCode ? statusCode + \": \" + title : \"Application error: a client-side exception has occurred\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n style: styles.desc,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* CSS minified from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n ${\n withDarkMode\n ? `@media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }`\n : ''\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\" + (withDarkMode ? \"@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\" : \"\")\n }\n }),\n statusCode ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: statusCode\n }) : null,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.wrap,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"h2\", {\n style: styles.h2,\n children: [\n this.props.title || statusCode ? title : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: \"Application error: a client-side exception has occurred (see the browser console for more information)\"\n }),\n \".\"\n ]\n })\n })\n ]\n })\n ]\n });\n }\n}\nError.displayName = \"ErrorPage\";\nError.getInitialProps = _getInitialProps;\nError.origGetInitialProps = _getInitialProps;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=_error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw2R0FBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsNENBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsb0JBQU87QUFDdkUsTUFBTUksUUFBUSxXQUFXLEdBQUdMLHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx1RUFBb0I7QUFDbkYsTUFBTUssY0FBYztJQUNoQixLQUFLO0lBQ0wsS0FBSztJQUNMLEtBQUs7SUFDTCxLQUFLO0FBQ1Q7QUFDQSxTQUFTQyxpQkFBaUJDLEtBQUs7SUFDM0IsSUFBSSxFQUFFQyxHQUFHLEVBQUVDLEdBQUcsRUFBRSxHQUFHRjtJQUNuQixNQUFNRyxhQUFhRixPQUFPQSxJQUFJRSxVQUFVLEdBQUdGLElBQUlFLFVBQVUsR0FBR0QsTUFBTUEsSUFBSUMsVUFBVSxHQUFHO0lBQ25GLE9BQU87UUFDSEE7SUFDSjtBQUNKO0FBQ0EsTUFBTUMsU0FBUztJQUNYQyxPQUFPO1FBQ0gsMEZBQTBGO1FBQzFGQyxZQUFZO1FBQ1pDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDcEI7SUFDQUMsTUFBTTtRQUNGQyxZQUFZO0lBQ2hCO0lBQ0FDLElBQUk7UUFDQU4sU0FBUztRQUNUTyxRQUFRO1FBQ1JDLGNBQWM7UUFDZEMsVUFBVTtRQUNWQyxZQUFZO1FBQ1pDLGVBQWU7SUFDbkI7SUFDQUMsSUFBSTtRQUNBSCxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkwsWUFBWTtJQUNoQjtJQUNBUSxNQUFNO1FBQ0ZiLFNBQVM7SUFDYjtBQUNKO0FBQ0EsTUFBTWxCLGNBQWNJLE9BQU80QixPQUFPLENBQUNDLFNBQVM7SUFDeENDLFNBQVM7UUFDTCxNQUFNLEVBQUV0QixVQUFVLEVBQUV1QixlQUFlLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQ0MsS0FBSztRQUN0RCxNQUFNQyxRQUFRLElBQUksQ0FBQ0QsS0FBSyxDQUFDQyxLQUFLLElBQUk5QixXQUFXLENBQUNLLFdBQVcsSUFBSTtRQUM3RCxPQUFxQixXQUFILEdBQUksSUFBR1QsWUFBWW1DLElBQUksRUFBRSxPQUFPO1lBQzlDQyxPQUFPMUIsT0FBT0MsS0FBSztZQUNuQjBCLFVBQVU7Z0JBQ04sV0FBVyxHQUFJLElBQUdyQyxZQUFZc0MsR0FBRyxFQUFFbkMsTUFBTTBCLE9BQU8sRUFBRTtvQkFDOUNRLFVBQXdCLFdBQUgsR0FBSSxJQUFHckMsWUFBWXNDLEdBQUcsRUFBRSxTQUFTO3dCQUNsREQsVUFBVTVCLGFBQWFBLGFBQWEsT0FBT3lCLFFBQVE7b0JBQ3ZEO2dCQUNKO2dCQUNBLFdBQVcsR0FBSSxJQUFHbEMsWUFBWW1DLElBQUksRUFBRSxPQUFPO29CQUN2Q0MsT0FBTzFCLE9BQU9TLElBQUk7b0JBQ2xCa0IsVUFBVTt3QkFDTixXQUFXLEdBQUksSUFBR3JDLFlBQVlzQyxHQUFHLEVBQUUsU0FBUzs0QkFDeENDLHlCQUF5QjtnQ0FDckI7Ozs7Ozs7Ozs7Ozs7Ozs7ZUFnQmpCLEdBQUdDLFFBQVEsbUdBQW9HUixDQUFBQSxlQUFlLG9JQUFvSSxFQUFDOzRCQUN0UDt3QkFDSjt3QkFDQXZCLGFBQTJCLFdBQUgsR0FBSSxJQUFHVCxZQUFZc0MsR0FBRyxFQUFFLE1BQU07NEJBQ2xERyxXQUFXOzRCQUNYTCxPQUFPMUIsT0FBT1csRUFBRTs0QkFDaEJnQixVQUFVNUI7d0JBQ2QsS0FBSzt3QkFDTCxXQUFXLEdBQUksSUFBR1QsWUFBWXNDLEdBQUcsRUFBRSxPQUFPOzRCQUN0Q0YsT0FBTzFCLE9BQU9rQixJQUFJOzRCQUNsQlMsVUFBd0IsV0FBSCxHQUFJLElBQUdyQyxZQUFZbUMsSUFBSSxFQUFFLE1BQU07Z0NBQ2hEQyxPQUFPMUIsT0FBT2lCLEVBQUU7Z0NBQ2hCVSxVQUFVO29DQUNOLElBQUksQ0FBQ0osS0FBSyxDQUFDQyxLQUFLLElBQUl6QixhQUFheUIsUUFBc0IsV0FBSCxHQUFJLElBQUdsQyxZQUFZc0MsR0FBRyxFQUFFdEMsWUFBWTBDLFFBQVEsRUFBRTt3Q0FDOUZMLFVBQVU7b0NBQ2Q7b0NBQ0E7aUNBQ0g7NEJBQ0w7d0JBQ0o7cUJBQ0g7Z0JBQ0w7YUFDSDtRQUNMO0lBQ0o7QUFDSjtBQUNBeEMsTUFBTThDLFdBQVcsR0FBRztBQUNwQjlDLE1BQU0rQyxlQUFlLEdBQUd2QztBQUN4QlIsTUFBTWdELG1CQUFtQixHQUFHeEM7QUFFNUIsSUFBSSxDQUFDLE9BQU9aLFFBQVFvQyxPQUFPLEtBQUssY0FBZSxPQUFPcEMsUUFBUW9DLE9BQU8sS0FBSyxZQUFZcEMsUUFBUW9DLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BDLFFBQVFvQyxPQUFPLENBQUNpQixVQUFVLEtBQUssYUFBYTtJQUNyS3ZELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9DLE9BQU8sRUFBRSxjQUFjO1FBQUVuQyxPQUFPO0lBQUs7SUFDbkVILE9BQU93RCxNQUFNLENBQUN0RCxRQUFRb0MsT0FBTyxFQUFFcEM7SUFDL0J1RCxPQUFPdkQsT0FBTyxHQUFHQSxRQUFRb0MsT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3BhZ2VzL19lcnJvci5qcz8xOGYyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfaGVhZCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaGVhZFwiKSk7XG5jb25zdCBzdGF0dXNDb2RlcyA9IHtcbiAgICA0MDA6IFwiQmFkIFJlcXVlc3RcIixcbiAgICA0MDQ6IFwiVGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBmb3VuZFwiLFxuICAgIDQwNTogXCJNZXRob2QgTm90IEFsbG93ZWRcIixcbiAgICA1MDA6IFwiSW50ZXJuYWwgU2VydmVyIEVycm9yXCJcbn07XG5mdW5jdGlvbiBfZ2V0SW5pdGlhbFByb3BzKHBhcmFtKSB7XG4gICAgbGV0IHsgcmVzLCBlcnIgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHN0YXR1c0NvZGUgPSByZXMgJiYgcmVzLnN0YXR1c0NvZGUgPyByZXMuc3RhdHVzQ29kZSA6IGVyciA/IGVyci5zdGF0dXNDb2RlIDogNDA0O1xuICAgIHJldHVybiB7XG4gICAgICAgIHN0YXR1c0NvZGVcbiAgICB9O1xufVxuY29uc3Qgc3R5bGVzID0ge1xuICAgIGVycm9yOiB7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9ibG9iL21haW4vbW9kZXJuLW5vcm1hbGl6ZS5jc3MjTDM4LUw1MlxuICAgICAgICBmb250RmFtaWx5OiAnc3lzdGVtLXVpLFwiU2Vnb2UgVUlcIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIicsXG4gICAgICAgIGhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxuICAgIH0sXG4gICAgZGVzYzoge1xuICAgICAgICBsaW5lSGVpZ2h0OiBcIjQ4cHhcIlxuICAgIH0sXG4gICAgaDE6IHtcbiAgICAgICAgZGlzcGxheTogXCJpbmxpbmUtYmxvY2tcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgMjBweCAwIDBcIixcbiAgICAgICAgcGFkZGluZ1JpZ2h0OiAyMyxcbiAgICAgICAgZm9udFNpemU6IDI0LFxuICAgICAgICBmb250V2VpZ2h0OiA1MDAsXG4gICAgICAgIHZlcnRpY2FsQWxpZ246IFwidG9wXCJcbiAgICB9LFxuICAgIGgyOiB7XG4gICAgICAgIGZvbnRTaXplOiAxNCxcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjI4cHhcIlxuICAgIH0sXG4gICAgd3JhcDoge1xuICAgICAgICBkaXNwbGF5OiBcImlubGluZS1ibG9ja1wiXG4gICAgfVxufTtcbmNsYXNzIEVycm9yIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGNvbnN0IHsgc3RhdHVzQ29kZSwgd2l0aERhcmtNb2RlID0gdHJ1ZSB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgY29uc3QgdGl0bGUgPSB0aGlzLnByb3BzLnRpdGxlIHx8IHN0YXR1c0NvZGVzW3N0YXR1c0NvZGVdIHx8IFwiQW4gdW5leHBlY3RlZCBlcnJvciBoYXMgb2NjdXJyZWRcIjtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMuZXJyb3IsXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2hlYWQuZGVmYXVsdCwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInRpdGxlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBzdGF0dXNDb2RlID8gc3RhdHVzQ29kZSArIFwiOiBcIiArIHRpdGxlIDogXCJBcHBsaWNhdGlvbiBlcnJvcjogYSBjbGllbnQtc2lkZSBleGNlcHRpb24gaGFzIG9jY3VycmVkXCJcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMuZGVzYyxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQ1NTIG1pbmlmaWVkIGZyb21cbiAgICAgICAgICAgICAgICBib2R5IHsgbWFyZ2luOiAwOyBjb2xvcjogIzAwMDsgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICAgICAgICAgICAgIC5uZXh0LWVycm9yLWgxIHtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgLjMpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICR7XG4gICAgICAgICAgICAgICAgICB3aXRoRGFya01vZGVcbiAgICAgICAgICAgICAgICAgICAgPyBgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAgICAgICAgICAgYm9keSB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gICAgICAgICAgICAgICAgICAubmV4dC1lcnJvci1oMSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1gXG4gICAgICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAqLyBfX2h0bWw6IFwiYm9keXtjb2xvcjojMDAwO2JhY2tncm91bmQ6I2ZmZjttYXJnaW46MH0ubmV4dC1lcnJvci1oMXtib3JkZXItcmlnaHQ6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjMpfVwiICsgKHdpdGhEYXJrTW9kZSA/IFwiQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2NvbG9yOiNmZmY7YmFja2dyb3VuZDojMDAwfS5uZXh0LWVycm9yLWgxe2JvcmRlci1yaWdodDoxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuMyl9fVwiIDogXCJcIilcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1c0NvZGUgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0LWVycm9yLWgxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5oMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogc3RhdHVzQ29kZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy53cmFwLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5oMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMudGl0bGUgfHwgc3RhdHVzQ29kZSA/IHRpdGxlIDogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIGNsaWVudC1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQgKHNlZSB0aGUgYnJvd3NlciBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uKVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiLlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbn1cbkVycm9yLmRpc3BsYXlOYW1lID0gXCJFcnJvclBhZ2VcIjtcbkVycm9yLmdldEluaXRpYWxQcm9wcyA9IF9nZXRJbml0aWFsUHJvcHM7XG5FcnJvci5vcmlnR2V0SW5pdGlhbFByb3BzID0gX2dldEluaXRpYWxQcm9wcztcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9X2Vycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJFcnJvciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfaGVhZCIsInN0YXR1c0NvZGVzIiwiX2dldEluaXRpYWxQcm9wcyIsInBhcmFtIiwicmVzIiwiZXJyIiwic3RhdHVzQ29kZSIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZGVzYyIsImxpbmVIZWlnaHQiLCJoMSIsIm1hcmdpbiIsInBhZGRpbmdSaWdodCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsInZlcnRpY2FsQWxpZ24iLCJoMiIsIndyYXAiLCJkZWZhdWx0IiwiQ29tcG9uZW50IiwicmVuZGVyIiwid2l0aERhcmtNb2RlIiwicHJvcHMiLCJ0aXRsZSIsImpzeHMiLCJzdHlsZSIsImNoaWxkcmVuIiwianN4IiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJjbGFzc05hbWUiLCJGcmFnbWVudCIsImRpc3BsYXlOYW1lIiwiZ2V0SW5pdGlhbFByb3BzIiwib3JpZ0dldEluaXRpYWxQcm9wcyIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/pages/_error.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/amp-mode.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFlBQVlDLEtBQUs7SUFDdEIsSUFBSSxFQUFFQyxXQUFXLEtBQUssRUFBRUMsU0FBUyxLQUFLLEVBQUVDLFdBQVcsS0FBSyxFQUFFLEdBQUdILFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7SUFDckYsT0FBT0MsWUFBWUMsVUFBVUM7QUFDakMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2FtcC1tb2RlLmpzPzYyMzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0luQW1wTW9kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNJbkFtcE1vZGU7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0luQW1wTW9kZShwYXJhbSkge1xuICAgIGxldCB7IGFtcEZpcnN0ID0gZmFsc2UsIGh5YnJpZCA9IGZhbHNlLCBoYXNRdWVyeSA9IGZhbHNlIH0gPSBwYXJhbSA9PT0gdm9pZCAwID8ge30gOiBwYXJhbTtcbiAgICByZXR1cm4gYW1wRmlyc3QgfHwgaHlicmlkICYmIGhhc1F1ZXJ5O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hbXAtbW9kZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/amp-mode.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/constants.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/constants.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n MODERN_BROWSERSLIST_TARGET: function() {\n return _modernbrowserslisttarget.default;\n },\n COMPILER_NAMES: function() {\n return COMPILER_NAMES;\n },\n INTERNAL_HEADERS: function() {\n return INTERNAL_HEADERS;\n },\n COMPILER_INDEXES: function() {\n return COMPILER_INDEXES;\n },\n PHASE_EXPORT: function() {\n return PHASE_EXPORT;\n },\n PHASE_PRODUCTION_BUILD: function() {\n return PHASE_PRODUCTION_BUILD;\n },\n PHASE_PRODUCTION_SERVER: function() {\n return PHASE_PRODUCTION_SERVER;\n },\n PHASE_DEVELOPMENT_SERVER: function() {\n return PHASE_DEVELOPMENT_SERVER;\n },\n PHASE_TEST: function() {\n return PHASE_TEST;\n },\n PHASE_INFO: function() {\n return PHASE_INFO;\n },\n PAGES_MANIFEST: function() {\n return PAGES_MANIFEST;\n },\n APP_PATHS_MANIFEST: function() {\n return APP_PATHS_MANIFEST;\n },\n APP_PATH_ROUTES_MANIFEST: function() {\n return APP_PATH_ROUTES_MANIFEST;\n },\n BUILD_MANIFEST: function() {\n return BUILD_MANIFEST;\n },\n APP_BUILD_MANIFEST: function() {\n return APP_BUILD_MANIFEST;\n },\n FUNCTIONS_CONFIG_MANIFEST: function() {\n return FUNCTIONS_CONFIG_MANIFEST;\n },\n SUBRESOURCE_INTEGRITY_MANIFEST: function() {\n return SUBRESOURCE_INTEGRITY_MANIFEST;\n },\n NEXT_FONT_MANIFEST: function() {\n return NEXT_FONT_MANIFEST;\n },\n EXPORT_MARKER: function() {\n return EXPORT_MARKER;\n },\n EXPORT_DETAIL: function() {\n return EXPORT_DETAIL;\n },\n PRERENDER_MANIFEST: function() {\n return PRERENDER_MANIFEST;\n },\n ROUTES_MANIFEST: function() {\n return ROUTES_MANIFEST;\n },\n IMAGES_MANIFEST: function() {\n return IMAGES_MANIFEST;\n },\n SERVER_FILES_MANIFEST: function() {\n return SERVER_FILES_MANIFEST;\n },\n DEV_CLIENT_PAGES_MANIFEST: function() {\n return DEV_CLIENT_PAGES_MANIFEST;\n },\n MIDDLEWARE_MANIFEST: function() {\n return MIDDLEWARE_MANIFEST;\n },\n DEV_MIDDLEWARE_MANIFEST: function() {\n return DEV_MIDDLEWARE_MANIFEST;\n },\n REACT_LOADABLE_MANIFEST: function() {\n return REACT_LOADABLE_MANIFEST;\n },\n FONT_MANIFEST: function() {\n return FONT_MANIFEST;\n },\n SERVER_DIRECTORY: function() {\n return SERVER_DIRECTORY;\n },\n CONFIG_FILES: function() {\n return CONFIG_FILES;\n },\n BUILD_ID_FILE: function() {\n return BUILD_ID_FILE;\n },\n BLOCKED_PAGES: function() {\n return BLOCKED_PAGES;\n },\n CLIENT_PUBLIC_FILES_PATH: function() {\n return CLIENT_PUBLIC_FILES_PATH;\n },\n CLIENT_STATIC_FILES_PATH: function() {\n return CLIENT_STATIC_FILES_PATH;\n },\n STRING_LITERAL_DROP_BUNDLE: function() {\n return STRING_LITERAL_DROP_BUNDLE;\n },\n NEXT_BUILTIN_DOCUMENT: function() {\n return NEXT_BUILTIN_DOCUMENT;\n },\n BARREL_OPTIMIZATION_PREFIX: function() {\n return BARREL_OPTIMIZATION_PREFIX;\n },\n CLIENT_REFERENCE_MANIFEST: function() {\n return CLIENT_REFERENCE_MANIFEST;\n },\n SERVER_REFERENCE_MANIFEST: function() {\n return SERVER_REFERENCE_MANIFEST;\n },\n MIDDLEWARE_BUILD_MANIFEST: function() {\n return MIDDLEWARE_BUILD_MANIFEST;\n },\n MIDDLEWARE_REACT_LOADABLE_MANIFEST: function() {\n return MIDDLEWARE_REACT_LOADABLE_MANIFEST;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN;\n },\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_MAIN_APP;\n },\n APP_CLIENT_INTERNALS: function() {\n return APP_CLIENT_INTERNALS;\n },\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH: function() {\n return CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH;\n },\n CLIENT_STATIC_FILES_RUNTIME_AMP: function() {\n return CLIENT_STATIC_FILES_RUNTIME_AMP;\n },\n CLIENT_STATIC_FILES_RUNTIME_WEBPACK: function() {\n return CLIENT_STATIC_FILES_RUNTIME_WEBPACK;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS;\n },\n CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL: function() {\n return CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL;\n },\n EDGE_RUNTIME_WEBPACK: function() {\n return EDGE_RUNTIME_WEBPACK;\n },\n STATIC_PROPS_ID: function() {\n return STATIC_PROPS_ID;\n },\n SERVER_PROPS_ID: function() {\n return SERVER_PROPS_ID;\n },\n GOOGLE_FONT_PROVIDER: function() {\n return GOOGLE_FONT_PROVIDER;\n },\n OPTIMIZED_FONT_PROVIDERS: function() {\n return OPTIMIZED_FONT_PROVIDERS;\n },\n DEFAULT_SERIF_FONT: function() {\n return DEFAULT_SERIF_FONT;\n },\n DEFAULT_SANS_SERIF_FONT: function() {\n return DEFAULT_SANS_SERIF_FONT;\n },\n STATIC_STATUS_PAGES: function() {\n return STATIC_STATUS_PAGES;\n },\n TRACE_OUTPUT_VERSION: function() {\n return TRACE_OUTPUT_VERSION;\n },\n TURBO_TRACE_DEFAULT_MEMORY_LIMIT: function() {\n return TURBO_TRACE_DEFAULT_MEMORY_LIMIT;\n },\n RSC_MODULE_TYPES: function() {\n return RSC_MODULE_TYPES;\n },\n EDGE_UNSUPPORTED_NODE_APIS: function() {\n return EDGE_UNSUPPORTED_NODE_APIS;\n },\n SYSTEM_ENTRYPOINTS: function() {\n return SYSTEM_ENTRYPOINTS;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _modernbrowserslisttarget = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./modern-browserslist-target */ \"./node_modules/next/dist/shared/lib/modern-browserslist-target.js\"));\nconst COMPILER_NAMES = {\n client: \"client\",\n server: \"server\",\n edgeServer: \"edge-server\"\n};\nconst INTERNAL_HEADERS = [\n \"x-invoke-error\",\n \"x-invoke-output\",\n \"x-invoke-path\",\n \"x-invoke-query\",\n \"x-invoke-status\",\n \"x-middleware-invoke\"\n];\nconst COMPILER_INDEXES = {\n [COMPILER_NAMES.client]: 0,\n [COMPILER_NAMES.server]: 1,\n [COMPILER_NAMES.edgeServer]: 2\n};\nconst PHASE_EXPORT = \"phase-export\";\nconst PHASE_PRODUCTION_BUILD = \"phase-production-build\";\nconst PHASE_PRODUCTION_SERVER = \"phase-production-server\";\nconst PHASE_DEVELOPMENT_SERVER = \"phase-development-server\";\nconst PHASE_TEST = \"phase-test\";\nconst PHASE_INFO = \"phase-info\";\nconst PAGES_MANIFEST = \"pages-manifest.json\";\nconst APP_PATHS_MANIFEST = \"app-paths-manifest.json\";\nconst APP_PATH_ROUTES_MANIFEST = \"app-path-routes-manifest.json\";\nconst BUILD_MANIFEST = \"build-manifest.json\";\nconst APP_BUILD_MANIFEST = \"app-build-manifest.json\";\nconst FUNCTIONS_CONFIG_MANIFEST = \"functions-config-manifest.json\";\nconst SUBRESOURCE_INTEGRITY_MANIFEST = \"subresource-integrity-manifest\";\nconst NEXT_FONT_MANIFEST = \"next-font-manifest\";\nconst EXPORT_MARKER = \"export-marker.json\";\nconst EXPORT_DETAIL = \"export-detail.json\";\nconst PRERENDER_MANIFEST = \"prerender-manifest.json\";\nconst ROUTES_MANIFEST = \"routes-manifest.json\";\nconst IMAGES_MANIFEST = \"images-manifest.json\";\nconst SERVER_FILES_MANIFEST = \"required-server-files.json\";\nconst DEV_CLIENT_PAGES_MANIFEST = \"_devPagesManifest.json\";\nconst MIDDLEWARE_MANIFEST = \"middleware-manifest.json\";\nconst DEV_MIDDLEWARE_MANIFEST = \"_devMiddlewareManifest.json\";\nconst REACT_LOADABLE_MANIFEST = \"react-loadable-manifest.json\";\nconst FONT_MANIFEST = \"font-manifest.json\";\nconst SERVER_DIRECTORY = \"server\";\nconst CONFIG_FILES = [\n \"next.config.js\",\n \"next.config.mjs\"\n];\nconst BUILD_ID_FILE = \"BUILD_ID\";\nconst BLOCKED_PAGES = [\n \"/_document\",\n \"/_app\",\n \"/_error\"\n];\nconst CLIENT_PUBLIC_FILES_PATH = \"public\";\nconst CLIENT_STATIC_FILES_PATH = \"static\";\nconst STRING_LITERAL_DROP_BUNDLE = \"__NEXT_DROP_CLIENT_FILE__\";\nconst NEXT_BUILTIN_DOCUMENT = \"__NEXT_BUILTIN_DOCUMENT__\";\nconst BARREL_OPTIMIZATION_PREFIX = \"__barrel_optimize__\";\nconst CLIENT_REFERENCE_MANIFEST = \"client-reference-manifest\";\nconst SERVER_REFERENCE_MANIFEST = \"server-reference-manifest\";\nconst MIDDLEWARE_BUILD_MANIFEST = \"middleware-build-manifest\";\nconst MIDDLEWARE_REACT_LOADABLE_MANIFEST = \"middleware-react-loadable-manifest\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN = \"main\";\nconst CLIENT_STATIC_FILES_RUNTIME_MAIN_APP = \"\" + CLIENT_STATIC_FILES_RUNTIME_MAIN + \"-app\";\nconst APP_CLIENT_INTERNALS = \"app-pages-internals\";\nconst CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH = \"react-refresh\";\nconst CLIENT_STATIC_FILES_RUNTIME_AMP = \"amp\";\nconst CLIENT_STATIC_FILES_RUNTIME_WEBPACK = \"webpack\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS = \"polyfills\";\nconst CLIENT_STATIC_FILES_RUNTIME_POLYFILLS_SYMBOL = Symbol(CLIENT_STATIC_FILES_RUNTIME_POLYFILLS);\nconst EDGE_RUNTIME_WEBPACK = \"edge-runtime-webpack\";\nconst STATIC_PROPS_ID = \"__N_SSG\";\nconst SERVER_PROPS_ID = \"__N_SSP\";\nconst GOOGLE_FONT_PROVIDER = \"https://fonts.googleapis.com/\";\nconst OPTIMIZED_FONT_PROVIDERS = [\n {\n url: GOOGLE_FONT_PROVIDER,\n preconnect: \"https://fonts.gstatic.com\"\n },\n {\n url: \"https://use.typekit.net\",\n preconnect: \"https://use.typekit.net\"\n }\n];\nconst DEFAULT_SERIF_FONT = {\n name: \"Times New Roman\",\n xAvgCharWidth: 821,\n azAvgWidth: 854.3953488372093,\n unitsPerEm: 2048\n};\nconst DEFAULT_SANS_SERIF_FONT = {\n name: \"Arial\",\n xAvgCharWidth: 904,\n azAvgWidth: 934.5116279069767,\n unitsPerEm: 2048\n};\nconst STATIC_STATUS_PAGES = [\n \"/500\"\n];\nconst TRACE_OUTPUT_VERSION = 1;\nconst TURBO_TRACE_DEFAULT_MEMORY_LIMIT = 6000;\nconst RSC_MODULE_TYPES = {\n client: \"client\",\n server: \"server\"\n};\nconst EDGE_UNSUPPORTED_NODE_APIS = [\n \"clearImmediate\",\n \"setImmediate\",\n \"BroadcastChannel\",\n \"ByteLengthQueuingStrategy\",\n \"CompressionStream\",\n \"CountQueuingStrategy\",\n \"DecompressionStream\",\n \"DomException\",\n \"MessageChannel\",\n \"MessageEvent\",\n \"MessagePort\",\n \"ReadableByteStreamController\",\n \"ReadableStreamBYOBRequest\",\n \"ReadableStreamDefaultController\",\n \"TransformStreamDefaultController\",\n \"WritableStreamDefaultController\"\n];\nconst SYSTEM_ENTRYPOINTS = new Set([\n CLIENT_STATIC_FILES_RUNTIME_MAIN,\n CLIENT_STATIC_FILES_RUNTIME_REACT_REFRESH,\n CLIENT_STATIC_FILES_RUNTIME_AMP,\n CLIENT_STATIC_FILES_RUNTIME_MAIN_APP\n]);\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBZ0VOO0FBQ0EsU0FBU2dFLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUl0RSxPQUFPQyxjQUFjLENBQUNvRSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFsRSxTQUFTO0lBQ2JHLDRCQUE0QjtRQUN4QixPQUFPcUUsMEJBQTBCQyxPQUFPO0lBQzVDO0lBQ0FyRSxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsZ0NBQWdDO1FBQzVCLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0lBQ0FDLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQUMsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsb0NBQW9DO1FBQ2hDLE9BQU9BO0lBQ1g7SUFDQUMsa0NBQWtDO1FBQzlCLE9BQU9BO0lBQ1g7SUFDQUMsc0NBQXNDO1FBQ2xDLE9BQU9BO0lBQ1g7SUFDQUMsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsMkNBQTJDO1FBQ3ZDLE9BQU9BO0lBQ1g7SUFDQUMsaUNBQWlDO1FBQzdCLE9BQU9BO0lBQ1g7SUFDQUMscUNBQXFDO1FBQ2pDLE9BQU9BO0lBQ1g7SUFDQUMsdUNBQXVDO1FBQ25DLE9BQU9BO0lBQ1g7SUFDQUMsOENBQThDO1FBQzFDLE9BQU9BO0lBQ1g7SUFDQUMsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLGtDQUFrQztRQUM5QixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1TLDJCQUEyQkMsbUJBQU9BLENBQUMsNkdBQXlDO0FBQ2xGLE1BQU1ILDRCQUE0QixXQUFXLEdBQUdFLHlCQUF5QkUsQ0FBQyxDQUFDRCxtQkFBT0EsQ0FBQyx1R0FBOEI7QUFDakgsTUFBTXZFLGlCQUFpQjtJQUNuQnlFLFFBQVE7SUFDUkMsUUFBUTtJQUNSQyxZQUFZO0FBQ2hCO0FBQ0EsTUFBTTFFLG1CQUFtQjtJQUNyQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELE1BQU1DLG1CQUFtQjtJQUNyQixDQUFDRixlQUFleUUsTUFBTSxDQUFDLEVBQUU7SUFDekIsQ0FBQ3pFLGVBQWUwRSxNQUFNLENBQUMsRUFBRTtJQUN6QixDQUFDMUUsZUFBZTJFLFVBQVUsQ0FBQyxFQUFFO0FBQ2pDO0FBQ0EsTUFBTXhFLGVBQWU7QUFDckIsTUFBTUMseUJBQXlCO0FBQy9CLE1BQU1DLDBCQUEwQjtBQUNoQyxNQUFNQywyQkFBMkI7QUFDakMsTUFBTUMsYUFBYTtBQUNuQixNQUFNQyxhQUFhO0FBQ25CLE1BQU1DLGlCQUFpQjtBQUN2QixNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsMkJBQTJCO0FBQ2pDLE1BQU1DLGlCQUFpQjtBQUN2QixNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsNEJBQTRCO0FBQ2xDLE1BQU1DLGlDQUFpQztBQUN2QyxNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsZ0JBQWdCO0FBQ3RCLE1BQU1DLGdCQUFnQjtBQUN0QixNQUFNQyxxQkFBcUI7QUFDM0IsTUFBTUMsa0JBQWtCO0FBQ3hCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyx3QkFBd0I7QUFDOUIsTUFBTUMsNEJBQTRCO0FBQ2xDLE1BQU1DLHNCQUFzQjtBQUM1QixNQUFNQywwQkFBMEI7QUFDaEMsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGdCQUFnQjtBQUN0QixNQUFNQyxtQkFBbUI7QUFDekIsTUFBTUMsZUFBZTtJQUNqQjtJQUNBO0NBQ0g7QUFDRCxNQUFNQyxnQkFBZ0I7QUFDdEIsTUFBTUMsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsTUFBTUMsMkJBQTJCO0FBQ2pDLE1BQU1DLDJCQUEyQjtBQUNqQyxNQUFNQyw2QkFBNkI7QUFDbkMsTUFBTUMsd0JBQXdCO0FBQzlCLE1BQU1DLDZCQUE2QjtBQUNuQyxNQUFNQyw0QkFBNEI7QUFDbEMsTUFBTUMsNEJBQTRCO0FBQ2xDLE1BQU1DLDRCQUE0QjtBQUNsQyxNQUFNQyxxQ0FBcUM7QUFDM0MsTUFBTUMsbUNBQW1DO0FBQ3pDLE1BQU1DLHVDQUF1QyxLQUFLRCxtQ0FBbUM7QUFDckYsTUFBTUUsdUJBQXVCO0FBQzdCLE1BQU1DLDRDQUE0QztBQUNsRCxNQUFNQyxrQ0FBa0M7QUFDeEMsTUFBTUMsc0NBQXNDO0FBQzVDLE1BQU1DLHdDQUF3QztBQUM5QyxNQUFNQywrQ0FBK0M0QixPQUFPN0I7QUFDNUQsTUFBTUUsdUJBQXVCO0FBQzdCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxrQkFBa0I7QUFDeEIsTUFBTUMsdUJBQXVCO0FBQzdCLE1BQU1DLDJCQUEyQjtJQUM3QjtRQUNJd0IsS0FBS3pCO1FBQ0wwQixZQUFZO0lBQ2hCO0lBQ0E7UUFDSUQsS0FBSztRQUNMQyxZQUFZO0lBQ2hCO0NBQ0g7QUFDRCxNQUFNeEIscUJBQXFCO0lBQ3ZCVyxNQUFNO0lBQ05jLGVBQWU7SUFDZkMsWUFBWTtJQUNaQyxZQUFZO0FBQ2hCO0FBQ0EsTUFBTTFCLDBCQUEwQjtJQUM1QlUsTUFBTTtJQUNOYyxlQUFlO0lBQ2ZDLFlBQVk7SUFDWkMsWUFBWTtBQUNoQjtBQUNBLE1BQU16QixzQkFBc0I7SUFDeEI7Q0FDSDtBQUNELE1BQU1DLHVCQUF1QjtBQUM3QixNQUFNQyxtQ0FBbUM7QUFDekMsTUFBTUMsbUJBQW1CO0lBQ3JCYyxRQUFRO0lBQ1JDLFFBQVE7QUFDWjtBQUNBLE1BQU1kLDZCQUE2QjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsTUFBTUMscUJBQXFCLElBQUlxQixJQUFJO0lBQy9CekM7SUFDQUc7SUFDQUM7SUFDQUg7Q0FDSDtBQUVELElBQUksQ0FBQyxPQUFPOUMsUUFBUXlFLE9BQU8sS0FBSyxjQUFlLE9BQU96RSxRQUFReUUsT0FBTyxLQUFLLFlBQVl6RSxRQUFReUUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPekUsUUFBUXlFLE9BQU8sQ0FBQ2MsVUFBVSxLQUFLLGFBQWE7SUFDckt6RixPQUFPQyxjQUFjLENBQUNDLFFBQVF5RSxPQUFPLEVBQUUsY0FBYztRQUFFeEUsT0FBTztJQUFLO0lBQ25FSCxPQUFPMEYsTUFBTSxDQUFDeEYsUUFBUXlFLE9BQU8sRUFBRXpFO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF5RSxPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9jb25zdGFudHMuanM/ODhkNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIE1PREVSTl9CUk9XU0VSU0xJU1RfVEFSR0VUOiBudWxsLFxuICAgIENPTVBJTEVSX05BTUVTOiBudWxsLFxuICAgIElOVEVSTkFMX0hFQURFUlM6IG51bGwsXG4gICAgQ09NUElMRVJfSU5ERVhFUzogbnVsbCxcbiAgICBQSEFTRV9FWFBPUlQ6IG51bGwsXG4gICAgUEhBU0VfUFJPRFVDVElPTl9CVUlMRDogbnVsbCxcbiAgICBQSEFTRV9QUk9EVUNUSU9OX1NFUlZFUjogbnVsbCxcbiAgICBQSEFTRV9ERVZFTE9QTUVOVF9TRVJWRVI6IG51bGwsXG4gICAgUEhBU0VfVEVTVDogbnVsbCxcbiAgICBQSEFTRV9JTkZPOiBudWxsLFxuICAgIFBBR0VTX01BTklGRVNUOiBudWxsLFxuICAgIEFQUF9QQVRIU19NQU5JRkVTVDogbnVsbCxcbiAgICBBUFBfUEFUSF9ST1VURVNfTUFOSUZFU1Q6IG51bGwsXG4gICAgQlVJTERfTUFOSUZFU1Q6IG51bGwsXG4gICAgQVBQX0JVSUxEX01BTklGRVNUOiBudWxsLFxuICAgIEZVTkNUSU9OU19DT05GSUdfTUFOSUZFU1Q6IG51bGwsXG4gICAgU1VCUkVTT1VSQ0VfSU5URUdSSVRZX01BTklGRVNUOiBudWxsLFxuICAgIE5FWFRfRk9OVF9NQU5JRkVTVDogbnVsbCxcbiAgICBFWFBPUlRfTUFSS0VSOiBudWxsLFxuICAgIEVYUE9SVF9ERVRBSUw6IG51bGwsXG4gICAgUFJFUkVOREVSX01BTklGRVNUOiBudWxsLFxuICAgIFJPVVRFU19NQU5JRkVTVDogbnVsbCxcbiAgICBJTUFHRVNfTUFOSUZFU1Q6IG51bGwsXG4gICAgU0VSVkVSX0ZJTEVTX01BTklGRVNUOiBudWxsLFxuICAgIERFVl9DTElFTlRfUEFHRVNfTUFOSUZFU1Q6IG51bGwsXG4gICAgTUlERExFV0FSRV9NQU5JRkVTVDogbnVsbCxcbiAgICBERVZfTUlERExFV0FSRV9NQU5JRkVTVDogbnVsbCxcbiAgICBSRUFDVF9MT0FEQUJMRV9NQU5JRkVTVDogbnVsbCxcbiAgICBGT05UX01BTklGRVNUOiBudWxsLFxuICAgIFNFUlZFUl9ESVJFQ1RPUlk6IG51bGwsXG4gICAgQ09ORklHX0ZJTEVTOiBudWxsLFxuICAgIEJVSUxEX0lEX0ZJTEU6IG51bGwsXG4gICAgQkxPQ0tFRF9QQUdFUzogbnVsbCxcbiAgICBDTElFTlRfUFVCTElDX0ZJTEVTX1BBVEg6IG51bGwsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19QQVRIOiBudWxsLFxuICAgIFNUUklOR19MSVRFUkFMX0RST1BfQlVORExFOiBudWxsLFxuICAgIE5FWFRfQlVJTFRJTl9ET0NVTUVOVDogbnVsbCxcbiAgICBCQVJSRUxfT1BUSU1JWkFUSU9OX1BSRUZJWDogbnVsbCxcbiAgICBDTElFTlRfUkVGRVJFTkNFX01BTklGRVNUOiBudWxsLFxuICAgIFNFUlZFUl9SRUZFUkVOQ0VfTUFOSUZFU1Q6IG51bGwsXG4gICAgTUlERExFV0FSRV9CVUlMRF9NQU5JRkVTVDogbnVsbCxcbiAgICBNSURETEVXQVJFX1JFQUNUX0xPQURBQkxFX01BTklGRVNUOiBudWxsLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOOiBudWxsLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOX0FQUDogbnVsbCxcbiAgICBBUFBfQ0xJRU5UX0lOVEVSTkFMUzogbnVsbCxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSDogbnVsbCxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfQU1QOiBudWxsLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9XRUJQQUNLOiBudWxsLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFM6IG51bGwsXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMU19TWU1CT0w6IG51bGwsXG4gICAgRURHRV9SVU5USU1FX1dFQlBBQ0s6IG51bGwsXG4gICAgU1RBVElDX1BST1BTX0lEOiBudWxsLFxuICAgIFNFUlZFUl9QUk9QU19JRDogbnVsbCxcbiAgICBHT09HTEVfRk9OVF9QUk9WSURFUjogbnVsbCxcbiAgICBPUFRJTUlaRURfRk9OVF9QUk9WSURFUlM6IG51bGwsXG4gICAgREVGQVVMVF9TRVJJRl9GT05UOiBudWxsLFxuICAgIERFRkFVTFRfU0FOU19TRVJJRl9GT05UOiBudWxsLFxuICAgIFNUQVRJQ19TVEFUVVNfUEFHRVM6IG51bGwsXG4gICAgVFJBQ0VfT1VUUFVUX1ZFUlNJT046IG51bGwsXG4gICAgVFVSQk9fVFJBQ0VfREVGQVVMVF9NRU1PUllfTElNSVQ6IG51bGwsXG4gICAgUlNDX01PRFVMRV9UWVBFUzogbnVsbCxcbiAgICBFREdFX1VOU1VQUE9SVEVEX05PREVfQVBJUzogbnVsbCxcbiAgICBTWVNURU1fRU5UUllQT0lOVFM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX21vZGVybmJyb3dzZXJzbGlzdHRhcmdldC5kZWZhdWx0O1xuICAgIH0sXG4gICAgQ09NUElMRVJfTkFNRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ09NUElMRVJfTkFNRVM7XG4gICAgfSxcbiAgICBJTlRFUk5BTF9IRUFERVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSTkFMX0hFQURFUlM7XG4gICAgfSxcbiAgICBDT01QSUxFUl9JTkRFWEVTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENPTVBJTEVSX0lOREVYRVM7XG4gICAgfSxcbiAgICBQSEFTRV9FWFBPUlQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEhBU0VfRVhQT1JUO1xuICAgIH0sXG4gICAgUEhBU0VfUFJPRFVDVElPTl9CVUlMRDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQSEFTRV9QUk9EVUNUSU9OX0JVSUxEO1xuICAgIH0sXG4gICAgUEhBU0VfUFJPRFVDVElPTl9TRVJWRVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEhBU0VfUFJPRFVDVElPTl9TRVJWRVI7XG4gICAgfSxcbiAgICBQSEFTRV9ERVZFTE9QTUVOVF9TRVJWRVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEhBU0VfREVWRUxPUE1FTlRfU0VSVkVSO1xuICAgIH0sXG4gICAgUEhBU0VfVEVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQSEFTRV9URVNUO1xuICAgIH0sXG4gICAgUEhBU0VfSU5GTzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQSEFTRV9JTkZPO1xuICAgIH0sXG4gICAgUEFHRVNfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEFHRVNfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBBUFBfUEFUSFNfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQVBQX1BBVEhTX01BTklGRVNUO1xuICAgIH0sXG4gICAgQVBQX1BBVEhfUk9VVEVTX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFQUF9QQVRIX1JPVVRFU19NQU5JRkVTVDtcbiAgICB9LFxuICAgIEJVSUxEX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEJVSUxEX01BTklGRVNUO1xuICAgIH0sXG4gICAgQVBQX0JVSUxEX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFQUF9CVUlMRF9NQU5JRkVTVDtcbiAgICB9LFxuICAgIEZVTkNUSU9OU19DT05GSUdfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRlVOQ1RJT05TX0NPTkZJR19NQU5JRkVTVDtcbiAgICB9LFxuICAgIFNVQlJFU09VUkNFX0lOVEVHUklUWV9NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVUJSRVNPVVJDRV9JTlRFR1JJVFlfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBORVhUX0ZPTlRfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9GT05UX01BTklGRVNUO1xuICAgIH0sXG4gICAgRVhQT1JUX01BUktFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFWFBPUlRfTUFSS0VSO1xuICAgIH0sXG4gICAgRVhQT1JUX0RFVEFJTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFWFBPUlRfREVUQUlMO1xuICAgIH0sXG4gICAgUFJFUkVOREVSX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBSRVJFTkRFUl9NQU5JRkVTVDtcbiAgICB9LFxuICAgIFJPVVRFU19NQU5JRkVTVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBST1VURVNfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBJTUFHRVNfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU1BR0VTX01BTklGRVNUO1xuICAgIH0sXG4gICAgU0VSVkVSX0ZJTEVTX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9GSUxFU19NQU5JRkVTVDtcbiAgICB9LFxuICAgIERFVl9DTElFTlRfUEFHRVNfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gREVWX0NMSUVOVF9QQUdFU19NQU5JRkVTVDtcbiAgICB9LFxuICAgIE1JRERMRVdBUkVfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9NQU5JRkVTVDtcbiAgICB9LFxuICAgIERFVl9NSURETEVXQVJFX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERFVl9NSURETEVXQVJFX01BTklGRVNUO1xuICAgIH0sXG4gICAgUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBGT05UX01BTklGRVNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEZPTlRfTUFOSUZFU1Q7XG4gICAgfSxcbiAgICBTRVJWRVJfRElSRUNUT1JZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9ESVJFQ1RPUlk7XG4gICAgfSxcbiAgICBDT05GSUdfRklMRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ09ORklHX0ZJTEVTO1xuICAgIH0sXG4gICAgQlVJTERfSURfRklMRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCVUlMRF9JRF9GSUxFO1xuICAgIH0sXG4gICAgQkxPQ0tFRF9QQUdFUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCTE9DS0VEX1BBR0VTO1xuICAgIH0sXG4gICAgQ0xJRU5UX1BVQkxJQ19GSUxFU19QQVRIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9QVUJMSUNfRklMRVNfUEFUSDtcbiAgICB9LFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUEFUSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDTElFTlRfU1RBVElDX0ZJTEVTX1BBVEg7XG4gICAgfSxcbiAgICBTVFJJTkdfTElURVJBTF9EUk9QX0JVTkRMRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVFJJTkdfTElURVJBTF9EUk9QX0JVTkRMRTtcbiAgICB9LFxuICAgIE5FWFRfQlVJTFRJTl9ET0NVTUVOVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0JVSUxUSU5fRE9DVU1FTlQ7XG4gICAgfSxcbiAgICBCQVJSRUxfT1BUSU1JWkFUSU9OX1BSRUZJWDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCQVJSRUxfT1BUSU1JWkFUSU9OX1BSRUZJWDtcbiAgICB9LFxuICAgIENMSUVOVF9SRUZFUkVOQ0VfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1JFRkVSRU5DRV9NQU5JRkVTVDtcbiAgICB9LFxuICAgIFNFUlZFUl9SRUZFUkVOQ0VfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1JFRkVSRU5DRV9NQU5JRkVTVDtcbiAgICB9LFxuICAgIE1JRERMRVdBUkVfQlVJTERfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9CVUlMRF9NQU5JRkVTVDtcbiAgICB9LFxuICAgIE1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9SRUFDVF9MT0FEQUJMRV9NQU5JRkVTVDtcbiAgICB9LFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOO1xuICAgIH0sXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOX0FQUDtcbiAgICB9LFxuICAgIEFQUF9DTElFTlRfSU5URVJOQUxTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFQUF9DTElFTlRfSU5URVJOQUxTO1xuICAgIH0sXG4gICAgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1JFQUNUX1JFRlJFU0g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1JFQUNUX1JFRlJFU0g7XG4gICAgfSxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfQU1QOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVA7XG4gICAgfSxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfV0VCUEFDSztcbiAgICB9LFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUztcbiAgICB9LFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFNfU1lNQk9MOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFNfU1lNQk9MO1xuICAgIH0sXG4gICAgRURHRV9SVU5USU1FX1dFQlBBQ0s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRURHRV9SVU5USU1FX1dFQlBBQ0s7XG4gICAgfSxcbiAgICBTVEFUSUNfUFJPUFNfSUQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1RBVElDX1BST1BTX0lEO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0lEOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9QUk9QU19JRDtcbiAgICB9LFxuICAgIEdPT0dMRV9GT05UX1BST1ZJREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdPT0dMRV9GT05UX1BST1ZJREVSO1xuICAgIH0sXG4gICAgT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE9QVElNSVpFRF9GT05UX1BST1ZJREVSUztcbiAgICB9LFxuICAgIERFRkFVTFRfU0VSSUZfRk9OVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBERUZBVUxUX1NFUklGX0ZPTlQ7XG4gICAgfSxcbiAgICBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVDtcbiAgICB9LFxuICAgIFNUQVRJQ19TVEFUVVNfUEFHRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1RBVElDX1NUQVRVU19QQUdFUztcbiAgICB9LFxuICAgIFRSQUNFX09VVFBVVF9WRVJTSU9OOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFRSQUNFX09VVFBVVF9WRVJTSU9OO1xuICAgIH0sXG4gICAgVFVSQk9fVFJBQ0VfREVGQVVMVF9NRU1PUllfTElNSVQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gVFVSQk9fVFJBQ0VfREVGQVVMVF9NRU1PUllfTElNSVQ7XG4gICAgfSxcbiAgICBSU0NfTU9EVUxFX1RZUEVTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19NT0RVTEVfVFlQRVM7XG4gICAgfSxcbiAgICBFREdFX1VOU1VQUE9SVEVEX05PREVfQVBJUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFREdFX1VOU1VQUE9SVEVEX05PREVfQVBJUztcbiAgICB9LFxuICAgIFNZU1RFTV9FTlRSWVBPSU5UUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTWVNURU1fRU5UUllQT0lOVFM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX21vZGVybmJyb3dzZXJzbGlzdHRhcmdldCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXRcIikpO1xuY29uc3QgQ09NUElMRVJfTkFNRVMgPSB7XG4gICAgY2xpZW50OiBcImNsaWVudFwiLFxuICAgIHNlcnZlcjogXCJzZXJ2ZXJcIixcbiAgICBlZGdlU2VydmVyOiBcImVkZ2Utc2VydmVyXCJcbn07XG5jb25zdCBJTlRFUk5BTF9IRUFERVJTID0gW1xuICAgIFwieC1pbnZva2UtZXJyb3JcIixcbiAgICBcIngtaW52b2tlLW91dHB1dFwiLFxuICAgIFwieC1pbnZva2UtcGF0aFwiLFxuICAgIFwieC1pbnZva2UtcXVlcnlcIixcbiAgICBcIngtaW52b2tlLXN0YXR1c1wiLFxuICAgIFwieC1taWRkbGV3YXJlLWludm9rZVwiXG5dO1xuY29uc3QgQ09NUElMRVJfSU5ERVhFUyA9IHtcbiAgICBbQ09NUElMRVJfTkFNRVMuY2xpZW50XTogMCxcbiAgICBbQ09NUElMRVJfTkFNRVMuc2VydmVyXTogMSxcbiAgICBbQ09NUElMRVJfTkFNRVMuZWRnZVNlcnZlcl06IDJcbn07XG5jb25zdCBQSEFTRV9FWFBPUlQgPSBcInBoYXNlLWV4cG9ydFwiO1xuY29uc3QgUEhBU0VfUFJPRFVDVElPTl9CVUlMRCA9IFwicGhhc2UtcHJvZHVjdGlvbi1idWlsZFwiO1xuY29uc3QgUEhBU0VfUFJPRFVDVElPTl9TRVJWRVIgPSBcInBoYXNlLXByb2R1Y3Rpb24tc2VydmVyXCI7XG5jb25zdCBQSEFTRV9ERVZFTE9QTUVOVF9TRVJWRVIgPSBcInBoYXNlLWRldmVsb3BtZW50LXNlcnZlclwiO1xuY29uc3QgUEhBU0VfVEVTVCA9IFwicGhhc2UtdGVzdFwiO1xuY29uc3QgUEhBU0VfSU5GTyA9IFwicGhhc2UtaW5mb1wiO1xuY29uc3QgUEFHRVNfTUFOSUZFU1QgPSBcInBhZ2VzLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IEFQUF9QQVRIU19NQU5JRkVTVCA9IFwiYXBwLXBhdGhzLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IEFQUF9QQVRIX1JPVVRFU19NQU5JRkVTVCA9IFwiYXBwLXBhdGgtcm91dGVzLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IEJVSUxEX01BTklGRVNUID0gXCJidWlsZC1tYW5pZmVzdC5qc29uXCI7XG5jb25zdCBBUFBfQlVJTERfTUFOSUZFU1QgPSBcImFwcC1idWlsZC1tYW5pZmVzdC5qc29uXCI7XG5jb25zdCBGVU5DVElPTlNfQ09ORklHX01BTklGRVNUID0gXCJmdW5jdGlvbnMtY29uZmlnLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IFNVQlJFU09VUkNFX0lOVEVHUklUWV9NQU5JRkVTVCA9IFwic3VicmVzb3VyY2UtaW50ZWdyaXR5LW1hbmlmZXN0XCI7XG5jb25zdCBORVhUX0ZPTlRfTUFOSUZFU1QgPSBcIm5leHQtZm9udC1tYW5pZmVzdFwiO1xuY29uc3QgRVhQT1JUX01BUktFUiA9IFwiZXhwb3J0LW1hcmtlci5qc29uXCI7XG5jb25zdCBFWFBPUlRfREVUQUlMID0gXCJleHBvcnQtZGV0YWlsLmpzb25cIjtcbmNvbnN0IFBSRVJFTkRFUl9NQU5JRkVTVCA9IFwicHJlcmVuZGVyLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IFJPVVRFU19NQU5JRkVTVCA9IFwicm91dGVzLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IElNQUdFU19NQU5JRkVTVCA9IFwiaW1hZ2VzLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IFNFUlZFUl9GSUxFU19NQU5JRkVTVCA9IFwicmVxdWlyZWQtc2VydmVyLWZpbGVzLmpzb25cIjtcbmNvbnN0IERFVl9DTElFTlRfUEFHRVNfTUFOSUZFU1QgPSBcIl9kZXZQYWdlc01hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IE1JRERMRVdBUkVfTUFOSUZFU1QgPSBcIm1pZGRsZXdhcmUtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgREVWX01JRERMRVdBUkVfTUFOSUZFU1QgPSBcIl9kZXZNaWRkbGV3YXJlTWFuaWZlc3QuanNvblwiO1xuY29uc3QgUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QgPSBcInJlYWN0LWxvYWRhYmxlLW1hbmlmZXN0Lmpzb25cIjtcbmNvbnN0IEZPTlRfTUFOSUZFU1QgPSBcImZvbnQtbWFuaWZlc3QuanNvblwiO1xuY29uc3QgU0VSVkVSX0RJUkVDVE9SWSA9IFwic2VydmVyXCI7XG5jb25zdCBDT05GSUdfRklMRVMgPSBbXG4gICAgXCJuZXh0LmNvbmZpZy5qc1wiLFxuICAgIFwibmV4dC5jb25maWcubWpzXCJcbl07XG5jb25zdCBCVUlMRF9JRF9GSUxFID0gXCJCVUlMRF9JRFwiO1xuY29uc3QgQkxPQ0tFRF9QQUdFUyA9IFtcbiAgICBcIi9fZG9jdW1lbnRcIixcbiAgICBcIi9fYXBwXCIsXG4gICAgXCIvX2Vycm9yXCJcbl07XG5jb25zdCBDTElFTlRfUFVCTElDX0ZJTEVTX1BBVEggPSBcInB1YmxpY1wiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19QQVRIID0gXCJzdGF0aWNcIjtcbmNvbnN0IFNUUklOR19MSVRFUkFMX0RST1BfQlVORExFID0gXCJfX05FWFRfRFJPUF9DTElFTlRfRklMRV9fXCI7XG5jb25zdCBORVhUX0JVSUxUSU5fRE9DVU1FTlQgPSBcIl9fTkVYVF9CVUlMVElOX0RPQ1VNRU5UX19cIjtcbmNvbnN0IEJBUlJFTF9PUFRJTUlaQVRJT05fUFJFRklYID0gXCJfX2JhcnJlbF9vcHRpbWl6ZV9fXCI7XG5jb25zdCBDTElFTlRfUkVGRVJFTkNFX01BTklGRVNUID0gXCJjbGllbnQtcmVmZXJlbmNlLW1hbmlmZXN0XCI7XG5jb25zdCBTRVJWRVJfUkVGRVJFTkNFX01BTklGRVNUID0gXCJzZXJ2ZXItcmVmZXJlbmNlLW1hbmlmZXN0XCI7XG5jb25zdCBNSURETEVXQVJFX0JVSUxEX01BTklGRVNUID0gXCJtaWRkbGV3YXJlLWJ1aWxkLW1hbmlmZXN0XCI7XG5jb25zdCBNSURETEVXQVJFX1JFQUNUX0xPQURBQkxFX01BTklGRVNUID0gXCJtaWRkbGV3YXJlLXJlYWN0LWxvYWRhYmxlLW1hbmlmZXN0XCI7XG5jb25zdCBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfTUFJTiA9IFwibWFpblwiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX01BSU5fQVBQID0gXCJcIiArIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOICsgXCItYXBwXCI7XG5jb25zdCBBUFBfQ0xJRU5UX0lOVEVSTkFMUyA9IFwiYXBwLXBhZ2VzLWludGVybmFsc1wiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1JFQUNUX1JFRlJFU0ggPSBcInJlYWN0LXJlZnJlc2hcIjtcbmNvbnN0IENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9BTVAgPSBcImFtcFwiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1dFQlBBQ0sgPSBcIndlYnBhY2tcIjtcbmNvbnN0IENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9QT0xZRklMTFMgPSBcInBvbHlmaWxsc1wiO1xuY29uc3QgQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMU19TWU1CT0wgPSBTeW1ib2woQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMUyk7XG5jb25zdCBFREdFX1JVTlRJTUVfV0VCUEFDSyA9IFwiZWRnZS1ydW50aW1lLXdlYnBhY2tcIjtcbmNvbnN0IFNUQVRJQ19QUk9QU19JRCA9IFwiX19OX1NTR1wiO1xuY29uc3QgU0VSVkVSX1BST1BTX0lEID0gXCJfX05fU1NQXCI7XG5jb25zdCBHT09HTEVfRk9OVF9QUk9WSURFUiA9IFwiaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9cIjtcbmNvbnN0IE9QVElNSVpFRF9GT05UX1BST1ZJREVSUyA9IFtcbiAgICB7XG4gICAgICAgIHVybDogR09PR0xFX0ZPTlRfUFJPVklERVIsXG4gICAgICAgIHByZWNvbm5lY3Q6IFwiaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbVwiXG4gICAgfSxcbiAgICB7XG4gICAgICAgIHVybDogXCJodHRwczovL3VzZS50eXBla2l0Lm5ldFwiLFxuICAgICAgICBwcmVjb25uZWN0OiBcImh0dHBzOi8vdXNlLnR5cGVraXQubmV0XCJcbiAgICB9XG5dO1xuY29uc3QgREVGQVVMVF9TRVJJRl9GT05UID0ge1xuICAgIG5hbWU6IFwiVGltZXMgTmV3IFJvbWFuXCIsXG4gICAgeEF2Z0NoYXJXaWR0aDogODIxLFxuICAgIGF6QXZnV2lkdGg6IDg1NC4zOTUzNDg4MzcyMDkzLFxuICAgIHVuaXRzUGVyRW06IDIwNDhcbn07XG5jb25zdCBERUZBVUxUX1NBTlNfU0VSSUZfRk9OVCA9IHtcbiAgICBuYW1lOiBcIkFyaWFsXCIsXG4gICAgeEF2Z0NoYXJXaWR0aDogOTA0LFxuICAgIGF6QXZnV2lkdGg6IDkzNC41MTE2Mjc5MDY5NzY3LFxuICAgIHVuaXRzUGVyRW06IDIwNDhcbn07XG5jb25zdCBTVEFUSUNfU1RBVFVTX1BBR0VTID0gW1xuICAgIFwiLzUwMFwiXG5dO1xuY29uc3QgVFJBQ0VfT1VUUFVUX1ZFUlNJT04gPSAxO1xuY29uc3QgVFVSQk9fVFJBQ0VfREVGQVVMVF9NRU1PUllfTElNSVQgPSA2MDAwO1xuY29uc3QgUlNDX01PRFVMRV9UWVBFUyA9IHtcbiAgICBjbGllbnQ6IFwiY2xpZW50XCIsXG4gICAgc2VydmVyOiBcInNlcnZlclwiXG59O1xuY29uc3QgRURHRV9VTlNVUFBPUlRFRF9OT0RFX0FQSVMgPSBbXG4gICAgXCJjbGVhckltbWVkaWF0ZVwiLFxuICAgIFwic2V0SW1tZWRpYXRlXCIsXG4gICAgXCJCcm9hZGNhc3RDaGFubmVsXCIsXG4gICAgXCJCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5XCIsXG4gICAgXCJDb21wcmVzc2lvblN0cmVhbVwiLFxuICAgIFwiQ291bnRRdWV1aW5nU3RyYXRlZ3lcIixcbiAgICBcIkRlY29tcHJlc3Npb25TdHJlYW1cIixcbiAgICBcIkRvbUV4Y2VwdGlvblwiLFxuICAgIFwiTWVzc2FnZUNoYW5uZWxcIixcbiAgICBcIk1lc3NhZ2VFdmVudFwiLFxuICAgIFwiTWVzc2FnZVBvcnRcIixcbiAgICBcIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJcIixcbiAgICBcIlJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3RcIixcbiAgICBcIlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJcIixcbiAgICBcIlRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyXCIsXG4gICAgXCJXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyXCJcbl07XG5jb25zdCBTWVNURU1fRU5UUllQT0lOVFMgPSBuZXcgU2V0KFtcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfTUFJTixcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUkVBQ1RfUkVGUkVTSCxcbiAgICBDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfQU1QLFxuICAgIENMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOX0FQUFxuXSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJNT0RFUk5fQlJPV1NFUlNMSVNUX1RBUkdFVCIsIkNPTVBJTEVSX05BTUVTIiwiSU5URVJOQUxfSEVBREVSUyIsIkNPTVBJTEVSX0lOREVYRVMiLCJQSEFTRV9FWFBPUlQiLCJQSEFTRV9QUk9EVUNUSU9OX0JVSUxEIiwiUEhBU0VfUFJPRFVDVElPTl9TRVJWRVIiLCJQSEFTRV9ERVZFTE9QTUVOVF9TRVJWRVIiLCJQSEFTRV9URVNUIiwiUEhBU0VfSU5GTyIsIlBBR0VTX01BTklGRVNUIiwiQVBQX1BBVEhTX01BTklGRVNUIiwiQVBQX1BBVEhfUk9VVEVTX01BTklGRVNUIiwiQlVJTERfTUFOSUZFU1QiLCJBUFBfQlVJTERfTUFOSUZFU1QiLCJGVU5DVElPTlNfQ09ORklHX01BTklGRVNUIiwiU1VCUkVTT1VSQ0VfSU5URUdSSVRZX01BTklGRVNUIiwiTkVYVF9GT05UX01BTklGRVNUIiwiRVhQT1JUX01BUktFUiIsIkVYUE9SVF9ERVRBSUwiLCJQUkVSRU5ERVJfTUFOSUZFU1QiLCJST1VURVNfTUFOSUZFU1QiLCJJTUFHRVNfTUFOSUZFU1QiLCJTRVJWRVJfRklMRVNfTUFOSUZFU1QiLCJERVZfQ0xJRU5UX1BBR0VTX01BTklGRVNUIiwiTUlERExFV0FSRV9NQU5JRkVTVCIsIkRFVl9NSURETEVXQVJFX01BTklGRVNUIiwiUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QiLCJGT05UX01BTklGRVNUIiwiU0VSVkVSX0RJUkVDVE9SWSIsIkNPTkZJR19GSUxFUyIsIkJVSUxEX0lEX0ZJTEUiLCJCTE9DS0VEX1BBR0VTIiwiQ0xJRU5UX1BVQkxJQ19GSUxFU19QQVRIIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19QQVRIIiwiU1RSSU5HX0xJVEVSQUxfRFJPUF9CVU5ETEUiLCJORVhUX0JVSUxUSU5fRE9DVU1FTlQiLCJCQVJSRUxfT1BUSU1JWkFUSU9OX1BSRUZJWCIsIkNMSUVOVF9SRUZFUkVOQ0VfTUFOSUZFU1QiLCJTRVJWRVJfUkVGRVJFTkNFX01BTklGRVNUIiwiTUlERExFV0FSRV9CVUlMRF9NQU5JRkVTVCIsIk1JRERMRVdBUkVfUkVBQ1RfTE9BREFCTEVfTUFOSUZFU1QiLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfTUFJTiIsIkNMSUVOVF9TVEFUSUNfRklMRVNfUlVOVElNRV9NQUlOX0FQUCIsIkFQUF9DTElFTlRfSU5URVJOQUxTIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1JFQUNUX1JFRlJFU0giLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfQU1QIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1dFQlBBQ0siLCJDTElFTlRfU1RBVElDX0ZJTEVTX1JVTlRJTUVfUE9MWUZJTExTIiwiQ0xJRU5UX1NUQVRJQ19GSUxFU19SVU5USU1FX1BPTFlGSUxMU19TWU1CT0wiLCJFREdFX1JVTlRJTUVfV0VCUEFDSyIsIlNUQVRJQ19QUk9QU19JRCIsIlNFUlZFUl9QUk9QU19JRCIsIkdPT0dMRV9GT05UX1BST1ZJREVSIiwiT1BUSU1JWkVEX0ZPTlRfUFJPVklERVJTIiwiREVGQVVMVF9TRVJJRl9GT05UIiwiREVGQVVMVF9TQU5TX1NFUklGX0ZPTlQiLCJTVEFUSUNfU1RBVFVTX1BBR0VTIiwiVFJBQ0VfT1VUUFVUX1ZFUlNJT04iLCJUVVJCT19UUkFDRV9ERUZBVUxUX01FTU9SWV9MSU1JVCIsIlJTQ19NT0RVTEVfVFlQRVMiLCJFREdFX1VOU1VQUE9SVEVEX05PREVfQVBJUyIsIlNZU1RFTV9FTlRSWVBPSU5UUyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9tb2Rlcm5icm93c2Vyc2xpc3R0YXJnZXQiLCJkZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl8iLCJjbGllbnQiLCJzZXJ2ZXIiLCJlZGdlU2VydmVyIiwiU3ltYm9sIiwidXJsIiwicHJlY29ubmVjdCIsInhBdmdDaGFyV2lkdGgiLCJhekF2Z1dpZHRoIiwidW5pdHNQZXJFbSIsIlNldCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/constants.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/head.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/shared/lib/head.js ***! \***************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n defaultHead: function() {\n return defaultHead;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"react/jsx-runtime\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"react\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLDZHQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLCtHQUEwQztBQUNwRixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyw0Q0FBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxvQkFBTztBQUN4RSxNQUFNSyxjQUFjLFdBQVcsR0FBR04seUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHlFQUFlO0FBQ3BGLE1BQU1NLDJCQUEyQk4sbUJBQU9BLENBQUMsaUlBQThCO0FBQ3ZFLE1BQU1PLG1DQUFtQ1AsbUJBQU9BLENBQUMsbUpBQXVDO0FBQ3hGLE1BQU1RLFdBQVdSLG1CQUFPQSxDQUFDLG1FQUFZO0FBQ3JDLE1BQU1TLFlBQVlULG1CQUFPQSxDQUFDLGlGQUFtQjtBQUM3QyxTQUFTVixZQUFZb0IsU0FBUztJQUMxQixJQUFJQSxjQUFjLEtBQUssR0FBR0EsWUFBWTtJQUN0QyxNQUFNQyxPQUFPO1FBQ1QsV0FBVyxHQUFJLElBQUdULFlBQVlVLEdBQUcsRUFBRSxRQUFRO1lBQ3ZDQyxTQUFTO1FBQ2I7S0FDSDtJQUNE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QWU7SUFDaEYsTUFBTUMsY0FBYyxDQUFDLEdBQUd0RSxPQUFPb0UsVUFBVSxFQUFFaEUsaUNBQWlDbUUsa0JBQWtCO0lBQzlGLE9BQXFCLFdBQUgsR0FBSSxJQUFHeEUsWUFBWVUsR0FBRyxFQUFFUCxZQUFZZCxPQUFPLEVBQUU7UUFDM0RvRix5QkFBeUJ4QjtRQUN6QnNCLGFBQWFBO1FBQ2IvRCxXQUFXLENBQUMsR0FBR0YsU0FBU29FLFdBQVcsRUFBRU47UUFDckM3QyxVQUFVQTtJQUNkO0FBQ0o7QUFDQSxNQUFNM0IsV0FBV3NFO0FBRWpCLElBQUksQ0FBQyxPQUFPakYsUUFBUUksT0FBTyxLQUFLLGNBQWUsT0FBT0osUUFBUUksT0FBTyxLQUFLLFlBQVlKLFFBQVFJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0osUUFBUUksT0FBTyxDQUFDc0YsVUFBVSxLQUFLLGFBQWE7SUFDcks1RixPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU87SUFBSztJQUNuRUgsT0FBTzZGLE1BQU0sQ0FBQzNGLFFBQVFJLE9BQU8sRUFBRUo7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUksT0FBTztBQUNsQyxFQUVBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcz9mYjVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHRIZWFkOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdEhlYWQ7XG4gICAgfSxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zaWRlZWZmZWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9zaWRlLWVmZmVjdFwiKSk7XG5jb25zdCBfYW1wY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9oZWFkbWFuYWdlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4vaGVhZC1tYW5hZ2VyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfYW1wbW9kZSA9IHJlcXVpcmUoXCIuL2FtcC1tb2RlXCIpO1xuY29uc3QgX3dhcm5vbmNlID0gcmVxdWlyZShcIi4vdXRpbHMvd2Fybi1vbmNlXCIpO1xuZnVuY3Rpb24gZGVmYXVsdEhlYWQoaW5BbXBNb2RlKSB7XG4gICAgaWYgKGluQW1wTW9kZSA9PT0gdm9pZCAwKSBpbkFtcE1vZGUgPSBmYWxzZTtcbiAgICBjb25zdCBoZWFkID0gW1xuICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICBjaGFyU2V0OiBcInV0Zi04XCJcbiAgICAgICAgfSlcbiAgICBdO1xuICAgIGlmICghaW5BbXBNb2RlKSB7XG4gICAgICAgIGhlYWQucHVzaCgvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aFwiXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWQ7XG59XG5mdW5jdGlvbiBvbmx5UmVhY3RFbGVtZW50KGxpc3QsIGNoaWxkKSB7XG4gICAgLy8gUmVhY3QgY2hpbGRyZW4gY2FuIGJlIFwic3RyaW5nXCIgb3IgXCJudW1iZXJcIiBpbiB0aGlzIGNhc2Ugd2UgaWdub3JlIHRoZW0gZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAgICBpZiAodHlwZW9mIGNoaWxkID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBjaGlsZCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICB9XG4gICAgLy8gQWRkcyBzdXBwb3J0IGZvciBSZWFjdC5GcmFnbWVudFxuICAgIGlmIChjaGlsZC50eXBlID09PSBfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCkge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoLy8gQHRzLWV4cGVjdC1lcnJvciBAdHlwZXMvcmVhY3QgZG9lcyBub3QgcmVtb3ZlIGZyYWdtZW50cyBidXQgdGhpcyBjb3VsZCBhbHNvIHJldHVybiBSZWFjdFBvcnRhbFtdXG4gICAgICAgIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkoY2hpbGQucHJvcHMuY2hpbGRyZW4pLnJlZHVjZSgvLyBAdHMtZXhwZWN0LWVycm9yIEB0eXBlcy9yZWFjdCBkb2VzIG5vdCByZW1vdmUgZnJhZ21lbnRzIGJ1dCB0aGlzIGNvdWxkIGFsc28gcmV0dXJuIFJlYWN0UG9ydGFsW11cbiAgICAgICAgKGZyYWdtZW50TGlzdCwgZnJhZ21lbnRDaGlsZCk9PntcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmcmFnbWVudExpc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRMaXN0LmNvbmNhdChmcmFnbWVudENoaWxkKTtcbiAgICAgICAgfSwgW10pKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KGNoaWxkKTtcbn1cbmNvbnN0IE1FVEFUWVBFUyA9IFtcbiAgICBcIm5hbWVcIixcbiAgICBcImh0dHBFcXVpdlwiLFxuICAgIFwiY2hhclNldFwiLFxuICAgIFwiaXRlbVByb3BcIlxuXTtcbi8qXG4gcmV0dXJucyBhIGZ1bmN0aW9uIGZvciBmaWx0ZXJpbmcgaGVhZCBjaGlsZCBlbGVtZW50c1xuIHdoaWNoIHNob3VsZG4ndCBiZSBkdXBsaWNhdGVkLCBsaWtlIDx0aXRsZS8+XG4gQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGRlZHVwbGljYXRlZCBga2V5YCBwcm9wZXJ0aWVzXG4qLyBmdW5jdGlvbiB1bmlxdWUoKSB7XG4gICAgY29uc3Qga2V5cyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB0YWdzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IG1ldGFUeXBlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBtZXRhQ2F0ZWdvcmllcyA9IHt9O1xuICAgIHJldHVybiAoaCk9PntcbiAgICAgICAgbGV0IGlzVW5pcXVlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGhhc0tleSA9IGZhbHNlO1xuICAgICAgICBpZiAoaC5rZXkgJiYgdHlwZW9mIGgua2V5ICE9PSBcIm51bWJlclwiICYmIGgua2V5LmluZGV4T2YoXCIkXCIpID4gMCkge1xuICAgICAgICAgICAgaGFzS2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGgua2V5LnNsaWNlKGgua2V5LmluZGV4T2YoXCIkXCIpICsgMSk7XG4gICAgICAgICAgICBpZiAoa2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleXMuYWRkKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmF1bHQtY2FzZVxuICAgICAgICBzd2l0Y2goaC50eXBlKXtcbiAgICAgICAgICAgIGNhc2UgXCJ0aXRsZVwiOlxuICAgICAgICAgICAgY2FzZSBcImJhc2VcIjpcbiAgICAgICAgICAgICAgICBpZiAodGFncy5oYXMoaC50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhZ3MuYWRkKGgudHlwZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm1ldGFcIjpcbiAgICAgICAgICAgICAgICBmb3IobGV0IGkgPSAwLCBsZW4gPSBNRVRBVFlQRVMubGVuZ3RoOyBpIDwgbGVuOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXRhdHlwZSA9IE1FVEFUWVBFU1tpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoLnByb3BzLmhhc093blByb3BlcnR5KG1ldGF0eXBlKSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXRhdHlwZSA9PT0gXCJjaGFyU2V0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXRhVHlwZXMuaGFzKG1ldGF0eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFUeXBlcy5hZGQobWV0YXR5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBoLnByb3BzW21ldGF0eXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gfHwgbmV3IFNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChtZXRhdHlwZSAhPT0gXCJuYW1lXCIgfHwgIWhhc0tleSkgJiYgY2F0ZWdvcmllcy5oYXMoY2F0ZWdvcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllcy5hZGQoY2F0ZWdvcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFDYXRlZ29yaWVzW21ldGF0eXBlXSA9IGNhdGVnb3JpZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzVW5pcXVlO1xuICAgIH07XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gaGVhZENoaWxkcmVuRWxlbWVudHMgTGlzdCBvZiBjaGlsZHJlbiBvZiA8SGVhZD5cbiAqLyBmdW5jdGlvbiByZWR1Y2VDb21wb25lbnRzKGhlYWRDaGlsZHJlbkVsZW1lbnRzLCBwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlIH0gPSBwcm9wcztcbiAgICByZXR1cm4gaGVhZENoaWxkcmVuRWxlbWVudHMucmVkdWNlKG9ubHlSZWFjdEVsZW1lbnQsIFtdKS5yZXZlcnNlKCkuY29uY2F0KGRlZmF1bHRIZWFkKGluQW1wTW9kZSkucmV2ZXJzZSgpKS5maWx0ZXIodW5pcXVlKCkpLnJldmVyc2UoKS5tYXAoKGMsIGkpPT57XG4gICAgICAgIGNvbnN0IGtleSA9IGMua2V5IHx8IGk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIHByb2Nlc3MuZW52Ll9fTkVYVF9PUFRJTUlaRV9GT05UUyAmJiAhaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAoYy50eXBlID09PSBcImxpbmtcIiAmJiBjLnByb3BzW1wiaHJlZlwiXSAmJiAvLyBUT0RPKHByYXRlZWtiaEApOiBSZXBsYWNlIHRoaXMgd2l0aCBjb25zdCBmcm9tIGBjb25zdGFudHNgIHdoZW4gdGhlIHRyZWUgc2hha2luZyB3b3Jrcy5cbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzXCIsXG4gICAgICAgICAgICAgICAgXCJodHRwczovL3VzZS50eXBla2l0Lm5ldC9cIlxuICAgICAgICAgICAgXS5zb21lKCh1cmwpPT5jLnByb3BzW1wiaHJlZlwiXS5zdGFydHNXaXRoKHVybCkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge31cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIG5ld1Byb3BzW1wiZGF0YS1ocmVmXCJdID0gbmV3UHJvcHNbXCJocmVmXCJdO1xuICAgICAgICAgICAgICAgIG5ld1Byb3BzW1wiaHJlZlwiXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhpcyBhdHRyaWJ1dGUgdG8gbWFrZSBpdCBlYXN5IHRvIGlkZW50aWZ5IG9wdGltaXplZCB0YWdzXG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJkYXRhLW9wdGltaXplZC1mb250c1wiXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGMsIG5ld1Byb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgLy8gb21pdCBKU09OLUxEIHN0cnVjdHVyZWQgZGF0YSBzbmlwcGV0cyBmcm9tIHRoZSB3YXJuaW5nXG4gICAgICAgICAgICBpZiAoYy50eXBlID09PSBcInNjcmlwdFwiICYmIGMucHJvcHNbXCJ0eXBlXCJdICE9PSBcImFwcGxpY2F0aW9uL2xkK2pzb25cIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNyY01lc3NhZ2UgPSBjLnByb3BzW1wic3JjXCJdID8gJzxzY3JpcHQ+IHRhZyB3aXRoIHNyYz1cIicgKyBjLnByb3BzW1wic3JjXCJdICsgJ1wiJyA6IFwiaW5saW5lIDxzY3JpcHQ+XCI7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoXCJEbyBub3QgYWRkIDxzY3JpcHQ+IHRhZ3MgdXNpbmcgbmV4dC9oZWFkIChzZWUgXCIgKyBzcmNNZXNzYWdlICsgXCIpLiBVc2UgbmV4dC9zY3JpcHQgaW5zdGVhZC4gXFxuU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1zY3JpcHQtdGFncy1pbi1oZWFkLWNvbXBvbmVudFwiKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYy50eXBlID09PSBcImxpbmtcIiAmJiBjLnByb3BzW1wicmVsXCJdID09PSBcInN0eWxlc2hlZXRcIikge1xuICAgICAgICAgICAgICAgICgwLCBfd2Fybm9uY2Uud2Fybk9uY2UpKCdEbyBub3QgYWRkIHN0eWxlc2hlZXRzIHVzaW5nIG5leHQvaGVhZCAoc2VlIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIj4gdGFnIHdpdGggaHJlZj1cIicgKyBjLnByb3BzW1wiaHJlZlwiXSArICdcIikuIFVzZSBEb2N1bWVudCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXN0eWxlc2hlZXRzLWluLWhlYWQtY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGMsIHtcbiAgICAgICAgICAgIGtleVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaW5qZWN0cyBlbGVtZW50cyB0byBgPGhlYWQ+YCBvZiB5b3VyIHBhZ2UuXG4gKiBUbyBhdm9pZCBkdXBsaWNhdGVkIGB0YWdzYCBpbiBgPGhlYWQ+YCB5b3UgY2FuIHVzZSB0aGUgYGtleWAgcHJvcGVydHksIHdoaWNoIHdpbGwgbWFrZSBzdXJlIGV2ZXJ5IHRhZyBpcyBvbmx5IHJlbmRlcmVkIG9uY2UuXG4gKi8gZnVuY3Rpb24gSGVhZChwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBhbXBTdGF0ZSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FtcGNvbnRleHRzaGFyZWRydW50aW1lLkFtcFN0YXRlQ29udGV4dCk7XG4gICAgY29uc3QgaGVhZE1hbmFnZXIgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9oZWFkbWFuYWdlcmNvbnRleHRzaGFyZWRydW50aW1lLkhlYWRNYW5hZ2VyQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX3NpZGVlZmZlY3QuZGVmYXVsdCwge1xuICAgICAgICByZWR1Y2VDb21wb25lbnRzVG9TdGF0ZTogcmVkdWNlQ29tcG9uZW50cyxcbiAgICAgICAgaGVhZE1hbmFnZXI6IGhlYWRNYW5hZ2VyLFxuICAgICAgICBpbkFtcE1vZGU6ICgwLCBfYW1wbW9kZS5pc0luQW1wTW9kZSkoYW1wU3RhdGUpLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cbmNvbnN0IF9kZWZhdWx0ID0gSGVhZDtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJkZWZhdWx0SGVhZCIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZGVmYXVsdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3NpZGVlZmZlY3QiLCJfYW1wY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfaGVhZG1hbmFnZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9hbXBtb2RlIiwiX3dhcm5vbmNlIiwiaW5BbXBNb2RlIiwiaGVhZCIsImpzeCIsImNoYXJTZXQiLCJwdXNoIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJ0eXBlIiwiRnJhZ21lbnQiLCJjb25jYXQiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJwcm9wcyIsImNoaWxkcmVuIiwicmVkdWNlIiwiZnJhZ21lbnRMaXN0IiwiZnJhZ21lbnRDaGlsZCIsIk1FVEFUWVBFUyIsInVuaXF1ZSIsImtleXMiLCJTZXQiLCJ0YWdzIiwibWV0YVR5cGVzIiwibWV0YUNhdGVnb3JpZXMiLCJoIiwiaXNVbmlxdWUiLCJoYXNLZXkiLCJrZXkiLCJpbmRleE9mIiwic2xpY2UiLCJoYXMiLCJhZGQiLCJpIiwibGVuIiwibGVuZ3RoIiwibWV0YXR5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhdGVnb3J5IiwiY2F0ZWdvcmllcyIsInJlZHVjZUNvbXBvbmVudHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInJldmVyc2UiLCJmaWx0ZXIiLCJtYXAiLCJjIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9PUFRJTUlaRV9GT05UUyIsInNvbWUiLCJ1cmwiLCJzdGFydHNXaXRoIiwibmV3UHJvcHMiLCJ1bmRlZmluZWQiLCJjbG9uZUVsZW1lbnQiLCJzcmNNZXNzYWdlIiwid2Fybk9uY2UiLCJIZWFkIiwicGFyYW0iLCJhbXBTdGF0ZSIsInVzZUNvbnRleHQiLCJBbXBTdGF0ZUNvbnRleHQiLCJoZWFkTWFuYWdlciIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiaXNJbkFtcE1vZGUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/head.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/is-plain-object.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/is-plain-object.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getObjectClassLabel: function() {\n return getObjectClassLabel;\n },\n isPlainObject: function() {\n return isPlainObject;\n }\n});\nfunction getObjectClassLabel(value) {\n return Object.prototype.toString.call(value);\n}\nfunction isPlainObject(value) {\n if (getObjectClassLabel(value) !== \"[object Object]\") {\n return false;\n }\n const prototype = Object.getPrototypeOf(value);\n /**\n * this used to be previously:\n *\n * `return prototype === null || prototype === Object.prototype`\n *\n * but Edge Runtime expose Object from vm, being that kind of type-checking wrongly fail.\n *\n * It was changed to the current implementation since it's resilient to serialization.\n */ return prototype === null || prototype.hasOwnProperty(\"isPrototypeOf\");\n} //# sourceMappingURL=is-plain-object.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXMtcGxhaW4tb2JqZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0Qsb0JBQW9CRixLQUFLO0lBQzlCLE9BQU9ILE9BQU9hLFNBQVMsQ0FBQ0MsUUFBUSxDQUFDQyxJQUFJLENBQUNaO0FBQzFDO0FBQ0EsU0FBU0csY0FBY0gsS0FBSztJQUN4QixJQUFJRSxvQkFBb0JGLFdBQVcsbUJBQW1CO1FBQ2xELE9BQU87SUFDWDtJQUNBLE1BQU1VLFlBQVliLE9BQU9nQixjQUFjLENBQUNiO0lBQ3hDOzs7Ozs7OztHQVFELEdBQUcsT0FBT1UsY0FBYyxRQUFRQSxVQUFVSSxjQUFjLENBQUM7QUFDNUQsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdC5qcz8zNzQzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0T2JqZWN0Q2xhc3NMYWJlbDogbnVsbCxcbiAgICBpc1BsYWluT2JqZWN0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldE9iamVjdENsYXNzTGFiZWw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0T2JqZWN0Q2xhc3NMYWJlbDtcbiAgICB9LFxuICAgIGlzUGxhaW5PYmplY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNQbGFpbk9iamVjdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGdldE9iamVjdENsYXNzTGFiZWwodmFsdWUpIHtcbiAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKTtcbn1cbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgICBpZiAoZ2V0T2JqZWN0Q2xhc3NMYWJlbCh2YWx1ZSkgIT09IFwiW29iamVjdCBPYmplY3RdXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBwcm90b3R5cGUgPSBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpO1xuICAgIC8qKlxuICAgKiB0aGlzIHVzZWQgdG8gYmUgcHJldmlvdXNseTpcbiAgICpcbiAgICogYHJldHVybiBwcm90b3R5cGUgPT09IG51bGwgfHwgcHJvdG90eXBlID09PSBPYmplY3QucHJvdG90eXBlYFxuICAgKlxuICAgKiBidXQgRWRnZSBSdW50aW1lIGV4cG9zZSBPYmplY3QgZnJvbSB2bSwgYmVpbmcgdGhhdCBraW5kIG9mIHR5cGUtY2hlY2tpbmcgd3JvbmdseSBmYWlsLlxuICAgKlxuICAgKiBJdCB3YXMgY2hhbmdlZCB0byB0aGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiBzaW5jZSBpdCdzIHJlc2lsaWVudCB0byBzZXJpYWxpemF0aW9uLlxuICAgKi8gcmV0dXJuIHByb3RvdHlwZSA9PT0gbnVsbCB8fCBwcm90b3R5cGUuaGFzT3duUHJvcGVydHkoXCJpc1Byb3RvdHlwZU9mXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1wbGFpbi1vYmplY3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0T2JqZWN0Q2xhc3NMYWJlbCIsImlzUGxhaW5PYmplY3QiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJwcm90b3R5cGUiLCJ0b1N0cmluZyIsImNhbGwiLCJnZXRQcm90b3R5cGVPZiIsImhhc093blByb3BlcnR5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/is-plain-object.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/modern-browserslist-target.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/modern-browserslist-target.js ***! \*************************************************************************/ /***/ ((module) => { "use strict"; eval("// Note: This file is JS because it's used by the taskfile-swc.js file, which is JS.\n// Keep file changes in sync with the corresponding `.d.ts` files.\n/**\n * These are the browser versions that support all of the following:\n * static import: https://caniuse.com/es6-module\n * dynamic import: https://caniuse.com/es6-module-dynamic-import\n * import.meta: https://caniuse.com/mdn-javascript_operators_import_meta\n */ \nconst MODERN_BROWSERSLIST_TARGET = [\n \"chrome 64\",\n \"edge 79\",\n \"firefox 67\",\n \"opera 51\",\n \"safari 12\"\n];\nmodule.exports = MODERN_BROWSERSLIST_TARGET; //# sourceMappingURL=modern-browserslist-target.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanMiLCJtYXBwaW5ncyI6IkFBQUEsb0ZBQW9GO0FBQ3BGLGtFQUFrRTtBQUNsRTs7Ozs7Q0FLQyxHQUFnQjtBQUNqQixNQUFNQSw2QkFBNkI7SUFDL0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0RDLE9BQU9DLE9BQU8sR0FBR0YsNEJBRWpCLHNEQUFzRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbW9kZXJuLWJyb3dzZXJzbGlzdC10YXJnZXQuanM/YmUyOSJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3RlOiBUaGlzIGZpbGUgaXMgSlMgYmVjYXVzZSBpdCdzIHVzZWQgYnkgdGhlIHRhc2tmaWxlLXN3Yy5qcyBmaWxlLCB3aGljaCBpcyBKUy5cbi8vIEtlZXAgZmlsZSBjaGFuZ2VzIGluIHN5bmMgd2l0aCB0aGUgY29ycmVzcG9uZGluZyBgLmQudHNgIGZpbGVzLlxuLyoqXG4gKiBUaGVzZSBhcmUgdGhlIGJyb3dzZXIgdmVyc2lvbnMgdGhhdCBzdXBwb3J0IGFsbCBvZiB0aGUgZm9sbG93aW5nOlxuICogc3RhdGljIGltcG9ydDogaHR0cHM6Ly9jYW5pdXNlLmNvbS9lczYtbW9kdWxlXG4gKiBkeW5hbWljIGltcG9ydDogaHR0cHM6Ly9jYW5pdXNlLmNvbS9lczYtbW9kdWxlLWR5bmFtaWMtaW1wb3J0XG4gKiBpbXBvcnQubWV0YTogaHR0cHM6Ly9jYW5pdXNlLmNvbS9tZG4tamF2YXNjcmlwdF9vcGVyYXRvcnNfaW1wb3J0X21ldGFcbiAqLyBcInVzZSBzdHJpY3RcIjtcbmNvbnN0IE1PREVSTl9CUk9XU0VSU0xJU1RfVEFSR0VUID0gW1xuICAgIFwiY2hyb21lIDY0XCIsXG4gICAgXCJlZGdlIDc5XCIsXG4gICAgXCJmaXJlZm94IDY3XCIsXG4gICAgXCJvcGVyYSA1MVwiLFxuICAgIFwic2FmYXJpIDEyXCJcbl07XG5tb2R1bGUuZXhwb3J0cyA9IE1PREVSTl9CUk9XU0VSU0xJU1RfVEFSR0VUO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2Rlcm4tYnJvd3NlcnNsaXN0LXRhcmdldC5qcy5tYXAiXSwibmFtZXMiOlsiTU9ERVJOX0JST1dTRVJTTElTVF9UQVJHRVQiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/modern-browserslist-target.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"denormalizePagePath\", ({\n enumerable: true,\n get: function() {\n return denormalizePagePath;\n }\n}));\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _normalizepathsep = __webpack_require__(/*! ./normalize-path-sep */ \"./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction denormalizePagePath(page) {\n let _page = (0, _normalizepathsep.normalizePathSep)(page);\n return _page.startsWith(\"/index/\") && !(0, _utils.isDynamicRoute)(_page) ? _page.slice(6) : _page !== \"/index\" ? _page : \"/\";\n} //# sourceMappingURL=denormalize-page-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsdURBQXNEO0lBQ2xESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsa0ZBQWlCO0FBQ3hDLE1BQU1DLG9CQUFvQkQsbUJBQU9BLENBQUMsaUdBQXNCO0FBQ3hELFNBQVNGLG9CQUFvQkksSUFBSTtJQUM3QixJQUFJQyxRQUFRLENBQUMsR0FBR0Ysa0JBQWtCRyxnQkFBZ0IsRUFBRUY7SUFDcEQsT0FBT0MsTUFBTUUsVUFBVSxDQUFDLGNBQWMsQ0FBQyxDQUFDLEdBQUdOLE9BQU9PLGNBQWMsRUFBRUgsU0FBU0EsTUFBTUksS0FBSyxDQUFDLEtBQUtKLFVBQVUsV0FBV0EsUUFBUTtBQUM3SCxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aC5qcz9kZTBmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVub3JtYWxpemVQYWdlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGVub3JtYWxpemVQYWdlUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi9yb3V0ZXIvdXRpbHNcIik7XG5jb25zdCBfbm9ybWFsaXplcGF0aHNlcCA9IHJlcXVpcmUoXCIuL25vcm1hbGl6ZS1wYXRoLXNlcFwiKTtcbmZ1bmN0aW9uIGRlbm9ybWFsaXplUGFnZVBhdGgocGFnZSkge1xuICAgIGxldCBfcGFnZSA9ICgwLCBfbm9ybWFsaXplcGF0aHNlcC5ub3JtYWxpemVQYXRoU2VwKShwYWdlKTtcbiAgICByZXR1cm4gX3BhZ2Uuc3RhcnRzV2l0aChcIi9pbmRleC9cIikgJiYgISgwLCBfdXRpbHMuaXNEeW5hbWljUm91dGUpKF9wYWdlKSA/IF9wYWdlLnNsaWNlKDYpIDogX3BhZ2UgIT09IFwiL2luZGV4XCIgPyBfcGFnZSA6IFwiL1wiO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1kZW5vcm1hbGl6ZS1wYWdlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImRlbm9ybWFsaXplUGFnZVBhdGgiLCJfdXRpbHMiLCJyZXF1aXJlIiwiX25vcm1hbGl6ZXBhdGhzZXAiLCJwYWdlIiwiX3BhZ2UiLCJub3JtYWxpemVQYXRoU2VwIiwic3RhcnRzV2l0aCIsImlzRHluYW1pY1JvdXRlIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsSUFBSTtJQUM1QixPQUFPQSxLQUFLQyxVQUFVLENBQUMsT0FBT0QsT0FBTyxNQUFNQTtBQUMvQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzP2NmMzIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIGEgbGVhZGluZyBzbGFzaC5cbiAqIElmIHRoZXJlIGlzIG5vdCBhIGxlYWRpbmcgc2xhc2gsIG9uZSBpcyBhZGRlZCwgb3RoZXJ3aXNlIGl0IGlzIG5vb3AuXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnN1cmVMZWFkaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVuc3VyZUxlYWRpbmdTbGFzaDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGVuc3VyZUxlYWRpbmdTbGFzaChwYXRoKSB7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBwYXRoIDogXCIvXCIgKyBwYXRoO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnN1cmUtbGVhZGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwicGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePagePath\", ({\n enumerable: true,\n get: function() {\n return normalizePagePath;\n }\n}));\nconst _ensureleadingslash = __webpack_require__(/*! ./ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _utils = __webpack_require__(/*! ../router/utils */ \"./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _utils1 = __webpack_require__(/*! ../utils */ \"./node_modules/next/dist/shared/lib/utils.js\");\nfunction normalizePagePath(page) {\n const normalized = /^\\/index(\\/|$)/.test(page) && !(0, _utils.isDynamicRoute)(page) ? \"/index\" + page : page === \"/\" ? \"/index\" : (0, _ensureleadingslash.ensureLeadingSlash)(page);\n if (true) {\n const { posix } = __webpack_require__(/*! path */ \"path\");\n const resolvedPage = posix.normalize(normalized);\n if (resolvedPage !== normalized) {\n throw new _utils1.NormalizeError(\"Requested and resolved page mismatch: \" + normalized + \" \" + resolvedPage);\n }\n }\n return normalized;\n} //# sourceMappingURL=normalize-page-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYWdlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHFEQUFvRDtJQUNoREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMscUdBQXdCO0FBQzVELE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLGtGQUFpQjtBQUN4QyxNQUFNRSxVQUFVRixtQkFBT0EsQ0FBQyw4REFBVTtBQUNsQyxTQUFTRixrQkFBa0JLLElBQUk7SUFDM0IsTUFBTUMsYUFBYSxpQkFBaUJDLElBQUksQ0FBQ0YsU0FBUyxDQUFDLENBQUMsR0FBR0YsT0FBT0ssY0FBYyxFQUFFSCxRQUFRLFdBQVdBLE9BQU9BLFNBQVMsTUFBTSxXQUFXLENBQUMsR0FBR0osb0JBQW9CUSxrQkFBa0IsRUFBRUo7SUFDOUssSUFBSUssSUFBbUMsRUFBRTtRQUNyQyxNQUFNLEVBQUVHLEtBQUssRUFBRSxHQUFHWCxtQkFBT0EsQ0FBQyxrQkFBTTtRQUNoQyxNQUFNWSxlQUFlRCxNQUFNRSxTQUFTLENBQUNUO1FBQ3JDLElBQUlRLGlCQUFpQlIsWUFBWTtZQUM3QixNQUFNLElBQUlGLFFBQVFZLGNBQWMsQ0FBQywyQ0FBMkNWLGFBQWEsTUFBTVE7UUFDbkc7SUFDSjtJQUNBLE9BQU9SO0FBQ1gsRUFFQSwrQ0FBK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGFnZS1wYXRoLmpzP2YzZDAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJub3JtYWxpemVQYWdlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplUGFnZVBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfZW5zdXJlbGVhZGluZ3NsYXNoID0gcmVxdWlyZShcIi4vZW5zdXJlLWxlYWRpbmctc2xhc2hcIik7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vcm91dGVyL3V0aWxzXCIpO1xuY29uc3QgX3V0aWxzMSA9IHJlcXVpcmUoXCIuLi91dGlsc1wiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZVBhZ2VQYXRoKHBhZ2UpIHtcbiAgICBjb25zdCBub3JtYWxpemVkID0gL15cXC9pbmRleChcXC98JCkvLnRlc3QocGFnZSkgJiYgISgwLCBfdXRpbHMuaXNEeW5hbWljUm91dGUpKHBhZ2UpID8gXCIvaW5kZXhcIiArIHBhZ2UgOiBwYWdlID09PSBcIi9cIiA/IFwiL2luZGV4XCIgOiAoMCwgX2Vuc3VyZWxlYWRpbmdzbGFzaC5lbnN1cmVMZWFkaW5nU2xhc2gpKHBhZ2UpO1xuICAgIGlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiKSB7XG4gICAgICAgIGNvbnN0IHsgcG9zaXggfSA9IHJlcXVpcmUoXCJwYXRoXCIpO1xuICAgICAgICBjb25zdCByZXNvbHZlZFBhZ2UgPSBwb3NpeC5ub3JtYWxpemUobm9ybWFsaXplZCk7XG4gICAgICAgIGlmIChyZXNvbHZlZFBhZ2UgIT09IG5vcm1hbGl6ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBfdXRpbHMxLk5vcm1hbGl6ZUVycm9yKFwiUmVxdWVzdGVkIGFuZCByZXNvbHZlZCBwYWdlIG1pc21hdGNoOiBcIiArIG5vcm1hbGl6ZWQgKyBcIiBcIiArIHJlc29sdmVkUGFnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5vcm1hbGl6ZWQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vcm1hbGl6ZS1wYWdlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIm5vcm1hbGl6ZVBhZ2VQYXRoIiwiX2Vuc3VyZWxlYWRpbmdzbGFzaCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfdXRpbHMxIiwicGFnZSIsIm5vcm1hbGl6ZWQiLCJ0ZXN0IiwiaXNEeW5hbWljUm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwicG9zaXgiLCJyZXNvbHZlZFBhZ2UiLCJub3JtYWxpemUiLCJOb3JtYWxpemVFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsaUJBQWlCQyxJQUFJO0lBQzFCLE9BQU9BLEtBQUtDLE9BQU8sQ0FBQyxPQUFPO0FBQy9CLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvbm9ybWFsaXplLXBhdGgtc2VwLmpzP2JhYjgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIG5vIGJhY2tzbGFzaFxuICogZXNjYXBpbmcgc2xhc2hlcyBpbiB0aGUgcGF0aC4gRXhhbXBsZTpcbiAqICAtIGBmb29cXC9iYXJcXC9iYXpgIC0+IGBmb28vYmFyL2JhemBcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhdGhTZXBcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVBhdGhTZXA7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBub3JtYWxpemVQYXRoU2VwKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLXBhdGgtc2VwLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVQYXRoU2VwIiwicGF0aCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/app-paths.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLG1IQUFzQztBQUMxRSxNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQyxxRUFBZTtBQUN4QyxTQUFTVCxpQkFBaUJXLEtBQUs7SUFDM0IsT0FBTyxDQUFDLEdBQUdILG9CQUFvQkksa0JBQWtCLEVBQUVELE1BQU1FLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUMsQ0FBQ0MsVUFBVUMsU0FBU0MsT0FBT0M7UUFDbEcsOEJBQThCO1FBQzlCLElBQUksQ0FBQ0YsU0FBUztZQUNWLE9BQU9EO1FBQ1g7UUFDQSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEdBQUdMLFNBQVNTLGNBQWMsRUFBRUgsVUFBVTtZQUN2QyxPQUFPRDtRQUNYO1FBQ0EsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNwQixPQUFPRDtRQUNYO1FBQ0EsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLE9BQU0sS0FBTUMsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQUc7WUFDOUUsT0FBT0w7UUFDWDtRQUNBLE9BQU9BLFdBQVcsTUFBTUM7SUFDNUIsR0FBRztBQUNQO0FBQ0EsU0FBU2YsZ0JBQWdCb0IsR0FBRztJQUN4QixPQUFPQSxJQUFJQyxPQUFPLENBQUMsZUFDbkI7QUFDSixFQUVBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcz83ZTUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbm9ybWFsaXplQXBwUGF0aDogbnVsbCxcbiAgICBub3JtYWxpemVSc2NVUkw6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgbm9ybWFsaXplQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVBcHBQYXRoO1xuICAgIH0sXG4gICAgbm9ybWFsaXplUnNjVVJMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJzY1VSTDtcbiAgICB9XG59KTtcbmNvbnN0IF9lbnN1cmVsZWFkaW5nc2xhc2ggPSByZXF1aXJlKFwiLi4vLi4vcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoXCIpO1xuY29uc3QgX3NlZ21lbnQgPSByZXF1aXJlKFwiLi4vLi4vc2VnbWVudFwiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZUFwcFBhdGgocm91dGUpIHtcbiAgICByZXR1cm4gKDAsIF9lbnN1cmVsZWFkaW5nc2xhc2guZW5zdXJlTGVhZGluZ1NsYXNoKShyb3V0ZS5zcGxpdChcIi9cIikucmVkdWNlKChwYXRobmFtZSwgc2VnbWVudCwgaW5kZXgsIHNlZ21lbnRzKT0+e1xuICAgICAgICAvLyBFbXB0eSBzZWdtZW50cyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKCFzZWdtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gR3JvdXBzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoKDAsIF9zZWdtZW50LmlzR3JvdXBTZWdtZW50KShzZWdtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIC8vIFBhcmFsbGVsIHNlZ21lbnRzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoc2VnbWVudFswXSA9PT0gXCJAXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbGFzdCBzZWdtZW50IChpZiBpdCdzIGEgbGVhZikgc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAgICAgIGlmICgoc2VnbWVudCA9PT0gXCJwYWdlXCIgfHwgc2VnbWVudCA9PT0gXCJyb3V0ZVwiKSAmJiBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRobmFtZSArIFwiL1wiICsgc2VnbWVudDtcbiAgICB9LCBcIlwiKSk7XG59XG5mdW5jdGlvbiBub3JtYWxpemVSc2NVUkwodXJsKSB7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC9cXC5yc2MoJHxcXD8pLywgLy8gJDEgZW5zdXJlcyBgP2AgaXMgcHJlc2VydmVkXG4gICAgXCIkMVwiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhdGhzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vcm1hbGl6ZUFwcFBhdGgiLCJub3JtYWxpemVSc2NVUkwiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZW5zdXJlbGVhZGluZ3NsYXNoIiwicmVxdWlyZSIsIl9zZWdtZW50Iiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/index.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQkFBaUI7UUFDYixPQUFPUSxjQUFjUixlQUFlO0lBQ3hDO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9RLFdBQVdSLGNBQWM7SUFDcEM7QUFDSjtBQUNBLE1BQU1PLGdCQUFnQkUsbUJBQU9BLENBQUMsMEZBQWlCO0FBQy9DLE1BQU1ELGFBQWFDLG1CQUFPQSxDQUFDLG9GQUFjLEdBRXpDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzP2Y1MjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRTb3J0ZWRSb3V0ZXM6IG51bGwsXG4gICAgaXNEeW5hbWljUm91dGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0U29ydGVkUm91dGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zb3J0ZWRyb3V0ZXMuZ2V0U29ydGVkUm91dGVzO1xuICAgIH0sXG4gICAgaXNEeW5hbWljUm91dGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2lzZHluYW1pYy5pc0R5bmFtaWNSb3V0ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9zb3J0ZWRyb3V0ZXMgPSByZXF1aXJlKFwiLi9zb3J0ZWQtcm91dGVzXCIpO1xuY29uc3QgX2lzZHluYW1pYyA9IHJlcXVpcmUoXCIuL2lzLWR5bmFtaWNcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldFNvcnRlZFJvdXRlcyIsImlzRHluYW1pY1JvdXRlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NvcnRlZHJvdXRlcyIsIl9pc2R5bmFtaWMiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/index.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMsb0lBQXVEO0FBQzNGLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBQ25CLFNBQVNILGVBQWVJLEtBQUs7SUFDekIsSUFBSSxDQUFDLEdBQUdILG9CQUFvQkksMEJBQTBCLEVBQUVELFFBQVE7UUFDNURBLFFBQVEsQ0FBQyxHQUFHSCxvQkFBb0JLLG1DQUFtQyxFQUFFRixPQUFPRyxnQkFBZ0I7SUFDaEc7SUFDQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQzNCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcz80NmY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNEeW5hbWljUm91dGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRHluYW1pY1JvdXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyY2VwdGlvbnJvdXRlcyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbi8vIElkZW50aWZ5IC9bcGFyYW1dLyBpbiByb3V0ZSBzdHJpbmdcbmNvbnN0IFRFU1RfUk9VVEUgPSAvXFwvXFxbW14vXSs/XFxdKD89XFwvfCQpLztcbmZ1bmN0aW9uIGlzRHluYW1pY1JvdXRlKHJvdXRlKSB7XG4gICAgaWYgKCgwLCBfaW50ZXJjZXB0aW9ucm91dGVzLmlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKShyb3V0ZSkpIHtcbiAgICAgICAgcm91dGUgPSAoMCwgX2ludGVyY2VwdGlvbnJvdXRlcy5leHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbikocm91dGUpLmludGVyY2VwdGVkUm91dGU7XG4gICAgfVxuICAgIHJldHVybiBURVNUX1JPVVRFLnRlc3Qocm91dGUpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1keW5hbWljLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpc0R5bmFtaWNSb3V0ZSIsIl9pbnRlcmNlcHRpb25yb3V0ZXMiLCJyZXF1aXJlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DO0lBQ0ZDLE9BQU9DLE9BQU8sRUFBRTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN6RDtJQUNBQyxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDdkI7SUFDQUEsUUFBUUMsTUFBTSxFQUFFO1FBQ1osSUFBSUEsV0FBVyxLQUFLLEdBQUdBLFNBQVM7UUFDaEMsTUFBTUMsZ0JBQWdCO2VBQ2YsSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FDeEIsQ0FBQ0MsSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUN4QkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUN0RDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM1QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN6RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3BDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQzNEO1FBQ0EsTUFBTUcsU0FBU1QsY0FBY1UsR0FBRyxDQUFDLENBQUNDLElBQUksSUFBSSxDQUFDVixRQUFRLENBQUNiLEdBQUcsQ0FBQ3VCLEdBQUdiLE9BQU8sQ0FBQyxLQUFLQyxTQUFTWSxJQUFJLE1BQU1DLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxPQUFPO21C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QyxJQUFJLENBQUN4QixRQUFRLENBQUNvQyxHQUFHLENBQUNaLGNBQWM7WUFDakMsSUFBSSxDQUFDeEIsUUFBUSxDQUFDcUMsR0FBRyxDQUFDYixhQUFhLElBQUluQztRQUN2QztRQUNBLElBQUksQ0FBQ1csUUFBUSxDQUFDYixHQUFHLENBQUNxQyxhQUFhaEMsT0FBTyxDQUFDNEIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQ3pFO0lBQ0FnQixhQUFhO1FBQ1QsSUFBSSxDQUFDdkIsV0FBVyxHQUFHO1FBQ25CLElBQUksQ0FBQ2YsUUFBUSxHQUFHLElBQUl1QztRQUNwQixJQUFJLENBQUNwQyxRQUFRLEdBQUc7UUFDaEIsSUFBSSxDQUFDRyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxDQUFDQyxvQkFBb0IsR0FBRztJQUNoQztBQUNKO0FBQ0EsU0FBU25CLGdCQUFnQm9ELGVBQWU7SUFDcEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFDM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBQ2pCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQlAsT0FBTyxDQUFDLENBQUNTLFdBQVdELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNoRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDdEIsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLmpzPzJmNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTb3J0ZWRSb3V0ZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNvcnRlZFJvdXRlcztcbiAgICB9XG59KTtcbmNsYXNzIFVybE5vZGUge1xuICAgIGluc2VydCh1cmxQYXRoKSB7XG4gICAgICAgIHRoaXMuX2luc2VydCh1cmxQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbiksIFtdLCBmYWxzZSk7XG4gICAgfVxuICAgIHNtb29zaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Ntb29zaCgpO1xuICAgIH1cbiAgICBfc21vb3NoKHByZWZpeCkge1xuICAgICAgICBpZiAocHJlZml4ID09PSB2b2lkIDApIHByZWZpeCA9IFwiL1wiO1xuICAgICAgICBjb25zdCBjaGlsZHJlblBhdGhzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5jaGlsZHJlbi5rZXlzKClcbiAgICAgICAgXS5zb3J0KCk7XG4gICAgICAgIGlmICh0aGlzLnNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbLi4uXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIltbLi4uXV1cIiksIDEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IGNoaWxkcmVuUGF0aHMubWFwKChjKT0+dGhpcy5jaGlsZHJlbi5nZXQoYykuX3Ntb29zaChcIlwiICsgcHJlZml4ICsgYyArIFwiL1wiKSkucmVkdWNlKChwcmV2LCBjdXJyKT0+W1xuICAgICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgICAgLi4uY3VyclxuICAgICAgICAgICAgXSwgW10pO1xuICAgICAgICBpZiAodGhpcy5zbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm91dGVzLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoXCJbXVwiKS5fc21vb3NoKHByZWZpeCArIFwiW1wiICsgdGhpcy5zbHVnTmFtZSArIFwiXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgY29uc3QgciA9IHByZWZpeCA9PT0gXCIvXCIgPyBcIi9cIiA6IHByZWZpeC5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGRlZmluZSBhIHJvdXRlIHdpdGggdGhlIHNhbWUgc3BlY2lmaWNpdHkgYXMgYSBvcHRpb25hbCBjYXRjaC1hbGwgcm91dGUgKFwiJyArIHIgKyAnXCIgYW5kIFwiJyArIHIgKyBcIltbLi4uXCIgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgJ11dXCIpLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm91dGVzLnVuc2hpZnQocik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIlsuLi5dXCIpLl9zbW9vc2gocHJlZml4ICsgXCJbLi4uXCIgKyB0aGlzLnJlc3RTbHVnTmFtZSArIFwiXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIltbLi4uXV1cIikuX3Ntb29zaChwcmVmaXggKyBcIltbLi4uXCIgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgXCJdXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3V0ZXM7XG4gICAgfVxuICAgIF9pbnNlcnQodXJsUGF0aHMsIHNsdWdOYW1lcywgaXNDYXRjaEFsbCkge1xuICAgICAgICBpZiAodXJsUGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ2F0Y2hBbGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhdGNoLWFsbCBtdXN0IGJlIHRoZSBsYXN0IHBhcnQgb2YgdGhlIFVSTC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIG5leHQgc2VnbWVudCBpbiB0aGUgdXJsUGF0aHMgbGlzdFxuICAgICAgICBsZXQgbmV4dFNlZ21lbnQgPSB1cmxQYXRoc1swXTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNlZ21lbnQgbWF0Y2hlcyBgW3NvbWV0aGluZ11gXG4gICAgICAgIGlmIChuZXh0U2VnbWVudC5zdGFydHNXaXRoKFwiW1wiKSAmJiBuZXh0U2VnbWVudC5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgIC8vIFN0cmlwIGBbYCBhbmQgYF1gLCBsZWF2aW5nIG9ubHkgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgIGxldCBzZWdtZW50TmFtZSA9IG5leHRTZWdtZW50LnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgIGxldCBpc09wdGlvbmFsID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIltcIikgJiYgc2VnbWVudE5hbWUuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gU3RyaXAgb3B0aW9uYWwgYFtgIGFuZCBgXWAsIGxlYXZpbmcgb25seSBgc29tZXRoaW5nYFxuICAgICAgICAgICAgICAgIHNlZ21lbnROYW1lID0gc2VnbWVudE5hbWUuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgICAgIGlzT3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCIuLi5cIikpIHtcbiAgICAgICAgICAgICAgICAvLyBTdHJpcCBgLi4uYCwgbGVhdmluZyBvbmx5IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgc2VnbWVudE5hbWUgPSBzZWdtZW50TmFtZS5zdWJzdHJpbmcoMyk7XG4gICAgICAgICAgICAgICAgaXNDYXRjaEFsbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIltcIikgfHwgc2VnbWVudE5hbWUuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIGV4dHJhIGJyYWNrZXRzICgnXCIgKyBzZWdtZW50TmFtZSArIFwiJykuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggZXJyb25lb3VzIHBlcmlvZHMgKCdcIiArIHNlZ21lbnROYW1lICsgXCInKS5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVTbHVnKHByZXZpb3VzU2x1ZywgbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTbHVnICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBzcGVjaWZpYyBzZWdtZW50IGFscmVhZHkgaGFzIGEgc2x1ZyBidXQgdGhlIHNsdWcgaXMgbm90IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgcHJldmVudHMgY29sbGlzaW9ucyBsaWtlOlxuICAgICAgICAgICAgICAgICAgICAvLyBwYWdlcy9bcG9zdF0vaW5kZXguanNcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFnZXMvW2lkXS9pbmRleC5qc1xuICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIGN1cnJlbnRseSBtdWx0aXBsZSBkeW5hbWljIHBhcmFtcyBvbiB0aGUgc2FtZSBzZWdtZW50IGxldmVsIGFyZSBub3Qgc3VwcG9ydGVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1NsdWcgIT09IG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIHNlZW1zIHRvIGJlIGNvbmZ1c2luZyBmb3IgdXNlcnMsIG5lZWRzIGFuIGVycm9yIGxpbmssIHRoZSBkZXNjcmlwdGlvbiBjYW4gYmUgYmFzZWQgb24gYWJvdmUgY29tbWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3QgdXNlIGRpZmZlcmVudCBzbHVnIG5hbWVzIGZvciB0aGUgc2FtZSBkeW5hbWljIHBhdGggKCdcIiArIHByZXZpb3VzU2x1ZyArIFwiJyAhPT0gJ1wiICsgbmV4dFNsdWcgKyBcIicpLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzbHVnTmFtZXMuZm9yRWFjaCgoc2x1Zyk9PntcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNsdWcgPT09IG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgaGF2ZSB0aGUgc2FtZSBzbHVnIG5hbWUgXCInICsgbmV4dFNsdWcgKyAnXCIgcmVwZWF0IHdpdGhpbiBhIHNpbmdsZSBkeW5hbWljIHBhdGgnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoc2x1Zy5yZXBsYWNlKC9cXFcvZywgXCJcIikgPT09IG5leHRTZWdtZW50LnJlcGxhY2UoL1xcVy9nLCBcIlwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGhhdmUgdGhlIHNsdWcgbmFtZXMgXCInICsgc2x1ZyArICdcIiBhbmQgXCInICsgbmV4dFNsdWcgKyAnXCIgZGlmZmVyIG9ubHkgYnkgbm9uLXdvcmQgc3ltYm9scyB3aXRoaW4gYSBzaW5nbGUgZHluYW1pYyBwYXRoJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzbHVnTmFtZXMucHVzaChuZXh0U2x1Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgICAgIGlmIChpc09wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgdXNlIGJvdGggYW4gcmVxdWlyZWQgYW5kIG9wdGlvbmFsIGNhdGNoLWFsbCByb3V0ZSBhdCB0aGUgc2FtZSBsZXZlbCAoXCJbLi4uJyArIHRoaXMucmVzdFNsdWdOYW1lICsgJ11cIiBhbmQgXCInICsgdXJsUGF0aHNbMF0gKyAnXCIgKS4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFtbLi4uXV0gc28gdGhhdCBpdCBjYW4gbGF0ZXIgYmUgc29ydGVkIHNwZWNpZmljYWxseVxuICAgICAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiW1suLi5dXVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCB1c2UgYm90aCBhbiBvcHRpb25hbCBhbmQgcmVxdWlyZWQgY2F0Y2gtYWxsIHJvdXRlIGF0IHRoZSBzYW1lIGxldmVsIChcIltbLi4uJyArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyAnXV1cIiBhbmQgXCInICsgdXJsUGF0aHNbMF0gKyAnXCIpLicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5yZXN0U2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3RTbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICAvLyBuZXh0U2VnbWVudCBpcyBvdmVyd3JpdHRlbiB0byBbLi4uXSBzbyB0aGF0IGl0IGNhbiBsYXRlciBiZSBzb3J0ZWQgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbLi4uXVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPcHRpb25hbCByb3V0ZSBwYXJhbWV0ZXJzIGFyZSBub3QgeWV0IHN1cHBvcnRlZCAoXCInICsgdXJsUGF0aHNbMF0gKyAnXCIpLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMuc2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgdGhpcy5zbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFtdIHNvIHRoYXQgaXQgY2FuIGxhdGVyIGJlIHNvcnRlZCBzcGVjaWZpY2FsbHlcbiAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiW11cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGlzIFVybE5vZGUgZG9lc24ndCBoYXZlIHRoZSBuZXh0U2VnbWVudCB5ZXQgd2UgY3JlYXRlIGEgbmV3IGNoaWxkIFVybE5vZGVcbiAgICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuLmhhcyhuZXh0U2VnbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4uc2V0KG5leHRTZWdtZW50LCBuZXcgVXJsTm9kZSgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoaWxkcmVuLmdldChuZXh0U2VnbWVudCkuX2luc2VydCh1cmxQYXRocy5zbGljZSgxKSwgc2x1Z05hbWVzLCBpc0NhdGNoQWxsKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuc2x1Z05hbWUgPSBudWxsO1xuICAgICAgICB0aGlzLnJlc3RTbHVnTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgPSBudWxsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFNvcnRlZFJvdXRlcyhub3JtYWxpemVkUGFnZXMpIHtcbiAgICAvLyBGaXJzdCB0aGUgVXJsTm9kZSBpcyBjcmVhdGVkLCBhbmQgZXZlcnkgVXJsTm9kZSBjYW4gaGF2ZSBvbmx5IDEgZHluYW1pYyBzZWdtZW50XG4gICAgLy8gRWcgeW91IGNhbid0IGhhdmUgcGFnZXMvW3Bvc3RdL2FiYy5qcyBhbmQgcGFnZXMvW2hlbGxvXS9zb21ldGhpbmctZWxzZS5qc1xuICAgIC8vIE9ubHkgMSBkeW5hbWljIHNlZ21lbnQgcGVyIG5lc3RpbmcgbGV2ZWxcbiAgICAvLyBTbyBpbiB0aGUgY2FzZSB0aGF0IGlzIHRlc3QvaW50ZWdyYXRpb24vZHluYW1pYy1yb3V0aW5nIGl0J2xsIGJlIHRoaXM6XG4gICAgLy8gcGFnZXMvW3Bvc3RdL2NvbW1lbnRzLmpzXG4gICAgLy8gcGFnZXMvYmxvZy9bcG9zdF0vY29tbWVudC9baWRdLmpzXG4gICAgLy8gQm90aCBhcmUgZmluZSBiZWNhdXNlIGBwYWdlcy9bcG9zdF1gIGFuZCBgcGFnZXMvYmxvZ2AgYXJlIG9uIHRoZSBzYW1lIGxldmVsXG4gICAgLy8gU28gaW4gdGhpcyBjYXNlIGBVcmxOb2RlYCBjcmVhdGVkIGhlcmUgaGFzIGB0aGlzLnNsdWdOYW1lID09PSAncG9zdCdgXG4gICAgLy8gQW5kIHNpbmNlIHlvdXIgUFIgcGFzc2VkIHRocm91Z2ggYHNsdWdOYW1lYCBhcyBhbiBhcnJheSBiYXNpY2FsbHkgaXQnZCBpbmNsdWRpbmcgaXQgaW4gdG9vIG1hbnkgcG9zc2liaWxpdGllc1xuICAgIC8vIEluc3RlYWQgd2hhdCBoYXMgdG8gYmUgcGFzc2VkIHRocm91Z2ggaXMgdGhlIHVwd2FyZHMgcGF0aCdzIGR5bmFtaWMgbmFtZXNcbiAgICBjb25zdCByb290ID0gbmV3IFVybE5vZGUoKTtcbiAgICAvLyBIZXJlIHRoZSBgcm9vdGAgZ2V0cyBpbmplY3RlZCBtdWx0aXBsZSBwYXRocywgYW5kIGluc2VydCB3aWxsIGJyZWFrIHRoZW0gdXAgaW50byBzdWJsZXZlbHNcbiAgICBub3JtYWxpemVkUGFnZXMuZm9yRWFjaCgocGFnZVBhdGgpPT5yb290Lmluc2VydChwYWdlUGF0aCkpO1xuICAgIC8vIFNtb29zaCB3aWxsIHRoZW4gc29ydCB0aG9zZSBzdWJsZXZlbHMgdXAgdG8gdGhlIHBvaW50IHdoZXJlIHlvdSBnZXQgdGhlIGNvcnJlY3Qgcm91dGUgZGVmaW5pdGlvbiBwcmlvcml0eVxuICAgIHJldHVybiByb290LnNtb29zaCgpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zb3J0ZWQtcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRTb3J0ZWRSb3V0ZXMiLCJVcmxOb2RlIiwiaW5zZXJ0IiwidXJsUGF0aCIsIl9pbnNlcnQiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJzbW9vc2giLCJfc21vb3NoIiwicHJlZml4IiwiY2hpbGRyZW5QYXRocyIsImNoaWxkcmVuIiwia2V5cyIsInNvcnQiLCJzbHVnTmFtZSIsInNwbGljZSIsImluZGV4T2YiLCJyZXN0U2x1Z05hbWUiLCJvcHRpb25hbFJlc3RTbHVnTmFtZSIsInJvdXRlcyIsIm1hcCIsImMiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsInB1c2giLCJwbGFjZWhvbGRlciIsInIiLCJzbGljZSIsIkVycm9yIiwidW5zaGlmdCIsInVybFBhdGhzIiwic2x1Z05hbWVzIiwiaXNDYXRjaEFsbCIsImxlbmd0aCIsIm5leHRTZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic2VnbWVudE5hbWUiLCJpc09wdGlvbmFsIiwic3Vic3RyaW5nIiwiaGFuZGxlU2x1ZyIsInByZXZpb3VzU2x1ZyIsIm5leHRTbHVnIiwiZm9yRWFjaCIsInNsdWciLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiY29uc3RydWN0b3IiLCJNYXAiLCJub3JtYWxpemVkUGFnZXMiLCJyb290IiwicGFnZVBhdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRixlQUFlUyxPQUFPO0lBQzNCLHNDQUFzQztJQUN0QyxPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU9BLFFBQVFDLFFBQVEsQ0FBQztBQUNsRDtBQUNBLE1BQU1ULG1CQUFtQjtBQUN6QixNQUFNQyxzQkFBc0IsZUFFNUIsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zZWdtZW50LmpzP2ZmNzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc0dyb3VwU2VnbWVudDogbnVsbCxcbiAgICBQQUdFX1NFR01FTlRfS0VZOiBudWxsLFxuICAgIERFRkFVTFRfU0VHTUVOVF9LRVk6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNHcm91cFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNHcm91cFNlZ21lbnQ7XG4gICAgfSxcbiAgICBQQUdFX1NFR01FTlRfS0VZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBR0VfU0VHTUVOVF9LRVk7XG4gICAgfSxcbiAgICBERUZBVUxUX1NFR01FTlRfS0VZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfU0VHTUVOVF9LRVk7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0dyb3VwU2VnbWVudChzZWdtZW50KSB7XG4gICAgLy8gVXNlIGFycmF5WzBdIGZvciBwZXJmb3JtYW50IHB1cnBvc2VcbiAgICByZXR1cm4gc2VnbWVudFswXSA9PT0gXCIoXCIgJiYgc2VnbWVudC5lbmRzV2l0aChcIilcIik7XG59XG5jb25zdCBQQUdFX1NFR01FTlRfS0VZID0gXCJfX1BBR0VfX1wiO1xuY29uc3QgREVGQVVMVF9TRUdNRU5UX0tFWSA9IFwiX19ERUZBVUxUX19cIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VnbWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJpc0dyb3VwU2VnbWVudCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VnbWVudCIsImVuZHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/side-effect.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"react\");\nconst isServer = \"undefined\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLG9CQUFPO0FBQzlCLE1BQU1DLFdBQVcsZ0JBQWtCO0FBQ25DLE1BQU1DLDRCQUE0QkQsV0FBVyxLQUFLLElBQUlGLE9BQU9JLGVBQWU7QUFDNUUsTUFBTUMsc0JBQXNCSCxXQUFXLEtBQUssSUFBSUYsT0FBT00sU0FBUztBQUNoRSxTQUFTUCxXQUFXUSxLQUFLO0lBQ3JCLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUNqRCxTQUFTRztRQUNMLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQzdDLE1BQU1DLGVBQWVaLE9BQU9hLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNQyxJQUFJLENBQUNSLFlBQVlHLGdCQUFnQixFQUFFTSxNQUFNLENBQUNDO1lBQzdGVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDakU7SUFDSjtJQUNBLElBQUlMLFVBQVU7UUFDVixJQUFJa0I7UUFDSlosZUFBZSxPQUFPLEtBQUssSUFBSSxDQUFDWSxnQ0FBZ0NaLFlBQVlHLGdCQUFnQixLQUFLLE9BQU8sS0FBSyxJQUFJUyw4QkFBOEJDLEdBQUcsQ0FBQ2QsTUFBTWUsUUFBUTtRQUNqS1o7SUFDSjtJQUNBUCwwQkFBMEI7UUFDdEIsSUFBSWlCO1FBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCQyxHQUFHLENBQUNkLE1BQU1lLFFBQVE7UUFDakssT0FBTztZQUNILElBQUlGO1lBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCRyxNQUFNLENBQUNoQixNQUFNZSxRQUFRO1FBQ3hLO0lBQ0o7SUFDQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbkIsMEJBQTBCO1FBQ3RCLElBQUlLLGFBQWE7WUFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7UUFDakM7UUFDQSxPQUFPO1lBQ0gsSUFBSUYsYUFBYTtnQkFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7WUFDakM7UUFDSjtJQUNKO0lBQ0FMLG9CQUFvQjtRQUNoQixJQUFJRyxlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO1lBQzNDaEIsWUFBWWdCLGNBQWM7WUFDMUJoQixZQUFZZ0IsY0FBYyxHQUFHO1FBQ2pDO1FBQ0EsT0FBTztZQUNILElBQUloQixlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO2dCQUMzQ2hCLFlBQVlnQixjQUFjO2dCQUMxQmhCLFlBQVlnQixjQUFjLEdBQUc7WUFDakM7UUFDSjtJQUNKO0lBQ0EsT0FBTztBQUNYLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcz80MDhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU2lkZUVmZmVjdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbmNvbnN0IGlzU2VydmVyID0gdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIjtcbmNvbnN0IHVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QgPSBpc1NlcnZlciA/ICgpPT57fSA6IF9yZWFjdC51c2VMYXlvdXRFZmZlY3Q7XG5jb25zdCB1c2VDbGllbnRPbmx5RWZmZWN0ID0gaXNTZXJ2ZXIgPyAoKT0+e30gOiBfcmVhY3QudXNlRWZmZWN0O1xuZnVuY3Rpb24gU2lkZUVmZmVjdChwcm9wcykge1xuICAgIGNvbnN0IHsgaGVhZE1hbmFnZXIsIHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIH0gPSBwcm9wcztcbiAgICBmdW5jdGlvbiBlbWl0Q2hhbmdlKCkge1xuICAgICAgICBpZiAoaGVhZE1hbmFnZXIgJiYgaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykge1xuICAgICAgICAgICAgY29uc3QgaGVhZEVsZW1lbnRzID0gX3JlYWN0LkNoaWxkcmVuLnRvQXJyYXkoQXJyYXkuZnJvbShoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzKS5maWx0ZXIoQm9vbGVhbikpO1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIudXBkYXRlSGVhZChyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZShoZWFkRWxlbWVudHMsIHByb3BzKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICAgIHZhciBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcztcbiAgICAgICAgaGVhZE1hbmFnZXIgPT0gbnVsbCA/IHZvaWQgMCA6IChfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcyA9IGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcy5hZGQocHJvcHMuY2hpbGRyZW4pO1xuICAgICAgICBlbWl0Q2hhbmdlKCk7XG4gICAgfVxuICAgIHVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QoKCk9PntcbiAgICAgICAgdmFyIF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzO1xuICAgICAgICBoZWFkTWFuYWdlciA9PSBudWxsID8gdm9pZCAwIDogKF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzID0gaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzLmFkZChwcm9wcy5jaGlsZHJlbik7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgdmFyIF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzO1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIgPT0gbnVsbCA/IHZvaWQgMCA6IChfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcyA9IGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcy5kZWxldGUocHJvcHMuY2hpbGRyZW4pO1xuICAgICAgICB9O1xuICAgIH0pO1xuICAgIC8vIFdlIG5lZWQgdG8gY2FsbCBgdXBkYXRlSGVhZGAgbWV0aG9kIHdoZW5ldmVyIHRoZSBgU2lkZUVmZmVjdGAgaXMgdHJpZ2dlciBpbiBhbGxcbiAgICAvLyBsaWZlLWN5Y2xlczogbW91bnQsIHVwZGF0ZSwgdW5tb3VudC4gSG93ZXZlciwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGBTaWRlRWZmZWN0YHNcbiAgICAvLyBiZWluZyByZW5kZXJlZCwgd2Ugb25seSB0cmlnZ2VyIHRoZSBtZXRob2QgZnJvbSB0aGUgbGFzdCBvbmUuXG4gICAgLy8gVGhpcyBpcyBlbnN1cmVkIGJ5IGtlZXBpbmcgdGhlIGxhc3QgdW5mbHVzaGVkIGB1cGRhdGVIZWFkYCBpbiB0aGUgYF9wZW5kaW5nVXBkYXRlYFxuICAgIC8vIHNpbmdsZXRvbiBpbiB0aGUgbGF5b3V0IGVmZmVjdCBwYXNzLCBhbmQgYWN0dWFsbHkgdHJpZ2dlciBpdCBpbiB0aGUgZWZmZWN0IHBhc3MuXG4gICAgdXNlQ2xpZW50T25seUxheW91dEVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAoaGVhZE1hbmFnZXIpIHtcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gZW1pdENoYW5nZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGlmIChoZWFkTWFuYWdlcikge1xuICAgICAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gZW1pdENoYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICB1c2VDbGllbnRPbmx5RWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChoZWFkTWFuYWdlciAmJiBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSkge1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUoKTtcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGlmIChoZWFkTWFuYWdlciAmJiBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSkge1xuICAgICAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBudWxsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaWRlLWVmZmVjdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiU2lkZUVmZmVjdCIsIl9yZWFjdCIsInJlcXVpcmUiLCJpc1NlcnZlciIsInVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDbGllbnRPbmx5RWZmZWN0IiwidXNlRWZmZWN0IiwicHJvcHMiLCJoZWFkTWFuYWdlciIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiZW1pdENoYW5nZSIsIm1vdW50ZWRJbnN0YW5jZXMiLCJoZWFkRWxlbWVudHMiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJCb29sZWFuIiwidXBkYXRlSGVhZCIsIl9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/side-effect.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n isResSent: function() {\n return isResSent;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n DecodeError: function() {\n return DecodeError;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FrQk47QUFDQSxTQUFTa0IsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXhCLE9BQU9DLGNBQWMsQ0FBQ3NCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXBCLFNBQVM7SUFDYkcsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxtQkFBbUI7UUFDZixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1oQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQyxTQUFTc0IsRUFBRTtJQUNoQixJQUFJQyxPQUFPO0lBQ1gsSUFBSUM7SUFD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SSxDQUFDLEtBQUs3RCxlQUFlaUQsT0FBTztRQUM1QztJQUNKO0lBQ0EsT0FBT1M7QUFDWDtBQUNBLE1BQU10RCxLQUFLLE9BQU8wRCxnQkFBZ0I7QUFDbEMsTUFBTXpELEtBQUtELE1BQU07SUFDYjtJQUNBO0lBQ0E7Q0FDSCxDQUFDMkQsS0FBSyxDQUFDLENBQUNDLFNBQVMsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFDakQsTUFBTTFELG9CQUFvQmtEO0FBQzFCO0FBQ0EsTUFBTWpELHVCQUF1QmlEO0FBQzdCO0FBQ0EsTUFBTWhELDBCQUEwQmdEO0lBQzVCUyxZQUFZQyxJQUFJLENBQUM7UUFDYixLQUFLO1FBQ0wsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNwRCxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUN3QyxPQUFPLEdBQUcsa0NBQWtDVztJQUNyRDtBQUNKO0FBQ0EsTUFBTXpELDBCQUEwQitDO0lBQzVCUyxZQUFZQyxJQUFJLEVBQUVYLE9BQU8sQ0FBQztRQUN0QixLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQTBDVyxPQUFPLE1BQU1YO0lBQzFFO0FBQ0o7QUFDQSxNQUFNN0MsZ0NBQWdDOEM7SUFDbENTLGFBQWE7UUFDVCxLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNaLE9BQU8sR0FBRztJQUNuQjtBQUNKO0FBQ0EsU0FBUzVDLGVBQWV5RCxLQUFLO0lBQ3pCLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUNsQmYsU0FBU2EsTUFBTWIsT0FBTztRQUN0QmdCLE9BQU9ILE1BQU1HLEtBQUs7SUFDdEI7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanM/ZTdmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFdFQl9WSVRBTFM6IG51bGwsXG4gICAgZXhlY09uY2U6IG51bGwsXG4gICAgaXNBYnNvbHV0ZVVybDogbnVsbCxcbiAgICBnZXRMb2NhdGlvbk9yaWdpbjogbnVsbCxcbiAgICBnZXRVUkw6IG51bGwsXG4gICAgZ2V0RGlzcGxheU5hbWU6IG51bGwsXG4gICAgaXNSZXNTZW50OiBudWxsLFxuICAgIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlczogbnVsbCxcbiAgICBsb2FkR2V0SW5pdGlhbFByb3BzOiBudWxsLFxuICAgIFNQOiBudWxsLFxuICAgIFNUOiBudWxsLFxuICAgIERlY29kZUVycm9yOiBudWxsLFxuICAgIE5vcm1hbGl6ZUVycm9yOiBudWxsLFxuICAgIFBhZ2VOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIE1pc3NpbmdTdGF0aWNQYWdlOiBudWxsLFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIHN0cmluZ2lmeUVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFdFQl9WSVRBTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gV0VCX1ZJVEFMUztcbiAgICB9LFxuICAgIGV4ZWNPbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4ZWNPbmNlO1xuICAgIH0sXG4gICAgaXNBYnNvbHV0ZVVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Fic29sdXRlVXJsO1xuICAgIH0sXG4gICAgZ2V0TG9jYXRpb25PcmlnaW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TG9jYXRpb25PcmlnaW47XG4gICAgfSxcbiAgICBnZXRVUkw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VVJMO1xuICAgIH0sXG4gICAgZ2V0RGlzcGxheU5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzcGxheU5hbWU7XG4gICAgfSxcbiAgICBpc1Jlc1NlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNSZXNTZW50O1xuICAgIH0sXG4gICAgbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcztcbiAgICB9LFxuICAgIGxvYWRHZXRJbml0aWFsUHJvcHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbG9hZEdldEluaXRpYWxQcm9wcztcbiAgICB9LFxuICAgIFNQOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNQO1xuICAgIH0sXG4gICAgU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1Q7XG4gICAgfSxcbiAgICBEZWNvZGVFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEZWNvZGVFcnJvcjtcbiAgICB9LFxuICAgIE5vcm1hbGl6ZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5vcm1hbGl6ZUVycm9yO1xuICAgIH0sXG4gICAgUGFnZU5vdEZvdW5kRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUGFnZU5vdEZvdW5kRXJyb3I7XG4gICAgfSxcbiAgICBNaXNzaW5nU3RhdGljUGFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNaXNzaW5nU3RhdGljUGFnZTtcbiAgICB9LFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5RXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBXRUJfVklUQUxTID0gW1xuICAgIFwiQ0xTXCIsXG4gICAgXCJGQ1BcIixcbiAgICBcIkZJRFwiLFxuICAgIFwiSU5QXCIsXG4gICAgXCJMQ1BcIixcbiAgICBcIlRURkJcIlxuXTtcbmZ1bmN0aW9uIGV4ZWNPbmNlKGZuKSB7XG4gICAgbGV0IHVzZWQgPSBmYWxzZTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXVzZWQpIHtcbiAgICAgICAgICAgIHVzZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmVzdWx0ID0gZm4oLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xufVxuLy8gU2NoZW1lOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMVxuLy8gQWJzb2x1dGUgVVJMOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTQuM1xuY29uc3QgQUJTT0xVVEVfVVJMX1JFR0VYID0gL15bYS16QS1aXVthLXpBLVpcXGQrXFwtLl0qPzovO1xuY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmwpPT5BQlNPTFVURV9VUkxfUkVHRVgudGVzdCh1cmwpO1xuZnVuY3Rpb24gZ2V0TG9jYXRpb25PcmlnaW4oKSB7XG4gICAgY29uc3QgeyBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICByZXR1cm4gcHJvdG9jb2wgKyBcIi8vXCIgKyBob3N0bmFtZSArIChwb3J0ID8gXCI6XCIgKyBwb3J0IDogXCJcIik7XG59XG5mdW5jdGlvbiBnZXRVUkwoKSB7XG4gICAgY29uc3QgeyBocmVmIH0gPSB3aW5kb3cubG9jYXRpb247XG4gICAgY29uc3Qgb3JpZ2luID0gZ2V0TG9jYXRpb25PcmlnaW4oKTtcbiAgICByZXR1cm4gaHJlZi5zdWJzdHJpbmcob3JpZ2luLmxlbmd0aCk7XG59XG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdHlwZW9mIENvbXBvbmVudCA9PT0gXCJzdHJpbmdcIiA/IENvbXBvbmVudCA6IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCBcIlVua25vd25cIjtcbn1cbmZ1bmN0aW9uIGlzUmVzU2VudChyZXMpIHtcbiAgICByZXR1cm4gcmVzLmZpbmlzaGVkIHx8IHJlcy5oZWFkZXJzU2VudDtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyh1cmwpIHtcbiAgICBjb25zdCB1cmxQYXJ0cyA9IHVybC5zcGxpdChcIj9cIik7XG4gICAgY29uc3QgdXJsTm9RdWVyeSA9IHVybFBhcnRzWzBdO1xuICAgIHJldHVybiB1cmxOb1F1ZXJ5Ly8gZmlyc3Qgd2UgcmVwbGFjZSBhbnkgbm9uLWVuY29kZWQgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkXG4gICAgLy8gdGhlbiBub3JtYWxpemUgcmVwZWF0ZWQgZm9yd2FyZCBzbGFzaGVzXG4gICAgLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpLnJlcGxhY2UoL1xcL1xcLysvZywgXCIvXCIpICsgKHVybFBhcnRzWzFdID8gXCI/XCIgKyB1cmxQYXJ0cy5zbGljZSgxKS5qb2luKFwiP1wiKSA6IFwiXCIpO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZEdldEluaXRpYWxQcm9wcyhBcHAsIGN0eCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgdmFyIF9BcHBfcHJvdG90eXBlO1xuICAgICAgICBpZiAoKF9BcHBfcHJvdG90eXBlID0gQXBwLnByb3RvdHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9BcHBfcHJvdG90eXBlLmdldEluaXRpYWxQcm9wcykge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdcIicgKyBnZXREaXNwbGF5TmFtZShBcHApICsgJy5nZXRJbml0aWFsUHJvcHMoKVwiIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kIC0gdmlzaXQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ2V0LWluaXRpYWwtcHJvcHMtYXMtYW4taW5zdGFuY2UtbWV0aG9kIGZvciBtb3JlIGluZm9ybWF0aW9uLic7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gd2hlbiBjYWxsZWQgZnJvbSBfYXBwIGBjdHhgIGlzIG5lc3RlZCBpbiBgY3R4YFxuICAgIGNvbnN0IHJlcyA9IGN0eC5yZXMgfHwgY3R4LmN0eCAmJiBjdHguY3R4LnJlcztcbiAgICBpZiAoIUFwcC5nZXRJbml0aWFsUHJvcHMpIHtcbiAgICAgICAgaWYgKGN0eC5jdHggJiYgY3R4LkNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBwYWdlUHJvcHMgZGVmYXVsdFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYWdlUHJvcHM6IGF3YWl0IGxvYWRHZXRJbml0aWFsUHJvcHMoY3R4LkNvbXBvbmVudCwgY3R4LmN0eClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBwcm9wcyA9IGF3YWl0IEFwcC5nZXRJbml0aWFsUHJvcHMoY3R4KTtcbiAgICBpZiAocmVzICYmIGlzUmVzU2VudChyZXMpKSB7XG4gICAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG4gICAgaWYgKCFwcm9wcykge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1wiJyArIGdldERpc3BsYXlOYW1lKEFwcCkgKyAnLmdldEluaXRpYWxQcm9wcygpXCIgc2hvdWxkIHJlc29sdmUgdG8gYW4gb2JqZWN0LiBCdXQgZm91bmQgXCInICsgcHJvcHMgKyAnXCIgaW5zdGVhZC4nO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGggPT09IDAgJiYgIWN0eC5jdHgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlwiICsgZ2V0RGlzcGxheU5hbWUoQXBwKSArIFwiIHJldHVybmVkIGFuIGVtcHR5IG9iamVjdCBmcm9tIGBnZXRJbml0aWFsUHJvcHNgLiBUaGlzIGRlLW9wdGltaXplcyBhbmQgcHJldmVudHMgYXV0b21hdGljIHN0YXRpYyBvcHRpbWl6YXRpb24uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2VtcHR5LW9iamVjdC1nZXRJbml0aWFsUHJvcHNcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzO1xufVxuY29uc3QgU1AgPSB0eXBlb2YgcGVyZm9ybWFuY2UgIT09IFwidW5kZWZpbmVkXCI7XG5jb25zdCBTVCA9IFNQICYmIFtcbiAgICBcIm1hcmtcIixcbiAgICBcIm1lYXN1cmVcIixcbiAgICBcImdldEVudHJpZXNCeU5hbWVcIlxuXS5ldmVyeSgobWV0aG9kKT0+dHlwZW9mIHBlcmZvcm1hbmNlW21ldGhvZF0gPT09IFwiZnVuY3Rpb25cIik7XG5jbGFzcyBEZWNvZGVFcnJvciBleHRlbmRzIEVycm9yIHtcbn1cbmNsYXNzIE5vcm1hbGl6ZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xufVxuY2xhc3MgUGFnZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocGFnZSl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29kZSA9IFwiRU5PRU5UXCI7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiUGFnZU5vdEZvdW5kRXJyb3JcIjtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJDYW5ub3QgZmluZCBtb2R1bGUgZm9yIHBhZ2U6IFwiICsgcGFnZTtcbiAgICB9XG59XG5jbGFzcyBNaXNzaW5nU3RhdGljUGFnZSBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihwYWdlLCBtZXNzYWdlKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJGYWlsZWQgdG8gbG9hZCBzdGF0aWMgZmlsZSBmb3IgcGFnZTogXCIgKyBwYWdlICsgXCIgXCIgKyBtZXNzYWdlO1xuICAgIH1cbn1cbmNsYXNzIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29kZSA9IFwiRU5PRU5UXCI7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IFwiQ2Fubm90IGZpbmQgdGhlIG1pZGRsZXdhcmUgbW9kdWxlXCI7XG4gICAgfVxufVxuZnVuY3Rpb24gc3RyaW5naWZ5RXJyb3IoZXJyb3IpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZXJyb3Iuc3RhY2tcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiaXNBYnNvbHV0ZVVybCIsImdldExvY2F0aW9uT3JpZ2luIiwiZ2V0VVJMIiwiZ2V0RGlzcGxheU5hbWUiLCJpc1Jlc1NlbnQiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwiU1AiLCJTVCIsIkRlY29kZUVycm9yIiwiTm9ybWFsaXplRXJyb3IiLCJQYWdlTm90Rm91bmRFcnJvciIsIk1pc3NpbmdTdGF0aWNQYWdlIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJzdHJpbmdpZnlFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImZuIiwidXNlZCIsInJlc3VsdCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJyZXMiLCJmaW5pc2hlZCIsImhlYWRlcnNTZW50IiwidXJsUGFydHMiLCJzcGxpdCIsInVybE5vUXVlcnkiLCJyZXBsYWNlIiwic2xpY2UiLCJqb2luIiwiQXBwIiwiY3R4IiwicHJvY2VzcyIsIl9BcHBfcHJvdG90eXBlIiwicHJvdG90eXBlIiwiZ2V0SW5pdGlhbFByb3BzIiwibWVzc2FnZSIsIkVycm9yIiwicGFnZVByb3BzIiwicHJvcHMiLCJrZXlzIiwiY29uc29sZSIsIndhcm4iLCJwZXJmb3JtYW5jZSIsImV2ZXJ5IiwibWV0aG9kIiwiY29uc3RydWN0b3IiLCJwYWdlIiwiY29kZSIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils.js\n"); /***/ }), /***/ "./node_modules/next/dist/shared/lib/utils/warn-once.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw0Q0FBMkM7SUFDdkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQSxXQUFXLENBQUNDLEtBQUs7QUFDckIsSUFBSUMsSUFBcUMsRUFBRTtJQUN2QyxNQUFNQyxXQUFXLElBQUlDO0lBQ3JCSixXQUFXLENBQUNLO1FBQ1IsSUFBSSxDQUFDRixTQUFTRyxHQUFHLENBQUNELE1BQU07WUFDcEJFLFFBQVFDLElBQUksQ0FBQ0g7UUFDakI7UUFDQUYsU0FBU00sR0FBRyxDQUFDSjtJQUNqQjtBQUNKLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UuanM/NzM5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIndhcm5PbmNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YXJuT25jZTtcbiAgICB9XG59KTtcbmxldCB3YXJuT25jZSA9IChfKT0+e307XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgY29uc3Qgd2FybmluZ3MgPSBuZXcgU2V0KCk7XG4gICAgd2Fybk9uY2UgPSAobXNnKT0+e1xuICAgICAgICBpZiAoIXdhcm5pbmdzLmhhcyhtc2cpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4obXNnKTtcbiAgICAgICAgfVxuICAgICAgICB3YXJuaW5ncy5hZGQobXNnKTtcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXJuLW9uY2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); /***/ }), /***/ "./node_modules/next/dist/lib/is-error.js": /*!************************************************!*\ !*** ./node_modules/next/dist/lib/is-error.js ***! \************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n default: function() {\n return isError;\n },\n getProperError: function() {\n return getProperError;\n }\n});\nconst _isplainobject = __webpack_require__(/*! ../shared/lib/is-plain-object */ \"./node_modules/next/dist/shared/lib/is-plain-object.js\");\nfunction isError(err) {\n return typeof err === \"object\" && err !== null && \"name\" in err && \"message\" in err;\n}\nfunction getProperError(err) {\n if (isError(err)) {\n return err;\n }\n if (true) {\n // provide better error for case where `throw undefined`\n // is called in development\n if (typeof err === \"undefined\") {\n return new Error(\"An undefined error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n if (err === null) {\n return new Error(\"A null error was thrown, \" + \"see here for more info: https://nextjs.org/docs/messages/threw-undefined\");\n }\n }\n return new Error((0, _isplainobject.isPlainObject)(err) ? JSON.stringify(err) : err + \"\");\n}\n\n//# sourceMappingURL=is-error.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9pcy1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRCx1QkFBdUIsbUJBQU8sQ0FBQyw2RkFBK0I7QUFDOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxRQUFRLElBQXNDO0FBQzlDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvaXMtZXJyb3IuanM/MTc4ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgZ2V0UHJvcGVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Vycm9yO1xuICAgIH0sXG4gICAgZ2V0UHJvcGVyRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UHJvcGVyRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaXNwbGFpbm9iamVjdCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2lzLXBsYWluLW9iamVjdFwiKTtcbmZ1bmN0aW9uIGlzRXJyb3IoZXJyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnIgPT09IFwib2JqZWN0XCIgJiYgZXJyICE9PSBudWxsICYmIFwibmFtZVwiIGluIGVyciAmJiBcIm1lc3NhZ2VcIiBpbiBlcnI7XG59XG5mdW5jdGlvbiBnZXRQcm9wZXJFcnJvcihlcnIpIHtcbiAgICBpZiAoaXNFcnJvcihlcnIpKSB7XG4gICAgICAgIHJldHVybiBlcnI7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIC8vIHByb3ZpZGUgYmV0dGVyIGVycm9yIGZvciBjYXNlIHdoZXJlIGB0aHJvdyB1bmRlZmluZWRgXG4gICAgICAgIC8vIGlzIGNhbGxlZCBpbiBkZXZlbG9wbWVudFxuICAgICAgICBpZiAodHlwZW9mIGVyciA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkFuIHVuZGVmaW5lZCBlcnJvciB3YXMgdGhyb3duLCBcIiArIFwic2VlIGhlcmUgZm9yIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvdGhyZXctdW5kZWZpbmVkXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlcnIgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoXCJBIG51bGwgZXJyb3Igd2FzIHRocm93biwgXCIgKyBcInNlZSBoZXJlIGZvciBtb3JlIGluZm86IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3RocmV3LXVuZGVmaW5lZFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3IEVycm9yKCgwLCBfaXNwbGFpbm9iamVjdC5pc1BsYWluT2JqZWN0KShlcnIpID8gSlNPTi5zdHJpbmdpZnkoZXJyKSA6IGVyciArIFwiXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1lcnJvci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/is-error.js\n"); /***/ }), /***/ "./node_modules/next/dist/lib/pretty-bytes.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/lib/pretty-bytes.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/*\nMIT License\n\nCopyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return prettyBytes;\n }\n}));\nconst UNITS = [\n \"B\",\n \"kB\",\n \"MB\",\n \"GB\",\n \"TB\",\n \"PB\",\n \"EB\",\n \"ZB\",\n \"YB\"\n];\n/*\nFormats the given number using `Number#toLocaleString`.\n- If locale is a string, the value is expected to be a locale-key (for example: `de`).\n- If locale is true, the system default locale is used for translation.\n- If no value for locale is specified, the number is returned unmodified.\n*/ const toLocaleString = (number, locale)=>{\n let result = number;\n if (typeof locale === \"string\") {\n result = number.toLocaleString(locale);\n } else if (locale === true) {\n result = number.toLocaleString();\n }\n return result;\n};\nfunction prettyBytes(number, options) {\n if (!Number.isFinite(number)) {\n throw new TypeError(`Expected a finite number, got ${typeof number}: ${number}`);\n }\n options = Object.assign({}, options);\n if (options.signed && number === 0) {\n return \" 0 B\";\n }\n const isNegative = number < 0;\n const prefix = isNegative ? \"-\" : options.signed ? \"+\" : \"\";\n if (isNegative) {\n number = -number;\n }\n if (number < 1) {\n const numberString = toLocaleString(number, options.locale);\n return prefix + numberString + \" B\";\n }\n const exponent = Math.min(Math.floor(Math.log10(number) / 3), UNITS.length - 1);\n number = Number((number / Math.pow(1000, exponent)).toPrecision(3));\n const numberString = toLocaleString(number, options.locale);\n const unit = UNITS[exponent];\n return prefix + numberString + \" \" + unit;\n}\n\n//# sourceMappingURL=pretty-bytes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBLEdBQWdCO0FBQ2hCLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDJDQUEwQztBQUMxQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxNQUFNO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNkRBQTZELGNBQWMsSUFBSSxPQUFPO0FBQ3RGO0FBQ0EsOEJBQThCO0FBQzlCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9wcmV0dHktYnl0ZXMuanM/ZmYzMCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuTUlUIExpY2Vuc2VcblxuQ29weXJpZ2h0IChjKSBTaW5kcmUgU29yaHVzIDxzaW5kcmVzb3JodXNAZ21haWwuY29tPiAoc2luZHJlc29yaHVzLmNvbSlcblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSBcIlNvZnR3YXJlXCIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczpcblxuVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLlxuKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcmV0dHlCeXRlcztcbiAgICB9XG59KTtcbmNvbnN0IFVOSVRTID0gW1xuICAgIFwiQlwiLFxuICAgIFwia0JcIixcbiAgICBcIk1CXCIsXG4gICAgXCJHQlwiLFxuICAgIFwiVEJcIixcbiAgICBcIlBCXCIsXG4gICAgXCJFQlwiLFxuICAgIFwiWkJcIixcbiAgICBcIllCXCJcbl07XG4vKlxuRm9ybWF0cyB0aGUgZ2l2ZW4gbnVtYmVyIHVzaW5nIGBOdW1iZXIjdG9Mb2NhbGVTdHJpbmdgLlxuLSBJZiBsb2NhbGUgaXMgYSBzdHJpbmcsIHRoZSB2YWx1ZSBpcyBleHBlY3RlZCB0byBiZSBhIGxvY2FsZS1rZXkgKGZvciBleGFtcGxlOiBgZGVgKS5cbi0gSWYgbG9jYWxlIGlzIHRydWUsIHRoZSBzeXN0ZW0gZGVmYXVsdCBsb2NhbGUgaXMgdXNlZCBmb3IgdHJhbnNsYXRpb24uXG4tIElmIG5vIHZhbHVlIGZvciBsb2NhbGUgaXMgc3BlY2lmaWVkLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkIHVubW9kaWZpZWQuXG4qLyBjb25zdCB0b0xvY2FsZVN0cmluZyA9IChudW1iZXIsIGxvY2FsZSk9PntcbiAgICBsZXQgcmVzdWx0ID0gbnVtYmVyO1xuICAgIGlmICh0eXBlb2YgbG9jYWxlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJlc3VsdCA9IG51bWJlci50b0xvY2FsZVN0cmluZyhsb2NhbGUpO1xuICAgIH0gZWxzZSBpZiAobG9jYWxlID09PSB0cnVlKSB7XG4gICAgICAgIHJlc3VsdCA9IG51bWJlci50b0xvY2FsZVN0cmluZygpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufTtcbmZ1bmN0aW9uIHByZXR0eUJ5dGVzKG51bWJlciwgb3B0aW9ucykge1xuICAgIGlmICghTnVtYmVyLmlzRmluaXRlKG51bWJlcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYSBmaW5pdGUgbnVtYmVyLCBnb3QgJHt0eXBlb2YgbnVtYmVyfTogJHtudW1iZXJ9YCk7XG4gICAgfVxuICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zKTtcbiAgICBpZiAob3B0aW9ucy5zaWduZWQgJiYgbnVtYmVyID09PSAwKSB7XG4gICAgICAgIHJldHVybiBcIiAwIEJcIjtcbiAgICB9XG4gICAgY29uc3QgaXNOZWdhdGl2ZSA9IG51bWJlciA8IDA7XG4gICAgY29uc3QgcHJlZml4ID0gaXNOZWdhdGl2ZSA/IFwiLVwiIDogb3B0aW9ucy5zaWduZWQgPyBcIitcIiA6IFwiXCI7XG4gICAgaWYgKGlzTmVnYXRpdmUpIHtcbiAgICAgICAgbnVtYmVyID0gLW51bWJlcjtcbiAgICB9XG4gICAgaWYgKG51bWJlciA8IDEpIHtcbiAgICAgICAgY29uc3QgbnVtYmVyU3RyaW5nID0gdG9Mb2NhbGVTdHJpbmcobnVtYmVyLCBvcHRpb25zLmxvY2FsZSk7XG4gICAgICAgIHJldHVybiBwcmVmaXggKyBudW1iZXJTdHJpbmcgKyBcIiBCXCI7XG4gICAgfVxuICAgIGNvbnN0IGV4cG9uZW50ID0gTWF0aC5taW4oTWF0aC5mbG9vcihNYXRoLmxvZzEwKG51bWJlcikgLyAzKSwgVU5JVFMubGVuZ3RoIC0gMSk7XG4gICAgbnVtYmVyID0gTnVtYmVyKChudW1iZXIgLyBNYXRoLnBvdygxMDAwLCBleHBvbmVudCkpLnRvUHJlY2lzaW9uKDMpKTtcbiAgICBjb25zdCBudW1iZXJTdHJpbmcgPSB0b0xvY2FsZVN0cmluZyhudW1iZXIsIG9wdGlvbnMubG9jYWxlKTtcbiAgICBjb25zdCB1bml0ID0gVU5JVFNbZXhwb25lbnRdO1xuICAgIHJldHVybiBwcmVmaXggKyBudW1iZXJTdHJpbmcgKyBcIiBcIiArIHVuaXQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByZXR0eS1ieXRlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/lib/pretty-bytes.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/helpers/interception-routes.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n}\n\n//# sourceMappingURL=interception-routes.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsOENBQTZDO0FBQzdDO0FBQ0EsQ0FBQyxFQUFDO0FBQ0YsTUFBTSxDQUlMO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQSxDQUFDO0FBQ0Qsa0JBQWtCLG1CQUFPLENBQUMsaUhBQTRDO0FBQ3RFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1REFBdUQsS0FBSztBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVDQUF1QyxpQkFBaUI7QUFDeEQsY0FBYztBQUNkO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLCtEQUErRCxLQUFLO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrREFBK0QsS0FBSztBQUNwRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXMuanM/MzVjYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBudWxsLFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBudWxsLFxuICAgIGV4dHJhY3RJbnRlcmNlcHRpb25Sb3V0ZUluZm9ybWF0aW9uOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTO1xuICAgIH0sXG4gICAgaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGg7XG4gICAgfSxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyA9IFtcbiAgICBcIiguLikoLi4pXCIsXG4gICAgXCIoLilcIixcbiAgICBcIiguLilcIixcbiAgICBcIiguLi4pXCJcbl07XG5mdW5jdGlvbiBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aChwYXRoKSB7XG4gICAgLy8gVE9ETy1BUFA6IGFkZCBtb3JlIHNlcmlvdXMgdmFsaWRhdGlvblxuICAgIHJldHVybiBwYXRoLnNwbGl0KFwiL1wiKS5maW5kKChzZWdtZW50KT0+SU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSkpICE9PSB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbihwYXRoKSB7XG4gICAgbGV0IGludGVyY2VwdGluZ1JvdXRlLCBtYXJrZXIsIGludGVyY2VwdGVkUm91dGU7XG4gICAgZm9yIChjb25zdCBzZWdtZW50IG9mIHBhdGguc3BsaXQoXCIvXCIpKXtcbiAgICAgICAgbWFya2VyID0gSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgIGlmIChtYXJrZXIpIHtcbiAgICAgICAgICAgIFtpbnRlcmNlcHRpbmdSb3V0ZSwgaW50ZXJjZXB0ZWRSb3V0ZV0gPSBwYXRoLnNwbGl0KG1hcmtlciwgMik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWludGVyY2VwdGluZ1JvdXRlIHx8ICFtYXJrZXIgfHwgIWludGVyY2VwdGVkUm91dGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gTXVzdCBiZSBpbiB0aGUgZm9ybWF0IC88aW50ZXJjZXB0aW5nIHJvdXRlPi8oLi58Li4ufC4uKSguLikvPGludGVyY2VwdGVkIHJvdXRlPmApO1xuICAgIH1cbiAgICBpbnRlcmNlcHRpbmdSb3V0ZSA9ICgwLCBfYXBwcGF0aHMubm9ybWFsaXplQXBwUGF0aCkoaW50ZXJjZXB0aW5nUm91dGUpIC8vIG5vcm1hbGl6ZSB0aGUgcGF0aCwgZS5nLiAvKGJsb2cpL2ZlZWQgLT4gL2ZlZWRcbiAgICA7XG4gICAgc3dpdGNoKG1hcmtlcil7XG4gICAgICAgIGNhc2UgXCIoLilcIjpcbiAgICAgICAgICAgIC8vICguKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggd2l0aCBzaWJsaW5nIHJvdXRlcywgc28gd2UganVzdCBuZWVkIHRvIGFwcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGUgdG8gdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBgLyR7aW50ZXJjZXB0ZWRSb3V0ZX1gO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gaW50ZXJjZXB0aW5nUm91dGUgKyBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLilcIjpcbiAgICAgICAgICAgIC8vICguLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIGF0IG9uZSBsZXZlbCB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3Qgc2VnbWVudCBvZiB0aGUgaW50ZXJjZXB0aW5nIHJvdXRlXG4gICAgICAgICAgICBpZiAoaW50ZXJjZXB0aW5nUm91dGUgPT09IFwiL1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pIG1hcmtlciBhdCB0aGUgcm9vdCBsZXZlbCwgdXNlICguKSBpbnN0ZWFkLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKS5zbGljZSgwLCAtMSkuY29uY2F0KGludGVyY2VwdGVkUm91dGUpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4uKVwiOlxuICAgICAgICAgICAgLy8gKC4uLikgd2lsbCBtYXRjaCB0aGUgcm91dGUgc2VnbWVudCBpbiB0aGUgcm9vdCBkaXJlY3RvcnksIHNvIHdlIG5lZWQgdG8gdXNlIHRoZSByb290IGRpcmVjdG9yeSB0byBwcmVwZW5kIHRoZSBpbnRlcmNlcHRlZCByb3V0ZVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IFwiL1wiICsgaW50ZXJjZXB0ZWRSb3V0ZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uKSguLilcIjpcbiAgICAgICAgICAgIC8vICguLikoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCB0d28gbGV2ZWxzIHVwLCBzbyB3ZSBuZWVkIHRvIHJlbW92ZSB0aGUgbGFzdCB0d28gc2VnbWVudHMgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgY29uc3Qgc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgIGlmIChzcGxpdEludGVyY2VwdGluZ1JvdXRlLmxlbmd0aCA8PSAyKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBJbnZhbGlkIGludGVyY2VwdGlvbiByb3V0ZTogJHtwYXRofS4gQ2Fubm90IHVzZSAoLi4pKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwgb3Igb25lIGxldmVsIHVwLmApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUuc2xpY2UoMCwgLTIpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YXJpYW50OiB1bmV4cGVjdGVkIG1hcmtlclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaW50ZXJjZXB0aW5nUm91dGUsXG4gICAgICAgIGludGVyY2VwdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcmNlcHRpb24tcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-kind.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-kind.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {}));\n\n//# sourceMappingURL=route-kind.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLDZDQUE0QztBQUM1QztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0Esd0JBQXdCLElBQUksRUFBRSxHQUFHO0FBQ2pDO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QixJQUFJLEVBQUUsR0FBRztBQUNsQztBQUNBLENBQUMsOEJBQThCOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcz8zOTc5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUm91dGVLaW5kXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSb3V0ZUtpbmQ7XG4gICAgfVxufSk7XG52YXIgUm91dGVLaW5kO1xuKGZ1bmN0aW9uKFJvdXRlS2luZCkge1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYFBBR0VTYCByZXByZXNlbnRzIGFsbCB0aGUgUmVhY3QgcGFnZXMgdGhhdCBhcmUgdW5kZXIgYHBhZ2VzL2AuXG4gICAqLyBcIlBBR0VTXCJdID0gXCJQQUdFU1wiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYFBBR0VTX0FQSWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgdW5kZXIgYHBhZ2VzL2FwaS9gLlxuICAgKi8gXCJQQUdFU19BUElcIl0gPSBcIlBBR0VTX0FQSVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9QQUdFYCByZXByZXNlbnRzIGFsbCB0aGUgUmVhY3QgcGFnZXMgdGhhdCBhcmUgdW5kZXIgYGFwcC9gIHdpdGggdGhlXG4gICAqIGZpbGVuYW1lIG9mIGBwYWdlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUEFHRVwiXSA9IFwiQVBQX1BBR0VcIjtcbiAgICBSb3V0ZUtpbmRbLyoqXG4gICAqIGBBUFBfUk9VVEVgIHJlcHJlc2VudHMgYWxsIHRoZSBBUEkgcm91dGVzIGFuZCBtZXRhZGF0YSByb3V0ZXMgdGhhdCBhcmUgdW5kZXIgYGFwcC9gIHdpdGggdGhlXG4gICAqIGZpbGVuYW1lIG9mIGByb3V0ZS57aix0fXN7LHh9YC5cbiAgICovIFwiQVBQX1JPVVRFXCJdID0gXCJBUFBfUk9VVEVcIjtcbn0pKFJvdXRlS2luZCB8fCAoUm91dGVLaW5kID0ge30pKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUta2luZC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-kind.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js ***! \*************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/pages.runtime.dev.js */ \"next/dist/compiled/next-server/pages.runtime.dev.js\");\n } else {}\n}\n\n//# sourceMappingURL=module.compiled.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuY29tcGlsZWQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixJQUFJLEtBQW1DLEVBQUUsRUFFeEMsQ0FBQztBQUNGLFFBQVEsSUFBc0M7QUFDOUMsUUFBUSxzSkFBK0U7QUFDdkYsTUFBTSxLQUFLLEVBSU47QUFDTDs7QUFFQSIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuY29tcGlsZWQuanM/YmE0ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbmlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPT09IFwiZWRnZVwiKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy9tb2R1bGUuanNcIik7XG59IGVsc2Uge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9wYWdlcy5ydW50aW1lLmRldi5qc1wiKTtcbiAgICB9IGVsc2UgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvcGFnZXMtdHVyYm8ucnVudGltZS5wcm9kLmpzXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9wYWdlcy5ydW50aW1lLnByb2QuanNcIik7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUuY29tcGlsZWQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js ***! \***************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.AmpContext;\n\n//# sourceMappingURL=amp-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLCtLQUFpRjs7QUFFakYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvdmVuZG9yZWQvY29udGV4dHMvYW1wLWNvbnRleHQuanM/YTA1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLkFtcENvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFtcC1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/amp-context.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js": /*!************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js ***! \************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.HeadManagerContext;\n\n//# sourceMappingURL=head-manager-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLHVMQUF5Rjs7QUFFekYiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvcGFnZXMvdmVuZG9yZWQvY29udGV4dHMvaGVhZC1tYW5hZ2VyLWNvbnRleHQuanM/YWRjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLkhlYWRNYW5hZ2VyQ29udGV4dDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZC1tYW5hZ2VyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/head-manager-context.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js": /*!****************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js ***! \****************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"./node_modules/next/dist/server/future/route-modules/pages/module.compiled.js\").vendored.contexts.HtmlContext;\n\n//# sourceMappingURL=html-context.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9wYWdlcy92ZW5kb3JlZC9jb250ZXh0cy9odG1sLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYixnTEFBa0Y7O0FBRWxGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL3BhZ2VzL3ZlbmRvcmVkL2NvbnRleHRzL2h0bWwtY29udGV4dC5qcz80ZTg1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wiY29udGV4dHNcIl0uSHRtbENvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWh0bWwtY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/future/route-modules/pages/vendored/contexts/html-context.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/get-page-files.js": /*!*********************************************************!*\ !*** ./node_modules/next/dist/server/get-page-files.js ***! \*********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getPageFiles\", ({\n enumerable: true,\n get: function() {\n return getPageFiles;\n }\n}));\nconst _denormalizepagepath = __webpack_require__(/*! ../shared/lib/page-path/denormalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/denormalize-page-path.js\");\nconst _normalizepagepath = __webpack_require__(/*! ../shared/lib/page-path/normalize-page-path */ \"./node_modules/next/dist/shared/lib/page-path/normalize-page-path.js\");\nfunction getPageFiles(buildManifest, page) {\n const normalizedPage = (0, _denormalizepagepath.denormalizePagePath)((0, _normalizepagepath.normalizePagePath)(page));\n let files = buildManifest.pages[normalizedPage];\n if (!files) {\n console.warn(`Could not find files for ${normalizedPage} in .next/build-manifest.json`);\n return [];\n }\n return files;\n}\n\n//# sourceMappingURL=get-page-files.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9nZXQtcGFnZS1maWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLGdEQUErQztBQUMvQztBQUNBO0FBQ0E7QUFDQTtBQUNBLENBQUMsRUFBQztBQUNGLDZCQUE2QixtQkFBTyxDQUFDLDZIQUErQztBQUNwRiwyQkFBMkIsbUJBQU8sQ0FBQyx5SEFBNkM7QUFDaEY7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpREFBaUQsZ0JBQWdCO0FBQ2pFO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2dldC1wYWdlLWZpbGVzLmpzP2M4NmIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRQYWdlRmlsZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFBhZ2VGaWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF9kZW5vcm1hbGl6ZXBhZ2VwYXRoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcGFnZS1wYXRoL2Rlbm9ybWFsaXplLXBhZ2UtcGF0aFwiKTtcbmNvbnN0IF9ub3JtYWxpemVwYWdlcGF0aCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGFnZS1wYXRoXCIpO1xuZnVuY3Rpb24gZ2V0UGFnZUZpbGVzKGJ1aWxkTWFuaWZlc3QsIHBhZ2UpIHtcbiAgICBjb25zdCBub3JtYWxpemVkUGFnZSA9ICgwLCBfZGVub3JtYWxpemVwYWdlcGF0aC5kZW5vcm1hbGl6ZVBhZ2VQYXRoKSgoMCwgX25vcm1hbGl6ZXBhZ2VwYXRoLm5vcm1hbGl6ZVBhZ2VQYXRoKShwYWdlKSk7XG4gICAgbGV0IGZpbGVzID0gYnVpbGRNYW5pZmVzdC5wYWdlc1tub3JtYWxpemVkUGFnZV07XG4gICAgaWYgKCFmaWxlcykge1xuICAgICAgICBjb25zb2xlLndhcm4oYENvdWxkIG5vdCBmaW5kIGZpbGVzIGZvciAke25vcm1hbGl6ZWRQYWdlfSBpbiAubmV4dC9idWlsZC1tYW5pZmVzdC5qc29uYCk7XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbGVzO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtcGFnZS1maWxlcy5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/get-page-files.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/htmlescape.js": /*!*****************************************************!*\ !*** ./node_modules/next/dist/server/htmlescape.js ***! \*****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// This utility is based on https://github.com/zertosh/htmlescape\n// License: https://github.com/zertosh/htmlescape/blob/0527ca7156a524d256101bb310a9f970f63078ad/LICENSE\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ESCAPE_REGEX: function() {\n return ESCAPE_REGEX;\n },\n htmlEscapeJsonString: function() {\n return htmlEscapeJsonString;\n }\n});\nconst ESCAPE_LOOKUP = {\n \"&\": \"\\\\u0026\",\n \">\": \"\\\\u003e\",\n \"<\": \"\\\\u003c\",\n \"\\u2028\": \"\\\\u2028\",\n \"\\u2029\": \"\\\\u2029\"\n};\nconst ESCAPE_REGEX = /[&><\\u2028\\u2029]/g;\nfunction htmlEscapeJsonString(str) {\n return str.replace(ESCAPE_REGEX, (match)=>ESCAPE_LOOKUP[match]);\n}\n\n//# sourceMappingURL=htmlescape.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9odG1sZXNjYXBlLmpzIiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FHTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2h0bWxlc2NhcGUuanM/ZDIxNiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIHV0aWxpdHkgaXMgYmFzZWQgb24gaHR0cHM6Ly9naXRodWIuY29tL3plcnRvc2gvaHRtbGVzY2FwZVxuLy8gTGljZW5zZTogaHR0cHM6Ly9naXRodWIuY29tL3plcnRvc2gvaHRtbGVzY2FwZS9ibG9iLzA1MjdjYTcxNTZhNTI0ZDI1NjEwMWJiMzEwYTlmOTcwZjYzMDc4YWQvTElDRU5TRVxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBFU0NBUEVfUkVHRVg6IG51bGwsXG4gICAgaHRtbEVzY2FwZUpzb25TdHJpbmc6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRVNDQVBFX1JFR0VYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVTQ0FQRV9SRUdFWDtcbiAgICB9LFxuICAgIGh0bWxFc2NhcGVKc29uU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGh0bWxFc2NhcGVKc29uU3RyaW5nO1xuICAgIH1cbn0pO1xuY29uc3QgRVNDQVBFX0xPT0tVUCA9IHtcbiAgICBcIiZcIjogXCJcXFxcdTAwMjZcIixcbiAgICBcIj5cIjogXCJcXFxcdTAwM2VcIixcbiAgICBcIjxcIjogXCJcXFxcdTAwM2NcIixcbiAgICBcIlxcdTIwMjhcIjogXCJcXFxcdTIwMjhcIixcbiAgICBcIlxcdTIwMjlcIjogXCJcXFxcdTIwMjlcIlxufTtcbmNvbnN0IEVTQ0FQRV9SRUdFWCA9IC9bJj48XFx1MjAyOFxcdTIwMjldL2c7XG5mdW5jdGlvbiBodG1sRXNjYXBlSnNvblN0cmluZyhzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoRVNDQVBFX1JFR0VYLCAobWF0Y2gpPT5FU0NBUEVfTE9PS1VQW21hdGNoXSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWh0bWxlc2NhcGUuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/htmlescape.js\n"); /***/ }), /***/ "./node_modules/next/dist/server/utils.js": /*!************************************************!*\ !*** ./node_modules/next/dist/server/utils.js ***! \************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isBlockedPage: function() {\n return isBlockedPage;\n },\n cleanAmpPath: function() {\n return cleanAmpPath;\n },\n debounce: function() {\n return debounce;\n }\n});\nconst _constants = __webpack_require__(/*! ../shared/lib/constants */ \"./node_modules/next/dist/shared/lib/constants.js\");\nfunction isBlockedPage(page) {\n return _constants.BLOCKED_PAGES.includes(page);\n}\nfunction cleanAmpPath(pathname) {\n if (pathname.match(/\\?amp=(y|yes|true|1)/)) {\n pathname = pathname.replace(/\\?amp=(y|yes|true|1)&?/, \"?\");\n }\n if (pathname.match(/&=(y|yes|true|1)/)) {\n pathname = pathname.replace(/&=(y|yes|true|1)/, \"\");\n }\n pathname = pathname.replace(/\\?$/, \"\");\n return pathname;\n}\nfunction debounce(fn, ms, maxWait = Infinity) {\n let timeoutId;\n // The time the debouncing function was first called during this debounce queue.\n let startTime = 0;\n // The time the debouncing function was last called.\n let lastCall = 0;\n // The arguments and this context of the last call to the debouncing function.\n let args, context;\n // A helper used to that either invokes the debounced function, or\n // reschedules the timer if a more recent call was made.\n function run() {\n const now = Date.now();\n const diff = lastCall + ms - now;\n // If the diff is non-positive, then we've waited at least `ms`\n // milliseconds since the last call. Or if we've waited for longer than the\n // max wait time, we must call the debounced function.\n if (diff <= 0 || startTime + maxWait >= now) {\n // It's important to clear the timeout id before invoking the debounced\n // function, in case the function calls the debouncing function again.\n timeoutId = undefined;\n fn.apply(context, args);\n } else {\n // Else, a new call was made after the original timer was scheduled. We\n // didn't clear the timeout (doing so is very slow), so now we need to\n // reschedule the timer for the time difference.\n timeoutId = setTimeout(run, diff);\n }\n }\n return function(...passedArgs) {\n // The arguments and this context of the most recent call are saved so the\n // debounced function can be invoked with them later.\n args = passedArgs;\n context = this;\n // Instead of constantly clearing and scheduling a timer, we record the\n // time of the last call. If a second call comes in before the timer fires,\n // then we'll reschedule in the run function. Doing this is considerably\n // faster.\n lastCall = Date.now();\n // Only schedule a new timer if we're not currently waiting.\n if (timeoutId === undefined) {\n startTime = lastCall;\n timeoutId = setTimeout(run, ms);\n }\n };\n}\n\n//# sourceMappingURL=utils.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci91dGlscy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLDhDQUE2QztBQUM3QztBQUNBLENBQUMsRUFBQztBQUNGLE1BQU0sQ0FJTDtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQztBQUNELG1CQUFtQixtQkFBTyxDQUFDLGlGQUF5QjtBQUNwRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFVBQVU7QUFDVjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3V0aWxzLmpzPzFjNTgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc0Jsb2NrZWRQYWdlOiBudWxsLFxuICAgIGNsZWFuQW1wUGF0aDogbnVsbCxcbiAgICBkZWJvdW5jZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBpc0Jsb2NrZWRQYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzQmxvY2tlZFBhZ2U7XG4gICAgfSxcbiAgICBjbGVhbkFtcFBhdGg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY2xlYW5BbXBQYXRoO1xuICAgIH0sXG4gICAgZGVib3VuY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGVib3VuY2U7XG4gICAgfVxufSk7XG5jb25zdCBfY29uc3RhbnRzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvY29uc3RhbnRzXCIpO1xuZnVuY3Rpb24gaXNCbG9ja2VkUGFnZShwYWdlKSB7XG4gICAgcmV0dXJuIF9jb25zdGFudHMuQkxPQ0tFRF9QQUdFUy5pbmNsdWRlcyhwYWdlKTtcbn1cbmZ1bmN0aW9uIGNsZWFuQW1wUGF0aChwYXRobmFtZSkge1xuICAgIGlmIChwYXRobmFtZS5tYXRjaCgvXFw/YW1wPSh5fHllc3x0cnVlfDEpLykpIHtcbiAgICAgICAgcGF0aG5hbWUgPSBwYXRobmFtZS5yZXBsYWNlKC9cXD9hbXA9KHl8eWVzfHRydWV8MSkmPy8sIFwiP1wiKTtcbiAgICB9XG4gICAgaWYgKHBhdGhuYW1lLm1hdGNoKC8mYW1wPSh5fHllc3x0cnVlfDEpLykpIHtcbiAgICAgICAgcGF0aG5hbWUgPSBwYXRobmFtZS5yZXBsYWNlKC8mYW1wPSh5fHllc3x0cnVlfDEpLywgXCJcIik7XG4gICAgfVxuICAgIHBhdGhuYW1lID0gcGF0aG5hbWUucmVwbGFjZSgvXFw/JC8sIFwiXCIpO1xuICAgIHJldHVybiBwYXRobmFtZTtcbn1cbmZ1bmN0aW9uIGRlYm91bmNlKGZuLCBtcywgbWF4V2FpdCA9IEluZmluaXR5KSB7XG4gICAgbGV0IHRpbWVvdXRJZDtcbiAgICAvLyBUaGUgdGltZSB0aGUgZGVib3VuY2luZyBmdW5jdGlvbiB3YXMgZmlyc3QgY2FsbGVkIGR1cmluZyB0aGlzIGRlYm91bmNlIHF1ZXVlLlxuICAgIGxldCBzdGFydFRpbWUgPSAwO1xuICAgIC8vIFRoZSB0aW1lIHRoZSBkZWJvdW5jaW5nIGZ1bmN0aW9uIHdhcyBsYXN0IGNhbGxlZC5cbiAgICBsZXQgbGFzdENhbGwgPSAwO1xuICAgIC8vIFRoZSBhcmd1bWVudHMgYW5kIHRoaXMgY29udGV4dCBvZiB0aGUgbGFzdCBjYWxsIHRvIHRoZSBkZWJvdW5jaW5nIGZ1bmN0aW9uLlxuICAgIGxldCBhcmdzLCBjb250ZXh0O1xuICAgIC8vIEEgaGVscGVyIHVzZWQgdG8gdGhhdCBlaXRoZXIgaW52b2tlcyB0aGUgZGVib3VuY2VkIGZ1bmN0aW9uLCBvclxuICAgIC8vIHJlc2NoZWR1bGVzIHRoZSB0aW1lciBpZiBhIG1vcmUgcmVjZW50IGNhbGwgd2FzIG1hZGUuXG4gICAgZnVuY3Rpb24gcnVuKCkge1xuICAgICAgICBjb25zdCBub3cgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBkaWZmID0gbGFzdENhbGwgKyBtcyAtIG5vdztcbiAgICAgICAgLy8gSWYgdGhlIGRpZmYgaXMgbm9uLXBvc2l0aXZlLCB0aGVuIHdlJ3ZlIHdhaXRlZCBhdCBsZWFzdCBgbXNgXG4gICAgICAgIC8vIG1pbGxpc2Vjb25kcyBzaW5jZSB0aGUgbGFzdCBjYWxsLiBPciBpZiB3ZSd2ZSB3YWl0ZWQgZm9yIGxvbmdlciB0aGFuIHRoZVxuICAgICAgICAvLyBtYXggd2FpdCB0aW1lLCB3ZSBtdXN0IGNhbGwgdGhlIGRlYm91bmNlZCBmdW5jdGlvbi5cbiAgICAgICAgaWYgKGRpZmYgPD0gMCB8fCBzdGFydFRpbWUgKyBtYXhXYWl0ID49IG5vdykge1xuICAgICAgICAgICAgLy8gSXQncyBpbXBvcnRhbnQgdG8gY2xlYXIgdGhlIHRpbWVvdXQgaWQgYmVmb3JlIGludm9raW5nIHRoZSBkZWJvdW5jZWRcbiAgICAgICAgICAgIC8vIGZ1bmN0aW9uLCBpbiBjYXNlIHRoZSBmdW5jdGlvbiBjYWxscyB0aGUgZGVib3VuY2luZyBmdW5jdGlvbiBhZ2Fpbi5cbiAgICAgICAgICAgIHRpbWVvdXRJZCA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGZuLmFwcGx5KGNvbnRleHQsIGFyZ3MpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gRWxzZSwgYSBuZXcgY2FsbCB3YXMgbWFkZSBhZnRlciB0aGUgb3JpZ2luYWwgdGltZXIgd2FzIHNjaGVkdWxlZC4gV2VcbiAgICAgICAgICAgIC8vIGRpZG4ndCBjbGVhciB0aGUgdGltZW91dCAoZG9pbmcgc28gaXMgdmVyeSBzbG93KSwgc28gbm93IHdlIG5lZWQgdG9cbiAgICAgICAgICAgIC8vIHJlc2NoZWR1bGUgdGhlIHRpbWVyIGZvciB0aGUgdGltZSBkaWZmZXJlbmNlLlxuICAgICAgICAgICAgdGltZW91dElkID0gc2V0VGltZW91dChydW4sIGRpZmYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmdW5jdGlvbiguLi5wYXNzZWRBcmdzKSB7XG4gICAgICAgIC8vIFRoZSBhcmd1bWVudHMgYW5kIHRoaXMgY29udGV4dCBvZiB0aGUgbW9zdCByZWNlbnQgY2FsbCBhcmUgc2F2ZWQgc28gdGhlXG4gICAgICAgIC8vIGRlYm91bmNlZCBmdW5jdGlvbiBjYW4gYmUgaW52b2tlZCB3aXRoIHRoZW0gbGF0ZXIuXG4gICAgICAgIGFyZ3MgPSBwYXNzZWRBcmdzO1xuICAgICAgICBjb250ZXh0ID0gdGhpcztcbiAgICAgICAgLy8gSW5zdGVhZCBvZiBjb25zdGFudGx5IGNsZWFyaW5nIGFuZCBzY2hlZHVsaW5nIGEgdGltZXIsIHdlIHJlY29yZCB0aGVcbiAgICAgICAgLy8gdGltZSBvZiB0aGUgbGFzdCBjYWxsLiBJZiBhIHNlY29uZCBjYWxsIGNvbWVzIGluIGJlZm9yZSB0aGUgdGltZXIgZmlyZXMsXG4gICAgICAgIC8vIHRoZW4gd2UnbGwgcmVzY2hlZHVsZSBpbiB0aGUgcnVuIGZ1bmN0aW9uLiBEb2luZyB0aGlzIGlzIGNvbnNpZGVyYWJseVxuICAgICAgICAvLyBmYXN0ZXIuXG4gICAgICAgIGxhc3RDYWxsID0gRGF0ZS5ub3coKTtcbiAgICAgICAgLy8gT25seSBzY2hlZHVsZSBhIG5ldyB0aW1lciBpZiB3ZSdyZSBub3QgY3VycmVudGx5IHdhaXRpbmcuXG4gICAgICAgIGlmICh0aW1lb3V0SWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgc3RhcnRUaW1lID0gbGFzdENhbGw7XG4gICAgICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KHJ1biwgbXMpO1xuICAgICAgICB9XG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/server/utils.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}": /*!********************************************************************************************************************************************************!*\ !*** ./node_modules/next/font/google/target.css?{"path":"app/layout.tsx","import":"Inter","arguments":[{"subsets":["latin"]}],"variableName":"inter"} ***! \********************************************************************************************************************************************************/ /***/ ((module) => { eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'__Inter_36bd41', '__Inter_Fallback_36bd41'\",\"fontStyle\":\"normal\"},\n\t\"className\": \"__className_36bd41\"\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcInBhdGhcIjpcImFwcC9sYXlvdXQudHN4XCIsXCJpbXBvcnRcIjpcIkludGVyXCIsXCJhcmd1bWVudHNcIjpbe1wic3Vic2V0c1wiOltcImxhdGluXCJdfV0sXCJ2YXJpYWJsZU5hbWVcIjpcImludGVyXCJ9IiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxXQUFXLGdGQUFnRjtBQUMzRjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2ZvbnQvZ29vZ2xlL3RhcmdldC5jc3M/ZGFkYiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBFeHBvcnRzXG5tb2R1bGUuZXhwb3J0cyA9IHtcblx0XCJzdHlsZVwiOiB7XCJmb250RmFtaWx5XCI6XCInX19JbnRlcl8zNmJkNDEnLCAnX19JbnRlcl9GYWxsYmFja18zNmJkNDEnXCIsXCJmb250U3R5bGVcIjpcIm5vcm1hbFwifSxcblx0XCJjbGFzc05hbWVcIjogXCJfX2NsYXNzTmFtZV8zNmJkNDFcIlxufTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/api/image.js": /*!*********************************************!*\ !*** ./node_modules/next/dist/api/image.js ***! \*********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../shared/lib/image-external */ \"(ssr)/./node_modules/next/dist/shared/lib/image-external.js\");\n/* harmony import */ var _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _shared_lib_image_external__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n //# sourceMappingURL=image.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9pbWFnZS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBdUQ7QUFDVixDQUU3QyxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9hcGkvaW1hZ2UuanM/ZDEwMSJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBkZWZhdWx0IH0gZnJvbSBcIi4uL3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWxcIjtcbmV4cG9ydCAqIGZyb20gXCIuLi9zaGFyZWQvbGliL2ltYWdlLWV4dGVybmFsXCI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLmpzLm1hcCJdLCJuYW1lcyI6WyJkZWZhdWx0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/image.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/api/link.js": /*!********************************************!*\ !*** ./node_modules/next/dist/api/link.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(ssr)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWLENBRS9CLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzPzEzMGQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuLi9jbGllbnQvbGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpbmsuanMubWFwIl0sIm5hbWVzIjpbImRlZmF1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/link.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/api/navigation.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/api/navigation.js ***! \**************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9uYXZpZ2F0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFnRCxDQUVoRCxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9hcGkvbmF2aWdhdGlvbi5qcz8xZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuLi9jbGllbnQvY29tcG9uZW50cy9uYXZpZ2F0aW9uXCI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5hdmlnYXRpb24uanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/navigation.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/add-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/add-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZIQUE0QztBQUMzRSxNQUFNQywwQkFBMEJELG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNRSxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNMLFlBQVlRLElBQUksRUFBRUMsUUFBUTtJQUMvQixPQUFPLENBQUMsR0FBR04sd0JBQXdCTywwQkFBMEIsRUFBRUwsTUFBdURJLEdBQUdELENBQUlBLEdBQUcsQ0FBQyxHQUFHUCxlQUFlVyxhQUFhLEVBQUVKLE1BQU1KO0FBQzVLO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQm9CLE9BQU9wQixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1iYXNlLXBhdGguanM/NjEzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZEJhc2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRCYXNlUGF0aDtcbiAgICB9XG59KTtcbmNvbnN0IF9hZGRwYXRocHJlZml4ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmVudi5fX05FWFRfUk9VVEVSX0JBU0VQQVRIIHx8IFwiXCI7XG5mdW5jdGlvbiBhZGRCYXNlUGF0aChwYXRoLCByZXF1aXJlZCkge1xuICAgIHJldHVybiAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCAmJiAhcmVxdWlyZWQgPyBwYXRoIDogKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGgsIGJhc2VQYXRoKSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZEJhc2VQYXRoIiwiX2FkZHBhdGhwcmVmaXgiLCJyZXF1aXJlIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInJlcXVpcmVkIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJhZGRQYXRoUHJlZml4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/add-locale.js": /*!*****************************************************!*\ !*** ./node_modules/next/dist/client/add-locale.js ***! \*****************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywwQkFBMEJDLG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNRixZQUFZLFNBQVNHLElBQUk7SUFDM0IsSUFBSSxJQUFJQyxPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLE9BQU8sSUFBSUMsTUFBTUosT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUssT0FBTyxHQUFHQSxPQUFPTCxNQUFNSyxPQUFPO1FBQ3RHRixJQUFJLENBQUNFLE9BQU8sRUFBRSxHQUFHSixTQUFTLENBQUNJLEtBQUs7SUFDcEM7SUFDQSxJQUFJQyxLQUErQixFQUFFLEVBRXBDO0lBQ0QsT0FBT1A7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPUCxRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzP2UyZDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhZGRMb2NhbGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZExvY2FsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgYWRkTG9jYWxlID0gZnVuY3Rpb24ocGF0aCkge1xuICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICByZXR1cm4gKDAsIF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoLm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoKShyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLWxvY2FsZVwiKS5hZGRMb2NhbGUocGF0aCwgLi4uYXJncykpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZExvY2FsZSIsIl9ub3JtYWxpemV0cmFpbGluZ3NsYXNoIiwicmVxdWlyZSIsInBhdGgiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-locale.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/app-call-server.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/client/app-call-server.js ***! \**********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _approuter = __webpack_require__(/*! ./components/app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nasync function callServer(actionId, actionArgs) {\n const actionDispatcher = (0, _approuter.getServerActionDispatcher)();\n if (!actionDispatcher) {\n throw new Error(\"Invariant: missing action dispatcher.\");\n }\n return new Promise((resolve, reject)=>{\n actionDispatcher({\n actionId,\n actionArgs,\n resolve,\n reject\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-call-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhDQUE2QztJQUN6Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGFBQWFDLG1CQUFPQSxDQUFDLCtGQUF5QjtBQUNwRCxlQUFlRixXQUFXRyxRQUFRLEVBQUVDLFVBQVU7SUFDMUMsTUFBTUMsbUJBQW1CLENBQUMsR0FBR0osV0FBV0sseUJBQXlCO0lBQ2pFLElBQUksQ0FBQ0Qsa0JBQWtCO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNwQjtJQUNBLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUN6QkwsaUJBQWlCO1lBQ2JGO1lBQ0FDO1lBQ0FLO1lBQ0FDO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9kLFFBQVFlLE9BQU8sS0FBSyxjQUFlLE9BQU9mLFFBQVFlLE9BQU8sS0FBSyxZQUFZZixRQUFRZSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9mLFFBQVFlLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktsQixPQUFPQyxjQUFjLENBQUNDLFFBQVFlLE9BQU8sRUFBRSxjQUFjO1FBQUVkLE9BQU87SUFBSztJQUNuRUgsT0FBT21CLE1BQU0sQ0FBQ2pCLFFBQVFlLE9BQU8sRUFBRWY7SUFDL0JrQixPQUFPbEIsT0FBTyxHQUFHQSxRQUFRZSxPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FwcC1jYWxsLXNlcnZlci5qcz9mM2YyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY2FsbFNlcnZlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY2FsbFNlcnZlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi9jb21wb25lbnRzL2FwcC1yb3V0ZXJcIik7XG5hc3luYyBmdW5jdGlvbiBjYWxsU2VydmVyKGFjdGlvbklkLCBhY3Rpb25BcmdzKSB7XG4gICAgY29uc3QgYWN0aW9uRGlzcGF0Y2hlciA9ICgwLCBfYXBwcm91dGVyLmdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXIpKCk7XG4gICAgaWYgKCFhY3Rpb25EaXNwYXRjaGVyKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogbWlzc2luZyBhY3Rpb24gZGlzcGF0Y2hlci5cIik7XG4gICAgfVxuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICBhY3Rpb25EaXNwYXRjaGVyKHtcbiAgICAgICAgICAgIGFjdGlvbklkLFxuICAgICAgICAgICAgYWN0aW9uQXJncyxcbiAgICAgICAgICAgIHJlc29sdmUsXG4gICAgICAgICAgICByZWplY3RcbiAgICAgICAgfSk7XG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1jYWxsLXNlcnZlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY2FsbFNlcnZlciIsIl9hcHByb3V0ZXIiLCJyZXF1aXJlIiwiYWN0aW9uSWQiLCJhY3Rpb25BcmdzIiwiYWN0aW9uRGlzcGF0Y2hlciIsImdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJFcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-call-server.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst ANNOUNCER_TYPE = \"next-route-announcer\";\nconst ANNOUNCER_ID = \"__next-route-announcer__\";\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = \"position:absolute\";\n const announcer = document.createElement(\"div\");\n announcer.ariaLive = \"assertive\";\n announcer.id = ANNOUNCER_ID;\n announcer.role = \"alert\";\n announcer.style.cssText = \"position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal\";\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: \"open\"\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(\"\");\n const previousTitle = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n let currentTitle = \"\";\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector(\"h1\");\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || \"\";\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-announcer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItYW5ub3VuY2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixNQUFNQyxZQUFZRCxtQkFBT0EsQ0FBQyxnSEFBVztBQUNyQyxNQUFNRSxpQkFBaUI7QUFDdkIsTUFBTUMsZUFBZTtBQUNyQixTQUFTQztJQUNMLElBQUlDO0lBQ0osTUFBTUMsb0JBQW9CQyxTQUFTQyxpQkFBaUIsQ0FBQ04sZUFBZSxDQUFDLEVBQUU7SUFDdkUsSUFBSUkscUJBQXFCLE9BQU8sS0FBSyxJQUFJLENBQUNELGdDQUFnQ0Msa0JBQWtCRyxVQUFVLEtBQUssT0FBTyxLQUFLLElBQUlKLDhCQUE4QkssVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUNwSyxPQUFPSixrQkFBa0JHLFVBQVUsQ0FBQ0MsVUFBVSxDQUFDLEVBQUU7SUFDckQsT0FBTztRQUNILE1BQU1DLFlBQVlKLFNBQVNLLGFBQWEsQ0FBQ1Y7UUFDekNTLFVBQVVFLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzFCLE1BQU1DLFlBQVlSLFNBQVNLLGFBQWEsQ0FBQztRQUN6Q0csVUFBVUMsUUFBUSxHQUFHO1FBQ3JCRCxVQUFVRSxFQUFFLEdBQUdkO1FBQ2ZZLFVBQVVHLElBQUksR0FBRztRQUNqQkgsVUFBVUYsS0FBSyxDQUFDQyxPQUFPLEdBQUc7UUFDMUIsdURBQXVEO1FBQ3ZELE1BQU1LLFNBQVNSLFVBQVVTLFlBQVksQ0FBQztZQUNsQ0MsTUFBTTtRQUNWO1FBQ0FGLE9BQU9HLFdBQVcsQ0FBQ1A7UUFDbkJSLFNBQVNnQixJQUFJLENBQUNELFdBQVcsQ0FBQ1g7UUFDMUIsT0FBT0k7SUFDWDtBQUNKO0FBQ0EsU0FBU2pCLG1CQUFtQjBCLEtBQUs7SUFDN0IsSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBR0Q7SUFDZixNQUFNLENBQUNFLFlBQVlDLGNBQWMsR0FBRyxDQUFDLEdBQUc1QixPQUFPNkIsUUFBUSxFQUFFO0lBQ3hELElBQUc3QixPQUFPOEIsU0FBUyxFQUFFO1FBQ2xCLE1BQU1kLFlBQVlYO1FBQ2xCdUIsY0FBY1o7UUFDZCxPQUFPO1lBQ0gsTUFBTUosWUFBWUosU0FBU3VCLG9CQUFvQixDQUFDNUIsZUFBZSxDQUFDLEVBQUU7WUFDbEUsSUFBSVMsYUFBYSxPQUFPLEtBQUssSUFBSUEsVUFBVW9CLFdBQVcsRUFBRTtnQkFDcER4QixTQUFTZ0IsSUFBSSxDQUFDUyxXQUFXLENBQUNyQjtZQUM5QjtRQUNKO0lBQ0osR0FBRyxFQUFFO0lBQ0wsTUFBTSxDQUFDc0IsbUJBQW1CQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUduQyxPQUFPNkIsUUFBUSxFQUFFO0lBQ3ZFLE1BQU1PLGdCQUFnQixDQUFDLEdBQUdwQyxPQUFPcUMsTUFBTTtJQUN0QyxJQUFHckMsT0FBTzhCLFNBQVMsRUFBRTtRQUNsQixJQUFJUSxlQUFlO1FBQ25CLElBQUk5QixTQUFTK0IsS0FBSyxFQUFFO1lBQ2hCRCxlQUFlOUIsU0FBUytCLEtBQUs7UUFDakMsT0FBTztZQUNILE1BQU1DLGFBQWFoQyxTQUFTaUMsYUFBYSxDQUFDO1lBQzFDLElBQUlELFlBQVk7Z0JBQ1pGLGVBQWVFLFdBQVdFLFNBQVMsSUFBSUYsV0FBV0csV0FBVyxJQUFJO1lBQ3JFO1FBQ0o7UUFDQSw0RUFBNEU7UUFDNUUsaUNBQWlDO1FBQ2pDLElBQUlQLGNBQWNRLE9BQU8sS0FBS0MsYUFBYVQsY0FBY1EsT0FBTyxLQUFLTixjQUFjO1lBQy9FSCxxQkFBcUJHO1FBQ3pCO1FBQ0FGLGNBQWNRLE9BQU8sR0FBR047SUFDNUIsR0FBRztRQUNDWjtLQUNIO0lBQ0QsT0FBT0MsYUFBMkIsV0FBSCxHQUFJLElBQUd6QixVQUFVNEMsWUFBWSxFQUFFWixtQkFBbUJQLGNBQWM7QUFDbkc7QUFFQSxJQUFJLENBQUMsT0FBT2hDLFFBQVFvRCxPQUFPLEtBQUssY0FBZSxPQUFPcEQsUUFBUW9ELE9BQU8sS0FBSyxZQUFZcEQsUUFBUW9ELE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BELFFBQVFvRCxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdkQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRb0QsT0FBTyxFQUFFLGNBQWM7UUFBRW5ELE9BQU87SUFBSztJQUNuRUgsT0FBT3dELE1BQU0sQ0FBQ3RELFFBQVFvRCxPQUFPLEVBQUVwRDtJQUMvQnVELE9BQU92RCxPQUFPLEdBQUdBLFFBQVFvRCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1hbm5vdW5jZXIuanM/NmUwMiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkFwcFJvdXRlckFubm91bmNlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQXBwUm91dGVyQW5ub3VuY2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuY29uc3QgX3JlYWN0ZG9tID0gcmVxdWlyZShcInJlYWN0LWRvbVwiKTtcbmNvbnN0IEFOTk9VTkNFUl9UWVBFID0gXCJuZXh0LXJvdXRlLWFubm91bmNlclwiO1xuY29uc3QgQU5OT1VOQ0VSX0lEID0gXCJfX25leHQtcm91dGUtYW5ub3VuY2VyX19cIjtcbmZ1bmN0aW9uIGdldEFubm91bmNlck5vZGUoKSB7XG4gICAgdmFyIF9leGlzdGluZ0Fubm91bmNlcl9zaGFkb3dSb290O1xuICAgIGNvbnN0IGV4aXN0aW5nQW5ub3VuY2VyID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeU5hbWUoQU5OT1VOQ0VSX1RZUEUpWzBdO1xuICAgIGlmIChleGlzdGluZ0Fubm91bmNlciA9PSBudWxsID8gdm9pZCAwIDogKF9leGlzdGluZ0Fubm91bmNlcl9zaGFkb3dSb290ID0gZXhpc3RpbmdBbm5vdW5jZXIuc2hhZG93Um9vdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9leGlzdGluZ0Fubm91bmNlcl9zaGFkb3dSb290LmNoaWxkTm9kZXNbMF0pIHtcbiAgICAgICAgcmV0dXJuIGV4aXN0aW5nQW5ub3VuY2VyLnNoYWRvd1Jvb3QuY2hpbGROb2Rlc1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KEFOTk9VTkNFUl9UWVBFKTtcbiAgICAgICAgY29udGFpbmVyLnN0eWxlLmNzc1RleHQgPSBcInBvc2l0aW9uOmFic29sdXRlXCI7XG4gICAgICAgIGNvbnN0IGFubm91bmNlciA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgICAgIGFubm91bmNlci5hcmlhTGl2ZSA9IFwiYXNzZXJ0aXZlXCI7XG4gICAgICAgIGFubm91bmNlci5pZCA9IEFOTk9VTkNFUl9JRDtcbiAgICAgICAgYW5ub3VuY2VyLnJvbGUgPSBcImFsZXJ0XCI7XG4gICAgICAgIGFubm91bmNlci5zdHlsZS5jc3NUZXh0ID0gXCJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAgMCAwIDApO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbFwiO1xuICAgICAgICAvLyBVc2Ugc2hhZG93IERPTSBoZXJlIHRvIGF2b2lkIGFueSBwb3RlbnRpYWwgQ1NTIGJsZWVkXG4gICAgICAgIGNvbnN0IHNoYWRvdyA9IGNvbnRhaW5lci5hdHRhY2hTaGFkb3coe1xuICAgICAgICAgICAgbW9kZTogXCJvcGVuXCJcbiAgICAgICAgfSk7XG4gICAgICAgIHNoYWRvdy5hcHBlbmRDaGlsZChhbm5vdW5jZXIpO1xuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XG4gICAgICAgIHJldHVybiBhbm5vdW5jZXI7XG4gICAgfVxufVxuZnVuY3Rpb24gQXBwUm91dGVyQW5ub3VuY2VyKHBhcmFtKSB7XG4gICAgbGV0IHsgdHJlZSB9ID0gcGFyYW07XG4gICAgY29uc3QgW3BvcnRhbE5vZGUsIHNldFBvcnRhbE5vZGVdID0gKDAsIF9yZWFjdC51c2VTdGF0ZSkobnVsbCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGNvbnN0IGFubm91bmNlciA9IGdldEFubm91bmNlck5vZGUoKTtcbiAgICAgICAgc2V0UG9ydGFsTm9kZShhbm5vdW5jZXIpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKEFOTk9VTkNFUl9UWVBFKVswXTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXIgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbnRhaW5lci5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgW3JvdXRlQW5ub3VuY2VtZW50LCBzZXRSb3V0ZUFubm91bmNlbWVudF0gPSAoMCwgX3JlYWN0LnVzZVN0YXRlKShcIlwiKTtcbiAgICBjb25zdCBwcmV2aW91c1RpdGxlID0gKDAsIF9yZWFjdC51c2VSZWYpKCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGxldCBjdXJyZW50VGl0bGUgPSBcIlwiO1xuICAgICAgICBpZiAoZG9jdW1lbnQudGl0bGUpIHtcbiAgICAgICAgICAgIGN1cnJlbnRUaXRsZSA9IGRvY3VtZW50LnRpdGxlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGFnZUhlYWRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJoMVwiKTtcbiAgICAgICAgICAgIGlmIChwYWdlSGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgY3VycmVudFRpdGxlID0gcGFnZUhlYWRlci5pbm5lclRleHQgfHwgcGFnZUhlYWRlci50ZXh0Q29udGVudCB8fCBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIE9ubHkgYW5ub3VuY2UgdGhlIHRpdGxlIGNoYW5nZSwgYnV0IG5vdCBmb3IgdGhlIGZpcnN0IGxvYWQgYmVjYXVzZSBzY3JlZW5cbiAgICAgICAgLy8gcmVhZGVycyBkbyB0aGF0IGF1dG9tYXRpY2FsbHkuXG4gICAgICAgIGlmIChwcmV2aW91c1RpdGxlLmN1cnJlbnQgIT09IHVuZGVmaW5lZCAmJiBwcmV2aW91c1RpdGxlLmN1cnJlbnQgIT09IGN1cnJlbnRUaXRsZSkge1xuICAgICAgICAgICAgc2V0Um91dGVBbm5vdW5jZW1lbnQoY3VycmVudFRpdGxlKTtcbiAgICAgICAgfVxuICAgICAgICBwcmV2aW91c1RpdGxlLmN1cnJlbnQgPSBjdXJyZW50VGl0bGU7XG4gICAgfSwgW1xuICAgICAgICB0cmVlXG4gICAgXSk7XG4gICAgcmV0dXJuIHBvcnRhbE5vZGUgPyAvKiNfX1BVUkVfXyovICgwLCBfcmVhY3Rkb20uY3JlYXRlUG9ydGFsKShyb3V0ZUFubm91bmNlbWVudCwgcG9ydGFsTm9kZSkgOiBudWxsO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLWFubm91bmNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQXBwUm91dGVyQW5ub3VuY2VyIiwiX3JlYWN0IiwicmVxdWlyZSIsIl9yZWFjdGRvbSIsIkFOTk9VTkNFUl9UWVBFIiwiQU5OT1VOQ0VSX0lEIiwiZ2V0QW5ub3VuY2VyTm9kZSIsIl9leGlzdGluZ0Fubm91bmNlcl9zaGFkb3dSb290IiwiZXhpc3RpbmdBbm5vdW5jZXIiLCJkb2N1bWVudCIsImdldEVsZW1lbnRzQnlOYW1lIiwic2hhZG93Um9vdCIsImNoaWxkTm9kZXMiLCJjb250YWluZXIiLCJjcmVhdGVFbGVtZW50Iiwic3R5bGUiLCJjc3NUZXh0IiwiYW5ub3VuY2VyIiwiYXJpYUxpdmUiLCJpZCIsInJvbGUiLCJzaGFkb3ciLCJhdHRhY2hTaGFkb3ciLCJtb2RlIiwiYXBwZW5kQ2hpbGQiLCJib2R5IiwicGFyYW0iLCJ0cmVlIiwicG9ydGFsTm9kZSIsInNldFBvcnRhbE5vZGUiLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsImdldEVsZW1lbnRzQnlUYWdOYW1lIiwiaXNDb25uZWN0ZWQiLCJyZW1vdmVDaGlsZCIsInJvdXRlQW5ub3VuY2VtZW50Iiwic2V0Um91dGVBbm5vdW5jZW1lbnQiLCJwcmV2aW91c1RpdGxlIiwidXNlUmVmIiwiY3VycmVudFRpdGxlIiwidGl0bGUiLCJwYWdlSGVhZGVyIiwicXVlcnlTZWxlY3RvciIsImlubmVyVGV4dCIsInRleHRDb250ZW50IiwiY3VycmVudCIsInVuZGVmaW5lZCIsImNyZWF0ZVBvcnRhbCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router-headers.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! \************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RSC_HEADER: function() {\n return RSC_HEADER;\n },\n ACTION: function() {\n return ACTION;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_VARY_HEADER: function() {\n return RSC_VARY_HEADER;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst RSC_VARY_HEADER = RSC_HEADER + \", \" + NEXT_ROUTER_STATE_TREE + \", \" + NEXT_ROUTER_PREFETCH_HEADER + \", \" + NEXT_URL;\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVdOO0FBQ0EsU0FBU1csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWpCLE9BQU9DLGNBQWMsQ0FBQ2UsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRYixTQUFTO0lBQ2JHLFlBQVk7UUFDUixPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVQsYUFBYTtBQUNuQixNQUFNQyxTQUFTO0FBQ2YsTUFBTUMseUJBQXlCO0FBQy9CLE1BQU1DLDhCQUE4QjtBQUNwQyxNQUFNQyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUNoQyxNQUFNQyxrQkFBa0JOLGFBQWEsT0FBT0UseUJBQXlCLE9BQU9DLDhCQUE4QixPQUFPQztBQUNqSCxNQUFNRyxvQkFBb0I7SUFDdEI7UUFDSVA7S0FDSDtJQUNEO1FBQ0lFO0tBQ0g7SUFDRDtRQUNJQztLQUNIO0NBQ0o7QUFDRCxNQUFNSyx1QkFBdUI7QUFDN0IsTUFBTUMsMkJBQTJCO0FBRWpDLElBQUksQ0FBQyxPQUFPWixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW1CLE9BQU87QUFDbEMsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnMuanM/MzU2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJTQ19IRUFERVI6IG51bGwsXG4gICAgQUNUSU9OOiBudWxsLFxuICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUU6IG51bGwsXG4gICAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfVVJMOiBudWxsLFxuICAgIFJTQ19DT05URU5UX1RZUEVfSEVBREVSOiBudWxsLFxuICAgIFJTQ19WQVJZX0hFQURFUjogbnVsbCxcbiAgICBGTElHSFRfUEFSQU1FVEVSUzogbnVsbCxcbiAgICBORVhUX1JTQ19VTklPTl9RVUVSWTogbnVsbCxcbiAgICBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUlNDX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfSEVBREVSO1xuICAgIH0sXG4gICAgQUNUSU9OOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTjtcbiAgICB9LFxuICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9ST1VURVJfU1RBVEVfVFJFRTtcbiAgICB9LFxuICAgIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX1VSTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1VSTDtcbiAgICB9LFxuICAgIFJTQ19DT05URU5UX1RZUEVfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19DT05URU5UX1RZUEVfSEVBREVSO1xuICAgIH0sXG4gICAgUlNDX1ZBUllfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19WQVJZX0hFQURFUjtcbiAgICB9LFxuICAgIEZMSUdIVF9QQVJBTUVURVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEZMSUdIVF9QQVJBTUVURVJTO1xuICAgIH0sXG4gICAgTkVYVF9SU0NfVU5JT05fUVVFUlk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9SU0NfVU5JT05fUVVFUlk7XG4gICAgfSxcbiAgICBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSO1xuICAgIH1cbn0pO1xuY29uc3QgUlNDX0hFQURFUiA9IFwiUlNDXCI7XG5jb25zdCBBQ1RJT04gPSBcIk5leHQtQWN0aW9uXCI7XG5jb25zdCBORVhUX1JPVVRFUl9TVEFURV9UUkVFID0gXCJOZXh0LVJvdXRlci1TdGF0ZS1UcmVlXCI7XG5jb25zdCBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIgPSBcIk5leHQtUm91dGVyLVByZWZldGNoXCI7XG5jb25zdCBORVhUX1VSTCA9IFwiTmV4dC1VcmxcIjtcbmNvbnN0IFJTQ19DT05URU5UX1RZUEVfSEVBREVSID0gXCJ0ZXh0L3gtY29tcG9uZW50XCI7XG5jb25zdCBSU0NfVkFSWV9IRUFERVIgPSBSU0NfSEVBREVSICsgXCIsIFwiICsgTkVYVF9ST1VURVJfU1RBVEVfVFJFRSArIFwiLCBcIiArIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiArIFwiLCBcIiArIE5FWFRfVVJMO1xuY29uc3QgRkxJR0hUX1BBUkFNRVRFUlMgPSBbXG4gICAgW1xuICAgICAgICBSU0NfSEVBREVSXG4gICAgXSxcbiAgICBbXG4gICAgICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUVcbiAgICBdLFxuICAgIFtcbiAgICAgICAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXG4gICAgXVxuXTtcbmNvbnN0IE5FWFRfUlNDX1VOSU9OX1FVRVJZID0gXCJfcnNjXCI7XG5jb25zdCBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIgPSBcIngtbmV4dGpzLXBvc3Rwb25lZFwiO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLWhlYWRlcnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUlNDX0hFQURFUiIsIkFDVElPTiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1VSTCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiUlNDX1ZBUllfSEVBREVSIiwiRkxJR0hUX1BBUkFNRVRFUlMiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n },\n createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n default: function() {\n return AppRouter;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _infinitepromise = __webpack_require__(/*! ./infinite-promise */ \"(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\");\nconst _approuterheaders = __webpack_require__(/*! ./app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(ssr)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst isServer = \"undefined\" === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nconst globalMutable = {};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync(appRouterState);\n }, [\n appRouterState,\n sync\n ]);\n return null;\n}\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n };\n}\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\n * Server response that only patches the cache and tree.\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((previousTree, flightData, overrideCanonicalUrl)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n flightData,\n previousTree,\n overrideCanonicalUrl\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType\n });\n }, [\n dispatch\n ]);\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `head`.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, assetPrefix, missingSlots } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialParallelRoutes,\n isServer,\n location: !isServer ? window.location : null,\n initialHead\n }), [\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialHead\n ]);\n const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, true ? \"http://n\" : 0);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n // Don't prefetch during development (improves compilation performance)\n if ((0, _isbot.isBot)(window.navigator.userAgent) || \"development\" === \"development\") {\n return;\n }\n const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n // @ts-ignore we don't want to expose this method at all\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in <Offscreen>. At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n const href = window.location.href;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // @ts-ignore useTransition exists\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n dispatch\n ]);\n const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n if (false) {}\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n children: content\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),\n sync: sync\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl\n },\n children: content\n })\n })\n })\n })\n })\n ]\n });\n}\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n ...rest\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBS047QUFDQSxTQUFTSyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWCxPQUFPQyxjQUFjLENBQUNTLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVAsU0FBUztJQUNiRywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT087SUFDWDtBQUNKO0FBQ0EsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksaUNBQWlDSixtQkFBT0EsQ0FBQyx1S0FBb0Q7QUFDbkcsTUFBTUssc0JBQXNCTCxtQkFBT0EsQ0FBQyxzSUFBdUM7QUFDM0UsTUFBTU0scUJBQXFCTixtQkFBT0EsQ0FBQyxzSUFBdUM7QUFDMUUsTUFBTU8sbUNBQW1DUCxtQkFBT0EsQ0FBQywyS0FBc0Q7QUFDdkcsTUFBTVEsMEJBQTBCUixtQkFBT0EsQ0FBQyxrSEFBNkI7QUFDckUsTUFBTVMsaUJBQWlCVCxtQkFBT0EsQ0FBQyw0RkFBa0I7QUFDakQsTUFBTVUsNEJBQTRCVixtQkFBT0EsQ0FBQyxvSkFBOEM7QUFDeEYsTUFBTVcsU0FBU1gsbUJBQU9BLENBQUMsOEdBQXNDO0FBQzdE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QSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzPzQxNTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcjogbnVsbCxcbiAgICB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI6IG51bGwsXG4gICAgY3JlYXRlRW1wdHlDYWNoZU5vZGU6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXI7XG4gICAgfSxcbiAgICB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyO1xuICAgIH0sXG4gICAgY3JlYXRlRW1wdHlDYWNoZU5vZGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlRW1wdHlDYWNoZU5vZGU7XG4gICAgfSxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzID0gcmVxdWlyZShcIi4vdXNlLXJlZHVjZXItd2l0aC1kZXZ0b29sc1wiKTtcbmNvbnN0IF9lcnJvcmJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZXJyb3ItYm91bmRhcnlcIik7XG5jb25zdCBfY3JlYXRlaW5pdGlhbHJvdXRlcnN0YXRlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlXCIpO1xuY29uc3QgX2lzYm90ID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdFwiKTtcbmNvbnN0IF9hZGRiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi9hZGQtYmFzZS1wYXRoXCIpO1xuY29uc3QgX2FwcHJvdXRlcmFubm91bmNlciA9IHJlcXVpcmUoXCIuL2FwcC1yb3V0ZXItYW5ub3VuY2VyXCIpO1xuY29uc3QgX3JlZGlyZWN0Ym91bmRhcnkgPSByZXF1aXJlKFwiLi9yZWRpcmVjdC1ib3VuZGFyeVwiKTtcbmNvbnN0IF9maW5kaGVhZGluY2FjaGUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9maW5kLWhlYWQtaW4tY2FjaGVcIik7XG5jb25zdCBfaW5maW5pdGVwcm9taXNlID0gcmVxdWlyZShcIi4vaW5maW5pdGUtcHJvbWlzZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXJoZWFkZXJzID0gcmVxdWlyZShcIi4vYXBwLXJvdXRlci1oZWFkZXJzXCIpO1xuY29uc3QgX3JlbW92ZWJhc2VwYXRoID0gcmVxdWlyZShcIi4uL3JlbW92ZS1iYXNlLXBhdGhcIik7XG5jb25zdCBfaGFzYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vaGFzLWJhc2UtcGF0aFwiKTtcbmNvbnN0IGlzU2VydmVyID0gdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIjtcbi8vIEVuc3VyZSB0aGUgaW5pdGlhbFBhcmFsbGVsUm91dGVzIGFyZSBub3QgY29tYmluZWQgYmVjYXVzZSBvZiBkb3VibGUtcmVuZGVyaW5nIGluIHRoZSBicm93c2VyIHdpdGggU3RyaWN0IE1vZGUuXG5sZXQgaW5pdGlhbFBhcmFsbGVsUm91dGVzID0gaXNTZXJ2ZXIgPyBudWxsIDogbmV3IE1hcCgpO1xubGV0IGdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIgPSBudWxsO1xuZnVuY3Rpb24gZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcigpIHtcbiAgICByZXR1cm4gZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlcjtcbn1cbmNvbnN0IGdsb2JhbE11dGFibGUgPSB7fTtcbmZ1bmN0aW9uIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcih1cmwpIHtcbiAgICBjb25zdCB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycyA9IG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pO1xuICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnNlYXJjaFBhcmFtcy5kZWxldGUoX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9SU0NfVU5JT05fUVVFUlkpO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSBcImV4cG9ydFwiICYmIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lLmVuZHNXaXRoKFwiLnR4dFwiKSkge1xuICAgICAgICAgICAgY29uc3QgeyBwYXRobmFtZSB9ID0gdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnM7XG4gICAgICAgICAgICBjb25zdCBsZW5ndGggPSBwYXRobmFtZS5lbmRzV2l0aChcIi9pbmRleC50eHRcIikgPyAxMCA6IDQ7XG4gICAgICAgICAgICAvLyBTbGljZSBvZmYgYC9pbmRleC50eHRgIG9yIGAudHh0YCBmcm9tIHRoZSBlbmQgb2YgdGhlIHBhdGhuYW1lXG4gICAgICAgICAgICB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycy5wYXRobmFtZSA9IHBhdGhuYW1lLnNsaWNlKDAsIC1sZW5ndGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycztcbn1cbmZ1bmN0aW9uIGlzRXh0ZXJuYWxVUkwodXJsKSB7XG4gICAgcmV0dXJuIHVybC5vcmlnaW4gIT09IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG59XG5mdW5jdGlvbiBIaXN0b3J5VXBkYXRlcihwYXJhbSkge1xuICAgIGxldCB7IGFwcFJvdXRlclN0YXRlLCBzeW5jIH0gPSBwYXJhbTtcbiAgICAoMCwgX3JlYWN0LnVzZUluc2VydGlvbkVmZmVjdCkoKCk9PntcbiAgICAgICAgY29uc3QgeyB0cmVlLCBwdXNoUmVmLCBjYW5vbmljYWxVcmwgfSA9IGFwcFJvdXRlclN0YXRlO1xuICAgICAgICBjb25zdCBoaXN0b3J5U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlID8gd2luZG93Lmhpc3Rvcnkuc3RhdGUgOiB7fSxcbiAgICAgICAgICAgIC8vIElkZW50aWZpZXIgaXMgc2hvcnRlbmVkIGludGVudGlvbmFsbHkuXG4gICAgICAgICAgICAvLyBfX05BIGlzIHVzZWQgdG8gaWRlbnRpZnkgaWYgdGhlIGhpc3RvcnkgZW50cnkgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGFwcC1yb3V0ZXIuXG4gICAgICAgICAgICAvLyBfX04gaXMgdXNlZCB0byBpZGVudGlmeSBpZiB0aGUgaGlzdG9yeSBlbnRyeSBjYW4gYmUgaGFuZGxlZCBieSB0aGUgb2xkIHJvdXRlci5cbiAgICAgICAgICAgIF9fTkE6IHRydWUsXG4gICAgICAgICAgICBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFOiB0cmVlXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwdXNoUmVmLnBlbmRpbmdQdXNoICYmIC8vIFNraXAgcHVzaGluZyBhbiBhZGRpdGlvbmFsIGhpc3RvcnkgZW50cnkgaWYgdGhlIGNhbm9uaWNhbFVybCBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCB1cmwuXG4gICAgICAgIC8vIFRoaXMgbWlycm9ycyB0aGUgYnJvd3NlciBiZWhhdmlvciBmb3Igbm9ybWFsIG5hdmlnYXRpb24uXG4gICAgICAgICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSAhPT0gY2Fub25pY2FsVXJsKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGludGVudGlvbmFsbHkgbXV0YXRlcyBSZWFjdCBzdGF0ZSwgcHVzaFJlZiBpcyBvdmVyd3JpdHRlbiB0byBlbnN1cmUgYWRkaXRpb25hbCBwdXNoL3JlcGxhY2UgY2FsbHMgZG8gbm90IHRyaWdnZXIgYW4gYWRkaXRpb25hbCBoaXN0b3J5IGVudHJ5LlxuICAgICAgICAgICAgcHVzaFJlZi5wZW5kaW5nUHVzaCA9IGZhbHNlO1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKGhpc3RvcnlTdGF0ZSwgXCJcIiwgY2Fub25pY2FsVXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShoaXN0b3J5U3RhdGUsIFwiXCIsIGNhbm9uaWNhbFVybCk7XG4gICAgICAgIH1cbiAgICAgICAgc3luYyhhcHBSb3V0ZXJTdGF0ZSk7XG4gICAgfSwgW1xuICAgICAgICBhcHBSb3V0ZXJTdGF0ZSxcbiAgICAgICAgc3luY1xuICAgIF0pO1xuICAgIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY3JlYXRlRW1wdHlDYWNoZU5vZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcbiAgICB9O1xufVxuZnVuY3Rpb24gdXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlcihkaXNwYXRjaCkge1xuICAgIGNvbnN0IHNlcnZlckFjdGlvbkRpc3BhdGNoZXIgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoYWN0aW9uUGF5bG9hZCk9PntcbiAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgLi4uYWN0aW9uUGF5bG9hZCxcbiAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9TRVJWRVJfQUNUSU9OXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIGdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIgPSBzZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyO1xufVxuLyoqXG4gKiBTZXJ2ZXIgcmVzcG9uc2UgdGhhdCBvbmx5IHBhdGNoZXMgdGhlIGNhY2hlIGFuZCB0cmVlLlxuICovIGZ1bmN0aW9uIHVzZUNoYW5nZUJ5U2VydmVyUmVzcG9uc2UoZGlzcGF0Y2gpIHtcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKHByZXZpb3VzVHJlZSwgZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmwpPT57XG4gICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9QQVRDSCxcbiAgICAgICAgICAgICAgICBmbGlnaHREYXRhLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzVHJlZSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUNhbm9uaWNhbFVybFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbn1cbmZ1bmN0aW9uIHVzZU5hdmlnYXRlKGRpc3BhdGNoKSB7XG4gICAgcmV0dXJuICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChocmVmLCBuYXZpZ2F0ZVR5cGUsIHNob3VsZFNjcm9sbCk9PntcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShocmVmKSwgbG9jYXRpb24uaHJlZik7XG4gICAgICAgIHJldHVybiBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9OQVZJR0FURSxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGlzRXh0ZXJuYWxVcmw6IGlzRXh0ZXJuYWxVUkwodXJsKSxcbiAgICAgICAgICAgIGxvY2F0aW9uU2VhcmNoOiBsb2NhdGlvbi5zZWFyY2gsXG4gICAgICAgICAgICBzaG91bGRTY3JvbGw6IHNob3VsZFNjcm9sbCAhPSBudWxsID8gc2hvdWxkU2Nyb2xsIDogdHJ1ZSxcbiAgICAgICAgICAgIG5hdmlnYXRlVHlwZVxuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoXG4gICAgXSk7XG59XG5mdW5jdGlvbiBjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUoZGF0YSkge1xuICAgIGlmIChkYXRhID09IG51bGwpIGRhdGEgPSB7fTtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5zdGF0ZTtcbiAgICBjb25zdCBfX05BID0gY3VycmVudFN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBjdXJyZW50U3RhdGUuX19OQTtcbiAgICBpZiAoX19OQSkge1xuICAgICAgICBkYXRhLl9fTkEgPSBfX05BO1xuICAgIH1cbiAgICBjb25zdCBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFID0gY3VycmVudFN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBjdXJyZW50U3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTtcbiAgICBpZiAoX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSkge1xuICAgICAgICBkYXRhLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUgPSBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn1cbmZ1bmN0aW9uIEhlYWQocGFyYW0pIHtcbiAgICBsZXQgeyBoZWFkQ2FjaGVOb2RlIH0gPSBwYXJhbTtcbiAgICAvLyBJZiB0aGlzIHNlZ21lbnQgaGFzIGEgYHByZWZldGNoSGVhZGAsIGl0J3MgdGhlIHN0YXRpY2FsbHkgcHJlZmV0Y2hlZCBkYXRhLlxuICAgIC8vIFdlIHNob3VsZCB1c2UgdGhhdCBvbiBpbml0aWFsIHJlbmRlciBpbnN0ZWFkIG9mIGBoZWFkYC4gVGhlbiB3ZSdsbCBzd2l0Y2hcbiAgICAvLyB0byBgaGVhZGAgd2hlbiB0aGUgZHluYW1pYyByZXNwb25zZSBzdHJlYW1zIGluLlxuICAgIGNvbnN0IGhlYWQgPSBoZWFkQ2FjaGVOb2RlICE9PSBudWxsID8gaGVhZENhY2hlTm9kZS5oZWFkIDogbnVsbDtcbiAgICBjb25zdCBwcmVmZXRjaEhlYWQgPSBoZWFkQ2FjaGVOb2RlICE9PSBudWxsID8gaGVhZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQgOiBudWxsO1xuICAgIC8vIElmIG5vIHByZWZldGNoIGRhdGEgaXMgYXZhaWxhYmxlLCB0aGVuIHdlIGdvIHN0cmFpZ2h0IHRvIHJlbmRlcmluZyBgaGVhZGAuXG4gICAgY29uc3QgcmVzb2x2ZWRQcmVmZXRjaFJzYyA9IHByZWZldGNoSGVhZCAhPT0gbnVsbCA/IHByZWZldGNoSGVhZCA6IGhlYWQ7XG4gICAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gICAgLy8gZmluYWwgdmFsdWVzLiBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHJldHVybmVkIG9uIGluaXRpYWwgcmVuZGVyLCB0aGVuIGl0XG4gICAgLy8gcmUtcmVuZGVycyB3aXRoIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAgICAvL1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVGhlIHNlY29uZCBhcmd1bWVudCB0byBgdXNlRGVmZXJyZWRWYWx1ZWAgaXMgb25seVxuICAgIC8vIGF2YWlsYWJsZSBpbiB0aGUgZXhwZXJpbWVudGFsIGJ1aWxkcy4gV2hlbiBpdHMgZGlzYWJsZWQsIGl0IHdpbGwgYWx3YXlzXG4gICAgLy8gcmV0dXJuIGBoZWFkYC5cbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VEZWZlcnJlZFZhbHVlKShoZWFkLCByZXNvbHZlZFByZWZldGNoUnNjKTtcbn1cbi8qKlxuICogVGhlIGdsb2JhbCByb3V0ZXIgdGhhdCB3cmFwcyB0aGUgYXBwbGljYXRpb24gY29tcG9uZW50cy5cbiAqLyBmdW5jdGlvbiBSb3V0ZXIocGFyYW0pIHtcbiAgICBsZXQgeyBidWlsZElkLCBpbml0aWFsSGVhZCwgaW5pdGlhbFRyZWUsIGluaXRpYWxDYW5vbmljYWxVcmwsIGluaXRpYWxTZWVkRGF0YSwgYXNzZXRQcmVmaXgsIG1pc3NpbmdTbG90cyB9ID0gcGFyYW07XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+KDAsIF9jcmVhdGVpbml0aWFscm91dGVyc3RhdGUuY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlKSh7XG4gICAgICAgICAgICBidWlsZElkLFxuICAgICAgICAgICAgaW5pdGlhbFNlZWREYXRhLFxuICAgICAgICAgICAgaW5pdGlhbENhbm9uaWNhbFVybCxcbiAgICAgICAgICAgIGluaXRpYWxUcmVlLFxuICAgICAgICAgICAgaW5pdGlhbFBhcmFsbGVsUm91dGVzLFxuICAgICAgICAgICAgaXNTZXJ2ZXIsXG4gICAgICAgICAgICBsb2NhdGlvbjogIWlzU2VydmVyID8gd2luZG93LmxvY2F0aW9uIDogbnVsbCxcbiAgICAgICAgICAgIGluaXRpYWxIZWFkXG4gICAgICAgIH0pLCBbXG4gICAgICAgIGJ1aWxkSWQsXG4gICAgICAgIGluaXRpYWxTZWVkRGF0YSxcbiAgICAgICAgaW5pdGlhbENhbm9uaWNhbFVybCxcbiAgICAgICAgaW5pdGlhbFRyZWUsXG4gICAgICAgIGluaXRpYWxIZWFkXG4gICAgXSk7XG4gICAgY29uc3QgW3JlZHVjZXJTdGF0ZSwgZGlzcGF0Y2gsIHN5bmNdID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scykoaW5pdGlhbFN0YXRlKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gRW5zdXJlIGluaXRpYWxQYXJhbGxlbFJvdXRlcyBpcyBjbGVhbmVkIHVwIGZyb20gbWVtb3J5IG9uY2UgaXQncyB1c2VkLlxuICAgICAgICBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgPSBudWxsO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCB7IGNhbm9uaWNhbFVybCB9ID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVVud3JhcFN0YXRlKShyZWR1Y2VyU3RhdGUpO1xuICAgIC8vIEFkZCBtZW1vaXplZCBwYXRobmFtZS9xdWVyeSBmb3IgdXNlU2VhcmNoUGFyYW1zIGFuZCB1c2VQYXRobmFtZS5cbiAgICBjb25zdCB7IHNlYXJjaFBhcmFtcywgcGF0aG5hbWUgfSA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChjYW5vbmljYWxVcmwsIHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIgPyBcImh0dHA6Ly9uXCIgOiB3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHR1cm5lZCBpbnRvIGEgcmVhZG9ubHkgY2xhc3MgaW4gYHVzZVNlYXJjaFBhcmFtc2BcbiAgICAgICAgICAgIHNlYXJjaFBhcmFtczogdXJsLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgIHBhdGhuYW1lOiAoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKSh1cmwucGF0aG5hbWUpID8gKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkodXJsLnBhdGhuYW1lKSA6IHVybC5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgY2Fub25pY2FsVXJsXG4gICAgXSk7XG4gICAgY29uc3QgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSA9IHVzZUNoYW5nZUJ5U2VydmVyUmVzcG9uc2UoZGlzcGF0Y2gpO1xuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoZGlzcGF0Y2gpO1xuICAgIHVzZVNlcnZlckFjdGlvbkRpc3BhdGNoZXIoZGlzcGF0Y2gpO1xuICAgIC8qKlxuICAgKiBUaGUgYXBwIHJvdXRlciB0aGF0IGlzIGV4cG9zZWQgdGhyb3VnaCBgdXNlUm91dGVyYC4gSXQncyBvbmx5IGNvbmNlcm5lZCB3aXRoIGRpc3BhdGNoaW5nIGFjdGlvbnMgdG8gdGhlIHJlZHVjZXIsIGRvZXMgbm90IGhvbGQgc3RhdGUuXG4gICAqLyBjb25zdCBhcHBSb3V0ZXIgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIGNvbnN0IHJvdXRlckluc3RhbmNlID0ge1xuICAgICAgICAgICAgYmFjazogKCk9PndpbmRvdy5oaXN0b3J5LmJhY2soKSxcbiAgICAgICAgICAgIGZvcndhcmQ6ICgpPT53aW5kb3cuaGlzdG9yeS5mb3J3YXJkKCksXG4gICAgICAgICAgICBwcmVmZXRjaDogKGhyZWYsIG9wdGlvbnMpPT57XG4gICAgICAgICAgICAgICAgLy8gRG9uJ3QgcHJlZmV0Y2ggZm9yIGJvdHMgYXMgdGhleSBkb24ndCBuYXZpZ2F0ZS5cbiAgICAgICAgICAgICAgICAvLyBEb24ndCBwcmVmZXRjaCBkdXJpbmcgZGV2ZWxvcG1lbnQgKGltcHJvdmVzIGNvbXBpbGF0aW9uIHBlcmZvcm1hbmNlKVxuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzYm90LmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoaHJlZiksIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgICAgICAgICAvLyBFeHRlcm5hbCB1cmxzIGNhbid0IGJlIHByZWZldGNoZWQgaW4gdGhlIHNhbWUgd2F5LlxuICAgICAgICAgICAgICAgIGlmIChpc0V4dGVybmFsVVJMKHVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX2tpbmQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1BSRUZFVENILFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogKF9vcHRpb25zX2tpbmQgPSBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmtpbmQpICE9IG51bGwgPyBfb3B0aW9uc19raW5kIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuRlVMTFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXBsYWNlOiAoaHJlZiwgb3B0aW9ucyk9PntcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSBvcHRpb25zID0ge307XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHZhciBfb3B0aW9uc19zY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRlKGhyZWYsIFwicmVwbGFjZVwiLCAoX29wdGlvbnNfc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwpICE9IG51bGwgPyBfb3B0aW9uc19zY3JvbGwgOiB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwdXNoOiAoaHJlZiwgb3B0aW9ucyk9PntcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSBvcHRpb25zID0ge307XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHZhciBfb3B0aW9uc19zY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRlKGhyZWYsIFwicHVzaFwiLCAoX29wdGlvbnNfc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwpICE9IG51bGwgPyBfb3B0aW9uc19zY3JvbGwgOiB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoOiAoKT0+e1xuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRUZSRVNILFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgd2UgZG9uJ3Qgd2FudCB0byBleHBvc2UgdGhpcyBtZXRob2QgYXQgYWxsXG4gICAgICAgICAgICBmYXN0UmVmcmVzaDogKCk9PntcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmYXN0UmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLlwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9GQVNUX1JFRlJFU0gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcm91dGVySW5zdGFuY2U7XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgbmF2aWdhdGVcbiAgICBdKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gRXhpc3RzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIERvbid0IHVzZSBpbiBhcHBsaWNhdGlvbiBjb2RlLlxuICAgICAgICBpZiAod2luZG93Lm5leHQpIHtcbiAgICAgICAgICAgIHdpbmRvdy5uZXh0LnJvdXRlciA9IGFwcFJvdXRlcjtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgYXBwUm91dGVyXG4gICAgXSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgY29uc3QgeyBjYWNoZSwgcHJlZmV0Y2hDYWNoZSwgdHJlZSB9ID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVVud3JhcFN0YXRlKShyZWR1Y2VyU3RhdGUpO1xuICAgICAgICAvLyBUaGlzIGhvb2sgaXMgaW4gYSBjb25kaXRpb25hbCBidXQgdGhhdCBpcyBvayBiZWNhdXNlIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgbmV2ZXIgY2hhbmdlc1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgICAgICAvLyBBZGQgYHdpbmRvdy5uZGAgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgbm90IG1lYW50IGZvciB1c2UgaW4gYXBwbGljYXRpb25zIGFzIGNvbmN1cnJlbnQgcmVuZGVyaW5nIHdpbGwgYWZmZWN0IHRoZSBjYWNoZS90cmVlL3JvdXRlci5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdGhpcyBpcyBmb3IgZGVidWdnaW5nXG4gICAgICAgICAgICB3aW5kb3cubmQgPSB7XG4gICAgICAgICAgICAgICAgcm91dGVyOiBhcHBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgY2FjaGUsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hDYWNoZSxcbiAgICAgICAgICAgICAgICB0cmVlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LCBbXG4gICAgICAgICAgICBhcHBSb3V0ZXIsXG4gICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgIHByZWZldGNoQ2FjaGUsXG4gICAgICAgICAgICB0cmVlXG4gICAgICAgIF0pO1xuICAgIH1cbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gSWYgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUsIGl0J3MgcG9zc2libGUgdGhhdFxuICAgICAgICAvLyBwdXNoUmVmLm1wYU5hdmlnYXRpb24gaXMgdHJ1ZSwgd2hpY2ggd291bGQgbWVhbiB0aGF0IGFueSByZS1yZW5kZXIgb2YgdGhpcyBjb21wb25lbnRcbiAgICAgICAgLy8gd291bGQgdHJpZ2dlciB0aGUgbXBhIG5hdmlnYXRpb24gbG9naWMgYWdhaW4gZnJvbSB0aGUgbGluZXMgYmVsb3cuXG4gICAgICAgIC8vIFRoaXMgd2lsbCByZXN0b3JlIHRoZSByb3V0ZXIgdG8gdGhlIGluaXRpYWwgc3RhdGUgaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUuXG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZVBhZ2VTaG93KGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3dpbmRvd19oaXN0b3J5X3N0YXRlO1xuICAgICAgICAgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQgfHwgISgoX3dpbmRvd19oaXN0b3J5X3N0YXRlID0gd2luZG93Lmhpc3Rvcnkuc3RhdGUpID09IG51bGwgPyB2b2lkIDAgOiBfd2luZG93X2hpc3Rvcnlfc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICAgICAgICB1cmw6IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLFxuICAgICAgICAgICAgICAgIHRyZWU6IHdpbmRvdy5oaXN0b3J5LnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicGFnZXNob3dcIiwgaGFuZGxlUGFnZVNob3cpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicGFnZXNob3dcIiwgaGFuZGxlUGFnZVNob3cpO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbiAgICAvLyBXaGVuIG1wYU5hdmlnYXRpb24gZmxhZyBpcyBzZXQgZG8gYSBoYXJkIG5hdmlnYXRpb24gdG8gdGhlIG5ldyB1cmwuXG4gICAgLy8gSW5maW5pdGVseSBzdXNwZW5kIGJlY2F1c2Ugd2UgZG9uJ3QgYWN0dWFsbHkgd2FudCB0byByZXJlbmRlciBhbnkgY2hpbGRcbiAgICAvLyBjb21wb25lbnRzIHdpdGggdGhlIG5ldyBVUkwgYW5kIGFueSBlbnRhbmdsZWQgc3RhdGUgdXBkYXRlcyBzaG91bGRuJ3RcbiAgICAvLyBjb21taXQgZWl0aGVyIChlZzogdXNlVHJhbnNpdGlvbiBpc1BlbmRpbmcgc2hvdWxkIHN0YXkgdHJ1ZSB1bnRpbCB0aGUgcGFnZVxuICAgIC8vIHVubG9hZHMpLlxuICAgIC8vXG4gICAgLy8gVGhpcyBpcyBhIHNpZGUgZWZmZWN0IGluIHJlbmRlci4gRG9uJ3QgdHJ5IHRoaXMgYXQgaG9tZSwga2lkcy4gSXQnc1xuICAgIC8vIHByb2JhYmx5IHNhZmUgYmVjYXVzZSB3ZSBrbm93IHRoaXMgaXMgYSBzaW5nbGV0b24gY29tcG9uZW50IGFuZCBpdCdzIG5ldmVyXG4gICAgLy8gaW4gPE9mZnNjcmVlbj4uIEF0IGxlYXN0IEkgaG9wZSBzby4gKEl0IHdpbGwgcnVuIHR3aWNlIGluIGRldiBzdHJpY3QgbW9kZSxcbiAgICAvLyBidXQgdGhhdCdzLi4uIGZpbmU/KVxuICAgIGNvbnN0IHsgcHVzaFJlZiB9ID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVVud3JhcFN0YXRlKShyZWR1Y2VyU3RhdGUpO1xuICAgIGlmIChwdXNoUmVmLm1wYU5hdmlnYXRpb24pIHtcbiAgICAgICAgLy8gaWYgdGhlcmUncyBhIHJlLXJlbmRlciwgd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIGFub3RoZXIgcmVkaXJlY3QgaWYgb25lIGlzIGFscmVhZHkgaW4gZmxpZ2h0IHRvIHRoZSBzYW1lIFVSTFxuICAgICAgICBpZiAoZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCAhPT0gY2Fub25pY2FsVXJsKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhdGlvbjEgPSB3aW5kb3cubG9jYXRpb247XG4gICAgICAgICAgICBpZiAocHVzaFJlZi5wZW5kaW5nUHVzaCkge1xuICAgICAgICAgICAgICAgIGxvY2F0aW9uMS5hc3NpZ24oY2Fub25pY2FsVXJsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9jYXRpb24xLnJlcGxhY2UoY2Fub25pY2FsVXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdsb2JhbE11dGFibGUucGVuZGluZ01wYVBhdGggPSBjYW5vbmljYWxVcmw7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETy1BUFA6IFNob3VsZCB3ZSBsaXN0ZW4gdG8gbmF2aWdhdGVlcnJvciBoZXJlIHRvIGNhdGNoIGZhaWxlZFxuICAgICAgICAvLyBuYXZpZ2F0aW9ucyBzb21laG93PyBBbmQgc2hvdWxkIHdlIGNhbGwgd2luZG93LnN0b3AoKSBpZiBhIFNQQSBuYXZpZ2F0aW9uXG4gICAgICAgIC8vIHNob3VsZCBpbnRlcnJ1cHQgYW4gTVBBIG9uZT9cbiAgICAgICAgKDAsIF9yZWFjdC51c2UpKCgwLCBfaW5maW5pdGVwcm9taXNlLmNyZWF0ZUluZmluaXRlUHJvbWlzZSkoKSk7XG4gICAgfVxuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBvcmlnaW5hbFB1c2hTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZS5iaW5kKHdpbmRvdy5oaXN0b3J5KTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxSZXBsYWNlU3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSk7XG4gICAgICAgIC8vIEVuc3VyZSB0aGUgY2Fub25pY2FsIFVSTCBpbiB0aGUgTmV4dC5qcyBSb3V0ZXIgaXMgdXBkYXRlZCB3aGVuIHRoZSBVUkwgaXMgY2hhbmdlZCBzbyB0aGF0IGB1c2VQYXRobmFtZWAgYW5kIGB1c2VTZWFyY2hQYXJhbXNgIGhvbGQgdGhlIHB1c2hlZCB2YWx1ZXMuXG4gICAgICAgIGNvbnN0IGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSA9ICh1cmwpPT57XG4gICAgICAgICAgICBjb25zdCBocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFU1RPUkUsXG4gICAgICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh1cmwgIT0gbnVsbCA/IHVybCA6IGhyZWYsIGhyZWYpLFxuICAgICAgICAgICAgICAgICAgICB0cmVlOiB3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqXG4gICAgICogUGF0Y2ggcHVzaFN0YXRlIHRvIGVuc3VyZSBleHRlcm5hbCBjaGFuZ2VzIHRvIHRoZSBoaXN0b3J5IGFyZSByZWZsZWN0ZWQgaW4gdGhlIE5leHQuanMgUm91dGVyLlxuICAgICAqIEVuc3VyZXMgTmV4dC5qcyBpbnRlcm5hbCBoaXN0b3J5IHN0YXRlIGlzIGNvcGllZCB0byB0aGUgbmV3IGhpc3RvcnkgZW50cnkuXG4gICAgICogRW5zdXJlcyB1c2VQYXRobmFtZSBhbmQgdXNlU2VhcmNoUGFyYW1zIGhvbGQgdGhlIG5ld2x5IHByb3ZpZGVkIHVybC5cbiAgICAgKi8gd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlID0gZnVuY3Rpb24gcHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCkge1xuICAgICAgICAgICAgLy8gQXZvaWQgYSBsb29wIHdoZW4gTmV4dC5qcyBpbnRlcm5hbHMgdHJpZ2dlciBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlXG4gICAgICAgICAgICBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX19OQSkgfHwgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX04pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXRhID0gY29weU5leHRKc0ludGVybmFsSGlzdG9yeVN0YXRlKGRhdGEpO1xuICAgICAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgICAgICAgIGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSh1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAqIFBhdGNoIHJlcGxhY2VTdGF0ZSB0byBlbnN1cmUgZXh0ZXJuYWwgY2hhbmdlcyB0byB0aGUgaGlzdG9yeSBhcmUgcmVmbGVjdGVkIGluIHRoZSBOZXh0LmpzIFJvdXRlci5cbiAgICAgKiBFbnN1cmVzIE5leHQuanMgaW50ZXJuYWwgaGlzdG9yeSBzdGF0ZSBpcyBjb3BpZWQgdG8gdGhlIG5ldyBoaXN0b3J5IGVudHJ5LlxuICAgICAqIEVuc3VyZXMgdXNlUGF0aG5hbWUgYW5kIHVzZVNlYXJjaFBhcmFtcyBob2xkIHRoZSBuZXdseSBwcm92aWRlZCB1cmwuXG4gICAgICovIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSA9IGZ1bmN0aW9uIHJlcGxhY2VTdGF0ZShkYXRhLCBfdW51c2VkLCB1cmwpIHtcbiAgICAgICAgICAgIC8vIEF2b2lkIGEgbG9vcCB3aGVuIE5leHQuanMgaW50ZXJuYWxzIHRyaWdnZXIgcHVzaFN0YXRlL3JlcGxhY2VTdGF0ZVxuICAgICAgICAgICAgaWYgKChkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLl9fTkEpIHx8IChkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLl9OKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlcGxhY2VTdGF0ZShkYXRhLCBfdW51c2VkLCB1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0YSA9IGNvcHlOZXh0SnNJbnRlcm5hbEhpc3RvcnlTdGF0ZShkYXRhKTtcbiAgICAgICAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgICAgICAgICBhcHBseVVybEZyb21IaXN0b3J5UHVzaFJlcGxhY2UodXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlcGxhY2VTdGF0ZShkYXRhLCBfdW51c2VkLCB1cmwpO1xuICAgICAgICB9O1xuICAgICAgICAvKipcbiAgICAgKiBIYW5kbGUgcG9wc3RhdGUgZXZlbnQsIHRoaXMgaXMgdXNlZCB0byBoYW5kbGUgYmFjay9mb3J3YXJkIGluIHRoZSBicm93c2VyLlxuICAgICAqIEJ5IGRlZmF1bHQgZGlzcGF0Y2hlcyBBQ1RJT05fUkVTVE9SRSwgaG93ZXZlciBpZiB0aGUgaGlzdG9yeSBlbnRyeSB3YXMgbm90IHB1c2hlZC9yZXBsYWNlZCBieSBhcHAtcm91dGVyIGl0IHdpbGwgcmVsb2FkIHRoZSBwYWdlLlxuICAgICAqIFRoYXQgY2FzZSBjYW4gaGFwcGVuIHdoZW4gdGhlIG9sZCByb3V0ZXIgaW5qZWN0ZWQgdGhlIGhpc3RvcnkgZW50cnkuXG4gICAgICovIGNvbnN0IG9uUG9wU3RhdGUgPSAocGFyYW0pPT57XG4gICAgICAgICAgICBsZXQgeyBzdGF0ZSB9ID0gcGFyYW07XG4gICAgICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETy1BUFA6IHRoaXMgY2FzZSBvbmx5IGhhcHBlbnMgd2hlbiBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlIHdhcyBjYWxsZWQgb3V0c2lkZSBvZiBOZXh0LmpzLiBJdCBzaG91bGQgcHJvYmFibHkgcmVsb2FkIHRoZSBwYWdlIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUaGlzIGNhc2UgaGFwcGVucyB3aGVuIHRoZSBoaXN0b3J5IGVudHJ5IHdhcyBwdXNoZWQgYnkgdGhlIGBwYWdlc2Agcm91dGVyLlxuICAgICAgICAgICAgaWYgKCFzdGF0ZS5fX05BKSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdXNlVHJhbnNpdGlvbiBleGlzdHNcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBJZGVhbGx5IHRoZSBiYWNrIGJ1dHRvbiBzaG91bGQgbm90IHVzZSBzdGFydFRyYW5zaXRpb24gYXMgaXQgc2hvdWxkIGFwcGx5IHRoZSB1cGRhdGVzIHN5bmNocm9ub3VzbHlcbiAgICAgICAgICAgIC8vIFdpdGhvdXQgc3RhcnRUcmFuc2l0aW9uIHdvcmtzIGlmIHRoZSBjYWNoZSBpcyB0aGVyZSBmb3IgdGhpcyBwYXRoXG4gICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFU1RPUkUsXG4gICAgICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksXG4gICAgICAgICAgICAgICAgICAgIHRyZWU6IHN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvLyBSZWdpc3RlciBwb3BzdGF0ZSBldmVudCB0byBjYWxsIG9uUG9wc3RhdGUuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgb25Qb3BTdGF0ZSk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlID0gb3JpZ2luYWxQdXNoU3RhdGU7XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUgPSBvcmlnaW5hbFJlcGxhY2VTdGF0ZTtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgb25Qb3BTdGF0ZSk7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIGNvbnN0IHsgY2FjaGUsIHRyZWUsIG5leHRVcmwsIGZvY3VzQW5kU2Nyb2xsUmVmIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgY29uc3QgbWF0Y2hpbmdIZWFkID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICByZXR1cm4gKDAsIF9maW5kaGVhZGluY2FjaGUuZmluZEhlYWRJbkNhY2hlKShjYWNoZSwgdHJlZVsxXSk7XG4gICAgfSwgW1xuICAgICAgICBjYWNoZSxcbiAgICAgICAgdHJlZVxuICAgIF0pO1xuICAgIGxldCBoZWFkO1xuICAgIGlmIChtYXRjaGluZ0hlYWQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhlIGhlYWQgaXMgd3JhcHBlZCBpbiBhbiBleHRyYSBjb21wb25lbnQgc28gd2UgY2FuIHVzZVxuICAgICAgICAvLyBgdXNlRGVmZXJyZWRWYWx1ZWAgdG8gc3dhcCBiZXR3ZWVuIHRoZSBwcmVmZXRjaGVkIGFuZCBmaW5hbCB2ZXJzaW9ucyBvZlxuICAgICAgICAvLyB0aGUgaGVhZC4gKFRoaXMgaXMgd2hhdCBMYXlvdXRSb3V0ZXIgZG9lcyBmb3Igc2VnbWVudCBkYXRhLCB0b28uKVxuICAgICAgICAvL1xuICAgICAgICAvLyBUaGUgYGtleWAgaXMgdXNlZCB0byByZW1vdW50IHRoZSBjb21wb25lbnQgd2hlbmV2ZXIgdGhlIGhlYWQgbW92ZXMgdG9cbiAgICAgICAgLy8gYSBkaWZmZXJlbnQgc2VnbWVudC5cbiAgICAgICAgY29uc3QgW2hlYWRDYWNoZU5vZGUsIGhlYWRLZXldID0gbWF0Y2hpbmdIZWFkO1xuICAgICAgICBoZWFkID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIZWFkLCB7XG4gICAgICAgICAgICBoZWFkQ2FjaGVOb2RlOiBoZWFkQ2FjaGVOb2RlXG4gICAgICAgIH0sIGhlYWRLZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGhlYWQgPSBudWxsO1xuICAgIH1cbiAgICBsZXQgY29udGVudCA9IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9yZWRpcmVjdGJvdW5kYXJ5LlJlZGlyZWN0Qm91bmRhcnksIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICBjYWNoZS5yc2MsXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJhbm5vdW5jZXIuQXBwUm91dGVyQW5ub3VuY2VyLCB7XG4gICAgICAgICAgICAgICAgdHJlZTogdHJlZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IERldlJvb3ROb3RGb3VuZEJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZGV2LXJvb3Qtbm90LWZvdW5kLWJvdW5kYXJ5XCIpLkRldlJvb3ROb3RGb3VuZEJvdW5kYXJ5O1xuICAgICAgICAgICAgY29udGVudCA9IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoRGV2Um9vdE5vdEZvdW5kQm91bmRhcnksIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTWlzc2luZ1Nsb3RDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBtaXNzaW5nU2xvdHMsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IEhvdFJlbG9hZGVyID0gcmVxdWlyZShcIi4vcmVhY3QtZGV2LW92ZXJsYXkvaG90LXJlbG9hZGVyLWNsaWVudFwiKS5kZWZhdWx0O1xuICAgICAgICBjb250ZW50ID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIb3RSZWxvYWRlciwge1xuICAgICAgICAgICAgYXNzZXRQcmVmaXg6IGFzc2V0UHJlZml4LFxuICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIaXN0b3J5VXBkYXRlciwge1xuICAgICAgICAgICAgICAgIGFwcFJvdXRlclN0YXRlOiAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSksXG4gICAgICAgICAgICAgICAgc3luYzogc3luY1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXRobmFtZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWFyY2hQYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRVcmxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhcHBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNhY2hlLnBhcmFsbGVsUm91dGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJlZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJvb3Qgbm9kZSBhbHdheXMgaGFzIGB1cmxgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm92aWRlZCBpbiBBcHBUcmVlQ29udGV4dCB0byBlbnN1cmUgaXQgY2FuIGJlIG92ZXJ3cml0dGVuIGluIGxheW91dC1yb3V0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogY2Fub25pY2FsVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIEFwcFJvdXRlcihwcm9wcykge1xuICAgIGNvbnN0IHsgZ2xvYmFsRXJyb3JDb21wb25lbnQsIC4uLnJlc3QgfSA9IHByb3BzO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9lcnJvcmJvdW5kYXJ5LkVycm9yQm91bmRhcnksIHtcbiAgICAgICAgZXJyb3JDb21wb25lbnQ6IGdsb2JhbEVycm9yQ29tcG9uZW50LFxuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShSb3V0ZXIsIHtcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSlcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwidXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyIiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJkZWZhdWx0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQXBwUm91dGVyIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfcm91dGVycmVkdWNlcnR5cGVzIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwiX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfdXNlcmVkdWNlcndpdGhkZXZ0b29scyIsIl9lcnJvcmJvdW5kYXJ5IiwiX2NyZWF0ZWluaXRpYWxyb3V0ZXJzdGF0ZSIsIl9pc2JvdCIsIl9hZGRiYXNlcGF0aCIsIl9hcHByb3V0ZXJhbm5vdW5jZXIiLCJfcmVkaXJlY3Rib3VuZGFyeSIsIl9maW5kaGVhZGluY2FjaGUiLCJfaW5maW5pdGVwcm9taXNlIiwiX2FwcHJvdXRlcmhlYWRlcnMiLCJfcmVtb3ZlYmFzZXBhdGgiLCJfaGFzYmFzZXBhdGgiLCJpc1NlcnZlciIsImluaXRpYWxQYXJhbGxlbFJvdXRlcyIsIk1hcCIsImdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJnbG9iYWxNdXRhYmxlIiwidXJsIiwidXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMiLCJVUkwiLCJsb2NhdGlvbiIsIm9yaWdpbiIsInNlYXJjaFBhcmFtcyIsImRlbGV0ZSIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9DT05GSUdfT1VUUFVUIiwicGF0aG5hbWUiLCJlbmRzV2l0aCIsImxlbmd0aCIsInNsaWNlIiwiaXNFeHRlcm5hbFVSTCIsIndpbmRvdyIsIkhpc3RvcnlVcGRhdGVyIiwicGFyYW0iLCJhcHBSb3V0ZXJTdGF0ZSIsInN5bmMiLCJ1c2VJbnNlcnRpb25FZmZlY3QiLCJ0cmVlIiwicHVzaFJlZiIsImNhbm9uaWNhbFVybCIsImhpc3RvcnlTdGF0ZSIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiaGlzdG9yeSIsInN0YXRlIiwiX19OQSIsIl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUiLCJwZW5kaW5nUHVzaCIsImNyZWF0ZUhyZWZGcm9tVXJsIiwiaHJlZiIsInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJwYXJhbGxlbFJvdXRlcyIsInVzZVNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJkaXNwYXRjaCIsInNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJ1c2VDYWxsYmFjayIsImFjdGlvblBheWxvYWQiLCJzdGFydFRyYW5zaXRpb24iLCJ0eXBlIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJ1c2VDaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwicHJldmlvdXNUcmVlIiwiZmxpZ2h0RGF0YSIsIm92ZXJyaWRlQ2Fub25pY2FsVXJsIiwiQUNUSU9OX1NFUlZFUl9QQVRDSCIsInVzZU5hdmlnYXRlIiwibmF2aWdhdGVUeXBlIiwic2hvdWxkU2Nyb2xsIiwiYWRkQmFzZVBhdGgiLCJBQ1RJT05fTkFWSUdBVEUiLCJpc0V4dGVybmFsVXJsIiwibG9jYXRpb25TZWFyY2giLCJzZWFyY2giLCJjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUiLCJkYXRhIiwiY3VycmVudFN0YXRlIiwiSGVhZCIsImhlYWRDYWNoZU5vZGUiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwicmVzb2x2ZWRQcmVmZXRjaFJzYyIsInVzZURlZmVycmVkVmFsdWUiLCJSb3V0ZXIiLCJidWlsZElkIiwiaW5pdGlhbEhlYWQiLCJpbml0aWFsVHJlZSIsImluaXRpYWxDYW5vbmljYWxVcmwiLCJpbml0aWFsU2VlZERhdGEiLCJhc3NldFByZWZpeCIsIm1pc3NpbmdTbG90cyIsImluaXRpYWxTdGF0ZSIsInVzZU1lbW8iLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLCJyZWR1Y2VyU3RhdGUiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHMiLCJ1c2VFZmZlY3QiLCJ1c2VVbndyYXBTdGF0ZSIsImhhc0Jhc2VQYXRoIiwicmVtb3ZlQmFzZVBhdGgiLCJjaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwibmF2aWdhdGUiLCJhcHBSb3V0ZXIiLCJyb3V0ZXJJbnN0YW5jZSIsImJhY2siLCJmb3J3YXJkIiwicHJlZmV0Y2giLCJvcHRpb25zIiwiaXNCb3QiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJfb3B0aW9uc19raW5kIiwiQUNUSU9OX1BSRUZFVENIIiwia2luZCIsIlByZWZldGNoS2luZCIsIkZVTEwiLCJyZXBsYWNlIiwiX29wdGlvbnNfc2Nyb2xsIiwic2Nyb2xsIiwicHVzaCIsInJlZnJlc2giLCJBQ1RJT05fUkVGUkVTSCIsImZhc3RSZWZyZXNoIiwiRXJyb3IiLCJBQ1RJT05fRkFTVF9SRUZSRVNIIiwibmV4dCIsInJvdXRlciIsImNhY2hlIiwicHJlZmV0Y2hDYWNoZSIsIm5kIiwiaGFuZGxlUGFnZVNob3ciLCJldmVudCIsIl93aW5kb3dfaGlzdG9yeV9zdGF0ZSIsInBlcnNpc3RlZCIsIkFDVElPTl9SRVNUT1JFIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtcGFOYXZpZ2F0aW9uIiwicGVuZGluZ01wYVBhdGgiLCJsb2NhdGlvbjEiLCJhc3NpZ24iLCJ1c2UiLCJjcmVhdGVJbmZpbml0ZVByb21pc2UiLCJvcmlnaW5hbFB1c2hTdGF0ZSIsImJpbmQiLCJvcmlnaW5hbFJlcGxhY2VTdGF0ZSIsImFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSIsIl91bnVzZWQiLCJfTiIsIm9uUG9wU3RhdGUiLCJyZWxvYWQiLCJuZXh0VXJsIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJtYXRjaGluZ0hlYWQiLCJmaW5kSGVhZEluQ2FjaGUiLCJoZWFkS2V5IiwianN4IiwiY29udGVudCIsImpzeHMiLCJSZWRpcmVjdEJvdW5kYXJ5IiwiY2hpbGRyZW4iLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLCJEZXZSb290Tm90Rm91bmRCb3VuZGFyeSIsIk1pc3NpbmdTbG90Q29udGV4dCIsIlByb3ZpZGVyIiwiSG90UmVsb2FkZXIiLCJGcmFnbWVudCIsIlBhdGhuYW1lQ29udGV4dCIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJjaGlsZE5vZGVzIiwicHJvcHMiLCJnbG9iYWxFcnJvckNvbXBvbmVudCIsInJlc3QiLCJFcnJvckJvdW5kYXJ5IiwiZXJyb3JDb21wb25lbnQiLCJfX2VzTW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! \*********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNERBQTJEO0lBQ3ZESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZ0JBQWdCQyxtQkFBT0EsQ0FBQyw4SEFBOEM7QUFDNUUsTUFBTUMsd0NBQXdDRCxtQkFBT0EsQ0FBQyw4RkFBNEM7QUFDbEcsU0FBU0YseUJBQXlCSSxNQUFNO0lBQ3BDLE1BQU1DLHdCQUF3QkYsc0NBQXNDRyw0QkFBNEIsQ0FBQ0MsUUFBUTtJQUN6RyxJQUFJRix5QkFBeUIsT0FBTyxLQUFLLElBQUlBLHNCQUFzQkcsV0FBVyxFQUFFO0lBQ2hGLElBQUlILHlCQUF5QixPQUFPLEtBQUssSUFBSUEsc0JBQXNCSSxrQkFBa0IsRUFBRSxNQUFNLElBQUlSLGNBQWNTLGlCQUFpQixDQUFDTjtBQUNySTtBQUVBLElBQUksQ0FBQyxPQUFPUixRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9Ca0IsT0FBT2xCLE9BQU8sR0FBR0EsUUFBUWUsT0FBTztBQUNsQyxFQUVBLHVEQUF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcz9iMTc3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmc7XG4gICAgfVxufSk7XG5jb25zdCBfYmFpbG91dHRvY3NyID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyXCIpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5mdW5jdGlvbiBiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmcocmVhc29uKSB7XG4gICAgY29uc3Qgc3RhdGljR2VuZXJhdGlvblN0b3JlID0gX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljKSByZXR1cm47XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLmlzU3RhdGljR2VuZXJhdGlvbikgdGhyb3cgbmV3IF9iYWlsb3V0dG9jc3IuQmFpbG91dFRvQ1NSRXJyb3IocmVhc29uKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmciLCJfYmFpbG91dHRvY3NyIiwicmVxdWlyZSIsIl9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJyZWFzb24iLCJzdGF0aWNHZW5lcmF0aW9uU3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJmb3JjZVN0YXRpYyIsImlzU3RhdGljR2VuZXJhdGlvbiIsIkJhaWxvdXRUb0NTUkVycm9yIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/client-hook-in-server-component-error.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clientHookInServerComponentError\", ({\n enumerable: true,\n get: function() {\n return clientHookInServerComponentError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction clientHookInServerComponentError(hookName) {\n if (true) {\n // If useState is undefined we're in a server component\n if (!_react.default.useState) {\n throw new Error(\"\" + hookName + ' only works in Client Components. Add the \"use client\" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component');\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-hook-in-server-component-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9FQUFtRTtJQUMvREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsU0FBU0YsaUNBQWlDSyxRQUFRO0lBQzlDLElBQUlDLElBQXFDLEVBQUU7UUFDdkMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0gsT0FBT0ksT0FBTyxDQUFDQyxRQUFRLEVBQUU7WUFDMUIsTUFBTSxJQUFJQyxNQUFNLEtBQUtKLFdBQVc7UUFDcEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0csVUFBVSxLQUFLLGFBQWE7SUFDcktoQixPQUFPQyxjQUFjLENBQUNDLFFBQVFXLE9BQU8sRUFBRSxjQUFjO1FBQUVWLE9BQU87SUFBSztJQUNuRUgsT0FBT2lCLE1BQU0sQ0FBQ2YsUUFBUVcsT0FBTyxFQUFFWDtJQUMvQmdCLE9BQU9oQixPQUFPLEdBQUdBLFFBQVFXLE9BQU87QUFDbEMsRUFFQSxpRUFBaUUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50LWVycm9yLmpzPzNkYWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuZnVuY3Rpb24gY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IoaG9va05hbWUpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIC8vIElmIHVzZVN0YXRlIGlzIHVuZGVmaW5lZCB3ZSdyZSBpbiBhIHNlcnZlciBjb21wb25lbnRcbiAgICAgICAgaWYgKCFfcmVhY3QuZGVmYXVsdC51c2VTdGF0ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiXCIgKyBob29rTmFtZSArICcgb25seSB3b3JrcyBpbiBDbGllbnQgQ29tcG9uZW50cy4gQWRkIHRoZSBcInVzZSBjbGllbnRcIiBkaXJlY3RpdmUgYXQgdGhlIHRvcCBvZiB0aGUgZmlsZSB0byB1c2UgaXQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcmVhY3QtY2xpZW50LWhvb2staW4tc2VydmVyLWNvbXBvbmVudCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50LWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiaG9va05hbWUiLCJwcm9jZXNzIiwiZGVmYXVsdCIsInVzZVN0YXRlIiwiRXJyb3IiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/error-boundary.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/error-boundary.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n },\n GlobalError: function() {\n return GlobalError;\n },\n // Exported so that the import signature in the loaders can be identical to user\n // supplied custom global error signatures.\n default: function() {\n return _default;\n },\n ErrorBoundary: function() {\n return ErrorBoundary;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nfunction HandleISRError(param) {\n let { error } = param;\n if (typeof fetch.__nextGetStaticStore === \"function\") {\n var _fetch___nextGetStaticStore;\n const store = (_fetch___nextGetStaticStore = fetch.__nextGetStaticStore()) == null ? void 0 : _fetch___nextGetStaticStore.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n }\n return null;\n}\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.text,\n children: \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVgsT0FBT0MsY0FBYyxDQUFDUyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFQLFNBQVM7SUFDYkcsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQSxnRkFBZ0Y7SUFDaEYsMkNBQTJDO0lBQzNDQyxTQUFTO1FBQ0wsT0FBT1E7SUFDWDtJQUNBUCxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVEsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksY0FBY0osbUJBQU9BLENBQUMsb0ZBQWM7QUFDMUMsTUFBTUsscUJBQXFCTCxtQkFBT0EsQ0FBQyx3R0FBd0I7QUFDM0QsTUFBTU0sU0FBUztJQUNYQyxPQUFPO1FBQ0gsMEZBQTBGO1FBQzFGQyxZQUFZO1FBQ1pDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDcEI7SUFDQUMsTUFBTTtRQUNGQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsWUFBWTtRQUNaQyxRQUFRO0lBQ1o7QUFDSjtBQUNBLDhEQUE4RDtBQUM5RCx5REFBeUQ7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QUFRLEVBQUU7UUFDNURDLFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPeEQsUUFBUUssT0FBTyxLQUFLLGNBQWUsT0FBT0wsUUFBUUssT0FBTyxLQUFLLFlBQVlMLFFBQVFLLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0wsUUFBUUssT0FBTyxDQUFDK0QsVUFBVSxLQUFLLGFBQWE7SUFDckt0RSxPQUFPQyxjQUFjLENBQUNDLFFBQVFLLE9BQU8sRUFBRSxjQUFjO1FBQUVKLE9BQU87SUFBSztJQUNuRUgsT0FBT3VFLE1BQU0sQ0FBQ3JFLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzPzc2OTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgRXJyb3JCb3VuZGFyeUhhbmRsZXI6IG51bGwsXG4gICAgR2xvYmFsRXJyb3I6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbCxcbiAgICBFcnJvckJvdW5kYXJ5OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEVycm9yQm91bmRhcnlIYW5kbGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVycm9yQm91bmRhcnlIYW5kbGVyO1xuICAgIH0sXG4gICAgR2xvYmFsRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR2xvYmFsRXJyb3I7XG4gICAgfSxcbiAgICAvLyBFeHBvcnRlZCBzbyB0aGF0IHRoZSBpbXBvcnQgc2lnbmF0dXJlIGluIHRoZSBsb2FkZXJzIGNhbiBiZSBpZGVudGljYWwgdG8gdXNlclxuICAgIC8vIHN1cHBsaWVkIGN1c3RvbSBnbG9iYWwgZXJyb3Igc2lnbmF0dXJlcy5cbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH0sXG4gICAgRXJyb3JCb3VuZGFyeTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFcnJvckJvdW5kYXJ5O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX25hdmlnYXRpb24gPSByZXF1aXJlKFwiLi9uYXZpZ2F0aW9uXCIpO1xuY29uc3QgX2lzbmV4dHJvdXRlcmVycm9yID0gcmVxdWlyZShcIi4vaXMtbmV4dC1yb3V0ZXItZXJyb3JcIik7XG5jb25zdCBzdHlsZXMgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9tb2Rlcm4tbm9ybWFsaXplL2Jsb2IvbWFpbi9tb2Rlcm4tbm9ybWFsaXplLmNzcyNMMzgtTDUyXG4gICAgICAgIGZvbnRGYW1pbHk6ICdzeXN0ZW0tdWksXCJTZWdvZSBVSVwiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiJyxcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiXG4gICAgfSxcbiAgICB0ZXh0OiB7XG4gICAgICAgIGZvbnRTaXplOiBcIjE0cHhcIixcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjI4cHhcIixcbiAgICAgICAgbWFyZ2luOiBcIjAgOHB4XCJcbiAgICB9XG59O1xuLy8gaWYgd2UgYXJlIHJldmFsaWRhdGluZyB3ZSB3YW50IHRvIHJlLXRocm93IHRoZSBlcnJvciBzbyB0aGVcbi8vIGZ1bmN0aW9uIGNyYXNoZXMgc28gd2UgY2FuIG1haW50YWluIG91ciBwcmV2aW91cyBjYWNoZVxuLy8gaW5zdGVhZCBvZiBjYWNoaW5nIHRoZSBlcnJvciBwYWdlXG5mdW5jdGlvbiBIYW5kbGVJU1JFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IGVycm9yIH0gPSBwYXJhbTtcbiAgICBpZiAodHlwZW9mIGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgdmFyIF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZTtcbiAgICAgICAgY29uc3Qgc3RvcmUgPSAoX2ZldGNoX19fbmV4dEdldFN0YXRpY1N0b3JlID0gZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUoKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZS5nZXRTdG9yZSgpO1xuICAgICAgICBpZiAoKHN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdG9yZS5pc1JldmFsaWRhdGUpIHx8IChzdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnJvcik7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmNsYXNzIEVycm9yQm91bmRhcnlIYW5kbGVyIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSB7XG4gICAgICAgIGlmICgoMCwgX2lzbmV4dHJvdXRlcmVycm9yLmlzTmV4dFJvdXRlckVycm9yKShlcnJvcikpIHtcbiAgICAgICAgICAgIC8vIFJlLXRocm93IGlmIGFuIGV4cGVjdGVkIGludGVybmFsIE5leHQuanMgcm91dGVyIGVycm9yIG9jY3Vyc1xuICAgICAgICAgICAgLy8gdGhpcyBtZWFucyBpdCBzaG91bGQgYmUgaGFuZGxlZCBieSBhIGRpZmZlcmVudCBib3VuZGFyeSAoc3VjaCBhcyBhIE5vdEZvdW5kIGJvdW5kYXJ5IGluIGEgcGFyZW50IHNlZ21lbnQpXG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXJyb3JcbiAgICAgICAgfTtcbiAgICB9XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcbiAgICAgICAgLyoqXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXG4gICAgICogQXBwcm9hY2ggb2Ygc2V0U3RhdGUgaW4gcmVuZGVyIGlzIHNhZmUgYXMgaXQgY2hlY2tzIHRoZSBwcmV2aW91cyBwYXRobmFtZSBhbmQgdGhlbiBvdmVycmlkZXNcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcbiAgICAgKi8gaWYgKHByb3BzLnBhdGhuYW1lICE9PSBzdGF0ZS5wcmV2aW91c1BhdGhuYW1lICYmIHN0YXRlLmVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBlcnJvcjogc3RhdGUuZXJyb3IsXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLnN0YXRlLmVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhhbmRsZUlTUkVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogdGhpcy5zdGF0ZS5lcnJvclxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5lcnJvclN0eWxlcyxcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5wcm9wcy5lcnJvclNjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkodGhpcy5wcm9wcy5lcnJvckNvbXBvbmVudCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRoaXMuc3RhdGUuZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICByZXNldDogdGhpcy5yZXNldFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5yZXNldCA9ICgpPT57XG4gICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH07XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHRoaXMucHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBHbG9iYWxFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IGVycm9yIH0gPSBwYXJhbTtcbiAgICBjb25zdCBkaWdlc3QgPSBlcnJvciA9PSBudWxsID8gdm9pZCAwIDogZXJyb3IuZGlnZXN0O1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImh0bWxcIiwge1xuICAgICAgICBpZDogXCJfX25leHRfZXJyb3JfX1wiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImhlYWRcIiwge30pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJib2R5XCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEhhbmRsZUlTUkVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5lcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIFwiICsgKGRpZ2VzdCA/IFwic2VydmVyXCIgOiBcImNsaWVudFwiKSArIFwiLXNpZGUgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZCAoc2VlIHRoZSBcIiArIChkaWdlc3QgPyBcInNlcnZlciBsb2dzXCIgOiBcImJyb3dzZXIgY29uc29sZVwiKSArIFwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlnZXN0ID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy50ZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiRGlnZXN0OiBcIiArIGRpZ2VzdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmNvbnN0IF9kZWZhdWx0ID0gR2xvYmFsRXJyb3I7XG5mdW5jdGlvbiBFcnJvckJvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgZXJyb3JDb21wb25lbnQsIGVycm9yU3R5bGVzLCBlcnJvclNjcmlwdHMsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfbmF2aWdhdGlvbi51c2VQYXRobmFtZSkoKTtcbiAgICBpZiAoZXJyb3JDb21wb25lbnQpIHtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoRXJyb3JCb3VuZGFyeUhhbmRsZXIsIHtcbiAgICAgICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcbiAgICAgICAgICAgIGVycm9yQ29tcG9uZW50OiBlcnJvckNvbXBvbmVudCxcbiAgICAgICAgICAgIGVycm9yU3R5bGVzOiBlcnJvclN0eWxlcyxcbiAgICAgICAgICAgIGVycm9yU2NyaXB0czogZXJyb3JTY3JpcHRzLFxuICAgICAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3ItYm91bmRhcnkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRXJyb3JCb3VuZGFyeUhhbmRsZXIiLCJHbG9iYWxFcnJvciIsImRlZmF1bHQiLCJFcnJvckJvdW5kYXJ5IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX25hdmlnYXRpb24iLCJfaXNuZXh0cm91dGVyZXJyb3IiLCJzdHlsZXMiLCJlcnJvciIsImZvbnRGYW1pbHkiLCJoZWlnaHQiLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsInRleHQiLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0IiwibWFyZ2luIiwiSGFuZGxlSVNSRXJyb3IiLCJwYXJhbSIsImZldGNoIiwiX19uZXh0R2V0U3RhdGljU3RvcmUiLCJfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmUiLCJzdG9yZSIsImdldFN0b3JlIiwiaXNSZXZhbGlkYXRlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiY29uc29sZSIsIkNvbXBvbmVudCIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImlzTmV4dFJvdXRlckVycm9yIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwicHJvcHMiLCJzdGF0ZSIsInBhdGhuYW1lIiwicHJldmlvdXNQYXRobmFtZSIsInJlbmRlciIsImpzeHMiLCJGcmFnbWVudCIsImNoaWxkcmVuIiwianN4IiwiZXJyb3JTdHlsZXMiLCJlcnJvclNjcmlwdHMiLCJlcnJvckNvbXBvbmVudCIsInJlc2V0IiwiY29uc3RydWN0b3IiLCJzZXRTdGF0ZSIsImRpZ2VzdCIsImlkIiwic3R5bGUiLCJ1c2VQYXRobmFtZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/error-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8scUJBQXFCO0FBQzNCLE1BQU1SLDJCQUEyQlM7SUFDN0JDLFlBQVlDLFdBQVcsQ0FBQztRQUNwQixLQUFLLENBQUMsMkJBQTJCQTtRQUNqQyxJQUFJLENBQUNBLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxNQUFNLEdBQUdKO0lBQ2xCO0FBQ0o7QUFDQSxTQUFTUCxxQkFBcUJZLEdBQUc7SUFDN0IsSUFBSSxPQUFPQSxRQUFRLFlBQVlBLFFBQVEsUUFBUSxDQUFFLGFBQVlBLEdBQUUsS0FBTSxPQUFPQSxJQUFJRCxNQUFNLEtBQUssVUFBVTtRQUNqRyxPQUFPO0lBQ1g7SUFDQSxPQUFPQyxJQUFJRCxNQUFNLEtBQUtKO0FBQzFCO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzPzAwOWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBEeW5hbWljU2VydmVyRXJyb3I6IG51bGwsXG4gICAgaXNEeW5hbWljU2VydmVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRHluYW1pY1NlcnZlckVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIER5bmFtaWNTZXJ2ZXJFcnJvcjtcbiAgICB9LFxuICAgIGlzRHluYW1pY1NlcnZlckVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRHluYW1pY1NlcnZlckVycm9yO1xuICAgIH1cbn0pO1xuY29uc3QgRFlOQU1JQ19FUlJPUl9DT0RFID0gXCJEWU5BTUlDX1NFUlZFUl9VU0FHRVwiO1xuY2xhc3MgRHluYW1pY1NlcnZlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGRlc2NyaXB0aW9uKXtcbiAgICAgICAgc3VwZXIoXCJEeW5hbWljIHNlcnZlciB1c2FnZTogXCIgKyBkZXNjcmlwdGlvbik7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5kaWdlc3QgPSBEWU5BTUlDX0VSUk9SX0NPREU7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNEeW5hbWljU2VydmVyRXJyb3IoZXJyKSB7XG4gICAgaWYgKHR5cGVvZiBlcnIgIT09IFwib2JqZWN0XCIgfHwgZXJyID09PSBudWxsIHx8ICEoXCJkaWdlc3RcIiBpbiBlcnIpIHx8IHR5cGVvZiBlcnIuZGlnZXN0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVyci5kaWdlc3QgPT09IERZTkFNSUNfRVJST1JfQ09ERTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3Mtc2VydmVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRHluYW1pY1NlcnZlckVycm9yIiwiaXNEeW5hbWljU2VydmVyRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEWU5BTUlDX0VSUk9SX0NPREUiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiZGVzY3JpcHRpb24iLCJkaWdlc3QiLCJlcnIiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/infinite-promise.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/client/components/infinite-promise.js ***! \**********************************************************************/ /***/ ((module, exports) => { "use strict"; eval("/**\n * Used to cache in createInfinitePromise\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInfinitePromise\", ({\n enumerable: true,\n get: function() {\n return createInfinitePromise;\n }\n}));\nlet infinitePromise;\nfunction createInfinitePromise() {\n if (!infinitePromise) {\n // Only create the Promise once\n infinitePromise = new Promise(()=>{\n // This is used to debug when the rendering is never updated.\n // setTimeout(() => {\n // infinitePromise = new Error('Infinite promise')\n // resolve()\n // }, 5000)\n });\n }\n return infinitePromise;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=infinite-promise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2luZmluaXRlLXByb21pc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5REFBd0Q7SUFDcERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQztBQUNKLFNBQVNEO0lBQ0wsSUFBSSxDQUFDQyxpQkFBaUI7UUFDbEIsK0JBQStCO1FBQy9CQSxrQkFBa0IsSUFBSUMsUUFBUTtRQUM5Qiw2REFBNkQ7UUFDN0QscUJBQXFCO1FBQ3JCLG9EQUFvRDtRQUNwRCxjQUFjO1FBQ2QsV0FBVztRQUNYO0lBQ0o7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9MLFFBQVFPLE9BQU8sS0FBSyxjQUFlLE9BQU9QLFFBQVFPLE9BQU8sS0FBSyxZQUFZUCxRQUFRTyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9QLFFBQVFPLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktWLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUU8sT0FBTyxFQUFFLGNBQWM7UUFBRU4sT0FBTztJQUFLO0lBQ25FSCxPQUFPVyxNQUFNLENBQUNULFFBQVFPLE9BQU8sRUFBRVA7SUFDL0JVLE9BQU9WLE9BQU8sR0FBR0EsUUFBUU8sT0FBTztBQUNsQyxFQUVBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2luZmluaXRlLXByb21pc2UuanM/NzJmZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFVzZWQgdG8gY2FjaGUgaW4gY3JlYXRlSW5maW5pdGVQcm9taXNlXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVJbmZpbml0ZVByb21pc2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUluZmluaXRlUHJvbWlzZTtcbiAgICB9XG59KTtcbmxldCBpbmZpbml0ZVByb21pc2U7XG5mdW5jdGlvbiBjcmVhdGVJbmZpbml0ZVByb21pc2UoKSB7XG4gICAgaWYgKCFpbmZpbml0ZVByb21pc2UpIHtcbiAgICAgICAgLy8gT25seSBjcmVhdGUgdGhlIFByb21pc2Ugb25jZVxuICAgICAgICBpbmZpbml0ZVByb21pc2UgPSBuZXcgUHJvbWlzZSgoKT0+e1xuICAgICAgICAvLyBUaGlzIGlzIHVzZWQgdG8gZGVidWcgd2hlbiB0aGUgcmVuZGVyaW5nIGlzIG5ldmVyIHVwZGF0ZWQuXG4gICAgICAgIC8vIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAvLyAgIGluZmluaXRlUHJvbWlzZSA9IG5ldyBFcnJvcignSW5maW5pdGUgcHJvbWlzZScpXG4gICAgICAgIC8vICAgcmVzb2x2ZSgpXG4gICAgICAgIC8vIH0sIDUwMDApXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gaW5maW5pdGVQcm9taXNlO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmZpbml0ZS1wcm9taXNlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjcmVhdGVJbmZpbml0ZVByb21pc2UiLCJpbmZpbml0ZVByb21pc2UiLCJQcm9taXNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction isNextRouterError(error) {\n return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-next-router-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxZQUFZQyxtQkFBT0EsQ0FBQyxrRkFBYTtBQUN2QyxNQUFNQyxZQUFZRCxtQkFBT0EsQ0FBQyxnRkFBWTtBQUN0QyxTQUFTRixrQkFBa0JJLEtBQUs7SUFDNUIsT0FBT0EsU0FBU0EsTUFBTUMsTUFBTSxJQUFLLEVBQUMsR0FBR0YsVUFBVUcsZUFBZSxFQUFFRixVQUFVLENBQUMsR0FBR0gsVUFBVU0sZUFBZSxFQUFFSCxNQUFLO0FBQ2xIO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9pcy1uZXh0LXJvdXRlci1lcnJvci5qcz9kOTA3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNOZXh0Um91dGVyRXJyb3JcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzTmV4dFJvdXRlckVycm9yO1xuICAgIH1cbn0pO1xuY29uc3QgX25vdGZvdW5kID0gcmVxdWlyZShcIi4vbm90LWZvdW5kXCIpO1xuY29uc3QgX3JlZGlyZWN0ID0gcmVxdWlyZShcIi4vcmVkaXJlY3RcIik7XG5mdW5jdGlvbiBpc05leHRSb3V0ZXJFcnJvcihlcnJvcikge1xuICAgIHJldHVybiBlcnJvciAmJiBlcnJvci5kaWdlc3QgJiYgKCgwLCBfcmVkaXJlY3QuaXNSZWRpcmVjdEVycm9yKShlcnJvcikgfHwgKDAsIF9ub3Rmb3VuZC5pc05vdEZvdW5kRXJyb3IpKGVycm9yKSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLW5leHQtcm91dGVyLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpc05leHRSb3V0ZXJFcnJvciIsIl9ub3Rmb3VuZCIsInJlcXVpcmUiLCJfcmVkaXJlY3QiLCJlcnJvciIsImRpZ2VzdCIsImlzUmVkaXJlY3RFcnJvciIsImlzTm90Rm91bmRFcnJvciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/layout-router.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/layout-router.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _infinitepromise = __webpack_require__(/*! ./infinite-promise */ \"(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a <link/> in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `<html/>` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n parallelRoutes: new Map()\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === \"object\" && rsc !== null && typeof rsc.then === \"function\" ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, context.nextUrl, buildId);\n }\n /**\n * Flight response data\n */ // When the data has not resolved yet `use` will suspend here.\n const [flightData, overrideCanonicalUrl] = (0, _react.use)(lazyData);\n // segmentPath from the server does not match the layout's segmentPath\n childNode.lazyData = null;\n // setTimeout is used to start a new transition during render, this is an intentional hack around React.\n setTimeout(()=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse(fullTree, flightData, overrideCanonicalUrl);\n });\n });\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders `<html>`\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { children, loading, loadingStyles, loadingScripts, hasLoading } = param;\n if (hasLoading) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loading\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, loading, loadingStyles, loadingScripts, hasLoading, template, notFound, notFoundStyles, styles } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant expected layout router to be mounted\");\n }\n const { childNodes, tree, url } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in `<Offscreen>`.\n */ // TODO-APP: Add handling of `<Offscreen>` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n styles,\n preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n hasLoading: hasLoading,\n loading: loading,\n loadingStyles: loadingStyles,\n loadingScripts: loadingScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FHZTtJQUNYSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHRiwwQkFBMEJHLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUssWUFBWSxXQUFXLEdBQUdOLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxnSEFBVztBQUM5RSxNQUFNTSxpQ0FBaUNOLG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxNQUFNTyx1QkFBdUJQLG1CQUFPQSxDQUFDLHdJQUF3QztBQUM3RSxNQUFNUSxtQkFBbUJSLG1CQUFPQSxDQUFDLGdHQUFvQjtBQUNyRCxNQUFNUyxpQkFBaUJULG1CQUFPQSxDQUFDLDRGQUFrQjtBQUNqRCxNQUFNVSxpQkFBaUJWLG1CQUFPQSxDQUFDLDRGQUFrQjtBQUNqRCxNQUFNVyxzQkFBc0JYLG1CQUFPQSxDQUFDLDBJQUFvRDtBQUN4RixNQUFNWSxvQkFBb0JaLG1CQUFPQSxDQUFDLGtHQUFxQjtBQUN2RCxNQUFNYSxvQkFBb0JiLG1CQUFPQSxDQUFDLG9HQUFzQjtBQUN4RCxNQUFNYyxtQkFBbUJkLG1CQUFPQSxDQUFDLGtKQUE2QztBQUM5RSxNQUFNZSx3QkFBd0JmLG1CQUFPQSxDQUFDLDRJQUEwQztBQUNoRjs7O0NBR0MsR0FBRyxTQUFTZ0IsZUFBZUMsaUJBQWlCLEVBQUVDLGNBQWM7SUFDekQs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K0QsVUFBVVosNkJBQTZCSzt3Q0FDM0M7b0NBQ0o7Z0NBQ0o7NEJBQ0o7d0JBQ0o7b0JBQ0o7b0JBQ0F6RixVQUFVO3dCQUNONEU7d0JBQ0FDO3dCQUNBQztxQkFDSDtnQkFDTCxHQUFHLENBQUMsR0FBR3JJLHNCQUFzQmlKLG9CQUFvQixFQUFFRixrQkFBa0I7WUFDekU7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3BLLFFBQVE4QyxPQUFPLEtBQUssY0FBZSxPQUFPOUMsUUFBUThDLE9BQU8sS0FBSyxZQUFZOUMsUUFBUThDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzlDLFFBQVE4QyxPQUFPLENBQUMrSCxVQUFVLEtBQUssYUFBYTtJQUNySy9LLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUThDLE9BQU8sRUFBRSxjQUFjO1FBQUU3QyxPQUFPO0lBQUs7SUFDbkVILE9BQU9nTCxNQUFNLENBQUM5SyxRQUFROEMsT0FBTyxFQUFFOUM7SUFDL0IrSyxPQUFPL0ssT0FBTyxHQUFHQSxRQUFROEMsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanM/MGJmYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgLyoqXG4gKiBPdXRlckxheW91dFJvdXRlciBoYW5kbGVzIHRoZSBjdXJyZW50IHNlZ21lbnQgYXMgd2VsbCBhcyA8T2Zmc2NyZWVuPiByZW5kZXJpbmcgb2Ygb3RoZXIgc2VnbWVudHMuXG4gKiBJdCBjYW4gYmUgcmVuZGVyZWQgbmV4dCB0byBlYWNoIG90aGVyIHdpdGggYSBkaWZmZXJlbnQgYHBhcmFsbGVsUm91dGVyS2V5YCwgYWxsb3dpbmcgZm9yIFBhcmFsbGVsIHJvdXRlcy5cbiAqLyBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE91dGVyTGF5b3V0Um91dGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9yZWFjdGRvbSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0LWRvbVwiKSk7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZVwiKTtcbmNvbnN0IF9pbmZpbml0ZXByb21pc2UgPSByZXF1aXJlKFwiLi9pbmZpbml0ZS1wcm9taXNlXCIpO1xuY29uc3QgX2Vycm9yYm91bmRhcnkgPSByZXF1aXJlKFwiLi9lcnJvci1ib3VuZGFyeVwiKTtcbmNvbnN0IF9tYXRjaHNlZ21lbnRzID0gcmVxdWlyZShcIi4vbWF0Y2gtc2VnbWVudHNcIik7XG5jb25zdCBfaGFuZGxlc21vb3Roc2Nyb2xsID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsXCIpO1xuY29uc3QgX3JlZGlyZWN0Ym91bmRhcnkgPSByZXF1aXJlKFwiLi9yZWRpcmVjdC1ib3VuZGFyeVwiKTtcbmNvbnN0IF9ub3Rmb3VuZGJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vbm90LWZvdW5kLWJvdW5kYXJ5XCIpO1xuY29uc3QgX2dldHNlZ21lbnR2YWx1ZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlXCIpO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG4vKipcbiAqIEFkZCByZWZldGNoIG1hcmtlciB0byByb3V0ZXIgc3RhdGUgYXQgdGhlIHBvaW50IG9mIHRoZSBjdXJyZW50IGxheW91dCBzZWdtZW50LlxuICogVGhpcyBlbnN1cmVzIHRoZSByZXNwb25zZSByZXR1cm5lZCBpcyBub3QgZnVydGhlciBkb3duIHRoYW4gdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKi8gZnVuY3Rpb24gd2Fsa0FkZFJlZmV0Y2goc2VnbWVudFBhdGhUb1dhbGssIHRyZWVUb1JlY3JlYXRlKSB7XG4gICAgaWYgKHNlZ21lbnRQYXRoVG9XYWxrKSB7XG4gICAgICAgIGNvbnN0IFtzZWdtZW50LCBwYXJhbGxlbFJvdXRlS2V5XSA9IHNlZ21lbnRQYXRoVG9XYWxrO1xuICAgICAgICBjb25zdCBpc0xhc3QgPSBzZWdtZW50UGF0aFRvV2Fsay5sZW5ndGggPT09IDI7XG4gICAgICAgIGlmICgoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KSh0cmVlVG9SZWNyZWF0ZVswXSwgc2VnbWVudCkpIHtcbiAgICAgICAgICAgIGlmICh0cmVlVG9SZWNyZWF0ZVsxXS5oYXNPd25Qcm9wZXJ0eShwYXJhbGxlbFJvdXRlS2V5KSkge1xuICAgICAgICAgICAgICAgIGlmIChpc0xhc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3ViVHJlZSA9IHdhbGtBZGRSZWZldGNoKHVuZGVmaW5lZCwgdHJlZVRvUmVjcmVhdGVbMV1bcGFyYWxsZWxSb3V0ZUtleV0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZVRvUmVjcmVhdGVbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udHJlZVRvUmVjcmVhdGVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMl0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicmVmZXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB0cmVlVG9SZWNyZWF0ZVswXSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udHJlZVRvUmVjcmVhdGVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFyYWxsZWxSb3V0ZUtleV06IHdhbGtBZGRSZWZldGNoKHNlZ21lbnRQYXRoVG9XYWxrLnNsaWNlKDIpLCB0cmVlVG9SZWNyZWF0ZVsxXVtwYXJhbGxlbFJvdXRlS2V5XSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRyZWVUb1JlY3JlYXRlO1xufVxuLy8gVE9ETy1BUFA6IFJlcGxhY2Ugd2l0aCBuZXcgUmVhY3QgQVBJIGZvciBmaW5kaW5nIGRvbSBub2RlcyB3aXRob3V0IGEgYHJlZmAgd2hlbiBhdmFpbGFibGVcbi8qKlxuICogV3JhcHMgUmVhY3RET00uZmluZERPTU5vZGUgd2l0aCBhZGRpdGlvbmFsIGxvZ2ljIHRvIGhpZGUgUmVhY3QgU3RyaWN0IE1vZGUgd2FybmluZ1xuICovIGZ1bmN0aW9uIGZpbmRET01Ob2RlKGluc3RhbmNlKSB7XG4gICAgLy8gVHJlZS1zaGFrZSBmb3Igc2VydmVyIGJ1bmRsZVxuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gbnVsbDtcbiAgICAvLyBPbmx5IGFwcGx5IHN0cmljdCBtb2RlIHdhcm5pbmcgd2hlbiBub3QgaW4gcHJvZHVjdGlvblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxDb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIG1lc3NhZ2VzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgc3RyaWN0IG1vZGUgd2FybmluZyBmb3IgdGhlIGZpbmREb21Ob2RlIGNhbGwgYmVsb3dcbiAgICAgICAgICAgICAgICBpZiAoIW1lc3NhZ2VzWzBdLmluY2x1ZGVzKFwiV2FybmluZzogJXMgaXMgZGVwcmVjYXRlZCBpbiBTdHJpY3RNb2RlLlwiKSkge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbENvbnNvbGVFcnJvciguLi5tZXNzYWdlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBfcmVhY3Rkb20uZGVmYXVsdC5maW5kRE9NTm9kZShpbnN0YW5jZSk7XG4gICAgICAgIH0gZmluYWxseXtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IgPSBvcmlnaW5hbENvbnNvbGVFcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gX3JlYWN0ZG9tLmRlZmF1bHQuZmluZERPTU5vZGUoaW5zdGFuY2UpO1xufVxuY29uc3QgcmVjdFByb3BlcnRpZXMgPSBbXG4gICAgXCJib3R0b21cIixcbiAgICBcImhlaWdodFwiLFxuICAgIFwibGVmdFwiLFxuICAgIFwicmlnaHRcIixcbiAgICBcInRvcFwiLFxuICAgIFwid2lkdGhcIixcbiAgICBcInhcIixcbiAgICBcInlcIlxuXTtcbi8qKlxuICogQ2hlY2sgaWYgYSBIVE1MRWxlbWVudCBpcyBoaWRkZW4gb3IgZml4ZWQvc3RpY2t5IHBvc2l0aW9uXG4gKi8gZnVuY3Rpb24gc2hvdWxkU2tpcEVsZW1lbnQoZWxlbWVudCkge1xuICAgIC8vIHdlIGlnbm9yZSBmaXhlZCBvciBzdGlja3kgcG9zaXRpb25lZCBlbGVtZW50cyBzaW5jZSB0aGV5J2xsIGxpa2VseSBwYXNzIHRoZSBcImluLXZpZXdwb3J0XCIgY2hlY2tcbiAgICAvLyBhbmQgd2lsbCByZXN1bHQgaW4gYSBzaXR1YXRpb24gd2UgYmFpbCBvbiBzY3JvbGwgYmVjYXVzZSBvZiBzb21ldGhpbmcgbGlrZSBhIGZpeGVkIG5hdixcbiAgICAvLyBldmVuIHRob3VnaCB0aGUgYWN0dWFsIHBhZ2UgY29udGVudCBpcyBvZmZzY3JlZW5cbiAgICBpZiAoW1xuICAgICAgICBcInN0aWNreVwiLFxuICAgICAgICBcImZpeGVkXCJcbiAgICBdLmluY2x1ZGVzKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24pKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJTa2lwcGluZyBhdXRvLXNjcm9sbCBiZWhhdmlvciBkdWUgdG8gYHBvc2l0aW9uOiBzdGlja3lgIG9yIGBwb3NpdGlvbjogZml4ZWRgIG9uIGVsZW1lbnQ6XCIsIGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBVc2VzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIHRvIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGhpZGRlbiBpbnN0ZWFkIG9mIGBvZmZzZXRQYXJlbnRgXG4gICAgLy8gYmVjYXVzZSBgb2Zmc2V0UGFyZW50YCBkb2Vzbid0IGNvbnNpZGVyIGRvY3VtZW50L2JvZHlcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gcmVjdFByb3BlcnRpZXMuZXZlcnkoKGl0ZW0pPT5yZWN0W2l0ZW1dID09PSAwKTtcbn1cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHRvcCBjb3JuZXIgb2YgdGhlIEhUTUxFbGVtZW50IGlzIGluIHRoZSB2aWV3cG9ydC5cbiAqLyBmdW5jdGlvbiB0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGVsZW1lbnQsIHZpZXdwb3J0SGVpZ2h0KSB7XG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHJlY3QudG9wID49IDAgJiYgcmVjdC50b3AgPD0gdmlld3BvcnRIZWlnaHQ7XG59XG4vKipcbiAqIEZpbmQgdGhlIERPTSBub2RlIGZvciBhIGhhc2ggZnJhZ21lbnQuXG4gKiBJZiBgdG9wYCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2UuIFRoaXMgbWlycm9ycyB0aGUgYnJvd3NlcidzIGJlaGF2aW9yLlxuICogSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYW4gaWQsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGVsZW1lbnQgd2l0aCB0aGF0IGlkLlxuICogSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYSBuYW1lLCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSBmaXJzdCBlbGVtZW50IHdpdGggdGhhdCBuYW1lLlxuICovIGZ1bmN0aW9uIGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KSB7XG4gICAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYHRvcGAgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlLlxuICAgIGlmIChoYXNoRnJhZ21lbnQgPT09IFwidG9wXCIpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gICAgfVxuICAgIHZhciBfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQ7XG4gICAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYW4gaWQsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGVsZW1lbnQgd2l0aCB0aGF0IGlkLlxuICAgIHJldHVybiAoX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KSkgIT0gbnVsbCA/IF9kb2N1bWVudF9nZXRFbGVtZW50QnlJZCA6IC8vIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGEgbmFtZSwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZmlyc3QgZWxlbWVudCB3aXRoIHRoYXQgbmFtZS5cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShoYXNoRnJhZ21lbnQpWzBdO1xufVxuY2xhc3MgSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpO1xuICAgIH1cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICAgIC8vIEJlY2F1c2UgdGhpcyBwcm9wZXJ0eSBpcyBvdmVyd3JpdHRlbiBpbiBoYW5kbGVQb3RlbnRpYWxTY3JvbGwgaXQncyBmaW5lIHRvIGFsd2F5cyBydW4gaXQgd2hlbiB0cnVlIGFzIGl0J2xsIGJlIHNldCB0byBmYWxzZSBmb3Igc3Vic2VxdWVudCByZW5kZXJzLlxuICAgICAgICBpZiAodGhpcy5wcm9wcy5mb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKXtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsID0gKCk9PntcbiAgICAgICAgICAgIC8vIEhhbmRsZSBzY3JvbGwgYW5kIGZvY3VzLCBpdCdzIG9ubHkgYXBwbGllZCBvbmNlIGluIHRoZSBmaXJzdCB1c2VFZmZlY3QgdGhhdCB0cmlnZ2VycyB0aGF0IGNoYW5nZWQuXG4gICAgICAgICAgICBjb25zdCB7IGZvY3VzQW5kU2Nyb2xsUmVmLCBzZWdtZW50UGF0aCB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgICAgICAgICAgIC8vIHNlZ21lbnRQYXRocyBpcyBhbiBhcnJheSBvZiBzZWdtZW50IHBhdGhzIHRoYXQgc2hvdWxkIGJlIHNjcm9sbGVkIHRvXG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgc2VnbWVudCBwYXRoIGlzIG5vdCBpbiB0aGUgYXJyYXksIHRoZSBzY3JvbGwgaXMgbm90IGFwcGxpZWRcbiAgICAgICAgICAgICAgICAvLyB1bmxlc3MgdGhlIGFycmF5IGlzIGVtcHR5LCBpbiB3aGljaCBjYXNlIHRoZSBzY3JvbGwgaXMgYWx3YXlzIGFwcGxpZWRcbiAgICAgICAgICAgICAgICBpZiAoZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLmxlbmd0aCAhPT0gMCAmJiAhZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLnNvbWUoKHNjcm9sbFJlZlNlZ21lbnRQYXRoKT0+c2VnbWVudFBhdGguZXZlcnkoKHNlZ21lbnQsIGluZGV4KT0+KDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoc2VnbWVudCwgc2Nyb2xsUmVmU2VnbWVudFBhdGhbaW5kZXhdKSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGV0IGRvbU5vZGUgPSBudWxsO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hGcmFnbWVudCA9IGZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudDtcbiAgICAgICAgICAgICAgICBpZiAoaGFzaEZyYWdtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBnZXRIYXNoRnJhZ21lbnREb21Ob2RlKGhhc2hGcmFnbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGBmaW5kRE9NTm9kZWAgaXMgdHJpY2t5IGJlY2F1c2UgaXQgcmV0dXJucyBqdXN0IHRoZSBmaXJzdCBjaGlsZCBpZiB0aGUgY29tcG9uZW50IGlzIGEgZnJhZ21lbnQuXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBhbHJlYWR5IGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgY2hpbGQgd2FzIGEgPGxpbmsvPiBpbiBoZWFkLlxuICAgICAgICAgICAgICAgIGlmICghZG9tTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBkb21Ob2RlID0gZmluZERPTU5vZGUodGhpcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIERPTSBub2RlIHRoaXMgbGF5b3V0LXJvdXRlciBsZXZlbCBpcyBza2lwcGVkLiBJdCdsbCBiZSBoYW5kbGVkIGhpZ2hlci11cCBpbiB0aGUgdHJlZS5cbiAgICAgICAgICAgICAgICBpZiAoIShkb21Ob2RlIGluc3RhbmNlb2YgRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBWZXJpZnkgaWYgdGhlIGVsZW1lbnQgaXMgYSBIVE1MRWxlbWVudCBhbmQgaWYgd2Ugd2FudCB0byBjb25zaWRlciBpdCBmb3Igc2Nyb2xsIGJlaGF2aW9yLlxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHNraXBwZWQsIHRyeSB0byBzZWxlY3QgdGhlIG5leHQgc2libGluZyBhbmQgdHJ5IGFnYWluLlxuICAgICAgICAgICAgICAgIHdoaWxlKCEoZG9tTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB8fCBzaG91bGRTa2lwRWxlbWVudChkb21Ob2RlKSl7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5vIHNpYmxpbmdzIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIGNyaXRlcmlhIGFyZSBmb3VuZCwgc28gaGFuZGxlIHNjcm9sbCBoaWdoZXIgdXAgaW4gdGhlIHRyZWUgaW5zdGVhZC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZG9tTm9kZSA9IGRvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBtdXRhdGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBmb2N1cyBhbmQgc2Nyb2xsIGlzIGFwcGxpZWQgb25seSBvbmNlLlxuICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHMgPSBbXTtcbiAgICAgICAgICAgICAgICAoMCwgX2hhbmRsZXNtb290aHNjcm9sbC5oYW5kbGVTbW9vdGhTY3JvbGwpKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgaGFzaCBzY3JvbGwsIHdlIG9ubHkgbmVlZCB0byBzY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbU5vZGUuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgY3VycmVudCB2aWV3cG9ydCBoZWlnaHQgYmVjYXVzZSByZWFkaW5nIGBjbGllbnRIZWlnaHRgIGNhdXNlcyBhIHJlZmxvdyxcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGl0IHdvbid0IGNoYW5nZSBkdXJpbmcgdGhpcyBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gaHRtbEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCdzIHRvcCBlZGdlIGlzIGFscmVhZHkgaW4gdGhlIHZpZXdwb3J0LCBleGl0IGVhcmx5LlxuICAgICAgICAgICAgICAgICAgICBpZiAodG9wT2ZFbGVtZW50SW5WaWV3cG9ydChkb21Ob2RlLCB2aWV3cG9ydEhlaWdodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIHRyeSBzY3JvbGxpbmcgZ28gdGhlIHRvcCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIHBhZ2VzXG4gICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbEludG9WaWV3KCkgY2FsbGVkIG9uIGA8aHRtbC8+YCBlbGVtZW50IHNjcm9sbHMgaG9yaXpvbnRhbGx5IG9uIGNocm9tZSBhbmQgZmlyZWZveCAodGhhdCBzaG91bGRuJ3QgaGFwcGVuKVxuICAgICAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCB1c2UgaXQgdG8gc2Nyb2xsIGhvcml6b250YWxseSBmb2xsb3dpbmcgUlRMIGJ1dCB0aGF0IGFsc28gc2VlbXMgdG8gYmUgYnJva2VuIC0gaXQgd2lsbCBhbHdheXMgc2Nyb2xsIGxlZnRcbiAgICAgICAgICAgICAgICAgICAgLy8gc2Nyb2xsTGVmdCA9IDAgYWxzbyBzZWVtcyB0byBpZ25vcmUgUlRMIGFuZCBtYW51YWxseSBjaGVja2luZyBmb3IgUlRMIGlzIHRvbyBtdWNoIGhhc3NsZSBzbyB3ZSB3aWxsIHNjcm9sbCBqdXN0IHZlcnRpY2FsbHlcbiAgICAgICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2Nyb2xsIHRvIGRvbU5vZGUgaWYgZG9tTm9kZSBpcyBub3QgaW4gdmlld3BvcnQgd2hlbiBzY3JvbGxlZCB0byB0b3Agb2YgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGRvbU5vZGUsIHZpZXdwb3J0SGVpZ2h0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9tTm9kZS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSB3aWxsIGZvcmNlIGxheW91dCBieSBxdWVyeWluZyBkb21Ob2RlIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIGRvbnRGb3JjZUxheW91dDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgb25seUhhc2hDaGFuZ2U6IGZvY3VzQW5kU2Nyb2xsUmVmLm9ubHlIYXNoQ2hhbmdlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gTXV0YXRlIGFmdGVyIHNjcm9sbGluZyBzbyB0aGF0IGl0IGNhbiBiZSByZWFkIGJ5IGBoYW5kbGVTbW9vdGhTY3JvbGxgXG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYub25seUhhc2hDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICBkb21Ob2RlLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuZnVuY3Rpb24gU2Nyb2xsQW5kRm9jdXNIYW5kbGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgc2VnbWVudFBhdGgsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBjb250ZXh0ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIsIHtcbiAgICAgICAgc2VnbWVudFBhdGg6IHNlZ21lbnRQYXRoLFxuICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZjogY29udGV4dC5mb2N1c0FuZFNjcm9sbFJlZixcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG4vKipcbiAqIElubmVyTGF5b3V0Um91dGVyIGhhbmRsZXMgcmVuZGVyaW5nIHRoZSBwcm92aWRlZCBzZWdtZW50IGJhc2VkIG9uIHRoZSBjYWNoZS5cbiAqLyBmdW5jdGlvbiBJbm5lckxheW91dFJvdXRlcihwYXJhbSkge1xuICAgIGxldCB7IHBhcmFsbGVsUm91dGVyS2V5LCB1cmwsIGNoaWxkTm9kZXMsIHNlZ21lbnRQYXRoLCB0cmVlLCAvLyBUT0RPLUFQUDogaW1wbGVtZW50IGA8T2Zmc2NyZWVuPmAgd2hlbiBhdmFpbGFibGUuXG4gICAgLy8gaXNBY3RpdmUsXG4gICAgY2FjaGVLZXkgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGNvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkXCIpO1xuICAgIH1cbiAgICBjb25zdCB7IGJ1aWxkSWQsIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2UsIHRyZWU6IGZ1bGxUcmVlIH0gPSBjb250ZXh0O1xuICAgIC8vIFJlYWQgc2VnbWVudCBwYXRoIGZyb20gdGhlIHBhcmFsbGVsIHJvdXRlciBjYWNoZSBub2RlLlxuICAgIGxldCBjaGlsZE5vZGUgPSBjaGlsZE5vZGVzLmdldChjYWNoZUtleSk7XG4gICAgLy8gV2hlbiBkYXRhIGlzIG5vdCBhdmFpbGFibGUgZHVyaW5nIHJlbmRlcmluZyBjbGllbnQtc2lkZSB3ZSBuZWVkIHRvIGZldGNoXG4gICAgLy8gaXQgZnJvbSB0aGUgc2VydmVyLlxuICAgIGlmIChjaGlsZE5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBuZXdMYXp5Q2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgICAgICByc2M6IG51bGwsXG4gICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgIGhlYWQ6IG51bGwsXG4gICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpXG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAqIEZsaWdodCBkYXRhIGZldGNoIGtpY2tlZCBvZmYgZHVyaW5nIHJlbmRlciBhbmQgcHV0IGludG8gdGhlIGNhY2hlLlxuICAgICAqLyBjaGlsZE5vZGUgPSBuZXdMYXp5Q2FjaGVOb2RlO1xuICAgICAgICBjaGlsZE5vZGVzLnNldChjYWNoZUtleSwgbmV3TGF6eUNhY2hlTm9kZSk7XG4gICAgfVxuICAgIC8vIGByc2NgIHJlcHJlc2VudHMgdGhlIHJlbmRlcmFibGUgbm9kZSBmb3IgdGhpcyBzZWdtZW50LlxuICAgIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hSc2NgLCBpdCdzIHRoZSBzdGF0aWNhbGx5IHByZWZldGNoZWQgZGF0YS5cbiAgICAvLyBXZSBzaG91bGQgdXNlIHRoYXQgb24gaW5pdGlhbCByZW5kZXIgaW5zdGVhZCBvZiBgcnNjYC4gVGhlbiB3ZSdsbCBzd2l0Y2hcbiAgICAvLyB0byBgcnNjYCB3aGVuIHRoZSBkeW5hbWljIHJlc3BvbnNlIHN0cmVhbXMgaW4uXG4gICAgLy9cbiAgICAvLyBJZiBubyBwcmVmZXRjaCBkYXRhIGlzIGF2YWlsYWJsZSwgdGhlbiB3ZSBnbyBzdHJhaWdodCB0byByZW5kZXJpbmcgYHJzY2AuXG4gICAgY29uc3QgcmVzb2x2ZWRQcmVmZXRjaFJzYyA9IGNoaWxkTm9kZS5wcmVmZXRjaFJzYyAhPT0gbnVsbCA/IGNoaWxkTm9kZS5wcmVmZXRjaFJzYyA6IGNoaWxkTm9kZS5yc2M7XG4gICAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gICAgLy8gZmluYWwgdmFsdWVzLiBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHJldHVybmVkIG9uIGluaXRpYWwgcmVuZGVyLCB0aGVuIGl0XG4gICAgLy8gcmUtcmVuZGVycyB3aXRoIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAgICAvL1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVGhlIHNlY29uZCBhcmd1bWVudCB0byBgdXNlRGVmZXJyZWRWYWx1ZWAgaXMgb25seVxuICAgIC8vIGF2YWlsYWJsZSBpbiB0aGUgZXhwZXJpbWVudGFsIGJ1aWxkcy4gV2hlbiBpdHMgZGlzYWJsZWQsIGl0IHdpbGwgYWx3YXlzXG4gICAgLy8gcmV0dXJuIGByc2NgLlxuICAgIGNvbnN0IHJzYyA9ICgwLCBfcmVhY3QudXNlRGVmZXJyZWRWYWx1ZSkoY2hpbGROb2RlLnJzYywgcmVzb2x2ZWRQcmVmZXRjaFJzYyk7XG4gICAgLy8gYHJzY2AgaXMgZWl0aGVyIGEgUmVhY3Qgbm9kZSBvciBhIHByb21pc2UgZm9yIGEgUmVhY3Qgbm9kZSwgZXhjZXB0IHdlXG4gICAgLy8gc3BlY2lhbCBjYXNlIGBudWxsYCB0byByZXByZXNlbnQgdGhhdCB0aGlzIHNlZ21lbnQncyBkYXRhIGlzIG1pc3NpbmcuIElmXG4gICAgLy8gaXQncyBhIHByb21pc2UsIHdlIG5lZWQgdG8gdW53cmFwIGl0IHNvIHdlIGNhbiBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlXG4gICAgLy8gZGF0YSBpcyBtaXNzaW5nLlxuICAgIGNvbnN0IHJlc29sdmVkUnNjID0gdHlwZW9mIHJzYyA9PT0gXCJvYmplY3RcIiAmJiByc2MgIT09IG51bGwgJiYgdHlwZW9mIHJzYy50aGVuID09PSBcImZ1bmN0aW9uXCIgPyAoMCwgX3JlYWN0LnVzZSkocnNjKSA6IHJzYztcbiAgICBpZiAoIXJlc29sdmVkUnNjKSB7XG4gICAgICAgIC8vIFRoZSBkYXRhIGZvciB0aGlzIHNlZ21lbnQgaXMgbm90IGF2YWlsYWJsZSwgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZ1xuICAgICAgICAvLyBuYXZpZ2F0aW9uIHRoYXQgd2lsbCBiZSBhYmxlIHRvIGZ1bGZpbGwgaXQuIFdlIG5lZWQgdG8gZmV0Y2ggbW9yZSBmcm9tXG4gICAgICAgIC8vIHRoZSBzZXJ2ZXIgYW5kIHBhdGNoIHRoZSBjYWNoZS5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBhbHJlYWR5IGEgcGVuZGluZyByZXF1ZXN0LlxuICAgICAgICBsZXQgbGF6eURhdGEgPSBjaGlsZE5vZGUubGF6eURhdGE7XG4gICAgICAgIGlmIChsYXp5RGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgKiBSb3V0ZXIgc3RhdGUgd2l0aCByZWZldGNoIG1hcmtlciBhZGRlZFxuICAgICAgICovIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgIGNvbnN0IHJlZmV0Y2hUcmVlID0gd2Fsa0FkZFJlZmV0Y2goW1xuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAgLi4uc2VnbWVudFBhdGhcbiAgICAgICAgICAgIF0sIGZ1bGxUcmVlKTtcbiAgICAgICAgICAgIGNoaWxkTm9kZS5sYXp5RGF0YSA9IGxhenlEYXRhID0gKDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pLCByZWZldGNoVHJlZSwgY29udGV4dC5uZXh0VXJsLCBidWlsZElkKTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgKiBGbGlnaHQgcmVzcG9uc2UgZGF0YVxuICAgICAqLyAvLyBXaGVuIHRoZSBkYXRhIGhhcyBub3QgcmVzb2x2ZWQgeWV0IGB1c2VgIHdpbGwgc3VzcGVuZCBoZXJlLlxuICAgICAgICBjb25zdCBbZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmxdID0gKDAsIF9yZWFjdC51c2UpKGxhenlEYXRhKTtcbiAgICAgICAgLy8gc2VnbWVudFBhdGggZnJvbSB0aGUgc2VydmVyIGRvZXMgbm90IG1hdGNoIHRoZSBsYXlvdXQncyBzZWdtZW50UGF0aFxuICAgICAgICBjaGlsZE5vZGUubGF6eURhdGEgPSBudWxsO1xuICAgICAgICAvLyBzZXRUaW1lb3V0IGlzIHVzZWQgdG8gc3RhcnQgYSBuZXcgdHJhbnNpdGlvbiBkdXJpbmcgcmVuZGVyLCB0aGlzIGlzIGFuIGludGVudGlvbmFsIGhhY2sgYXJvdW5kIFJlYWN0LlxuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlKGZ1bGxUcmVlLCBmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFN1c3BlbmQgaW5maW5pdGVseSBhcyBgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZWAgd2lsbCBjYXVzZSBhIGRpZmZlcmVudCBwYXJ0IG9mIHRoZSB0cmVlIHRvIGJlIHJlbmRlcmVkLlxuICAgICAgICAoMCwgX3JlYWN0LnVzZSkoKDAsIF9pbmZpbml0ZXByb21pc2UuY3JlYXRlSW5maW5pdGVQcm9taXNlKSgpKTtcbiAgICB9XG4gICAgLy8gSWYgd2UgZ2V0IHRvIHRoaXMgcG9pbnQsIHRoZW4gd2Uga25vdyB3ZSBoYXZlIHNvbWV0aGluZyB3ZSBjYW4gcmVuZGVyLlxuICAgIGNvbnN0IHN1YnRyZWUgPSAvLyBUaGUgbGF5b3V0IHJvdXRlciBjb250ZXh0IG5hcnJvd3MgZG93biB0cmVlIGFuZCBjaGlsZE5vZGVzIGF0IGVhY2ggbGV2ZWwuXG4gICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHJlZTogdHJlZVsxXVtwYXJhbGxlbFJvdXRlcktleV0sXG4gICAgICAgICAgICBjaGlsZE5vZGVzOiBjaGlsZE5vZGUucGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgICAgICAvLyBUT0RPLUFQUDogb3ZlcnJpZGluZyBvZiB1cmwgZm9yIHBhcmFsbGVsIHJvdXRlc1xuICAgICAgICAgICAgdXJsOiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IHJlc29sdmVkUnNjXG4gICAgfSk7XG4gICAgLy8gRW5zdXJlIHJvb3QgbGF5b3V0IGlzIG5vdCB3cmFwcGVkIGluIGEgZGl2IGFzIHRoZSByb290IGxheW91dCByZW5kZXJzIGA8aHRtbD5gXG4gICAgcmV0dXJuIHN1YnRyZWU7XG59XG4vKipcbiAqIFJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgd2l0aCB0aGUgcHJvdmlkZWQgXCJsb2FkaW5nXCIgcHJvcGVydHkgYXMgdGhlIGZhbGxiYWNrLlxuICogSWYgbm8gbG9hZGluZyBwcm9wZXJ0eSBpcyBwcm92aWRlZCBpdCByZW5kZXJzIHRoZSBjaGlsZHJlbiB3aXRob3V0IGEgc3VzcGVuc2UgYm91bmRhcnkuXG4gKi8gZnVuY3Rpb24gTG9hZGluZ0JvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGxvYWRpbmcsIGxvYWRpbmdTdHlsZXMsIGxvYWRpbmdTY3JpcHRzLCBoYXNMb2FkaW5nIH0gPSBwYXJhbTtcbiAgICBpZiAoaGFzTG9hZGluZykge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfcmVhY3QuU3VzcGVuc2UsIHtcbiAgICAgICAgICAgIGZhbGxiYWNrOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuZnVuY3Rpb24gT3V0ZXJMYXlvdXRSb3V0ZXIocGFyYW0pIHtcbiAgICBsZXQgeyBwYXJhbGxlbFJvdXRlcktleSwgc2VnbWVudFBhdGgsIGVycm9yLCBlcnJvclN0eWxlcywgZXJyb3JTY3JpcHRzLCB0ZW1wbGF0ZVN0eWxlcywgdGVtcGxhdGVTY3JpcHRzLCBsb2FkaW5nLCBsb2FkaW5nU3R5bGVzLCBsb2FkaW5nU2NyaXB0cywgaGFzTG9hZGluZywgdGVtcGxhdGUsIG5vdEZvdW5kLCBub3RGb3VuZFN0eWxlcywgc3R5bGVzIH0gPSBwYXJhbTtcbiAgICBjb25zdCBjb250ZXh0ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFyaWFudCBleHBlY3RlZCBsYXlvdXQgcm91dGVyIHRvIGJlIG1vdW50ZWRcIik7XG4gICAgfVxuICAgIGNvbnN0IHsgY2hpbGROb2RlcywgdHJlZSwgdXJsIH0gPSBjb250ZXh0O1xuICAgIC8vIEdldCB0aGUgY3VycmVudCBwYXJhbGxlbFJvdXRlciBjYWNoZSBub2RlXG4gICAgbGV0IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IGNoaWxkTm9kZXMuZ2V0KHBhcmFsbGVsUm91dGVyS2V5KTtcbiAgICAvLyBJZiB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUgZG9lcyBub3QgZXhpc3QgeWV0LCBjcmVhdGUgaXQuXG4gICAgLy8gVGhpcyB3cml0ZXMgdG8gdGhlIGNhY2hlIHdoZW4gdGhlcmUgaXMgbm8gaXRlbSBpbiB0aGUgY2FjaGUgeWV0LiBJdCBuZXZlciAqb3ZlcndyaXRlcyogZXhpc3RpbmcgY2FjaGUgaXRlbXMgd2hpY2ggaXMgd2h5IGl0J3Mgc2FmZSBpbiBjb25jdXJyZW50IG1vZGUuXG4gICAgaWYgKCFjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpIHtcbiAgICAgICAgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyID0gbmV3IE1hcCgpO1xuICAgICAgICBjaGlsZE5vZGVzLnNldChwYXJhbGxlbFJvdXRlcktleSwgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyKTtcbiAgICB9XG4gICAgLy8gR2V0IHRoZSBhY3RpdmUgc2VnbWVudCBpbiB0aGUgdHJlZVxuICAgIC8vIFRoZSByZWFzb24gYXJyYXlzIGFyZSB1c2VkIGluIHRoZSBkYXRhIGZvcm1hdCBpcyB0aGF0IHRoZXNlIGFyZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBzZXJ2ZXIgdG8gdGhlIGJyb3dzZXIgc28gaXQncyBvcHRpbWl6ZWQgdG8gc2F2ZSBieXRlcy5cbiAgICBjb25zdCB0cmVlU2VnbWVudCA9IHRyZWVbMV1bcGFyYWxsZWxSb3V0ZXJLZXldWzBdO1xuICAgIC8vIElmIHNlZ21lbnQgaXMgYW4gYXJyYXkgaXQncyBhIGR5bmFtaWMgcm91dGUgYW5kIHdlIHdhbnQgdG8gcmVhZCB0aGUgZHluYW1pYyByb3V0ZSB2YWx1ZSBhcyB0aGUgc2VnbWVudCB0byBnZXQgZnJvbSB0aGUgY2FjaGUuXG4gICAgY29uc3QgY3VycmVudENoaWxkU2VnbWVudFZhbHVlID0gKDAsIF9nZXRzZWdtZW50dmFsdWUuZ2V0U2VnbWVudFZhbHVlKSh0cmVlU2VnbWVudCk7XG4gICAgLyoqXG4gICAqIERlY2lkZXMgd2hpY2ggc2VnbWVudHMgdG8ga2VlcCByZW5kZXJpbmcsIGFsbCBzZWdtZW50cyB0aGF0IGFyZSBub3QgYWN0aXZlIHdpbGwgYmUgd3JhcHBlZCBpbiBgPE9mZnNjcmVlbj5gLlxuICAgKi8gLy8gVE9ETy1BUFA6IEFkZCBoYW5kbGluZyBvZiBgPE9mZnNjcmVlbj5gIHdoZW4gaXQncyBhdmFpbGFibGUuXG4gICAgY29uc3QgcHJlc2VydmVkU2VnbWVudHMgPSBbXG4gICAgICAgIHRyZWVTZWdtZW50XG4gICAgXTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHN0eWxlcyxcbiAgICAgICAgICAgIHByZXNlcnZlZFNlZ21lbnRzLm1hcCgocHJlc2VydmVkU2VnbWVudCk9PntcbiAgICAgICAgICAgICAgICBjb25zdCBwcmVzZXJ2ZWRTZWdtZW50VmFsdWUgPSAoMCwgX2dldHNlZ21lbnR2YWx1ZS5nZXRTZWdtZW50VmFsdWUpKHByZXNlcnZlZFNlZ21lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkocHJlc2VydmVkU2VnbWVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuKC8qXG4gICAgICAgICAgICAtIEVycm9yIGJvdW5kYXJ5XG4gICAgICAgICAgICAgIC0gT25seSByZW5kZXJzIGVycm9yIGJvdW5kYXJ5IGlmIGVycm9yIGNvbXBvbmVudCBpcyBwcm92aWRlZC5cbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGVycm9yIHN0YXRlLlxuICAgICAgICAgICAgLSBMb2FkaW5nIGJvdW5kYXJ5XG4gICAgICAgICAgICAgIC0gT25seSByZW5kZXJzIHN1c3BlbnNlIGJvdW5kYXJ5IGlmIGxvYWRpbmcgY29tcG9uZW50cyBpcyBwcm92aWRlZC5cbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGxvYWRpbmcgc3RhdGUuXG4gICAgICAgICAgICAgIC0gUGFzc2VkIHRvIHRoZSByb3V0ZXIgZHVyaW5nIHJlbmRlcmluZyB0byBlbnN1cmUgaXQgY2FuIGJlIGltbWVkaWF0ZWx5IHJlbmRlcmVkIHdoZW4gc3VzcGVuZGluZyBvbiBhIEZsaWdodCBmZXRjaC5cbiAgICAgICAgICAqLyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFNjcm9sbEFuZEZvY3VzSGFuZGxlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudFBhdGg6IHNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2Vycm9yYm91bmRhcnkuRXJyb3JCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQ29tcG9uZW50OiBlcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclN0eWxlczogZXJyb3JTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JTY3JpcHRzOiBlcnJvclNjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTG9hZGluZ0JvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0xvYWRpbmc6IGhhc0xvYWRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc6IGxvYWRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTdHlsZXM6IGxvYWRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTY3JpcHRzOiBsb2FkaW5nU2NyaXB0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX25vdGZvdW5kYm91bmRhcnkuTm90Rm91bmRCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmQ6IG5vdEZvdW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmRTdHlsZXM6IG5vdEZvdW5kU3R5bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX3JlZGlyZWN0Ym91bmRhcnkuUmVkaXJlY3RCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKElubmVyTGF5b3V0Um91dGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVyS2V5OiBwYXJhbGxlbFJvdXRlcktleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWU6IHRyZWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudFBhdGg6IHNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleTogY2FjaGVLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUgPT09IHByZXNlcnZlZFNlZ21lbnRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlU3R5bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHByZXNlcnZlZFNlZ21lbnQsIHRydWUpKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxheW91dC1yb3V0ZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIk91dGVyTGF5b3V0Um91dGVyIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfcmVhY3Rkb20iLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfZmV0Y2hzZXJ2ZXJyZXNwb25zZSIsIl9pbmZpbml0ZXByb21pc2UiLCJfZXJyb3Jib3VuZGFyeSIsIl9tYXRjaHNlZ21lbnRzIiwiX2hhbmRsZXNtb290aHNjcm9sbCIsIl9yZWRpcmVjdGJvdW5kYXJ5IiwiX25vdGZvdW5kYm91bmRhcnkiLCJfZ2V0c2VnbWVudHZhbHVlIiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5Iiwid2Fsa0FkZFJlZmV0Y2giLCJzZWdtZW50UGF0aFRvV2FsayIsInRyZWVUb1JlY3JlYXRlIiwic2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJpc0xhc3QiLCJsZW5ndGgiLCJtYXRjaFNlZ21lbnQiLCJoYXNPd25Qcm9wZXJ0eSIsInN1YlRyZWUiLCJ1bmRlZmluZWQiLCJzbGljZSIsImZpbmRET01Ob2RlIiwiaW5zdGFuY2UiLCJwcm9jZXNzIiwib3JpZ2luYWxDb25zb2xlRXJyb3IiLCJjb25zb2xlIiwiZXJyb3IiLCJfbGVuIiwiYXJndW1lbnRzIiwibWVzc2FnZXMiLCJBcnJheSIsIl9rZXkiLCJpbmNsdWRlcyIsImRlZmF1bHQiLCJyZWN0UHJvcGVydGllcyIsInNob3VsZFNraXBFbGVtZW50IiwiZWxlbWVudCIsImdldENvbXB1dGVkU3R5bGUiLCJwb3NpdGlvbiIsIndhcm4iLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiZXZlcnkiLCJpdGVtIiwidG9wT2ZFbGVtZW50SW5WaWV3cG9ydCIsInZpZXdwb3J0SGVpZ2h0IiwidG9wIiwiZ2V0SGFzaEZyYWdtZW50RG9tTm9kZSIsImhhc2hGcmFnbWVudCIsImRvY3VtZW50IiwiYm9keSIsIl9kb2N1bWVudF9nZXRFbGVtZW50QnlJZCIsImdldEVsZW1lbnRCeUlkIiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciIsIkNvbXBvbmVudCIsImNvbXBvbmVudERpZE1vdW50IiwiaGFuZGxlUG90ZW50aWFsU2Nyb2xsIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJvcHMiLCJmb2N1c0FuZFNjcm9sbFJlZiIsImFwcGx5IiwicmVuZGVyIiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJzZWdtZW50UGF0aCIsInNlZ21lbnRQYXRocyIsInNvbWUiLCJzY3JvbGxSZWZTZWdtZW50UGF0aCIsImluZGV4IiwiZG9tTm9kZSIsIkVsZW1lbnQiLCJIVE1MRWxlbWVudCIsIm5leHRFbGVtZW50U2libGluZyIsImhhbmRsZVNtb290aFNjcm9sbCIsInNjcm9sbEludG9WaWV3IiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxUb3AiLCJkb250Rm9yY2VMYXlvdXQiLCJvbmx5SGFzaENoYW5nZSIsImZvY3VzIiwiU2Nyb2xsQW5kRm9jdXNIYW5kbGVyIiwicGFyYW0iLCJjb250ZXh0IiwidXNlQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJFcnJvciIsImpzeCIsIklubmVyTGF5b3V0Um91dGVyIiwicGFyYWxsZWxSb3V0ZXJLZXkiLCJ1cmwiLCJjaGlsZE5vZGVzIiwidHJlZSIsImNhY2hlS2V5IiwiYnVpbGRJZCIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJmdWxsVHJlZSIsImNoaWxkTm9kZSIsIm5ld0xhenlDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwic2V0IiwicmVzb2x2ZWRQcmVmZXRjaFJzYyIsInVzZURlZmVycmVkVmFsdWUiLCJyZXNvbHZlZFJzYyIsInRoZW4iLCJ1c2UiLCJyZWZldGNoVHJlZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJsb2NhdGlvbiIsIm9yaWdpbiIsIm5leHRVcmwiLCJmbGlnaHREYXRhIiwib3ZlcnJpZGVDYW5vbmljYWxVcmwiLCJzZXRUaW1lb3V0Iiwic3RhcnRUcmFuc2l0aW9uIiwiY3JlYXRlSW5maW5pdGVQcm9taXNlIiwic3VidHJlZSIsIkxheW91dFJvdXRlckNvbnRleHQiLCJQcm92aWRlciIsIkxvYWRpbmdCb3VuZGFyeSIsImxvYWRpbmciLCJsb2FkaW5nU3R5bGVzIiwibG9hZGluZ1NjcmlwdHMiLCJoYXNMb2FkaW5nIiwiU3VzcGVuc2UiLCJmYWxsYmFjayIsImpzeHMiLCJGcmFnbWVudCIsImVycm9yU3R5bGVzIiwiZXJyb3JTY3JpcHRzIiwidGVtcGxhdGVTdHlsZXMiLCJ0ZW1wbGF0ZVNjcmlwdHMiLCJ0ZW1wbGF0ZSIsIm5vdEZvdW5kIiwibm90Rm91bmRTdHlsZXMiLCJzdHlsZXMiLCJjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIiLCJ0cmVlU2VnbWVudCIsImN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSIsImdldFNlZ21lbnRWYWx1ZSIsInByZXNlcnZlZFNlZ21lbnRzIiwibWFwIiwicHJlc2VydmVkU2VnbWVudCIsInByZXNlcnZlZFNlZ21lbnRWYWx1ZSIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiVGVtcGxhdGVDb250ZXh0IiwiRXJyb3JCb3VuZGFyeSIsImVycm9yQ29tcG9uZW50IiwiTm90Rm91bmRCb3VuZGFyeSIsIlJlZGlyZWN0Qm91bmRhcnkiLCJpc0FjdGl2ZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/match-segments.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/match-segments.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n matchSegment: function() {\n return matchSegment;\n },\n canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n }\n});\nconst _getsegmentparam = __webpack_require__(/*! ../../server/app-render/get-segment-param */ \"(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\");\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === \"string\") {\n if (typeof segment === \"string\") {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === \"string\") {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\n};\nconst canSegmentBeOverridden = (existingSegment, segment)=>{\n var _getSegmentParam;\n if (Array.isArray(existingSegment) || !Array.isArray(segment)) {\n return false;\n }\n return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=match-segments.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sbUJBQW1CQyxtQkFBT0EsQ0FBQyx3SEFBMkM7QUFDNUUsTUFBTVQsZUFBZSxDQUFDVSxpQkFBaUJDO0lBQ25DLG9DQUFvQztJQUNwQyxJQUFJLE9BQU9ELG9CQUFvQixVQUFVO1FBQ3JDLElBQUksT0FBT0MsWUFBWSxVQUFVO1lBQzdCLHdDQUF3QztZQUN4QyxPQUFPRCxvQkFBb0JDO1FBQy9CO1FBQ0EsT0FBTztJQUNYO0lBQ0EsSUFBSSxPQUFPQSxZQUFZLFVBQVU7UUFDN0IsT0FBTztJQUNYO0lBQ0EsT0FBT0QsZUFBZSxDQUFDLEVBQUUsS0FBS0MsT0FBTyxDQUFDLEVBQUUsSUFBSUQsZUFBZSxDQUFDLEVBQUUsS0FBS0MsT0FBTyxDQUFDLEVBQUU7QUFDakY7QUFDQSxNQUFNVix5QkFBeUIsQ0FBQ1MsaUJBQWlCQztJQUM3QyxJQUFJQztJQUNKLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0osb0JBQW9CLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0gsVUFBVTtRQUMzRCxPQUFPO0lBQ1g7SUFDQSxPQUFPLENBQUMsQ0FBQ0MsbUJBQW1CLENBQUMsR0FBR0osaUJBQWlCTyxlQUFlLEVBQUVMLGdCQUFlLEtBQU0sT0FBTyxLQUFLLElBQUlFLGlCQUFpQkksS0FBSyxNQUFNTCxPQUFPLENBQUMsRUFBRTtBQUNqSjtBQUVBLElBQUksQ0FBQyxPQUFPZCxRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9tYXRjaC1zZWdtZW50cy5qcz9iY2IxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbWF0Y2hTZWdtZW50OiBudWxsLFxuICAgIGNhblNlZ21lbnRCZU92ZXJyaWRkZW46IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgbWF0Y2hTZWdtZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoU2VnbWVudDtcbiAgICB9LFxuICAgIGNhblNlZ21lbnRCZU92ZXJyaWRkZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY2FuU2VnbWVudEJlT3ZlcnJpZGRlbjtcbiAgICB9XG59KTtcbmNvbnN0IF9nZXRzZWdtZW50cGFyYW0gPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvZ2V0LXNlZ21lbnQtcGFyYW1cIik7XG5jb25zdCBtYXRjaFNlZ21lbnQgPSAoZXhpc3RpbmdTZWdtZW50LCBzZWdtZW50KT0+e1xuICAgIC8vIHNlZ21lbnQgaXMgZWl0aGVyIEFycmF5IG9yIHN0cmluZ1xuICAgIGlmICh0eXBlb2YgZXhpc3RpbmdTZWdtZW50ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGlmICh0eXBlb2Ygc2VnbWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgLy8gQ29tbW9uIGNhc2U6IHNlZ21lbnQgaXMganVzdCBhIHN0cmluZ1xuICAgICAgICAgICAgcmV0dXJuIGV4aXN0aW5nU2VnbWVudCA9PT0gc2VnbWVudDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0eXBlb2Ygc2VnbWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBleGlzdGluZ1NlZ21lbnRbMF0gPT09IHNlZ21lbnRbMF0gJiYgZXhpc3RpbmdTZWdtZW50WzFdID09PSBzZWdtZW50WzFdO1xufTtcbmNvbnN0IGNhblNlZ21lbnRCZU92ZXJyaWRkZW4gPSAoZXhpc3RpbmdTZWdtZW50LCBzZWdtZW50KT0+e1xuICAgIHZhciBfZ2V0U2VnbWVudFBhcmFtO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGV4aXN0aW5nU2VnbWVudCkgfHwgIUFycmF5LmlzQXJyYXkoc2VnbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gKChfZ2V0U2VnbWVudFBhcmFtID0gKDAsIF9nZXRzZWdtZW50cGFyYW0uZ2V0U2VnbWVudFBhcmFtKShleGlzdGluZ1NlZ21lbnQpKSA9PSBudWxsID8gdm9pZCAwIDogX2dldFNlZ21lbnRQYXJhbS5wYXJhbSkgPT09IHNlZ21lbnRbMF07XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tYXRjaC1zZWdtZW50cy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJtYXRjaFNlZ21lbnQiLCJjYW5TZWdtZW50QmVPdmVycmlkZGVuIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2dldHNlZ21lbnRwYXJhbSIsInJlcXVpcmUiLCJleGlzdGluZ1NlZ21lbnQiLCJzZWdtZW50IiwiX2dldFNlZ21lbnRQYXJhbSIsIkFycmF5IiwiaXNBcnJheSIsImdldFNlZ21lbnRQYXJhbSIsInBhcmFtIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/match-segments.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/navigation.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n usePathname: function() {\n return usePathname;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n },\n useRouter: function() {\n return useRouter;\n },\n useParams: function() {\n return useParams;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n redirect: function() {\n return _redirect.redirect;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _clienthookinservercomponenterror = __webpack_require__(/*! ./client-hook-in-server-component-error */ \"(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst INTERNAL_URLSEARCHPARAMS_INSTANCE = Symbol(\"internal for urlsearchparams readonly\");\nfunction readonlyURLSearchParamsError() {\n return new Error(\"ReadonlyURLSearchParams cannot be modified\");\n}\nclass ReadonlyURLSearchParams {\n [Symbol.iterator]() {\n return this[INTERNAL_URLSEARCHPARAMS_INSTANCE][Symbol.iterator]();\n }\n append() {\n throw readonlyURLSearchParamsError();\n }\n delete() {\n throw readonlyURLSearchParamsError();\n }\n set() {\n throw readonlyURLSearchParamsError();\n }\n sort() {\n throw readonlyURLSearchParamsError();\n }\n constructor(urlSearchParams){\n this[INTERNAL_URLSEARCHPARAMS_INSTANCE] = urlSearchParams;\n this.entries = urlSearchParams.entries.bind(urlSearchParams);\n this.forEach = urlSearchParams.forEach.bind(urlSearchParams);\n this.get = urlSearchParams.get.bind(urlSearchParams);\n this.getAll = urlSearchParams.getAll.bind(urlSearchParams);\n this.has = urlSearchParams.has.bind(urlSearchParams);\n this.keys = urlSearchParams.keys.bind(urlSearchParams);\n this.values = urlSearchParams.values.bind(urlSearchParams);\n this.toString = urlSearchParams.toString.bind(urlSearchParams);\n this.size = urlSearchParams.size;\n }\n}\nfunction useSearchParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSearchParams\");\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\nfunction usePathname() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"usePathname\");\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\nfunction useRouter() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useRouter\");\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(tree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = tree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction useParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useParams\");\n const globalLayoutRouter = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n const pathParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n return (0, _react.useMemo)(()=>{\n // When it's under app router\n if (globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree) {\n return getSelectedParams(globalLayoutRouter.tree);\n }\n // When it's under client side pages router\n return pathParams;\n }, [\n globalLayoutRouter == null ? void 0 : globalLayoutRouter.tree,\n pathParams\n ]);\n}\n// TODO-APP: handle parallel routes\n/**\n * Get the canonical parameters from the current level to the leaf node.\n */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\nfunction useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegments\");\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n return getSelectedLayoutSegmentPath(tree, parallelRouteKey);\n}\nfunction useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegment\");\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (selectedLayoutSegments.length === 0) {\n return null;\n }\n return selectedLayoutSegments[0];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FjTjtBQUNBLFNBQVNjLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlwQixPQUFPQyxjQUFjLENBQUNrQixRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFoQixTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9nQixpQ0FBaUNoQix5QkFBeUI7SUFDckU7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9lLGlDQUFpQ2YscUJBQXFCO0lBQ2pFO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPVyxVQUFVWCxRQUFRO0lBQzdCO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9VLFVBQVVWLGlCQUFpQjtJQUN0QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1MsVUFBVVQsWUFBWTtJQUNqQztJQUNBQyxVQUFVO1FBQ04sT0FBT1MsVUFBVVQsUUFBUTtJQUM3QjtBQUNKO0FBQ0EsTUFBTVUsU0FBU0MsbUJBQU9BLENBQUMsd0dBQU87QUFDOUIsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyx1S0FBb0Q7QUFDbkcsTUFBTUUsbUNBQW1DRixtQkFBT0EsQ0FBQywyS0FBc0Q7QUFD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U0FBU3pFLDBCQUEwQnVFLGdCQUFnQjtJQUMvQyxJQUFJQSxxQkFBcUIsS0FBSyxHQUFHQSxtQkFBbUI7SUFDbkQsSUFBR3BELGtDQUFrQ3VCLGdDQUFnQyxFQUFFO0lBQ3hFLE1BQU0sRUFBRVcsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHdEMsT0FBTzZCLFVBQVUsRUFBRTNCLCtCQUErQjhELG1CQUFtQjtJQUMxRixPQUFPVCw2QkFBNkJqQixNQUFNa0I7QUFDOUM7QUFDQSxTQUFTdEUseUJBQXlCc0UsZ0JBQWdCO0lBQzlDLElBQUlBLHFCQUFxQixLQUFLLEdBQUdBLG1CQUFtQjtJQUNuRCxJQUFHcEQsa0NBQWtDdUIsZ0NBQWdDLEVBQUU7SUFDeEUsTUFBTXNDLHlCQUF5QmhGLDBCQUEwQnVFO0lBQ3pELElBQUlTLHVCQUF1QkMsTUFBTSxLQUFLLEdBQUc7UUFDckMsT0FBTztJQUNYO0lBQ0EsT0FBT0Qsc0JBQXNCLENBQUMsRUFBRTtBQUNwQztBQUVBLElBQUksQ0FBQyxPQUFPMUYsUUFBUTRGLE9BQU8sS0FBSyxjQUFlLE9BQU81RixRQUFRNEYsT0FBTyxLQUFLLFlBQVk1RixRQUFRNEYsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPNUYsUUFBUTRGLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcksvRixPQUFPQyxjQUFjLENBQUNDLFFBQVE0RixPQUFPLEVBQUUsY0FBYztRQUFFM0YsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0csTUFBTSxDQUFDOUYsUUFBUTRGLE9BQU8sRUFBRTVGO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE0RixPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5qcz8zNDgyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXM6IG51bGwsXG4gICAgdXNlU2VhcmNoUGFyYW1zOiBudWxsLFxuICAgIHVzZVBhdGhuYW1lOiBudWxsLFxuICAgIFNlcnZlckluc2VydGVkSFRNTENvbnRleHQ6IG51bGwsXG4gICAgdXNlU2VydmVySW5zZXJ0ZWRIVE1MOiBudWxsLFxuICAgIHVzZVJvdXRlcjogbnVsbCxcbiAgICB1c2VQYXJhbXM6IG51bGwsXG4gICAgdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czogbnVsbCxcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6IG51bGwsXG4gICAgcmVkaXJlY3Q6IG51bGwsXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IG51bGwsXG4gICAgUmVkaXJlY3RUeXBlOiBudWxsLFxuICAgIG5vdEZvdW5kOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zO1xuICAgIH0sXG4gICAgdXNlU2VhcmNoUGFyYW1zOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVNlYXJjaFBhcmFtcztcbiAgICB9LFxuICAgIHVzZVBhdGhuYW1lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVBhdGhuYW1lO1xuICAgIH0sXG4gICAgU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2VydmVyaW5zZXJ0ZWRodG1sc2hhcmVkcnVudGltZS5TZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0O1xuICAgIH0sXG4gICAgdXNlU2VydmVySW5zZXJ0ZWRIVE1MOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJpbnNlcnRlZGh0bWxzaGFyZWRydW50aW1lLnVzZVNlcnZlckluc2VydGVkSFRNTDtcbiAgICB9LFxuICAgIHVzZVJvdXRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VSb3V0ZXI7XG4gICAgfSxcbiAgICB1c2VQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlUGFyYW1zO1xuICAgIH0sXG4gICAgdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50czogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzO1xuICAgIH0sXG4gICAgdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudDtcbiAgICB9LFxuICAgIHJlZGlyZWN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9yZWRpcmVjdC5yZWRpcmVjdDtcbiAgICB9LFxuICAgIHBlcm1hbmVudFJlZGlyZWN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9yZWRpcmVjdC5wZXJtYW5lbnRSZWRpcmVjdDtcbiAgICB9LFxuICAgIFJlZGlyZWN0VHlwZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcmVkaXJlY3QuUmVkaXJlY3RUeXBlO1xuICAgIH0sXG4gICAgbm90Rm91bmQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX25vdGZvdW5kLm5vdEZvdW5kO1xuICAgIH1cbn0pO1xuY29uc3QgX3JlYWN0ID0gcmVxdWlyZShcInJlYWN0XCIpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvciA9IHJlcXVpcmUoXCIuL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3JcIik7XG5jb25zdCBfZ2V0c2VnbWVudHZhbHVlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWVcIik7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3NlZ21lbnRcIik7XG5jb25zdCBfc2VydmVyaW5zZXJ0ZWRodG1sc2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3NlcnZlci1pbnNlcnRlZC1odG1sLnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3JlZGlyZWN0ID0gcmVxdWlyZShcIi4vcmVkaXJlY3RcIik7XG5jb25zdCBfbm90Zm91bmQgPSByZXF1aXJlKFwiLi9ub3QtZm91bmRcIik7XG5jb25zdCBJTlRFUk5BTF9VUkxTRUFSQ0hQQVJBTVNfSU5TVEFOQ0UgPSBTeW1ib2woXCJpbnRlcm5hbCBmb3IgdXJsc2VhcmNocGFyYW1zIHJlYWRvbmx5XCIpO1xuZnVuY3Rpb24gcmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpIHtcbiAgICByZXR1cm4gbmV3IEVycm9yKFwiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMgY2Fubm90IGJlIG1vZGlmaWVkXCIpO1xufVxuY2xhc3MgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMge1xuICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJTlRFUk5BTF9VUkxTRUFSQ0hQQVJBTVNfSU5TVEFOQ0VdW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgICB9XG4gICAgYXBwZW5kKCkge1xuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XG4gICAgfVxuICAgIGRlbGV0ZSgpIHtcbiAgICAgICAgdGhyb3cgcmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpO1xuICAgIH1cbiAgICBzZXQoKSB7XG4gICAgICAgIHRocm93IHJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKTtcbiAgICB9XG4gICAgc29ydCgpIHtcbiAgICAgICAgdGhyb3cgcmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcih1cmxTZWFyY2hQYXJhbXMpe1xuICAgICAgICB0aGlzW0lOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRV0gPSB1cmxTZWFyY2hQYXJhbXM7XG4gICAgICAgIHRoaXMuZW50cmllcyA9IHVybFNlYXJjaFBhcmFtcy5lbnRyaWVzLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcbiAgICAgICAgdGhpcy5mb3JFYWNoID0gdXJsU2VhcmNoUGFyYW1zLmZvckVhY2guYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLmdldCA9IHVybFNlYXJjaFBhcmFtcy5nZXQuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLmdldEFsbCA9IHVybFNlYXJjaFBhcmFtcy5nZXRBbGwuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLmhhcyA9IHVybFNlYXJjaFBhcmFtcy5oYXMuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLmtleXMgPSB1cmxTZWFyY2hQYXJhbXMua2V5cy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMudmFsdWVzID0gdXJsU2VhcmNoUGFyYW1zLnZhbHVlcy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XG4gICAgICAgIHRoaXMudG9TdHJpbmcgPSB1cmxTZWFyY2hQYXJhbXMudG9TdHJpbmcuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xuICAgICAgICB0aGlzLnNpemUgPSB1cmxTZWFyY2hQYXJhbXMuc2l6ZTtcbiAgICB9XG59XG5mdW5jdGlvbiB1c2VTZWFyY2hQYXJhbXMoKSB7XG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWFyY2hQYXJhbXNcIik7XG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5TZWFyY2hQYXJhbXNDb250ZXh0KTtcbiAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIGlzIGBudWxsYCwgdGhlIGNvbXBhdCB0eXBlcyBhZGRlZCBpblxuICAgIC8vIGBuZXh0LWVudi5kLnRzYCB3aWxsIGFkZCBhIG5ldyBvdmVybG9hZCB0aGF0IGNoYW5nZXMgdGhlIHJldHVybiB0eXBlIHRvXG4gICAgLy8gaW5jbHVkZSBgbnVsbGAuXG4gICAgY29uc3QgcmVhZG9ubHlTZWFyY2hQYXJhbXMgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIGlmICghc2VhcmNoUGFyYW1zKSB7XG4gICAgICAgICAgICAvLyBXaGVuIHRoZSByb3V0ZXIgaXMgbm90IHJlYWR5IGluIHBhZ2VzLCB3ZSB3b24ndCBoYXZlIHRoZSBzZWFyY2ggcGFyYW1zXG4gICAgICAgICAgICAvLyBhdmFpbGFibGUuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zKHNlYXJjaFBhcmFtcyk7XG4gICAgfSwgW1xuICAgICAgICBzZWFyY2hQYXJhbXNcbiAgICBdKTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBjbGllbnQgYnVuZGxlLlxuICAgICAgICBjb25zdCB7IGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyB9ID0gcmVxdWlyZShcIi4vYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nXCIpO1xuICAgICAgICAvLyBUT0RPLUFQUDogaGFuZGxlIGR5bmFtaWMgPSAnZm9yY2Utc3RhdGljJyBoZXJlIGFuZCBvbiB0aGUgY2xpZW50XG4gICAgICAgIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyhcInVzZVNlYXJjaFBhcmFtcygpXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVhZG9ubHlTZWFyY2hQYXJhbXM7XG59XG5mdW5jdGlvbiB1c2VQYXRobmFtZSgpIHtcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVBhdGhuYW1lXCIpO1xuICAgIC8vIEluIHRoZSBjYXNlIHdoZXJlIHRoaXMgaXMgYG51bGxgLCB0aGUgY29tcGF0IHR5cGVzIGFkZGVkIGluIGBuZXh0LWVudi5kLnRzYFxuICAgIC8vIHdpbGwgYWRkIGEgbmV3IG92ZXJsb2FkIHRoYXQgY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgdG8gaW5jbHVkZSBgbnVsbGAuXG4gICAgcmV0dXJuICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUuUGF0aG5hbWVDb250ZXh0KTtcbn1cbmZ1bmN0aW9uIHVzZVJvdXRlcigpIHtcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVJvdXRlclwiKTtcbiAgICBjb25zdCByb3V0ZXIgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5BcHBSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAocm91dGVyID09PSBudWxsKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFyaWFudCBleHBlY3RlZCBhcHAgcm91dGVyIHRvIGJlIG1vdW50ZWRcIik7XG4gICAgfVxuICAgIHJldHVybiByb3V0ZXI7XG59XG4vLyB0aGlzIGZ1bmN0aW9uIHBlcmZvcm1zIGEgZGVwdGgtZmlyc3Qgc2VhcmNoIG9mIHRoZSB0cmVlIHRvIGZpbmQgdGhlIHNlbGVjdGVkXG4vLyBwYXJhbXNcbmZ1bmN0aW9uIGdldFNlbGVjdGVkUGFyYW1zKHRyZWUsIHBhcmFtcykge1xuICAgIGlmIChwYXJhbXMgPT09IHZvaWQgMCkgcGFyYW1zID0ge307XG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZXMgPSB0cmVlWzFdO1xuICAgIGZvciAoY29uc3QgcGFyYWxsZWxSb3V0ZSBvZiBPYmplY3QudmFsdWVzKHBhcmFsbGVsUm91dGVzKSl7XG4gICAgICAgIGNvbnN0IHNlZ21lbnQgPSBwYXJhbGxlbFJvdXRlWzBdO1xuICAgICAgICBjb25zdCBpc0R5bmFtaWNQYXJhbWV0ZXIgPSBBcnJheS5pc0FycmF5KHNlZ21lbnQpO1xuICAgICAgICBjb25zdCBzZWdtZW50VmFsdWUgPSBpc0R5bmFtaWNQYXJhbWV0ZXIgPyBzZWdtZW50WzFdIDogc2VnbWVudDtcbiAgICAgICAgaWYgKCFzZWdtZW50VmFsdWUgfHwgc2VnbWVudFZhbHVlLnN0YXJ0c1dpdGgoX3NlZ21lbnQuUEFHRV9TRUdNRU5UX0tFWSkpIGNvbnRpbnVlO1xuICAgICAgICAvLyBFbnN1cmUgY2F0Y2hBbGwgYW5kIG9wdGlvbmFsIGNhdGNoYWxsIGFyZSB0dXJuZWQgaW50byBhbiBhcnJheVxuICAgICAgICBjb25zdCBpc0NhdGNoQWxsID0gaXNEeW5hbWljUGFyYW1ldGVyICYmIChzZWdtZW50WzJdID09PSBcImNcIiB8fCBzZWdtZW50WzJdID09PSBcIm9jXCIpO1xuICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgcGFyYW1zW3NlZ21lbnRbMF1dID0gc2VnbWVudFsxXS5zcGxpdChcIi9cIik7XG4gICAgICAgIH0gZWxzZSBpZiAoaXNEeW5hbWljUGFyYW1ldGVyKSB7XG4gICAgICAgICAgICBwYXJhbXNbc2VnbWVudFswXV0gPSBzZWdtZW50WzFdO1xuICAgICAgICB9XG4gICAgICAgIHBhcmFtcyA9IGdldFNlbGVjdGVkUGFyYW1zKHBhcmFsbGVsUm91dGUsIHBhcmFtcyk7XG4gICAgfVxuICAgIHJldHVybiBwYXJhbXM7XG59XG5mdW5jdGlvbiB1c2VQYXJhbXMoKSB7XG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VQYXJhbXNcIik7XG4gICAgY29uc3QgZ2xvYmFsTGF5b3V0Um91dGVyID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgY29uc3QgcGF0aFBhcmFtcyA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUuUGF0aFBhcmFtc0NvbnRleHQpO1xuICAgIHJldHVybiAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIC8vIFdoZW4gaXQncyB1bmRlciBhcHAgcm91dGVyXG4gICAgICAgIGlmIChnbG9iYWxMYXlvdXRSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IGdsb2JhbExheW91dFJvdXRlci50cmVlKSB7XG4gICAgICAgICAgICByZXR1cm4gZ2V0U2VsZWN0ZWRQYXJhbXMoZ2xvYmFsTGF5b3V0Um91dGVyLnRyZWUpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFdoZW4gaXQncyB1bmRlciBjbGllbnQgc2lkZSBwYWdlcyByb3V0ZXJcbiAgICAgICAgcmV0dXJuIHBhdGhQYXJhbXM7XG4gICAgfSwgW1xuICAgICAgICBnbG9iYWxMYXlvdXRSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IGdsb2JhbExheW91dFJvdXRlci50cmVlLFxuICAgICAgICBwYXRoUGFyYW1zXG4gICAgXSk7XG59XG4vLyBUT0RPLUFQUDogaGFuZGxlIHBhcmFsbGVsIHJvdXRlc1xuLyoqXG4gKiBHZXQgdGhlIGNhbm9uaWNhbCBwYXJhbWV0ZXJzIGZyb20gdGhlIGN1cnJlbnQgbGV2ZWwgdG8gdGhlIGxlYWYgbm9kZS5cbiAqLyBmdW5jdGlvbiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKHRyZWUsIHBhcmFsbGVsUm91dGVLZXksIGZpcnN0LCBzZWdtZW50UGF0aCkge1xuICAgIGlmIChmaXJzdCA9PT0gdm9pZCAwKSBmaXJzdCA9IHRydWU7XG4gICAgaWYgKHNlZ21lbnRQYXRoID09PSB2b2lkIDApIHNlZ21lbnRQYXRoID0gW107XG4gICAgbGV0IG5vZGU7XG4gICAgaWYgKGZpcnN0KSB7XG4gICAgICAgIC8vIFVzZSB0aGUgcHJvdmlkZWQgcGFyYWxsZWwgcm91dGUga2V5IG9uIHRoZSBmaXJzdCBwYXJhbGxlbCByb3V0ZVxuICAgICAgICBub2RlID0gdHJlZVsxXVtwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBBZnRlciBmaXJzdCBwYXJhbGxlbCByb3V0ZSBwcmVmZXIgY2hpbGRyZW4sIGlmIHRoZXJlJ3Mgbm8gY2hpbGRyZW4gcGljayB0aGUgZmlyc3QgcGFyYWxsZWwgcm91dGUuXG4gICAgICAgIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gdHJlZVsxXTtcbiAgICAgICAgdmFyIF9wYXJhbGxlbFJvdXRlc19jaGlsZHJlbjtcbiAgICAgICAgbm9kZSA9IChfcGFyYWxsZWxSb3V0ZXNfY2hpbGRyZW4gPSBwYXJhbGxlbFJvdXRlcy5jaGlsZHJlbikgIT0gbnVsbCA/IF9wYXJhbGxlbFJvdXRlc19jaGlsZHJlbiA6IE9iamVjdC52YWx1ZXMocGFyYWxsZWxSb3V0ZXMpWzBdO1xuICAgIH1cbiAgICBpZiAoIW5vZGUpIHJldHVybiBzZWdtZW50UGF0aDtcbiAgICBjb25zdCBzZWdtZW50ID0gbm9kZVswXTtcbiAgICBjb25zdCBzZWdtZW50VmFsdWUgPSAoMCwgX2dldHNlZ21lbnR2YWx1ZS5nZXRTZWdtZW50VmFsdWUpKHNlZ21lbnQpO1xuICAgIGlmICghc2VnbWVudFZhbHVlIHx8IHNlZ21lbnRWYWx1ZS5zdGFydHNXaXRoKF9zZWdtZW50LlBBR0VfU0VHTUVOVF9LRVkpKSB7XG4gICAgICAgIHJldHVybiBzZWdtZW50UGF0aDtcbiAgICB9XG4gICAgc2VnbWVudFBhdGgucHVzaChzZWdtZW50VmFsdWUpO1xuICAgIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKG5vZGUsIHBhcmFsbGVsUm91dGVLZXksIGZhbHNlLCBzZWdtZW50UGF0aCk7XG59XG5mdW5jdGlvbiB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzKHBhcmFsbGVsUm91dGVLZXkpIHtcbiAgICBpZiAocGFyYWxsZWxSb3V0ZUtleSA9PT0gdm9pZCAwKSBwYXJhbGxlbFJvdXRlS2V5ID0gXCJjaGlsZHJlblwiO1xuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50c1wiKTtcbiAgICBjb25zdCB7IHRyZWUgfSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkxheW91dFJvdXRlckNvbnRleHQpO1xuICAgIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKHRyZWUsIHBhcmFsbGVsUm91dGVLZXkpO1xufVxuZnVuY3Rpb24gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50KHBhcmFsbGVsUm91dGVLZXkpIHtcbiAgICBpZiAocGFyYWxsZWxSb3V0ZUtleSA9PT0gdm9pZCAwKSBwYXJhbGxlbFJvdXRlS2V5ID0gXCJjaGlsZHJlblwiO1xuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50XCIpO1xuICAgIGNvbnN0IHNlbGVjdGVkTGF5b3V0U2VnbWVudHMgPSB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzKHBhcmFsbGVsUm91dGVLZXkpO1xuICAgIGlmIChzZWxlY3RlZExheW91dFNlZ21lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHNlbGVjdGVkTGF5b3V0U2VnbWVudHNbMF07XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5hdmlnYXRpb24uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJ1c2VTZWFyY2hQYXJhbXMiLCJ1c2VQYXRobmFtZSIsIlNlcnZlckluc2VydGVkSFRNTENvbnRleHQiLCJ1c2VTZXJ2ZXJJbnNlcnRlZEhUTUwiLCJ1c2VSb3V0ZXIiLCJ1c2VQYXJhbXMiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzIiwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50IiwicmVkaXJlY3QiLCJwZXJtYW5lbnRSZWRpcmVjdCIsIlJlZGlyZWN0VHlwZSIsIm5vdEZvdW5kIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NlcnZlcmluc2VydGVkaHRtbHNoYXJlZHJ1bnRpbWUiLCJfcmVkaXJlY3QiLCJfbm90Zm91bmQiLCJfcmVhY3QiLCJyZXF1aXJlIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IiLCJfZ2V0c2VnbWVudHZhbHVlIiwiX3NlZ21lbnQiLCJJTlRFUk5BTF9VUkxTRUFSQ0hQQVJBTVNfSU5TVEFOQ0UiLCJTeW1ib2wiLCJyZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yIiwiRXJyb3IiLCJpdGVyYXRvciIsImFwcGVuZCIsImRlbGV0ZSIsInNldCIsInNvcnQiLCJjb25zdHJ1Y3RvciIsInVybFNlYXJjaFBhcmFtcyIsImVudHJpZXMiLCJiaW5kIiwiZm9yRWFjaCIsImdldEFsbCIsImhhcyIsImtleXMiLCJ2YWx1ZXMiLCJ0b1N0cmluZyIsInNpemUiLCJjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvciIsInNlYXJjaFBhcmFtcyIsInVzZUNvbnRleHQiLCJTZWFyY2hQYXJhbXNDb250ZXh0IiwicmVhZG9ubHlTZWFyY2hQYXJhbXMiLCJ1c2VNZW1vIiwiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwiUGF0aG5hbWVDb250ZXh0Iiwicm91dGVyIiwiQXBwUm91dGVyQ29udGV4dCIsImdldFNlbGVjdGVkUGFyYW1zIiwidHJlZSIsInBhcmFtcyIsInBhcmFsbGVsUm91dGVzIiwicGFyYWxsZWxSb3V0ZSIsInNlZ21lbnQiLCJpc0R5bmFtaWNQYXJhbWV0ZXIiLCJBcnJheSIsImlzQXJyYXkiLCJzZWdtZW50VmFsdWUiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSIsImlzQ2F0Y2hBbGwiLCJzcGxpdCIsImdsb2JhbExheW91dFJvdXRlciIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJwYXRoUGFyYW1zIiwiUGF0aFBhcmFtc0NvbnRleHQiLCJnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoIiwicGFyYWxsZWxSb3V0ZUtleSIsImZpcnN0Iiwic2VnbWVudFBhdGgiLCJub2RlIiwiX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuIiwiY2hpbGRyZW4iLCJnZXRTZWdtZW50VmFsdWUiLCJwdXNoIiwiTGF5b3V0Um91dGVyQ29udGV4dCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJsZW5ndGgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! \************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has(\"children\")) {\n let warningMessage = \"No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n\" + \"Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n\";\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(\", \");\n warningMessage += \"Missing slots: \" + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _notfound.isNotFoundError)(error)) {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }),\n this.props.notFoundStyles,\n this.props.notFound\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\n children: children\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9EQUFtRDtJQUMvQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1JLGNBQWNKLG1CQUFPQSxDQUFDLG9GQUFjO0FBQzFDLE1BQU1LLFlBQVlMLG1CQUFPQSxDQUFDLGtGQUFhO0FBQ3ZDLE1BQU1NLFlBQVlOLG1CQUFPQSxDQUFDLHNHQUFrQztBQUM1RCxNQUFNTyxpQ0FBaUNQLG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxNQUFNUSw4QkFBOEJOLE9BQU9PLE9BQU8sQ0FBQ0MsU0FBUztJQUN4REMsb0JBQW9CO1FBQ2hCLElBQUlDLEtBQXNDLElBQUksNEVBQTRFO1FBQzFILENBQUMsSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksQ0FBQ0MsR0FBRyxDQUFDLGFBQWE7WUFDdEMsSUFBSUMsaUJBQWlCLDRIQUE0SDtZQUNqSixJQUFJLElBQUksQ0FBQ0gsS0FBSyxDQUFDQyxZQUFZLENBQUNHLElBQUksR0FBRyxHQUFHO2dCQUNsQyxNQUFNQyxpQkFBaUJDLE1BQU1DLElBQUksQ0FBQyxJQUFJLENBQUNQLEtBQUssQ0FBQ0MsWUFBWSxFQUFFTyxJQUFJLENBQUMsQ0FBQ0MsR0FBR0MsSUFBSUQsRUFBRUUsYUFBYSxDQUFDRCxJQUFJRSxHQUFHLENBQUMsQ0FBQ0MsT0FBTyxNQUFNQSxNQUFNQyxJQUFJLENBQUM7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ZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LmpzPzMyYzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTm90Rm91bmRCb3VuZGFyeVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTm90Rm91bmRCb3VuZGFyeTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9uYXZpZ2F0aW9uID0gcmVxdWlyZShcIi4vbmF2aWdhdGlvblwiKTtcbmNvbnN0IF9ub3Rmb3VuZCA9IHJlcXVpcmUoXCIuL25vdC1mb3VuZFwiKTtcbmNvbnN0IF93YXJub25jZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNsYXNzIE5vdEZvdW5kRXJyb3JCb3VuZGFyeSBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgY29tcG9uZW50RGlkQ2F0Y2goKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiICYmIC8vIEEgbWlzc2luZyBjaGlsZHJlbiBzbG90IGlzIHRoZSB0eXBpY2FsIG5vdC1mb3VuZCBjYXNlLCBzbyBubyBuZWVkIHRvIHdhcm5cbiAgICAgICAgIXRoaXMucHJvcHMubWlzc2luZ1Nsb3RzLmhhcyhcImNoaWxkcmVuXCIpKSB7XG4gICAgICAgICAgICBsZXQgd2FybmluZ01lc3NhZ2UgPSBcIk5vIGRlZmF1bHQgY29tcG9uZW50IHdhcyBmb3VuZCBmb3IgYSBwYXJhbGxlbCByb3V0ZSByZW5kZXJlZCBvbiB0aGlzIHBhZ2UuIEZhbGxpbmcgYmFjayB0byBuZWFyZXN0IE5vdEZvdW5kIGJvdW5kYXJ5LlxcblwiICsgXCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3BhcmFsbGVsLXJvdXRlcyNkZWZhdWx0anNcXG5cXG5cIjtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm1pc3NpbmdTbG90cy5zaXplID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZFNsb3RzID0gQXJyYXkuZnJvbSh0aGlzLnByb3BzLm1pc3NpbmdTbG90cykuc29ydCgoYSwgYik9PmEubG9jYWxlQ29tcGFyZShiKSkubWFwKChzbG90KT0+XCJAXCIgKyBzbG90KS5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgd2FybmluZ01lc3NhZ2UgKz0gXCJNaXNzaW5nIHNsb3RzOiBcIiArIGZvcm1hdHRlZFNsb3RzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkod2FybmluZ01lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgaWYgKCgwLCBfbm90Zm91bmQuaXNOb3RGb3VuZEVycm9yKShlcnJvcikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbm90Rm91bmRUcmlnZ2VyZWQ6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmUtdGhyb3cgaWYgZXJyb3IgaXMgbm90IGZvciA0MDRcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAgIC8qKlxuICAgICAqIEhhbmRsZXMgcmVzZXQgb2YgdGhlIGVycm9yIGJvdW5kYXJ5IHdoZW4gYSBuYXZpZ2F0aW9uIGhhcHBlbnMuXG4gICAgICogRW5zdXJlcyB0aGUgZXJyb3IgYm91bmRhcnkgZG9lcyBub3Qgc3RheSBlbmFibGVkIHdoZW4gbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlLlxuICAgICAqIEFwcHJvYWNoIG9mIHNldFN0YXRlIGluIHJlbmRlciBpcyBzYWZlIGFzIGl0IGNoZWNrcyB0aGUgcHJldmlvdXMgcGF0aG5hbWUgYW5kIHRoZW4gb3ZlcnJpZGVzXG4gICAgICogaXQgYXMgb3V0bGluZWQgaW4gaHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL3JlYWN0L3VzZVN0YXRlI3N0b3JpbmctaW5mb3JtYXRpb24tZnJvbS1wcmV2aW91cy1yZW5kZXJzXG4gICAgICovIGlmIChwcm9wcy5wYXRobmFtZSAhPT0gc3RhdGUucHJldmlvdXNQYXRobmFtZSAmJiBzdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5vdEZvdW5kVHJpZ2dlcmVkOiBzdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCxcbiAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUubm90Rm91bmRUcmlnZ2VyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwicm9ib3RzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIm5vaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIiAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwibm90LWZvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubm90Rm91bmRTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubm90Rm91bmRcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJvcHMpe1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogISFwcm9wcy5hc05vdEZvdW5kLFxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBOb3RGb3VuZEJvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgbm90Rm91bmQsIG5vdEZvdW5kU3R5bGVzLCBhc05vdEZvdW5kLCBjaGlsZHJlbiB9ID0gcGFyYW07XG4gICAgY29uc3QgcGF0aG5hbWUgPSAoMCwgX25hdmlnYXRpb24udXNlUGF0aG5hbWUpKCk7XG4gICAgY29uc3QgbWlzc2luZ1Nsb3RzID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTWlzc2luZ1Nsb3RDb250ZXh0KTtcbiAgICByZXR1cm4gbm90Rm91bmQgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKE5vdEZvdW5kRXJyb3JCb3VuZGFyeSwge1xuICAgICAgICBwYXRobmFtZTogcGF0aG5hbWUsXG4gICAgICAgIG5vdEZvdW5kOiBub3RGb3VuZCxcbiAgICAgICAgbm90Rm91bmRTdHlsZXM6IG5vdEZvdW5kU3R5bGVzLFxuICAgICAgICBhc05vdEZvdW5kOiBhc05vdEZvdW5kLFxuICAgICAgICBtaXNzaW5nU2xvdHM6IG1pc3NpbmdTbG90cyxcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSkgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub3QtZm91bmQtYm91bmRhcnkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIk5vdEZvdW5kQm91bmRhcnkiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9uYXZpZ2F0aW9uIiwiX25vdGZvdW5kIiwiX3dhcm5vbmNlIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiTm90Rm91bmRFcnJvckJvdW5kYXJ5IiwiZGVmYXVsdCIsIkNvbXBvbmVudCIsImNvbXBvbmVudERpZENhdGNoIiwicHJvY2VzcyIsInByb3BzIiwibWlzc2luZ1Nsb3RzIiwiaGFzIiwid2FybmluZ01lc3NhZ2UiLCJzaXplIiwiZm9ybWF0dGVkU2xvdHMiLCJBcnJheSIsImZyb20iLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwibWFwIiwic2xvdCIsImpvaW4iLCJ3YXJuT25jZSIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImVycm9yIiwiaXNOb3RGb3VuZEVycm9yIiwibm90Rm91bmRUcmlnZ2VyZWQiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJzdGF0ZSIsInBhdGhuYW1lIiwicHJldmlvdXNQYXRobmFtZSIsInJlbmRlciIsImpzeHMiLCJGcmFnbWVudCIsImNoaWxkcmVuIiwianN4IiwibmFtZSIsImNvbnRlbnQiLCJub3RGb3VuZFN0eWxlcyIsIm5vdEZvdW5kIiwiY29uc3RydWN0b3IiLCJhc05vdEZvdW5kIiwicGFyYW0iLCJ1c2VQYXRobmFtZSIsInVzZUNvbnRleHQiLCJNaXNzaW5nU2xvdENvbnRleHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/not-found.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found.js ***! \***************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n notFound: function() {\n return notFound;\n },\n isNotFoundError: function() {\n return isNotFoundError;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sdUJBQXVCO0FBQzdCLFNBQVNSO0lBQ0wsNENBQTRDO0lBQzVDLE1BQU1TLFFBQVEsSUFBSUMsTUFBTUY7SUFDeEJDLE1BQU1FLE1BQU0sR0FBR0g7SUFDZixNQUFNQztBQUNWO0FBQ0EsU0FBU1IsZ0JBQWdCUSxLQUFLO0lBQzFCLElBQUksT0FBT0EsVUFBVSxZQUFZQSxVQUFVLFFBQVEsQ0FBRSxhQUFZQSxLQUFJLEdBQUk7UUFDckUsT0FBTztJQUNYO0lBQ0EsT0FBT0EsTUFBTUUsTUFBTSxLQUFLSDtBQUM1QjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQuanM/NDIwMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIG5vdEZvdW5kOiBudWxsLFxuICAgIGlzTm90Rm91bmRFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBub3RGb3VuZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3RGb3VuZDtcbiAgICB9LFxuICAgIGlzTm90Rm91bmRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc05vdEZvdW5kRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBOT1RfRk9VTkRfRVJST1JfQ09ERSA9IFwiTkVYVF9OT1RfRk9VTkRcIjtcbmZ1bmN0aW9uIG5vdEZvdW5kKCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby10aHJvdy1saXRlcmFsXG4gICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IoTk9UX0ZPVU5EX0VSUk9SX0NPREUpO1xuICAgIGVycm9yLmRpZ2VzdCA9IE5PVF9GT1VORF9FUlJPUl9DT0RFO1xuICAgIHRocm93IGVycm9yO1xufVxuZnVuY3Rpb24gaXNOb3RGb3VuZEVycm9yKGVycm9yKSB7XG4gICAgaWYgKHR5cGVvZiBlcnJvciAhPT0gXCJvYmplY3RcIiB8fCBlcnJvciA9PT0gbnVsbCB8fCAhKFwiZGlnZXN0XCIgaW4gZXJyb3IpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yLmRpZ2VzdCA9PT0gTk9UX0ZPVU5EX0VSUk9SX0NPREU7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vdC1mb3VuZC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJub3RGb3VuZCIsImlzTm90Rm91bmRFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIk5PVF9GT1VORF9FUlJPUl9DT0RFIiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/promise-queue.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/promise-queue.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0EsR0FBZ0I7QUFDaEJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnREFBK0M7SUFDM0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxrQ0FBa0NDLG1CQUFPQSxDQUFDLGdJQUFnRDtBQUNoRyxNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixJQUFJRSxrQkFBa0IsV0FBVyxHQUFHRCwrQkFBK0JFLENBQUMsQ0FBQyxvQkFBb0JDLGdCQUFnQixXQUFXLEdBQUdILCtCQUErQkUsQ0FBQyxDQUFDLGtCQUFrQkUsU0FBUyxXQUFXLEdBQUdKLCtCQUErQkUsQ0FBQyxDQUFDLFdBQVdHLGVBQWUsV0FBVyxHQUFHTCwrQkFBK0JFLENBQUMsQ0FBQztBQUMzUyxNQUFNTDtJQUNGUyxRQUFRQyxTQUFTLEVBQUU7UUFDZixJQUFJQztRQUNKLElBQUlDO1FBQ0osTUFBTUMsY0FBYyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1lBQ3RDTCxjQUFjSTtZQUNkSCxhQUFhSTtRQUNqQjtRQUNBLE1BQU1DLE9BQU87WUFDVCxJQUFJO2dCQUNBaEIsZ0NBQWdDSSxDQUFDLENBQUMsSUFBSSxFQUFFQyxjQUFjLENBQUNBLGNBQWM7Z0JBQ3JFLE1BQU1ZLFNBQVMsTUFBTVI7Z0JBQ3JCQyxZQUFZTztZQUNoQixFQUFFLE9BQU9DLE9BQU87Z0JBQ1pQLFdBQVdPO1lBQ2YsU0FBUztnQkFDTGxCLGdDQUFnQ0ksQ0FBQyxDQUFDLElBQUksRUFBRUMsY0FBYyxDQUFDQSxjQUFjO2dCQUNyRUwsZ0NBQWdDSSxDQUFDLENBQUMsSUFBSSxFQUFFRyxhQUFhLENBQUNBLGFBQWE7WUFDdkU7UUFDSjtRQUNBLE1BQU1ZLGdCQUFn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cyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcHJvbWlzZS1xdWV1ZS5qcz84MTY3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgVGhpcyBpcyBhIHNpbXBsZSBwcm9taXNlIHF1ZXVlIHRoYXQgYWxsb3dzIHlvdSB0byBsaW1pdCB0aGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgcHJvbWlzZXNcbiAgICB0aGF0IGFyZSBydW5uaW5nIGF0IGFueSBnaXZlbiB0aW1lLiBJdCdzIHVzZWQgdG8gbGltaXQgdGhlIG51bWJlciBvZiBjb25jdXJyZW50XG4gICAgcHJlZmV0Y2ggcmVxdWVzdHMgdGhhdCBhcmUgYmVpbmcgbWFkZSB0byB0aGUgc2VydmVyIGJ1dCBjb3VsZCBiZSB1c2VkIGZvciBvdGhlclxuICAgIHRoaW5ncyBhcyB3ZWxsLlxuKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJQcm9taXNlUXVldWVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2VRdWV1ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZVwiKTtcbmNvbnN0IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXlcIik7XG52YXIgX21heENvbmN1cnJlbmN5ID0gLyojX19QVVJFX18qLyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuXyhcIl9tYXhDb25jdXJyZW5jeVwiKSwgX3J1bm5pbmdDb3VudCA9IC8qI19fUFVSRV9fKi8gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5Ll8oXCJfcnVubmluZ0NvdW50XCIpLCBfcXVldWUgPSAvKiNfX1BVUkVfXyovIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5fKFwiX3F1ZXVlXCIpLCBfcHJvY2Vzc05leHQgPSAvKiNfX1BVUkVfXyovIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5fKFwiX3Byb2Nlc3NOZXh0XCIpO1xuY2xhc3MgUHJvbWlzZVF1ZXVlIHtcbiAgICBlbnF1ZXVlKHByb21pc2VGbikge1xuICAgICAgICBsZXQgdGFza1Jlc29sdmU7XG4gICAgICAgIGxldCB0YXNrUmVqZWN0O1xuICAgICAgICBjb25zdCB0YXNrUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgICAgICB0YXNrUmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgICAgICAgICB0YXNrUmVqZWN0ID0gcmVqZWN0O1xuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgdGFzayA9IGFzeW5jICgpPT57XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcnVubmluZ0NvdW50KVtfcnVubmluZ0NvdW50XSsrO1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGbigpO1xuICAgICAgICAgICAgICAgIHRhc2tSZXNvbHZlKHJlc3VsdCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHRhc2tSZWplY3QoZXJyb3IpO1xuICAgICAgICAgICAgfSBmaW5hbGx5e1xuICAgICAgICAgICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcnVubmluZ0NvdW50KVtfcnVubmluZ0NvdW50XS0tO1xuICAgICAgICAgICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcHJvY2Vzc05leHQpW19wcm9jZXNzTmV4dF0oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZW5xdWV1ZVJlc3VsdCA9IHtcbiAgICAgICAgICAgIHByb21pc2VGbjogdGFza1Byb21pc2UsXG4gICAgICAgICAgICB0YXNrXG4gICAgICAgIH07XG4gICAgICAgIC8vIHdvbmRlciBpZiB3ZSBzaG91bGQgdGFrZSBhIExJRk8gYXBwcm9hY2ggaGVyZVxuICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3F1ZXVlKVtfcXVldWVdLnB1c2goZW5xdWV1ZVJlc3VsdCk7XG4gICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcHJvY2Vzc05leHQpW19wcm9jZXNzTmV4dF0oKTtcbiAgICAgICAgcmV0dXJuIHRhc2tQcm9taXNlO1xuICAgIH1cbiAgICBidW1wKHByb21pc2VGbikge1xuICAgICAgICBjb25zdCBpbmRleCA9IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcXVldWUpW19xdWV1ZV0uZmluZEluZGV4KChpdGVtKT0+aXRlbS5wcm9taXNlRm4gPT09IHByb21pc2VGbik7XG4gICAgICAgIGlmIChpbmRleCA+IC0xKSB7XG4gICAgICAgICAgICBjb25zdCBidW1wZWRJdGVtID0gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5zcGxpY2UoaW5kZXgsIDEpWzBdO1xuICAgICAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS51bnNoaWZ0KGJ1bXBlZEl0ZW0pO1xuICAgICAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9wcm9jZXNzTmV4dClbX3Byb2Nlc3NOZXh0XSh0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihtYXhDb25jdXJyZW5jeSA9IDUpe1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgX3Byb2Nlc3NOZXh0LCB7XG4gICAgICAgICAgICB2YWx1ZTogcHJvY2Vzc05leHRcbiAgICAgICAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBfbWF4Q29uY3VycmVuY3ksIHtcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIF9ydW5uaW5nQ291bnQsIHtcbiAgICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxuICAgICAgICB9KTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIF9xdWV1ZSwge1xuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICB2YWx1ZTogdm9pZCAwXG4gICAgICAgIH0pO1xuICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX21heENvbmN1cnJlbmN5KVtfbWF4Q29uY3VycmVuY3ldID0gbWF4Q29uY3VycmVuY3k7XG4gICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcnVubmluZ0NvdW50KVtfcnVubmluZ0NvdW50XSA9IDA7XG4gICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcXVldWUpW19xdWV1ZV0gPSBbXTtcbiAgICB9XG59XG5mdW5jdGlvbiBwcm9jZXNzTmV4dChmb3JjZWQpIHtcbiAgICBpZiAoZm9yY2VkID09PSB2b2lkIDApIGZvcmNlZCA9IGZhbHNlO1xuICAgIGlmICgoX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9ydW5uaW5nQ291bnQpW19ydW5uaW5nQ291bnRdIDwgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9tYXhDb25jdXJyZW5jeSlbX21heENvbmN1cnJlbmN5XSB8fCBmb3JjZWQpICYmIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcXVldWUpW19xdWV1ZV0ubGVuZ3RoID4gMCkge1xuICAgICAgICB2YXIgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZV9fcXVldWVfc2hpZnQ7XG4gICAgICAgIChfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlX19xdWV1ZV9zaGlmdCA9IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcXVldWUpW19xdWV1ZV0uc2hpZnQoKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0LnRhc2soKTtcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByb21pc2UtcXVldWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlByb21pc2VRdWV1ZSIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UiLCJyZXF1aXJlIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5IiwiX21heENvbmN1cnJlbmN5IiwiXyIsIl9ydW5uaW5nQ291bnQiLCJfcXVldWUiLCJfcHJvY2Vzc05leHQiLCJlbnF1ZXVlIiwicHJvbWlzZUZuIiwidGFza1Jlc29sdmUiLCJ0YXNrUmVqZWN0IiwidGFza1Byb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsInJlamVjdCIsInRhc2siLCJyZXN1bHQiLCJlcnJvciIsImVucXVldWVSZXN1bHQiLCJwdXNoIiwiYnVtcCIsImluZGV4IiwiZmluZEluZGV4IiwiaXRlbSIsImJ1bXBlZEl0ZW0iLCJzcGxpY2UiLCJ1bnNoaWZ0IiwiY29uc3RydWN0b3IiLCJtYXhDb25jdXJyZW5jeSIsInByb2Nlc3NOZXh0Iiwid3JpdGFibGUiLCJmb3JjZWQiLCJsZW5ndGgiLCJfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlX19xdWV1ZV9zaGlmdCIsInNoaWZ0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/promise-queue.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../dev/error-overlay/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _erroroverlayreducer = __webpack_require__(/*! ./internal/error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _parseStack = __webpack_require__(/*! ./internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./internal/ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js\"));\nconst _useerrorhandler = __webpack_require__(/*! ./internal/helpers/use-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ./internal/helpers/use-websocket */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ./internal/helpers/parse-component-stack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../server/dev/hot-reloader-types */ \"(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, sendMessage, updatedModules) {\n let endLatency = Date.now();\n dispatcher.onBuildOk();\n sendMessage(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n if (updatedModules.length > 0) {\n dispatcher.onRefresh();\n }\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_useerrorhandler.RuntimeErrorHandler.hadRuntimeError\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _useerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_useerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(\"[Fast Refresh] performing full reload because your application had an unrecoverable error\");\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\nfunction processMessage(obj, sendMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate(updatedModules) {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(webpackUpdatedModules) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.FINISH_BUILDING:\n {\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) {\n dispatcher.onVersionInfo(obj.versionInfo);\n }\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n // Handle hot updates\n handleHotUpdate(obj.updatedModules);\n }\n return;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n sendMessage(JSON.stringify({\n event: \"server-component-reload-page\",\n clientId: __nextDevClientId\n }));\n if (_useerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was removed.\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added.\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _react.useReducer)(_erroroverlayreducer.errorOverlayReducer, _erroroverlayreducer.INITIAL_OVERLAY_STATE);\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _erroroverlayreducer.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _erroroverlayreducer.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _erroroverlayreducer.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _erroroverlayreducer.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _erroroverlayreducer.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = error._componentStack;\n dispatch({\n type: _erroroverlayreducer.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack && (0, _parsecomponentstack.parseComponentStack)(componentStack)\n });\n }, []);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _erroroverlayreducer.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, []);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _useerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n }, []);\n (0, _useerrorhandler.useErrorHandler)(handleOnUnhandledError, handleOnUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage);\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n const handledByTurbopack = processTurbopackMessage == null ? void 0 : processTurbopackMessage(obj);\n if (!handledByTurbopack) {\n processMessage(obj, sendMessage, router, dispatcher);\n }\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n };\n const websocket = webSocketRef.current;\n if (websocket) {\n websocket.addEventListener(\"message\", handler);\n }\n return ()=>websocket && websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2hvdC1yZWxvYWRlci1jbGllbnQuanMiLCJtYXBwaW5ncyI6IjtBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxhQUFhLFdBQVcsR0FBR04seUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLGtHQUErQjtBQUNuRyxNQUFNTSx5QkFBeUIsV0FBVyxHQUFHUCx5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsMklBQWlEO0FBQ2pJLE1BQU1PLGNBQWNQLG1CQUFPQSxDQUFDLHFGQUFlO0FBQzNDLE1BQU1RLHVCQUF1QlIsbUJBQU9BLENBQUMsOElBQWtDO0FBQ3ZFLE1BQU1TLGNBQWNULG1CQUFPQSxDQUFDLHdJQUErQjtBQUMzRCxNQUFNVSxtQkFBbUIsV0FBVyxHQUFHWCx5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsa0lBQTRCO0FBQ3RHLE1BQU1XLG1CQUFtQlgsbUJBQU9BLENBQUMsc0pBQXNDO0FBQ3ZFLE1BQU1ZLGdCQUFnQlosbUJBQU9BLENBQUMsOElBQWtDO0FBQ2hFLE1BQU1hLHVCQUF1QmIsbUJBQU9BLENBQUMsOEpBQTBDO0FBQy9FLE1BQU1jLG9CQUFvQmQsbUJBQU9BLENBQUMsK0dBQXdDO0FBQzFFLElBQUllLDRC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QUFPLEVBQUVwRztJQUMvQjhELE9BQU85RCxPQUFPLEdBQUdBLFFBQVFvRyxPQUFPO0FBQ2xDLEVBRUEsK0NBQStDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaG90LXJlbG9hZGVyLWNsaWVudC5qcz8wNjhiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSG90UmVsb2FkO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zdHJpcGFuc2kgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvc3RyaXAtYW5zaVwiKSk7XG5jb25zdCBfZm9ybWF0d2VicGFja21lc3NhZ2VzID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vLi4vZGV2L2Vycm9yLW92ZXJsYXkvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXNcIikpO1xuY29uc3QgX25hdmlnYXRpb24gPSByZXF1aXJlKFwiLi4vbmF2aWdhdGlvblwiKTtcbmNvbnN0IF9lcnJvcm92ZXJsYXlyZWR1Y2VyID0gcmVxdWlyZShcIi4vaW50ZXJuYWwvZXJyb3Itb3ZlcmxheS1yZWR1Y2VyXCIpO1xuY29uc3QgX3BhcnNlU3RhY2sgPSByZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlU3RhY2tcIik7XG5jb25zdCBfUmVhY3REZXZPdmVybGF5ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9pbnRlcm5hbC9SZWFjdERldk92ZXJsYXlcIikpO1xuY29uc3QgX3VzZWVycm9yaGFuZGxlciA9IHJlcXVpcmUoXCIuL2ludGVybmFsL2hlbHBlcnMvdXNlLWVycm9yLWhhbmRsZXJcIik7XG5jb25zdCBfdXNld2Vic29ja2V0ID0gcmVxdWlyZShcIi4vaW50ZXJuYWwvaGVscGVycy91c2Utd2Vic29ja2V0XCIpO1xuY29uc3QgX3BhcnNlY29tcG9uZW50c3RhY2sgPSByZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlLWNvbXBvbmVudC1zdGFja1wiKTtcbmNvbnN0IF9ob3RyZWxvYWRlcnR5cGVzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzXCIpO1xubGV0IG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggPSBudWxsO1xubGV0IF9fbmV4dERldkNsaWVudElkID0gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTAwICsgRGF0ZS5ub3coKSk7XG5sZXQgcmVsb2FkaW5nID0gZmFsc2U7XG5sZXQgc3RhcnRMYXRlbmN5ID0gbnVsbDtcbmZ1bmN0aW9uIG9uQmVmb3JlRmFzdFJlZnJlc2goZGlzcGF0Y2hlciwgaGFzVXBkYXRlcykge1xuICAgIGlmIChoYXNVcGRhdGVzKSB7XG4gICAgICAgIGRpc3BhdGNoZXIub25CZWZvcmVSZWZyZXNoKCk7XG4gICAgfVxufVxuZnVuY3Rpb24gb25GYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBzZW5kTWVzc2FnZSwgdXBkYXRlZE1vZHVsZXMpIHtcbiAgICBsZXQgZW5kTGF0ZW5jeSA9IERhdGUubm93KCk7XG4gICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKTtcbiAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgIGV2ZW50OiBcImNsaWVudC1obXItbGF0ZW5jeVwiLFxuICAgICAgICBpZDogd2luZG93Ll9fbmV4dERldkNsaWVudElkLFxuICAgICAgICBzdGFydFRpbWU6IHN0YXJ0TGF0ZW5jeSxcbiAgICAgICAgZW5kVGltZTogZW5kTGF0ZW5jeSxcbiAgICAgICAgcGFnZTogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgICB1cGRhdGVkTW9kdWxlcyxcbiAgICAgICAgLy8gV2hldGhlciB0aGUgcGFnZSAodGFiKSB3YXMgaGlkZGVuIGF0IHRoZSB0aW1lIHRoZSBldmVudCBvY2N1cnJlZC5cbiAgICAgICAgLy8gVGhpcyBjYW4gaW1wYWN0IHRoZSBhY2N1cmFjeSBvZiB0aGUgZXZlbnQncyB0aW1pbmcuXG4gICAgICAgIGlzUGFnZUhpZGRlbjogZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlID09PSBcImhpZGRlblwiXG4gICAgfSkpO1xuICAgIGlmICh1cGRhdGVkTW9kdWxlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGRpc3BhdGNoZXIub25SZWZyZXNoKCk7XG4gICAgfVxufVxuLy8gVGhlcmUgaXMgYSBuZXdlciB2ZXJzaW9uIG9mIHRoZSBjb2RlIGF2YWlsYWJsZS5cbmZ1bmN0aW9uIGhhbmRsZUF2YWlsYWJsZUhhc2goaGFzaCkge1xuICAgIC8vIFVwZGF0ZSBsYXN0IGtub3duIGNvbXBpbGF0aW9uIGhhc2guXG4gICAgbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCA9IGhhc2g7XG59XG4vKipcbiAqIElzIHRoZXJlIGEgbmV3ZXIgdmVyc2lvbiBvZiB0aGlzIGNvZGUgYXZhaWxhYmxlP1xuICogRm9yIHdlYnBhY2s6IENoZWNrIGlmIHRoZSBoYXNoIGNoYW5nZWQgY29tcGFyZWQgdG8gX193ZWJwYWNrX2hhc2hfX1xuICogRm9yIFR1cmJvcGFjazogQWx3YXlzIHRydWUgYmVjYXVzZSBpdCBkb2Vzbid0IGhhdmUgX193ZWJwYWNrX2hhc2hfX1xuICovIGZ1bmN0aW9uIGlzVXBkYXRlQXZhaWxhYmxlKCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8qIGdsb2JhbHMgX193ZWJwYWNrX2hhc2hfXyAqLyAvLyBfX3dlYnBhY2tfaGFzaF9fIGlzIHRoZSBoYXNoIG9mIHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uLlxuICAgIC8vIEl0J3MgYSBnbG9iYWwgdmFyaWFibGUgaW5qZWN0ZWQgYnkgV2VicGFjay5cbiAgICByZXR1cm4gbW9zdFJlY2VudENvbXBpbGF0aW9uSGFzaCAhPT0gX193ZWJwYWNrX2hhc2hfXztcbn1cbi8vIFdlYnBhY2sgZGlzYWxsb3dzIHVwZGF0ZXMgaW4gb3RoZXIgc3RhdGVzLlxuZnVuY3Rpb24gY2FuQXBwbHlVcGRhdGVzKCkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcbiAgICByZXR1cm4gbW9kdWxlLmhvdC5zdGF0dXMoKSA9PT0gXCJpZGxlXCI7XG59XG5mdW5jdGlvbiBhZnRlckFwcGx5VXBkYXRlcyhmbikge1xuICAgIGlmIChjYW5BcHBseVVwZGF0ZXMoKSkge1xuICAgICAgICBmbigpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoc3RhdHVzKSB7XG4gICAgICAgICAgICBpZiAoc3RhdHVzID09PSBcImlkbGVcIikge1xuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcbiAgICAgICAgICAgICAgICBtb2R1bGUuaG90LnJlbW92ZVN0YXR1c0hhbmRsZXIoaGFuZGxlcik7XG4gICAgICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG1vZHVsZS5ob3QgZXhpc3RzXG4gICAgICAgIG1vZHVsZS5ob3QuYWRkU3RhdHVzSGFuZGxlcihoYW5kbGVyKTtcbiAgICB9XG59XG5mdW5jdGlvbiBwZXJmb3JtRnVsbFJlbG9hZChlcnIsIHNlbmRNZXNzYWdlKSB7XG4gICAgY29uc3Qgc3RhY2tUcmFjZSA9IGVyciAmJiAoZXJyLnN0YWNrICYmIGVyci5zdGFjay5zcGxpdChcIlxcblwiKS5zbGljZSgwLCA1KS5qb2luKFwiXFxuXCIpIHx8IGVyci5tZXNzYWdlIHx8IGVyciArIFwiXCIpO1xuICAgIHNlbmRNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgZXZlbnQ6IFwiY2xpZW50LWZ1bGwtcmVsb2FkXCIsXG4gICAgICAgIHN0YWNrVHJhY2UsXG4gICAgICAgIGhhZFJ1bnRpbWVFcnJvcjogISFfdXNlZXJyb3JoYW5kbGVyLlJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yXG4gICAgfSkpO1xuICAgIGlmIChyZWxvYWRpbmcpIHJldHVybjtcbiAgICByZWxvYWRpbmcgPSB0cnVlO1xuICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbn1cbi8vIEF0dGVtcHQgdG8gdXBkYXRlIGNvZGUgb24gdGhlIGZseSwgZmFsbCBiYWNrIHRvIGEgaGFyZCByZWxvYWQuXG5mdW5jdGlvbiB0cnlBcHBseVVwZGF0ZXMob25CZWZvcmVVcGRhdGUsIG9uSG90VXBkYXRlU3VjY2Vzcywgc2VuZE1lc3NhZ2UsIGRpc3BhdGNoZXIpIHtcbiAgICBpZiAoIWlzVXBkYXRlQXZhaWxhYmxlKCkgfHwgIWNhbkFwcGx5VXBkYXRlcygpKSB7XG4gICAgICAgIGRpc3BhdGNoZXIub25CdWlsZE9rKCk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZnVuY3Rpb24gaGFuZGxlQXBwbHlVcGRhdGVzKGVyciwgdXBkYXRlZE1vZHVsZXMpIHtcbiAgICAgICAgaWYgKGVyciB8fCBfdXNlZXJyb3JoYW5kbGVyLlJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yIHx8ICF1cGRhdGVkTW9kdWxlcykge1xuICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltGYXN0IFJlZnJlc2hdIHBlcmZvcm1pbmcgZnVsbCByZWxvYWRcXG5cXG5cIiArIFwiRmFzdCBSZWZyZXNoIHdpbGwgcGVyZm9ybSBhIGZ1bGwgcmVsb2FkIHdoZW4geW91IGVkaXQgYSBmaWxlIHRoYXQncyBpbXBvcnRlZCBieSBtb2R1bGVzIG91dHNpZGUgb2YgdGhlIFJlYWN0IHJlbmRlcmluZyB0cmVlLlxcblwiICsgXCJZb3UgbWlnaHQgaGF2ZSBhIGZpbGUgd2hpY2ggZXhwb3J0cyBhIFJlYWN0IGNvbXBvbmVudCBidXQgYWxzbyBleHBvcnRzIGEgdmFsdWUgdGhhdCBpcyBpbXBvcnRlZCBieSBhIG5vbi1SZWFjdCBjb21wb25lbnQgZmlsZS5cXG5cIiArIFwiQ29uc2lkZXIgbWlncmF0aW5nIHRoZSBub24tUmVhY3QgY29tcG9uZW50IGV4cG9ydCB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGltcG9ydGluZyBpdCBpbnRvIGJvdGggZmlsZXMuXFxuXFxuXCIgKyBcIkl0IGlzIGFsc28gcG9zc2libGUgdGhlIHBhcmVudCBjb21wb25lbnQgb2YgdGhlIGNvbXBvbmVudCB5b3UgZWRpdGVkIGlzIGEgY2xhc3MgY29tcG9uZW50LCB3aGljaCBkaXNhYmxlcyBGYXN0IFJlZnJlc2guXFxuXCIgKyBcIkZhc3QgUmVmcmVzaCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgcGFyZW50IGZ1bmN0aW9uIGNvbXBvbmVudCBpbiB5b3VyIFJlYWN0IHRyZWUuXCIpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChfdXNlZXJyb3JoYW5kbGVyLlJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiW0Zhc3QgUmVmcmVzaF0gcGVyZm9ybWluZyBmdWxsIHJlbG9hZCBiZWNhdXNlIHlvdXIgYXBwbGljYXRpb24gaGFkIGFuIHVucmVjb3ZlcmFibGUgZXJyb3JcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwZXJmb3JtRnVsbFJlbG9hZChlcnIsIHNlbmRNZXNzYWdlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoYXNVcGRhdGVzID0gQm9vbGVhbih1cGRhdGVkTW9kdWxlcy5sZW5ndGgpO1xuICAgICAgICBpZiAodHlwZW9mIG9uSG90VXBkYXRlU3VjY2VzcyA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAvLyBNYXliZSB3ZSB3YW50IHRvIGRvIHNvbWV0aGluZy5cbiAgICAgICAgICAgIG9uSG90VXBkYXRlU3VjY2Vzcyh1cGRhdGVkTW9kdWxlcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzVXBkYXRlQXZhaWxhYmxlKCkpIHtcbiAgICAgICAgICAgIC8vIFdoaWxlIHdlIHdlcmUgdXBkYXRpbmcsIHRoZXJlIHdhcyBhIG5ldyB1cGRhdGUhIERvIGl0IGFnYWluLlxuICAgICAgICAgICAgdHJ5QXBwbHlVcGRhdGVzKGhhc1VwZGF0ZXMgPyAoKT0+e30gOiBvbkJlZm9yZVVwZGF0ZSwgaGFzVXBkYXRlcyA/ICgpPT5kaXNwYXRjaGVyLm9uQnVpbGRPaygpIDogb25Ib3RVcGRhdGVTdWNjZXNzLCBzZW5kTWVzc2FnZSwgZGlzcGF0Y2hlcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBkaXNwYXRjaGVyLm9uQnVpbGRPaygpO1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAgICAgICAgICAgICBhZnRlckFwcGx5VXBkYXRlcygoKT0+e1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fX05FWFRfSE1SX0NCKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBodHRwczovL3dlYnBhY2suanMub3JnL2FwaS9ob3QtbW9kdWxlLXJlcGxhY2VtZW50LyNjaGVja1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcbiAgICBtb2R1bGUuaG90LmNoZWNrKC8qIGF1dG9BcHBseSAqLyBmYWxzZSkudGhlbigodXBkYXRlZE1vZHVsZXMpPT57XG4gICAgICAgIGlmICghdXBkYXRlZE1vZHVsZXMpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2Ygb25CZWZvcmVVcGRhdGUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgY29uc3QgaGFzVXBkYXRlcyA9IEJvb2xlYW4odXBkYXRlZE1vZHVsZXMubGVuZ3RoKTtcbiAgICAgICAgICAgIG9uQmVmb3JlVXBkYXRlKGhhc1VwZGF0ZXMpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGh0dHBzOi8vd2VicGFjay5qcy5vcmcvYXBpL2hvdC1tb2R1bGUtcmVwbGFjZW1lbnQvI2FwcGx5XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcbiAgICAgICAgcmV0dXJuIG1vZHVsZS5ob3QuYXBwbHkoKTtcbiAgICB9KS50aGVuKCh1cGRhdGVkTW9kdWxlcyk9PntcbiAgICAgICAgaGFuZGxlQXBwbHlVcGRhdGVzKG51bGwsIHVwZGF0ZWRNb2R1bGVzKTtcbiAgICB9LCAoZXJyKT0+e1xuICAgICAgICBoYW5kbGVBcHBseVVwZGF0ZXMoZXJyLCBudWxsKTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHByb2Nlc3NNZXNzYWdlKG9iaiwgc2VuZE1lc3NhZ2UsIHJvdXRlciwgZGlzcGF0Y2hlcikge1xuICAgIGlmICghKFwiYWN0aW9uXCIgaW4gb2JqKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhhbmRsZUVycm9ycyhlcnJvcnMpIHtcbiAgICAgICAgLy8gXCJNYXNzYWdlXCIgd2VicGFjayBtZXNzYWdlcy5cbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gKDAsIF9mb3JtYXR3ZWJwYWNrbWVzc2FnZXMuZGVmYXVsdCkoe1xuICAgICAgICAgICAgZXJyb3JzOiBlcnJvcnMsXG4gICAgICAgICAgICB3YXJuaW5nczogW11cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIE9ubHkgc2hvdyB0aGUgZmlyc3QgZXJyb3IuXG4gICAgICAgIGRpc3BhdGNoZXIub25CdWlsZEVycm9yKGZvcm1hdHRlZC5lcnJvcnNbMF0pO1xuICAgICAgICAvLyBBbHNvIGxvZyB0aGVtIHRvIHRoZSBjb25zb2xlLlxuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmVycm9ycy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCgwLCBfc3RyaXBhbnNpLmRlZmF1bHQpKGZvcm1hdHRlZC5lcnJvcnNbaV0pKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBEbyBub3QgYXR0ZW1wdCB0byByZWxvYWQgbm93LlxuICAgICAgICAvLyBXZSB3aWxsIHJlbG9hZCBvbiBuZXh0IHN1Y2Nlc3MgaW5zdGVhZC5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcbiAgICAgICAgICAgIGlmIChzZWxmLl9fTkVYVF9ITVJfQ0IpIHtcbiAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IoZm9ybWF0dGVkLmVycm9yc1swXSk7XG4gICAgICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBoYW5kbGVIb3RVcGRhdGUodXBkYXRlZE1vZHVsZXMpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52LlRVUkJPUEFDSykge1xuICAgICAgICAgICAgb25GYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBzZW5kTWVzc2FnZSwgdXBkYXRlZE1vZHVsZXMgfHwgW10pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHJ5QXBwbHlVcGRhdGVzKGZ1bmN0aW9uIG9uQmVmb3JlSG90VXBkYXRlKGhhc1VwZGF0ZXMpIHtcbiAgICAgICAgICAgICAgICBvbkJlZm9yZUZhc3RSZWZyZXNoKGRpc3BhdGNoZXIsIGhhc1VwZGF0ZXMpO1xuICAgICAgICAgICAgfSwgZnVuY3Rpb24gb25TdWNjZXNzZnVsSG90VXBkYXRlKHdlYnBhY2tVcGRhdGVkTW9kdWxlcykge1xuICAgICAgICAgICAgICAgIC8vIE9ubHkgZGlzbWlzcyBpdCB3aGVuIHdlJ3JlIHN1cmUgaXQncyBhIGhvdCB1cGRhdGUuXG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGl0IHdvdWxkIGZsaWNrZXIgcmlnaHQgYmVmb3JlIHRoZSByZWxvYWQuXG4gICAgICAgICAgICAgICAgb25GYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBzZW5kTWVzc2FnZSwgd2VicGFja1VwZGF0ZWRNb2R1bGVzKTtcbiAgICAgICAgICAgIH0sIHNlbmRNZXNzYWdlLCBkaXNwYXRjaGVyKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBzd2l0Y2gob2JqLmFjdGlvbil7XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkJVSUxESU5HOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN0YXJ0TGF0ZW5jeSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJbRmFzdCBSZWZyZXNoXSByZWJ1aWxkaW5nXCIpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5GSU5JU0hfQlVJTERJTkc6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLkJVSUxUOlxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5TWU5DOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGlmIChvYmouaGFzaCkge1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVBdmFpbGFibGVIYXNoKG9iai5oYXNoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvcnMsIHdhcm5pbmdzIH0gPSBvYmo7XG4gICAgICAgICAgICAgICAgLy8gSXMgdW5kZWZpbmVkIHdoZW4gaXQncyBhICdidWlsdCcgZXZlbnRcbiAgICAgICAgICAgICAgICBpZiAoXCJ2ZXJzaW9uSW5mb1wiIGluIG9iaikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaGVyLm9uVmVyc2lvbkluZm8ob2JqLnZlcnNpb25JbmZvKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRXJyb3JzID0gQm9vbGVhbihlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCk7XG4gICAgICAgICAgICAgICAgLy8gQ29tcGlsYXRpb24gd2l0aCBlcnJvcnMgKGUuZy4gc3ludGF4IGVycm9yIG9yIG1pc3NpbmcgbW9kdWxlcykuXG4gICAgICAgICAgICAgICAgaWYgKGhhc0Vycm9ycykge1xuICAgICAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudDogXCJjbGllbnQtZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQ291bnQ6IGVycm9ycy5sZW5ndGgsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgICAgICBoYW5kbGVFcnJvcnMoZXJyb3JzKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNXYXJuaW5ncyA9IEJvb2xlYW4od2FybmluZ3MgJiYgd2FybmluZ3MubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFzV2FybmluZ3MpIHtcbiAgICAgICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2xpZW50LXdhcm5pbmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdDb3VudDogd2FybmluZ3MubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkXG4gICAgICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gUHJpbnQgd2FybmluZ3MgdG8gdGhlIGNvbnNvbGUuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZE1lc3NhZ2VzID0gKDAsIF9mb3JtYXR3ZWJwYWNrbWVzc2FnZXMuZGVmYXVsdCkoe1xuICAgICAgICAgICAgICAgICAgICAgICAgd2FybmluZ3M6IHdhcm5pbmdzLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGZvcm1hdHRlZE1lc3NhZ2VzLndhcm5pbmdzLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID09PSA1KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKFwiVGhlcmUgd2VyZSBtb3JlIHdhcm5pbmdzIGluIG90aGVyIGZpbGVzLlxcblwiICsgXCJZb3UgY2FuIGZpbmQgYSBjb21wbGV0ZSBsb2cgaW4gdGhlIHRlcm1pbmFsLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybigoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShmb3JtYXR0ZWRNZXNzYWdlcy53YXJuaW5nc1tpXSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gTm8gZWFybHkgcmV0dXJuIGhlcmUgYXMgd2UgbmVlZCB0byBhcHBseSBtb2R1bGVzIGluIHRoZSBzYW1lIHdheSBiZXR3ZWVuIHdhcm5pbmdzIG9ubHkgYW5kIGNvbXBpbGVzIHdpdGhvdXQgd2FybmluZ3NcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICBldmVudDogXCJjbGllbnQtc3VjY2Vzc1wiLFxuICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgaWYgKG9iai5hY3Rpb24gPT09IF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5CVUlMVCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBIYW5kbGUgaG90IHVwZGF0ZXNcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlSG90VXBkYXRlKG9iai51cGRhdGVkTW9kdWxlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgLy8gVE9ETy1BUFA6IG1ha2Ugc2VydmVyIGNvbXBvbmVudCBjaGFuZ2UgbW9yZSBncmFudWxhclxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5TRVJWRVJfQ09NUE9ORU5UX0NIQU5HRVM6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgICAgICBldmVudDogXCJzZXJ2ZXItY29tcG9uZW50LXJlbG9hZC1wYWdlXCIsXG4gICAgICAgICAgICAgICAgICAgIGNsaWVudElkOiBfX25leHREZXZDbGllbnRJZFxuICAgICAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgICAgICBpZiAoX3VzZWVycm9yaGFuZGxlci5SdW50aW1lRXJyb3JIYW5kbGVyLmhhZFJ1bnRpbWVFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICBpZiAocmVsb2FkaW5nKSByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIHJlbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlIGl0IGV4aXN0cywgaXQncyBqdXN0IGhpZGRlblxuICAgICAgICAgICAgICAgICAgICByb3V0ZXIuZmFzdFJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hlci5vblJlZnJlc2goKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX1RFU1RfTU9ERSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fX05FWFRfSE1SX0NCKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQiA9IG51bGw7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5SRUxPQURfUEFHRTpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1yZWxvYWQtcGFnZVwiLFxuICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICAgICAgaWYgKHJlbG9hZGluZykgcmV0dXJuO1xuICAgICAgICAgICAgICAgIHJlbG9hZGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuUkVNT1ZFRF9QQUdFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBwb3RlbnRpYWxseSBvbmx5IHJlZnJlc2ggaWYgdGhlIGN1cnJlbnRseSB2aWV3ZWQgcGFnZSB3YXMgcmVtb3ZlZC5cbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlIGl0IGV4aXN0cywgaXQncyBqdXN0IGhpZGRlblxuICAgICAgICAgICAgICAgIHJvdXRlci5mYXN0UmVmcmVzaCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQURERURfUEFHRTpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogcG90ZW50aWFsbHkgb25seSByZWZyZXNoIGlmIHRoZSBjdXJyZW50bHkgdmlld2VkIHBhZ2Ugd2FzIGFkZGVkLlxuICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgaXQgZXhpc3RzLCBpdCdzIGp1c3QgaGlkZGVuXG4gICAgICAgICAgICAgICAgcm91dGVyLmZhc3RSZWZyZXNoKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5TRVJWRVJfRVJST1I6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBlcnJvckpTT04gfSA9IG9iajtcbiAgICAgICAgICAgICAgICBpZiAoZXJyb3JKU09OKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgc3RhY2sgfSA9IEpTT04ucGFyc2UoZXJyb3JKU09OKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZXJyb3IgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yLnN0YWNrID0gc3RhY2s7XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUVycm9ycyhbXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvclxuICAgICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5ERVZfUEFHRVNfTUFOSUZFU1RfVVBEQVRFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHt9XG4gICAgfVxufVxuZnVuY3Rpb24gSG90UmVsb2FkKHBhcmFtKSB7XG4gICAgbGV0IHsgYXNzZXRQcmVmaXgsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBbc3RhdGUsIGRpc3BhdGNoXSA9ICgwLCBfcmVhY3QudXNlUmVkdWNlcikoX2Vycm9yb3ZlcmxheXJlZHVjZXIuZXJyb3JPdmVybGF5UmVkdWNlciwgX2Vycm9yb3ZlcmxheXJlZHVjZXIuSU5JVElBTF9PVkVSTEFZX1NUQVRFKTtcbiAgICBjb25zdCBkaXNwYXRjaGVyID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgb25CdWlsZE9rICgpIHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9CVUlMRF9PS1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uQnVpbGRFcnJvciAobWVzc2FnZSkge1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX0JVSUxEX0VSUk9SLFxuICAgICAgICAgICAgICAgICAgICBtZXNzYWdlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgb25CZWZvcmVSZWZyZXNoICgpIHtcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9CRUZPUkVfUkVGUkVTSFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uUmVmcmVzaCAoKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fUkVGUkVTSFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG9uVmVyc2lvbkluZm8gKHZlcnNpb25JbmZvKSB7XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVkVSU0lPTl9JTkZPLFxuICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uSW5mb1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbiAgICBjb25zdCBoYW5kbGVPblVuaGFuZGxlZEVycm9yID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGVycm9yKT0+e1xuICAgICAgICAvLyBDb21wb25lbnQgc3RhY2sgaXMgYWRkZWQgdG8gdGhlIGVycm9yIGluIHVzZS1lcnJvci1oYW5kbGVyIGluIGNhc2UgdGhlcmUgd2FzIGEgaHlkcmF0aW9uIGVycnJvclxuICAgICAgICBjb25zdCBjb21wb25lbnRTdGFjayA9IGVycm9yLl9jb21wb25lbnRTdGFjaztcbiAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX1VOSEFORExFRF9FUlJPUixcbiAgICAgICAgICAgIHJlYXNvbjogZXJyb3IsXG4gICAgICAgICAgICBmcmFtZXM6ICgwLCBfcGFyc2VTdGFjay5wYXJzZVN0YWNrKShlcnJvci5zdGFjayksXG4gICAgICAgICAgICBjb21wb25lbnRTdGFja0ZyYW1lczogY29tcG9uZW50U3RhY2sgJiYgKDAsIF9wYXJzZWNvbXBvbmVudHN0YWNrLnBhcnNlQ29tcG9uZW50U3RhY2spKGNvbXBvbmVudFN0YWNrKVxuICAgICAgICB9KTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlT25VbmhhbmRsZWRSZWplY3Rpb24gPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgocmVhc29uKT0+e1xuICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTixcbiAgICAgICAgICAgIHJlYXNvbjogcmVhc29uLFxuICAgICAgICAgICAgZnJhbWVzOiAoMCwgX3BhcnNlU3RhY2sucGFyc2VTdGFjaykocmVhc29uLnN0YWNrKVxuICAgICAgICB9KTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGFuZGxlT25SZWFjdEVycm9yID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKCk9PntcbiAgICAgICAgX3VzZWVycm9yaGFuZGxlci5SdW50aW1lRXJyb3JIYW5kbGVyLmhhZFJ1bnRpbWVFcnJvciA9IHRydWU7XG4gICAgfSwgW10pO1xuICAgICgwLCBfdXNlZXJyb3JoYW5kbGVyLnVzZUVycm9ySGFuZGxlcikoaGFuZGxlT25VbmhhbmRsZWRFcnJvciwgaGFuZGxlT25VbmhhbmRsZWRSZWplY3Rpb24pO1xuICAgIGNvbnN0IHdlYlNvY2tldFJlZiA9ICgwLCBfdXNld2Vic29ja2V0LnVzZVdlYnNvY2tldCkoYXNzZXRQcmVmaXgpO1xuICAgICgwLCBfdXNld2Vic29ja2V0LnVzZVdlYnNvY2tldFBpbmcpKHdlYlNvY2tldFJlZik7XG4gICAgY29uc3Qgc2VuZE1lc3NhZ2UgPSAoMCwgX3VzZXdlYnNvY2tldC51c2VTZW5kTWVzc2FnZSkod2ViU29ja2V0UmVmKTtcbiAgICBjb25zdCBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSA9ICgwLCBfdXNld2Vic29ja2V0LnVzZVR1cmJvcGFjaykoc2VuZE1lc3NhZ2UpO1xuICAgIGNvbnN0IHJvdXRlciA9ICgwLCBfbmF2aWdhdGlvbi51c2VSb3V0ZXIpKCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZXZlbnQpPT57XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG9iaiA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFuZGxlZEJ5VHVyYm9wYWNrID0gcHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UgPT0gbnVsbCA/IHZvaWQgMCA6IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlKG9iaik7XG4gICAgICAgICAgICAgICAgaWYgKCFoYW5kbGVkQnlUdXJib3BhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzc01lc3NhZ2Uob2JqLCBzZW5kTWVzc2FnZSwgcm91dGVyLCBkaXNwYXRjaGVyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICB2YXIgX2Vycl9zdGFjaztcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbSE1SXSBJbnZhbGlkIG1lc3NhZ2U6IFwiICsgZXZlbnQuZGF0YSArIFwiXFxuXCIgKyAoKF9lcnJfc3RhY2sgPSBlcnIgPT0gbnVsbCA/IHZvaWQgMCA6IGVyci5zdGFjaykgIT0gbnVsbCA/IF9lcnJfc3RhY2sgOiBcIlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHdlYnNvY2tldCA9IHdlYlNvY2tldFJlZi5jdXJyZW50O1xuICAgICAgICBpZiAod2Vic29ja2V0KSB7XG4gICAgICAgICAgICB3ZWJzb2NrZXQuYWRkRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgpPT53ZWJzb2NrZXQgJiYgd2Vic29ja2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZXIpO1xuICAgIH0sIFtcbiAgICAgICAgc2VuZE1lc3NhZ2UsXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgd2ViU29ja2V0UmVmLFxuICAgICAgICBkaXNwYXRjaGVyLFxuICAgICAgICBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZVxuICAgIF0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9SZWFjdERldk92ZXJsYXkuZGVmYXVsdCwge1xuICAgICAgICBvblJlYWN0RXJyb3I6IGhhbmRsZU9uUmVhY3RFcnJvcixcbiAgICAgICAgc3RhdGU6IHN0YXRlLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG90LXJlbG9hZGVyLWNsaWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiSG90UmVsb2FkIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfc3RyaXBhbnNpIiwiX2Zvcm1hdHdlYnBhY2ttZXNzYWdlcyIsIl9uYXZpZ2F0aW9uIiwiX2Vycm9yb3ZlcmxheXJlZHVjZXIiLCJfcGFyc2VTdGFjayIsIl9SZWFjdERldk92ZXJsYXkiLCJfdXNlZXJyb3JoYW5kbGVyIiwiX3VzZXdlYnNvY2tldCIsIl9wYXJzZWNvbXBvbmVudHN0YWNrIiwiX2hvdHJlbG9hZGVydHlwZXMiLCJtb3N0UmVjZW50Q29tcGlsYXRpb25IYXNoIiwiX19uZXh0RGV2Q2xpZW50SWQiLCJNYXRoIiwicm91bmQiLCJyYW5kb20iLCJEYXRlIiwibm93IiwicmVsb2FkaW5nIiwic3RhcnRMYXRlbmN5Iiwib25CZWZvcmVGYXN0UmVmcmVzaCIsImRpc3BhdGNoZXIiLCJoYXNVcGRhdGVzIiwib25CZWZvcmVSZWZyZXNoIiwib25GYXN0UmVmcmVzaCIsInNlbmRNZXNzYWdlIiwidXBkYXRlZE1vZHVsZXMiLCJlbmRMYXRlbmN5Iiwib25CdWlsZE9rIiwiSlNPTiIsInN0cmluZ2lmeSIsImV2ZW50IiwiaWQiLCJ3aW5kb3ciLCJzdGFydFRpbWUiLCJlbmRUaW1lIiwicGFnZSIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJpc1BhZ2VIaWRkZW4iLCJkb2N1bWVudCIsInZpc2liaWxpdHlTdGF0ZSIsImxlbmd0aCIsIm9uUmVmcmVzaCIsImhhbmRsZUF2YWlsYWJsZUhhc2giLCJoYXNoIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJwcm9jZXNzIiwiZW52IiwiVFVSQk9QQUNLIiwiX193ZWJwYWNrX2hhc2hfXyIsImNhbkFwcGx5VXBkYXRlcyIsIm1vZHVsZSIsImhvdCIsInN0YXR1cyIsImFmdGVyQXBwbHlVcGRhdGVzIiwiZm4iLCJoYW5kbGVyIiwicmVtb3ZlU3RhdHVzSGFuZGxlciIsImFkZFN0YXR1c0hhbmRsZXIiLCJwZXJmb3JtRnVsbFJlbG9hZCIsImVyciIsInN0YWNrVHJhY2UiLCJzdGFjayIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwibWVzc2FnZSIsImhhZFJ1bnRpbWVFcnJvciIsIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJyZWxvYWQiLCJ0cnlBcHBseVVwZGF0ZXMiLCJvbkJlZm9yZVVwZGF0ZSIsIm9uSG90VXBkYXRlU3VjY2VzcyIsImhhbmRsZUFwcGx5VXBkYXRlcyIsImNvbnNvbGUiLCJ3YXJuIiwiQm9vbGVhbiIsIl9fTkVYVF9URVNUX01PREUiLCJzZWxmIiwiX19ORVhUX0hNUl9DQiIsImNoZWNrIiwidGhlbiIsImFwcGx5IiwicHJvY2Vzc01lc3NhZ2UiLCJvYmoiLCJyb3V0ZXIiLCJoYW5kbGVFcnJvcnMiLCJlcnJvcnMiLCJmb3JtYXR0ZWQiLCJkZWZhdWx0Iiwid2FybmluZ3MiLCJvbkJ1aWxkRXJyb3IiLCJpIiwiZXJyb3IiLCJoYW5kbGVIb3RVcGRhdGUiLCJvbkJlZm9yZUhvdFVwZGF0ZSIsIm9uU3VjY2Vzc2Z1bEhvdFVwZGF0ZSIsIndlYnBhY2tVcGRhdGVkTW9kdWxlcyIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIkJVSUxESU5HIiwibG9nIiwiRklOSVNIX0JVSUxESU5HIiwiQlVJTFQiLCJTWU5DIiwib25WZXJzaW9uSW5mbyIsInZlcnNpb25JbmZvIiwiaGFzRXJyb3JzIiwiZXJyb3JDb3VudCIsImNsaWVudElkIiwiaGFzV2FybmluZ3MiLCJ3YXJuaW5nQ291bnQiLCJmb3JtYXR0ZWRNZXNzYWdlcyIsIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUyIsInN0YXJ0VHJhbnNpdGlvbiIsImZhc3RSZWZyZXNoIiwiUkVMT0FEX1BBR0UiLCJSRU1PVkVEX1BBR0UiLCJBRERFRF9QQUdFIiwiU0VSVkVSX0VSUk9SIiwiZXJyb3JKU09OIiwicGFyc2UiLCJFcnJvciIsIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEUiLCJwYXJhbSIsImFzc2V0UHJlZml4IiwiY2hpbGRyZW4iLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlUmVkdWNlciIsImVycm9yT3ZlcmxheVJlZHVjZXIiLCJJTklUSUFMX09WRVJMQVlfU1RBVEUiLCJ1c2VNZW1vIiwidHlwZSIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJ1c2VDYWxsYmFjayIsImNvbXBvbmVudFN0YWNrIiwiX2NvbXBvbmVudFN0YWNrIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsInJlYXNvbiIsImZyYW1lcyIsInBhcnNlU3RhY2siLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsInBhcnNlQ29tcG9uZW50U3RhY2siLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwiaGFuZGxlT25SZWFjdEVycm9yIiwidXNlRXJyb3JIYW5kbGVyIiwid2ViU29ja2V0UmVmIiwidXNlV2Vic29ja2V0IiwidXNlV2Vic29ja2V0UGluZyIsInVzZVNlbmRNZXNzYWdlIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJkYXRhIiwiaGFuZGxlZEJ5VHVyYm9wYWNrIiwiX2Vycl9zdGFjayIsIndlYnNvY2tldCIsImN1cnJlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImpzeCIsIm9uUmVhY3RFcnJvciIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _erroroverlayreducer = __webpack_require__(/*! ./error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _ShadowPortal = __webpack_require__(/*! ./components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ./container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ./container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RootLayoutError = __webpack_require__(/*! ./container/RootLayoutError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\");\nconst _parseStack = __webpack_require__(/*! ./helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ./styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ./styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ./styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n const e = error;\n const event = {\n type: _erroroverlayreducer.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(e.stack)\n };\n const errorEvent = {\n id: 0,\n event\n };\n return {\n reactError: errorEvent\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n const { state, children } = this.props;\n const { reactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const rootLayoutMissingTagsError = state.rootLayoutMissingTagsError;\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || rootLayoutMissingTagsError;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n reactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n rootLayoutMissingTagsError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_RootLayoutError.RootLayoutError, {\n missingTags: rootLayoutMissingTagsError.missingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined\n ]\n }) : undefined\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\nconst _default = ReactDevOverlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL1JlYWN0RGV2T3ZlcmxheS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksdUJBQXVCSixtQkFBT0EsQ0FBQyxxSUFBeUI7QUFDOUQsTUFBTUssZ0JBQWdCTCxtQkFBT0EsQ0FBQyx5SUFBMkI7QUFDekQsTUFBTU0sY0FBY04sbUJBQU9BLENBQUMsbUlBQXdCO0FBQ3BELE1BQU1PLFVBQVVQLG1CQUFPQSxDQUFDLDJIQUFvQjtBQUM1QyxNQUFNUSxtQkFBbUJSLG1CQUFPQSxDQUFDLDZJQUE2QjtBQUM5RCxNQUFNUyxjQUFjVCxtQkFBT0EsQ0FBQywrSEFBc0I7QUFDbEQsTUFBTVUsUUFBUVYsbUJBQU9BLENBQUMsaUhBQWU7QUFDckMsTUFBTVcsbUJBQW1CWCxtQkFBT0EsQ0FBQyx1SUFBMEI7QUFDM0QsTUFBTVksWUFBWVosbUJBQU9BLENBQUMseUhBQW1CO0FBQzdDLE1BQU1hLHdCQUF3QlgsT0FBT1ksYUFBYTtJQUM5QyxPQUFPQyx5QkFBeUJDLEtBQUssRUFBRTtRQUNuQyxNQUFNQyxJQUFJRDtRQUNWLE1BQU1FLFFBQVE7WUFDVkMsTUFBTWYscUJBQXFCZ0Isc0JBQXNCO1lBQ2pEQyxRQUFRTDtZQUNSTSxRQUFRLENBQUMsR0FBR2IsWUFBWWMsVUFBVSxFQUFFTixFQUFF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LFFBQVFrRSxPQUFPLEVBQUUsY0FBYztRQUFFakUsT0FBTztJQUFLO0lBQ25FSCxPQUFPc0UsTUFBTSxDQUFDcEUsUUFBUWtFLE9BQU8sRUFBRWxFO0lBQy9CcUUsT0FBT3JFLE9BQU8sR0FBR0EsUUFBUWtFLE9BQU87QUFDbEMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9SZWFjdERldk92ZXJsYXkuanM/ZDJjNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2Vycm9yb3ZlcmxheXJlZHVjZXIgPSByZXF1aXJlKFwiLi9lcnJvci1vdmVybGF5LXJlZHVjZXJcIik7XG5jb25zdCBfU2hhZG93UG9ydGFsID0gcmVxdWlyZShcIi4vY29tcG9uZW50cy9TaGFkb3dQb3J0YWxcIik7XG5jb25zdCBfQnVpbGRFcnJvciA9IHJlcXVpcmUoXCIuL2NvbnRhaW5lci9CdWlsZEVycm9yXCIpO1xuY29uc3QgX0Vycm9ycyA9IHJlcXVpcmUoXCIuL2NvbnRhaW5lci9FcnJvcnNcIik7XG5jb25zdCBfUm9vdExheW91dEVycm9yID0gcmVxdWlyZShcIi4vY29udGFpbmVyL1Jvb3RMYXlvdXRFcnJvclwiKTtcbmNvbnN0IF9wYXJzZVN0YWNrID0gcmVxdWlyZShcIi4vaGVscGVycy9wYXJzZVN0YWNrXCIpO1xuY29uc3QgX0Jhc2UgPSByZXF1aXJlKFwiLi9zdHlsZXMvQmFzZVwiKTtcbmNvbnN0IF9Db21wb25lbnRTdHlsZXMgPSByZXF1aXJlKFwiLi9zdHlsZXMvQ29tcG9uZW50U3R5bGVzXCIpO1xuY29uc3QgX0Nzc1Jlc2V0ID0gcmVxdWlyZShcIi4vc3R5bGVzL0Nzc1Jlc2V0XCIpO1xuY2xhc3MgUmVhY3REZXZPdmVybGF5IGV4dGVuZHMgX3JlYWN0LlB1cmVDb21wb25lbnQge1xuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgZSA9IGVycm9yO1xuICAgICAgICBjb25zdCBldmVudCA9IHtcbiAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9VTkhBTkRMRURfRVJST1IsXG4gICAgICAgICAgICByZWFzb246IGVycm9yLFxuICAgICAgICAgICAgZnJhbWVzOiAoMCwgX3BhcnNlU3RhY2sucGFyc2VTdGFjaykoZS5zdGFjaylcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZXJyb3JFdmVudCA9IHtcbiAgICAgICAgICAgIGlkOiAwLFxuICAgICAgICAgICAgZXZlbnRcbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHJlYWN0RXJyb3I6IGVycm9yRXZlbnRcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY29tcG9uZW50RGlkQ2F0Y2goY29tcG9uZW50RXJyKSB7XG4gICAgICAgIHRoaXMucHJvcHMub25SZWFjdEVycm9yKGNvbXBvbmVudEVycik7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyBzdGF0ZSwgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XG4gICAgICAgIGNvbnN0IHsgcmVhY3RFcnJvciB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgY29uc3QgaGFzQnVpbGRFcnJvciA9IHN0YXRlLmJ1aWxkRXJyb3IgIT0gbnVsbDtcbiAgICAgICAgY29uc3QgaGFzUnVudGltZUVycm9ycyA9IEJvb2xlYW4oc3RhdGUuZXJyb3JzLmxlbmd0aCk7XG4gICAgICAgIGNvbnN0IHJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yID0gc3RhdGUucm9vdExheW91dE1pc3NpbmdUYWdzRXJyb3I7XG4gICAgICAgIGNvbnN0IGlzTW91bnRlZCA9IGhhc0J1aWxkRXJyb3IgfHwgaGFzUnVudGltZUVycm9ycyB8fCByZWFjdEVycm9yIHx8IHJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgcmVhY3RFcnJvciA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiaHRtbFwiLCB7XG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaGVhZFwiLCB7fSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYm9keVwiLCB7fSlcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0pIDogY2hpbGRyZW4sXG4gICAgICAgICAgICAgICAgaXNNb3VudGVkID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX1NoYWRvd1BvcnRhbC5TaGFkb3dQb3J0YWwsIHtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0Nzc1Jlc2V0LkNzc1Jlc2V0LCB7fSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9CYXNlLkJhc2UsIHt9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0NvbXBvbmVudFN0eWxlcy5Db21wb25lbnRTdHlsZXMsIHt9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfUm9vdExheW91dEVycm9yLlJvb3RMYXlvdXRFcnJvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1pc3NpbmdUYWdzOiByb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvci5taXNzaW5nVGFnc1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBoYXNCdWlsZEVycm9yID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQnVpbGRFcnJvci5CdWlsZEVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVzc2FnZTogc3RhdGUuYnVpbGRFcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uSW5mbzogc3RhdGUudmVyc2lvbkluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogcmVhY3RFcnJvciA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0Vycm9ycy5FcnJvcnMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uSW5mbzogc3RhdGUudmVyc2lvbkluZm8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbERpc3BsYXlTdGF0ZTogXCJmdWxsc2NyZWVuXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWN0RXJyb3JcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSA6IGhhc1J1bnRpbWVFcnJvcnMgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9FcnJvcnMuRXJyb3JzLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdGlhbERpc3BsYXlTdGF0ZTogXCJtaW5pbWl6ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnM6IHN0YXRlLmVycm9ycyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uSW5mbzogc3RhdGUudmVyc2lvbkluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgXVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoLi4uYXJncyl7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3MpO1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgcmVhY3RFcnJvcjogbnVsbFxuICAgICAgICB9O1xuICAgIH1cbn1cbmNvbnN0IF9kZWZhdWx0ID0gUmVhY3REZXZPdmVybGF5O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1SZWFjdERldk92ZXJsYXkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfZXJyb3JvdmVybGF5cmVkdWNlciIsIl9TaGFkb3dQb3J0YWwiLCJfQnVpbGRFcnJvciIsIl9FcnJvcnMiLCJfUm9vdExheW91dEVycm9yIiwiX3BhcnNlU3RhY2siLCJfQmFzZSIsIl9Db21wb25lbnRTdHlsZXMiLCJfQ3NzUmVzZXQiLCJSZWFjdERldk92ZXJsYXkiLCJQdXJlQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJlIiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsInJlYXNvbiIsImZyYW1lcyIsInBhcnNlU3RhY2siLCJzdGFjayIsImVycm9yRXZlbnQiLCJpZCIsInJlYWN0RXJyb3IiLCJjb21wb25lbnREaWRDYXRjaCIsImNvbXBvbmVudEVyciIsInByb3BzIiwib25SZWFjdEVycm9yIiwicmVuZGVyIiwic3RhdGUiLCJjaGlsZHJlbiIsImhhc0J1aWxkRXJyb3IiLCJidWlsZEVycm9yIiwiaGFzUnVudGltZUVycm9ycyIsIkJvb2xlYW4iLCJlcnJvcnMiLCJsZW5ndGgiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvciIsImlzTW91bnRlZCIsImpzeHMiLCJGcmFnbWVudCIsImpzeCIsIlNoYWRvd1BvcnRhbCIsIkNzc1Jlc2V0IiwiQmFzZSIsIkNvbXBvbmVudFN0eWxlcyIsIlJvb3RMYXlvdXRFcnJvciIsIm1pc3NpbmdUYWdzIiwiQnVpbGRFcnJvciIsIm1lc3NhZ2UiLCJ2ZXJzaW9uSW5mbyIsIkVycm9ycyIsImluaXRpYWxEaXNwbGF5U3RhdGUiLCJ1bmRlZmluZWQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst CodeFrame = function CodeFrame(param) {\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n const prefixLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n if (prefixLength > 1) {\n const p = \" \".repeat(prefixLength);\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(p, \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @ \",\n stackFrame.methodName\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHSix5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0ZBQTBCO0FBQzFGLE1BQU1LLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJHLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTU0sYUFBYSxXQUFXLEdBQUdQLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxrR0FBK0I7QUFDbkcsTUFBTU8sY0FBY1AsbUJBQU9BLENBQUMscUlBQTJCO0FBQ3ZELE1BQU1RLG1CQUFtQlIsbUJBQU9BLENBQUMsbUpBQWtDO0FBQ25FLE1BQU1GLFlBQVksU0FBU0EsVUFBVVcsS0FBSztJQUN0QyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsU0FBUyxFQUFFLEdBQUdGO0lBQ2hDLDhDQUE4QztJQUM5QyxNQUFNRyxpQkFBaUJQLE9BQU9RLE9BQU8sQ0FBQztRQUNsQyxNQUFNQyxRQUFRSCxVQUFVSSxLQUFLLENBQUM7UUFDOUIsTUFBTUMsZUFBZUYsTUFBTUcsR0FBRyxDQUFDLENBQUNDLE9BQU8sb0JBQW9CQyxJQUFJLENBQUMsQ0FBQyxHQUFHYixXQUFXYyxPQUFPLEVBQUVGLFdBQVcs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TU0sVUFBVSxLQUFLLFNBQVM7Z0NBQzdCQyxZQUFZOzRCQUNoQixJQUFJUCxNQUFNTSxVQUFVLEtBQUssV0FBVztnQ0FDaENFLFdBQVc7NEJBQ2YsSUFBSUgsU0FBUzt3QkFDakI7d0JBQ0ExQixVQUFVcUIsTUFBTVMsT0FBTztvQkFDM0IsR0FBRyxXQUFXUjtZQUN0QjtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPL0UsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQzhELFVBQVUsS0FBSyxhQUFhO0lBQ3JLMUYsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMEIsT0FBTyxFQUFFLGNBQWM7UUFBRXpCLE9BQU87SUFBSztJQUNuRUgsT0FBTzJGLE1BQU0sQ0FBQ3pGLFFBQVEwQixPQUFPLEVBQUUxQjtJQUMvQjBGLE9BQU8xRixPQUFPLEdBQUdBLFFBQVEwQixPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvQ29kZUZyYW1lLmpzP2Y2MjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb2RlRnJhbWVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENvZGVGcmFtZTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9hbnNlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9hbnNlclwiKSk7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3N0cmlwYW5zaSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpXCIpKTtcbmNvbnN0IF9zdGFja2ZyYW1lID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvc3RhY2stZnJhbWVcIik7XG5jb25zdCBfdXNlb3BlbmluZWRpdG9yID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yXCIpO1xuY29uc3QgQ29kZUZyYW1lID0gZnVuY3Rpb24gQ29kZUZyYW1lKHBhcmFtKSB7XG4gICAgbGV0IHsgc3RhY2tGcmFtZSwgY29kZUZyYW1lIH0gPSBwYXJhbTtcbiAgICAvLyBTdHJpcCBsZWFkaW5nIHNwYWNlcyBvdXQgb2YgdGhlIGNvZGUgZnJhbWU6XG4gICAgY29uc3QgZm9ybWF0dGVkRnJhbWUgPSBfcmVhY3QudXNlTWVtbygoKT0+e1xuICAgICAgICBjb25zdCBsaW5lcyA9IGNvZGVGcmFtZS5zcGxpdCgvXFxyP1xcbi9nKTtcbiAgICAgICAgY29uc3QgcHJlZml4TGVuZ3RoID0gbGluZXMubWFwKChsaW5lKT0+L14+PyArXFxkKyArXFx8IFsgXSsvLmV4ZWMoKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkobGluZSkpID09PSBudWxsID8gbnVsbCA6IC9ePj8gK1xcZCsgK1xcfCAoICopLy5leGVjKCgwLCBfc3RyaXBhbnNpLmRlZmF1bHQpKGxpbmUpKSkuZmlsdGVyKEJvb2xlYW4pLm1hcCgodik9PnYucG9wKCkpLnJlZHVjZSgoYywgbik9PmlzTmFOKGMpID8gbi5sZW5ndGggOiBNYXRoLm1pbihjLCBuLmxlbmd0aCksIE5hTik7XG4gICAgICAgIGlmIChwcmVmaXhMZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBjb25zdCBwID0gXCIgXCIucmVwZWF0KHByZWZpeExlbmd0aCk7XG4gICAgICAgICAgICByZXR1cm4gbGluZXMubWFwKChsaW5lLCBhKT0+fihhID0gbGluZS5pbmRleE9mKFwifFwiKSkgPyBsaW5lLnN1YnN0cmluZygwLCBhKSArIGxpbmUuc3Vic3RyaW5nKGEpLnJlcGxhY2UocCwgXCJcIikgOiBsaW5lKS5qb2luKFwiXFxuXCIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIH0sIFtcbiAgICAgICAgY29kZUZyYW1lXG4gICAgXSk7XG4gICAgY29uc3QgZGVjb2RlZCA9IF9yZWFjdC51c2VNZW1vKCgpPT57XG4gICAgICAgIHJldHVybiBfYW5zZXIuZGVmYXVsdC5hbnNpVG9Kc29uKGZvcm1hdHRlZEZyYW1lLCB7XG4gICAgICAgICAgICBqc29uOiB0cnVlLFxuICAgICAgICAgICAgdXNlX2NsYXNzZXM6IHRydWUsXG4gICAgICAgICAgICByZW1vdmVfZW1wdHk6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBmb3JtYXR0ZWRGcmFtZVxuICAgIF0pO1xuICAgIGNvbnN0IG9wZW4gPSAoMCwgX3VzZW9wZW5pbmVkaXRvci51c2VPcGVuSW5FZGl0b3IpKHtcbiAgICAgICAgZmlsZTogc3RhY2tGcmFtZS5maWxlLFxuICAgICAgICBsaW5lTnVtYmVyOiBzdGFja0ZyYW1lLmxpbmVOdW1iZXIsXG4gICAgICAgIGNvbHVtbjogc3RhY2tGcmFtZS5jb2x1bW5cbiAgICB9KTtcbiAgICAvLyBUT0RPOiBtYWtlIHRoZSBjYXJldCBhYnNvbHV0ZVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtY29kZWZyYW1lXCI6IHRydWUsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgcm9sZTogXCJsaW5rXCIsXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IG9wZW4sXG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4OiAxLFxuICAgICAgICAgICAgICAgICAgICB0aXRsZTogXCJDbGljayB0byBvcGVuIGluIHlvdXIgZWRpdG9yXCIsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfc3RhY2tmcmFtZS5nZXRGcmFtZVNvdXJjZSkoc3RhY2tGcmFtZSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIEAgXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrRnJhbWUubWV0aG9kTmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ6IFwiTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDZcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBvbHlsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogXCIxNSAzIDIxIDMgMjEgOVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MTogXCIxMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeTE6IFwiMTRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjIxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5MjogXCIzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInByZVwiLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGRlY29kZWQubWFwKChlbnRyeSwgaW5kZXgpPT4vKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBlbnRyeS5mZyA/IFwidmFyKC0tY29sb3ItXCIgKyBlbnRyeS5mZyArIFwiKVwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmVudHJ5LmRlY29yYXRpb24gPT09IFwiYm9sZFwiID8ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA4MDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IDogZW50cnkuZGVjb3JhdGlvbiA9PT0gXCJpdGFsaWNcIiA/IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFN0eWxlOiBcIml0YWxpY1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBlbnRyeS5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgIH0sIFwiZnJhbWUtXCIgKyBpbmRleCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db2RlRnJhbWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkNvZGVGcmFtZSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX2pzeHJ1bnRpbWUiLCJfYW5zZXIiLCJfIiwiX3JlYWN0IiwiX3N0cmlwYW5zaSIsIl9zdGFja2ZyYW1lIiwiX3VzZW9wZW5pbmVkaXRvciIsInBhcmFtIiwic3RhY2tGcmFtZSIsImNvZGVGcmFtZSIsImZvcm1hdHRlZEZyYW1lIiwidXNlTWVtbyIsImxpbmVzIiwic3BsaXQiLCJwcmVmaXhMZW5ndGgiLCJtYXAiLCJsaW5lIiwiZXhlYyIsImRlZmF1bHQiLCJmaWx0ZXIiLCJCb29sZWFuIiwidiIsInBvcCIsInJlZHVjZSIsImMiLCJuIiwiaXNOYU4iLCJsZW5ndGgiLCJNYXRoIiwibWluIiwiTmFOIiwicCIsInJlcGVhdCIsImEiLCJpbmRleE9mIiwic3Vic3RyaW5nIiwicmVwbGFjZSIsImpvaW4iLCJkZWNvZGVkIiwiYW5zaVRvSnNvbiIsImpzb24iLCJ1c2VfY2xhc3NlcyIsInJlbW92ZV9lbXB0eSIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJmaWxlIiwibGluZU51bWJlciIsImNvbHVtbiIsImpzeHMiLCJjaGlsZHJlbiIsImpzeCIsInJvbGUiLCJvbkNsaWNrIiwidGFiSW5kZXgiLCJ0aXRsZSIsImdldEZyYW1lU291cmNlIiwibWV0aG9kTmFtZSIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsImVudHJ5IiwiaW5kZXgiLCJzdHlsZSIsImNvbG9yIiwiZmciLCJ1bmRlZmluZWQiLCJkZWNvcmF0aW9uIiwiZm9udFdlaWdodCIsImZvbnRTdHlsZSIsImNvbnRlbnQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DLFdBQVdDLFNBQVM7SUFDL0I7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNRCxhQUFhRSxtQkFBT0EsQ0FBQyxrSUFBYTtBQUV4QyxJQUFJLENBQUMsT0FBT04sUUFBUU8sT0FBTyxLQUFLLGNBQWUsT0FBT1AsUUFBUU8sT0FBTyxLQUFLLFlBQVlQLFFBQVFPLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1AsUUFBUU8sT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS1YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRTyxPQUFPLEVBQUUsY0FBYztRQUFFTixPQUFPO0lBQUs7SUFDbkVILE9BQU9XLE1BQU0sQ0FBQ1QsUUFBUU8sT0FBTyxFQUFFUDtJQUMvQlUsT0FBT1YsT0FBTyxHQUFHQSxRQUFRTyxPQUFPO0FBQ2xDLEVBRUEsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvaW5kZXguanM/NzBmOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNvZGVGcmFtZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX0NvZGVGcmFtZS5Db2RlRnJhbWU7XG4gICAgfVxufSk7XG5jb25zdCBfQ29kZUZyYW1lID0gcmVxdWlyZShcIi4vQ29kZUZyYW1lXCIpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX0NvZGVGcmFtZSIsIkNvZGVGcmFtZSIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": /*!************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! \************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9zdHlsZXMuanM/ZGJhYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInN0eWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSB7XFxuICAgIG92ZXJmbG93OiBhdXRvO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS1iZyk7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWZnKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdOjpzZWxlY3Rpb24sXFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSAqOjpzZWxlY3Rpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXNlbGVjdGlvbik7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSAqIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiAqIHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNpemUtZ2FwKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKVxcbiAgICAgIGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gZGl2IHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtYmxhY2spO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiBkaXYgPiBwIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gZGl2ID4gcDpob3ZlciB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIGRpdiA+IHAgPiBzdmcge1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgaGVpZ2h0OiAxZW07XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSBkaXYgPiBwcmUge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB9XFxuXCJcbiAgICBdKTtcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJzdHlsZXMiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJyZXF1aXJlIiwiX25vb3B0ZW1wbGF0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJfIiwibm9vcCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, onClose);\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUkscUJBQXFCSixtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDckUsTUFBTUYsU0FBUyxTQUFTQSxPQUFPTyxLQUFLO0lBQ2hDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLE9BQU8sRUFBRSxHQUFHQyxPQUFPLEdBQUdKO0lBQzVDLE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHVCxPQUFPVSxRQUFRLENBQUM7SUFDNUMsTUFBTSxDQUFDQyxNQUFNQyxRQUFRLEdBQUdaLE9BQU9VLFFBQVEsQ0FBQyxPQUFPRyxhQUFhLGVBQWVBLFNBQVNDLFFBQVEsS0FBSyxXQUFXQztJQUM1RyxNQUFNQyxXQUFXaEIsT0FBT2lCLFdBQVcsQ0FBQyxDQUFDQztRQUNqQ1QsVUFBVVM7SUFDZCxHQUFHLEVBQUU7SUFDSixJQUFHaEIsbUJBQW1CaUIsaUJBQWlCLEVBQUVYLFFBQVFGO0lBQ2xELHVFQUF1RTtJQUN2RSwwQkFBMEI7SUFDMUJOLE9BQU9vQixTQUFTLENBQUM7UUFDYixJQUFJWixVQUFVLE1BQU07WUFDaEI7UUFDSjtRQUNBLE1BQU1hLE9BQU9iLE9BQU9jLFdBQVc7UUFDL0IsOENBQThDO1FBQzlDLElBQUksQ0FBRUQsQ0FBQUEsZ0JBQWdCRSxVQUFTLEdBQUk7WUFDL0I7UUFDSjtRQUNBLE1BQU1DLGFBQWFIO1FBQ25CLFNBQVNJLFFBQVFDLENBQUM7WUFDZCxNQUFNQyxLQUFLSCxXQUFXSSxhQUFhO1lBQ25DLElBQUlGLEVBQUVHLEdBQUcsS0FBSyxXQUFXRixjQUFjRyxlQUFlSCxHQUFHSSxZQUFZLENBQUMsWUFBWSxRQUFRO2dCQUN0RkwsRUFBRU0sY0FBYztnQkFDaEJOLEVBQUVPLGVBQWU7Z0JBQ2pCTixHQUFHTyxLQUFLO1lBQ1o7UUFDSjtRQUNBLFNBQVNDO1lBQ0wsMkdBQTJHO1lBQzNHLDZFQUE2RTtZQUM3RXZCLFFBQVFDLFNBQVNDLFFBQVEsS0FBSyxXQUFXQztRQUM3QztRQUNBUyxXQUFXWSxnQkFBZ0IsQ0FBQyxXQUFXWDtRQUN2Q1ksT0FBT0QsZ0JBQWdCLENBQUMsU0FBU0Q7UUFDakNFLE9BQU9ELGdCQUFnQixDQUFDLFFBQVFEO1FBQ2hDLE9BQU87WUFDSFgsV0FBV2MsbUJBQW1CLENBQUMsV0FBV2I7WUFDMUNZLE9BQU9DLG1CQUFtQixDQUFDLFNBQVNIO1lBQ3BDRSxPQUFPQyxtQkFBbUIsQ0FBQyxRQUFRSDtRQUN2QztJQUNKLEdBQUc7UUFDQzNCO0tBQ0g7SUFDRCxPQUFxQixXQUFILEdBQUksSUFBR1QsWUFBWXdDLElBQUksRUFBRSxPQUFPO1FBQzlDQyxLQUFLeEI7UUFDTCxzQkFBc0I7UUFDdEJ5QixVQUFVLENBQUM7UUFDWDlCLE1BQU1BO1FBQ04sbUJBQW1CSixLQUFLLENBQUMsa0JBQWtCO1FBQzNDLG9CQUFvQkEsS0FBSyxDQUFDLG1CQUFtQjtRQUM3QyxjQUFjO1FBQ2RILFVBQVU7WUFDTixXQUFXLEdBQUksSUFBR0wsWUFBWTJDLEdBQUcsRUFBRSxPQUFPO2dCQUN0Qyw2QkFBNkI7Z0JBQzdCQyxXQUFXLFlBQVl0QztZQUMzQjtZQUNBRDtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRb0QsT0FBTyxLQUFLLGNBQWUsT0FBT3BELFFBQVFvRCxPQUFPLEtBQUssWUFBWXBELFFBQVFvRCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wRCxRQUFRb0QsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9ELE9BQU8sRUFBRSxjQUFjO1FBQUVuRCxPQUFPO0lBQUs7SUFDbkVILE9BQU93RCxNQUFNLENBQUN0RCxRQUFRb0QsT0FBTyxFQUFFcEQ7SUFDL0J1RCxPQUFPdkQsT0FBTyxHQUFHQSxRQUFRb0QsT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcz9mZDkzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGlhbG9nXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEaWFsb2c7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfdXNlb25jbGlja291dHNpZGUgPSByZXF1aXJlKFwiLi4vLi4vaG9va3MvdXNlLW9uLWNsaWNrLW91dHNpZGVcIik7XG5jb25zdCBEaWFsb2cgPSBmdW5jdGlvbiBEaWFsb2cocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgdHlwZSwgb25DbG9zZSwgLi4ucHJvcHMgfSA9IHBhcmFtO1xuICAgIGNvbnN0IFtkaWFsb2csIHNldERpYWxvZ10gPSBfcmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW3JvbGUsIHNldFJvbGVdID0gX3JlYWN0LnVzZVN0YXRlKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkb2N1bWVudC5oYXNGb2N1cygpID8gXCJkaWFsb2dcIiA6IHVuZGVmaW5lZCk7XG4gICAgY29uc3Qgb25EaWFsb2cgPSBfcmVhY3QudXNlQ2FsbGJhY2soKG5vZGUpPT57XG4gICAgICAgIHNldERpYWxvZyhub2RlKTtcbiAgICB9LCBbXSk7XG4gICAgKDAsIF91c2VvbmNsaWNrb3V0c2lkZS51c2VPbkNsaWNrT3V0c2lkZSkoZGlhbG9nLCBvbkNsb3NlKTtcbiAgICAvLyBNYWtlIEhUTUxFbGVtZW50cyB3aXRoIGByb2xlPWxpbmtgIGFjY2Vzc2libGUgdG8gYmUgdHJpZ2dlcmVkIGJ5IHRoZVxuICAgIC8vIGtleWJvYXJkLCBpLmUuIFtFbnRlcl0uXG4gICAgX3JlYWN0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAoZGlhbG9nID09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb290ID0gZGlhbG9nLmdldFJvb3ROb2RlKCk7XG4gICAgICAgIC8vIEFsd2F5cyB0cnVlLCBidXQgd2UgZG8gdGhpcyBmb3IgVHlwZVNjcmlwdDpcbiAgICAgICAgaWYgKCEocm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2hhZG93Um9vdCA9IHJvb3Q7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZXIoZSkge1xuICAgICAgICAgICAgY29uc3QgZWwgPSBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09IFwiRW50ZXJcIiAmJiBlbCBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIGVsLmdldEF0dHJpYnV0ZShcInJvbGVcIikgPT09IFwibGlua1wiKSB7XG4gICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgZWwuY2xpY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBoYW5kbGVGb2N1cygpIHtcbiAgICAgICAgICAgIC8vIHNhZmFyaSB3aWxsIGZvcmNlIGl0c2VsZiBhcyB0aGUgYWN0aXZlIGFwcGxpY2F0aW9uIHdoZW4gYSBiYWNrZ3JvdW5kIHBhZ2UgdHJpZ2dlcnMgYW55IHNvcnQgb2YgYXV0b2ZvY3VzXG4gICAgICAgICAgICAvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCB0byBvbmx5IHNldCB0aGUgZGlhbG9nIHJvbGUgaWYgdGhlIGRvY3VtZW50IGhhcyBmb2N1c1xuICAgICAgICAgICAgc2V0Um9sZShkb2N1bWVudC5oYXNGb2N1cygpID8gXCJkaWFsb2dcIiA6IHVuZGVmaW5lZCk7XG4gICAgICAgIH1cbiAgICAgICAgc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJmb2N1c1wiLCBoYW5kbGVGb2N1cyk7XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiYmx1clwiLCBoYW5kbGVGb2N1cyk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgc2hhZG93Um9vdC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwiZm9jdXNcIiwgaGFuZGxlRm9jdXMpO1xuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIGhhbmRsZUZvY3VzKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIGRpYWxvZ1xuICAgIF0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgIHJlZjogb25EaWFsb2csXG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nXCI6IHRydWUsXG4gICAgICAgIHRhYkluZGV4OiAtMSxcbiAgICAgICAgcm9sZTogcm9sZSxcbiAgICAgICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogcHJvcHNbXCJhcmlhLWxhYmVsbGVkYnlcIl0sXG4gICAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBwcm9wc1tcImFyaWEtZGVzY3JpYmVkYnlcIl0sXG4gICAgICAgIFwiYXJpYS1tb2RhbFwiOiBcInRydWVcIixcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lclwiOiB0cnVlLFxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJiYW5uZXItXCIgKyB0eXBlXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNoaWxkcmVuXG4gICAgICAgIF1cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpYWxvZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRGlhbG9nIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfdXNlb25jbGlja291dHNpZGUiLCJwYXJhbSIsImNoaWxkcmVuIiwidHlwZSIsIm9uQ2xvc2UiLCJwcm9wcyIsImRpYWxvZyIsInNldERpYWxvZyIsInVzZVN0YXRlIiwicm9sZSIsInNldFJvbGUiLCJkb2N1bWVudCIsImhhc0ZvY3VzIiwidW5kZWZpbmVkIiwib25EaWFsb2ciLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJ1c2VPbkNsaWNrT3V0c2lkZSIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsIlNoYWRvd1Jvb3QiLCJzaGFkb3dSb290IiwiaGFuZGxlciIsImUiLCJlbCIsImFjdGl2ZUVsZW1lbnQiLCJrZXkiLCJIVE1MRWxlbWVudCIsImdldEF0dHJpYnV0ZSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJoYW5kbGVGb2N1cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwianN4cyIsInJlZiIsInRhYkluZGV4IiwianN4IiwiY2xhc3NOYW1lIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhDQUE2QztJQUN6Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1GLGFBQWEsU0FBU0EsV0FBV00sS0FBSztJQUN4QyxJQUFJLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFLEdBQUdGO0lBQzlCLE9BQXFCLFdBQUgsR0FBSSxJQUFHSCxZQUFZTSxHQUFHLEVBQUUsT0FBTztRQUM3QywyQkFBMkI7UUFDM0JELFdBQVdBO1FBQ1hELFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CaUIsT0FBT2pCLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanM/YTEwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRpYWxvZ0JvZHlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERpYWxvZ0JvZHk7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBEaWFsb2dCb2R5ID0gZnVuY3Rpb24gRGlhbG9nQm9keShwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgfSA9IHBhcmFtO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctYm9keVwiOiB0cnVlLFxuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59O1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EaWFsb2dCb2R5LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJEaWFsb2dCb2R5IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwianN4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! \****************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGlEQUFnRDtJQUM1Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1GLGdCQUFnQixTQUFTQSxjQUFjTSxLQUFLO0lBQzlDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7SUFDOUIsT0FBcUIsV0FBSCxHQUFJLElBQUdILFlBQVlNLEdBQUcsRUFBRSxPQUFPO1FBQzdDLDhCQUE4QjtRQUM5QkQsV0FBV0E7UUFDWEQsVUFBVUE7SUFDZDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC5qcz85NTM2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGlhbG9nQ29udGVudFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRGlhbG9nQ29udGVudDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IERpYWxvZ0NvbnRlbnQgPSBmdW5jdGlvbiBEaWFsb2dDb250ZW50KHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSB9ID0gcGFyYW07XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XCI6IHRydWUsXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpYWxvZ0NvbnRlbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkRpYWxvZ0NvbnRlbnQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJqc3giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsZ0RBQStDO0lBQzNDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUYsZUFBZSxTQUFTQSxhQUFhTSxLQUFLO0lBQzVDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7SUFDOUIsT0FBcUIsV0FBSCxHQUFJLElBQUdILFlBQVlNLEdBQUcsRUFBRSxPQUFPO1FBQzdDLDZCQUE2QjtRQUM3QkQsV0FBV0E7UUFDWEQsVUFBVUE7SUFDZDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nSGVhZGVyLmpzP2ZiZWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJEaWFsb2dIZWFkZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERpYWxvZ0hlYWRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IERpYWxvZ0hlYWRlciA9IGZ1bmN0aW9uIERpYWxvZ0hlYWRlcihwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgfSA9IHBhcmFtO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyXCI6IHRydWUsXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpYWxvZ0hlYWRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRGlhbG9nSGVhZGVyIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwianN4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBTU47QUFDQSxTQUFTTSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWixPQUFPQyxjQUFjLENBQUNVLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVIsU0FBUztJQUNiRyxRQUFRO1FBQ0osT0FBT1csUUFBUVgsTUFBTTtJQUN6QjtJQUNBQyxZQUFZO1FBQ1IsT0FBT1csWUFBWVgsVUFBVTtJQUNqQztJQUNBQyxlQUFlO1FBQ1gsT0FBT1csZUFBZVgsYUFBYTtJQUN2QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1csY0FBY1gsWUFBWTtJQUNyQztJQUNBQyxRQUFRO1FBQ0osT0FBT1csUUFBUVgsTUFBTTtJQUN6QjtBQUNKO0FBQ0EsTUFBTU8sVUFBVUssbUJBQU9BLENBQUMseUhBQVU7QUFDbEMsTUFBTUosY0FBY0ksbUJBQU9BLENBQUMsaUlBQWM7QUFDMUMsTUFBTUgsaUJBQWlCRyxtQkFBT0EsQ0FBQyx1SUFBaUI7QUFDaEQsTUFBTUYsZ0JBQWdCRSxtQkFBT0EsQ0FBQyxxSUFBZ0I7QUFDOUMsTUFBTUQsVUFBVUMsbUJBQU9BLENBQUMseUhBQVU7QUFFbEMsSUFBSSxDQUFDLE9BQU9uQixRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9pbmRleC5qcz8yMzkzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgRGlhbG9nOiBudWxsLFxuICAgIERpYWxvZ0JvZHk6IG51bGwsXG4gICAgRGlhbG9nQ29udGVudDogbnVsbCxcbiAgICBEaWFsb2dIZWFkZXI6IG51bGwsXG4gICAgc3R5bGVzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIERpYWxvZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfRGlhbG9nLkRpYWxvZztcbiAgICB9LFxuICAgIERpYWxvZ0JvZHk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX0RpYWxvZ0JvZHkuRGlhbG9nQm9keTtcbiAgICB9LFxuICAgIERpYWxvZ0NvbnRlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX0RpYWxvZ0NvbnRlbnQuRGlhbG9nQ29udGVudDtcbiAgICB9LFxuICAgIERpYWxvZ0hlYWRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfRGlhbG9nSGVhZGVyLkRpYWxvZ0hlYWRlcjtcbiAgICB9LFxuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc3R5bGVzLnN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF9EaWFsb2cgPSByZXF1aXJlKFwiLi9EaWFsb2dcIik7XG5jb25zdCBfRGlhbG9nQm9keSA9IHJlcXVpcmUoXCIuL0RpYWxvZ0JvZHlcIik7XG5jb25zdCBfRGlhbG9nQ29udGVudCA9IHJlcXVpcmUoXCIuL0RpYWxvZ0NvbnRlbnRcIik7XG5jb25zdCBfRGlhbG9nSGVhZGVyID0gcmVxdWlyZShcIi4vRGlhbG9nSGVhZGVyXCIpO1xuY29uc3QgX3N0eWxlcyA9IHJlcXVpcmUoXCIuL3N0eWxlc1wiKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRGlhbG9nIiwiRGlhbG9nQm9keSIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJzdHlsZXMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfRGlhbG9nIiwiX0RpYWxvZ0JvZHkiLCJfRGlhbG9nQ29udGVudCIsIl9EaWFsb2dIZWFkZXIiLCJfc3R5bGVzIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: white;\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9zdHlsZXMuanM/NjhiOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInN0eWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nXSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZS1nYXApO1xcbiAgICBib3gtc2hhZG93OiAwIHZhcigtLXNpemUtZ2FwLWhhbGYpIHZhcigtLXNpemUtZ2FwLWRvdWJsZSlcXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuMjUpO1xcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NnB4KTtcXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xcbiAgfVxcblxcbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiA4MTJweCkge1xcbiAgICBbZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXldIHtcXG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNXB4KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcXG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xcbiAgICAgIGJveC1zaGFkb3c6IDAgdmFyKC0tc2l6ZS1nYXApIHZhcigtLXNpemUtZ2FwLXF1YWQpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgICBbZGF0YS1uZXh0anMtZGlhbG9nXSB7XFxuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcXG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xcbiAgICB9XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl0uYmFubmVyLXdhcm5pbmcge1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFuc2kteWVsbG93KTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXS5iYW5uZXItZXJyb3Ige1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXTo6YWZ0ZXIge1xcbiAgICB6LWluZGV4OiAyO1xcbiAgICBjb250ZW50OiAnJztcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgLyogYmFubmVyIHdpZHRoOiAqL1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0O1xcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudF0ge1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgLyogY2FsYyhwYWRkaW5nICsgYmFubmVyIHdpZHRoIG9mZnNldCkgKi9cXG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpXFxuICAgICAgdmFyKC0tc2l6ZS1nYXAtZG91YmxlKTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XSA+IFtkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyXSB7XFxuICAgIGZsZXgtc2hyaW5rOiAwO1xcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XSA+IFtkYXRhLW5leHRqcy1kaWFsb2ctYm9keV0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3R5bGVzIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwicmVxdWlyZSIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiXyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": /*!***************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! \***************************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n if (close) {\n close();\n }\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n \"\\xa0\",\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseURBQXdEO0lBQ3BESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksYUFBYUosbUJBQU9BLENBQUMsNkhBQXVCO0FBQ2xELE1BQU1GLHdCQUF3QixTQUFTQSxzQkFBc0JPLEtBQUs7SUFDOUQsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFQyxJQUFJLEVBQUVDLEtBQUssRUFBRSxHQUFHTDtJQUNyRCxNQUFNTSxhQUFhVCxPQUFPVSxNQUFNLENBQUM7SUFDakMsTUFBTUMsY0FBY1gsT0FBT1UsTUFBTSxDQUFDO0lBQ2xDLE1BQU1FLGNBQWNaLE9BQU9VLE1BQU0sQ0FBQztJQUNsQyxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR2QsT0FBT2UsUUFBUSxDQUFDO0lBQ3RDLE1BQU1DLFFBQVFoQixPQUFPaUIsV0FBVyxDQUFDLENBQUNDO1FBQzlCSixPQUFPSTtJQUNYLEdBQUcsRUFBRTtJQUNMbEIsT0FBT21CLFNBQVMsQ0FBQztRQUNiLElBQUlOLE9BQU8sTUFBTTtZQUNiO1FBQ0o7UUFDQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtD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RCxRQUFRNkQsT0FBTyxLQUFLLFlBQVk3RCxRQUFRNkQsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0QsUUFBUTZELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoRSxPQUFPQyxjQUFjLENBQUNDLFFBQVE2RCxPQUFPLEVBQUUsY0FBYztRQUFFNUQsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUUsTUFBTSxDQUFDL0QsUUFBUTZELE9BQU8sRUFBRTdEO0lBQy9CZ0UsT0FBT2hFLE9BQU8sR0FBR0EsUUFBUTZELE9BQU87QUFDbEMsRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9MZWZ0UmlnaHREaWFsb2dIZWFkZXIuanM/YjMwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkxlZnRSaWdodERpYWxvZ0hlYWRlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTGVmdFJpZ2h0RGlhbG9nSGVhZGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX0Nsb3NlSWNvbiA9IHJlcXVpcmUoXCIuLi8uLi9pY29ucy9DbG9zZUljb25cIik7XG5jb25zdCBMZWZ0UmlnaHREaWFsb2dIZWFkZXIgPSBmdW5jdGlvbiBMZWZ0UmlnaHREaWFsb2dIZWFkZXIocGFyYW0pIHtcbiAgICBsZXQgeyBjaGlsZHJlbiwgY2xhc3NOYW1lLCBwcmV2aW91cywgbmV4dCwgY2xvc2UgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGJ1dHRvbkxlZnQgPSBfcmVhY3QudXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGJ1dHRvblJpZ2h0ID0gX3JlYWN0LnVzZVJlZihudWxsKTtcbiAgICBjb25zdCBidXR0b25DbG9zZSA9IF9yZWFjdC51c2VSZWYobnVsbCk7XG4gICAgY29uc3QgW25hdiwgc2V0TmF2XSA9IF9yZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBvbk5hdiA9IF9yZWFjdC51c2VDYWxsYmFjaygoZWwpPT57XG4gICAgICAgIHNldE5hdihlbCk7XG4gICAgfSwgW10pO1xuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKG5hdiA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgcm9vdCA9IG5hdi5nZXRSb290Tm9kZSgpO1xuICAgICAgICBjb25zdCBkID0gc2VsZi5kb2N1bWVudDtcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihlKSB7XG4gICAgICAgICAgICBpZiAoZS5rZXkgPT09IFwiQXJyb3dMZWZ0XCIpIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGlmIChidXR0b25MZWZ0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uTGVmdC5jdXJyZW50LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHByZXZpb3VzICYmIHByZXZpb3VzKCk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGUua2V5ID09PSBcIkFycm93UmlnaHRcIikge1xuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvblJpZ2h0LmN1cnJlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uUmlnaHQuY3VycmVudC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBuZXh0ICYmIG5leHQoKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09IFwiRXNjYXBlXCIpIHtcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIGlmIChyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBhID0gcm9vdC5hY3RpdmVFbGVtZW50O1xuICAgICAgICAgICAgICAgICAgICBpZiAoYSAmJiBhICE9PSBidXR0b25DbG9zZS5jdXJyZW50ICYmIGEgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYS5ibHVyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNsb3NlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlcik7XG4gICAgICAgIGlmIChyb290ICE9PSBkKSB7XG4gICAgICAgICAgICBkLmFkZEV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlcik7XG4gICAgICAgICAgICBpZiAocm9vdCAhPT0gZCkge1xuICAgICAgICAgICAgICAgIGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBjbG9zZSxcbiAgICAgICAgbmF2LFxuICAgICAgICBuZXh0LFxuICAgICAgICBwcmV2aW91c1xuICAgIF0pO1xuICAgIC8vIFVubG9jayBmb2N1cyBmb3IgYnJvd3NlcnMgbGlrZSBGaXJlZm94LCB0aGF0IGJyZWFrIGFsbCB1c2VyIGZvY3VzIGlmIHRoZVxuICAgIC8vIGN1cnJlbnRseSBmb2N1c2VkIGl0ZW0gYmVjb21lcyBkaXNhYmxlZC5cbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChuYXYgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvb3QgPSBuYXYuZ2V0Um9vdE5vZGUoKTtcbiAgICAgICAgLy8gQWx3YXlzIHRydWUsIGJ1dCB3ZSBkbyB0aGlzIGZvciBUeXBlU2NyaXB0OlxuICAgICAgICBpZiAocm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpIHtcbiAgICAgICAgICAgIGNvbnN0IGEgPSByb290LmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICBpZiAocHJldmlvdXMgPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChidXR0b25MZWZ0LmN1cnJlbnQgJiYgYSA9PT0gYnV0dG9uTGVmdC5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbkxlZnQuY3VycmVudC5ibHVyKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0ID09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoYnV0dG9uUmlnaHQuY3VycmVudCAmJiBhID09PSBidXR0b25SaWdodC5jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvblJpZ2h0LmN1cnJlbnQuYmx1cigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgbmF2LFxuICAgICAgICBuZXh0LFxuICAgICAgICBwcmV2aW91c1xuICAgIF0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRcIjogdHJ1ZSxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcIm5hdlwiLCB7XG4gICAgICAgICAgICAgICAgcmVmOiBvbk5hdixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogYnV0dG9uTGVmdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDogcHJldmlvdXMgPT0gbnVsbCA/IHRydWUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtZGlzYWJsZWRcIjogcHJldmlvdXMgPT0gbnVsbCA/IHRydWUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiBwcmV2aW91cyAhPSBudWxsID8gcHJldmlvdXMgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDE0IDE0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwidGl0bGVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwicHJldmlvdXNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZDogXCJNNi45OTk5NiAxLjE2NjY2TDEuMTY2NjMgNi45OTk5OUw2Ljk5OTk2IDEyLjgzMzNNMTIuODMzMyA2Ljk5OTk5SDEuOTk5OTZIMTIuODMzM1pcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImJ1dHRvblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWY6IGJ1dHRvblJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJidXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBuZXh0ID09IG51bGwgPyB0cnVlIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWRpc2FibGVkXCI6IG5leHQgPT0gbnVsbCA/IHRydWUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiBuZXh0ICE9IG51bGwgPyBuZXh0IDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3ZnXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCAxNCAxNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInRpdGxlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIm5leHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZDogXCJNNi45OTk5NiAxLjE2NjY2TDEyLjgzMzMgNi45OTk5OUw2Ljk5OTk2IDEyLjgzMzNNMS4xNjY2MyA2Ljk5OTk5SDEySDEuMTY2NjNaXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIFwiXFx4YTBcIixcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNsb3NlID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImJ1dHRvblwiLCB7XG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHRqcy1lcnJvcnMtZGlhbG9nLWxlZnQtcmlnaHQtY2xvc2UtYnV0dG9uXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgcmVmOiBidXR0b25DbG9zZSxcbiAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgIG9uQ2xpY2s6IGNsb3NlLFxuICAgICAgICAgICAgICAgIFwiYXJpYS1sYWJlbFwiOiBcIkNsb3NlXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIixcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0Nsb3NlSWNvbi5DbG9zZUljb24sIHt9KVxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSA6IG51bGxcbiAgICAgICAgXVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TGVmdFJpZ2h0RGlhbG9nSGVhZGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9DbG9zZUljb24iLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwicHJldmlvdXMiLCJuZXh0IiwiY2xvc2UiLCJidXR0b25MZWZ0IiwidXNlUmVmIiwiYnV0dG9uUmlnaHQiLCJidXR0b25DbG9zZSIsIm5hdiIsInNldE5hdiIsInVzZVN0YXRlIiwib25OYXYiLCJ1c2VDYWxsYmFjayIsImVsIiwidXNlRWZmZWN0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiZCIsInNlbGYiLCJkb2N1bWVudCIsImhhbmRsZXIiLCJlIiwia2V5Iiwic3RvcFByb3BhZ2F0aW9uIiwiY3VycmVudCIsImZvY3VzIiwiU2hhZG93Um9vdCIsImEiLCJhY3RpdmVFbGVtZW50IiwiSFRNTEVsZW1lbnQiLCJibHVyIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJqc3hzIiwicmVmIiwianN4IiwidHlwZSIsImRpc2FibGVkIiwidW5kZWZpbmVkIiwib25DbGljayIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsIkNsb3NlSWNvbiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyx1QkFBdUI7UUFDbkIsT0FBT1EsdUJBQXVCUixxQkFBcUI7SUFDdkQ7SUFDQUMsUUFBUTtRQUNKLE9BQU9RLFFBQVFSLE1BQU07SUFDekI7QUFDSjtBQUNBLE1BQU1PLHlCQUF5QkUsbUJBQU9BLENBQUMsc0tBQXlCO0FBQ2hFLE1BQU1ELFVBQVVDLG1CQUFPQSxDQUFDLHdJQUFVO0FBRWxDLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9pbmRleC5qcz8yYWMyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgTGVmdFJpZ2h0RGlhbG9nSGVhZGVyOiBudWxsLFxuICAgIHN0eWxlczogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBMZWZ0UmlnaHREaWFsb2dIZWFkZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX0xlZnRSaWdodERpYWxvZ0hlYWRlci5MZWZ0UmlnaHREaWFsb2dIZWFkZXI7XG4gICAgfSxcbiAgICBzdHlsZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3N0eWxlcy5zdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfTGVmdFJpZ2h0RGlhbG9nSGVhZGVyID0gcmVxdWlyZShcIi4vTGVmdFJpZ2h0RGlhbG9nSGVhZGVyXCIpO1xuY29uc3QgX3N0eWxlcyA9IHJlcXVpcmUoXCIuL3N0eWxlc1wiKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwic3R5bGVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX0xlZnRSaWdodERpYWxvZ0hlYWRlciIsIl9zdHlsZXMiLCJyZXF1aXJlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": /*!************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! \************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9zdHlsZXMuanM/ZGI3MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInN0eWxlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2IHtcXG4gICAgZmxleDogMTtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLWdhcCk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXApKTtcXG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcCkpO1xcbiAgICBmb250LXNpemU6IDA7XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC4xKTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2U7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uID4gc3ZnIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC4yKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246ZGlzYWJsZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjEpO1xcbiAgICBjb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC40KTtcXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246Zmlyc3Qtb2YtdHlwZSB7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpIDAgMCB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tc2l6ZS1nYXAtaGFsZikgdmFyKC0tc2l6ZS1nYXAtaGFsZikgMDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlIHtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBwYWRkaW5nOiAwO1xcblxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG5cXG4gICAgb3BhY2l0eTogMC40O1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gYnV0dG9uOmxhc3Qtb2YtdHlwZTpob3ZlciB7XFxuICAgIG9wYWNpdHk6IDAuNztcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("// @ts-ignore\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDQTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLG9CQUFvQixXQUFXLEdBQUdKLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxvSkFBdUI7QUFDbEcsTUFBTUssU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNTSxjQUFjTixtQkFBT0EsQ0FBQyxvSUFBZTtBQUMzQyxNQUFNRixVQUFVLFNBQVNBLFFBQVFTLEtBQUs7SUFDbEMsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLFFBQVEsRUFBRUMsS0FBSyxFQUFFLEdBQUdIO0lBQ3JDRixPQUFPTSxTQUFTLENBQUM7UUFDWixJQUFHTCxZQUFZTSxJQUFJO1FBQ3BCLE9BQU87WUFDRixJQUFHTixZQUFZTyxNQUFNO1FBQzFCO0lBQ0osR0FBRyxFQUFFO0lBQ0wsTUFBTSxDQUFDQyxTQUFTQyxXQUFXLEdBQUdWLE9BQU9XLFFBQVEsQ0FBQztJQUM5QyxNQUFNQyxZQUFZWixPQUFPYSxXQUFXLENBQUMsQ0FBQ0M7UUFDbENKLFdBQVdJO0lBQ2YsR0FBRyxFQUFFO0lBQ0xkLE9BQU9NLFNBQVMsQ0FBQztRQUNiLElBQUlHLFdBQVcsTUFBTTtZQUNqQjtRQUNKO1FBQ0EsTUFBTU0sVUFBVSxDQUFDLEdBQUdqQixrQkFBa0JrQixPQUFPLEVBQUU7WUFDM0NDLFNBQVNSO1FBQ2I7UUFDQSxPQUFPO1lBQ0hNLFFBQVFHLFNBQVM7UUFDckI7SUFDSixHQUFHO1FBQ0NUO0tBQ0g7SUFDRCxPQUFxQixXQUFILEdBQUksSUFBR1osWUFBWXNCLElBQUksRUFBRSxPQUFPO1FBQzlDLDhCQUE4QjtRQUM5QmhCLFdBQVdBO1FBQ1hpQixLQUFLUjtRQUNMUixVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdQLFlBQVl3QixHQUFHLEVBQUUsT0FBTztnQkFDdEMsK0JBQStCO2dCQUMvQixxQ0FBcUNoQixRQUFRLE9BQU9pQjtZQUN4RDtZQUNBbEI7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2YsUUFBUTJCLE9BQU8sS0FBSyxjQUFlLE9BQU8zQixRQUFRMkIsT0FBTyxLQUFLLFlBQVkzQixRQUFRMkIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0IsUUFBUTJCLE9BQU8sQ0FBQ08sVUFBVSxLQUFLLGFBQWE7SUFDcktwQyxPQUFPQyxjQUFjLENBQUNDLFFBQVEyQixPQUFPLEVBQUUsY0FBYztRQUFFMUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUMsTUFBTSxDQUFDbkMsUUFBUTJCLE9BQU8sRUFBRTNCO0lBQy9Cb0MsT0FBT3BDLE9BQU8sR0FBR0EsUUFBUTJCLE9BQU87QUFDbEMsRUFFQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvT3ZlcmxheS5qcz9hYzIzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEB0cy1pZ25vcmVcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiT3ZlcmxheVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gT3ZlcmxheTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9tYWludGFpbnRhYmZvY3VzID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9tYWludGFpbi0tdGFiLWZvY3VzXCIpKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfYm9keWxvY2tlciA9IHJlcXVpcmUoXCIuL2JvZHktbG9ja2VyXCIpO1xuY29uc3QgT3ZlcmxheSA9IGZ1bmN0aW9uIE92ZXJsYXkocGFyYW0pIHtcbiAgICBsZXQgeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBmaXhlZCB9ID0gcGFyYW07XG4gICAgX3JlYWN0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICAoMCwgX2JvZHlsb2NrZXIubG9jaykoKTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICAoMCwgX2JvZHlsb2NrZXIudW5sb2NrKSgpO1xuICAgICAgICB9O1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBbb3ZlcmxheSwgc2V0T3ZlcmxheV0gPSBfcmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgb25PdmVybGF5ID0gX3JlYWN0LnVzZUNhbGxiYWNrKChlbCk9PntcbiAgICAgICAgc2V0T3ZlcmxheShlbCk7XG4gICAgfSwgW10pO1xuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgaWYgKG92ZXJsYXkgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGhhbmRsZTIgPSAoMCwgX21haW50YWludGFiZm9jdXMuZGVmYXVsdCkoe1xuICAgICAgICAgICAgY29udGV4dDogb3ZlcmxheVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBoYW5kbGUyLmRpc2VuZ2FnZSgpO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgb3ZlcmxheVxuICAgIF0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXlcIjogdHJ1ZSxcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIHJlZjogb25PdmVybGF5LFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3BcIjogdHJ1ZSxcbiAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcC1maXhlZFwiOiBmaXhlZCA/IHRydWUgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2hpbGRyZW5cbiAgICAgICAgXVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9T3ZlcmxheS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiT3ZlcmxheSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX2pzeHJ1bnRpbWUiLCJfbWFpbnRhaW50YWJmb2N1cyIsIl8iLCJfcmVhY3QiLCJfYm9keWxvY2tlciIsInBhcmFtIiwiY2xhc3NOYW1lIiwiY2hpbGRyZW4iLCJmaXhlZCIsInVzZUVmZmVjdCIsImxvY2siLCJ1bmxvY2siLCJvdmVybGF5Iiwic2V0T3ZlcmxheSIsInVzZVN0YXRlIiwib25PdmVybGF5IiwidXNlQ2FsbGJhY2siLCJlbCIsImhhbmRsZTIiLCJkZWZhdWx0IiwiY29udGV4dCIsImRpc2VuZ2FnZSIsImpzeHMiLCJyZWYiLCJqc3giLCJ1bmRlZmluZWQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! \***************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlPO0FBQ0osSUFBSUM7QUFDSixJQUFJQyxjQUFjO0FBQ2xCLFNBQVNWO0lBQ0xXLFdBQVc7UUFDUCxJQUFJRCxnQkFBZ0IsR0FBRztZQUNuQjtRQUNKO1FBQ0EsTUFBTUUsZUFBZUMsT0FBT0MsVUFBVSxHQUFHQyxTQUFTQyxlQUFlLENBQUNDLFdBQVc7UUFDN0UsSUFBSUwsZUFBZSxHQUFHO1lBQ2xCSiwyQkFBMkJPLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZO1lBQzNETCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHLEtBQUtSLGVBQWU7UUFDM0Q7UUFDQUgsOEJBQThCTSxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUTtRQUMxRE4sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBRztJQUNuQztBQUNKO0FBQ0EsU0FBU3BCO0lBQ0xVLFdBQVc7UUFDUCxJQUFJRCxnQkFBZ0IsS0FBSyxFQUFFQSxnQkFBZ0IsR0FBRztZQUMxQztRQUNKO1FBQ0EsSUFBSUYsNkJBQTZCYyxXQUFXO1lBQ3hDUCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHWjtZQUNuQ0EsMkJBQTJCYztRQUMvQjtRQUNBLElBQUliLGdDQUFnQ2EsV0FBVztZQUMzQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBR1o7WUFDL0JBLDhCQUE4QmE7UUFDbEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU96QixRQUFRMEIsT0FBTyxLQUFLLGNBQWUsT0FBTzFCLFFBQVEwQixPQUFPLEtBQUssWUFBWTFCLFFBQVEwQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8xQixRQUFRMEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzdCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTBCLE9BQU8sRUFBRSxjQUFjO1FBQUV6QixPQUFPO0lBQUs7SUFDbkVILE9BQU84QixNQUFNLENBQUM1QixRQUFRMEIsT0FBTyxFQUFFMUI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvYm9keS1sb2NrZXIuanM/OGQxZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGxvY2s6IG51bGwsXG4gICAgdW5sb2NrOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGxvY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbG9jaztcbiAgICB9LFxuICAgIHVubG9jazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1bmxvY2s7XG4gICAgfVxufSk7XG5sZXQgcHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0O1xubGV0IHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZztcbmxldCBhY3RpdmVMb2NrcyA9IDA7XG5mdW5jdGlvbiBsb2NrKCkge1xuICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgaWYgKGFjdGl2ZUxvY2tzKysgPiAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2Nyb2xsQmFyR2FwID0gd2luZG93LmlubmVyV2lkdGggLSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50V2lkdGg7XG4gICAgICAgIGlmIChzY3JvbGxCYXJHYXAgPiAwKSB7XG4gICAgICAgICAgICBwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQgPSBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gXCJcIiArIHNjcm9sbEJhckdhcCArIFwicHhcIjtcbiAgICAgICAgfVxuICAgICAgICBwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgPSBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93O1xuICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gXCJoaWRkZW5cIjtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHVubG9jaygpIHtcbiAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgIGlmIChhY3RpdmVMb2NrcyA9PT0gMCB8fCAtLWFjdGl2ZUxvY2tzICE9PSAwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByZXZpb3VzQm9keVBhZGRpbmdSaWdodCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodCA9IHByZXZpb3VzQm9keVBhZGRpbmdSaWdodDtcbiAgICAgICAgICAgIHByZXZpb3VzQm9keVBhZGRpbmdSaWdodCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmc7XG4gICAgICAgICAgICBwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgPSB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Ym9keS1sb2NrZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwibG9jayIsInVubG9jayIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInByZXZpb3VzQm9keVBhZGRpbmdSaWdodCIsInByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZyIsImFjdGl2ZUxvY2tzIiwic2V0VGltZW91dCIsInNjcm9sbEJhckdhcCIsIndpbmRvdyIsImlubmVyV2lkdGgiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImNsaWVudFdpZHRoIiwiYm9keSIsInN0eWxlIiwicGFkZGluZ1JpZ2h0Iiwib3ZlcmZsb3ciLCJ1bmRlZmluZWQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQyxTQUFTQyxPQUFPO0lBQzNCO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUQsV0FBV0UsbUJBQU9BLENBQUMsNEhBQVc7QUFFcEMsSUFBSSxDQUFDLE9BQU9OLFFBQVFPLE9BQU8sS0FBSyxjQUFlLE9BQU9QLFFBQVFPLE9BQU8sS0FBSyxZQUFZUCxRQUFRTyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9QLFFBQVFPLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktWLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUU8sT0FBTyxFQUFFLGNBQWM7UUFBRU4sT0FBTztJQUFLO0lBQ25FSCxPQUFPVyxNQUFNLENBQUNULFFBQVFPLE9BQU8sRUFBRVA7SUFDL0JVLE9BQU9WLE9BQU8sR0FBR0EsUUFBUU8sT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcz9hODhmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiT3ZlcmxheVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX092ZXJsYXkuT3ZlcmxheTtcbiAgICB9XG59KTtcbmNvbnN0IF9PdmVybGF5ID0gcmVxdWlyZShcIi4vT3ZlcmxheVwiKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9PdmVybGF5IiwiT3ZlcmxheSIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(ssr)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to <body> when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = false || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\">' + '<area href=\"#void\" tabindex=\"-1\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" alt=\"\" src=\"' + gif + '\">';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-area-href-test\">' + '<area shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-area-href-test\" alt=\"\" src=\"' + gif + '\">';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"broken-image-map-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#broken-image-map-test\" alt=\"\" src=\"' + invalidGif + '\">';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"<legend>legend</legend><p>content</p>\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = '<span style=\"display: block;\">hello</span>';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '<img ismap src=\"' + gif + '\" alt=\"\">';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"image-map-tabindex-test\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#image-map-tabindex-test\" tabindex=\"-1\" alt=\"\" ' + 'src=\"' + gif + '\">';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document (<html><head></head><body></body></html>)\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '<map name=\"focus-redirect-img-usemap\"><area href=\"#void\" shape=\"rect\" coords=\"63,19,144,45\"></map>' + '<img usemap=\"#focus-redirect-img-usemap\" alt=\"\" ' + 'src=\"' + gif + '\">';\n // focus the <img>, not the <div>\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = '<legend>legend</legend><input tabindex=\"-1\"><input tabindex=\"0\">';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the <fieldset> first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '<div style=\"width: 500px; height: 40px;\">scrollable content</div>';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"<summary>foo</summary><p>content</p>\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs <foreignObject width=\"30\" height=\"30\"><input type=\"text\"/></foreignObject>\n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an <input> element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to <body> like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">' + element + \"</svg>\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text focusable=\"true\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"0\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<text tabindex=\"-1\">a</text>');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n '<g id=\"ally-test-target\"><a xlink:href=\"#void\"><text>link</text></a></g>',\n '<use xlink:href=\"#ally-test-target\" x=\"0\" y=\"0\" tabindex=\"-1\" />'\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('<foreignObject tabindex=\"-1\"><input type=\"text\" /></foreignObject>');\n // Safari 8's quersSelector() can't identify foreignObject, but getElementyByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = '<tr><td>cell</td></tr>';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"<tr><td>cell</td></tr>\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is <div> or <span> - this does *not*\n // happen for <section>, <article>, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus <table> and <td>\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus <fieldset>\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // <use> cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // <use> can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the <img> in <a href><img ismap> focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a <div> or a <span> and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on <object> and <iframe>\n return node.contentDocument || // works on <object> and <iframe>\n node.contentWindow && node.contentWindow.document || // works on <object> and <iframe> that contain SVG\n node.getSVGDocument && node.getSVGDocument() || null;\n } catch (e) {\n // SecurityError: Failed to read the 'contentDocument' property from 'HTMLObjectElement'\n // also IE may throw member not found exception e.g. on <object type=\"image/png\">\n return null;\n }\n}\nfunction getWindow(node) {\n var _document = getDocument(node);\n return _document.defaultView || window;\n}\nvar shadowPrefix = void 0;\nfunction selectInShadows(selector) {\n if (typeof shadowPrefix !== \"string\") {\n var operator = cssShadowPiercingDeepCombinator();\n if (operator) {\n shadowPrefix = \", html \" + operator + \" \";\n }\n }\n if (!shadowPrefix) {\n return selector;\n }\n return selector + shadowPrefix + selector.replace(/\\s*,\\s*/g, \",\").split(\",\").join(shadowPrefix);\n}\nvar selector = void 0;\nfunction findDocumentHostElement(_window) {\n if (!selector) {\n selector = selectInShadows(\"object, iframe\");\n }\n if (_window._frameElement !== undefined) {\n return _window._frameElement;\n }\n _window._frameElement = null;\n var potentialHosts = _window.parent.document.querySelectorAll(selector);\n [].some.call(potentialHosts, function(element) {\n var _document = getContentDocument(element);\n if (_document !== _window.document) {\n return false;\n }\n _window._frameElement = element;\n return true;\n });\n return _window._frameElement;\n}\nfunction getFrameElement(element) {\n var _window = getWindow(element);\n if (!_window.parent || _window.parent === _window) {\n // if there is no parent browsing context,\n // we're not going to get a frameElement either way\n return null;\n }\n try {\n // see https://developer.mozilla.org/docs/Web/API/Window/frameElement\n // does not work within <embed> anywhere, and not within in <object> in IE\n return _window.frameElement || findDocumentHostElement(_window);\n } catch (e) {\n return null;\n }\n}\n// https://www.w3.org/TR/html5/rendering.html#being-rendered\n// <area> is not rendered, but we *consider* it visible to simplfiy this function's usage\nvar notRenderedElementsPattern = /^(area)$/;\nfunction computedStyle(element, property) {\n return window.getComputedStyle(element, null).getPropertyValue(property);\n}\nfunction notDisplayed(_path) {\n return _path.some(function(element) {\n // display:none is not visible (optimized away at layout)\n return computedStyle(element, \"display\") === \"none\";\n });\n}\nfunction notVisible(_path) {\n // https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L109-L114\n // NOTE: a nested element can reverse visibility:hidden|collapse by explicitly setting visibility:visible\n // NOTE: visibility can be [\"\", \"visible\", \"hidden\", \"collapse\"]\n var hidden = findIndex(_path, function(element) {\n var visibility = computedStyle(element, \"visibility\");\n return visibility === \"hidden\" || visibility === \"collapse\";\n });\n if (hidden === -1) {\n // there is no hidden element\n return false;\n }\n var visible = findIndex(_path, function(element) {\n return computedStyle(element, \"visibility\") === \"visible\";\n });\n if (visible === -1) {\n // there is no visible element (but a hidden element)\n return true;\n }\n if (hidden < visible) {\n // there is a hidden element and it's closer than the first visible element\n return true;\n }\n // there may be a hidden element, but the closest element is visible\n return false;\n}\nfunction collapsedParent(_path) {\n var offset = 1;\n if (_path[0].nodeName.toLowerCase() === \"summary\") {\n offset = 2;\n }\n return _path.slice(offset).some(function(element) {\n // \"content children\" of a closed details element are not visible\n return element.nodeName.toLowerCase() === \"details\" && element.open === false;\n });\n}\nfunction isVisibleRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n notRendered: false,\n cssDisplay: false,\n cssVisibility: false,\n detailsElement: false,\n browsingContext: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/visible\",\n resolveDocument: true,\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (!except.notRendered && notRenderedElementsPattern.test(nodeName)) {\n return true;\n }\n var _path = getParents({\n context: element\n });\n // in Internet Explorer <audio> has a default display: none, where others have display: inline\n // but IE allows focusing <audio style=\"display:none\">, but not <div display:none><audio>\n // this is irrelevant to other browsers, as the controls attribute is required to make <audio> focusable\n var isAudioWithoutControls = nodeName === \"audio\" && !element.hasAttribute(\"controls\");\n if (!except.cssDisplay && notDisplayed(isAudioWithoutControls ? _path.slice(1) : _path)) {\n return false;\n }\n if (!except.cssVisibility && notVisible(_path)) {\n return false;\n }\n if (!except.detailsElement && collapsedParent(_path)) {\n return false;\n }\n if (!except.browsingContext) {\n // elements within a browsing context are affected by the\n // browsing context host element's visibility and tabindex\n var frameElement = getFrameElement(element);\n var _isVisible = isVisibleRules.except(except);\n if (frameElement && !_isVisible(frameElement)) {\n return false;\n }\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisVisibleRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isVisible = function isVisible(context) {\n return isVisibleRules({\n context: context,\n except: except\n });\n };\n isVisible.rules = isVisibleRules;\n return isVisible;\n};\n// provide isVisible(context) as default iterator callback\nvar isVisible = isVisibleRules.except({});\nfunction getMapByName(name, _document) {\n // apparently getElementsByName() also considers id attribute in IE & opera\n // https://developer.mozilla.org/docs/Web/API/Document/getElementsByName\n var map = _document.querySelector('map[name=\"' + (0, _cssescape.default)(name) + '\"]');\n return map || null;\n}\nfunction getImageOfArea(element) {\n var map = element.parentElement;\n if (!map.name || map.nodeName.toLowerCase() !== \"map\") {\n return null;\n }\n // NOTE: image maps can also be applied to <object> with image content,\n // but no browser supports this at the moment\n // HTML5 specifies HTMLMapElement.images to be an HTMLCollection of all\n // <img> and <object> referencing the <map> element, but no browser implements this\n // https://www.w3.org/TR/html5/embedded-content-0.html#the-map-element\n // https://developer.mozilla.org/docs/Web/API/HTMLMapElement\n // the image must be valid and loaded for the map to take effect\n var _document = getDocument(element);\n return _document.querySelector('img[usemap=\"#' + (0, _cssescape.default)(map.name) + '\"]') || null;\n}\nvar supports$2 = void 0;\n// https://developer.mozilla.org/docs/Web/HTML/Element/map\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n// https://github.com/jquery/jquery-ui/blob/master/ui/core.js#L88-L107\nfunction isValidArea(context) {\n if (!supports$2) {\n supports$2 = _supports();\n }\n var element = contextToElement({\n label: \"is/valid-area\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return false;\n }\n var hasTabindex = element.hasAttribute(\"tabindex\");\n if (!supports$2.focusAreaTabindex && hasTabindex) {\n // Blink and WebKit do not consider <area tabindex=\"-1\" href=\"#void\"> focusable\n return false;\n }\n var img = getImageOfArea(element);\n if (!img || !isVisible(img)) {\n return false;\n }\n // Firefox only allows fully loaded images to reference image maps\n // https://stereochro.me/ideas/detecting-broken-images-js\n if (!supports$2.focusBrokenImageMap && (!img.complete || !img.naturalHeight || img.offsetWidth <= 0 || img.offsetHeight <= 0)) {\n return false;\n }\n // Firefox supports.can focus area elements even if they don't have an href attribute\n if (!supports$2.focusAreaWithoutHref && !element.href) {\n // Internet explorer supports.can focus area elements without href if either\n // the area element or the image element has a tabindex attribute\n return supports$2.focusAreaTabindex && hasTabindex || supports$2.focusAreaImgTabindex && img.hasAttribute(\"tabindex\");\n }\n // https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\n var childOfInteractive = getParents({\n context: img\n }).slice(1).some(function(_element) {\n var name = _element.nodeName.toLowerCase();\n return name === \"button\" || name === \"a\";\n });\n if (childOfInteractive) {\n return false;\n }\n return true;\n}\nvar supports$3 = void 0;\n// https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\nvar disabledElementsPattern = void 0;\nvar disabledElements = {\n input: true,\n select: true,\n textarea: true,\n button: true,\n fieldset: true,\n form: true\n};\nfunction isNativeDisabledSupported(context) {\n if (!supports$3) {\n supports$3 = _supports();\n if (supports$3.focusFieldsetDisabled) {\n delete disabledElements.fieldset;\n }\n if (supports$3.focusFormDisabled) {\n delete disabledElements.form;\n }\n disabledElementsPattern = new RegExp(\"^(\" + Object.keys(disabledElements).join(\"|\") + \")$\");\n }\n var element = contextToElement({\n label: \"is/native-disabled-supported\",\n context: context\n });\n var nodeName = element.nodeName.toLowerCase();\n return Boolean(disabledElementsPattern.test(nodeName));\n}\nvar supports$4 = void 0;\nfunction isDisabledFieldset(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"fieldset\" && element.disabled;\n}\nfunction isDisabledForm(element) {\n var nodeName = element.nodeName.toLowerCase();\n return nodeName === \"form\" && element.disabled;\n}\nfunction isDisabled(context) {\n if (!supports$4) {\n supports$4 = _supports();\n }\n var element = contextToElement({\n label: \"is/disabled\",\n context: context\n });\n if (element.hasAttribute(\"data-ally-disabled\")) {\n // treat ally's element/disabled like the DOM native element.disabled\n return true;\n }\n if (!isNativeDisabledSupported(element)) {\n // non-form elements do not support the disabled attribute\n return false;\n }\n if (element.disabled) {\n // the element itself is disabled\n return true;\n }\n var parents = getParents({\n context: element\n });\n if (parents.some(isDisabledFieldset)) {\n // a parental <fieldset> is disabld and inherits the state onto this element\n return true;\n }\n if (!supports$4.focusFormDisabled && parents.some(isDisabledForm)) {\n // a parental <form> is disabld and inherits the state onto this element\n return true;\n }\n return false;\n}\nfunction isOnlyTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n onlyFocusableBrowsingContext: false,\n visible: false\n } : _ref$except;\n var element = contextToElement({\n label: \"is/only-tabbable\",\n resolveDocument: true,\n context: context\n });\n if (!except.visible && !isVisible(element)) {\n return false;\n }\n if (!except.onlyFocusableBrowsingContext && (platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE)) {\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (tabindexValue(frameElement) < 0) {\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var tabindex = tabindexValue(element);\n if (nodeName === \"label\" && platform.is.GECKO) {\n // Firefox cannot focus, but tab to: label[tabindex=0]\n return tabindex !== null && tabindex >= 0;\n }\n // SVG Elements were keyboard focusable but not script focusable before Firefox 51.\n // Firefox 51 added the focus management DOM API (.focus and .blur) to SVGElement,\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=778654\n if (platform.is.GECKO && element.ownerSVGElement && !element.focus) {\n if (nodeName === \"a\" && element.hasAttribute(\"xlink:href\")) {\n // any focusable child of <svg> cannot be focused, but tabbed to\n if (platform.is.GECKO) {\n return true;\n }\n }\n }\n return false;\n}\n// bind exceptions to an iterator callback\nisOnlyTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isOnlyTabbable = function isOnlyTabbable(context) {\n return isOnlyTabbableRules({\n context: context,\n except: except\n });\n };\n isOnlyTabbable.rules = isOnlyTabbableRules;\n return isOnlyTabbable;\n};\n// provide isOnlyTabbable(context) as default iterator callback\nvar isOnlyTabbable = isOnlyTabbableRules.except({});\nvar supports$5 = void 0;\nfunction isOnlyFocusRelevant(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n var _tabindex = tabindexValue(element);\n if (element.shadowRoot && _tabindex === null) {\n // ShadowDOM host elements *may* receive focus\n // even though they are not considered focuable\n return true;\n }\n if (nodeName === \"label\") {\n // <label tabindex=\"0\"> is only tabbable in Firefox, not script-focusable\n // there's no way to make an element focusable other than by adding a tabindex,\n // and focus behavior of the label element seems hard-wired to ignore tabindex\n // in some browsers (like Gecko, Blink and WebKit)\n return !supports$5.focusLabelTabindex || _tabindex === null;\n }\n if (nodeName === \"legend\") {\n return _tabindex === null;\n }\n if (supports$5.focusSvgFocusableAttribute && (element.ownerSVGElement || nodeName === \"svg\")) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n var focusableAttribute = element.getAttribute(\"focusable\");\n return focusableAttribute && focusableAttribute === \"false\";\n }\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the <map>\n return _tabindex === null || !supports$5.focusImgUsemapTabindex;\n }\n if (nodeName === \"area\") {\n // all <area>s are considered relevant,\n // but only the valid <area>s are focusable\n return !isValidArea(element);\n }\n return false;\n}\nfunction isFocusableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n disabled: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$5) {\n supports$5 = _supports();\n }\n var _isOnlyTabbable = isOnlyTabbable.rules.except({\n onlyFocusableBrowsingContext: true,\n visible: except.visible\n });\n var element = contextToElement({\n label: \"is/focusable\",\n resolveDocument: true,\n context: context\n });\n var focusRelevant = isFocusRelevant.rules({\n context: element,\n except: except\n });\n if (!focusRelevant || isOnlyFocusRelevant(element)) {\n return false;\n }\n if (!except.disabled && isDisabled(element)) {\n return false;\n }\n if (!except.onlyTabbable && _isOnlyTabbable(element)) {\n // some elements may be keyboard focusable, but not script focusable\n return false;\n }\n // elements that are not rendered, cannot be focused\n if (!except.visible) {\n var visibilityOptions = {\n context: element,\n except: {}\n };\n if (supports$5.focusInHiddenIframe) {\n // WebKit and Blink can focus content in hidden <iframe> and <object>\n visibilityOptions.except.browsingContext = true;\n }\n if (supports$5.focusObjectSvgHidden) {\n // Blink allows focusing the object element, even if it has visibility: hidden;\n // @browser-issue Blink https://code.google.com/p/chromium/issues/detail?id=586191\n var _nodeName2 = element.nodeName.toLowerCase();\n if (_nodeName2 === \"object\") {\n visibilityOptions.except.cssVisibility = true;\n }\n }\n if (!isVisible.rules(visibilityOptions)) {\n return false;\n }\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n var _nodeName = frameElement.nodeName.toLowerCase();\n if (_nodeName === \"object\" && !supports$5.focusInZeroDimensionObject) {\n if (!frameElement.offsetWidth || !frameElement.offsetHeight) {\n // WebKit can not focus content in <object> if it doesn't have dimensions\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"svg\" && supports$5.focusSvgInIframe && !frameElement && element.getAttribute(\"tabindex\") === null) {\n return false;\n }\n return true;\n}\n// bind exceptions to an iterator callback\nisFocusableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusable = function isFocusable(context) {\n return isFocusableRules({\n context: context,\n except: except\n });\n };\n isFocusable.rules = isFocusableRules;\n return isFocusable;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusable = isFocusableRules.except({});\nfunction createFilter(condition) {\n // see https://developer.mozilla.org/docs/Web/API/NodeFilter\n var filter = function filter(node) {\n if (node.shadowRoot) {\n // return ShadowRoot elements regardless of them being focusable,\n // so they can be walked recursively later\n return NodeFilter.FILTER_ACCEPT;\n }\n if (condition(node)) {\n // finds elements that could have been found by document.querySelectorAll()\n return NodeFilter.FILTER_ACCEPT;\n }\n return NodeFilter.FILTER_SKIP;\n };\n // IE requires a function, Browsers require {acceptNode: function}\n // see http://www.bennadel.com/blog/2607-finding-html-comment-nodes-in-the-dom-using-treewalker.htm\n filter.acceptNode = filter;\n return filter;\n}\nvar PossiblyFocusableFilter = createFilter(isFocusRelevant);\nfunction queryFocusableStrict() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!context) {\n context = document.documentElement;\n }\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var _document = getDocument(context);\n // see https://developer.mozilla.org/docs/Web/API/Document/createTreeWalker\n var walker = _document.createTreeWalker(context, NodeFilter.SHOW_ELEMENT, strategy === \"all\" ? PossiblyFocusableFilter : createFilter(_isFocusable), false);\n var list = [];\n while(walker.nextNode()){\n if (walker.currentNode.shadowRoot) {\n if (_isFocusable(walker.currentNode)) {\n list.push(walker.currentNode);\n }\n list = list.concat(queryFocusableStrict({\n context: walker.currentNode.shadowRoot,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }));\n } else {\n list.push(walker.currentNode);\n }\n }\n // add context if requested and focusable\n if (includeContext) {\n if (strategy === \"all\") {\n if (isFocusRelevant(context)) {\n list.unshift(context);\n }\n } else if (_isFocusable(context)) {\n list.unshift(context);\n }\n }\n return list;\n}\n// NOTE: this selector MUST *never* be used directly,\nvar supports$6 = void 0;\nvar selector$1 = void 0;\nfunction selector$2() {\n if (!supports$6) {\n supports$6 = _supports();\n }\n if (typeof selector$1 === \"string\") {\n return selector$1;\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n selector$1 = \"\" + // IE11 supports.can focus <table> and <td>\n (supports$6.focusTable ? \"table, td,\" : \"\") + // IE11 supports.can focus <fieldset>\n (supports$6.focusFieldset ? \"fieldset,\" : \"\") + // Namespace problems of [xlink:href] explained in https://stackoverflow.com/a/23047888/515124\n // svg a[*|href] does not match in IE9, but since we're filtering\n // through is/focusable we can include all <a> from SVG\n \"svg a,\" + // may behave as 'svg, svg *,' in chrome as *every* svg element with a focus event listener is focusable\n // navigational elements\n \"a[href],\" + // validity determined by is/valid-area.js\n \"area[href],\" + // validity determined by is/disabled.js\n \"input, select, textarea, button,\" + // browsing context containers\n \"iframe, object, embed,\" + // interactive content\n \"keygen,\" + (supports$6.focusAudioWithoutControls ? \"audio,\" : \"audio[controls],\") + (supports$6.focusVideoWithoutControls ? \"video,\" : \"video[controls],\") + (supports$6.focusSummary ? \"summary,\" : \"\") + // validity determined by is/valid-tabindex.js\n \"[tabindex],\" + // editing hosts\n \"[contenteditable]\";\n // where ShadowDOM is supported, we also want the shadowed focusable elements (via \">>>\" or \"/deep/\")\n selector$1 = selectInShadows(selector$1);\n return selector$1;\n}\nfunction queryFocusableQuick() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable;\n var _selector = selector$2();\n var elements = context.querySelectorAll(_selector);\n // the selector potentially matches more than really is focusable\n var _isFocusable = isFocusable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n var result = [].filter.call(elements, _isFocusable);\n // add context if requested and focusable\n if (includeContext && _isFocusable(context)) {\n result.unshift(context);\n }\n return result;\n}\nfunction queryFocusable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, _ref$strategy = _ref.strategy, strategy = _ref$strategy === undefined ? \"quick\" : _ref$strategy;\n var element = contextToElement({\n label: \"query/focusable\",\n resolveDocument: true,\n defaultToDocument: true,\n context: context\n });\n var options = {\n context: element,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n };\n if (strategy === \"quick\") {\n return queryFocusableQuick(options);\n } else if (strategy === \"strict\" || strategy === \"all\") {\n return queryFocusableStrict(options);\n }\n throw new TypeError('query/focusable requires option.strategy to be one of [\"quick\", \"strict\", \"all\"]');\n}\nvar supports$7 = void 0;\n// Internet Explorer 11 considers fieldset, table, td focusable, but not tabbable\n// Internet Explorer 11 considers body to have [tabindex=0], but does not allow tabbing to it\nvar focusableElementsPattern = /^(fieldset|table|td|body)$/;\nfunction isTabbableRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false,\n visible: false,\n onlyTabbable: false\n } : _ref$except;\n if (!supports$7) {\n supports$7 = _supports();\n }\n var element = contextToElement({\n label: \"is/tabbable\",\n resolveDocument: true,\n context: context\n });\n if (platform.is.BLINK && platform.is.ANDROID && platform.majorVersion > 42) {\n // External keyboard support worked fine in CHrome 42, but stopped working in Chrome 45.\n // The on-screen keyboard does not provide a way to focus the next input element (like iOS does).\n // That leaves us with no option to advance focus by keyboard, ergo nothing is tabbable (keyboard focusable).\n return false;\n }\n var frameElement = getFrameElement(element);\n if (frameElement) {\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only does not consider anything from another browsing context keyboard focusable\n return false;\n }\n // iframe[tabindex=\"-1\"] and object[tabindex=\"-1\"] inherit the\n // tabbable demotion onto elements of their browsing contexts\n if (tabindexValue(frameElement) < 0) {\n return false;\n }\n if (!except.visible && (platform.is.BLINK || platform.is.WEBKIT) && !isVisible(frameElement)) {\n // Blink and WebKit consider elements in hidden browsing contexts focusable, but not tabbable\n return false;\n }\n // Webkit and Blink don't consider anything in <object> tabbable\n // Blink fixed that fixed in Chrome 54, Opera 41\n var frameNodeName = frameElement.nodeName.toLowerCase();\n if (frameNodeName === \"object\") {\n var isFixedBlink = platform.name === \"Chrome\" && platform.majorVersion >= 54 || platform.name === \"Opera\" && platform.majorVersion >= 41;\n if (platform.is.WEBKIT || platform.is.BLINK && !isFixedBlink) {\n return false;\n }\n }\n }\n var nodeName = element.nodeName.toLowerCase();\n var _tabindex = tabindexValue(element);\n var tabindex = _tabindex === null ? null : _tabindex >= 0;\n if (platform.is.EDGE && platform.majorVersion >= 14 && frameElement && element.ownerSVGElement && _tabindex < 0) {\n // Edge 14+ considers <a xlink:href=\"…\" tabindex=\"-1\"> keyboard focusable\n // if the element is in a nested browsing context\n return true;\n }\n var hasTabbableTabindexOrNone = tabindex !== false;\n var hasTabbableTabindex = _tabindex !== null && _tabindex >= 0;\n // NOTE: Firefox 31 considers [contenteditable] to have [tabindex=-1], but allows tabbing to it\n // fixed in Firefox 40 the latest - https://bugzilla.mozilla.org/show_bug.cgi?id=1185657\n if (element.hasAttribute(\"contenteditable\")) {\n // tabbing can still be disabled by explicitly providing [tabindex=\"-1\"]\n return hasTabbableTabindexOrNone;\n }\n if (focusableElementsPattern.test(nodeName) && tabindex !== true) {\n return false;\n }\n if (platform.is.WEBKIT && platform.is.IOS) {\n // iOS only considers a hand full of elements tabbable (keyboard focusable)\n // this holds true even with external keyboards\n var potentiallyTabbable = nodeName === \"input\" && element.type === \"text\" || element.type === \"password\" || nodeName === \"select\" || nodeName === \"textarea\" || element.hasAttribute(\"contenteditable\");\n if (!potentiallyTabbable) {\n var style = window.getComputedStyle(element, null);\n potentiallyTabbable = isUserModifyWritable(style);\n }\n if (!potentiallyTabbable) {\n return false;\n }\n }\n if (nodeName === \"use\" && _tabindex !== null) {\n if (platform.is.BLINK || platform.is.WEBKIT && platform.majorVersion === 9) {\n // In Chrome and Safari 9 the <use> element is keyboard focusable even for tabindex=\"-1\"\n return true;\n }\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n if (hasTabbableTabindexOrNone) {\n // in Trident and Gecko SVGElement does not handle the tabIndex property properly\n return true;\n }\n if (element.focus && !supports$7.focusSvgNegativeTabindexAttribute) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return true;\n }\n }\n if (nodeName === \"svg\" && supports$7.focusSvgInIframe && hasTabbableTabindexOrNone) {\n return true;\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n if (nodeName === \"svg\") {\n if (supports$7.focusSvg) {\n // older Internet Explorers consider <svg> keyboard focusable\n // unless they have focsable=\"false\", but then they wouldn't\n // be focusable and thus not even reach this filter\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\") || hasTabbableTabindex;\n }\n if (element.ownerSVGElement) {\n if (supports$7.focusSvgTabindexAttribute && hasTabbableTabindex) {\n return true;\n }\n // elements that have [focusable] are automatically keyboard focusable regardless of the attribute's value\n return element.hasAttribute(\"focusable\");\n }\n }\n if (element.tabIndex === undefined) {\n return Boolean(except.onlyTabbable);\n }\n if (nodeName === \"audio\") {\n if (!element.hasAttribute(\"controls\")) {\n // In Internet Explorer the <audio> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n } else if (platform.is.BLINK) {\n // In Chrome <audio controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"video\") {\n if (!element.hasAttribute(\"controls\")) {\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // In Internet Explorer and Edge the <video> element is focusable, but not tabbable, and tabIndex property is wrong\n return false;\n }\n } else if (platform.is.BLINK || platform.is.GECKO) {\n // In Chrome and Firefox <video controls tabindex=\"-1\"> remains keyboard focusable\n return true;\n }\n }\n if (nodeName === \"object\") {\n if (platform.is.BLINK || platform.is.WEBKIT) {\n // In all Blink and WebKit based browsers <embed> and <object> are never keyboard focusable, even with tabindex=\"0\" set\n return false;\n }\n }\n if (nodeName === \"iframe\") {\n // In Internet Explorer all iframes are only focusable\n // In WebKit, Blink and Gecko iframes may be tabbable depending on content.\n // Since we can't reliably investigate iframe documents because of the\n // SameOriginPolicy, we're declaring everything only focusable.\n return false;\n }\n if (!except.scrollable && platform.is.GECKO) {\n // Firefox considers scrollable containers keyboard focusable,\n // even though their tabIndex property is -1\n var _style = window.getComputedStyle(element, null);\n if (hasCssOverflowScroll(_style)) {\n return hasTabbableTabindexOrNone;\n }\n }\n if (platform.is.TRIDENT || platform.is.EDGE) {\n // IE and Edge degrade <area> to script focusable, if the image\n // using the <map> has been given tabindex=\"-1\"\n if (nodeName === \"area\") {\n var img = getImageOfArea(element);\n if (img && tabindexValue(img) < 0) {\n return false;\n }\n }\n var _style2 = window.getComputedStyle(element, null);\n if (isUserModifyWritable(_style2)) {\n // prevent being swallowed by the overzealous isScrollableContainer() below\n return element.tabIndex >= 0;\n }\n if (!except.flexbox && hasCssDisplayFlex(_style2)) {\n if (_tabindex !== null) {\n return hasTabbableTabindex;\n }\n return isFocusRelevantWithoutFlexbox(element) && isTabbableWithoutFlexbox(element);\n }\n // IE considers scrollable containers script focusable only,\n // even though their tabIndex property is 0\n if (isScrollableContainer(element, nodeName)) {\n return false;\n }\n var parent = element.parentElement;\n if (parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n // IE considers scrollable bodies script focusable only,\n if (isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n return false;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11,\n // even though their tabIndex property suggests otherwise\n if (hasCssDisplayFlex(parentStyle)) {\n // value of tabindex takes precedence\n return hasTabbableTabindex;\n }\n }\n }\n // https://www.w3.org/WAI/PF/aria-practices/#focus_tabindex\n return element.tabIndex >= 0;\n}\n// bind exceptions to an iterator callback\nisTabbableRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isTabbable = function isTabbable(context) {\n return isTabbableRules({\n context: context,\n except: except\n });\n };\n isTabbable.rules = isTabbableRules;\n return isTabbable;\n};\nvar isFocusRelevantWithoutFlexbox = isFocusRelevant.rules.except({\n flexbox: true\n});\nvar isTabbableWithoutFlexbox = isTabbableRules.except({\n flexbox: true\n});\n// provide isTabbable(context) as default iterator callback\nvar isTabbable = isTabbableRules.except({});\nfunction queryTabbable() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n var _isTabbable = isTabbable.rules.except({\n onlyTabbable: includeOnlyTabbable\n });\n return queryFocusable({\n context: context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n }).filter(_isTabbable);\n}\n// sorts a list of elements according to their order in the DOM\nfunction compareDomPosition(a, b) {\n return a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\nfunction sortDomOrder(elements) {\n return elements.sort(compareDomPosition);\n}\nfunction getFirstSuccessorOffset(list, target) {\n // find the first element that comes AFTER the target element\n return findIndex(list, function(element) {\n return target.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_FOLLOWING;\n });\n}\nfunction findInsertionOffsets(list, elements, resolveElement) {\n // instead of mutating the elements list directly, remember position and map\n // to inject later, when we can do this more efficiently\n var insertions = [];\n elements.forEach(function(element) {\n var replace = true;\n var offset = list.indexOf(element);\n if (offset === -1) {\n // element is not in target list\n offset = getFirstSuccessorOffset(list, element);\n replace = false;\n }\n if (offset === -1) {\n // there is no successor in the tabsequence,\n // meaning the image must be the last element\n offset = list.length;\n }\n // allow the consumer to replace the injected element\n var injections = nodeArray(resolveElement ? resolveElement(element) : element);\n if (!injections.length) {\n // we can't inject zero elements\n return;\n }\n insertions.push({\n offset: offset,\n replace: replace,\n elements: injections\n });\n });\n return insertions;\n}\nfunction insertElementsAtOffsets(list, insertions) {\n // remember the number of elements we have already injected\n // so we account for the caused index offset\n var inserted = 0;\n // make sure that we insert the elements in sequence,\n // otherwise the offset compensation won't work\n insertions.sort(function(a, b) {\n return a.offset - b.offset;\n });\n insertions.forEach(function(insertion) {\n // array.splice has an annoying function signature :(\n var remove = insertion.replace ? 1 : 0;\n var args = [\n insertion.offset + inserted,\n remove\n ].concat(insertion.elements);\n list.splice.apply(list, args);\n inserted += insertion.elements.length - remove;\n });\n}\nfunction mergeInDomOrder() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, list = _ref.list, elements = _ref.elements, resolveElement = _ref.resolveElement;\n // operate on a copy so we don't mutate the original array\n var _list = list.slice(0);\n // make sure the elements we're injecting are provided in DOM order\n var _elements = nodeArray(elements).slice(0);\n sortDomOrder(_elements);\n // find the offsets within the target array (list) at which to inject\n // each individual element (from elements)\n var insertions = findInsertionOffsets(_list, _elements, resolveElement);\n // actually inject the elements into the target array at the identified positions\n insertElementsAtOffsets(_list, insertions);\n return _list;\n}\nvar _createClass = function() {\n function defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Maps = function() {\n function Maps(context) {\n _classCallCheck(this, Maps);\n this._document = getDocument(context);\n this.maps = {};\n }\n _createClass(Maps, [\n {\n key: \"getAreasFor\",\n value: function getAreasFor(name) {\n if (!this.maps[name]) {\n // the map is not defined within the context, so we\n // have to go find it elsewhere in the document\n this.addMapByName(name);\n }\n return this.maps[name];\n }\n },\n {\n key: \"addMapByName\",\n value: function addMapByName(name) {\n var map = getMapByName(name, this._document);\n if (!map) {\n // if there is no map, the img[usemap] wasn't doing anything anyway\n return;\n }\n this.maps[map.name] = queryTabbable({\n context: map\n });\n }\n },\n {\n key: \"extractAreasFromList\",\n value: function extractAreasFromList(elements) {\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n return elements.filter(function(element) {\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName !== \"area\") {\n return true;\n }\n var map = element.parentNode;\n if (!this.maps[map.name]) {\n this.maps[map.name] = [];\n }\n this.maps[map.name].push(element);\n return false;\n }, this);\n }\n }\n ]);\n return Maps;\n}();\nfunction sortArea(elements, context) {\n // images - unless they are focusable themselves, likely not\n // part of the elements list, so we'll have to find them and\n // sort them into the elements list manually\n var usemaps = context.querySelectorAll(\"img[usemap]\");\n var maps = new Maps(context);\n // remove all <area> elements from the elements list,\n // but put them the map for later retrieval\n var _elements = maps.extractAreasFromList(elements);\n if (!usemaps.length) {\n // the context does not contain any <area>s so no need\n // to replace anything, just remove any maps\n return _elements;\n }\n return mergeInDomOrder({\n list: _elements,\n elements: usemaps,\n resolveElement: function resolveElement(image) {\n var name = image.getAttribute(\"usemap\").slice(1);\n return maps.getAreasFor(name);\n }\n });\n}\nvar _createClass$1 = function() {\n function defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function(Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\nfunction _classCallCheck$1(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\nvar Shadows = function() {\n function Shadows(context, sortElements) {\n _classCallCheck$1(this, Shadows);\n // document context we're working with\n this.context = context;\n // callback that sorts an array of elements\n this.sortElements = sortElements;\n // reference to create unique IDs for each ShadowHost\n this.hostCounter = 1;\n // reference map for child-ShadowHosts of a ShadowHost\n this.inHost = {};\n // reference map for child-ShadowHost of the document\n this.inDocument = [];\n // reference map for ShadowHosts\n this.hosts = {};\n // reference map for tabbable elements of a ShadowHost\n this.elements = {};\n }\n // remember which hosts we have to sort within later\n _createClass$1(Shadows, [\n {\n key: \"_registerHost\",\n value: function _registerHost(host) {\n if (host._sortingId) {\n return;\n }\n // make the ShadowHost identifiable (see cleanup() for undo)\n host._sortingId = \"shadow-\" + this.hostCounter++;\n this.hosts[host._sortingId] = host;\n // hosts may contain other hosts\n var parentHost = getShadowHost({\n context: host\n });\n if (parentHost) {\n this._registerHost(parentHost);\n this._registerHostParent(host, parentHost);\n } else {\n this.inDocument.push(host);\n }\n }\n },\n {\n key: \"_registerHostParent\",\n value: function _registerHostParent(host, parent) {\n if (!this.inHost[parent._sortingId]) {\n this.inHost[parent._sortingId] = [];\n }\n this.inHost[parent._sortingId].push(host);\n }\n },\n {\n key: \"_registerElement\",\n value: function _registerElement(element, host) {\n if (!this.elements[host._sortingId]) {\n this.elements[host._sortingId] = [];\n }\n this.elements[host._sortingId].push(element);\n }\n },\n {\n key: \"extractElements\",\n value: function extractElements(elements) {\n return elements.filter(function(element) {\n var host = getShadowHost({\n context: element\n });\n if (!host) {\n return true;\n }\n this._registerHost(host);\n this._registerElement(element, host);\n return false;\n }, this);\n }\n },\n {\n key: \"sort\",\n value: function sort(elements) {\n var _elements = this._injectHosts(elements);\n _elements = this._replaceHosts(_elements);\n this._cleanup();\n return _elements;\n }\n },\n {\n key: \"_injectHosts\",\n value: function _injectHosts(elements) {\n Object.keys(this.hosts).forEach(function(_sortingId) {\n var _list = this.elements[_sortingId];\n var _elements = this.inHost[_sortingId];\n var _context = this.hosts[_sortingId].shadowRoot;\n this.elements[_sortingId] = this._merge(_list, _elements, _context);\n }, this);\n return this._merge(elements, this.inDocument, this.context);\n }\n },\n {\n key: \"_merge\",\n value: function _merge(list, elements, context) {\n var merged = mergeInDomOrder({\n list: list,\n elements: elements\n });\n return this.sortElements(merged, context);\n }\n },\n {\n key: \"_replaceHosts\",\n value: function _replaceHosts(elements) {\n return mergeInDomOrder({\n list: elements,\n elements: this.inDocument,\n resolveElement: this._resolveHostElement.bind(this)\n });\n }\n },\n {\n key: \"_resolveHostElement\",\n value: function _resolveHostElement(host) {\n var merged = mergeInDomOrder({\n list: this.elements[host._sortingId],\n elements: this.inHost[host._sortingId],\n resolveElement: this._resolveHostElement.bind(this)\n });\n var _tabindex = tabindexValue(host);\n if (_tabindex !== null && _tabindex > -1) {\n return [\n host\n ].concat(merged);\n }\n return merged;\n }\n },\n {\n key: \"_cleanup\",\n value: function _cleanup() {\n // remove those identifers we put on the ShadowHost to avoid using Map()\n Object.keys(this.hosts).forEach(function(key) {\n delete this.hosts[key]._sortingId;\n }, this);\n }\n }\n ]);\n return Shadows;\n}();\nfunction sortShadowed(elements, context, sortElements) {\n var shadows = new Shadows(context, sortElements);\n var _elements = shadows.extractElements(elements);\n if (_elements.length === elements.length) {\n // no shadowed content found, no need to continue\n return sortElements(elements);\n }\n return shadows.sort(_elements);\n}\nfunction sortTabindex(elements) {\n // https://developer.mozilla.org/docs/Web/API/HTMLElement.tabIndex\n // elements with tabIndex \"0\" (including tabbableElements without tabIndex) should be navigated in the order they appear.\n // elements with a positive tabIndex:\n // Elements that have identical tabIndexes should be navigated in the order they appear.\n // Navigation proceeds from the lowest tabIndex to the highest tabIndex.\n // NOTE: sort implementation may be unstable and thus mess up DOM order,\n // that's why we build a map that's being sorted instead. If we were able to rely\n // on a stable sorting algorithm, sortTabindex() could be as simple as\n // elements.sort(function(a, b) { return a.tabIndex - b.tabIndex; });\n // at this time Chrome does not use a stable sorting algorithm\n // see http://blog.rodneyrehm.de/archives/14-Sorting-Were-Doing-It-Wrong.html#stability\n // NOTE: compareDocumentPosition seemed like more overhead than just sorting this with buckets\n // https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n var map = {};\n var indexes = [];\n var normal = elements.filter(function(element) {\n // in Trident and Gecko SVGElement does not know about the tabIndex property\n var tabIndex = element.tabIndex;\n if (tabIndex === undefined) {\n tabIndex = tabindexValue(element);\n }\n // extract elements that don't need sorting\n if (tabIndex <= 0 || tabIndex === null || tabIndex === undefined) {\n return true;\n }\n if (!map[tabIndex]) {\n // create sortable bucket for dom-order-preservation of elements with the same tabIndex\n map[tabIndex] = [];\n // maintain a list of unique tabIndexes\n indexes.push(tabIndex);\n }\n // sort element into the proper bucket\n map[tabIndex].push(element);\n // element moved to sorting map, so not \"normal\" anymore\n return false;\n });\n // sort the tabindex ascending,\n // then resolve them to their appropriate buckets,\n // then flatten the array of arrays to an array\n var _elements = indexes.sort().map(function(tabIndex) {\n return map[tabIndex];\n }).reduceRight(function(previous, current) {\n return current.concat(previous);\n }, normal);\n return _elements;\n}\nvar supports$8 = void 0;\nfunction moveContextToBeginning(elements, context) {\n var pos = elements.indexOf(context);\n if (pos > 0) {\n var tmp = elements.splice(pos, 1);\n return tmp.concat(elements);\n }\n return elements;\n}\nfunction sortElements(elements, _context) {\n if (supports$8.tabsequenceAreaAtImgPosition) {\n // Some browsers sort <area> in DOM order, some place the <area>s\n // where the <img> referecing them would've been in DOM order.\n // https://github.com/medialize/ally.js/issues/5\n elements = sortArea(elements, _context);\n }\n elements = sortTabindex(elements);\n return elements;\n}\nfunction queryTabsequence() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, includeContext = _ref.includeContext, includeOnlyTabbable = _ref.includeOnlyTabbable, strategy = _ref.strategy;\n if (!supports$8) {\n supports$8 = _supports();\n }\n var _context = nodeArray(context)[0] || document.documentElement;\n var elements = queryTabbable({\n context: _context,\n includeContext: includeContext,\n includeOnlyTabbable: includeOnlyTabbable,\n strategy: strategy\n });\n if (document.body.createShadowRoot && platform.is.BLINK) {\n // sort tabindex localized to shadow dom\n // see https://github.com/medialize/ally.js/issues/6\n elements = sortShadowed(elements, _context, sortElements);\n } else {\n elements = sortElements(elements, _context);\n }\n if (includeContext) {\n // if we include the context itself, it has to be the first\n // element of the sequence\n elements = moveContextToBeginning(elements, _context);\n }\n return elements;\n}\n// codes mostly cloned from https://github.com/keithamus/jwerty/blob/master/jwerty.js\n// deliberately not exposing characters like <,.-#* because they vary *wildly*\n// across keyboard layouts and may cause various problems\n// (e.g. \"*\" is \"Shift +\" on a German Mac keyboard)\n// (e.g. \"@\" is \"Alt L\" on a German Mac keyboard)\nvar keycode = {\n // Element Focus\n tab: 9,\n // Navigation\n left: 37,\n up: 38,\n right: 39,\n down: 40,\n pageUp: 33,\n \"page-up\": 33,\n pageDown: 34,\n \"page-down\": 34,\n end: 35,\n home: 36,\n // Action\n enter: 13,\n escape: 27,\n space: 32,\n // Modifier\n shift: 16,\n capsLock: 20,\n \"caps-lock\": 20,\n ctrl: 17,\n alt: 18,\n meta: 91,\n // in firefox: 224\n // on mac (chrome): meta-left=91, meta-right=93\n // on win (IE11): meta-left=91, meta-right=92\n pause: 19,\n // Content Manipulation\n insert: 45,\n delete: 46,\n backspace: 8,\n // the same logical key may be identified through different keyCodes\n _alias: {\n 91: [\n 92,\n 93,\n 224\n ]\n }\n};\n// Function keys (112 - 137)\n// NOTE: not every keyboard knows F13+\nfor(var n = 1; n < 26; n++){\n keycode[\"f\" + n] = n + 111;\n}\n// Number keys (48-57, numpad 96-105)\n// NOTE: not every keyboard knows num-0+\nfor(var _n = 0; _n < 10; _n++){\n var code = _n + 48;\n var numCode = _n + 96;\n keycode[_n] = code;\n keycode[\"num-\" + _n] = numCode;\n keycode._alias[code] = [\n numCode\n ];\n}\n// Latin characters (65 - 90)\nfor(var _n2 = 0; _n2 < 26; _n2++){\n var _code = _n2 + 65;\n var name$1 = String.fromCharCode(_code).toLowerCase();\n keycode[name$1] = _code;\n}\nvar modifier = {\n alt: \"altKey\",\n ctrl: \"ctrlKey\",\n meta: \"metaKey\",\n shift: \"shiftKey\"\n};\nvar modifierSequence = Object.keys(modifier).map(function(name) {\n return modifier[name];\n});\nfunction createExpectedModifiers(ignoreModifiers) {\n var value = ignoreModifiers ? null : false;\n return {\n altKey: value,\n ctrlKey: value,\n metaKey: value,\n shiftKey: value\n };\n}\nfunction resolveModifiers(modifiers) {\n var ignoreModifiers = modifiers.indexOf(\"*\") !== -1;\n var expected = createExpectedModifiers(ignoreModifiers);\n modifiers.forEach(function(token) {\n if (token === \"*\") {\n // we've already covered the all-in operator\n return;\n }\n // we want the modifier pressed\n var value = true;\n var operator = token.slice(0, 1);\n if (operator === \"?\") {\n // we don't care if the modifier is pressed\n value = null;\n } else if (operator === \"!\") {\n // we do not want the modifier pressed\n value = false;\n }\n if (value !== true) {\n // compensate for the modifier's operator\n token = token.slice(1);\n }\n var propertyName = modifier[token];\n if (!propertyName) {\n throw new TypeError('Unknown modifier \"' + token + '\"');\n }\n expected[propertyName] = value;\n });\n return expected;\n}\nfunction resolveKey(key) {\n var code = keycode[key] || parseInt(key, 10);\n if (!code || typeof code !== \"number\" || isNaN(code)) {\n throw new TypeError('Unknown key \"' + key + '\"');\n }\n return [\n code\n ].concat(keycode._alias[code] || []);\n}\nfunction matchModifiers(expected, event) {\n // returns true on match\n return !modifierSequence.some(function(prop) {\n // returns true on mismatch\n return typeof expected[prop] === \"boolean\" && Boolean(event[prop]) !== expected[prop];\n });\n}\nfunction keyBinding(text) {\n return text.split(/\\s+/).map(function(_text) {\n var tokens = _text.split(\"+\");\n var _modifiers = resolveModifiers(tokens.slice(0, -1));\n var _keyCodes = resolveKey(tokens.slice(-1));\n return {\n keyCodes: _keyCodes,\n modifiers: _modifiers,\n matchModifiers: matchModifiers.bind(null, _modifiers)\n };\n });\n}\n// Node.compareDocumentPosition is available since IE9\n// see https://developer.mozilla.org/docs/Web/API/Node.compareDocumentPosition\n// callback returns true when element is contained by parent or is the parent suited for use with Array.some()\n/*\n USAGE:\n var isChildOf = getParentComparator({parent: someNode});\n listOfElements.some(isChildOf)\n*/ function getParentComparator() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, parent = _ref.parent, element = _ref.element, includeSelf = _ref.includeSelf;\n if (parent) {\n return function isChildOf(node) {\n return Boolean(includeSelf && node === parent || parent.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n } else if (element) {\n return function isParentOf(node) {\n return Boolean(includeSelf && element === node || node.compareDocumentPosition(element) & Node.DOCUMENT_POSITION_CONTAINED_BY);\n };\n }\n throw new TypeError(\"util/compare-position#getParentComparator required either options.parent or options.element\");\n}\n// Bug 286933 - Key events in the autocomplete popup should be hidden from page scripts\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=286933\nfunction whenKey() {\n var map = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var bindings = {};\n var context = nodeArray(map.context)[0] || document.documentElement;\n delete map.context;\n var filter = nodeArray(map.filter);\n delete map.filter;\n var mapKeys = Object.keys(map);\n if (!mapKeys.length) {\n throw new TypeError(\"when/key requires at least one option key\");\n }\n var registerBinding = function registerBinding(event) {\n event.keyCodes.forEach(function(code) {\n if (!bindings[code]) {\n bindings[code] = [];\n }\n bindings[code].push(event);\n });\n };\n mapKeys.forEach(function(text) {\n if (typeof map[text] !== \"function\") {\n throw new TypeError('when/key requires option[\"' + text + '\"] to be a function');\n }\n var addCallback = function addCallback(event) {\n event.callback = map[text];\n return event;\n };\n keyBinding(text).map(addCallback).forEach(registerBinding);\n });\n var handleKeyDown = function handleKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n if (filter.length) {\n // ignore elements within the exempted sub-trees\n var isParentOfElement = getParentComparator({\n element: event.target,\n includeSelf: true\n });\n if (filter.some(isParentOfElement)) {\n return;\n }\n }\n var key = event.keyCode || event.which;\n if (!bindings[key]) {\n return;\n }\n bindings[key].forEach(function(_event) {\n if (!_event.matchModifiers(event)) {\n return;\n }\n _event.callback.call(context, event, disengage);\n });\n };\n context.addEventListener(\"keydown\", handleKeyDown, false);\n var disengage = function disengage() {\n context.removeEventListener(\"keydown\", handleKeyDown, false);\n };\n return {\n disengage: disengage\n };\n}\nfunction _default(param) {\n let { context } = param === void 0 ? {} : param;\n if (!context) {\n context = document.documentElement;\n }\n // Make sure the supports tests are run before intercepting the Tab key,\n // or IE10 and IE11 will fail to process the first Tab key event. Not\n // limiting this warm-up to IE because it may be a problem elsewhere, too.\n queryTabsequence();\n return whenKey({\n // Safari on OSX may require ALT+TAB to reach links,\n // see https://github.com/medialize/ally.js/issues/146\n \"?alt+?shift+tab\": function altShiftTab(event) {\n // we're completely taking over the Tab key handling\n event.preventDefault();\n var sequence = queryTabsequence({\n context: context\n });\n var backward = event.shiftKey;\n var first = sequence[0];\n var last = sequence[sequence.length - 1];\n // wrap around first to last, last to first\n var source = backward ? first : last;\n var target = backward ? last : first;\n if (isActiveElement(source)) {\n target.focus();\n return;\n }\n // find current position in tabsequence\n var currentIndex = void 0;\n var found = sequence.some(function(element, index) {\n if (!isActiveElement(element)) {\n return false;\n }\n currentIndex = index;\n return true;\n });\n if (!found) {\n // redirect to first as we're not in our tabsequence\n first.focus();\n return;\n }\n // shift focus to previous/next element in the sequence\n var offset = backward ? -1 : 1;\n sequence[currentIndex + offset].focus();\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=maintain--tab-focus.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9tYWludGFpbi0tdGFiLWZvY3VzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGtCQUFrQixHQUFHLGNBQWM7QUFDbkMsbURBQW1EO0FBQ25ELGVBQWU7QUFDZixpQ0FBaUM7QUFDakMsRUFBRTtBQUNGLHlDQUF5QztBQUM1QjtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsWUFBWSxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyxpR0FBNkI7QUFDaEcsTUFBTUcsYUFBYSxXQUFXLEdBQUdKLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx1R0FBK0I7QUFDbkcseUZBQXlGO0FBQ3pGLDZFQUE2RTtBQUM3RSxTQUFTSSxVQUFVQyxLQUFLO0lBQ3BCLElBQUksQ0FBQ0EsT0FBTztRQUNSLE9BQU8sRUFBRTtJQUNiO0lBQ0EsSUFBSUMsTUFBTUMsT0FBTyxDQUFDRixRQUFRO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQSwrQ0FBK0M7SUFDL0MsSUFBSUEsTUFBTUcsUUFBUSxLQUFLQyxXQUFXO1FBQzlCLE9BQU87WUFDSEo7U0FDSDtJQUNMO0lBQ0EsSUFBSSxPQUFPQSxVQUFVLFVBQVU7UUFDM0JBLFFBQVFLLFNBQVNDLGdCQUFnQixDQUFDTjtJQUN0QztJQUNBLElBQUlBLE1BQU1PLE1BQU0sS0FBS0gsV0FBVztRQUM1QixPQUFPLEVBQUUsQ0FBQ0ksS0FBSyxDQUFDQyxJQUFJLENBQUNULE9BQU87SUFDaEM7SUFDQSxNQUFNLElBQUlVLFVB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Y2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvbWFpbnRhaW4tLXRhYi1mb2N1cy5qcz84MjU0Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlICovIC8vIEB0cy1ub2NoZWNrXG4vLyBDb3BpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanNcbi8vIExpY2Vuc2U6IE1JVFxuLy8gQ29weXJpZ2h0IChjKSAyMDE1IFJvZG5leSBSZWhtXG4vL1xuLy8gRW50cnlwb2ludDogYWxseS5qcy9tYWludGFpbi90YWItZm9jdXNcblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3BsYXRmb3JtID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtXCIpKTtcbmNvbnN0IF9jc3Nlc2NhcGUgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvY3NzLmVzY2FwZVwiKSk7XG4vLyBpbnB1dCBtYXkgYmUgdW5kZWZpbmVkLCBzZWxlY3Rvci10cmluZywgTm9kZSwgTm9kZUxpc3QsIEhUTUxDb2xsZWN0aW9uLCBhcnJheSBvZiBOb2Rlc1xuLy8geWVzLCB0byBzb21lIGV4dGVudCB0aGlzIGlzIGEgYmFkIHJlcGxpY2Egb2YgalF1ZXJ5J3MgY29uc3RydWN0b3IgZnVuY3Rpb25cbmZ1bmN0aW9uIG5vZGVBcnJheShpbnB1dCkge1xuICAgIGlmICghaW5wdXQpIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShpbnB1dCkpIHtcbiAgICAgICAgcmV0dXJuIGlucHV0O1xuICAgIH1cbiAgICAvLyBpbnN0YW5jZW9mIE5vZGUgLSBkb2VzIG5vdCB3b3JrIHdpdGggaWZyYW1lc1xuICAgIGlmIChpbnB1dC5ub2RlVHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBpbnB1dFxuICAgICAgICBdO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGlucHV0ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChpbnB1dCk7XG4gICAgfVxuICAgIGlmIChpbnB1dC5sZW5ndGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gW10uc2xpY2UuY2FsbChpbnB1dCwgMCk7XG4gICAgfVxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJ1bmV4cGVjdGVkIGlucHV0IFwiICsgU3RyaW5nKGlucHV0KSk7XG59XG5mdW5jdGlvbiBjb250ZXh0VG9FbGVtZW50KF9yZWYpIHtcbiAgICB2YXIgY29udGV4dCA9IF9yZWYuY29udGV4dCwgX3JlZiRsYWJlbCA9IF9yZWYubGFiZWwsIGxhYmVsID0gX3JlZiRsYWJlbCA9PT0gdW5kZWZpbmVkID8gXCJjb250ZXh0LXRvLWVsZW1lbnRcIiA6IF9yZWYkbGFiZWwsIHJlc29sdmVEb2N1bWVudCA9IF9yZWYucmVzb2x2ZURvY3VtZW50LCBkZWZhdWx0VG9Eb2N1bWVudCA9IF9yZWYuZGVmYXVsdFRvRG9jdW1lbnQ7XG4gICAgdmFyIGVsZW1lbnQgPSBub2RlQXJyYXkoY29udGV4dClbMF07XG4gICAgaWYgKHJlc29sdmVEb2N1bWVudCAmJiBlbGVtZW50ICYmIGVsZW1lbnQubm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkge1xuICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgfVxuICAgIGlmICghZWxlbWVudCAmJiBkZWZhdWx0VG9Eb2N1bWVudCkge1xuICAgICAgICByZXR1cm4gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIH1cbiAgICBpZiAoIWVsZW1lbnQpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihsYWJlbCArIFwiIHJlcXVpcmVzIHZhbGlkIG9wdGlvbnMuY29udGV4dFwiKTtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnQubm9kZVR5cGUgIT09IE5vZGUuRUxFTUVOVF9OT0RFICYmIGVsZW1lbnQubm9kZVR5cGUgIT09IE5vZGUuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGxhYmVsICsgXCIgcmVxdWlyZXMgb3B0aW9ucy5jb250ZXh0IHRvIGJlIGFuIEVsZW1lbnRcIik7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50O1xufVxuZnVuY3Rpb24gZ2V0U2hhZG93SG9zdCgpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQ7XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiZ2V0L3NoYWRvdy1ob3N0XCIsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICAvLyB3YWxrIHVwIHRvIHRoZSByb290XG4gICAgdmFyIGNvbnRhaW5lciA9IG51bGw7XG4gICAgd2hpbGUoZWxlbWVudCl7XG4gICAgICAgIGNvbnRhaW5lciA9IGVsZW1lbnQ7XG4gICAgICAgIGVsZW1lbnQgPSBlbGVtZW50LnBhcmVudE5vZGU7XG4gICAgfVxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9Ob2RlLm5vZGVUeXBlXG4gICAgLy8gTk9URTogRmlyZWZveCAzNCBkb2VzIG5vdCBleHBvc2UgU2hhZG93Um9vdC5ob3N0IChidXQgMzcgZG9lcylcbiAgICBpZiAoY29udGFpbmVyLm5vZGVUeXBlID09PSBjb250YWluZXIuRE9DVU1FTlRfRlJBR01FTlRfTk9ERSAmJiBjb250YWluZXIuaG9zdCkge1xuICAgICAgICAvLyB0aGUgcm9vdCBpcyBhdHRhY2hlZCB0byBhIGZyYWdtZW50IG5vZGUgdGhhdCBoYXMgYSBob3N0XG4gICAgICAgIHJldHVybiBjb250YWluZXIuaG9zdDtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBnZXREb2N1bWVudChub2RlKSB7XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICAgIHJldHVybiBkb2N1bWVudDtcbiAgICB9XG4gICAgaWYgKG5vZGUubm9kZVR5cGUgPT09IE5vZGUuRE9DVU1FTlRfTk9ERSkge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG4gICAgcmV0dXJuIG5vZGUub3duZXJEb2N1bWVudCB8fCBkb2N1bWVudDtcbn1cbmZ1bmN0aW9uIGlzQWN0aXZlRWxlbWVudChjb250ZXh0KSB7XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvYWN0aXZlLWVsZW1lbnRcIixcbiAgICAgICAgcmVzb2x2ZURvY3VtZW50OiB0cnVlLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgdmFyIF9kb2N1bWVudCA9IGdldERvY3VtZW50KGVsZW1lbnQpO1xuICAgIGlmIChfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIHNoYWRvd0hvc3QgPSBnZXRTaGFkb3dIb3N0KHtcbiAgICAgICAgY29udGV4dDogZWxlbWVudFxuICAgIH0pO1xuICAgIGlmIChzaGFkb3dIb3N0ICYmIHNoYWRvd0hvc3Quc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50ID09PSBlbGVtZW50KSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59XG4vLyBbZWxlbSwgZWxlbS5wYXJlbnQsIGVsZW0ucGFyZW50LnBhcmVudCwg4oCmLCBodG1sXVxuLy8gd2lsbCBub3QgY29udGFpbiB0aGUgc2hhZG93Um9vdCAoRE9DVU1FTlRfRlJBR01FTlRfTk9ERSkgYW5kIHNoYWRvd0hvc3RcbmZ1bmN0aW9uIGdldFBhcmVudHMoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0O1xuICAgIHZhciBsaXN0ID0gW107XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiZ2V0L3BhcmVudHNcIixcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIHdoaWxlKGVsZW1lbnQpe1xuICAgICAgICBsaXN0LnB1c2goZWxlbWVudCk7XG4gICAgICAgIC8vIElFIGRvZXMga25vdyBzdXBwb3J0IHBhcmVudEVsZW1lbnQgb24gU1ZHRWxlbWVudFxuICAgICAgICBlbGVtZW50ID0gZWxlbWVudC5wYXJlbnROb2RlO1xuICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50Lm5vZGVUeXBlICE9PSBOb2RlLkVMRU1FTlRfTk9ERSkge1xuICAgICAgICAgICAgZWxlbWVudCA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxpc3Q7XG59XG4vLyBFbGVtZW50LnByb3RvdHlwZS5tYXRjaGVzIG1heSBiZSBhdmFpbGFibGUgYXQgYSBkaWZmZXJlbnQgbmFtZVxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4vZG9jcy9XZWIvQVBJL0VsZW1lbnQvbWF0Y2hlc1xudmFyIG5hbWVzID0gW1xuICAgIFwibWF0Y2hlc1wiLFxuICAgIFwid2Via2l0TWF0Y2hlc1NlbGVjdG9yXCIsXG4gICAgXCJtb3pNYXRjaGVzU2VsZWN0b3JcIixcbiAgICBcIm1zTWF0Y2hlc1NlbGVjdG9yXCJcbl07XG52YXIgbmFtZSA9IG51bGw7XG5mdW5jdGlvbiBmaW5kTWV0aG9kTmFtZShlbGVtZW50KSB7XG4gICAgbmFtZXMuc29tZShmdW5jdGlvbihfbmFtZSkge1xuICAgICAgICBpZiAoIWVsZW1lbnRbX25hbWVdKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgbmFtZSA9IF9uYW1lO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGVsZW1lbnRNYXRjaGVzKGVsZW1lbnQsIHNlbGVjdG9yKSB7XG4gICAgaWYgKCFuYW1lKSB7XG4gICAgICAgIGZpbmRNZXRob2ROYW1lKGVsZW1lbnQpO1xuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudFtuYW1lXShzZWxlY3Rvcik7XG59XG4vLyBkZWVwIGNsb25lIG9mIG9yaWdpbmFsIHBsYXRmb3JtXG52YXIgcGxhdGZvcm0gPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KF9wbGF0Zm9ybS5kZWZhdWx0KSk7XG4vLyBvcGVyYXRpbmcgc3lzdGVtXG52YXIgb3MgPSBwbGF0Zm9ybS5vcy5mYW1pbHkgfHwgXCJcIjtcbnZhciBBTkRST0lEID0gb3MgPT09IFwiQW5kcm9pZFwiO1xudmFyIFdJTkRPV1MgPSBvcy5zbGljZSgwLCA3KSA9PT0gXCJXaW5kb3dzXCI7XG52YXIgT1NYID0gb3MgPT09IFwiT1MgWFwiO1xudmFyIElPUyA9IG9zID09PSBcImlPU1wiO1xuLy8gbGF5b3V0XG52YXIgQkxJTksgPSBwbGF0Zm9ybS5sYXlvdXQgPT09IFwiQmxpbmtcIjtcbnZhciBHRUNLTyA9IHBsYXRmb3JtLmxheW91dCA9PT0gXCJHZWNrb1wiO1xudmFyIFRSSURFTlQgPSBwbGF0Zm9ybS5sYXlvdXQgPT09IFwiVHJpZGVudFwiO1xudmFyIEVER0UgPSBwbGF0Zm9ybS5sYXlvdXQgPT09IFwiRWRnZUhUTUxcIjtcbnZhciBXRUJLSVQgPSBwbGF0Zm9ybS5sYXlvdXQgPT09IFwiV2ViS2l0XCI7XG4vLyBicm93c2VyIHZlcnNpb24gKG5vdCBsYXlvdXQgZW5naW5lIHZlcnNpb24hKVxudmFyIHZlcnNpb24gPSBwYXJzZUZsb2F0KHBsYXRmb3JtLnZlcnNpb24pO1xudmFyIG1ham9yVmVyc2lvbiA9IE1hdGguZmxvb3IodmVyc2lvbik7XG5wbGF0Zm9ybS5tYWpvclZlcnNpb24gPSBtYWpvclZlcnNpb247XG5wbGF0Zm9ybS5pcyA9IHtcbiAgICAvLyBvcGVyYXRpbmcgc3lzdGVtXG4gICAgQU5EUk9JRDogQU5EUk9JRCxcbiAgICBXSU5ET1dTOiBXSU5ET1dTLFxuICAgIE9TWDogT1NYLFxuICAgIElPUzogSU9TLFxuICAgIC8vIGxheW91dFxuICAgIEJMSU5LOiBCTElOSyxcbiAgICBHRUNLTzogR0VDS08sXG4gICAgVFJJREVOVDogVFJJREVOVCxcbiAgICBFREdFOiBFREdFLFxuICAgIFdFQktJVDogV0VCS0lULFxuICAgIC8vIElOVEVSTkVUIEVYUExPUkVSU1xuICAgIElFOTogVFJJREVOVCAmJiBtYWpvclZlcnNpb24gPT09IDksXG4gICAgSUUxMDogVFJJREVOVCAmJiBtYWpvclZlcnNpb24gPT09IDEwLFxuICAgIElFMTE6IFRSSURFTlQgJiYgbWFqb3JWZXJzaW9uID09PSAxMVxufTtcbmZ1bmN0aW9uIGJlZm9yZSgpIHtcbiAgICB2YXIgZGF0YSA9IHtcbiAgICAgICAgLy8gcmVtZW1iZXIgd2hhdCBoYWQgZm9jdXMgdG8gcmVzdG9yZSBhZnRlciB0ZXN0XG4gICAgICAgIGFjdGl2ZUVsZW1lbnQ6IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQsXG4gICAgICAgIC8vIHJlbWVtYmVyIHNjcm9sbCBwb3NpdGlvbnMgdG8gcmVzdG9yZSBhZnRlciB0ZXN0XG4gICAgICAgIHdpbmRvd1Njcm9sbFRvcDogd2luZG93LnNjcm9sbFRvcCxcbiAgICAgICAgd2luZG93U2Nyb2xsTGVmdDogd2luZG93LnNjcm9sbExlZnQsXG4gICAgICAgIGJvZHlTY3JvbGxUb3A6IGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wLFxuICAgICAgICBib2R5U2Nyb2xsTGVmdDogZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0XG4gICAgfTtcbiAgICAvLyB3cmFwIHRlc3RzIGluIGFuIGVsZW1lbnQgaGlkZGVuIGZyb20gc2NyZWVuIHJlYWRlcnMgdG8gcHJldmVudCB0aGVtXG4gICAgLy8gZnJvbSBhbm5vdW5jaW5nIGZvY3VzLCB3aGljaCBjYW4gYmUgcXVpdGUgaXJyaXRhdGluZyB0byB0aGUgdXNlclxuICAgIHZhciBpZnJhbWUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaWZyYW1lXCIpO1xuICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcInBvc2l0aW9uOmFic29sdXRlOyBwb3NpdGlvbjpmaXhlZDsgdG9wOjA7IGxlZnQ6LTJweDsgd2lkdGg6MXB4OyBoZWlnaHQ6MXB4OyBvdmVyZmxvdzpoaWRkZW47XCIpO1xuICAgIGlmcmFtZS5zZXRBdHRyaWJ1dGUoXCJhcmlhLWxpdmVcIiwgXCJvZmZcIik7XG4gICAgaWZyYW1lLnNldEF0dHJpYnV0ZShcImFyaWEtYnVzeVwiLCBcInRydWVcIik7XG4gICAgaWZyYW1lLnNldEF0dHJpYnV0ZShcImFyaWEtaGlkZGVuXCIsIFwidHJ1ZVwiKTtcbiAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlmcmFtZSk7XG4gICAgdmFyIF93aW5kb3cgPSBpZnJhbWUuY29udGVudFdpbmRvdztcbiAgICB2YXIgX2RvY3VtZW50ID0gX3dpbmRvdy5kb2N1bWVudDtcbiAgICBfZG9jdW1lbnQub3BlbigpO1xuICAgIF9kb2N1bWVudC5jbG9zZSgpO1xuICAgIHZhciB3cmFwcGVyID0gX2RvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIik7XG4gICAgX2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQod3JhcHBlcik7XG4gICAgZGF0YS5pZnJhbWUgPSBpZnJhbWU7XG4gICAgZGF0YS53cmFwcGVyID0gd3JhcHBlcjtcbiAgICBkYXRhLndpbmRvdyA9IF93aW5kb3c7XG4gICAgZGF0YS5kb2N1bWVudCA9IF9kb2N1bWVudDtcbiAgICByZXR1cm4gZGF0YTtcbn1cbi8vIG9wdGlvbnMuZWxlbWVudDpcbi8vICB7c3RyaW5nfSBlbGVtZW50IG5hbWVcbi8vICB7ZnVuY3Rpb259IGNhbGxiYWNrKHdyYXBwZXIsIGRvY3VtZW50KSB0byBnZW5lcmF0ZSBhbiBlbGVtZW50XG4vLyBvcHRpb25zLm11dGF0ZTogKG9wdGlvbmFsKVxuLy8gIHtmdW5jdGlvbn0gY2FsbGJhY2soZWxlbWVudCwgd3JhcHBlciwgZG9jdW1lbnQpIHRvIG1hbmlwdWxhdGUgZWxlbWVudCBwcmlvciB0byBmb2N1cy10ZXN0LlxuLy8gICAgICAgICAgICAgQ2FuIHJldHVybiBET01FbGVtZW50IHRvIGRlZmluZSBmb2N1cyB0YXJnZXQgKGRlZmF1bHQ6IGVsZW1lbnQpXG4vLyBvcHRpb25zLnZhbGlkYXRlOiAob3B0aW9uYWwpXG4vLyAge2Z1bmN0aW9ufSBjYWxsYmFjayhlbGVtZW50LCBmb2N1c1RhcmdldCwgZG9jdW1lbnQpIHRvIG1hbmlwdWxhdGUgdGVzdC1yZXN1bHRcbmZ1bmN0aW9uIHRlc3QoZGF0YSwgb3B0aW9ucykge1xuICAgIC8vIG1ha2Ugc3VyZSB3ZSBvcGVyYXRlIG9uIGEgY2xlYW4gc2xhdGVcbiAgICBkYXRhLndyYXBwZXIuaW5uZXJIVE1MID0gXCJcIjtcbiAgICAvLyBjcmVhdGUgZHVtbXkgZWxlbWVudCB0byB0ZXN0IGZvY3VzYWJpbGl0eSBvZlxuICAgIHZhciBlbGVtZW50ID0gdHlwZW9mIG9wdGlvbnMuZWxlbWVudCA9PT0gXCJzdHJpbmdcIiA/IGRhdGEuZG9jdW1lbnQuY3JlYXRlRWxlbWVudChvcHRpb25zLmVsZW1lbnQpIDogb3B0aW9ucy5lbGVtZW50KGRhdGEud3JhcHBlciwgZGF0YS5kb2N1bWVudCk7XG4gICAgLy8gYWxsb3cgY2FsbGJhY2sgdG8gZnVydGhlciBzcGVjaWZ5IGR1bW15IGVsZW1lbnRcbiAgICAvLyBhbmQgb3B0aW9uYWxseSBkZWZpbmUgZWxlbWVudCB0byBmb2N1c1xuICAgIHZhciBmb2N1cyA9IG9wdGlvbnMubXV0YXRlICYmIG9wdGlvbnMubXV0YXRlKGVsZW1lbnQsIGRhdGEud3JhcHBlciwgZGF0YS5kb2N1bWVudCk7XG4gICAgaWYgKCFmb2N1cyAmJiBmb2N1cyAhPT0gZmFsc2UpIHtcbiAgICAgICAgZm9jdXMgPSBlbGVtZW50O1xuICAgIH1cbiAgICAvLyBlbGVtZW50IG5lZWRzIHRvIGJlIHBhcnQgb2YgdGhlIERPTSB0byBiZSBmb2N1c2FibGVcbiAgICAhZWxlbWVudC5wYXJlbnROb2RlICYmIGRhdGEud3JhcHBlci5hcHBlbmRDaGlsZChlbGVtZW50KTtcbiAgICAvLyB0ZXN0IGlmIHRoZSBlbGVtZW50IHdpdGggaW52YWxpZCB0YWJpbmRleCBjYW4gYmUgZm9jdXNlZFxuICAgIGZvY3VzICYmIGZvY3VzLmZvY3VzICYmIGZvY3VzLmZvY3VzKCk7XG4gICAgLy8gdmFsaWRhdGUgdGVzdCdzIHJlc3VsdFxuICAgIHJldHVybiBvcHRpb25zLnZhbGlkYXRlID8gb3B0aW9ucy52YWxpZGF0ZShlbGVtZW50LCBmb2N1cywgZGF0YS5kb2N1bWVudCkgOiBkYXRhLmRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGZvY3VzO1xufVxuZnVuY3Rpb24gYWZ0ZXIoZGF0YSkge1xuICAgIC8vIHJlc3RvcmUgZm9jdXMgdG8gd2hhdCBpdCB3YXMgYmVmb3JlIHRlc3QgYW5kIGNsZWFudXBcbiAgICBpZiAoZGF0YS5hY3RpdmVFbGVtZW50ID09PSBkb2N1bWVudC5ib2R5KSB7XG4gICAgICAgIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgJiYgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5ibHVyICYmIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuYmx1cigpO1xuICAgICAgICBpZiAocGxhdGZvcm0uaXMuSUUxMCkge1xuICAgICAgICAgICAgLy8gSUUxMCBkb2VzIG5vdCByZWRpcmVjdCBmb2N1cyB0byA8Ym9keT4gd2hlbiB0aGUgYWN0aXZlRWxlbWVudCBpcyByZW1vdmVkXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBkYXRhLmFjdGl2ZUVsZW1lbnQgJiYgZGF0YS5hY3RpdmVFbGVtZW50LmZvY3VzICYmIGRhdGEuYWN0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRhdGEuaWZyYW1lKTtcbiAgICAvLyByZXN0b3JlIHNjcm9sbCBwb3NpdGlvblxuICAgIHdpbmRvdy5zY3JvbGxUb3AgPSBkYXRhLndpbmRvd1Njcm9sbFRvcDtcbiAgICB3aW5kb3cuc2Nyb2xsTGVmdCA9IGRhdGEud2luZG93U2Nyb2xsTGVmdDtcbiAgICBkb2N1bWVudC5ib2R5LnNjcm9sbFRvcCA9IGRhdGEuYm9keVNjcm9sbFRvcDtcbiAgICBkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQgPSBkYXRhLmJvZHlTY3JvbGxMZWZ0O1xufVxuZnVuY3Rpb24gZGV0ZWN0Rm9jdXModGVzdHMpIHtcbiAgICB2YXIgZGF0YSA9IGJlZm9yZSgpO1xuICAgIHZhciByZXN1bHRzID0ge307XG4gICAgT2JqZWN0LmtleXModGVzdHMpLm1hcChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgcmVzdWx0c1trZXldID0gdGVzdChkYXRhLCB0ZXN0c1trZXldKTtcbiAgICB9KTtcbiAgICBhZnRlcihkYXRhKTtcbiAgICByZXR1cm4gcmVzdWx0cztcbn1cbi8vIHRoaXMgZmlsZSBpcyBvdmVyd3JpdHRlbiBieSBgbnBtIHJ1biBidWlsZDpwcmVgXG52YXIgdmVyc2lvbiQxID0gXCIxLjQuMVwiO1xuLypcbiAgICBGYWNpbGl0eSB0byBjYWNoZSB0ZXN0IHJlc3VsdHMgaW4gbG9jYWxTdG9yYWdlLlxuXG4gICAgVVNBR0U6XG4gICAgICBjYWNoZS5nZXQoJ2tleScpO1xuICAgICAgY2FjaGUuc2V0KCdrZXknLCAndmFsdWUnKTtcbiAqLyBmdW5jdGlvbiByZWFkTG9jYWxTdG9yYWdlKGtleSkge1xuICAgIC8vIGFsbG93IHJlYWRpbmcgZnJvbSBzdG9yYWdlIHRvIHJldHJpZXZlIHByZXZpb3VzIHN1cHBvcnQgcmVzdWx0c1xuICAgIC8vIGV2ZW4gd2hpbGUgdGhlIGRvY3VtZW50IGRvZXMgbm90IGhhdmUgZm9jdXNcbiAgICB2YXIgZGF0YSA9IHZvaWQgMDtcbiAgICB0cnkge1xuICAgICAgICBkYXRhID0gd2luZG93LmxvY2FsU3RvcmFnZSAmJiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgICAgZGF0YSA9IGRhdGEgPyBKU09OLnBhcnNlKGRhdGEpIDoge307XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBkYXRhID0ge307XG4gICAgfVxuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gd3JpdGVMb2NhbFN0b3JhZ2Uoa2V5LCB2YWx1ZSkge1xuICAgIGlmICghZG9jdW1lbnQuaGFzRm9jdXMoKSkge1xuICAgICAgICAvLyBpZiB0aGUgZG9jdW1lbnQgZG9lcyBub3QgaGF2ZSBmb2N1cyB3aGVuIHRlc3RzIGFyZSBleGVjdXRlZCwgZm9jdXMoKSBtYXlcbiAgICAgICAgLy8gbm90IGJlIGhhbmRsZWQgcHJvcGVybHkgYW5kIGV2ZW50cyBtYXkgbm90IGJlIGRpc3BhdGNoZWQgaW1tZWRpYXRlbHkuXG4gICAgICAgIC8vIFRoaXMgY2FuIGhhcHBlbiB3aGVuIGEgZG9jdW1lbnQgaXMgcmVsb2FkZWQgd2hpbGUgRGV2ZWxvcGVyIFRvb2xzIGhhdmUgZm9jdXMuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB3aW5kb3cubG9jYWxTdG9yYWdlICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIGlnbm9yZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgd2luZG93LmxvY2FsU3RvcmFnZSAmJiB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oa2V5LCBKU09OLnN0cmluZ2lmeSh2YWx1ZSkpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBpZ25vcmVcbiAgICB9XG59XG52YXIgdXNlckFnZW50ID0gdHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCB8fCBcIlwiO1xudmFyIGNhY2hlS2V5ID0gXCJhbGx5LXN1cHBvcnRzLWNhY2hlXCI7XG52YXIgY2FjaGUgPSByZWFkTG9jYWxTdG9yYWdlKGNhY2hlS2V5KTtcbi8vIHVwZGF0ZSB0aGUgY2FjaGUgaWYgYWxseSBvciB0aGUgdXNlciBhZ2VudCBjaGFuZ2VkIChuZXdlciB2ZXJzaW9uLCBldGMpXG5pZiAoY2FjaGUudXNlckFnZW50ICE9PSB1c2VyQWdlbnQgfHwgY2FjaGUudmVyc2lvbiAhPT0gdmVyc2lvbiQxKSB7XG4gICAgY2FjaGUgPSB7fTtcbn1cbmNhY2hlLnVzZXJBZ2VudCA9IHVzZXJBZ2VudDtcbmNhY2hlLnZlcnNpb24gPSB2ZXJzaW9uJDE7XG52YXIgY2FjaGUkMSA9IHtcbiAgICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlO1xuICAgIH0sXG4gICAgc2V0OiBmdW5jdGlvbiBzZXQodmFsdWVzKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHZhbHVlcykuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgICAgIGNhY2hlW2tleV0gPSB2YWx1ZXNba2V5XTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNhY2hlLnRpbWUgPSBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCk7XG4gICAgICAgIHdyaXRlTG9jYWxTdG9yYWdlKGNhY2hlS2V5LCBjYWNoZSk7XG4gICAgfVxufTtcbmZ1bmN0aW9uIGNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3IoKSB7XG4gICAgdmFyIGNvbWJpbmF0b3IgPSB2b2lkIDA7XG4gICAgLy8gc2VlIGh0dHBzOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Mtc2NvcGluZy0xLyNkZWVwLWNvbWJpbmF0b3JcbiAgICAvLyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTE3NTcyXG4gICAgLy8gaHR0cHM6Ly9jb2RlLmdvb2dsZS5jb20vcC9jaHJvbWl1bS9pc3N1ZXMvZGV0YWlsP2lkPTQ0NjA1MVxuICAgIHRyeSB7XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJodG1sID4+PiA6Zmlyc3QtY2hpbGRcIik7XG4gICAgICAgIGNvbWJpbmF0b3IgPSBcIj4+PlwiO1xuICAgIH0gY2F0Y2ggKG5vQXJyb3dBcnJvd0Fycm93KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBvbGQgc3ludGF4IHN1cHBvcnRlZCBhdCBsZWFzdCB1cCB0byBDaHJvbWUgNDFcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD00NDYwNTFcbiAgICAgICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJodG1sIC9kZWVwLyA6Zmlyc3QtY2hpbGRcIik7XG4gICAgICAgICAgICBjb21iaW5hdG9yID0gXCIvZGVlcC9cIjtcbiAgICAgICAgfSBjYXRjaCAobm9EZWVwKSB7XG4gICAgICAgICAgICBjb21iaW5hdG9yID0gXCJcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29tYmluYXRvcjtcbn1cbnZhciBnaWYgPSBcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBN1wiO1xuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLXVzZW1hcFxudmFyIGZvY3VzQXJlYUltZ1RhYmluZGV4ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8bWFwIG5hbWU9XCJpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiPicgKyAnPGFyZWEgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JyArICc8aW1nIHVzZW1hcD1cIiNpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiIHRhYmluZGV4PVwiLTFcIiBhbHQ9XCJcIiBzcmM9XCInICsgZ2lmICsgJ1wiPic7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJhcmVhXCIpO1xuICAgIH1cbn07XG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9IVE1ML0VsZW1lbnQvaW1nI2F0dHItdXNlbWFwXG52YXIgZm9jdXNBcmVhVGFiaW5kZXggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxtYXAgbmFtZT1cImltYWdlLW1hcC10YWJpbmRleC10ZXN0XCI+JyArICc8YXJlYSBocmVmPVwiI3ZvaWRcIiB0YWJpbmRleD1cIi0xXCIgc2hhcGU9XCJyZWN0XCIgY29vcmRzPVwiNjMsMTksMTQ0LDQ1XCI+PC9tYXA+JyArICc8aW1nIHVzZW1hcD1cIiNpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiIGFsdD1cIlwiIHNyYz1cIicgKyBnaWYgKyAnXCI+JztcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIHZhbGlkYXRlKGVsZW1lbnQsIGZvY3VzVGFyZ2V0LCBfZG9jdW1lbnQpIHtcbiAgICAgICAgaWYgKHBsYXRmb3JtLmlzLkdFQ0tPKSB7XG4gICAgICAgICAgICAvLyBmaXhlcyBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzM1XG4gICAgICAgICAgICAvLyBGaXJlZm94IGxvYWRzIHRoZSBEYXRhVVJJIGFzeW5jaHJvbm91c2x5LCBjYXVzaW5nIGEgZmFsc2UtbmVnYXRpdmVcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHZhciBmb2N1cyA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImFyZWFcIik7XG4gICAgICAgIGZvY3VzLmZvY3VzKCk7XG4gICAgICAgIHJldHVybiBfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZm9jdXM7XG4gICAgfVxufTtcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9pbWcjYXR0ci11c2VtYXBcbnZhciBmb2N1c0FyZWFXaXRob3V0SHJlZiA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPG1hcCBuYW1lPVwiaW1hZ2UtbWFwLWFyZWEtaHJlZi10ZXN0XCI+JyArICc8YXJlYSBzaGFwZT1cInJlY3RcIiBjb29yZHM9XCI2MywxOSwxNDQsNDVcIj48L21hcD4nICsgJzxpbWcgdXNlbWFwPVwiI2ltYWdlLW1hcC1hcmVhLWhyZWYtdGVzdFwiIGFsdD1cIlwiIHNyYz1cIicgKyBnaWYgKyAnXCI+JztcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImFyZWFcIik7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoZWxlbWVudCwgZm9jdXNUYXJnZXQsIF9kb2N1bWVudCkge1xuICAgICAgICBpZiAocGxhdGZvcm0uaXMuR0VDS08pIHtcbiAgICAgICAgICAgIC8vIGZpeGVzIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMzVcbiAgICAgICAgICAgIC8vIEZpcmVmb3ggbG9hZHMgdGhlIERhdGFVUkkgYXN5bmNocm9ub3VzbHksIGNhdXNpbmcgYSBmYWxzZS1uZWdhdGl2ZVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmb2N1c1RhcmdldDtcbiAgICB9XG59O1xudmFyIGZvY3VzQXVkaW9XaXRob3V0Q29udHJvbHMgPSB7XG4gICAgbmFtZTogXCJjYW4tZm9jdXMtYXVkaW8td2l0aG91dC1jb250cm9sc1wiLFxuICAgIGVsZW1lbnQ6IFwiYXVkaW9cIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICAvLyBpbnZhbGlkIG1lZGlhIGZpbGUgY2FuIHRyaWdnZXIgd2FybmluZyBpbiBjb25zb2xlLCBkYXRhLXVyaSB0byBwcmV2ZW50IEhUVFAgcmVxdWVzdFxuICAgICAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzcmNcIiwgZ2lmKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBJRTkgbWF5IHRocm93IFwiRXJyb3I6IE5vdCBpbXBsZW1lbnRlZFwiXG4gICAgICAgIH1cbiAgICB9XG59O1xudmFyIGludmFsaWRHaWYgPSBcImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8vWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlpaWlwiO1xuLy8gTk9URTogaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8zNVxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLXVzZW1hcFxudmFyIGZvY3VzQnJva2VuSW1hZ2VNYXAgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxtYXAgbmFtZT1cImJyb2tlbi1pbWFnZS1tYXAtdGVzdFwiPjxhcmVhIGhyZWY9XCIjdm9pZFwiIHNoYXBlPVwicmVjdFwiIGNvb3Jkcz1cIjYzLDE5LDE0NCw0NVwiPjwvbWFwPicgKyAnPGltZyB1c2VtYXA9XCIjYnJva2VuLWltYWdlLW1hcC10ZXN0XCIgYWx0PVwiXCIgc3JjPVwiJyArIGludmFsaWRHaWYgKyAnXCI+JztcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQucXVlcnlTZWxlY3RvcihcImFyZWFcIik7XG4gICAgfVxufTtcbi8vIENoaWxkcmVuIG9mIGZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIGRpc3BsYXk6ZmxleCBhcmUgZm9jdXNhYmxlIGluIElFMTAtMTFcbnZhciBmb2N1c0NoaWxkcmVuT2ZGb2N1c2FibGVGbGV4Ym94ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIFwiLTFcIik7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3R5bGVcIiwgXCJkaXNwbGF5OiAtd2Via2l0LWZsZXg7IGRpc3BsYXk6IC1tcy1mbGV4Ym94OyBkaXNwbGF5OiBmbGV4O1wiKTtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPHNwYW4gc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIj5oZWxsbzwvc3Bhbj4nO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwic3BhblwiKTtcbiAgICB9XG59O1xuLy8gZmllbGRzZXRbdGFiaW5kZXg9MF1bZGlzYWJsZWRdIHNob3VsZCBub3QgYmUgZm9jdXNhYmxlLCBidXQgQmxpbmsgYW5kIFdlYktpdCBkaXNhZ3JlZVxuLy8gQHNwZWNpZmljYXRpb24gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2Rpc2FibGVkLWVsZW1lbnRzLmh0bWwjY29uY2VwdC1lbGVtZW50LWRpc2FibGVkXG4vLyBAYnJvd3Nlci1pc3N1ZSBDaHJvbWl1bSBodHRwczovL2NyYnVnLmNvbS80NTM4NDdcbi8vIEBicm93c2VyLWlzc3VlIFdlYktpdCBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQxMDg2XG52YXIgZm9jdXNGaWVsZHNldERpc2FibGVkID0ge1xuICAgIGVsZW1lbnQ6IFwiZmllbGRzZXRcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgMCk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIiwgXCJkaXNhYmxlZFwiKTtcbiAgICB9XG59O1xudmFyIGZvY3VzRmllbGRzZXQgPSB7XG4gICAgZWxlbWVudDogXCJmaWVsZHNldFwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBcIjxsZWdlbmQ+bGVnZW5kPC9sZWdlbmQ+PHA+Y29udGVudDwvcD5cIjtcbiAgICB9XG59O1xuLy8gZWxlbWVudHMgd2l0aCBkaXNwbGF5OmZsZXggYXJlIGZvY3VzYWJsZSBpbiBJRTEwLTExXG52YXIgZm9jdXNGbGV4Ym94Q29udGFpbmVyID0ge1xuICAgIGVsZW1lbnQ6IFwic3BhblwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcImRpc3BsYXk6IC13ZWJraXQtZmxleDsgZGlzcGxheTogLW1zLWZsZXhib3g7IGRpc3BsYXk6IGZsZXg7XCIpO1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8c3BhbiBzdHlsZT1cImRpc3BsYXk6IGJsb2NrO1wiPmhlbGxvPC9zcGFuPic7XG4gICAgfVxufTtcbi8vIGZvcm1bdGFiaW5kZXg9MF1bZGlzYWJsZWRdIHNob3VsZCBiZSBmb2N1c2FibGUgYXMgdGhlXG4vLyBzcGVjaWZpY2F0aW9uIGRvZXNuJ3Qga25vdyB0aGUgZGlzYWJsZWQgYXR0cmlidXRlIG9uIHRoZSBmb3JtIGVsZW1lbnRcbi8vIEBzcGVjaWZpY2F0aW9uIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9mb3Jtcy5odG1sI3RoZS1mb3JtLWVsZW1lbnRcbnZhciBmb2N1c0Zvcm1EaXNhYmxlZCA9IHtcbiAgICBlbGVtZW50OiBcImZvcm1cIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgMCk7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGlzYWJsZWRcIiwgXCJkaXNhYmxlZFwiKTtcbiAgICB9XG59O1xuLy8gTk9URTogaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8zNVxuLy8gZml4ZXMgaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy8yMFxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLWlzbWFwXG52YXIgZm9jdXNJbWdJc21hcCA9IHtcbiAgICBlbGVtZW50OiBcImFcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaHJlZiA9IFwiI3ZvaWRcIjtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPGltZyBpc21hcCBzcmM9XCInICsgZ2lmICsgJ1wiIGFsdD1cIlwiPic7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbWdcIik7XG4gICAgfVxufTtcbi8vIE5PVEU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMzVcbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0hUTUwvRWxlbWVudC9pbWcjYXR0ci11c2VtYXBcbnZhciBmb2N1c0ltZ1VzZW1hcFRhYmluZGV4ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9ICc8bWFwIG5hbWU9XCJpbWFnZS1tYXAtdGFiaW5kZXgtdGVzdFwiPjxhcmVhIGhyZWY9XCIjdm9pZFwiIHNoYXBlPVwicmVjdFwiIGNvb3Jkcz1cIjYzLDE5LDE0NCw0NVwiPjwvbWFwPicgKyAnPGltZyB1c2VtYXA9XCIjaW1hZ2UtbWFwLXRhYmluZGV4LXRlc3RcIiB0YWJpbmRleD1cIi0xXCIgYWx0PVwiXCIgJyArICdzcmM9XCInICsgZ2lmICsgJ1wiPic7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbWdcIik7XG4gICAgfVxufTtcbnZhciBmb2N1c0luSGlkZGVuSWZyYW1lID0ge1xuICAgIGVsZW1lbnQ6IGZ1bmN0aW9uIGVsZW1lbnQod3JhcHBlciwgX2RvY3VtZW50KSB7XG4gICAgICAgIHZhciBpZnJhbWUgPSBfZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlmcmFtZVwiKTtcbiAgICAgICAgLy8gaWZyYW1lIG11c3QgYmUgcGFydCBvZiB0aGUgRE9NIGJlZm9yZSBhY2Nlc3NpbmcgdGhlIGNvbnRlbnRXaW5kb3cgaXMgcG9zc2libGVcbiAgICAgICAgd3JhcHBlci5hcHBlbmRDaGlsZChpZnJhbWUpO1xuICAgICAgICAvLyBjcmVhdGUgdGhlIGlmcmFtZSdzIGRlZmF1bHQgZG9jdW1lbnQgKDxodG1sPjxoZWFkPjwvaGVhZD48Ym9keT48L2JvZHk+PC9odG1sPilcbiAgICAgICAgdmFyIGlmcmFtZURvY3VtZW50ID0gaWZyYW1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQ7XG4gICAgICAgIGlmcmFtZURvY3VtZW50Lm9wZW4oKTtcbiAgICAgICAgaWZyYW1lRG9jdW1lbnQuY2xvc2UoKTtcbiAgICAgICAgcmV0dXJuIGlmcmFtZTtcbiAgICB9LFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGlmcmFtZSkge1xuICAgICAgICBpZnJhbWUuc3R5bGUudmlzaWJpbGl0eSA9IFwiaGlkZGVuXCI7XG4gICAgICAgIHZhciBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xuICAgICAgICB2YXIgaW5wdXQgPSBpZnJhbWVEb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiaW5wdXRcIik7XG4gICAgICAgIGlmcmFtZURvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQpO1xuICAgICAgICByZXR1cm4gaW5wdXQ7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoaWZyYW1lKSB7XG4gICAgICAgIHZhciBpZnJhbWVEb2N1bWVudCA9IGlmcmFtZS5jb250ZW50V2luZG93LmRvY3VtZW50O1xuICAgICAgICB2YXIgZm9jdXMgPSBpZnJhbWVEb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwiaW5wdXRcIik7XG4gICAgICAgIHJldHVybiBpZnJhbWVEb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBmb2N1cztcbiAgICB9XG59O1xudmFyIHJlc3VsdCA9ICFwbGF0Zm9ybS5pcy5XRUJLSVQ7XG5mdW5jdGlvbiBmb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCgpIHtcbiAgICByZXR1cm4gcmVzdWx0O1xufVxuLy8gRmlyZWZveCBhbGxvd3MgKmFueSogdmFsdWUgYW5kIHRyZWF0cyBpbnZhbGlkIHZhbHVlcyBsaWtlIHRhYmluZGV4PVwiLTFcIlxuLy8gQGJyb3dzZXItaXNzdWUgR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODA1NFxudmFyIGZvY3VzSW52YWxpZFRhYmluZGV4ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIFwiaW52YWxpZC12YWx1ZVwiKTtcbiAgICB9XG59O1xudmFyIGZvY3VzTGFiZWxUYWJpbmRleCA9IHtcbiAgICBlbGVtZW50OiBcImxhYmVsXCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInRhYmluZGV4XCIsIFwiLTFcIik7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoZWxlbWVudCwgZm9jdXNUYXJnZXQsIF9kb2N1bWVudCkge1xuICAgICAgICAvLyBmb3JjZSBsYXlvdXQgaW4gQ2hyb21lIDQ5LCBvdGhlcndpc2UgdGhlIGVsZW1lbnQgd29uJ3QgYmUgZm9jdXNhYmxlXG4gICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovIHZhciB2YXJpYWJsZVRvUHJldmVudERlYWRDb2RlRWxpbWluYXRpb24gPSBlbGVtZW50Lm9mZnNldEhlaWdodDtcbiAgICAgICAgLyogZXNsaW50LWVuYWJsZSBuby11bnVzZWQtdmFycyAqLyBlbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIHJldHVybiBfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudDtcbiAgICB9XG59O1xudmFyIHN2ZyA9IFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhodGJcIiArIFwiRzV6T25oc2FXNXJQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUwzaHNhVzVySWlCcFpEMGljM1puSWo0OGRHVjRkQ0I0UFNJeE1DSWdlVDBpTWpBaUlHbGtQU0pcIiArIFwiemRtY3RiR2x1YXkxMFpYaDBJajUwWlhoMFBDOTBaWGgwUGp3dmMzWm5QZz09XCI7XG4vLyBOb3RlOiBJRTEwIG9uIEJyb3dzZXJTdGFjayBkb2VzIG5vdCBsaWtlIHRoaXMgdGVzdFxudmFyIGZvY3VzT2JqZWN0U3ZnSGlkZGVuID0ge1xuICAgIGVsZW1lbnQ6IFwib2JqZWN0XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInR5cGVcIiwgXCJpbWFnZS9zdmcreG1sXCIpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcImRhdGFcIiwgc3ZnKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJ3aWR0aFwiLCBcIjIwMFwiKTtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJoZWlnaHRcIiwgXCI1MFwiKTtcbiAgICAgICAgZWxlbWVudC5zdHlsZS52aXNpYmlsaXR5ID0gXCJoaWRkZW5cIjtcbiAgICB9XG59O1xuLy8gTm90ZTogSUUxMCBvbiBCcm93c2VyU3RhY2sgZG9lcyBub3QgbGlrZSB0aGlzIHRlc3RcbnZhciBmb2N1c09iamVjdFN2ZyA9IHtcbiAgICBuYW1lOiBcImNhbi1mb2N1cy1vYmplY3Qtc3ZnXCIsXG4gICAgZWxlbWVudDogXCJvYmplY3RcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidHlwZVwiLCBcImltYWdlL3N2Zyt4bWxcIik7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwiZGF0YVwiLCBzdmcpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcIndpZHRoXCIsIFwiMjAwXCIpO1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcImhlaWdodFwiLCBcIjUwXCIpO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIHZhbGlkYXRlKGVsZW1lbnQsIGZvY3VzVGFyZ2V0LCBfZG9jdW1lbnQpIHtcbiAgICAgICAgaWYgKHBsYXRmb3JtLmlzLkdFQ0tPKSB7XG4gICAgICAgICAgICAvLyBGaXJlZm94IHNlZW1zIHRvIGJlIGhhbmRsaW5nIHRoZSBvYmplY3QgY3JlYXRpb24gYXN5bmNocm9ub3VzbHkgYW5kIHRoZXJlYnkgcHJvZHVjZXMgYSBmYWxzZSBuZWdhdGl2ZSB0ZXN0IHJlc3VsdC5cbiAgICAgICAgICAgIC8vIEJlY2F1c2Ugd2Uga25vdyBGaXJlZm94IGlzIGFibGUgdG8gZm9jdXMgb2JqZWN0IGVsZW1lbnRzIHJlZmVyZW5jaW5nIFNWR3MsIHdlIHNpbXBseSBjaGVhdCBieSBzbmlmZmluZyB0aGUgdXNlciBhZ2VudCBzdHJpbmdcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZWxlbWVudDtcbiAgICB9XG59O1xuLy8gRXZlcnkgRW52aXJvbm1lbnQgZXhjZXB0IElFOSBjb25zaWRlcnMgU1dGIG9iamVjdHMgZm9jdXNhYmxlXG52YXIgcmVzdWx0JDEgPSAhcGxhdGZvcm0uaXMuSUU5O1xuZnVuY3Rpb24gZm9jdXNPYmplY3RTd2YoKSB7XG4gICAgcmV0dXJuIHJlc3VsdCQxO1xufVxudmFyIGZvY3VzUmVkaXJlY3RJbWdVc2VtYXAgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxtYXAgbmFtZT1cImZvY3VzLXJlZGlyZWN0LWltZy11c2VtYXBcIj48YXJlYSBocmVmPVwiI3ZvaWRcIiBzaGFwZT1cInJlY3RcIiBjb29yZHM9XCI2MywxOSwxNDQsNDVcIj48L21hcD4nICsgJzxpbWcgdXNlbWFwPVwiI2ZvY3VzLXJlZGlyZWN0LWltZy11c2VtYXBcIiBhbHQ9XCJcIiAnICsgJ3NyYz1cIicgKyBnaWYgKyAnXCI+JztcbiAgICAgICAgLy8gZm9jdXMgdGhlIDxpbWc+LCBub3QgdGhlIDxkaXY+XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJpbWdcIik7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogZnVuY3Rpb24gdmFsaWRhdGUoZWxlbWVudCwgZm9jdXNUYXJnZXQsIF9kb2N1bWVudCkge1xuICAgICAgICB2YXIgdGFyZ2V0ID0gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwiYXJlYVwiKTtcbiAgICAgICAgcmV0dXJuIF9kb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSB0YXJnZXQ7XG4gICAgfVxufTtcbi8vIHNlZSBodHRwczovL2pzYmluLmNvbS9uZW5pcmlzYWdlL2VkaXQ/aHRtbCxqcyxjb25zb2xlLG91dHB1dFxudmFyIGZvY3VzUmVkaXJlY3RMZWdlbmQgPSB7XG4gICAgZWxlbWVudDogXCJmaWVsZHNldFwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPGxlZ2VuZD5sZWdlbmQ8L2xlZ2VuZD48aW5wdXQgdGFiaW5kZXg9XCItMVwiPjxpbnB1dCB0YWJpbmRleD1cIjBcIj4nO1xuICAgICAgICAvLyB0YWtlIGNhcmUgb2YgZm9jdXMgaW4gdmFsaWRhdGUoKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IGZ1bmN0aW9uIHZhbGlkYXRlKGVsZW1lbnQsIGZvY3VzVGFyZ2V0LCBfZG9jdW1lbnQpIHtcbiAgICAgICAgdmFyIGZvY3VzYWJsZSA9IGVsZW1lbnQucXVlcnlTZWxlY3RvcignaW5wdXRbdGFiaW5kZXg9XCItMVwiXScpO1xuICAgICAgICB2YXIgdGFiYmFibGUgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0W3RhYmluZGV4PVwiMFwiXScpO1xuICAgICAgICAvLyBGaXJlZm94IHJlcXVpcmVzIHRoaXMgdGVzdCB0byBmb2N1cyB0aGUgPGZpZWxkc2V0PiBmaXJzdCwgd2hpbGUgdGhpcyBpcyBub3QgbmVjZXNzYXJ5IGluXG4gICAgICAgIC8vIGh0dHBzOi8vanNiaW4uY29tL25lbmlyaXNhZ2UvZWRpdD9odG1sLGpzLGNvbnNvbGUsb3V0cHV0XG4gICAgICAgIGVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwibGVnZW5kXCIpLmZvY3VzKCk7XG4gICAgICAgIHJldHVybiBfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZm9jdXNhYmxlICYmIFwiZm9jdXNhYmxlXCIgfHwgX2RvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IHRhYmJhYmxlICYmIFwidGFiYmFibGVcIiB8fCBcIlwiO1xuICAgIH1cbn07XG4vLyBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzIxXG52YXIgZm9jdXNTY3JvbGxCb2R5ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LnNldEF0dHJpYnV0ZShcInN0eWxlXCIsIFwid2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDUwcHg7IG92ZXJmbG93OiBhdXRvO1wiKTtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPGRpdiBzdHlsZT1cIndpZHRoOiA1MDBweDsgaGVpZ2h0OiA0MHB4O1wiPnNjcm9sbGFibGUgY29udGVudDwvZGl2Pic7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJkaXZcIik7XG4gICAgfVxufTtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMjFcbnZhciBmb2N1c1Njcm9sbENvbnRhaW5lcldpdGhvdXRPdmVyZmxvdyA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcIndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4O1wiKTtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSAnPGRpdiBzdHlsZT1cIndpZHRoOiA1MDBweDsgaGVpZ2h0OiA0MHB4O1wiPnNjcm9sbGFibGUgY29udGVudDwvZGl2Pic7XG4gICAgfVxufTtcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMjFcbnZhciBmb2N1c1Njcm9sbENvbnRhaW5lciA9IHtcbiAgICBlbGVtZW50OiBcImRpdlwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJzdHlsZVwiLCBcIndpZHRoOiAxMDBweDsgaGVpZ2h0OiA1MHB4OyBvdmVyZmxvdzogYXV0bztcIik7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gJzxkaXYgc3R5bGU9XCJ3aWR0aDogNTAwcHg7IGhlaWdodDogNDBweDtcIj5zY3JvbGxhYmxlIGNvbnRlbnQ8L2Rpdj4nO1xuICAgIH1cbn07XG52YXIgZm9jdXNTdW1tYXJ5ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGV0YWlsc1wiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQpIHtcbiAgICAgICAgZWxlbWVudC5pbm5lckhUTUwgPSBcIjxzdW1tYXJ5PmZvbzwvc3VtbWFyeT48cD5jb250ZW50PC9wPlwiO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5maXJzdEVsZW1lbnRDaGlsZDtcbiAgICB9XG59O1xuZnVuY3Rpb24gbWFrZUZvY3VzYWJsZUZvcmVpZ25PYmplY3QoKSB7XG4gICAgLy8gQ29uc3RydWN0cyA8Zm9yZWlnbk9iamVjdCB3aWR0aD1cIjMwXCIgaGVpZ2h0PVwiMzBcIj48aW5wdXQgdHlwZT1cInRleHRcIi8+PC9mb3JlaWduT2JqZWN0PlxuICAgIC8vIHdpdGhvdXQgcmFpc2luZyBhIFRydXN0ZWQgVHlwZXMgdmlvbGF0aW9uXG4gICAgdmFyIGZvcmVpZ25PYmplY3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLCBcImZvcmVpZ25PYmplY3RcIik7XG4gICAgZm9yZWlnbk9iamVjdC53aWR0aC5iYXNlVmFsLnZhbHVlID0gMzA7XG4gICAgZm9yZWlnbk9iamVjdC5oZWlnaHQuYmFzZVZhbC52YWx1ZSA9IDMwO1xuICAgIGZvcmVpZ25PYmplY3QuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImlucHV0XCIpKTtcbiAgICBmb3JlaWduT2JqZWN0Lmxhc3RDaGlsZC50eXBlID0gXCJ0ZXh0XCI7XG4gICAgcmV0dXJuIGZvcmVpZ25PYmplY3Q7XG59XG5mdW5jdGlvbiBmb2N1c1N2Z0ZvcmVpZ25PYmplY3RIYWNrKGVsZW1lbnQpIHtcbiAgICAvLyBFZGdlMTMsIEVkZ2UxNDogZm9yZWlnbk9iamVjdCBmb2N1cyBoYWNrXG4gICAgLy8gaHR0cHM6Ly9qc2Jpbi5jb20va3VuZWhpbnVnaS9lZGl0P2h0bWwsanMsb3V0cHV0XG4gICAgLy8gaHR0cHM6Ly9qc2Jpbi5jb20vZmFqYWdpLzMvZWRpdD9odG1sLGpzLG91dHB1dFxuICAgIHZhciBpc1N2Z0VsZW1lbnQgPSBlbGVtZW50Lm93bmVyU1ZHRWxlbWVudCB8fCBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwic3ZnXCI7XG4gICAgaWYgKCFpc1N2Z0VsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBpbmplY3QgYW5kIGZvY3VzIGFuIDxpbnB1dD4gZWxlbWVudCBpbnRvIHRoZSBTVkcgZWxlbWVudCB0byByZWNlaXZlIGZvY3VzXG4gICAgdmFyIGZvcmVpZ25PYmplY3QgPSBtYWtlRm9jdXNhYmxlRm9yZWlnbk9iamVjdCgpO1xuICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZm9yZWlnbk9iamVjdCk7XG4gICAgdmFyIGlucHV0ID0gZm9yZWlnbk9iamVjdC5xdWVyeVNlbGVjdG9yKFwiaW5wdXRcIik7XG4gICAgaW5wdXQuZm9jdXMoKTtcbiAgICAvLyB1cG9uIGRpc2FibGluZyB0aGUgYWN0aXZlRWxlbWVudCwgSUUgYW5kIEVkZ2VcbiAgICAvLyB3aWxsIG5vdCBzaGlmdCBmb2N1cyB0byA8Ym9keT4gbGlrZSBhbGwgdGhlIG90aGVyXG4gICAgLy8gYnJvd3NlcnMsIGJ1dCBpbnN0ZWFkIGZpbmQgdGhlIGZpcnN0IGZvY3VzYWJsZVxuICAgIC8vIGFuY2VzdG9yIGFuZCBzaGlmdCBmb2N1cyB0byB0aGF0XG4gICAgaW5wdXQuZGlzYWJsZWQgPSB0cnVlO1xuICAgIC8vIGNsZWFuIHVwXG4gICAgZWxlbWVudC5yZW1vdmVDaGlsZChmb3JlaWduT2JqZWN0KTtcbiAgICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGdlbmVyYXRlKGVsZW1lbnQpIHtcbiAgICByZXR1cm4gJzxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiPicgKyBlbGVtZW50ICsgXCI8L3N2Zz5cIjtcbn1cbmZ1bmN0aW9uIGZvY3VzKGVsZW1lbnQpIHtcbiAgICBpZiAoZWxlbWVudC5mb2N1cykge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIEhUTUxFbGVtZW50LnByb3RvdHlwZS5mb2N1cy5jYWxsKGVsZW1lbnQpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgZm9jdXNTdmdGb3JlaWduT2JqZWN0SGFjayhlbGVtZW50KTtcbiAgICB9XG59XG5mdW5jdGlvbiB2YWxpZGF0ZShlbGVtZW50LCBmb2N1c1RhcmdldCwgX2RvY3VtZW50KSB7XG4gICAgZm9jdXMoZm9jdXNUYXJnZXQpO1xuICAgIHJldHVybiBfZG9jdW1lbnQuYWN0aXZlRWxlbWVudCA9PT0gZm9jdXNUYXJnZXQ7XG59XG52YXIgZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGUgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ2VuZXJhdGUoJzx0ZXh0IGZvY3VzYWJsZT1cInRydWVcIj5hPC90ZXh0PicpO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwidGV4dFwiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZVxufTtcbnZhciBmb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IGdlbmVyYXRlKCc8dGV4dCB0YWJpbmRleD1cIjBcIj5hPC90ZXh0PicpO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwidGV4dFwiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZVxufTtcbnZhciBmb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGUgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ2VuZXJhdGUoJzx0ZXh0IHRhYmluZGV4PVwiLTFcIj5hPC90ZXh0PicpO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5xdWVyeVNlbGVjdG9yKFwidGV4dFwiKTtcbiAgICB9LFxuICAgIHZhbGlkYXRlOiB2YWxpZGF0ZVxufTtcbnZhciBmb2N1c1N2Z1VzZVRhYmluZGV4ID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IGdlbmVyYXRlKFtcbiAgICAgICAgICAgICc8ZyBpZD1cImFsbHktdGVzdC10YXJnZXRcIj48YSB4bGluazpocmVmPVwiI3ZvaWRcIj48dGV4dD5saW5rPC90ZXh0PjwvYT48L2c+JyxcbiAgICAgICAgICAgICc8dXNlIHhsaW5rOmhyZWY9XCIjYWxseS10ZXN0LXRhcmdldFwiIHg9XCIwXCIgeT1cIjBcIiB0YWJpbmRleD1cIi0xXCIgLz4nXG4gICAgICAgIF0uam9pbihcIlwiKSk7XG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJ1c2VcIik7XG4gICAgfSxcbiAgICB2YWxpZGF0ZTogdmFsaWRhdGVcbn07XG52YXIgZm9jdXNTdmdGb3JlaWdub2JqZWN0VGFiaW5kZXggPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gZ2VuZXJhdGUoJzxmb3JlaWduT2JqZWN0IHRhYmluZGV4PVwiLTFcIj48aW5wdXQgdHlwZT1cInRleHRcIiAvPjwvZm9yZWlnbk9iamVjdD4nKTtcbiAgICAgICAgLy8gU2FmYXJpIDgncyBxdWVyc1NlbGVjdG9yKCkgY2FuJ3QgaWRlbnRpZnkgZm9yZWlnbk9iamVjdCwgYnV0IGdldEVsZW1lbnR5QnlUYWdOYW1lKCkgY2FuXG4gICAgICAgIHJldHVybiBlbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXCJmb3JlaWduT2JqZWN0XCIpIHx8IGVsZW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoXCJmb3JlaWduT2JqZWN0XCIpWzBdO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlXG59O1xuLy8gRmlyZWZveCBzZWVtcyB0byBiZSBoYW5kbGluZyB0aGUgU1ZHLWRvY3VtZW50LWluLWlmcmFtZSBjcmVhdGlvbiBhc3luY2hyb25vdXNseVxuLy8gYW5kIHRoZXJlYnkgcHJvZHVjZXMgYSBmYWxzZSBuZWdhdGl2ZSB0ZXN0IHJlc3VsdC4gVGh1cyB0aGUgdGVzdCBpcyBwb2ludGxlc3Ncbi8vIGFuZCB3ZSByZXNvcnQgdG8gVUEgc25pZmZpbmcgb25jZSBhZ2Fpbi5cbi8vIHNlZSBodHRwOi8vanNiaW4uY29tL3Z1bmFkb2hva28vMS9lZGl0P2pzLGNvbnNvbGUsb3V0cHV0XG52YXIgcmVzdWx0JDIgPSBCb29sZWFuKHBsYXRmb3JtLmlzLkdFQ0tPICYmIHR5cGVvZiBTVkdFbGVtZW50ICE9PSBcInVuZGVmaW5lZFwiICYmIFNWR0VsZW1lbnQucHJvdG90eXBlLmZvY3VzKTtcbmZ1bmN0aW9uIGZvY3VzU3ZnSW5JZnJhbWUoKSB7XG4gICAgcmV0dXJuIHJlc3VsdCQyO1xufVxudmFyIGZvY3VzU3ZnID0ge1xuICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICBlbGVtZW50LmlubmVySFRNTCA9IGdlbmVyYXRlKFwiXCIpO1xuICAgICAgICByZXR1cm4gZWxlbWVudC5maXJzdENoaWxkO1xuICAgIH0sXG4gICAgdmFsaWRhdGU6IHZhbGlkYXRlXG59O1xuLy8gRmlyZWZveCBhbGxvd3MgKmFueSogdmFsdWUgYW5kIHRyZWF0cyBpbnZhbGlkIHZhbHVlcyBsaWtlIHRhYmluZGV4PVwiLTFcIlxuLy8gQGJyb3dzZXItaXNzdWUgR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEyODA1NFxudmFyIGZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnMgPSB7XG4gICAgZWxlbWVudDogXCJkaXZcIixcbiAgICBtdXRhdGU6IGZ1bmN0aW9uIG11dGF0ZShlbGVtZW50KSB7XG4gICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwidGFiaW5kZXhcIiwgXCIzeFwiKTtcbiAgICB9XG59O1xudmFyIGZvY3VzVGFibGUgPSB7XG4gICAgZWxlbWVudDogXCJ0YWJsZVwiLFxuICAgIG11dGF0ZTogZnVuY3Rpb24gbXV0YXRlKGVsZW1lbnQsIHdyYXBwZXIsIF9kb2N1bWVudCkge1xuICAgICAgICAvLyBJRTkgaGFzIGEgcHJvYmxlbSByZXBsYWNpbmcgVEJPRFkgY29udGVudHMgd2l0aCBpbm5lckhUTUwuXG4gICAgICAgIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS84MDk3MDU1LzUxNTEyNFxuICAgICAgICAvLyBlbGVtZW50LmlubmVySFRNTCA9ICc8dHI+PHRkPmNlbGw8L3RkPjwvdHI+JztcbiAgICAgICAgdmFyIGZyYWdtZW50ID0gX2RvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtcbiAgICAgICAgZnJhZ21lbnQuaW5uZXJIVE1MID0gXCI8dHI+PHRkPmNlbGw8L3RkPjwvdHI+XCI7XG4gICAgICAgIGVsZW1lbnQuYXBwZW5kQ2hpbGQoZnJhZ21lbnQpO1xuICAgIH1cbn07XG52YXIgZm9jdXNWaWRlb1dpdGhvdXRDb250cm9scyA9IHtcbiAgICBlbGVtZW50OiBcInZpZGVvXCIsXG4gICAgbXV0YXRlOiBmdW5jdGlvbiBtdXRhdGUoZWxlbWVudCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgLy8gaW52YWxpZCBtZWRpYSBmaWxlIGNhbiB0cmlnZ2VyIHdhcm5pbmcgaW4gY29uc29sZSwgZGF0YS11cmkgdG8gcHJldmVudCBIVFRQIHJlcXVlc3RcbiAgICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKFwic3JjXCIsIGdpZik7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gSUU5IG1heSB0aHJvdyBcIkVycm9yOiBOb3QgaW1wbGVtZW50ZWRcIlxuICAgICAgICB9XG4gICAgfVxufTtcbi8vIGh0dHBzOi8vanNiaW4uY29tL3ZhZmFiYS8zL2VkaXQ/aHRtbCxqcyxjb25zb2xlLG91dHB1dFxudmFyIHJlc3VsdCQzID0gcGxhdGZvcm0uaXMuR0VDS08gfHwgcGxhdGZvcm0uaXMuVFJJREVOVCB8fCBwbGF0Zm9ybS5pcy5FREdFO1xuZnVuY3Rpb24gdGFic2VxdWVuY2VBcmVhQXRJbWdQb3NpdGlvbigpIHtcbiAgICByZXR1cm4gcmVzdWx0JDM7XG59XG52YXIgdGVzdENhbGxiYWNrcyA9IHtcbiAgICBjc3NTaGFkb3dQaWVyY2luZ0RlZXBDb21iaW5hdG9yOiBjc3NTaGFkb3dQaWVyY2luZ0RlZXBDb21iaW5hdG9yLFxuICAgIGZvY3VzSW5aZXJvRGltZW5zaW9uT2JqZWN0OiBmb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCxcbiAgICBmb2N1c09iamVjdFN3ZjogZm9jdXNPYmplY3RTd2YsXG4gICAgZm9jdXNTdmdJbklmcmFtZTogZm9jdXNTdmdJbklmcmFtZSxcbiAgICB0YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uOiB0YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uXG59O1xudmFyIHRlc3REZXNjcmlwdGlvbnMgPSB7XG4gICAgZm9jdXNBcmVhSW1nVGFiaW5kZXg6IGZvY3VzQXJlYUltZ1RhYmluZGV4LFxuICAgIGZvY3VzQXJlYVRhYmluZGV4OiBmb2N1c0FyZWFUYWJpbmRleCxcbiAgICBmb2N1c0FyZWFXaXRob3V0SHJlZjogZm9jdXNBcmVhV2l0aG91dEhyZWYsXG4gICAgZm9jdXNBdWRpb1dpdGhvdXRDb250cm9sczogZm9jdXNBdWRpb1dpdGhvdXRDb250cm9scyxcbiAgICBmb2N1c0Jyb2tlbkltYWdlTWFwOiBmb2N1c0Jyb2tlbkltYWdlTWFwLFxuICAgIGZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3g6IGZvY3VzQ2hpbGRyZW5PZkZvY3VzYWJsZUZsZXhib3gsXG4gICAgZm9jdXNGaWVsZHNldERpc2FibGVkOiBmb2N1c0ZpZWxkc2V0RGlzYWJsZWQsXG4gICAgZm9jdXNGaWVsZHNldDogZm9jdXNGaWVsZHNldCxcbiAgICBmb2N1c0ZsZXhib3hDb250YWluZXI6IGZvY3VzRmxleGJveENvbnRhaW5lcixcbiAgICBmb2N1c0Zvcm1EaXNhYmxlZDogZm9jdXNGb3JtRGlzYWJsZWQsXG4gICAgZm9jdXNJbWdJc21hcDogZm9jdXNJbWdJc21hcCxcbiAgICBmb2N1c0ltZ1VzZW1hcFRhYmluZGV4OiBmb2N1c0ltZ1VzZW1hcFRhYmluZGV4LFxuICAgIGZvY3VzSW5IaWRkZW5JZnJhbWU6IGZvY3VzSW5IaWRkZW5JZnJhbWUsXG4gICAgZm9jdXNJbnZhbGlkVGFiaW5kZXg6IGZvY3VzSW52YWxpZFRhYmluZGV4LFxuICAgIGZvY3VzTGFiZWxUYWJpbmRleDogZm9jdXNMYWJlbFRhYmluZGV4LFxuICAgIGZvY3VzT2JqZWN0U3ZnOiBmb2N1c09iamVjdFN2ZyxcbiAgICBmb2N1c09iamVjdFN2Z0hpZGRlbjogZm9jdXNPYmplY3RTdmdIaWRkZW4sXG4gICAgZm9jdXNSZWRpcmVjdEltZ1VzZW1hcDogZm9jdXNSZWRpcmVjdEltZ1VzZW1hcCxcbiAgICBmb2N1c1JlZGlyZWN0TGVnZW5kOiBmb2N1c1JlZGlyZWN0TGVnZW5kLFxuICAgIGZvY3VzU2Nyb2xsQm9keTogZm9jdXNTY3JvbGxCb2R5LFxuICAgIGZvY3VzU2Nyb2xsQ29udGFpbmVyV2l0aG91dE92ZXJmbG93OiBmb2N1c1Njcm9sbENvbnRhaW5lcldpdGhvdXRPdmVyZmxvdyxcbiAgICBmb2N1c1Njcm9sbENvbnRhaW5lcjogZm9jdXNTY3JvbGxDb250YWluZXIsXG4gICAgZm9jdXNTdW1tYXJ5OiBmb2N1c1N1bW1hcnksXG4gICAgZm9jdXNTdmdGb2N1c2FibGVBdHRyaWJ1dGU6IGZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlLFxuICAgIGZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGU6IGZvY3VzU3ZnVGFiaW5kZXhBdHRyaWJ1dGUsXG4gICAgZm9jdXNTdmdOZWdhdGl2ZVRhYmluZGV4QXR0cmlidXRlOiBmb2N1c1N2Z05lZ2F0aXZlVGFiaW5kZXhBdHRyaWJ1dGUsXG4gICAgZm9jdXNTdmdVc2VUYWJpbmRleDogZm9jdXNTdmdVc2VUYWJpbmRleCxcbiAgICBmb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleDogZm9jdXNTdmdGb3JlaWdub2JqZWN0VGFiaW5kZXgsXG4gICAgZm9jdXNTdmc6IGZvY3VzU3ZnLFxuICAgIGZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnM6IGZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnMsXG4gICAgZm9jdXNUYWJsZTogZm9jdXNUYWJsZSxcbiAgICBmb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzOiBmb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzXG59O1xuZnVuY3Rpb24gZXhlY3V0ZVRlc3RzKCkge1xuICAgIHZhciByZXN1bHRzID0gZGV0ZWN0Rm9jdXModGVzdERlc2NyaXB0aW9ucyk7XG4gICAgT2JqZWN0LmtleXModGVzdENhbGxiYWNrcykuZm9yRWFjaChmdW5jdGlvbihrZXkpIHtcbiAgICAgICAgcmVzdWx0c1trZXldID0gdGVzdENhbGxiYWNrc1trZXldKCk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdHM7XG59XG52YXIgc3VwcG9ydHNDYWNoZSA9IG51bGw7XG5mdW5jdGlvbiBfc3VwcG9ydHMoKSB7XG4gICAgaWYgKHN1cHBvcnRzQ2FjaGUpIHtcbiAgICAgICAgcmV0dXJuIHN1cHBvcnRzQ2FjaGU7XG4gICAgfVxuICAgIHN1cHBvcnRzQ2FjaGUgPSBjYWNoZSQxLmdldCgpO1xuICAgIGlmICghc3VwcG9ydHNDYWNoZS50aW1lKSB7XG4gICAgICAgIGNhY2hlJDEuc2V0KGV4ZWN1dGVUZXN0cygpKTtcbiAgICAgICAgc3VwcG9ydHNDYWNoZSA9IGNhY2hlJDEuZ2V0KCk7XG4gICAgfVxuICAgIHJldHVybiBzdXBwb3J0c0NhY2hlO1xufVxudmFyIHN1cHBvcnRzID0gdm9pZCAwO1xuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2luZnJhc3RydWN0dXJlLmh0bWwjcnVsZXMtZm9yLXBhcnNpbmctaW50ZWdlcnNcbi8vIE5PVEU6IGFsbCBicm93c2VycyBhZ3JlZSB0byBhbGxvdyB0cmFpbGluZyBzcGFjZXMgYXMgd2VsbFxudmFyIHZhbGlkSW50ZWdlclBhdHRlcm5Ob1RyYWlsaW5nID0gL15cXHMqKC18XFwrKT9bMC05XStcXHMqJC87XG52YXIgdmFsaWRJbnRlZ2VyUGF0dGVybldpdGhUcmFpbGluZyA9IC9eXFxzKigtfFxcKyk/WzAtOV0rLiokLztcbmZ1bmN0aW9uIGlzVmFsaWRUYWJpbmRleChjb250ZXh0KSB7XG4gICAgaWYgKCFzdXBwb3J0cykge1xuICAgICAgICBzdXBwb3J0cyA9IF9zdXBwb3J0cygpO1xuICAgIH1cbiAgICB2YXIgdmFsaWRJbnRlZ2VyUGF0dGVybiA9IHN1cHBvcnRzLmZvY3VzVGFiaW5kZXhUcmFpbGluZ0NoYXJhY3RlcnMgPyB2YWxpZEludGVnZXJQYXR0ZXJuV2l0aFRyYWlsaW5nIDogdmFsaWRJbnRlZ2VyUGF0dGVybk5vVHJhaWxpbmc7XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvdmFsaWQtdGFiaW5kZXhcIixcbiAgICAgICAgcmVzb2x2ZURvY3VtZW50OiB0cnVlLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgLy8gRWRnZSAxNCBoYXMgYSBjYXBpdGFsaXphdGlvbiBwcm9ibGVtIG9uIFNWRyBlbGVtZW50cyxcbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubWljcm9zb2Z0LmNvbS9lbi11cy9taWNyb3NvZnQtZWRnZS9wbGF0Zm9ybS9pc3N1ZXMvOTI4MjA1OC9cbiAgICB2YXIgaGFzVGFiaW5kZXggPSBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInRhYmluZGV4XCIpO1xuICAgIHZhciBoYXNUYWJJbmRleCA9IGVsZW1lbnQuaGFzQXR0cmlidXRlKFwidGFiSW5kZXhcIik7XG4gICAgaWYgKCFoYXNUYWJpbmRleCAmJiAhaGFzVGFiSW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBvbGRlciBGaXJlZm94IGFuZCBJbnRlcm5ldCBFeHBsb3JlciBkb24ndCBzdXBwb3J0IHRhYmluZGV4IG9uIFNWRyBlbGVtZW50c1xuICAgIHZhciBpc1N2Z0VsZW1lbnQgPSBlbGVtZW50Lm93bmVyU1ZHRWxlbWVudCB8fCBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwic3ZnXCI7XG4gICAgaWYgKGlzU3ZnRWxlbWVudCAmJiAhc3VwcG9ydHMuZm9jdXNTdmdUYWJpbmRleEF0dHJpYnV0ZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIEBicm93c2VyLWlzc3VlIEdlY2tvIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTExMjgwNTRcbiAgICBpZiAoc3VwcG9ydHMuZm9jdXNJbnZhbGlkVGFiaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIC8vIGFuIGVsZW1lbnQgbWF0Y2hlcyB0aGUgdGFiaW5kZXggc2VsZWN0b3IgZXZlbiBpZiBpdHMgdmFsdWUgaXMgaW52YWxpZFxuICAgIHZhciB0YWJpbmRleCA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKGhhc1RhYmluZGV4ID8gXCJ0YWJpbmRleFwiIDogXCJ0YWJJbmRleFwiKTtcbiAgICAvLyBJRTExIHBhcnNlcyB0YWJpbmRleD1cIlwiIGFzIHRoZSB2YWx1ZSBcIi0zMjc2OFwiXG4gICAgLy8gQGJyb3dzZXItaXNzdWUgVHJpZGVudCBodHRwczovL2Nvbm5lY3QubWljcm9zb2Z0LmNvbS9JRS9mZWVkYmFjay9kZXRhaWxzLzEwNzI5NjVcbiAgICBpZiAodGFiaW5kZXggPT09IFwiLTMyNzY4XCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gQm9vbGVhbih0YWJpbmRleCAmJiB2YWxpZEludGVnZXJQYXR0ZXJuLnRlc3QodGFiaW5kZXgpKTtcbn1cbmZ1bmN0aW9uIHRhYmluZGV4VmFsdWUoZWxlbWVudCkge1xuICAgIGlmICghaXNWYWxpZFRhYmluZGV4KGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBFZGdlIDE0IGhhcyBhIGNhcGl0YWxpemF0aW9uIHByb2JsZW0gb24gU1ZHIGVsZW1lbnRzLFxuICAgIC8vIHNlZSBodHRwczovL2RldmVsb3Blci5taWNyb3NvZnQuY29tL2VuLXVzL21pY3Jvc29mdC1lZGdlL3BsYXRmb3JtL2lzc3Vlcy85MjgyMDU4L1xuICAgIHZhciBoYXNUYWJpbmRleCA9IGVsZW1lbnQuaGFzQXR0cmlidXRlKFwidGFiaW5kZXhcIik7XG4gICAgdmFyIGF0dHJpYnV0ZU5hbWUgPSBoYXNUYWJpbmRleCA/IFwidGFiaW5kZXhcIiA6IFwidGFiSW5kZXhcIjtcbiAgICAvLyBAYnJvd3Nlci1pc3N1ZSBHZWNrbyBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMTI4MDU0XG4gICAgdmFyIHRhYmluZGV4ID0gcGFyc2VJbnQoZWxlbWVudC5nZXRBdHRyaWJ1dGUoYXR0cmlidXRlTmFtZSksIDEwKTtcbiAgICByZXR1cm4gaXNOYU4odGFiaW5kZXgpID8gLTEgOiB0YWJpbmRleDtcbn1cbi8vIHRoaXMgaXMgYSBzaGFyZWQgdXRpbGl0eSBmaWxlIGZvciBmb2N1cy1yZWxldmFudC5qcyBhbmQgdGFiYmFibGUuanNcbi8vIHNlcGFyYXRlIHRlc3Rpbmcgb2YgdGhpcyBmaWxlJ3MgZnVuY3Rpb25zIGlzIG5vdCBuZWNlc3NhcnksXG4vLyBhcyB0aGV5J3JlIGltcGxpY2l0bHkgdGVzdGVkIGJ5IHdheSBvZiB0aGUgY29uc3VtZXJzXG5mdW5jdGlvbiBpc1VzZXJNb2RpZnlXcml0YWJsZShzdHlsZSkge1xuICAgIC8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi8xOTk5L1dELWNzczMtdXNlcmludC0xOTk5MDkxNiN1c2VyLW1vZGlmeVxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMTdcbiAgICB2YXIgdXNlck1vZGlmeSA9IHN0eWxlLndlYmtpdFVzZXJNb2RpZnkgfHwgXCJcIjtcbiAgICByZXR1cm4gQm9vbGVhbih1c2VyTW9kaWZ5ICYmIHVzZXJNb2RpZnkuaW5kZXhPZihcIndyaXRlXCIpICE9PSAtMSk7XG59XG5mdW5jdGlvbiBoYXNDc3NPdmVyZmxvd1Njcm9sbChzdHlsZSkge1xuICAgIHJldHVybiBbXG4gICAgICAgIHN0eWxlLmdldFByb3BlcnR5VmFsdWUoXCJvdmVyZmxvd1wiKSxcbiAgICAgICAgc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShcIm92ZXJmbG93LXhcIiksXG4gICAgICAgIHN0eWxlLmdldFByb3BlcnR5VmFsdWUoXCJvdmVyZmxvdy15XCIpXG4gICAgXS5zb21lKGZ1bmN0aW9uKG92ZXJmbG93KSB7XG4gICAgICAgIHJldHVybiBvdmVyZmxvdyA9PT0gXCJhdXRvXCIgfHwgb3ZlcmZsb3cgPT09IFwic2Nyb2xsXCI7XG4gICAgfSk7XG59XG5mdW5jdGlvbiBoYXNDc3NEaXNwbGF5RmxleChzdHlsZSkge1xuICAgIHJldHVybiBzdHlsZS5kaXNwbGF5LmluZGV4T2YoXCJmbGV4XCIpID4gLTE7XG59XG5mdW5jdGlvbiBpc1Njcm9sbGFibGVDb250YWluZXIoZWxlbWVudCwgbm9kZU5hbWUsIHBhcmVudE5vZGVOYW1lLCBwYXJlbnRTdHlsZSkge1xuICAgIGlmIChub2RlTmFtZSAhPT0gXCJkaXZcIiAmJiBub2RlTmFtZSAhPT0gXCJzcGFuXCIpIHtcbiAgICAgICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgYWR2YW5jZXMgc2Nyb2xsYWJsZSBjb250YWluZXJzIGFuZCBib2RpZXMgdG8gZm9jdXNhYmxlXG4gICAgICAgIC8vIG9ubHkgaWYgdGhlIHNjcm9sbGFibGUgY29udGFpbmVyIGlzIDxkaXY+IG9yIDxzcGFuPiAtIHRoaXMgZG9lcyAqbm90KlxuICAgICAgICAvLyBoYXBwZW4gZm9yIDxzZWN0aW9uPiwgPGFydGljbGU+LCDigKZcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAocGFyZW50Tm9kZU5hbWUgJiYgcGFyZW50Tm9kZU5hbWUgIT09IFwiZGl2XCIgJiYgcGFyZW50Tm9kZU5hbWUgIT09IFwic3BhblwiICYmICFoYXNDc3NPdmVyZmxvd1Njcm9sbChwYXJlbnRTdHlsZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudC5vZmZzZXRIZWlnaHQgPCBlbGVtZW50LnNjcm9sbEhlaWdodCB8fCBlbGVtZW50Lm9mZnNldFdpZHRoIDwgZWxlbWVudC5zY3JvbGxXaWR0aDtcbn1cbnZhciBzdXBwb3J0cyQxID0gdm9pZCAwO1xuZnVuY3Rpb24gaXNGb2N1c1JlbGV2YW50UnVsZXMoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBfcmVmJGV4Y2VwdCA9IF9yZWYuZXhjZXB0LCBleGNlcHQgPSBfcmVmJGV4Y2VwdCA9PT0gdW5kZWZpbmVkID8ge1xuICAgICAgICBmbGV4Ym94OiBmYWxzZSxcbiAgICAgICAgc2Nyb2xsYWJsZTogZmFsc2UsXG4gICAgICAgIHNoYWRvdzogZmFsc2VcbiAgICB9IDogX3JlZiRleGNlcHQ7XG4gICAgaWYgKCFzdXBwb3J0cyQxKSB7XG4gICAgICAgIHN1cHBvcnRzJDEgPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvZm9jdXMtcmVsZXZhbnRcIixcbiAgICAgICAgcmVzb2x2ZURvY3VtZW50OiB0cnVlLFxuICAgICAgICBjb250ZXh0OiBjb250ZXh0XG4gICAgfSk7XG4gICAgaWYgKCFleGNlcHQuc2hhZG93ICYmIGVsZW1lbnQuc2hhZG93Um9vdCkge1xuICAgICAgICAvLyBhIFNoYWRvd0RPTSBob3N0IHJlY2VpdmVzIGZvY3VzIHdoZW4gdGhlIGZvY3VzIG1vdmVzIHRvIGl0cyBjb250ZW50XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImlucHV0XCIgJiYgZWxlbWVudC50eXBlID09PSBcImhpZGRlblwiKSB7XG4gICAgICAgIC8vIGlucHV0W3R5cGU9XCJoaWRkZW5cIl0gc3VwcG9ydHMuY2Fubm90IGJlIGZvY3VzZWRcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwiaW5wdXRcIiB8fCBub2RlTmFtZSA9PT0gXCJzZWxlY3RcIiB8fCBub2RlTmFtZSA9PT0gXCJidXR0b25cIiB8fCBub2RlTmFtZSA9PT0gXCJ0ZXh0YXJlYVwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwibGVnZW5kXCIgJiYgc3VwcG9ydHMkMS5mb2N1c1JlZGlyZWN0TGVnZW5kKSB7XG4gICAgICAgIC8vIHNwZWNpZmljcyBmaWx0ZXJlZCBpbiBpcy9mb2N1c2FibGVcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJsYWJlbFwiKSB7XG4gICAgICAgIC8vIHNwZWNpZmljcyBmaWx0ZXJlZCBpbiBpcy9mb2N1c2FibGVcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJhcmVhXCIpIHtcbiAgICAgICAgLy8gc3BlY2lmaWNzIGZpbHRlcmVkIGluIGlzL2ZvY3VzYWJsZVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImFcIiAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImhyZWZcIikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJvYmplY3RcIiAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInVzZW1hcFwiKSkge1xuICAgICAgICAvLyBvYmplY3RbdXNlbWFwXSBpcyBub3QgZm9jdXNhYmxlIGluIGFueSBicm93c2VyXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHZhciBzdmdUeXBlID0gZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJ0eXBlXCIpO1xuICAgICAgICBpZiAoIXN1cHBvcnRzJDEuZm9jdXNPYmplY3RTdmcgJiYgc3ZnVHlwZSA9PT0gXCJpbWFnZS9zdmcreG1sXCIpIHtcbiAgICAgICAgICAgIC8vIG9iamVjdFt0eXBlPVwiaW1hZ2Uvc3ZnK3htbFwiXSBpcyBub3QgZm9jdXNhYmxlIGluIEludGVybmV0IEV4cGxvcmVyXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSBpZiAoIXN1cHBvcnRzJDEuZm9jdXNPYmplY3RTd2YgJiYgc3ZnVHlwZSA9PT0gXCJhcHBsaWNhdGlvbi94LXNob2Nrd2F2ZS1mbGFzaFwiKSB7XG4gICAgICAgICAgICAvLyBvYmplY3RbdHlwZT1cImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoXCJdIGlzIG5vdCBmb2N1c2FibGUgaW4gSW50ZXJuZXQgRXhwbG9yZXIgOVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJpZnJhbWVcIiB8fCBub2RlTmFtZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAvLyBicm93c2luZyBjb250ZXh0IGNvbnRhaW5lcnNcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJlbWJlZFwiIHx8IG5vZGVOYW1lID09PSBcImtleWdlblwiKSB7XG4gICAgICAgIC8vIGVtYmVkIGlzIGNvbnNpZGVyZWQgZm9jdXMtcmVsZXZhbnQgYnV0IG5vdCBmb2N1c2FibGVcbiAgICAgICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvODJcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiKSkge1xuICAgICAgICAvLyBhbHNvIHNlZSBDU1MgcHJvcGVydHkgdXNlci1tb2RpZnkgYmVsb3dcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJhdWRpb1wiICYmIChzdXBwb3J0cyQxLmZvY3VzQXVkaW9XaXRob3V0Q29udHJvbHMgfHwgZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJjb250cm9sc1wiKSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJ2aWRlb1wiICYmIChzdXBwb3J0cyQxLmZvY3VzVmlkZW9XaXRob3V0Q29udHJvbHMgfHwgZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJjb250cm9sc1wiKSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChzdXBwb3J0cyQxLmZvY3VzU3VtbWFyeSAmJiBub2RlTmFtZSA9PT0gXCJzdW1tYXJ5XCIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHZhciB2YWxpZFRhYmluZGV4ID0gaXNWYWxpZFRhYmluZGV4KGVsZW1lbnQpO1xuICAgIGlmIChub2RlTmFtZSA9PT0gXCJpbWdcIiAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInVzZW1hcFwiKSkge1xuICAgICAgICAvLyBHZWNrbywgVHJpZGVudCBhbmQgRWRnZSBkbyBub3QgYWxsb3cgYW4gaW1hZ2Ugd2l0aCBhbiBpbWFnZSBtYXAgYW5kIHRhYmluZGV4IHRvIGJlIGZvY3VzZWQsXG4gICAgICAgIC8vIGl0IGFwcGVhcnMgdGhlIHRhYmluZGV4IGlzIG92ZXJydWxlZCBzbyBmb2N1cyBpcyBzdGlsbCBmb3J3YXJkZWQgdG8gdGhlIDxtYXA+XG4gICAgICAgIHJldHVybiB2YWxpZFRhYmluZGV4ICYmIHN1cHBvcnRzJDEuZm9jdXNJbWdVc2VtYXBUYWJpbmRleCB8fCBzdXBwb3J0cyQxLmZvY3VzUmVkaXJlY3RJbWdVc2VtYXA7XG4gICAgfVxuICAgIGlmIChzdXBwb3J0cyQxLmZvY3VzVGFibGUgJiYgKG5vZGVOYW1lID09PSBcInRhYmxlXCIgfHwgbm9kZU5hbWUgPT09IFwidGRcIikpIHtcbiAgICAgICAgLy8gSUUxMC0xMSBzdXBwb3J0cy5jYW4gZm9jdXMgPHRhYmxlPiBhbmQgPHRkPlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNGaWVsZHNldCAmJiBub2RlTmFtZSA9PT0gXCJmaWVsZHNldFwiKSB7XG4gICAgICAgIC8vIElFMTAtMTEgc3VwcG9ydHMuY2FuIGZvY3VzIDxmaWVsZHNldD5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHZhciBpc1N2Z0VsZW1lbnQgPSBub2RlTmFtZSA9PT0gXCJzdmdcIjtcbiAgICB2YXIgaXNTdmdDb250ZW50ID0gZWxlbWVudC5vd25lclNWR0VsZW1lbnQ7XG4gICAgdmFyIGZvY3VzYWJsZUF0dHJpYnV0ZSA9IGVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiZm9jdXNhYmxlXCIpO1xuICAgIHZhciB0YWJpbmRleCA9IHRhYmluZGV4VmFsdWUoZWxlbWVudCk7XG4gICAgaWYgKG5vZGVOYW1lID09PSBcInVzZVwiICYmIHRhYmluZGV4ICE9PSBudWxsICYmICFzdXBwb3J0cyQxLmZvY3VzU3ZnVXNlVGFiaW5kZXgpIHtcbiAgICAgICAgLy8gPHVzZT4gY2Fubm90IGJlIG1hZGUgZm9jdXNhYmxlIGJ5IGFkZGluZyBhIHRhYmluZGV4IGF0dHJpYnV0ZSBhbnl3aGVyZSBidXQgQmxpbmsgYW5kIFdlYktpdFxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJmb3JlaWdub2JqZWN0XCIpIHtcbiAgICAgICAgLy8gPHVzZT4gY2FuIG9ubHkgYmUgbWFkZSBmb2N1c2FibGUgaW4gQmxpbmsgYW5kIFdlYktpdFxuICAgICAgICByZXR1cm4gdGFiaW5kZXggIT09IG51bGwgJiYgc3VwcG9ydHMkMS5mb2N1c1N2Z0ZvcmVpZ25vYmplY3RUYWJpbmRleDtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnRNYXRjaGVzKGVsZW1lbnQsIFwic3ZnIGFcIikgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJ4bGluazpocmVmXCIpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoKGlzU3ZnRWxlbWVudCB8fCBpc1N2Z0NvbnRlbnQpICYmIGVsZW1lbnQuZm9jdXMgJiYgIXN1cHBvcnRzJDEuZm9jdXNTdmdOZWdhdGl2ZVRhYmluZGV4QXR0cmlidXRlICYmIHRhYmluZGV4IDwgMCkge1xuICAgICAgICAvLyBGaXJlZm94IDUxIGFuZCA1MiB0cmVhdCBhbnkgbmF0aXZlbHkgdGFiYmFibGUgU1ZHIGVsZW1lbnQgd2l0aFxuICAgICAgICAvLyB0YWJpbmRleD1cIi0xXCIgYXMgdGFiYmFibGUgYW5kIGV2ZXJ5dGhpbmcgZWxzZSBhcyBpbmVydFxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMwMjM0MFxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChpc1N2Z0VsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkVGFiaW5kZXggfHwgc3VwcG9ydHMkMS5mb2N1c1N2ZyB8fCBzdXBwb3J0cyQxLmZvY3VzU3ZnSW5JZnJhbWUgfHwgLy8gSW50ZXJuZXQgRXhwbG9yZXIgdW5kZXJzdGFuZHMgdGhlIGZvY3VzYWJsZSBhdHRyaWJ1dGUgaW50cm9kdWNlZCBpbiBTVkcgVGlueSAxLjJcbiAgICAgICAgQm9vbGVhbihzdXBwb3J0cyQxLmZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlICYmIGZvY3VzYWJsZUF0dHJpYnV0ZSAmJiBmb2N1c2FibGVBdHRyaWJ1dGUgPT09IFwidHJ1ZVwiKTtcbiAgICB9XG4gICAgaWYgKGlzU3ZnQ29udGVudCkge1xuICAgICAgICBpZiAoc3VwcG9ydHMkMS5mb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlICYmIHZhbGlkVGFiaW5kZXgpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdXBwb3J0cyQxLmZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlKSB7XG4gICAgICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciB1bmRlcnN0YW5kcyB0aGUgZm9jdXNhYmxlIGF0dHJpYnV0ZSBpbnRyb2R1Y2VkIGluIFNWRyBUaW55IDEuMlxuICAgICAgICAgICAgcmV0dXJuIGZvY3VzYWJsZUF0dHJpYnV0ZSA9PT0gXCJ0cnVlXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2VkaXRpbmcuaHRtbCNzZXF1ZW50aWFsLWZvY3VzLW5hdmlnYXRpb24tYW5kLXRoZS10YWJpbmRleC1hdHRyaWJ1dGVcbiAgICBpZiAodmFsaWRUYWJpbmRleCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIHN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCk7XG4gICAgaWYgKGlzVXNlck1vZGlmeVdyaXRhYmxlKHN0eWxlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNJbWdJc21hcCAmJiBub2RlTmFtZSA9PT0gXCJpbWdcIiAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImlzbWFwXCIpKSB7XG4gICAgICAgIC8vIElFMTAtMTEgY29uc2lkZXJzIHRoZSA8aW1nPiBpbiA8YSBocmVmPjxpbWcgaXNtYXA+IGZvY3VzYWJsZVxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzIwXG4gICAgICAgIHZhciBoYXNMaW5rUGFyZW50ID0gZ2V0UGFyZW50cyh7XG4gICAgICAgICAgICBjb250ZXh0OiBlbGVtZW50XG4gICAgICAgIH0pLnNvbWUoZnVuY3Rpb24ocGFyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkgPT09IFwiYVwiICYmIHBhcmVudC5oYXNBdHRyaWJ1dGUoXCJocmVmXCIpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKGhhc0xpbmtQYXJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMjFcbiAgICBpZiAoIWV4Y2VwdC5zY3JvbGxhYmxlICYmIHN1cHBvcnRzJDEuZm9jdXNTY3JvbGxDb250YWluZXIpIHtcbiAgICAgICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNTY3JvbGxDb250YWluZXJXaXRob3V0T3ZlcmZsb3cpIHtcbiAgICAgICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIGRvZXMgd2lsbCBjb25zaWRlciB0aGUgc2Nyb2xsYWJsZSBhcmVhIGZvY3VzYWJsZVxuICAgICAgICAgICAgLy8gaWYgdGhlIGVsZW1lbnQgaXMgYSA8ZGl2PiBvciBhIDxzcGFuPiBhbmQgaXQgaXMgaW4gZmFjdCBzY3JvbGxhYmxlLFxuICAgICAgICAgICAgLy8gcmVnYXJkbGVzcyBvZiB0aGUgQ1NTIG92ZXJmbG93IHByb3BlcnR5XG4gICAgICAgICAgICBpZiAoaXNTY3JvbGxhYmxlQ29udGFpbmVyKGVsZW1lbnQsIG5vZGVOYW1lKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGhhc0Nzc092ZXJmbG93U2Nyb2xsKHN0eWxlKSkge1xuICAgICAgICAgICAgLy8gRmlyZWZveCByZXF1aXJlcyBwcm9wZXIgb3ZlcmZsb3cgc2V0dGluZywgSUUgZG9lcyBub3QgbmVjZXNzYXJpbHlcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0NTUy9vdmVyZmxvd1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFleGNlcHQuZmxleGJveCAmJiBzdXBwb3J0cyQxLmZvY3VzRmxleGJveENvbnRhaW5lciAmJiBoYXNDc3NEaXNwbGF5RmxleChzdHlsZSkpIHtcbiAgICAgICAgLy8gZWxlbWVudHMgd2l0aCBkaXNwbGF5OmZsZXggYXJlIGZvY3VzYWJsZSBpbiBJRTEwLTExXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgIGlmICghZXhjZXB0LnNjcm9sbGFibGUgJiYgcGFyZW50KSB7XG4gICAgICAgIHZhciBwYXJlbnROb2RlTmFtZSA9IHBhcmVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICB2YXIgcGFyZW50U3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShwYXJlbnQsIG51bGwpO1xuICAgICAgICBpZiAoc3VwcG9ydHMkMS5mb2N1c1Njcm9sbEJvZHkgJiYgaXNTY3JvbGxhYmxlQ29udGFpbmVyKHBhcmVudCwgbm9kZU5hbWUsIHBhcmVudE5vZGVOYW1lLCBwYXJlbnRTdHlsZSkpIHtcbiAgICAgICAgICAgIC8vIHNjcm9sbGFibGUgYm9kaWVzIGFyZSBmb2N1c2FibGUgSW50ZXJuZXQgRXhwbG9yZXJcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMjFcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIENoaWxkcmVuIG9mIGZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIGRpc3BsYXk6ZmxleCBhcmUgZm9jdXNhYmxlIGluIElFMTAtMTFcbiAgICAgICAgaWYgKHN1cHBvcnRzJDEuZm9jdXNDaGlsZHJlbk9mRm9jdXNhYmxlRmxleGJveCkge1xuICAgICAgICAgICAgaWYgKGhhc0Nzc0Rpc3BsYXlGbGV4KHBhcmVudFN0eWxlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE5PVEU6IGVsZW1lbnRzIG1hcmtlZCBhcyBpbmVydCBhcmUgbm90IGZvY3VzYWJsZSxcbiAgICAvLyBidXQgdGhhdCBwcm9wZXJ0eSBpcyBub3QgZXhwb3NlZCB0byB0aGUgRE9NXG4gICAgLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2VkaXRpbmcuaHRtbCNpbmVydFxuICAgIHJldHVybiBmYWxzZTtcbn1cbi8vIGJpbmQgZXhjZXB0aW9ucyB0byBhbiBpdGVyYXRvciBjYWxsYmFja1xuaXNGb2N1c1JlbGV2YW50UnVsZXMuZXhjZXB0ID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIGV4Y2VwdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge307XG4gICAgdmFyIGlzRm9jdXNSZWxldmFudCA9IGZ1bmN0aW9uIGlzRm9jdXNSZWxldmFudChjb250ZXh0KSB7XG4gICAgICAgIHJldHVybiBpc0ZvY3VzUmVsZXZhbnRSdWxlcyh7XG4gICAgICAgICAgICBjb250ZXh0OiBjb250ZXh0LFxuICAgICAgICAgICAgZXhjZXB0OiBleGNlcHRcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBpc0ZvY3VzUmVsZXZhbnQucnVsZXMgPSBpc0ZvY3VzUmVsZXZhbnRSdWxlcztcbiAgICByZXR1cm4gaXNGb2N1c1JlbGV2YW50O1xufTtcbi8vIHByb3ZpZGUgaXNGb2N1c1JlbGV2YW50KGNvbnRleHQpIGFzIGRlZmF1bHQgaXRlcmF0b3IgY2FsbGJhY2tcbnZhciBpc0ZvY3VzUmVsZXZhbnQgPSBpc0ZvY3VzUmVsZXZhbnRSdWxlcy5leGNlcHQoe30pO1xuZnVuY3Rpb24gZmluZEluZGV4KGFycmF5LCBjYWxsYmFjaykge1xuICAgIC8vIGF0dGVtcHQgdG8gdXNlIG5hdGl2ZSBvciBwb2x5ZmlsbGVkIEFycmF5I2ZpbmRJbmRleCBmaXJzdFxuICAgIGlmIChhcnJheS5maW5kSW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIGFycmF5LmZpbmRJbmRleChjYWxsYmFjayk7XG4gICAgfVxuICAgIHZhciBsZW5ndGggPSBhcnJheS5sZW5ndGg7XG4gICAgLy8gc2hvcnRjdXQgaWYgdGhlIGFycmF5IGlzIGVtcHR5XG4gICAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuICAgIC8vIG90aGVyd2lzZSBsb29wIG92ZXIgYXJyYXlcbiAgICBmb3IodmFyIGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspe1xuICAgICAgICBpZiAoY2FsbGJhY2soYXJyYXlbaV0sIGksIGFycmF5KSkge1xuICAgICAgICAgICAgcmV0dXJuIGk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIC0xO1xufVxuZnVuY3Rpb24gZ2V0Q29udGVudERvY3VtZW50KG5vZGUpIHtcbiAgICB0cnkge1xuICAgICAgICAvLyB3b3JrcyBvbiA8b2JqZWN0PiBhbmQgPGlmcmFtZT5cbiAgICAgICAgcmV0dXJuIG5vZGUuY29udGVudERvY3VtZW50IHx8IC8vIHdvcmtzIG9uIDxvYmplY3Q+IGFuZCA8aWZyYW1lPlxuICAgICAgICBub2RlLmNvbnRlbnRXaW5kb3cgJiYgbm9kZS5jb250ZW50V2luZG93LmRvY3VtZW50IHx8IC8vIHdvcmtzIG9uIDxvYmplY3Q+IGFuZCA8aWZyYW1lPiB0aGF0IGNvbnRhaW4gU1ZHXG4gICAgICAgIG5vZGUuZ2V0U1ZHRG9jdW1lbnQgJiYgbm9kZS5nZXRTVkdEb2N1bWVudCgpIHx8IG51bGw7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAvLyBTZWN1cml0eUVycm9yOiBGYWlsZWQgdG8gcmVhZCB0aGUgJ2NvbnRlbnREb2N1bWVudCcgcHJvcGVydHkgZnJvbSAnSFRNTE9iamVjdEVsZW1lbnQnXG4gICAgICAgIC8vIGFsc28gSUUgbWF5IHRocm93IG1lbWJlciBub3QgZm91bmQgZXhjZXB0aW9uIGUuZy4gb24gPG9iamVjdCB0eXBlPVwiaW1hZ2UvcG5nXCI+XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFdpbmRvdyhub2RlKSB7XG4gICAgdmFyIF9kb2N1bWVudCA9IGdldERvY3VtZW50KG5vZGUpO1xuICAgIHJldHVybiBfZG9jdW1lbnQuZGVmYXVsdFZpZXcgfHwgd2luZG93O1xufVxudmFyIHNoYWRvd1ByZWZpeCA9IHZvaWQgMDtcbmZ1bmN0aW9uIHNlbGVjdEluU2hhZG93cyhzZWxlY3Rvcikge1xuICAgIGlmICh0eXBlb2Ygc2hhZG93UHJlZml4ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHZhciBvcGVyYXRvciA9IGNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3IoKTtcbiAgICAgICAgaWYgKG9wZXJhdG9yKSB7XG4gICAgICAgICAgICBzaGFkb3dQcmVmaXggPSBcIiwgaHRtbCBcIiArIG9wZXJhdG9yICsgXCIgXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFzaGFkb3dQcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHNlbGVjdG9yO1xuICAgIH1cbiAgICByZXR1cm4gc2VsZWN0b3IgKyBzaGFkb3dQcmVmaXggKyBzZWxlY3Rvci5yZXBsYWNlKC9cXHMqLFxccyovZywgXCIsXCIpLnNwbGl0KFwiLFwiKS5qb2luKHNoYWRvd1ByZWZpeCk7XG59XG52YXIgc2VsZWN0b3IgPSB2b2lkIDA7XG5mdW5jdGlvbiBmaW5kRG9jdW1lbnRIb3N0RWxlbWVudChfd2luZG93KSB7XG4gICAgaWYgKCFzZWxlY3Rvcikge1xuICAgICAgICBzZWxlY3RvciA9IHNlbGVjdEluU2hhZG93cyhcIm9iamVjdCwgaWZyYW1lXCIpO1xuICAgIH1cbiAgICBpZiAoX3dpbmRvdy5fZnJhbWVFbGVtZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIF93aW5kb3cuX2ZyYW1lRWxlbWVudDtcbiAgICB9XG4gICAgX3dpbmRvdy5fZnJhbWVFbGVtZW50ID0gbnVsbDtcbiAgICB2YXIgcG90ZW50aWFsSG9zdHMgPSBfd2luZG93LnBhcmVudC5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKHNlbGVjdG9yKTtcbiAgICBbXS5zb21lLmNhbGwocG90ZW50aWFsSG9zdHMsIGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgdmFyIF9kb2N1bWVudCA9IGdldENvbnRlbnREb2N1bWVudChlbGVtZW50KTtcbiAgICAgICAgaWYgKF9kb2N1bWVudCAhPT0gX3dpbmRvdy5kb2N1bWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIF93aW5kb3cuX2ZyYW1lRWxlbWVudCA9IGVsZW1lbnQ7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICAgIHJldHVybiBfd2luZG93Ll9mcmFtZUVsZW1lbnQ7XG59XG5mdW5jdGlvbiBnZXRGcmFtZUVsZW1lbnQoZWxlbWVudCkge1xuICAgIHZhciBfd2luZG93ID0gZ2V0V2luZG93KGVsZW1lbnQpO1xuICAgIGlmICghX3dpbmRvdy5wYXJlbnQgfHwgX3dpbmRvdy5wYXJlbnQgPT09IF93aW5kb3cpIHtcbiAgICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gcGFyZW50IGJyb3dzaW5nIGNvbnRleHQsXG4gICAgICAgIC8vIHdlJ3JlIG5vdCBnb2luZyB0byBnZXQgYSBmcmFtZUVsZW1lbnQgZWl0aGVyIHdheVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9XaW5kb3cvZnJhbWVFbGVtZW50XG4gICAgICAgIC8vIGRvZXMgbm90IHdvcmsgd2l0aGluIDxlbWJlZD4gYW55d2hlcmUsIGFuZCBub3Qgd2l0aGluIGluIDxvYmplY3Q+IGluIElFXG4gICAgICAgIHJldHVybiBfd2luZG93LmZyYW1lRWxlbWVudCB8fCBmaW5kRG9jdW1lbnRIb3N0RWxlbWVudChfd2luZG93KTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbn1cbi8vIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9yZW5kZXJpbmcuaHRtbCNiZWluZy1yZW5kZXJlZFxuLy8gPGFyZWE+IGlzIG5vdCByZW5kZXJlZCwgYnV0IHdlICpjb25zaWRlciogaXQgdmlzaWJsZSB0byBzaW1wbGZpeSB0aGlzIGZ1bmN0aW9uJ3MgdXNhZ2VcbnZhciBub3RSZW5kZXJlZEVsZW1lbnRzUGF0dGVybiA9IC9eKGFyZWEpJC87XG5mdW5jdGlvbiBjb21wdXRlZFN0eWxlKGVsZW1lbnQsIHByb3BlcnR5KSB7XG4gICAgcmV0dXJuIHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsIG51bGwpLmdldFByb3BlcnR5VmFsdWUocHJvcGVydHkpO1xufVxuZnVuY3Rpb24gbm90RGlzcGxheWVkKF9wYXRoKSB7XG4gICAgcmV0dXJuIF9wYXRoLnNvbWUoZnVuY3Rpb24oZWxlbWVudCkge1xuICAgICAgICAvLyBkaXNwbGF5Om5vbmUgaXMgbm90IHZpc2libGUgKG9wdGltaXplZCBhd2F5IGF0IGxheW91dClcbiAgICAgICAgcmV0dXJuIGNvbXB1dGVkU3R5bGUoZWxlbWVudCwgXCJkaXNwbGF5XCIpID09PSBcIm5vbmVcIjtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIG5vdFZpc2libGUoX3BhdGgpIHtcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vanF1ZXJ5L2pxdWVyeS11aS9ibG9iL21hc3Rlci91aS9jb3JlLmpzI0wxMDktTDExNFxuICAgIC8vIE5PVEU6IGEgbmVzdGVkIGVsZW1lbnQgY2FuIHJldmVyc2UgdmlzaWJpbGl0eTpoaWRkZW58Y29sbGFwc2UgYnkgZXhwbGljaXRseSBzZXR0aW5nIHZpc2liaWxpdHk6dmlzaWJsZVxuICAgIC8vIE5PVEU6IHZpc2liaWxpdHkgY2FuIGJlIFtcIlwiLCBcInZpc2libGVcIiwgXCJoaWRkZW5cIiwgXCJjb2xsYXBzZVwiXVxuICAgIHZhciBoaWRkZW4gPSBmaW5kSW5kZXgoX3BhdGgsIGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgdmFyIHZpc2liaWxpdHkgPSBjb21wdXRlZFN0eWxlKGVsZW1lbnQsIFwidmlzaWJpbGl0eVwiKTtcbiAgICAgICAgcmV0dXJuIHZpc2liaWxpdHkgPT09IFwiaGlkZGVuXCIgfHwgdmlzaWJpbGl0eSA9PT0gXCJjb2xsYXBzZVwiO1xuICAgIH0pO1xuICAgIGlmIChoaWRkZW4gPT09IC0xKSB7XG4gICAgICAgIC8vIHRoZXJlIGlzIG5vIGhpZGRlbiBlbGVtZW50XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdmFyIHZpc2libGUgPSBmaW5kSW5kZXgoX3BhdGgsIGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGNvbXB1dGVkU3R5bGUoZWxlbWVudCwgXCJ2aXNpYmlsaXR5XCIpID09PSBcInZpc2libGVcIjtcbiAgICB9KTtcbiAgICBpZiAodmlzaWJsZSA9PT0gLTEpIHtcbiAgICAgICAgLy8gdGhlcmUgaXMgbm8gdmlzaWJsZSBlbGVtZW50IChidXQgYSBoaWRkZW4gZWxlbWVudClcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChoaWRkZW4gPCB2aXNpYmxlKSB7XG4gICAgICAgIC8vIHRoZXJlIGlzIGEgaGlkZGVuIGVsZW1lbnQgYW5kIGl0J3MgY2xvc2VyIHRoYW4gdGhlIGZpcnN0IHZpc2libGUgZWxlbWVudFxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gdGhlcmUgbWF5IGJlIGEgaGlkZGVuIGVsZW1lbnQsIGJ1dCB0aGUgY2xvc2VzdCBlbGVtZW50IGlzIHZpc2libGVcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBjb2xsYXBzZWRQYXJlbnQoX3BhdGgpIHtcbiAgICB2YXIgb2Zmc2V0ID0gMTtcbiAgICBpZiAoX3BhdGhbMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJzdW1tYXJ5XCIpIHtcbiAgICAgICAgb2Zmc2V0ID0gMjtcbiAgICB9XG4gICAgcmV0dXJuIF9wYXRoLnNsaWNlKG9mZnNldCkuc29tZShmdW5jdGlvbihlbGVtZW50KSB7XG4gICAgICAgIC8vIFwiY29udGVudCBjaGlsZHJlblwiIG9mIGEgY2xvc2VkIGRldGFpbHMgZWxlbWVudCBhcmUgbm90IHZpc2libGVcbiAgICAgICAgcmV0dXJuIGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gXCJkZXRhaWxzXCIgJiYgZWxlbWVudC5vcGVuID09PSBmYWxzZTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGlzVmlzaWJsZVJ1bGVzKCkge1xuICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSwgY29udGV4dCA9IF9yZWYuY29udGV4dCwgX3JlZiRleGNlcHQgPSBfcmVmLmV4Y2VwdCwgZXhjZXB0ID0gX3JlZiRleGNlcHQgPT09IHVuZGVmaW5lZCA/IHtcbiAgICAgICAgbm90UmVuZGVyZWQ6IGZhbHNlLFxuICAgICAgICBjc3NEaXNwbGF5OiBmYWxzZSxcbiAgICAgICAgY3NzVmlzaWJpbGl0eTogZmFsc2UsXG4gICAgICAgIGRldGFpbHNFbGVtZW50OiBmYWxzZSxcbiAgICAgICAgYnJvd3NpbmdDb250ZXh0OiBmYWxzZVxuICAgIH0gOiBfcmVmJGV4Y2VwdDtcbiAgICB2YXIgZWxlbWVudCA9IGNvbnRleHRUb0VsZW1lbnQoe1xuICAgICAgICBsYWJlbDogXCJpcy92aXNpYmxlXCIsXG4gICAgICAgIHJlc29sdmVEb2N1bWVudDogdHJ1ZSxcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoIWV4Y2VwdC5ub3RSZW5kZXJlZCAmJiBub3RSZW5kZXJlZEVsZW1lbnRzUGF0dGVybi50ZXN0KG5vZGVOYW1lKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIF9wYXRoID0gZ2V0UGFyZW50cyh7XG4gICAgICAgIGNvbnRleHQ6IGVsZW1lbnRcbiAgICB9KTtcbiAgICAvLyBpbiBJbnRlcm5ldCBFeHBsb3JlciA8YXVkaW8+IGhhcyBhIGRlZmF1bHQgZGlzcGxheTogbm9uZSwgd2hlcmUgb3RoZXJzIGhhdmUgZGlzcGxheTogaW5saW5lXG4gICAgLy8gYnV0IElFIGFsbG93cyBmb2N1c2luZyA8YXVkaW8gc3R5bGU9XCJkaXNwbGF5Om5vbmVcIj4sIGJ1dCBub3QgPGRpdiBkaXNwbGF5Om5vbmU+PGF1ZGlvPlxuICAgIC8vIHRoaXMgaXMgaXJyZWxldmFudCB0byBvdGhlciBicm93c2VycywgYXMgdGhlIGNvbnRyb2xzIGF0dHJpYnV0ZSBpcyByZXF1aXJlZCB0byBtYWtlIDxhdWRpbz4gZm9jdXNhYmxlXG4gICAgdmFyIGlzQXVkaW9XaXRob3V0Q29udHJvbHMgPSBub2RlTmFtZSA9PT0gXCJhdWRpb1wiICYmICFlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImNvbnRyb2xzXCIpO1xuICAgIGlmICghZXhjZXB0LmNzc0Rpc3BsYXkgJiYgbm90RGlzcGxheWVkKGlzQXVkaW9XaXRob3V0Q29udHJvbHMgPyBfcGF0aC5zbGljZSgxKSA6IF9wYXRoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICghZXhjZXB0LmNzc1Zpc2liaWxpdHkgJiYgbm90VmlzaWJsZShfcGF0aCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5kZXRhaWxzRWxlbWVudCAmJiBjb2xsYXBzZWRQYXJlbnQoX3BhdGgpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFleGNlcHQuYnJvd3NpbmdDb250ZXh0KSB7XG4gICAgICAgIC8vIGVsZW1lbnRzIHdpdGhpbiBhIGJyb3dzaW5nIGNvbnRleHQgYXJlIGFmZmVjdGVkIGJ5IHRoZVxuICAgICAgICAvLyBicm93c2luZyBjb250ZXh0IGhvc3QgZWxlbWVudCdzIHZpc2liaWxpdHkgYW5kIHRhYmluZGV4XG4gICAgICAgIHZhciBmcmFtZUVsZW1lbnQgPSBnZXRGcmFtZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIHZhciBfaXNWaXNpYmxlID0gaXNWaXNpYmxlUnVsZXMuZXhjZXB0KGV4Y2VwdCk7XG4gICAgICAgIGlmIChmcmFtZUVsZW1lbnQgJiYgIV9pc1Zpc2libGUoZnJhbWVFbGVtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuLy8gYmluZCBleGNlcHRpb25zIHRvIGFuIGl0ZXJhdG9yIGNhbGxiYWNrXG5pc1Zpc2libGVSdWxlcy5leGNlcHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgZXhjZXB0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgaXNWaXNpYmxlID0gZnVuY3Rpb24gaXNWaXNpYmxlKGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIGlzVmlzaWJsZVJ1bGVzKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgICAgICBleGNlcHQ6IGV4Y2VwdFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGlzVmlzaWJsZS5ydWxlcyA9IGlzVmlzaWJsZVJ1bGVzO1xuICAgIHJldHVybiBpc1Zpc2libGU7XG59O1xuLy8gcHJvdmlkZSBpc1Zpc2libGUoY29udGV4dCkgYXMgZGVmYXVsdCBpdGVyYXRvciBjYWxsYmFja1xudmFyIGlzVmlzaWJsZSA9IGlzVmlzaWJsZVJ1bGVzLmV4Y2VwdCh7fSk7XG5mdW5jdGlvbiBnZXRNYXBCeU5hbWUobmFtZSwgX2RvY3VtZW50KSB7XG4gICAgLy8gYXBwYXJlbnRseSBnZXRFbGVtZW50c0J5TmFtZSgpIGFsc28gY29uc2lkZXJzIGlkIGF0dHJpYnV0ZSBpbiBJRSAmIG9wZXJhXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0RvY3VtZW50L2dldEVsZW1lbnRzQnlOYW1lXG4gICAgdmFyIG1hcCA9IF9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdtYXBbbmFtZT1cIicgKyAoMCwgX2Nzc2VzY2FwZS5kZWZhdWx0KShuYW1lKSArICdcIl0nKTtcbiAgICByZXR1cm4gbWFwIHx8IG51bGw7XG59XG5mdW5jdGlvbiBnZXRJbWFnZU9mQXJlYShlbGVtZW50KSB7XG4gICAgdmFyIG1hcCA9IGVsZW1lbnQucGFyZW50RWxlbWVudDtcbiAgICBpZiAoIW1hcC5uYW1lIHx8IG1hcC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpICE9PSBcIm1hcFwiKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICAvLyBOT1RFOiBpbWFnZSBtYXBzIGNhbiBhbHNvIGJlIGFwcGxpZWQgdG8gPG9iamVjdD4gd2l0aCBpbWFnZSBjb250ZW50LFxuICAgIC8vIGJ1dCBubyBicm93c2VyIHN1cHBvcnRzIHRoaXMgYXQgdGhlIG1vbWVudFxuICAgIC8vIEhUTUw1IHNwZWNpZmllcyBIVE1MTWFwRWxlbWVudC5pbWFnZXMgdG8gYmUgYW4gSFRNTENvbGxlY3Rpb24gb2YgYWxsXG4gICAgLy8gPGltZz4gYW5kIDxvYmplY3Q+IHJlZmVyZW5jaW5nIHRoZSA8bWFwPiBlbGVtZW50LCBidXQgbm8gYnJvd3NlciBpbXBsZW1lbnRzIHRoaXNcbiAgICAvLyAgIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9odG1sNS9lbWJlZGRlZC1jb250ZW50LTAuaHRtbCN0aGUtbWFwLWVsZW1lbnRcbiAgICAvLyAgIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9IVE1MTWFwRWxlbWVudFxuICAgIC8vIHRoZSBpbWFnZSBtdXN0IGJlIHZhbGlkIGFuZCBsb2FkZWQgZm9yIHRoZSBtYXAgdG8gdGFrZSBlZmZlY3RcbiAgICB2YXIgX2RvY3VtZW50ID0gZ2V0RG9jdW1lbnQoZWxlbWVudCk7XG4gICAgcmV0dXJuIF9kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpbWdbdXNlbWFwPVwiIycgKyAoMCwgX2Nzc2VzY2FwZS5kZWZhdWx0KShtYXAubmFtZSkgKyAnXCJdJykgfHwgbnVsbDtcbn1cbnZhciBzdXBwb3J0cyQyID0gdm9pZCAwO1xuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L21hcFxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLXVzZW1hcFxuLy8gaHR0cHM6Ly9naXRodWIuY29tL2pxdWVyeS9qcXVlcnktdWkvYmxvYi9tYXN0ZXIvdWkvY29yZS5qcyNMODgtTDEwN1xuZnVuY3Rpb24gaXNWYWxpZEFyZWEoY29udGV4dCkge1xuICAgIGlmICghc3VwcG9ydHMkMikge1xuICAgICAgICBzdXBwb3J0cyQyID0gX3N1cHBvcnRzKCk7XG4gICAgfVxuICAgIHZhciBlbGVtZW50ID0gY29udGV4dFRvRWxlbWVudCh7XG4gICAgICAgIGxhYmVsOiBcImlzL3ZhbGlkLWFyZWFcIixcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobm9kZU5hbWUgIT09IFwiYXJlYVwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdmFyIGhhc1RhYmluZGV4ID0gZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKTtcbiAgICBpZiAoIXN1cHBvcnRzJDIuZm9jdXNBcmVhVGFiaW5kZXggJiYgaGFzVGFiaW5kZXgpIHtcbiAgICAgICAgLy8gQmxpbmsgYW5kIFdlYktpdCBkbyBub3QgY29uc2lkZXIgPGFyZWEgdGFiaW5kZXg9XCItMVwiIGhyZWY9XCIjdm9pZFwiPiBmb2N1c2FibGVcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgaW1nID0gZ2V0SW1hZ2VPZkFyZWEoZWxlbWVudCk7XG4gICAgaWYgKCFpbWcgfHwgIWlzVmlzaWJsZShpbWcpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gRmlyZWZveCBvbmx5IGFsbG93cyBmdWxseSBsb2FkZWQgaW1hZ2VzIHRvIHJlZmVyZW5jZSBpbWFnZSBtYXBzXG4gICAgLy8gaHR0cHM6Ly9zdGVyZW9jaHJvLm1lL2lkZWFzL2RldGVjdGluZy1icm9rZW4taW1hZ2VzLWpzXG4gICAgaWYgKCFzdXBwb3J0cyQyLmZvY3VzQnJva2VuSW1hZ2VNYXAgJiYgKCFpbWcuY29tcGxldGUgfHwgIWltZy5uYXR1cmFsSGVpZ2h0IHx8IGltZy5vZmZzZXRXaWR0aCA8PSAwIHx8IGltZy5vZmZzZXRIZWlnaHQgPD0gMCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBGaXJlZm94IHN1cHBvcnRzLmNhbiBmb2N1cyBhcmVhIGVsZW1lbnRzIGV2ZW4gaWYgdGhleSBkb24ndCBoYXZlIGFuIGhyZWYgYXR0cmlidXRlXG4gICAgaWYgKCFzdXBwb3J0cyQyLmZvY3VzQXJlYVdpdGhvdXRIcmVmICYmICFlbGVtZW50LmhyZWYpIHtcbiAgICAgICAgLy8gSW50ZXJuZXQgZXhwbG9yZXIgc3VwcG9ydHMuY2FuIGZvY3VzIGFyZWEgZWxlbWVudHMgd2l0aG91dCBocmVmIGlmIGVpdGhlclxuICAgICAgICAvLyB0aGUgYXJlYSBlbGVtZW50IG9yIHRoZSBpbWFnZSBlbGVtZW50IGhhcyBhIHRhYmluZGV4IGF0dHJpYnV0ZVxuICAgICAgICByZXR1cm4gc3VwcG9ydHMkMi5mb2N1c0FyZWFUYWJpbmRleCAmJiBoYXNUYWJpbmRleCB8fCBzdXBwb3J0cyQyLmZvY3VzQXJlYUltZ1RhYmluZGV4ICYmIGltZy5oYXNBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKTtcbiAgICB9XG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRNTC9FbGVtZW50L2ltZyNhdHRyLXVzZW1hcFxuICAgIHZhciBjaGlsZE9mSW50ZXJhY3RpdmUgPSBnZXRQYXJlbnRzKHtcbiAgICAgICAgY29udGV4dDogaW1nXG4gICAgfSkuc2xpY2UoMSkuc29tZShmdW5jdGlvbihfZWxlbWVudCkge1xuICAgICAgICB2YXIgbmFtZSA9IF9lbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIHJldHVybiBuYW1lID09PSBcImJ1dHRvblwiIHx8IG5hbWUgPT09IFwiYVwiO1xuICAgIH0pO1xuICAgIGlmIChjaGlsZE9mSW50ZXJhY3RpdmUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbn1cbnZhciBzdXBwb3J0cyQzID0gdm9pZCAwO1xuLy8gaHR0cHM6Ly93d3cudzMub3JnL1RSL2h0bWw1L2Rpc2FibGVkLWVsZW1lbnRzLmh0bWwjY29uY2VwdC1lbGVtZW50LWRpc2FibGVkXG52YXIgZGlzYWJsZWRFbGVtZW50c1BhdHRlcm4gPSB2b2lkIDA7XG52YXIgZGlzYWJsZWRFbGVtZW50cyA9IHtcbiAgICBpbnB1dDogdHJ1ZSxcbiAgICBzZWxlY3Q6IHRydWUsXG4gICAgdGV4dGFyZWE6IHRydWUsXG4gICAgYnV0dG9uOiB0cnVlLFxuICAgIGZpZWxkc2V0OiB0cnVlLFxuICAgIGZvcm06IHRydWVcbn07XG5mdW5jdGlvbiBpc05hdGl2ZURpc2FibGVkU3VwcG9ydGVkKGNvbnRleHQpIHtcbiAgICBpZiAoIXN1cHBvcnRzJDMpIHtcbiAgICAgICAgc3VwcG9ydHMkMyA9IF9zdXBwb3J0cygpO1xuICAgICAgICBpZiAoc3VwcG9ydHMkMy5mb2N1c0ZpZWxkc2V0RGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGRlbGV0ZSBkaXNhYmxlZEVsZW1lbnRzLmZpZWxkc2V0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdXBwb3J0cyQzLmZvY3VzRm9ybURpc2FibGVkKSB7XG4gICAgICAgICAgICBkZWxldGUgZGlzYWJsZWRFbGVtZW50cy5mb3JtO1xuICAgICAgICB9XG4gICAgICAgIGRpc2FibGVkRWxlbWVudHNQYXR0ZXJuID0gbmV3IFJlZ0V4cChcIl4oXCIgKyBPYmplY3Qua2V5cyhkaXNhYmxlZEVsZW1lbnRzKS5qb2luKFwifFwiKSArIFwiKSRcIik7XG4gICAgfVxuICAgIHZhciBlbGVtZW50ID0gY29udGV4dFRvRWxlbWVudCh7XG4gICAgICAgIGxhYmVsOiBcImlzL25hdGl2ZS1kaXNhYmxlZC1zdXBwb3J0ZWRcIixcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICByZXR1cm4gQm9vbGVhbihkaXNhYmxlZEVsZW1lbnRzUGF0dGVybi50ZXN0KG5vZGVOYW1lKSk7XG59XG52YXIgc3VwcG9ydHMkNCA9IHZvaWQgMDtcbmZ1bmN0aW9uIGlzRGlzYWJsZWRGaWVsZHNldChlbGVtZW50KSB7XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBub2RlTmFtZSA9PT0gXCJmaWVsZHNldFwiICYmIGVsZW1lbnQuZGlzYWJsZWQ7XG59XG5mdW5jdGlvbiBpc0Rpc2FibGVkRm9ybShlbGVtZW50KSB7XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHJldHVybiBub2RlTmFtZSA9PT0gXCJmb3JtXCIgJiYgZWxlbWVudC5kaXNhYmxlZDtcbn1cbmZ1bmN0aW9uIGlzRGlzYWJsZWQoY29udGV4dCkge1xuICAgIGlmICghc3VwcG9ydHMkNCkge1xuICAgICAgICBzdXBwb3J0cyQ0ID0gX3N1cHBvcnRzKCk7XG4gICAgfVxuICAgIHZhciBlbGVtZW50ID0gY29udGV4dFRvRWxlbWVudCh7XG4gICAgICAgIGxhYmVsOiBcImlzL2Rpc2FibGVkXCIsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJkYXRhLWFsbHktZGlzYWJsZWRcIikpIHtcbiAgICAgICAgLy8gdHJlYXQgYWxseSdzIGVsZW1lbnQvZGlzYWJsZWQgbGlrZSB0aGUgRE9NIG5hdGl2ZSBlbGVtZW50LmRpc2FibGVkXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlzTmF0aXZlRGlzYWJsZWRTdXBwb3J0ZWQoZWxlbWVudCkpIHtcbiAgICAgICAgLy8gbm9uLWZvcm0gZWxlbWVudHMgZG8gbm90IHN1cHBvcnQgdGhlIGRpc2FibGVkIGF0dHJpYnV0ZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChlbGVtZW50LmRpc2FibGVkKSB7XG4gICAgICAgIC8vIHRoZSBlbGVtZW50IGl0c2VsZiBpcyBkaXNhYmxlZFxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIHBhcmVudHMgPSBnZXRQYXJlbnRzKHtcbiAgICAgICAgY29udGV4dDogZWxlbWVudFxuICAgIH0pO1xuICAgIGlmIChwYXJlbnRzLnNvbWUoaXNEaXNhYmxlZEZpZWxkc2V0KSkge1xuICAgICAgICAvLyBhIHBhcmVudGFsIDxmaWVsZHNldD4gaXMgZGlzYWJsZCBhbmQgaW5oZXJpdHMgdGhlIHN0YXRlIG9udG8gdGhpcyBlbGVtZW50XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIXN1cHBvcnRzJDQuZm9jdXNGb3JtRGlzYWJsZWQgJiYgcGFyZW50cy5zb21lKGlzRGlzYWJsZWRGb3JtKSkge1xuICAgICAgICAvLyBhIHBhcmVudGFsIDxmb3JtPiBpcyBkaXNhYmxkIGFuZCBpbmhlcml0cyB0aGUgc3RhdGUgb250byB0aGlzIGVsZW1lbnRcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzT25seVRhYmJhYmxlUnVsZXMoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBfcmVmJGV4Y2VwdCA9IF9yZWYuZXhjZXB0LCBleGNlcHQgPSBfcmVmJGV4Y2VwdCA9PT0gdW5kZWZpbmVkID8ge1xuICAgICAgICBvbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0OiBmYWxzZSxcbiAgICAgICAgdmlzaWJsZTogZmFsc2VcbiAgICB9IDogX3JlZiRleGNlcHQ7XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwiaXMvb25seS10YWJiYWJsZVwiLFxuICAgICAgICByZXNvbHZlRG9jdW1lbnQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICBpZiAoIWV4Y2VwdC52aXNpYmxlICYmICFpc1Zpc2libGUoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5vbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0ICYmIChwbGF0Zm9ybS5pcy5HRUNLTyB8fCBwbGF0Zm9ybS5pcy5UUklERU5UIHx8IHBsYXRmb3JtLmlzLkVER0UpKSB7XG4gICAgICAgIHZhciBmcmFtZUVsZW1lbnQgPSBnZXRGcmFtZUVsZW1lbnQoZWxlbWVudCk7XG4gICAgICAgIGlmIChmcmFtZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIGlmICh0YWJpbmRleFZhbHVlKGZyYW1lRWxlbWVudCkgPCAwKSB7XG4gICAgICAgICAgICAgICAgLy8gaWZyYW1lW3RhYmluZGV4PVwiLTFcIl0gYW5kIG9iamVjdFt0YWJpbmRleD1cIi0xXCJdIGluaGVyaXQgdGhlXG4gICAgICAgICAgICAgICAgLy8gdGFiYmFibGUgZGVtb3Rpb24gb250byBlbGVtZW50cyBvZiB0aGVpciBicm93c2luZyBjb250ZXh0c1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgbm9kZU5hbWUgPSBlbGVtZW50Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgdmFyIHRhYmluZGV4ID0gdGFiaW5kZXhWYWx1ZShlbGVtZW50KTtcbiAgICBpZiAobm9kZU5hbWUgPT09IFwibGFiZWxcIiAmJiBwbGF0Zm9ybS5pcy5HRUNLTykge1xuICAgICAgICAvLyBGaXJlZm94IGNhbm5vdCBmb2N1cywgYnV0IHRhYiB0bzogbGFiZWxbdGFiaW5kZXg9MF1cbiAgICAgICAgcmV0dXJuIHRhYmluZGV4ICE9PSBudWxsICYmIHRhYmluZGV4ID49IDA7XG4gICAgfVxuICAgIC8vIFNWRyBFbGVtZW50cyB3ZXJlIGtleWJvYXJkIGZvY3VzYWJsZSBidXQgbm90IHNjcmlwdCBmb2N1c2FibGUgYmVmb3JlIEZpcmVmb3ggNTEuXG4gICAgLy8gRmlyZWZveCA1MSBhZGRlZCB0aGUgZm9jdXMgbWFuYWdlbWVudCBET00gQVBJICguZm9jdXMgYW5kIC5ibHVyKSB0byBTVkdFbGVtZW50LFxuICAgIC8vIHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg2NTRcbiAgICBpZiAocGxhdGZvcm0uaXMuR0VDS08gJiYgZWxlbWVudC5vd25lclNWR0VsZW1lbnQgJiYgIWVsZW1lbnQuZm9jdXMpIHtcbiAgICAgICAgaWYgKG5vZGVOYW1lID09PSBcImFcIiAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInhsaW5rOmhyZWZcIikpIHtcbiAgICAgICAgICAgIC8vIGFueSBmb2N1c2FibGUgY2hpbGQgb2YgPHN2Zz4gY2Fubm90IGJlIGZvY3VzZWQsIGJ1dCB0YWJiZWQgdG9cbiAgICAgICAgICAgIGlmIChwbGF0Zm9ybS5pcy5HRUNLTykge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbi8vIGJpbmQgZXhjZXB0aW9ucyB0byBhbiBpdGVyYXRvciBjYWxsYmFja1xuaXNPbmx5VGFiYmFibGVSdWxlcy5leGNlcHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgZXhjZXB0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgaXNPbmx5VGFiYmFibGUgPSBmdW5jdGlvbiBpc09ubHlUYWJiYWJsZShjb250ZXh0KSB7XG4gICAgICAgIHJldHVybiBpc09ubHlUYWJiYWJsZVJ1bGVzKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgICAgICBleGNlcHQ6IGV4Y2VwdFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGlzT25seVRhYmJhYmxlLnJ1bGVzID0gaXNPbmx5VGFiYmFibGVSdWxlcztcbiAgICByZXR1cm4gaXNPbmx5VGFiYmFibGU7XG59O1xuLy8gcHJvdmlkZSBpc09ubHlUYWJiYWJsZShjb250ZXh0KSBhcyBkZWZhdWx0IGl0ZXJhdG9yIGNhbGxiYWNrXG52YXIgaXNPbmx5VGFiYmFibGUgPSBpc09ubHlUYWJiYWJsZVJ1bGVzLmV4Y2VwdCh7fSk7XG52YXIgc3VwcG9ydHMkNSA9IHZvaWQgMDtcbmZ1bmN0aW9uIGlzT25seUZvY3VzUmVsZXZhbnQoZWxlbWVudCkge1xuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobm9kZU5hbWUgPT09IFwiZW1iZWRcIiB8fCBub2RlTmFtZSA9PT0gXCJrZXlnZW5cIikge1xuICAgICAgICAvLyBlbWJlZCBpcyBjb25zaWRlcmVkIGZvY3VzLXJlbGV2YW50IGJ1dCBub3QgZm9jdXNhYmxlXG4gICAgICAgIC8vIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzgyXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgX3RhYmluZGV4ID0gdGFiaW5kZXhWYWx1ZShlbGVtZW50KTtcbiAgICBpZiAoZWxlbWVudC5zaGFkb3dSb290ICYmIF90YWJpbmRleCA9PT0gbnVsbCkge1xuICAgICAgICAvLyBTaGFkb3dET00gaG9zdCBlbGVtZW50cyAqbWF5KiByZWNlaXZlIGZvY3VzXG4gICAgICAgIC8vIGV2ZW4gdGhvdWdoIHRoZXkgYXJlIG5vdCBjb25zaWRlcmVkIGZvY3VhYmxlXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwibGFiZWxcIikge1xuICAgICAgICAvLyA8bGFiZWwgdGFiaW5kZXg9XCIwXCI+IGlzIG9ubHkgdGFiYmFibGUgaW4gRmlyZWZveCwgbm90IHNjcmlwdC1mb2N1c2FibGVcbiAgICAgICAgLy8gdGhlcmUncyBubyB3YXkgdG8gbWFrZSBhbiBlbGVtZW50IGZvY3VzYWJsZSBvdGhlciB0aGFuIGJ5IGFkZGluZyBhIHRhYmluZGV4LFxuICAgICAgICAvLyBhbmQgZm9jdXMgYmVoYXZpb3Igb2YgdGhlIGxhYmVsIGVsZW1lbnQgc2VlbXMgaGFyZC13aXJlZCB0byBpZ25vcmUgdGFiaW5kZXhcbiAgICAgICAgLy8gaW4gc29tZSBicm93c2VycyAobGlrZSBHZWNrbywgQmxpbmsgYW5kIFdlYktpdClcbiAgICAgICAgcmV0dXJuICFzdXBwb3J0cyQ1LmZvY3VzTGFiZWxUYWJpbmRleCB8fCBfdGFiaW5kZXggPT09IG51bGw7XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJsZWdlbmRcIikge1xuICAgICAgICByZXR1cm4gX3RhYmluZGV4ID09PSBudWxsO1xuICAgIH1cbiAgICBpZiAoc3VwcG9ydHMkNS5mb2N1c1N2Z0ZvY3VzYWJsZUF0dHJpYnV0ZSAmJiAoZWxlbWVudC5vd25lclNWR0VsZW1lbnQgfHwgbm9kZU5hbWUgPT09IFwic3ZnXCIpKSB7XG4gICAgICAgIC8vIEludGVybmV0IEV4cGxvcmVyIHVuZGVyc3RhbmRzIHRoZSBmb2N1c2FibGUgYXR0cmlidXRlIGludHJvZHVjZWQgaW4gU1ZHIFRpbnkgMS4yXG4gICAgICAgIHZhciBmb2N1c2FibGVBdHRyaWJ1dGUgPSBlbGVtZW50LmdldEF0dHJpYnV0ZShcImZvY3VzYWJsZVwiKTtcbiAgICAgICAgcmV0dXJuIGZvY3VzYWJsZUF0dHJpYnV0ZSAmJiBmb2N1c2FibGVBdHRyaWJ1dGUgPT09IFwiZmFsc2VcIjtcbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImltZ1wiICYmIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwidXNlbWFwXCIpKSB7XG4gICAgICAgIC8vIEdlY2tvLCBUcmlkZW50IGFuZCBFZGdlIGRvIG5vdCBhbGxvdyBhbiBpbWFnZSB3aXRoIGFuIGltYWdlIG1hcCBhbmQgdGFiaW5kZXggdG8gYmUgZm9jdXNlZCxcbiAgICAgICAgLy8gaXQgYXBwZWFycyB0aGUgdGFiaW5kZXggaXMgb3ZlcnJ1bGVkIHNvIGZvY3VzIGlzIHN0aWxsIGZvcndhcmRlZCB0byB0aGUgPG1hcD5cbiAgICAgICAgcmV0dXJuIF90YWJpbmRleCA9PT0gbnVsbCB8fCAhc3VwcG9ydHMkNS5mb2N1c0ltZ1VzZW1hcFRhYmluZGV4O1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwiYXJlYVwiKSB7XG4gICAgICAgIC8vIGFsbCA8YXJlYT5zIGFyZSBjb25zaWRlcmVkIHJlbGV2YW50LFxuICAgICAgICAvLyBidXQgb25seSB0aGUgdmFsaWQgPGFyZWE+cyBhcmUgZm9jdXNhYmxlXG4gICAgICAgIHJldHVybiAhaXNWYWxpZEFyZWEoZWxlbWVudCk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzRm9jdXNhYmxlUnVsZXMoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBfcmVmJGV4Y2VwdCA9IF9yZWYuZXhjZXB0LCBleGNlcHQgPSBfcmVmJGV4Y2VwdCA9PT0gdW5kZWZpbmVkID8ge1xuICAgICAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgICBvbmx5VGFiYmFibGU6IGZhbHNlXG4gICAgfSA6IF9yZWYkZXhjZXB0O1xuICAgIGlmICghc3VwcG9ydHMkNSkge1xuICAgICAgICBzdXBwb3J0cyQ1ID0gX3N1cHBvcnRzKCk7XG4gICAgfVxuICAgIHZhciBfaXNPbmx5VGFiYmFibGUgPSBpc09ubHlUYWJiYWJsZS5ydWxlcy5leGNlcHQoe1xuICAgICAgICBvbmx5Rm9jdXNhYmxlQnJvd3NpbmdDb250ZXh0OiB0cnVlLFxuICAgICAgICB2aXNpYmxlOiBleGNlcHQudmlzaWJsZVxuICAgIH0pO1xuICAgIHZhciBlbGVtZW50ID0gY29udGV4dFRvRWxlbWVudCh7XG4gICAgICAgIGxhYmVsOiBcImlzL2ZvY3VzYWJsZVwiLFxuICAgICAgICByZXNvbHZlRG9jdW1lbnQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICB2YXIgZm9jdXNSZWxldmFudCA9IGlzRm9jdXNSZWxldmFudC5ydWxlcyh7XG4gICAgICAgIGNvbnRleHQ6IGVsZW1lbnQsXG4gICAgICAgIGV4Y2VwdDogZXhjZXB0XG4gICAgfSk7XG4gICAgaWYgKCFmb2N1c1JlbGV2YW50IHx8IGlzT25seUZvY3VzUmVsZXZhbnQoZWxlbWVudCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5kaXNhYmxlZCAmJiBpc0Rpc2FibGVkKGVsZW1lbnQpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKCFleGNlcHQub25seVRhYmJhYmxlICYmIF9pc09ubHlUYWJiYWJsZShlbGVtZW50KSkge1xuICAgICAgICAvLyBzb21lIGVsZW1lbnRzIG1heSBiZSBrZXlib2FyZCBmb2N1c2FibGUsIGJ1dCBub3Qgc2NyaXB0IGZvY3VzYWJsZVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIC8vIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCByZW5kZXJlZCwgY2Fubm90IGJlIGZvY3VzZWRcbiAgICBpZiAoIWV4Y2VwdC52aXNpYmxlKSB7XG4gICAgICAgIHZhciB2aXNpYmlsaXR5T3B0aW9ucyA9IHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGVsZW1lbnQsXG4gICAgICAgICAgICBleGNlcHQ6IHt9XG4gICAgICAgIH07XG4gICAgICAgIGlmIChzdXBwb3J0cyQ1LmZvY3VzSW5IaWRkZW5JZnJhbWUpIHtcbiAgICAgICAgICAgIC8vIFdlYktpdCBhbmQgQmxpbmsgY2FuIGZvY3VzIGNvbnRlbnQgaW4gaGlkZGVuIDxpZnJhbWU+IGFuZCA8b2JqZWN0PlxuICAgICAgICAgICAgdmlzaWJpbGl0eU9wdGlvbnMuZXhjZXB0LmJyb3dzaW5nQ29udGV4dCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN1cHBvcnRzJDUuZm9jdXNPYmplY3RTdmdIaWRkZW4pIHtcbiAgICAgICAgICAgIC8vIEJsaW5rIGFsbG93cyBmb2N1c2luZyB0aGUgb2JqZWN0IGVsZW1lbnQsIGV2ZW4gaWYgaXQgaGFzIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIC8vIEBicm93c2VyLWlzc3VlIEJsaW5rIGh0dHBzOi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vaXNzdWVzL2RldGFpbD9pZD01ODYxOTFcbiAgICAgICAgICAgIHZhciBfbm9kZU5hbWUyID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgaWYgKF9ub2RlTmFtZTIgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5T3B0aW9ucy5leGNlcHQuY3NzVmlzaWJpbGl0eSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc1Zpc2libGUucnVsZXModmlzaWJpbGl0eU9wdGlvbnMpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIGZyYW1lRWxlbWVudCA9IGdldEZyYW1lRWxlbWVudChlbGVtZW50KTtcbiAgICBpZiAoZnJhbWVFbGVtZW50KSB7XG4gICAgICAgIHZhciBfbm9kZU5hbWUgPSBmcmFtZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKF9ub2RlTmFtZSA9PT0gXCJvYmplY3RcIiAmJiAhc3VwcG9ydHMkNS5mb2N1c0luWmVyb0RpbWVuc2lvbk9iamVjdCkge1xuICAgICAgICAgICAgaWYgKCFmcmFtZUVsZW1lbnQub2Zmc2V0V2lkdGggfHwgIWZyYW1lRWxlbWVudC5vZmZzZXRIZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAvLyBXZWJLaXQgY2FuIG5vdCBmb2N1cyBjb250ZW50IGluIDxvYmplY3Q+IGlmIGl0IGRvZXNuJ3QgaGF2ZSBkaW1lbnNpb25zXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBub2RlTmFtZSA9IGVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAobm9kZU5hbWUgPT09IFwic3ZnXCIgJiYgc3VwcG9ydHMkNS5mb2N1c1N2Z0luSWZyYW1lICYmICFmcmFtZUVsZW1lbnQgJiYgZWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJ0YWJpbmRleFwiKSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuLy8gYmluZCBleGNlcHRpb25zIHRvIGFuIGl0ZXJhdG9yIGNhbGxiYWNrXG5pc0ZvY3VzYWJsZVJ1bGVzLmV4Y2VwdCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBleGNlcHQgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBpc0ZvY3VzYWJsZSA9IGZ1bmN0aW9uIGlzRm9jdXNhYmxlKGNvbnRleHQpIHtcbiAgICAgICAgcmV0dXJuIGlzRm9jdXNhYmxlUnVsZXMoe1xuICAgICAgICAgICAgY29udGV4dDogY29udGV4dCxcbiAgICAgICAgICAgIGV4Y2VwdDogZXhjZXB0XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgaXNGb2N1c2FibGUucnVsZXMgPSBpc0ZvY3VzYWJsZVJ1bGVzO1xuICAgIHJldHVybiBpc0ZvY3VzYWJsZTtcbn07XG4vLyBwcm92aWRlIGlzRm9jdXNSZWxldmFudChjb250ZXh0KSBhcyBkZWZhdWx0IGl0ZXJhdG9yIGNhbGxiYWNrXG52YXIgaXNGb2N1c2FibGUgPSBpc0ZvY3VzYWJsZVJ1bGVzLmV4Y2VwdCh7fSk7XG5mdW5jdGlvbiBjcmVhdGVGaWx0ZXIoY29uZGl0aW9uKSB7XG4gICAgLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9Ob2RlRmlsdGVyXG4gICAgdmFyIGZpbHRlciA9IGZ1bmN0aW9uIGZpbHRlcihub2RlKSB7XG4gICAgICAgIGlmIChub2RlLnNoYWRvd1Jvb3QpIHtcbiAgICAgICAgICAgIC8vIHJldHVybiBTaGFkb3dSb290IGVsZW1lbnRzIHJlZ2FyZGxlc3Mgb2YgdGhlbSBiZWluZyBmb2N1c2FibGUsXG4gICAgICAgICAgICAvLyBzbyB0aGV5IGNhbiBiZSB3YWxrZWQgcmVjdXJzaXZlbHkgbGF0ZXJcbiAgICAgICAgICAgIHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9BQ0NFUFQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvbmRpdGlvbihub2RlKSkge1xuICAgICAgICAgICAgLy8gZmluZHMgZWxlbWVudHMgdGhhdCBjb3VsZCBoYXZlIGJlZW4gZm91bmQgYnkgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgpXG4gICAgICAgICAgICByZXR1cm4gTm9kZUZpbHRlci5GSUxURVJfQUNDRVBUO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBOb2RlRmlsdGVyLkZJTFRFUl9TS0lQO1xuICAgIH07XG4gICAgLy8gSUUgcmVxdWlyZXMgYSBmdW5jdGlvbiwgQnJvd3NlcnMgcmVxdWlyZSB7YWNjZXB0Tm9kZTogZnVuY3Rpb259XG4gICAgLy8gc2VlIGh0dHA6Ly93d3cuYmVubmFkZWwuY29tL2Jsb2cvMjYwNy1maW5kaW5nLWh0bWwtY29tbWVudC1ub2Rlcy1pbi10aGUtZG9tLXVzaW5nLXRyZWV3YWxrZXIuaHRtXG4gICAgZmlsdGVyLmFjY2VwdE5vZGUgPSBmaWx0ZXI7XG4gICAgcmV0dXJuIGZpbHRlcjtcbn1cbnZhciBQb3NzaWJseUZvY3VzYWJsZUZpbHRlciA9IGNyZWF0ZUZpbHRlcihpc0ZvY3VzUmVsZXZhbnQpO1xuZnVuY3Rpb24gcXVlcnlGb2N1c2FibGVTdHJpY3QoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBpbmNsdWRlQ29udGV4dCA9IF9yZWYuaW5jbHVkZUNvbnRleHQsIGluY2x1ZGVPbmx5VGFiYmFibGUgPSBfcmVmLmluY2x1ZGVPbmx5VGFiYmFibGUsIHN0cmF0ZWd5ID0gX3JlZi5zdHJhdGVneTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgY29udGV4dCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICB9XG4gICAgdmFyIF9pc0ZvY3VzYWJsZSA9IGlzRm9jdXNhYmxlLnJ1bGVzLmV4Y2VwdCh7XG4gICAgICAgIG9ubHlUYWJiYWJsZTogaW5jbHVkZU9ubHlUYWJiYWJsZVxuICAgIH0pO1xuICAgIHZhciBfZG9jdW1lbnQgPSBnZXREb2N1bWVudChjb250ZXh0KTtcbiAgICAvLyBzZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0RvY3VtZW50L2NyZWF0ZVRyZWVXYWxrZXJcbiAgICB2YXIgd2Fsa2VyID0gX2RvY3VtZW50LmNyZWF0ZVRyZWVXYWxrZXIoLy8gcm9vdCBlbGVtZW50IHRvIHN0YXJ0IHNlYXJjaCBpblxuICAgIGNvbnRleHQsIC8vIGVsZW1lbnQgdHlwZSBmaWx0ZXJcbiAgICBOb2RlRmlsdGVyLlNIT1dfRUxFTUVOVCwgLy8gY3VzdG9tIE5vZGVGaWx0ZXIgZmlsdGVyXG4gICAgc3RyYXRlZ3kgPT09IFwiYWxsXCIgPyBQb3NzaWJseUZvY3VzYWJsZUZpbHRlciA6IGNyZWF0ZUZpbHRlcihfaXNGb2N1c2FibGUpLCAvLyBkZXByZWNhdGVkLCBidXQgSUUgcmVxdWlyZXMgaXRcbiAgICBmYWxzZSk7XG4gICAgdmFyIGxpc3QgPSBbXTtcbiAgICB3aGlsZSh3YWxrZXIubmV4dE5vZGUoKSl7XG4gICAgICAgIGlmICh3YWxrZXIuY3VycmVudE5vZGUuc2hhZG93Um9vdCkge1xuICAgICAgICAgICAgaWYgKF9pc0ZvY3VzYWJsZSh3YWxrZXIuY3VycmVudE5vZGUpKSB7XG4gICAgICAgICAgICAgICAgbGlzdC5wdXNoKHdhbGtlci5jdXJyZW50Tm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaXN0ID0gbGlzdC5jb25jYXQocXVlcnlGb2N1c2FibGVTdHJpY3Qoe1xuICAgICAgICAgICAgICAgIGNvbnRleHQ6IHdhbGtlci5jdXJyZW50Tm9kZS5zaGFkb3dSb290LFxuICAgICAgICAgICAgICAgIGluY2x1ZGVPbmx5VGFiYmFibGU6IGluY2x1ZGVPbmx5VGFiYmFibGUsXG4gICAgICAgICAgICAgICAgc3RyYXRlZ3k6IHN0cmF0ZWd5XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsaXN0LnB1c2god2Fsa2VyLmN1cnJlbnROb2RlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBhZGQgY29udGV4dCBpZiByZXF1ZXN0ZWQgYW5kIGZvY3VzYWJsZVxuICAgIGlmIChpbmNsdWRlQ29udGV4dCkge1xuICAgICAgICBpZiAoc3RyYXRlZ3kgPT09IFwiYWxsXCIpIHtcbiAgICAgICAgICAgIGlmIChpc0ZvY3VzUmVsZXZhbnQoY29udGV4dCkpIHtcbiAgICAgICAgICAgICAgICBsaXN0LnVuc2hpZnQoY29udGV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoX2lzRm9jdXNhYmxlKGNvbnRleHQpKSB7XG4gICAgICAgICAgICBsaXN0LnVuc2hpZnQoY29udGV4dCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGxpc3Q7XG59XG4vLyBOT1RFOiB0aGlzIHNlbGVjdG9yIE1VU1QgKm5ldmVyKiBiZSB1c2VkIGRpcmVjdGx5LFxudmFyIHN1cHBvcnRzJDYgPSB2b2lkIDA7XG52YXIgc2VsZWN0b3IkMSA9IHZvaWQgMDtcbmZ1bmN0aW9uIHNlbGVjdG9yJDIoKSB7XG4gICAgaWYgKCFzdXBwb3J0cyQ2KSB7XG4gICAgICAgIHN1cHBvcnRzJDYgPSBfc3VwcG9ydHMoKTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBzZWxlY3RvciQxID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBzZWxlY3RvciQxO1xuICAgIH1cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvZWRpdGluZy5odG1sI3NlcXVlbnRpYWwtZm9jdXMtbmF2aWdhdGlvbi1hbmQtdGhlLXRhYmluZGV4LWF0dHJpYnV0ZVxuICAgIHNlbGVjdG9yJDEgPSBcIlwiICsgLy8gSUUxMSBzdXBwb3J0cy5jYW4gZm9jdXMgPHRhYmxlPiBhbmQgPHRkPlxuICAgIChzdXBwb3J0cyQ2LmZvY3VzVGFibGUgPyBcInRhYmxlLCB0ZCxcIiA6IFwiXCIpICsgLy8gSUUxMSBzdXBwb3J0cy5jYW4gZm9jdXMgPGZpZWxkc2V0PlxuICAgIChzdXBwb3J0cyQ2LmZvY3VzRmllbGRzZXQgPyBcImZpZWxkc2V0LFwiIDogXCJcIikgKyAvLyBOYW1lc3BhY2UgcHJvYmxlbXMgb2YgW3hsaW5rOmhyZWZdIGV4cGxhaW5lZCBpbiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjMwNDc4ODgvNTE1MTI0XG4gICAgLy8gc3ZnIGFbKnxocmVmXSBkb2VzIG5vdCBtYXRjaCBpbiBJRTksIGJ1dCBzaW5jZSB3ZSdyZSBmaWx0ZXJpbmdcbiAgICAvLyB0aHJvdWdoIGlzL2ZvY3VzYWJsZSB3ZSBjYW4gaW5jbHVkZSBhbGwgPGE+IGZyb20gU1ZHXG4gICAgXCJzdmcgYSxcIiArIC8vIG1heSBiZWhhdmUgYXMgJ3N2Zywgc3ZnICosJyBpbiBjaHJvbWUgYXMgKmV2ZXJ5KiBzdmcgZWxlbWVudCB3aXRoIGEgZm9jdXMgZXZlbnQgbGlzdGVuZXIgaXMgZm9jdXNhYmxlXG4gICAgLy8gbmF2aWdhdGlvbmFsIGVsZW1lbnRzXG4gICAgXCJhW2hyZWZdLFwiICsgLy8gdmFsaWRpdHkgZGV0ZXJtaW5lZCBieSBpcy92YWxpZC1hcmVhLmpzXG4gICAgXCJhcmVhW2hyZWZdLFwiICsgLy8gdmFsaWRpdHkgZGV0ZXJtaW5lZCBieSBpcy9kaXNhYmxlZC5qc1xuICAgIFwiaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbixcIiArIC8vIGJyb3dzaW5nIGNvbnRleHQgY29udGFpbmVyc1xuICAgIFwiaWZyYW1lLCBvYmplY3QsIGVtYmVkLFwiICsgLy8gaW50ZXJhY3RpdmUgY29udGVudFxuICAgIFwia2V5Z2VuLFwiICsgKHN1cHBvcnRzJDYuZm9jdXNBdWRpb1dpdGhvdXRDb250cm9scyA/IFwiYXVkaW8sXCIgOiBcImF1ZGlvW2NvbnRyb2xzXSxcIikgKyAoc3VwcG9ydHMkNi5mb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzID8gXCJ2aWRlbyxcIiA6IFwidmlkZW9bY29udHJvbHNdLFwiKSArIChzdXBwb3J0cyQ2LmZvY3VzU3VtbWFyeSA/IFwic3VtbWFyeSxcIiA6IFwiXCIpICsgLy8gdmFsaWRpdHkgZGV0ZXJtaW5lZCBieSBpcy92YWxpZC10YWJpbmRleC5qc1xuICAgIFwiW3RhYmluZGV4XSxcIiArIC8vIGVkaXRpbmcgaG9zdHNcbiAgICBcIltjb250ZW50ZWRpdGFibGVdXCI7XG4gICAgLy8gd2hlcmUgU2hhZG93RE9NIGlzIHN1cHBvcnRlZCwgd2UgYWxzbyB3YW50IHRoZSBzaGFkb3dlZCBmb2N1c2FibGUgZWxlbWVudHMgKHZpYSBcIj4+PlwiIG9yIFwiL2RlZXAvXCIpXG4gICAgc2VsZWN0b3IkMSA9IHNlbGVjdEluU2hhZG93cyhzZWxlY3RvciQxKTtcbiAgICByZXR1cm4gc2VsZWN0b3IkMTtcbn1cbmZ1bmN0aW9uIHF1ZXJ5Rm9jdXNhYmxlUXVpY2soKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBpbmNsdWRlQ29udGV4dCA9IF9yZWYuaW5jbHVkZUNvbnRleHQsIGluY2x1ZGVPbmx5VGFiYmFibGUgPSBfcmVmLmluY2x1ZGVPbmx5VGFiYmFibGU7XG4gICAgdmFyIF9zZWxlY3RvciA9IHNlbGVjdG9yJDIoKTtcbiAgICB2YXIgZWxlbWVudHMgPSBjb250ZXh0LnF1ZXJ5U2VsZWN0b3JBbGwoX3NlbGVjdG9yKTtcbiAgICAvLyB0aGUgc2VsZWN0b3IgcG90ZW50aWFsbHkgbWF0Y2hlcyBtb3JlIHRoYW4gcmVhbGx5IGlzIGZvY3VzYWJsZVxuICAgIHZhciBfaXNGb2N1c2FibGUgPSBpc0ZvY3VzYWJsZS5ydWxlcy5leGNlcHQoe1xuICAgICAgICBvbmx5VGFiYmFibGU6IGluY2x1ZGVPbmx5VGFiYmFibGVcbiAgICB9KTtcbiAgICB2YXIgcmVzdWx0ID0gW10uZmlsdGVyLmNhbGwoZWxlbWVudHMsIF9pc0ZvY3VzYWJsZSk7XG4gICAgLy8gYWRkIGNvbnRleHQgaWYgcmVxdWVzdGVkIGFuZCBmb2N1c2FibGVcbiAgICBpZiAoaW5jbHVkZUNvbnRleHQgJiYgX2lzRm9jdXNhYmxlKGNvbnRleHQpKSB7XG4gICAgICAgIHJlc3VsdC51bnNoaWZ0KGNvbnRleHQpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gcXVlcnlGb2N1c2FibGUoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBpbmNsdWRlQ29udGV4dCA9IF9yZWYuaW5jbHVkZUNvbnRleHQsIGluY2x1ZGVPbmx5VGFiYmFibGUgPSBfcmVmLmluY2x1ZGVPbmx5VGFiYmFibGUsIF9yZWYkc3RyYXRlZ3kgPSBfcmVmLnN0cmF0ZWd5LCBzdHJhdGVneSA9IF9yZWYkc3RyYXRlZ3kgPT09IHVuZGVmaW5lZCA/IFwicXVpY2tcIiA6IF9yZWYkc3RyYXRlZ3k7XG4gICAgdmFyIGVsZW1lbnQgPSBjb250ZXh0VG9FbGVtZW50KHtcbiAgICAgICAgbGFiZWw6IFwicXVlcnkvZm9jdXNhYmxlXCIsXG4gICAgICAgIHJlc29sdmVEb2N1bWVudDogdHJ1ZSxcbiAgICAgICAgZGVmYXVsdFRvRG9jdW1lbnQ6IHRydWUsXG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHRcbiAgICB9KTtcbiAgICB2YXIgb3B0aW9ucyA9IHtcbiAgICAgICAgY29udGV4dDogZWxlbWVudCxcbiAgICAgICAgaW5jbHVkZUNvbnRleHQ6IGluY2x1ZGVDb250ZXh0LFxuICAgICAgICBpbmNsdWRlT25seVRhYmJhYmxlOiBpbmNsdWRlT25seVRhYmJhYmxlLFxuICAgICAgICBzdHJhdGVneTogc3RyYXRlZ3lcbiAgICB9O1xuICAgIGlmIChzdHJhdGVneSA9PT0gXCJxdWlja1wiKSB7XG4gICAgICAgIHJldHVybiBxdWVyeUZvY3VzYWJsZVF1aWNrKG9wdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAoc3RyYXRlZ3kgPT09IFwic3RyaWN0XCIgfHwgc3RyYXRlZ3kgPT09IFwiYWxsXCIpIHtcbiAgICAgICAgcmV0dXJuIHF1ZXJ5Rm9jdXNhYmxlU3RyaWN0KG9wdGlvbnMpO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdxdWVyeS9mb2N1c2FibGUgcmVxdWlyZXMgb3B0aW9uLnN0cmF0ZWd5IHRvIGJlIG9uZSBvZiBbXCJxdWlja1wiLCBcInN0cmljdFwiLCBcImFsbFwiXScpO1xufVxudmFyIHN1cHBvcnRzJDcgPSB2b2lkIDA7XG4vLyBJbnRlcm5ldCBFeHBsb3JlciAxMSBjb25zaWRlcnMgZmllbGRzZXQsIHRhYmxlLCB0ZCBmb2N1c2FibGUsIGJ1dCBub3QgdGFiYmFibGVcbi8vIEludGVybmV0IEV4cGxvcmVyIDExIGNvbnNpZGVycyBib2R5IHRvIGhhdmUgW3RhYmluZGV4PTBdLCBidXQgZG9lcyBub3QgYWxsb3cgdGFiYmluZyB0byBpdFxudmFyIGZvY3VzYWJsZUVsZW1lbnRzUGF0dGVybiA9IC9eKGZpZWxkc2V0fHRhYmxlfHRkfGJvZHkpJC87XG5mdW5jdGlvbiBpc1RhYmJhYmxlUnVsZXMoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBfcmVmJGV4Y2VwdCA9IF9yZWYuZXhjZXB0LCBleGNlcHQgPSBfcmVmJGV4Y2VwdCA9PT0gdW5kZWZpbmVkID8ge1xuICAgICAgICBmbGV4Ym94OiBmYWxzZSxcbiAgICAgICAgc2Nyb2xsYWJsZTogZmFsc2UsXG4gICAgICAgIHNoYWRvdzogZmFsc2UsXG4gICAgICAgIHZpc2libGU6IGZhbHNlLFxuICAgICAgICBvbmx5VGFiYmFibGU6IGZhbHNlXG4gICAgfSA6IF9yZWYkZXhjZXB0O1xuICAgIGlmICghc3VwcG9ydHMkNykge1xuICAgICAgICBzdXBwb3J0cyQ3ID0gX3N1cHBvcnRzKCk7XG4gICAgfVxuICAgIHZhciBlbGVtZW50ID0gY29udGV4dFRvRWxlbWVudCh7XG4gICAgICAgIGxhYmVsOiBcImlzL3RhYmJhYmxlXCIsXG4gICAgICAgIHJlc29sdmVEb2N1bWVudDogdHJ1ZSxcbiAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgIH0pO1xuICAgIGlmIChwbGF0Zm9ybS5pcy5CTElOSyAmJiBwbGF0Zm9ybS5pcy5BTkRST0lEICYmIHBsYXRmb3JtLm1ham9yVmVyc2lvbiA+IDQyKSB7XG4gICAgICAgIC8vIEV4dGVybmFsIGtleWJvYXJkIHN1cHBvcnQgd29ya2VkIGZpbmUgaW4gQ0hyb21lIDQyLCBidXQgc3RvcHBlZCB3b3JraW5nIGluIENocm9tZSA0NS5cbiAgICAgICAgLy8gVGhlIG9uLXNjcmVlbiBrZXlib2FyZCBkb2VzIG5vdCBwcm92aWRlIGEgd2F5IHRvIGZvY3VzIHRoZSBuZXh0IGlucHV0IGVsZW1lbnQgKGxpa2UgaU9TIGRvZXMpLlxuICAgICAgICAvLyBUaGF0IGxlYXZlcyB1cyB3aXRoIG5vIG9wdGlvbiB0byBhZHZhbmNlIGZvY3VzIGJ5IGtleWJvYXJkLCBlcmdvIG5vdGhpbmcgaXMgdGFiYmFibGUgKGtleWJvYXJkIGZvY3VzYWJsZSkuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgdmFyIGZyYW1lRWxlbWVudCA9IGdldEZyYW1lRWxlbWVudChlbGVtZW50KTtcbiAgICBpZiAoZnJhbWVFbGVtZW50KSB7XG4gICAgICAgIGlmIChwbGF0Zm9ybS5pcy5XRUJLSVQgJiYgcGxhdGZvcm0uaXMuSU9TKSB7XG4gICAgICAgICAgICAvLyBpT1Mgb25seSBkb2VzIG5vdCBjb25zaWRlciBhbnl0aGluZyBmcm9tIGFub3RoZXIgYnJvd3NpbmcgY29udGV4dCBrZXlib2FyZCBmb2N1c2FibGVcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBpZnJhbWVbdGFiaW5kZXg9XCItMVwiXSBhbmQgb2JqZWN0W3RhYmluZGV4PVwiLTFcIl0gaW5oZXJpdCB0aGVcbiAgICAgICAgLy8gdGFiYmFibGUgZGVtb3Rpb24gb250byBlbGVtZW50cyBvZiB0aGVpciBicm93c2luZyBjb250ZXh0c1xuICAgICAgICBpZiAodGFiaW5kZXhWYWx1ZShmcmFtZUVsZW1lbnQpIDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZXhjZXB0LnZpc2libGUgJiYgKHBsYXRmb3JtLmlzLkJMSU5LIHx8IHBsYXRmb3JtLmlzLldFQktJVCkgJiYgIWlzVmlzaWJsZShmcmFtZUVsZW1lbnQpKSB7XG4gICAgICAgICAgICAvLyBCbGluayBhbmQgV2ViS2l0IGNvbnNpZGVyIGVsZW1lbnRzIGluIGhpZGRlbiBicm93c2luZyBjb250ZXh0cyBmb2N1c2FibGUsIGJ1dCBub3QgdGFiYmFibGVcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZWJraXQgYW5kIEJsaW5rIGRvbid0IGNvbnNpZGVyIGFueXRoaW5nIGluIDxvYmplY3Q+IHRhYmJhYmxlXG4gICAgICAgIC8vIEJsaW5rIGZpeGVkIHRoYXQgZml4ZWQgaW4gQ2hyb21lIDU0LCBPcGVyYSA0MVxuICAgICAgICB2YXIgZnJhbWVOb2RlTmFtZSA9IGZyYW1lRWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICBpZiAoZnJhbWVOb2RlTmFtZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgdmFyIGlzRml4ZWRCbGluayA9IHBsYXRmb3JtLm5hbWUgPT09IFwiQ2hyb21lXCIgJiYgcGxhdGZvcm0ubWFqb3JWZXJzaW9uID49IDU0IHx8IHBsYXRmb3JtLm5hbWUgPT09IFwiT3BlcmFcIiAmJiBwbGF0Zm9ybS5tYWpvclZlcnNpb24gPj0gNDE7XG4gICAgICAgICAgICBpZiAocGxhdGZvcm0uaXMuV0VCS0lUIHx8IHBsYXRmb3JtLmlzLkJMSU5LICYmICFpc0ZpeGVkQmxpbmspIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgIHZhciBfdGFiaW5kZXggPSB0YWJpbmRleFZhbHVlKGVsZW1lbnQpO1xuICAgIHZhciB0YWJpbmRleCA9IF90YWJpbmRleCA9PT0gbnVsbCA/IG51bGwgOiBfdGFiaW5kZXggPj0gMDtcbiAgICBpZiAocGxhdGZvcm0uaXMuRURHRSAmJiBwbGF0Zm9ybS5tYWpvclZlcnNpb24gPj0gMTQgJiYgZnJhbWVFbGVtZW50ICYmIGVsZW1lbnQub3duZXJTVkdFbGVtZW50ICYmIF90YWJpbmRleCA8IDApIHtcbiAgICAgICAgLy8gRWRnZSAxNCsgY29uc2lkZXJzIDxhIHhsaW5rOmhyZWY9XCLigKZcIiB0YWJpbmRleD1cIi0xXCI+IGtleWJvYXJkIGZvY3VzYWJsZVxuICAgICAgICAvLyBpZiB0aGUgZWxlbWVudCBpcyBpbiBhIG5lc3RlZCBicm93c2luZyBjb250ZXh0XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgaGFzVGFiYmFibGVUYWJpbmRleE9yTm9uZSA9IHRhYmluZGV4ICE9PSBmYWxzZTtcbiAgICB2YXIgaGFzVGFiYmFibGVUYWJpbmRleCA9IF90YWJpbmRleCAhPT0gbnVsbCAmJiBfdGFiaW5kZXggPj0gMDtcbiAgICAvLyBOT1RFOiBGaXJlZm94IDMxIGNvbnNpZGVycyBbY29udGVudGVkaXRhYmxlXSB0byBoYXZlIFt0YWJpbmRleD0tMV0sIGJ1dCBhbGxvd3MgdGFiYmluZyB0byBpdFxuICAgIC8vIGZpeGVkIGluIEZpcmVmb3ggNDAgdGhlIGxhdGVzdCAtIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTExODU2NTdcbiAgICBpZiAoZWxlbWVudC5oYXNBdHRyaWJ1dGUoXCJjb250ZW50ZWRpdGFibGVcIikpIHtcbiAgICAgICAgLy8gdGFiYmluZyBjYW4gc3RpbGwgYmUgZGlzYWJsZWQgYnkgZXhwbGljaXRseSBwcm92aWRpbmcgW3RhYmluZGV4PVwiLTFcIl1cbiAgICAgICAgcmV0dXJuIGhhc1RhYmJhYmxlVGFiaW5kZXhPck5vbmU7XG4gICAgfVxuICAgIGlmIChmb2N1c2FibGVFbGVtZW50c1BhdHRlcm4udGVzdChub2RlTmFtZSkgJiYgdGFiaW5kZXggIT09IHRydWUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAocGxhdGZvcm0uaXMuV0VCS0lUICYmIHBsYXRmb3JtLmlzLklPUykge1xuICAgICAgICAvLyBpT1Mgb25seSBjb25zaWRlcnMgYSBoYW5kIGZ1bGwgb2YgZWxlbWVudHMgdGFiYmFibGUgKGtleWJvYXJkIGZvY3VzYWJsZSlcbiAgICAgICAgLy8gdGhpcyBob2xkcyB0cnVlIGV2ZW4gd2l0aCBleHRlcm5hbCBrZXlib2FyZHNcbiAgICAgICAgdmFyIHBvdGVudGlhbGx5VGFiYmFibGUgPSBub2RlTmFtZSA9PT0gXCJpbnB1dFwiICYmIGVsZW1lbnQudHlwZSA9PT0gXCJ0ZXh0XCIgfHwgZWxlbWVudC50eXBlID09PSBcInBhc3N3b3JkXCIgfHwgbm9kZU5hbWUgPT09IFwic2VsZWN0XCIgfHwgbm9kZU5hbWUgPT09IFwidGV4dGFyZWFcIiB8fCBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImNvbnRlbnRlZGl0YWJsZVwiKTtcbiAgICAgICAgaWYgKCFwb3RlbnRpYWxseVRhYmJhYmxlKSB7XG4gICAgICAgICAgICB2YXIgc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKTtcbiAgICAgICAgICAgIHBvdGVudGlhbGx5VGFiYmFibGUgPSBpc1VzZXJNb2RpZnlXcml0YWJsZShzdHlsZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFwb3RlbnRpYWxseVRhYmJhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcInVzZVwiICYmIF90YWJpbmRleCAhPT0gbnVsbCkge1xuICAgICAgICBpZiAocGxhdGZvcm0uaXMuQkxJTksgfHwgcGxhdGZvcm0uaXMuV0VCS0lUICYmIHBsYXRmb3JtLm1ham9yVmVyc2lvbiA9PT0gOSkge1xuICAgICAgICAgICAgLy8gSW4gQ2hyb21lIGFuZCBTYWZhcmkgOSB0aGUgPHVzZT4gZWxlbWVudCBpcyBrZXlib2FyZCBmb2N1c2FibGUgZXZlbiBmb3IgdGFiaW5kZXg9XCItMVwiXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZWxlbWVudE1hdGNoZXMoZWxlbWVudCwgXCJzdmcgYVwiKSAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcInhsaW5rOmhyZWZcIikpIHtcbiAgICAgICAgaWYgKGhhc1RhYmJhYmxlVGFiaW5kZXhPck5vbmUpIHtcbiAgICAgICAgICAgIC8vIGluIFRyaWRlbnQgYW5kIEdlY2tvIFNWR0VsZW1lbnQgZG9lcyBub3QgaGFuZGxlIHRoZSB0YWJJbmRleCBwcm9wZXJ0eSBwcm9wZXJseVxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnQuZm9jdXMgJiYgIXN1cHBvcnRzJDcuZm9jdXNTdmdOZWdhdGl2ZVRhYmluZGV4QXR0cmlidXRlKSB7XG4gICAgICAgICAgICAvLyBGaXJlZm94IDUxIGFuZCA1MiB0cmVhdCBhbnkgbmF0aXZlbHkgdGFiYmFibGUgU1ZHIGVsZW1lbnQgd2l0aFxuICAgICAgICAgICAgLy8gdGFiaW5kZXg9XCItMVwiIGFzIHRhYmJhYmxlIGFuZCBldmVyeXRoaW5nIGVsc2UgYXMgaW5lcnRcbiAgICAgICAgICAgIC8vIHNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzAyMzQwXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwic3ZnXCIgJiYgc3VwcG9ydHMkNy5mb2N1c1N2Z0luSWZyYW1lICYmIGhhc1RhYmJhYmxlVGFiaW5kZXhPck5vbmUpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChwbGF0Zm9ybS5pcy5UUklERU5UIHx8IHBsYXRmb3JtLmlzLkVER0UpIHtcbiAgICAgICAgaWYgKG5vZGVOYW1lID09PSBcInN2Z1wiKSB7XG4gICAgICAgICAgICBpZiAoc3VwcG9ydHMkNy5mb2N1c1N2Zykge1xuICAgICAgICAgICAgICAgIC8vIG9sZGVyIEludGVybmV0IEV4cGxvcmVycyBjb25zaWRlciA8c3ZnPiBrZXlib2FyZCBmb2N1c2FibGVcbiAgICAgICAgICAgICAgICAvLyB1bmxlc3MgdGhleSBoYXZlIGZvY3NhYmxlPVwiZmFsc2VcIiwgYnV0IHRoZW4gdGhleSB3b3VsZG4ndFxuICAgICAgICAgICAgICAgIC8vIGJlIGZvY3VzYWJsZSBhbmQgdGh1cyBub3QgZXZlbiByZWFjaCB0aGlzIGZpbHRlclxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZWxlbWVudHMgdGhhdCBoYXZlIFtmb2N1c2FibGVdIGFyZSBhdXRvbWF0aWNhbGx5IGtleWJvYXJkIGZvY3VzYWJsZSByZWdhcmRsZXNzIG9mIHRoZSBhdHRyaWJ1dGUncyB2YWx1ZVxuICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQuaGFzQXR0cmlidXRlKFwiZm9jdXNhYmxlXCIpIHx8IGhhc1RhYmJhYmxlVGFiaW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVsZW1lbnQub3duZXJTVkdFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAoc3VwcG9ydHMkNy5mb2N1c1N2Z1RhYmluZGV4QXR0cmlidXRlICYmIGhhc1RhYmJhYmxlVGFiaW5kZXgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGVsZW1lbnRzIHRoYXQgaGF2ZSBbZm9jdXNhYmxlXSBhcmUgYXV0b21hdGljYWxseSBrZXlib2FyZCBmb2N1c2FibGUgcmVnYXJkbGVzcyBvZiB0aGUgYXR0cmlidXRlJ3MgdmFsdWVcbiAgICAgICAgICAgIHJldHVybiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShcImZvY3VzYWJsZVwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoZWxlbWVudC50YWJJbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBCb29sZWFuKGV4Y2VwdC5vbmx5VGFiYmFibGUpO1xuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwiYXVkaW9cIikge1xuICAgICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlKFwiY29udHJvbHNcIikpIHtcbiAgICAgICAgICAgIC8vIEluIEludGVybmV0IEV4cGxvcmVyIHRoZSA8YXVkaW8+IGVsZW1lbnQgaXMgZm9jdXNhYmxlLCBidXQgbm90IHRhYmJhYmxlLCBhbmQgdGFiSW5kZXggcHJvcGVydHkgaXMgd3JvbmdcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChwbGF0Zm9ybS5pcy5CTElOSykge1xuICAgICAgICAgICAgLy8gSW4gQ2hyb21lIDxhdWRpbyBjb250cm9scyB0YWJpbmRleD1cIi0xXCI+IHJlbWFpbnMga2V5Ym9hcmQgZm9jdXNhYmxlXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAobm9kZU5hbWUgPT09IFwidmlkZW9cIikge1xuICAgICAgICBpZiAoIWVsZW1lbnQuaGFzQXR0cmlidXRlKFwiY29udHJvbHNcIikpIHtcbiAgICAgICAgICAgIGlmIChwbGF0Zm9ybS5pcy5UUklERU5UIHx8IHBsYXRmb3JtLmlzLkVER0UpIHtcbiAgICAgICAgICAgICAgICAvLyBJbiBJbnRlcm5ldCBFeHBsb3JlciBhbmQgRWRnZSB0aGUgPHZpZGVvPiBlbGVtZW50IGlzIGZvY3VzYWJsZSwgYnV0IG5vdCB0YWJiYWJsZSwgYW5kIHRhYkluZGV4IHByb3BlcnR5IGlzIHdyb25nXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHBsYXRmb3JtLmlzLkJMSU5LIHx8IHBsYXRmb3JtLmlzLkdFQ0tPKSB7XG4gICAgICAgICAgICAvLyBJbiBDaHJvbWUgYW5kIEZpcmVmb3ggPHZpZGVvIGNvbnRyb2xzIHRhYmluZGV4PVwiLTFcIj4gcmVtYWlucyBrZXlib2FyZCBmb2N1c2FibGVcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlTmFtZSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICBpZiAocGxhdGZvcm0uaXMuQkxJTksgfHwgcGxhdGZvcm0uaXMuV0VCS0lUKSB7XG4gICAgICAgICAgICAvLyBJbiBhbGwgQmxpbmsgYW5kIFdlYktpdCBiYXNlZCBicm93c2VycyA8ZW1iZWQ+IGFuZCA8b2JqZWN0PiBhcmUgbmV2ZXIga2V5Ym9hcmQgZm9jdXNhYmxlLCBldmVuIHdpdGggdGFiaW5kZXg9XCIwXCIgc2V0XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKG5vZGVOYW1lID09PSBcImlmcmFtZVwiKSB7XG4gICAgICAgIC8vIEluIEludGVybmV0IEV4cGxvcmVyIGFsbCBpZnJhbWVzIGFyZSBvbmx5IGZvY3VzYWJsZVxuICAgICAgICAvLyBJbiBXZWJLaXQsIEJsaW5rIGFuZCBHZWNrbyBpZnJhbWVzIG1heSBiZSB0YWJiYWJsZSBkZXBlbmRpbmcgb24gY29udGVudC5cbiAgICAgICAgLy8gU2luY2Ugd2UgY2FuJ3QgcmVsaWFibHkgaW52ZXN0aWdhdGUgaWZyYW1lIGRvY3VtZW50cyBiZWNhdXNlIG9mIHRoZVxuICAgICAgICAvLyBTYW1lT3JpZ2luUG9saWN5LCB3ZSdyZSBkZWNsYXJpbmcgZXZlcnl0aGluZyBvbmx5IGZvY3VzYWJsZS5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWV4Y2VwdC5zY3JvbGxhYmxlICYmIHBsYXRmb3JtLmlzLkdFQ0tPKSB7XG4gICAgICAgIC8vIEZpcmVmb3ggY29uc2lkZXJzIHNjcm9sbGFibGUgY29udGFpbmVycyBrZXlib2FyZCBmb2N1c2FibGUsXG4gICAgICAgIC8vIGV2ZW4gdGhvdWdoIHRoZWlyIHRhYkluZGV4IHByb3BlcnR5IGlzIC0xXG4gICAgICAgIHZhciBfc3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlbGVtZW50LCBudWxsKTtcbiAgICAgICAgaWYgKGhhc0Nzc092ZXJmbG93U2Nyb2xsKF9zdHlsZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBoYXNUYWJiYWJsZVRhYmluZGV4T3JOb25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChwbGF0Zm9ybS5pcy5UUklERU5UIHx8IHBsYXRmb3JtLmlzLkVER0UpIHtcbiAgICAgICAgLy8gSUUgYW5kIEVkZ2UgZGVncmFkZSA8YXJlYT4gdG8gc2NyaXB0IGZvY3VzYWJsZSwgaWYgdGhlIGltYWdlXG4gICAgICAgIC8vIHVzaW5nIHRoZSA8bWFwPiBoYXMgYmVlbiBnaXZlbiB0YWJpbmRleD1cIi0xXCJcbiAgICAgICAgaWYgKG5vZGVOYW1lID09PSBcImFyZWFcIikge1xuICAgICAgICAgICAgdmFyIGltZyA9IGdldEltYWdlT2ZBcmVhKGVsZW1lbnQpO1xuICAgICAgICAgICAgaWYgKGltZyAmJiB0YWJpbmRleFZhbHVlKGltZykgPCAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciBfc3R5bGUyID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoZWxlbWVudCwgbnVsbCk7XG4gICAgICAgIGlmIChpc1VzZXJNb2RpZnlXcml0YWJsZShfc3R5bGUyKSkge1xuICAgICAgICAgICAgLy8gcHJldmVudCBiZWluZyBzd2FsbG93ZWQgYnkgdGhlIG92ZXJ6ZWFsb3VzIGlzU2Nyb2xsYWJsZUNvbnRhaW5lcigpIGJlbG93XG4gICAgICAgICAgICByZXR1cm4gZWxlbWVudC50YWJJbmRleCA+PSAwO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZXhjZXB0LmZsZXhib3ggJiYgaGFzQ3NzRGlzcGxheUZsZXgoX3N0eWxlMikpIHtcbiAgICAgICAgICAgIGlmIChfdGFiaW5kZXggIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzVGFiYmFibGVUYWJpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBpc0ZvY3VzUmVsZXZhbnRXaXRob3V0RmxleGJveChlbGVtZW50KSAmJiBpc1RhYmJhYmxlV2l0aG91dEZsZXhib3goZWxlbWVudCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSUUgY29uc2lkZXJzIHNjcm9sbGFibGUgY29udGFpbmVycyBzY3JpcHQgZm9jdXNhYmxlIG9ubHksXG4gICAgICAgIC8vIGV2ZW4gdGhvdWdoIHRoZWlyIHRhYkluZGV4IHByb3BlcnR5IGlzIDBcbiAgICAgICAgaWYgKGlzU2Nyb2xsYWJsZUNvbnRhaW5lcihlbGVtZW50LCBub2RlTmFtZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcGFyZW50ID0gZWxlbWVudC5wYXJlbnRFbGVtZW50O1xuICAgICAgICBpZiAocGFyZW50KSB7XG4gICAgICAgICAgICB2YXIgcGFyZW50Tm9kZU5hbWUgPSBwYXJlbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICAgIHZhciBwYXJlbnRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHBhcmVudCwgbnVsbCk7XG4gICAgICAgICAgICAvLyBJRSBjb25zaWRlcnMgc2Nyb2xsYWJsZSBib2RpZXMgc2NyaXB0IGZvY3VzYWJsZSBvbmx5LFxuICAgICAgICAgICAgaWYgKGlzU2Nyb2xsYWJsZUNvbnRhaW5lcihwYXJlbnQsIG5vZGVOYW1lLCBwYXJlbnROb2RlTmFtZSwgcGFyZW50U3R5bGUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQ2hpbGRyZW4gb2YgZm9jdXNhYmxlIGVsZW1lbnRzIHdpdGggZGlzcGxheTpmbGV4IGFyZSBmb2N1c2FibGUgaW4gSUUxMC0xMSxcbiAgICAgICAgICAgIC8vIGV2ZW4gdGhvdWdoIHRoZWlyIHRhYkluZGV4IHByb3BlcnR5IHN1Z2dlc3RzIG90aGVyd2lzZVxuICAgICAgICAgICAgaWYgKGhhc0Nzc0Rpc3BsYXlGbGV4KHBhcmVudFN0eWxlKSkge1xuICAgICAgICAgICAgICAgIC8vIHZhbHVlIG9mIHRhYmluZGV4IHRha2VzIHByZWNlZGVuY2VcbiAgICAgICAgICAgICAgICByZXR1cm4gaGFzVGFiYmFibGVUYWJpbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBodHRwczovL3d3dy53My5vcmcvV0FJL1BGL2FyaWEtcHJhY3RpY2VzLyNmb2N1c190YWJpbmRleFxuICAgIHJldHVybiBlbGVtZW50LnRhYkluZGV4ID49IDA7XG59XG4vLyBiaW5kIGV4Y2VwdGlvbnMgdG8gYW4gaXRlcmF0b3IgY2FsbGJhY2tcbmlzVGFiYmFibGVSdWxlcy5leGNlcHQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgZXhjZXB0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fTtcbiAgICB2YXIgaXNUYWJiYWJsZSA9IGZ1bmN0aW9uIGlzVGFiYmFibGUoY29udGV4dCkge1xuICAgICAgICByZXR1cm4gaXNUYWJiYWJsZVJ1bGVzKHtcbiAgICAgICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgICAgICBleGNlcHQ6IGV4Y2VwdFxuICAgICAgICB9KTtcbiAgICB9O1xuICAgIGlzVGFiYmFibGUucnVsZXMgPSBpc1RhYmJhYmxlUnVsZXM7XG4gICAgcmV0dXJuIGlzVGFiYmFibGU7XG59O1xudmFyIGlzRm9jdXNSZWxldmFudFdpdGhvdXRGbGV4Ym94ID0gaXNGb2N1c1JlbGV2YW50LnJ1bGVzLmV4Y2VwdCh7XG4gICAgZmxleGJveDogdHJ1ZVxufSk7XG52YXIgaXNUYWJiYWJsZVdpdGhvdXRGbGV4Ym94ID0gaXNUYWJiYWJsZVJ1bGVzLmV4Y2VwdCh7XG4gICAgZmxleGJveDogdHJ1ZVxufSk7XG4vLyBwcm92aWRlIGlzVGFiYmFibGUoY29udGV4dCkgYXMgZGVmYXVsdCBpdGVyYXRvciBjYWxsYmFja1xudmFyIGlzVGFiYmFibGUgPSBpc1RhYmJhYmxlUnVsZXMuZXhjZXB0KHt9KTtcbmZ1bmN0aW9uIHF1ZXJ5VGFiYmFibGUoKSB7XG4gICAgdmFyIF9yZWYgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9LCBjb250ZXh0ID0gX3JlZi5jb250ZXh0LCBpbmNsdWRlQ29udGV4dCA9IF9yZWYuaW5jbHVkZUNvbnRleHQsIGluY2x1ZGVPbmx5VGFiYmFibGUgPSBfcmVmLmluY2x1ZGVPbmx5VGFiYmFibGUsIHN0cmF0ZWd5ID0gX3JlZi5zdHJhdGVneTtcbiAgICB2YXIgX2lzVGFiYmFibGUgPSBpc1RhYmJhYmxlLnJ1bGVzLmV4Y2VwdCh7XG4gICAgICAgIG9ubHlUYWJiYWJsZTogaW5jbHVkZU9ubHlUYWJiYWJsZVxuICAgIH0pO1xuICAgIHJldHVybiBxdWVyeUZvY3VzYWJsZSh7XG4gICAgICAgIGNvbnRleHQ6IGNvbnRleHQsXG4gICAgICAgIGluY2x1ZGVDb250ZXh0OiBpbmNsdWRlQ29udGV4dCxcbiAgICAgICAgaW5jbHVkZU9ubHlUYWJiYWJsZTogaW5jbHVkZU9ubHlUYWJiYWJsZSxcbiAgICAgICAgc3RyYXRlZ3k6IHN0cmF0ZWd5XG4gICAgfSkuZmlsdGVyKF9pc1RhYmJhYmxlKTtcbn1cbi8vIHNvcnRzIGEgbGlzdCBvZiBlbGVtZW50cyBhY2NvcmRpbmcgdG8gdGhlaXIgb3JkZXIgaW4gdGhlIERPTVxuZnVuY3Rpb24gY29tcGFyZURvbVBvc2l0aW9uKGEsIGIpIHtcbiAgICByZXR1cm4gYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihiKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HID8gLTEgOiAxO1xufVxuZnVuY3Rpb24gc29ydERvbU9yZGVyKGVsZW1lbnRzKSB7XG4gICAgcmV0dXJuIGVsZW1lbnRzLnNvcnQoY29tcGFyZURvbVBvc2l0aW9uKTtcbn1cbmZ1bmN0aW9uIGdldEZpcnN0U3VjY2Vzc29yT2Zmc2V0KGxpc3QsIHRhcmdldCkge1xuICAgIC8vIGZpbmQgdGhlIGZpcnN0IGVsZW1lbnQgdGhhdCBjb21lcyBBRlRFUiB0aGUgdGFyZ2V0IGVsZW1lbnRcbiAgICByZXR1cm4gZmluZEluZGV4KGxpc3QsIGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIHRhcmdldC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihlbGVtZW50KSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fRk9MTE9XSU5HO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZmluZEluc2VydGlvbk9mZnNldHMobGlzdCwgZWxlbWVudHMsIHJlc29sdmVFbGVtZW50KSB7XG4gICAgLy8gaW5zdGVhZCBvZiBtdXRhdGluZyB0aGUgZWxlbWVudHMgbGlzdCBkaXJlY3RseSwgcmVtZW1iZXIgcG9zaXRpb24gYW5kIG1hcFxuICAgIC8vIHRvIGluamVjdCBsYXRlciwgd2hlbiB3ZSBjYW4gZG8gdGhpcyBtb3JlIGVmZmljaWVudGx5XG4gICAgdmFyIGluc2VydGlvbnMgPSBbXTtcbiAgICBlbGVtZW50cy5mb3JFYWNoKGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgdmFyIHJlcGxhY2UgPSB0cnVlO1xuICAgICAgICB2YXIgb2Zmc2V0ID0gbGlzdC5pbmRleE9mKGVsZW1lbnQpO1xuICAgICAgICBpZiAob2Zmc2V0ID09PSAtMSkge1xuICAgICAgICAgICAgLy8gZWxlbWVudCBpcyBub3QgaW4gdGFyZ2V0IGxpc3RcbiAgICAgICAgICAgIG9mZnNldCA9IGdldEZpcnN0U3VjY2Vzc29yT2Zmc2V0KGxpc3QsIGVsZW1lbnQpO1xuICAgICAgICAgICAgcmVwbGFjZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvZmZzZXQgPT09IC0xKSB7XG4gICAgICAgICAgICAvLyB0aGVyZSBpcyBubyBzdWNjZXNzb3IgaW4gdGhlIHRhYnNlcXVlbmNlLFxuICAgICAgICAgICAgLy8gbWVhbmluZyB0aGUgaW1hZ2UgbXVzdCBiZSB0aGUgbGFzdCBlbGVtZW50XG4gICAgICAgICAgICBvZmZzZXQgPSBsaXN0Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICAvLyBhbGxvdyB0aGUgY29uc3VtZXIgdG8gcmVwbGFjZSB0aGUgaW5qZWN0ZWQgZWxlbWVudFxuICAgICAgICB2YXIgaW5qZWN0aW9ucyA9IG5vZGVBcnJheShyZXNvbHZlRWxlbWVudCA/IHJlc29sdmVFbGVtZW50KGVsZW1lbnQpIDogZWxlbWVudCk7XG4gICAgICAgIGlmICghaW5qZWN0aW9ucy5sZW5ndGgpIHtcbiAgICAgICAgICAgIC8vIHdlIGNhbid0IGluamVjdCB6ZXJvIGVsZW1lbnRzXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaW5zZXJ0aW9ucy5wdXNoKHtcbiAgICAgICAgICAgIG9mZnNldDogb2Zmc2V0LFxuICAgICAgICAgICAgcmVwbGFjZTogcmVwbGFjZSxcbiAgICAgICAgICAgIGVsZW1lbnRzOiBpbmplY3Rpb25zXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBpbnNlcnRpb25zO1xufVxuZnVuY3Rpb24gaW5zZXJ0RWxlbWVudHNBdE9mZnNldHMobGlzdCwgaW5zZXJ0aW9ucykge1xuICAgIC8vIHJlbWVtYmVyIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgd2UgaGF2ZSBhbHJlYWR5IGluamVjdGVkXG4gICAgLy8gc28gd2UgYWNjb3VudCBmb3IgdGhlIGNhdXNlZCBpbmRleCBvZmZzZXRcbiAgICB2YXIgaW5zZXJ0ZWQgPSAwO1xuICAgIC8vIG1ha2Ugc3VyZSB0aGF0IHdlIGluc2VydCB0aGUgZWxlbWVudHMgaW4gc2VxdWVuY2UsXG4gICAgLy8gb3RoZXJ3aXNlIHRoZSBvZmZzZXQgY29tcGVuc2F0aW9uIHdvbid0IHdvcmtcbiAgICBpbnNlcnRpb25zLnNvcnQoZnVuY3Rpb24oYSwgYikge1xuICAgICAgICByZXR1cm4gYS5vZmZzZXQgLSBiLm9mZnNldDtcbiAgICB9KTtcbiAgICBpbnNlcnRpb25zLmZvckVhY2goZnVuY3Rpb24oaW5zZXJ0aW9uKSB7XG4gICAgICAgIC8vIGFycmF5LnNwbGljZSBoYXMgYW4gYW5ub3lpbmcgZnVuY3Rpb24gc2lnbmF0dXJlIDooXG4gICAgICAgIHZhciByZW1vdmUgPSBpbnNlcnRpb24ucmVwbGFjZSA/IDEgOiAwO1xuICAgICAgICB2YXIgYXJncyA9IFtcbiAgICAgICAgICAgIGluc2VydGlvbi5vZmZzZXQgKyBpbnNlcnRlZCxcbiAgICAgICAgICAgIHJlbW92ZVxuICAgICAgICBdLmNvbmNhdChpbnNlcnRpb24uZWxlbWVudHMpO1xuICAgICAgICBsaXN0LnNwbGljZS5hcHBseShsaXN0LCBhcmdzKTtcbiAgICAgICAgaW5zZXJ0ZWQgKz0gaW5zZXJ0aW9uLmVsZW1lbnRzLmxlbmd0aCAtIHJlbW92ZTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIG1lcmdlSW5Eb21PcmRlcigpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGxpc3QgPSBfcmVmLmxpc3QsIGVsZW1lbnRzID0gX3JlZi5lbGVtZW50cywgcmVzb2x2ZUVsZW1lbnQgPSBfcmVmLnJlc29sdmVFbGVtZW50O1xuICAgIC8vIG9wZXJhdGUgb24gYSBjb3B5IHNvIHdlIGRvbid0IG11dGF0ZSB0aGUgb3JpZ2luYWwgYXJyYXlcbiAgICB2YXIgX2xpc3QgPSBsaXN0LnNsaWNlKDApO1xuICAgIC8vIG1ha2Ugc3VyZSB0aGUgZWxlbWVudHMgd2UncmUgaW5qZWN0aW5nIGFyZSBwcm92aWRlZCBpbiBET00gb3JkZXJcbiAgICB2YXIgX2VsZW1lbnRzID0gbm9kZUFycmF5KGVsZW1lbnRzKS5zbGljZSgwKTtcbiAgICBzb3J0RG9tT3JkZXIoX2VsZW1lbnRzKTtcbiAgICAvLyBmaW5kIHRoZSBvZmZzZXRzIHdpdGhpbiB0aGUgdGFyZ2V0IGFycmF5IChsaXN0KSBhdCB3aGljaCB0byBpbmplY3RcbiAgICAvLyBlYWNoIGluZGl2aWR1YWwgZWxlbWVudCAoZnJvbSBlbGVtZW50cylcbiAgICB2YXIgaW5zZXJ0aW9ucyA9IGZpbmRJbnNlcnRpb25PZmZzZXRzKF9saXN0LCBfZWxlbWVudHMsIHJlc29sdmVFbGVtZW50KTtcbiAgICAvLyBhY3R1YWxseSBpbmplY3QgdGhlIGVsZW1lbnRzIGludG8gdGhlIHRhcmdldCBhcnJheSBhdCB0aGUgaWRlbnRpZmllZCBwb3NpdGlvbnNcbiAgICBpbnNlcnRFbGVtZW50c0F0T2Zmc2V0cyhfbGlzdCwgaW5zZXJ0aW9ucyk7XG4gICAgcmV0dXJuIF9saXN0O1xufVxudmFyIF9jcmVhdGVDbGFzcyA9IGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIGRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykge1xuICAgICAgICBmb3IodmFyIGkgPSAwOyBpIDwgcHJvcHMubGVuZ3RoOyBpKyspe1xuICAgICAgICAgICAgdmFyIGRlc2NyaXB0b3IgPSBwcm9wc1tpXTtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTtcbiAgICAgICAgICAgIGRlc2NyaXB0b3IuY29uZmlndXJhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVzY3JpcHRvcikgZGVzY3JpcHRvci53cml0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBkZXNjcmlwdG9yLmtleSwgZGVzY3JpcHRvcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZ1bmN0aW9uKENvbnN0cnVjdG9yLCBwcm90b1Byb3BzLCBzdGF0aWNQcm9wcykge1xuICAgICAgICBpZiAocHJvdG9Qcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvci5wcm90b3R5cGUsIHByb3RvUHJvcHMpO1xuICAgICAgICBpZiAoc3RhdGljUHJvcHMpIGRlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTtcbiAgICAgICAgcmV0dXJuIENvbnN0cnVjdG9yO1xuICAgIH07XG59KCk7XG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7XG4gICAgaWYgKCEoaW5zdGFuY2UgaW5zdGFuY2VvZiBDb25zdHJ1Y3RvcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKTtcbiAgICB9XG59XG52YXIgTWFwcyA9IGZ1bmN0aW9uKCkge1xuICAgIGZ1bmN0aW9uIE1hcHMoY29udGV4dCkge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2sodGhpcywgTWFwcyk7XG4gICAgICAgIHRoaXMuX2RvY3VtZW50ID0gZ2V0RG9jdW1lbnQoY29udGV4dCk7XG4gICAgICAgIHRoaXMubWFwcyA9IHt9O1xuICAgIH1cbiAgICBfY3JlYXRlQ2xhc3MoTWFwcywgW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiZ2V0QXJlYXNGb3JcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBnZXRBcmVhc0ZvcihuYW1lKSB7XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm1hcHNbbmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlIG1hcCBpcyBub3QgZGVmaW5lZCB3aXRoaW4gdGhlIGNvbnRleHQsIHNvIHdlXG4gICAgICAgICAgICAgICAgICAgIC8vIGhhdmUgdG8gZ28gZmluZCBpdCBlbHNld2hlcmUgaW4gdGhlIGRvY3VtZW50XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYWRkTWFwQnlOYW1lKG5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5tYXBzW25hbWVdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiYWRkTWFwQnlOYW1lXCIsXG4gICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gYWRkTWFwQnlOYW1lKG5hbWUpIHtcbiAgICAgICAgICAgICAgICB2YXIgbWFwID0gZ2V0TWFwQnlOYW1lKG5hbWUsIHRoaXMuX2RvY3VtZW50KTtcbiAgICAgICAgICAgICAgICBpZiAoIW1hcCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBpZiB0aGVyZSBpcyBubyBtYXAsIHRoZSBpbWdbdXNlbWFwXSB3YXNuJ3QgZG9pbmcgYW55dGhpbmcgYW55d2F5XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5tYXBzW21hcC5uYW1lXSA9IHF1ZXJ5VGFiYmFibGUoe1xuICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBtYXBcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcImV4dHJhY3RBcmVhc0Zyb21MaXN0XCIsXG4gICAgICAgICAgICB2YWx1ZTogZnVuY3Rpb24gZXh0cmFjdEFyZWFzRnJvbUxpc3QoZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgYWxsIDxhcmVhPiBlbGVtZW50cyBmcm9tIHRoZSBlbGVtZW50cyBsaXN0LFxuICAgICAgICAgICAgICAgIC8vIGJ1dCBwdXQgdGhlbSB0aGUgbWFwIGZvciBsYXRlciByZXRyaWV2YWxcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIG5vZGVOYW1lID0gZWxlbWVudC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAobm9kZU5hbWUgIT09IFwiYXJlYVwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB2YXIgbWFwID0gZWxlbWVudC5wYXJlbnROb2RlO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWFwc1ttYXAubmFtZV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMubWFwc1ttYXAubmFtZV0gPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm1hcHNbbWFwLm5hbWVdLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIF0pO1xuICAgIHJldHVybiBNYXBzO1xufSgpO1xuZnVuY3Rpb24gc29ydEFyZWEoZWxlbWVudHMsIGNvbnRleHQpIHtcbiAgICAvLyBpbWFnZXMgLSB1bmxlc3MgdGhleSBhcmUgZm9jdXNhYmxlIHRoZW1zZWx2ZXMsIGxpa2VseSBub3RcbiAgICAvLyBwYXJ0IG9mIHRoZSBlbGVtZW50cyBsaXN0LCBzbyB3ZSdsbCBoYXZlIHRvIGZpbmQgdGhlbSBhbmRcbiAgICAvLyBzb3J0IHRoZW0gaW50byB0aGUgZWxlbWVudHMgbGlzdCBtYW51YWxseVxuICAgIHZhciB1c2VtYXBzID0gY29udGV4dC5xdWVyeVNlbGVjdG9yQWxsKFwiaW1nW3VzZW1hcF1cIik7XG4gICAgdmFyIG1hcHMgPSBuZXcgTWFwcyhjb250ZXh0KTtcbiAgICAvLyByZW1vdmUgYWxsIDxhcmVhPiBlbGVtZW50cyBmcm9tIHRoZSBlbGVtZW50cyBsaXN0LFxuICAgIC8vIGJ1dCBwdXQgdGhlbSB0aGUgbWFwIGZvciBsYXRlciByZXRyaWV2YWxcbiAgICB2YXIgX2VsZW1lbnRzID0gbWFwcy5leHRyYWN0QXJlYXNGcm9tTGlzdChlbGVtZW50cyk7XG4gICAgaWYgKCF1c2VtYXBzLmxlbmd0aCkge1xuICAgICAgICAvLyB0aGUgY29udGV4dCBkb2VzIG5vdCBjb250YWluIGFueSA8YXJlYT5zIHNvIG5vIG5lZWRcbiAgICAgICAgLy8gdG8gcmVwbGFjZSBhbnl0aGluZywganVzdCByZW1vdmUgYW55IG1hcHNcbiAgICAgICAgcmV0dXJuIF9lbGVtZW50cztcbiAgICB9XG4gICAgcmV0dXJuIG1lcmdlSW5Eb21PcmRlcih7XG4gICAgICAgIGxpc3Q6IF9lbGVtZW50cyxcbiAgICAgICAgZWxlbWVudHM6IHVzZW1hcHMsXG4gICAgICAgIHJlc29sdmVFbGVtZW50OiBmdW5jdGlvbiByZXNvbHZlRWxlbWVudChpbWFnZSkge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBpbWFnZS5nZXRBdHRyaWJ1dGUoXCJ1c2VtYXBcIikuc2xpY2UoMSk7XG4gICAgICAgICAgICByZXR1cm4gbWFwcy5nZXRBcmVhc0ZvcihuYW1lKTtcbiAgICAgICAgfVxuICAgIH0pO1xufVxudmFyIF9jcmVhdGVDbGFzcyQxID0gZnVuY3Rpb24oKSB7XG4gICAgZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIHByb3BzKSB7XG4gICAgICAgIGZvcih2YXIgaSA9IDA7IGkgPCBwcm9wcy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICB2YXIgZGVzY3JpcHRvciA9IHByb3BzW2ldO1xuICAgICAgICAgICAgZGVzY3JpcHRvci5lbnVtZXJhYmxlID0gZGVzY3JpcHRvci5lbnVtZXJhYmxlIHx8IGZhbHNlO1xuICAgICAgICAgICAgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKFwidmFsdWVcIiBpbiBkZXNjcmlwdG9yKSBkZXNjcmlwdG9yLndyaXRhYmxlID0gdHJ1ZTtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGRlc2NyaXB0b3Iua2V5LCBkZXNjcmlwdG9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZnVuY3Rpb24oQ29uc3RydWN0b3IsIHByb3RvUHJvcHMsIHN0YXRpY1Byb3BzKSB7XG4gICAgICAgIGlmIChwcm90b1Byb3BzKSBkZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7XG4gICAgICAgIGlmIChzdGF0aWNQcm9wcykgZGVmaW5lUHJvcGVydGllcyhDb25zdHJ1Y3Rvciwgc3RhdGljUHJvcHMpO1xuICAgICAgICByZXR1cm4gQ29uc3RydWN0b3I7XG4gICAgfTtcbn0oKTtcbmZ1bmN0aW9uIF9jbGFzc0NhbGxDaGVjayQxKGluc3RhbmNlLCBDb25zdHJ1Y3Rvcikge1xuICAgIGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7XG4gICAgfVxufVxudmFyIFNoYWRvd3MgPSBmdW5jdGlvbigpIHtcbiAgICBmdW5jdGlvbiBTaGFkb3dzKGNvbnRleHQsIHNvcnRFbGVtZW50cykge1xuICAgICAgICBfY2xhc3NDYWxsQ2hlY2skMSh0aGlzLCBTaGFkb3dzKTtcbiAgICAgICAgLy8gZG9jdW1lbnQgY29udGV4dCB3ZSdyZSB3b3JraW5nIHdpdGhcbiAgICAgICAgdGhpcy5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgLy8gY2FsbGJhY2sgdGhhdCBzb3J0cyBhbiBhcnJheSBvZiBlbGVtZW50c1xuICAgICAgICB0aGlzLnNvcnRFbGVtZW50cyA9IHNvcnRFbGVtZW50cztcbiAgICAgICAgLy8gcmVmZXJlbmNlIHRvIGNyZWF0ZSB1bmlxdWUgSURzIGZvciBlYWNoIFNoYWRvd0hvc3RcbiAgICAgICAgdGhpcy5ob3N0Q291bnRlciA9IDE7XG4gICAgICAgIC8vIHJlZmVyZW5jZSBtYXAgZm9yIGNoaWxkLVNoYWRvd0hvc3RzIG9mIGEgU2hhZG93SG9zdFxuICAgICAgICB0aGlzLmluSG9zdCA9IHt9O1xuICAgICAgICAvLyByZWZlcmVuY2UgbWFwIGZvciBjaGlsZC1TaGFkb3dIb3N0IG9mIHRoZSBkb2N1bWVudFxuICAgICAgICB0aGlzLmluRG9jdW1lbnQgPSBbXTtcbiAgICAgICAgLy8gcmVmZXJlbmNlIG1hcCBmb3IgU2hhZG93SG9zdHNcbiAgICAgICAgdGhpcy5ob3N0cyA9IHt9O1xuICAgICAgICAvLyByZWZlcmVuY2UgbWFwIGZvciB0YWJiYWJsZSBlbGVtZW50cyBvZiBhIFNoYWRvd0hvc3RcbiAgICAgICAgdGhpcy5lbGVtZW50cyA9IHt9O1xuICAgIH1cbiAgICAvLyByZW1lbWJlciB3aGljaCBob3N0cyB3ZSBoYXZlIHRvIHNvcnQgd2l0aGluIGxhdGVyXG4gICAgX2NyZWF0ZUNsYXNzJDEoU2hhZG93cywgW1xuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX3JlZ2lzdGVySG9zdFwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9yZWdpc3Rlckhvc3QoaG9zdCkge1xuICAgICAgICAgICAgICAgIGlmIChob3N0Ll9zb3J0aW5nSWQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBtYWtlIHRoZSBTaGFkb3dIb3N0IGlkZW50aWZpYWJsZSAoc2VlIGNsZWFudXAoKSBmb3IgdW5kbylcbiAgICAgICAgICAgICAgICBob3N0Ll9zb3J0aW5nSWQgPSBcInNoYWRvdy1cIiArIHRoaXMuaG9zdENvdW50ZXIrKztcbiAgICAgICAgICAgICAgICB0aGlzLmhvc3RzW2hvc3QuX3NvcnRpbmdJZF0gPSBob3N0O1xuICAgICAgICAgICAgICAgIC8vIGhvc3RzIG1heSBjb250YWluIG90aGVyIGhvc3RzXG4gICAgICAgICAgICAgICAgdmFyIHBhcmVudEhvc3QgPSBnZXRTaGFkb3dIb3N0KHtcbiAgICAgICAgICAgICAgICAgICAgY29udGV4dDogaG9zdFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChwYXJlbnRIb3N0KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3JlZ2lzdGVySG9zdChwYXJlbnRIb3N0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVnaXN0ZXJIb3N0UGFyZW50KGhvc3QsIHBhcmVudEhvc3QpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5Eb2N1bWVudC5wdXNoKGhvc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIl9yZWdpc3Rlckhvc3RQYXJlbnRcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfcmVnaXN0ZXJIb3N0UGFyZW50KGhvc3QsIHBhcmVudCkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5pbkhvc3RbcGFyZW50Ll9zb3J0aW5nSWRdKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaW5Ib3N0W3BhcmVudC5fc29ydGluZ0lkXSA9IFtdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmluSG9zdFtwYXJlbnQuX3NvcnRpbmdJZF0ucHVzaChob3N0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIl9yZWdpc3RlckVsZW1lbnRcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfcmVnaXN0ZXJFbGVtZW50KGVsZW1lbnQsIGhvc3QpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuZWxlbWVudHNbaG9zdC5fc29ydGluZ0lkXSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmVsZW1lbnRzW2hvc3QuX3NvcnRpbmdJZF0gPSBbXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50c1tob3N0Ll9zb3J0aW5nSWRdLnB1c2goZWxlbWVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICAgIGtleTogXCJleHRyYWN0RWxlbWVudHNcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBleHRyYWN0RWxlbWVudHMoZWxlbWVudHMpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudHMuZmlsdGVyKGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGhvc3QgPSBnZXRTaGFkb3dIb3N0KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IGVsZW1lbnRcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaG9zdCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcmVnaXN0ZXJIb3N0KGhvc3QpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9yZWdpc3RlckVsZW1lbnQoZWxlbWVudCwgaG9zdCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcInNvcnRcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBzb3J0KGVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgdmFyIF9lbGVtZW50cyA9IHRoaXMuX2luamVjdEhvc3RzKGVsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICBfZWxlbWVudHMgPSB0aGlzLl9yZXBsYWNlSG9zdHMoX2VsZW1lbnRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9jbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIF9lbGVtZW50cztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIl9pbmplY3RIb3N0c1wiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9pbmplY3RIb3N0cyhlbGVtZW50cykge1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHRoaXMuaG9zdHMpLmZvckVhY2goZnVuY3Rpb24oX3NvcnRpbmdJZCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2xpc3QgPSB0aGlzLmVsZW1lbnRzW19zb3J0aW5nSWRdO1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2VsZW1lbnRzID0gdGhpcy5pbkhvc3RbX3NvcnRpbmdJZF07XG4gICAgICAgICAgICAgICAgICAgIHZhciBfY29udGV4dCA9IHRoaXMuaG9zdHNbX3NvcnRpbmdJZF0uc2hhZG93Um9vdDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lbGVtZW50c1tfc29ydGluZ0lkXSA9IHRoaXMuX21lcmdlKF9saXN0LCBfZWxlbWVudHMsIF9jb250ZXh0KTtcbiAgICAgICAgICAgICAgICB9LCB0aGlzKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fbWVyZ2UoZWxlbWVudHMsIHRoaXMuaW5Eb2N1bWVudCwgdGhpcy5jb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIl9tZXJnZVwiLFxuICAgICAgICAgICAgdmFsdWU6IGZ1bmN0aW9uIF9tZXJnZShsaXN0LCBlbGVtZW50cywgY29udGV4dCkge1xuICAgICAgICAgICAgICAgIHZhciBtZXJnZWQgPSBtZXJnZUluRG9tT3JkZXIoe1xuICAgICAgICAgICAgICAgICAgICBsaXN0OiBsaXN0LFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50czogZWxlbWVudHNcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zb3J0RWxlbWVudHMobWVyZ2VkLCBjb250ZXh0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIl9yZXBsYWNlSG9zdHNcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfcmVwbGFjZUhvc3RzKGVsZW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1lcmdlSW5Eb21PcmRlcih7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Q6IGVsZW1lbnRzLFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50czogdGhpcy5pbkRvY3VtZW50LFxuICAgICAgICAgICAgICAgICAgICByZXNvbHZlRWxlbWVudDogdGhpcy5fcmVzb2x2ZUhvc3RFbGVtZW50LmJpbmQodGhpcylcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAga2V5OiBcIl9yZXNvbHZlSG9zdEVsZW1lbnRcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfcmVzb2x2ZUhvc3RFbGVtZW50KGhvc3QpIHtcbiAgICAgICAgICAgICAgICB2YXIgbWVyZ2VkID0gbWVyZ2VJbkRvbU9yZGVyKHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdDogdGhpcy5lbGVtZW50c1tob3N0Ll9zb3J0aW5nSWRdLFxuICAgICAgICAgICAgICAgICAgICBlbGVtZW50czogdGhpcy5pbkhvc3RbaG9zdC5fc29ydGluZ0lkXSxcbiAgICAgICAgICAgICAgICAgICAgcmVzb2x2ZUVsZW1lbnQ6IHRoaXMuX3Jlc29sdmVIb3N0RWxlbWVudC5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgdmFyIF90YWJpbmRleCA9IHRhYmluZGV4VmFsdWUoaG9zdCk7XG4gICAgICAgICAgICAgICAgaWYgKF90YWJpbmRleCAhPT0gbnVsbCAmJiBfdGFiaW5kZXggPiAtMSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgaG9zdFxuICAgICAgICAgICAgICAgICAgICBdLmNvbmNhdChtZXJnZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gbWVyZ2VkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IFwiX2NsZWFudXBcIixcbiAgICAgICAgICAgIHZhbHVlOiBmdW5jdGlvbiBfY2xlYW51cCgpIHtcbiAgICAgICAgICAgICAgICAvLyByZW1vdmUgdGhvc2UgaWRlbnRpZmVycyB3ZSBwdXQgb24gdGhlIFNoYWRvd0hvc3QgdG8gYXZvaWQgdXNpbmcgTWFwKClcbiAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyh0aGlzLmhvc3RzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGhpcy5ob3N0c1trZXldLl9zb3J0aW5nSWQ7XG4gICAgICAgICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICBdKTtcbiAgICByZXR1cm4gU2hhZG93cztcbn0oKTtcbmZ1bmN0aW9uIHNvcnRTaGFkb3dlZChlbGVtZW50cywgY29udGV4dCwgc29ydEVsZW1lbnRzKSB7XG4gICAgdmFyIHNoYWRvd3MgPSBuZXcgU2hhZG93cyhjb250ZXh0LCBzb3J0RWxlbWVudHMpO1xuICAgIHZhciBfZWxlbWVudHMgPSBzaGFkb3dzLmV4dHJhY3RFbGVtZW50cyhlbGVtZW50cyk7XG4gICAgaWYgKF9lbGVtZW50cy5sZW5ndGggPT09IGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICAvLyBubyBzaGFkb3dlZCBjb250ZW50IGZvdW5kLCBubyBuZWVkIHRvIGNvbnRpbnVlXG4gICAgICAgIHJldHVybiBzb3J0RWxlbWVudHMoZWxlbWVudHMpO1xuICAgIH1cbiAgICByZXR1cm4gc2hhZG93cy5zb3J0KF9lbGVtZW50cyk7XG59XG5mdW5jdGlvbiBzb3J0VGFiaW5kZXgoZWxlbWVudHMpIHtcbiAgICAvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvSFRNTEVsZW1lbnQudGFiSW5kZXhcbiAgICAvLyBlbGVtZW50cyB3aXRoIHRhYkluZGV4IFwiMFwiIChpbmNsdWRpbmcgdGFiYmFibGVFbGVtZW50cyB3aXRob3V0IHRhYkluZGV4KSBzaG91bGQgYmUgbmF2aWdhdGVkIGluIHRoZSBvcmRlciB0aGV5IGFwcGVhci5cbiAgICAvLyBlbGVtZW50cyB3aXRoIGEgcG9zaXRpdmUgdGFiSW5kZXg6XG4gICAgLy8gICBFbGVtZW50cyB0aGF0IGhhdmUgaWRlbnRpY2FsIHRhYkluZGV4ZXMgc2hvdWxkIGJlIG5hdmlnYXRlZCBpbiB0aGUgb3JkZXIgdGhleSBhcHBlYXIuXG4gICAgLy8gICBOYXZpZ2F0aW9uIHByb2NlZWRzIGZyb20gdGhlIGxvd2VzdCB0YWJJbmRleCB0byB0aGUgaGlnaGVzdCB0YWJJbmRleC5cbiAgICAvLyBOT1RFOiBzb3J0IGltcGxlbWVudGF0aW9uIG1heSBiZSB1bnN0YWJsZSBhbmQgdGh1cyBtZXNzIHVwIERPTSBvcmRlcixcbiAgICAvLyB0aGF0J3Mgd2h5IHdlIGJ1aWxkIGEgbWFwIHRoYXQncyBiZWluZyBzb3J0ZWQgaW5zdGVhZC4gSWYgd2Ugd2VyZSBhYmxlIHRvIHJlbHlcbiAgICAvLyBvbiBhIHN0YWJsZSBzb3J0aW5nIGFsZ29yaXRobSwgc29ydFRhYmluZGV4KCkgY291bGQgYmUgYXMgc2ltcGxlIGFzXG4gICAgLy8gZWxlbWVudHMuc29ydChmdW5jdGlvbihhLCBiKSB7IHJldHVybiBhLnRhYkluZGV4IC0gYi50YWJJbmRleDsgfSk7XG4gICAgLy8gYXQgdGhpcyB0aW1lIENocm9tZSBkb2VzIG5vdCB1c2UgYSBzdGFibGUgc29ydGluZyBhbGdvcml0aG1cbiAgICAvLyBzZWUgaHR0cDovL2Jsb2cucm9kbmV5cmVobS5kZS9hcmNoaXZlcy8xNC1Tb3J0aW5nLVdlcmUtRG9pbmctSXQtV3JvbmcuaHRtbCNzdGFiaWxpdHlcbiAgICAvLyBOT1RFOiBjb21wYXJlRG9jdW1lbnRQb3NpdGlvbiBzZWVtZWQgbGlrZSBtb3JlIG92ZXJoZWFkIHRoYW4ganVzdCBzb3J0aW5nIHRoaXMgd2l0aCBidWNrZXRzXG4gICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL05vZGUuY29tcGFyZURvY3VtZW50UG9zaXRpb25cbiAgICB2YXIgbWFwID0ge307XG4gICAgdmFyIGluZGV4ZXMgPSBbXTtcbiAgICB2YXIgbm9ybWFsID0gZWxlbWVudHMuZmlsdGVyKGZ1bmN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgLy8gaW4gVHJpZGVudCBhbmQgR2Vja28gU1ZHRWxlbWVudCBkb2VzIG5vdCBrbm93IGFib3V0IHRoZSB0YWJJbmRleCBwcm9wZXJ0eVxuICAgICAgICB2YXIgdGFiSW5kZXggPSBlbGVtZW50LnRhYkluZGV4O1xuICAgICAgICBpZiAodGFiSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgdGFiSW5kZXggPSB0YWJpbmRleFZhbHVlKGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGV4dHJhY3QgZWxlbWVudHMgdGhhdCBkb24ndCBuZWVkIHNvcnRpbmdcbiAgICAgICAgaWYgKHRhYkluZGV4IDw9IDAgfHwgdGFiSW5kZXggPT09IG51bGwgfHwgdGFiSW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFtYXBbdGFiSW5kZXhdKSB7XG4gICAgICAgICAgICAvLyBjcmVhdGUgc29ydGFibGUgYnVja2V0IGZvciBkb20tb3JkZXItcHJlc2VydmF0aW9uIG9mIGVsZW1lbnRzIHdpdGggdGhlIHNhbWUgdGFiSW5kZXhcbiAgICAgICAgICAgIG1hcFt0YWJJbmRleF0gPSBbXTtcbiAgICAgICAgICAgIC8vIG1haW50YWluIGEgbGlzdCBvZiB1bmlxdWUgdGFiSW5kZXhlc1xuICAgICAgICAgICAgaW5kZXhlcy5wdXNoKHRhYkluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBzb3J0IGVsZW1lbnQgaW50byB0aGUgcHJvcGVyIGJ1Y2tldFxuICAgICAgICBtYXBbdGFiSW5kZXhdLnB1c2goZWxlbWVudCk7XG4gICAgICAgIC8vIGVsZW1lbnQgbW92ZWQgdG8gc29ydGluZyBtYXAsIHNvIG5vdCBcIm5vcm1hbFwiIGFueW1vcmVcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICAgIC8vIHNvcnQgdGhlIHRhYmluZGV4IGFzY2VuZGluZyxcbiAgICAvLyB0aGVuIHJlc29sdmUgdGhlbSB0byB0aGVpciBhcHByb3ByaWF0ZSBidWNrZXRzLFxuICAgIC8vIHRoZW4gZmxhdHRlbiB0aGUgYXJyYXkgb2YgYXJyYXlzIHRvIGFuIGFycmF5XG4gICAgdmFyIF9lbGVtZW50cyA9IGluZGV4ZXMuc29ydCgpLm1hcChmdW5jdGlvbih0YWJJbmRleCkge1xuICAgICAgICByZXR1cm4gbWFwW3RhYkluZGV4XTtcbiAgICB9KS5yZWR1Y2VSaWdodChmdW5jdGlvbihwcmV2aW91cywgY3VycmVudCkge1xuICAgICAgICByZXR1cm4gY3VycmVudC5jb25jYXQocHJldmlvdXMpO1xuICAgIH0sIG5vcm1hbCk7XG4gICAgcmV0dXJuIF9lbGVtZW50cztcbn1cbnZhciBzdXBwb3J0cyQ4ID0gdm9pZCAwO1xuZnVuY3Rpb24gbW92ZUNvbnRleHRUb0JlZ2lubmluZyhlbGVtZW50cywgY29udGV4dCkge1xuICAgIHZhciBwb3MgPSBlbGVtZW50cy5pbmRleE9mKGNvbnRleHQpO1xuICAgIGlmIChwb3MgPiAwKSB7XG4gICAgICAgIHZhciB0bXAgPSBlbGVtZW50cy5zcGxpY2UocG9zLCAxKTtcbiAgICAgICAgcmV0dXJuIHRtcC5jb25jYXQoZWxlbWVudHMpO1xuICAgIH1cbiAgICByZXR1cm4gZWxlbWVudHM7XG59XG5mdW5jdGlvbiBzb3J0RWxlbWVudHMoZWxlbWVudHMsIF9jb250ZXh0KSB7XG4gICAgaWYgKHN1cHBvcnRzJDgudGFic2VxdWVuY2VBcmVhQXRJbWdQb3NpdGlvbikge1xuICAgICAgICAvLyBTb21lIGJyb3dzZXJzIHNvcnQgPGFyZWE+IGluIERPTSBvcmRlciwgc29tZSBwbGFjZSB0aGUgPGFyZWE+c1xuICAgICAgICAvLyB3aGVyZSB0aGUgPGltZz4gcmVmZXJlY2luZyB0aGVtIHdvdWxkJ3ZlIGJlZW4gaW4gRE9NIG9yZGVyLlxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWVkaWFsaXplL2FsbHkuanMvaXNzdWVzLzVcbiAgICAgICAgZWxlbWVudHMgPSBzb3J0QXJlYShlbGVtZW50cywgX2NvbnRleHQpO1xuICAgIH1cbiAgICBlbGVtZW50cyA9IHNvcnRUYWJpbmRleChlbGVtZW50cyk7XG4gICAgcmV0dXJuIGVsZW1lbnRzO1xufVxuZnVuY3Rpb24gcXVlcnlUYWJzZXF1ZW5jZSgpIHtcbiAgICB2YXIgX3JlZiA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDoge30sIGNvbnRleHQgPSBfcmVmLmNvbnRleHQsIGluY2x1ZGVDb250ZXh0ID0gX3JlZi5pbmNsdWRlQ29udGV4dCwgaW5jbHVkZU9ubHlUYWJiYWJsZSA9IF9yZWYuaW5jbHVkZU9ubHlUYWJiYWJsZSwgc3RyYXRlZ3kgPSBfcmVmLnN0cmF0ZWd5O1xuICAgIGlmICghc3VwcG9ydHMkOCkge1xuICAgICAgICBzdXBwb3J0cyQ4ID0gX3N1cHBvcnRzKCk7XG4gICAgfVxuICAgIHZhciBfY29udGV4dCA9IG5vZGVBcnJheShjb250ZXh0KVswXSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgdmFyIGVsZW1lbnRzID0gcXVlcnlUYWJiYWJsZSh7XG4gICAgICAgIGNvbnRleHQ6IF9jb250ZXh0LFxuICAgICAgICBpbmNsdWRlQ29udGV4dDogaW5jbHVkZUNvbnRleHQsXG4gICAgICAgIGluY2x1ZGVPbmx5VGFiYmFibGU6IGluY2x1ZGVPbmx5VGFiYmFibGUsXG4gICAgICAgIHN0cmF0ZWd5OiBzdHJhdGVneVxuICAgIH0pO1xuICAgIGlmIChkb2N1bWVudC5ib2R5LmNyZWF0ZVNoYWRvd1Jvb3QgJiYgcGxhdGZvcm0uaXMuQkxJTkspIHtcbiAgICAgICAgLy8gc29ydCB0YWJpbmRleCBsb2NhbGl6ZWQgdG8gc2hhZG93IGRvbVxuICAgICAgICAvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL21lZGlhbGl6ZS9hbGx5LmpzL2lzc3Vlcy82XG4gICAgICAgIGVsZW1lbnRzID0gc29ydFNoYWRvd2VkKGVsZW1lbnRzLCBfY29udGV4dCwgc29ydEVsZW1lbnRzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBlbGVtZW50cyA9IHNvcnRFbGVtZW50cyhlbGVtZW50cywgX2NvbnRleHQpO1xuICAgIH1cbiAgICBpZiAoaW5jbHVkZUNvbnRleHQpIHtcbiAgICAgICAgLy8gaWYgd2UgaW5jbHVkZSB0aGUgY29udGV4dCBpdHNlbGYsIGl0IGhhcyB0byBiZSB0aGUgZmlyc3RcbiAgICAgICAgLy8gZWxlbWVudCBvZiB0aGUgc2VxdWVuY2VcbiAgICAgICAgZWxlbWVudHMgPSBtb3ZlQ29udGV4dFRvQmVnaW5uaW5nKGVsZW1lbnRzLCBfY29udGV4dCk7XG4gICAgfVxuICAgIHJldHVybiBlbGVtZW50cztcbn1cbi8vIGNvZGVzIG1vc3RseSBjbG9uZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20va2VpdGhhbXVzL2p3ZXJ0eS9ibG9iL21hc3Rlci9qd2VydHkuanNcbi8vIGRlbGliZXJhdGVseSBub3QgZXhwb3NpbmcgY2hhcmFjdGVycyBsaWtlIDwsLi0jKiBiZWNhdXNlIHRoZXkgdmFyeSAqd2lsZGx5KlxuLy8gYWNyb3NzIGtleWJvYXJkIGxheW91dHMgYW5kIG1heSBjYXVzZSB2YXJpb3VzIHByb2JsZW1zXG4vLyAoZS5nLiBcIipcIiBpcyBcIlNoaWZ0ICtcIiBvbiBhIEdlcm1hbiBNYWMga2V5Ym9hcmQpXG4vLyAoZS5nLiBcIkBcIiBpcyBcIkFsdCBMXCIgb24gYSBHZXJtYW4gTWFjIGtleWJvYXJkKVxudmFyIGtleWNvZGUgPSB7XG4gICAgLy8gRWxlbWVudCBGb2N1c1xuICAgIHRhYjogOSxcbiAgICAvLyBOYXZpZ2F0aW9uXG4gICAgbGVmdDogMzcsXG4gICAgdXA6IDM4LFxuICAgIHJpZ2h0OiAzOSxcbiAgICBkb3duOiA0MCxcbiAgICBwYWdlVXA6IDMzLFxuICAgIFwicGFnZS11cFwiOiAzMyxcbiAgICBwYWdlRG93bjogMzQsXG4gICAgXCJwYWdlLWRvd25cIjogMzQsXG4gICAgZW5kOiAzNSxcbiAgICBob21lOiAzNixcbiAgICAvLyBBY3Rpb25cbiAgICBlbnRlcjogMTMsXG4gICAgZXNjYXBlOiAyNyxcbiAgICBzcGFjZTogMzIsXG4gICAgLy8gTW9kaWZpZXJcbiAgICBzaGlmdDogMTYsXG4gICAgY2Fwc0xvY2s6IDIwLFxuICAgIFwiY2Fwcy1sb2NrXCI6IDIwLFxuICAgIGN0cmw6IDE3LFxuICAgIGFsdDogMTgsXG4gICAgbWV0YTogOTEsXG4gICAgLy8gaW4gZmlyZWZveDogMjI0XG4gICAgLy8gb24gbWFjIChjaHJvbWUpOiBtZXRhLWxlZnQ9OTEsIG1ldGEtcmlnaHQ9OTNcbiAgICAvLyBvbiB3aW4gKElFMTEpOiBtZXRhLWxlZnQ9OTEsIG1ldGEtcmlnaHQ9OTJcbiAgICBwYXVzZTogMTksXG4gICAgLy8gQ29udGVudCBNYW5pcHVsYXRpb25cbiAgICBpbnNlcnQ6IDQ1LFxuICAgIGRlbGV0ZTogNDYsXG4gICAgYmFja3NwYWNlOiA4LFxuICAgIC8vIHRoZSBzYW1lIGxvZ2ljYWwga2V5IG1heSBiZSBpZGVudGlmaWVkIHRocm91Z2ggZGlmZmVyZW50IGtleUNvZGVzXG4gICAgX2FsaWFzOiB7XG4gICAgICAgIDkxOiBbXG4gICAgICAgICAgICA5MixcbiAgICAgICAgICAgIDkzLFxuICAgICAgICAgICAgMjI0XG4gICAgICAgIF1cbiAgICB9XG59O1xuLy8gRnVuY3Rpb24ga2V5cyAoMTEyIC0gMTM3KVxuLy8gTk9URTogbm90IGV2ZXJ5IGtleWJvYXJkIGtub3dzIEYxMytcbmZvcih2YXIgbiA9IDE7IG4gPCAyNjsgbisrKXtcbiAgICBrZXljb2RlW1wiZlwiICsgbl0gPSBuICsgMTExO1xufVxuLy8gTnVtYmVyIGtleXMgKDQ4LTU3LCBudW1wYWQgOTYtMTA1KVxuLy8gTk9URTogbm90IGV2ZXJ5IGtleWJvYXJkIGtub3dzIG51bS0wK1xuZm9yKHZhciBfbiA9IDA7IF9uIDwgMTA7IF9uKyspe1xuICAgIHZhciBjb2RlID0gX24gKyA0ODtcbiAgICB2YXIgbnVtQ29kZSA9IF9uICsgOTY7XG4gICAga2V5Y29kZVtfbl0gPSBjb2RlO1xuICAgIGtleWNvZGVbXCJudW0tXCIgKyBfbl0gPSBudW1Db2RlO1xuICAgIGtleWNvZGUuX2FsaWFzW2NvZGVdID0gW1xuICAgICAgICBudW1Db2RlXG4gICAgXTtcbn1cbi8vIExhdGluIGNoYXJhY3RlcnMgKDY1IC0gOTApXG5mb3IodmFyIF9uMiA9IDA7IF9uMiA8IDI2OyBfbjIrKyl7XG4gICAgdmFyIF9jb2RlID0gX24yICsgNjU7XG4gICAgdmFyIG5hbWUkMSA9IFN0cmluZy5mcm9tQ2hhckNvZGUoX2NvZGUpLnRvTG93ZXJDYXNlKCk7XG4gICAga2V5Y29kZVtuYW1lJDFdID0gX2NvZGU7XG59XG52YXIgbW9kaWZpZXIgPSB7XG4gICAgYWx0OiBcImFsdEtleVwiLFxuICAgIGN0cmw6IFwiY3RybEtleVwiLFxuICAgIG1ldGE6IFwibWV0YUtleVwiLFxuICAgIHNoaWZ0OiBcInNoaWZ0S2V5XCJcbn07XG52YXIgbW9kaWZpZXJTZXF1ZW5jZSA9IE9iamVjdC5rZXlzKG1vZGlmaWVyKS5tYXAoZnVuY3Rpb24obmFtZSkge1xuICAgIHJldHVybiBtb2RpZmllcltuYW1lXTtcbn0pO1xuZnVuY3Rpb24gY3JlYXRlRXhwZWN0ZWRNb2RpZmllcnMoaWdub3JlTW9kaWZpZXJzKSB7XG4gICAgdmFyIHZhbHVlID0gaWdub3JlTW9kaWZpZXJzID8gbnVsbCA6IGZhbHNlO1xuICAgIHJldHVybiB7XG4gICAgICAgIGFsdEtleTogdmFsdWUsXG4gICAgICAgIGN0cmxLZXk6IHZhbHVlLFxuICAgICAgICBtZXRhS2V5OiB2YWx1ZSxcbiAgICAgICAgc2hpZnRLZXk6IHZhbHVlXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVNb2RpZmllcnMobW9kaWZpZXJzKSB7XG4gICAgdmFyIGlnbm9yZU1vZGlmaWVycyA9IG1vZGlmaWVycy5pbmRleE9mKFwiKlwiKSAhPT0gLTE7XG4gICAgdmFyIGV4cGVjdGVkID0gY3JlYXRlRXhwZWN0ZWRNb2RpZmllcnMoaWdub3JlTW9kaWZpZXJzKTtcbiAgICBtb2RpZmllcnMuZm9yRWFjaChmdW5jdGlvbih0b2tlbikge1xuICAgICAgICBpZiAodG9rZW4gPT09IFwiKlwiKSB7XG4gICAgICAgICAgICAvLyB3ZSd2ZSBhbHJlYWR5IGNvdmVyZWQgdGhlIGFsbC1pbiBvcGVyYXRvclxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIHdlIHdhbnQgdGhlIG1vZGlmaWVyIHByZXNzZWRcbiAgICAgICAgdmFyIHZhbHVlID0gdHJ1ZTtcbiAgICAgICAgdmFyIG9wZXJhdG9yID0gdG9rZW4uc2xpY2UoMCwgMSk7XG4gICAgICAgIGlmIChvcGVyYXRvciA9PT0gXCI/XCIpIHtcbiAgICAgICAgICAgIC8vIHdlIGRvbid0IGNhcmUgaWYgdGhlIG1vZGlmaWVyIGlzIHByZXNzZWRcbiAgICAgICAgICAgIHZhbHVlID0gbnVsbDtcbiAgICAgICAgfSBlbHNlIGlmIChvcGVyYXRvciA9PT0gXCIhXCIpIHtcbiAgICAgICAgICAgIC8vIHdlIGRvIG5vdCB3YW50IHRoZSBtb2RpZmllciBwcmVzc2VkXG4gICAgICAgICAgICB2YWx1ZSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgLy8gY29tcGVuc2F0ZSBmb3IgdGhlIG1vZGlmaWVyJ3Mgb3BlcmF0b3JcbiAgICAgICAgICAgIHRva2VuID0gdG9rZW4uc2xpY2UoMSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHByb3BlcnR5TmFtZSA9IG1vZGlmaWVyW3Rva2VuXTtcbiAgICAgICAgaWYgKCFwcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1Vua25vd24gbW9kaWZpZXIgXCInICsgdG9rZW4gKyAnXCInKTtcbiAgICAgICAgfVxuICAgICAgICBleHBlY3RlZFtwcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgfSk7XG4gICAgcmV0dXJuIGV4cGVjdGVkO1xufVxuZnVuY3Rpb24gcmVzb2x2ZUtleShrZXkpIHtcbiAgICB2YXIgY29kZSA9IGtleWNvZGVba2V5XSB8fCBwYXJzZUludChrZXksIDEwKTtcbiAgICBpZiAoIWNvZGUgfHwgdHlwZW9mIGNvZGUgIT09IFwibnVtYmVyXCIgfHwgaXNOYU4oY29kZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVW5rbm93biBrZXkgXCInICsga2V5ICsgJ1wiJyk7XG4gICAgfVxuICAgIHJldHVybiBbXG4gICAgICAgIGNvZGVcbiAgICBdLmNvbmNhdChrZXljb2RlLl9hbGlhc1tjb2RlXSB8fCBbXSk7XG59XG5mdW5jdGlvbiBtYXRjaE1vZGlmaWVycyhleHBlY3RlZCwgZXZlbnQpIHtcbiAgICAvLyByZXR1cm5zIHRydWUgb24gbWF0Y2hcbiAgICByZXR1cm4gIW1vZGlmaWVyU2VxdWVuY2Uuc29tZShmdW5jdGlvbihwcm9wKSB7XG4gICAgICAgIC8vIHJldHVybnMgdHJ1ZSBvbiBtaXNtYXRjaFxuICAgICAgICByZXR1cm4gdHlwZW9mIGV4cGVjdGVkW3Byb3BdID09PSBcImJvb2xlYW5cIiAmJiBCb29sZWFuKGV2ZW50W3Byb3BdKSAhPT0gZXhwZWN0ZWRbcHJvcF07XG4gICAgfSk7XG59XG5mdW5jdGlvbiBrZXlCaW5kaW5nKHRleHQpIHtcbiAgICByZXR1cm4gdGV4dC5zcGxpdCgvXFxzKy8pLm1hcChmdW5jdGlvbihfdGV4dCkge1xuICAgICAgICB2YXIgdG9rZW5zID0gX3RleHQuc3BsaXQoXCIrXCIpO1xuICAgICAgICB2YXIgX21vZGlmaWVycyA9IHJlc29sdmVNb2RpZmllcnModG9rZW5zLnNsaWNlKDAsIC0xKSk7XG4gICAgICAgIHZhciBfa2V5Q29kZXMgPSByZXNvbHZlS2V5KHRva2Vucy5zbGljZSgtMSkpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAga2V5Q29kZXM6IF9rZXlDb2RlcyxcbiAgICAgICAgICAgIG1vZGlmaWVyczogX21vZGlmaWVycyxcbiAgICAgICAgICAgIG1hdGNoTW9kaWZpZXJzOiBtYXRjaE1vZGlmaWVycy5iaW5kKG51bGwsIF9tb2RpZmllcnMpXG4gICAgICAgIH07XG4gICAgfSk7XG59XG4vLyBOb2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uIGlzIGF2YWlsYWJsZSBzaW5jZSBJRTlcbi8vIHNlZSBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvTm9kZS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvblxuLy8gY2FsbGJhY2sgcmV0dXJucyB0cnVlIHdoZW4gZWxlbWVudCBpcyBjb250YWluZWQgYnkgcGFyZW50IG9yIGlzIHRoZSBwYXJlbnQgc3VpdGVkIGZvciB1c2Ugd2l0aCBBcnJheS5zb21lKClcbi8qXG4gIFVTQUdFOlxuICAgIHZhciBpc0NoaWxkT2YgPSBnZXRQYXJlbnRDb21wYXJhdG9yKHtwYXJlbnQ6IHNvbWVOb2RlfSk7XG4gICAgbGlzdE9mRWxlbWVudHMuc29tZShpc0NoaWxkT2YpXG4qLyBmdW5jdGlvbiBnZXRQYXJlbnRDb21wYXJhdG9yKCkge1xuICAgIHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiB7fSwgcGFyZW50ID0gX3JlZi5wYXJlbnQsIGVsZW1lbnQgPSBfcmVmLmVsZW1lbnQsIGluY2x1ZGVTZWxmID0gX3JlZi5pbmNsdWRlU2VsZjtcbiAgICBpZiAocGFyZW50KSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBpc0NoaWxkT2Yobm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4oaW5jbHVkZVNlbGYgJiYgbm9kZSA9PT0gcGFyZW50IHx8IHBhcmVudC5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihub2RlKSAmIE5vZGUuRE9DVU1FTlRfUE9TSVRJT05fQ09OVEFJTkVEX0JZKTtcbiAgICAgICAgfTtcbiAgICB9IGVsc2UgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIGlzUGFyZW50T2Yobm9kZSkge1xuICAgICAgICAgICAgcmV0dXJuIEJvb2xlYW4oaW5jbHVkZVNlbGYgJiYgZWxlbWVudCA9PT0gbm9kZSB8fCBub2RlLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKGVsZW1lbnQpICYgTm9kZS5ET0NVTUVOVF9QT1NJVElPTl9DT05UQUlORURfQlkpO1xuICAgICAgICB9O1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwidXRpbC9jb21wYXJlLXBvc2l0aW9uI2dldFBhcmVudENvbXBhcmF0b3IgcmVxdWlyZWQgZWl0aGVyIG9wdGlvbnMucGFyZW50IG9yIG9wdGlvbnMuZWxlbWVudFwiKTtcbn1cbi8vIEJ1ZyAyODY5MzMgLSBLZXkgZXZlbnRzIGluIHRoZSBhdXRvY29tcGxldGUgcG9wdXAgc2hvdWxkIGJlIGhpZGRlbiBmcm9tIHBhZ2Ugc2NyaXB0c1xuLy8gQGJyb3dzZXItaXNzdWUgR2Vja28gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjg2OTMzXG5mdW5jdGlvbiB3aGVuS2V5KCkge1xuICAgIHZhciBtYXAgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IHt9O1xuICAgIHZhciBiaW5kaW5ncyA9IHt9O1xuICAgIHZhciBjb250ZXh0ID0gbm9kZUFycmF5KG1hcC5jb250ZXh0KVswXSB8fCBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgZGVsZXRlIG1hcC5jb250ZXh0O1xuICAgIHZhciBmaWx0ZXIgPSBub2RlQXJyYXkobWFwLmZpbHRlcik7XG4gICAgZGVsZXRlIG1hcC5maWx0ZXI7XG4gICAgdmFyIG1hcEtleXMgPSBPYmplY3Qua2V5cyhtYXApO1xuICAgIGlmICghbWFwS2V5cy5sZW5ndGgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIndoZW4va2V5IHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBvcHRpb24ga2V5XCIpO1xuICAgIH1cbiAgICB2YXIgcmVnaXN0ZXJCaW5kaW5nID0gZnVuY3Rpb24gcmVnaXN0ZXJCaW5kaW5nKGV2ZW50KSB7XG4gICAgICAgIGV2ZW50LmtleUNvZGVzLmZvckVhY2goZnVuY3Rpb24oY29kZSkge1xuICAgICAgICAgICAgaWYgKCFiaW5kaW5nc1tjb2RlXSkge1xuICAgICAgICAgICAgICAgIGJpbmRpbmdzW2NvZGVdID0gW107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBiaW5kaW5nc1tjb2RlXS5wdXNoKGV2ZW50KTtcbiAgICAgICAgfSk7XG4gICAgfTtcbiAgICBtYXBLZXlzLmZvckVhY2goZnVuY3Rpb24odGV4dCkge1xuICAgICAgICBpZiAodHlwZW9mIG1hcFt0ZXh0XSAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCd3aGVuL2tleSByZXF1aXJlcyBvcHRpb25bXCInICsgdGV4dCArICdcIl0gdG8gYmUgYSBmdW5jdGlvbicpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBhZGRDYWxsYmFjayA9IGZ1bmN0aW9uIGFkZENhbGxiYWNrKGV2ZW50KSB7XG4gICAgICAgICAgICBldmVudC5jYWxsYmFjayA9IG1hcFt0ZXh0XTtcbiAgICAgICAgICAgIHJldHVybiBldmVudDtcbiAgICAgICAgfTtcbiAgICAgICAga2V5QmluZGluZyh0ZXh0KS5tYXAoYWRkQ2FsbGJhY2spLmZvckVhY2gocmVnaXN0ZXJCaW5kaW5nKTtcbiAgICB9KTtcbiAgICB2YXIgaGFuZGxlS2V5RG93biA9IGZ1bmN0aW9uIGhhbmRsZUtleURvd24oZXZlbnQpIHtcbiAgICAgICAgaWYgKGV2ZW50LmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVyLmxlbmd0aCkge1xuICAgICAgICAgICAgLy8gaWdub3JlIGVsZW1lbnRzIHdpdGhpbiB0aGUgZXhlbXB0ZWQgc3ViLXRyZWVzXG4gICAgICAgICAgICB2YXIgaXNQYXJlbnRPZkVsZW1lbnQgPSBnZXRQYXJlbnRDb21wYXJhdG9yKHtcbiAgICAgICAgICAgICAgICBlbGVtZW50OiBldmVudC50YXJnZXQsXG4gICAgICAgICAgICAgICAgaW5jbHVkZVNlbGY6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgaWYgKGZpbHRlci5zb21lKGlzUGFyZW50T2ZFbGVtZW50KSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB2YXIga2V5ID0gZXZlbnQua2V5Q29kZSB8fCBldmVudC53aGljaDtcbiAgICAgICAgaWYgKCFiaW5kaW5nc1trZXldKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYmluZGluZ3Nba2V5XS5mb3JFYWNoKGZ1bmN0aW9uKF9ldmVudCkge1xuICAgICAgICAgICAgaWYgKCFfZXZlbnQubWF0Y2hNb2RpZmllcnMoZXZlbnQpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgX2V2ZW50LmNhbGxiYWNrLmNhbGwoY29udGV4dCwgZXZlbnQsIGRpc2VuZ2FnZSk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgY29udGV4dC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVLZXlEb3duLCBmYWxzZSk7XG4gICAgdmFyIGRpc2VuZ2FnZSA9IGZ1bmN0aW9uIGRpc2VuZ2FnZSgpIHtcbiAgICAgICAgY29udGV4dC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVLZXlEb3duLCBmYWxzZSk7XG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBkaXNlbmdhZ2U6IGRpc2VuZ2FnZVxuICAgIH07XG59XG5mdW5jdGlvbiBfZGVmYXVsdChwYXJhbSkge1xuICAgIGxldCB7IGNvbnRleHQgfSA9IHBhcmFtID09PSB2b2lkIDAgPyB7fSA6IHBhcmFtO1xuICAgIGlmICghY29udGV4dCkge1xuICAgICAgICBjb250ZXh0ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xuICAgIH1cbiAgICAvLyBNYWtlIHN1cmUgdGhlIHN1cHBvcnRzIHRlc3RzIGFyZSBydW4gYmVmb3JlIGludGVyY2VwdGluZyB0aGUgVGFiIGtleSxcbiAgICAvLyBvciBJRTEwIGFuZCBJRTExIHdpbGwgZmFpbCB0byBwcm9jZXNzIHRoZSBmaXJzdCBUYWIga2V5IGV2ZW50LiBOb3RcbiAgICAvLyBsaW1pdGluZyB0aGlzIHdhcm0tdXAgdG8gSUUgYmVjYXVzZSBpdCBtYXkgYmUgYSBwcm9ibGVtIGVsc2V3aGVyZSwgdG9vLlxuICAgIHF1ZXJ5VGFic2VxdWVuY2UoKTtcbiAgICByZXR1cm4gd2hlbktleSh7XG4gICAgICAgIC8vIFNhZmFyaSBvbiBPU1ggbWF5IHJlcXVpcmUgQUxUK1RBQiB0byByZWFjaCBsaW5rcyxcbiAgICAgICAgLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tZWRpYWxpemUvYWxseS5qcy9pc3N1ZXMvMTQ2XG4gICAgICAgIFwiP2FsdCs/c2hpZnQrdGFiXCI6IGZ1bmN0aW9uIGFsdFNoaWZ0VGFiKGV2ZW50KSB7XG4gICAgICAgICAgICAvLyB3ZSdyZSBjb21wbGV0ZWx5IHRha2luZyBvdmVyIHRoZSBUYWIga2V5IGhhbmRsaW5nXG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgdmFyIHNlcXVlbmNlID0gcXVlcnlUYWJzZXF1ZW5jZSh7XG4gICAgICAgICAgICAgICAgY29udGV4dDogY29udGV4dFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB2YXIgYmFja3dhcmQgPSBldmVudC5zaGlmdEtleTtcbiAgICAgICAgICAgIHZhciBmaXJzdCA9IHNlcXVlbmNlWzBdO1xuICAgICAgICAgICAgdmFyIGxhc3QgPSBzZXF1ZW5jZVtzZXF1ZW5jZS5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIC8vIHdyYXAgYXJvdW5kIGZpcnN0IHRvIGxhc3QsIGxhc3QgdG8gZmlyc3RcbiAgICAgICAgICAgIHZhciBzb3VyY2UgPSBiYWNrd2FyZCA/IGZpcnN0IDogbGFzdDtcbiAgICAgICAgICAgIHZhciB0YXJnZXQgPSBiYWNrd2FyZCA/IGxhc3QgOiBmaXJzdDtcbiAgICAgICAgICAgIGlmIChpc0FjdGl2ZUVsZW1lbnQoc291cmNlKSkge1xuICAgICAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGZpbmQgY3VycmVudCBwb3NpdGlvbiBpbiB0YWJzZXF1ZW5jZVxuICAgICAgICAgICAgdmFyIGN1cnJlbnRJbmRleCA9IHZvaWQgMDtcbiAgICAgICAgICAgIHZhciBmb3VuZCA9IHNlcXVlbmNlLnNvbWUoZnVuY3Rpb24oZWxlbWVudCwgaW5kZXgpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzQWN0aXZlRWxlbWVudChlbGVtZW50KSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGN1cnJlbnRJbmRleCA9IGluZGV4O1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoIWZvdW5kKSB7XG4gICAgICAgICAgICAgICAgLy8gcmVkaXJlY3QgdG8gZmlyc3QgYXMgd2UncmUgbm90IGluIG91ciB0YWJzZXF1ZW5jZVxuICAgICAgICAgICAgICAgIGZpcnN0LmZvY3VzKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gc2hpZnQgZm9jdXMgdG8gcHJldmlvdXMvbmV4dCBlbGVtZW50IGluIHRoZSBzZXF1ZW5jZVxuICAgICAgICAgICAgdmFyIG9mZnNldCA9IGJhY2t3YXJkID8gLTEgOiAxO1xuICAgICAgICAgICAgc2VxdWVuY2VbY3VycmVudEluZGV4ICsgb2Zmc2V0XS5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW50YWluLS10YWItZm9jdXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9wbGF0Zm9ybSIsIl8iLCJfY3NzZXNjYXBlIiwibm9kZUFycmF5IiwiaW5wdXQiLCJBcnJheSIsImlzQXJyYXkiLCJub2RlVHlwZSIsInVuZGVmaW5lZCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsInNsaWNlIiwiY2FsbCIsIlR5cGVFcnJvciIsIlN0cmluZyIsImNvbnRleHRUb0VsZW1lbnQiLCJfcmVmIiwiY29udGV4dCIsIl9yZWYkbGFiZWwiLCJsYWJlbCIsInJlc29sdmVEb2N1bWVudCIsImRlZmF1bHRUb0RvY3VtZW50IiwiZWxlbWVudCIsIk5vZGUiLCJET0NVTUVOVF9OT0RFIiwiZG9jdW1lbnRFbGVtZW50IiwiRUxFTUVOVF9OT0RFIiwiRE9DVU1FTlRfRlJBR01FTlRfTk9ERSIsImdldFNoYWRvd0hvc3QiLCJhcmd1bWVudHMiLCJjb250YWluZXIiLCJwYXJlbnROb2RlIiwiaG9zdCIsImdldERvY3VtZW50Iiwibm9kZSIsIm93bmVyRG9jdW1lbnQiLCJpc0FjdGl2ZUVsZW1lbnQiLCJfZG9jdW1lbnQiLCJhY3RpdmVFbGVtZW50Iiwic2hhZG93SG9zdCIsInNoYWRvd1Jvb3QiLCJnZXRQYXJlbnRzIiwibGlzdCIsInB1c2giLCJuYW1lcyIsIm5hbWUiLCJmaW5kTWV0aG9kTmFtZSIsInNvbWUiLCJfbmFtZSIsImVsZW1lbnRNYXRjaGVzIiwic2VsZWN0b3IiLCJwbGF0Zm9ybSIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImRlZmF1bHQiLCJvcyIsImZhbWlseSIsIkFORFJPSUQiLCJXSU5ET1dTIiwiT1NYIiwiSU9TIiwiQkxJTksiLCJsYXlvdXQiLCJHRUNLTyIsIlRSSURFTlQiLCJFREdFIiwiV0VCS0lUIiwidmVyc2lvbiIsInBhcnNlRmxvYXQiLCJtYWpvclZlcnNpb24iLCJNYXRoIiwiZmxvb3IiLCJpcyIsIklFOSIsIklFMTAiLCJJRTExIiwiYmVmb3JlIiwiZGF0YSIsIndpbmRvd1Njcm9sbFRvcCIsIndpbmRvdyIsInNjcm9sbFRvcCIsIndpbmRvd1Njcm9sbExlZnQiLCJzY3JvbGxMZWZ0IiwiYm9keVNjcm9sbFRvcCIsImJvZHkiLCJib2R5U2Nyb2xsTGVmdCIsImlmcmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJzZXRBdHRyaWJ1dGUiLCJhcHBlbmRDaGlsZCIsIl93aW5kb3ciLCJjb250ZW50V2luZG93Iiwib3BlbiIsImNsb3NlIiwid3JhcHBlciIsInRlc3QiLCJvcHRpb25zIiwiaW5uZXJIVE1MIiwiZm9jdXMiLCJtdXRhdGUiLCJ2YWxpZGF0ZSIsImFmdGVyIiwiYmx1ciIsInJlbW92ZUNoaWxkIiwiZGV0ZWN0Rm9jdXMiLCJ0ZXN0cyIsInJlc3VsdHMiLCJrZXlzIiwibWFwIiwia2V5IiwidmVyc2lvbiQxIiwicmVhZExvY2FsU3RvcmFnZSIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJlIiwid3JpdGVMb2NhbFN0b3JhZ2UiLCJoYXNGb2N1cyIsInJlbW92ZUl0ZW0iLCJzZXRJdGVtIiwidXNlckFnZW50IiwibmF2aWdhdG9yIiwiY2FjaGVLZXkiLCJjYWNoZSIsImNhY2hlJDEiLCJzZXQiLCJ2YWx1ZXMiLCJmb3JFYWNoIiwidGltZSIsIkRhdGUiLCJ0b0lTT1N0cmluZyIsImNzc1NoYWRvd1BpZXJjaW5nRGVlcENvbWJpbmF0b3IiLCJjb21iaW5hdG9yIiwicXVlcnlTZWxlY3RvciIsIm5vQXJyb3dBcnJvd0Fycm93Iiwibm9EZWVwIiwiZ2lmIiwiZm9jdXNBcmVhSW1nVGFiaW5kZXgiLCJmb2N1c0FyZWFUYWJpbmRleCIsImZvY3VzVGFyZ2V0IiwiZm9jdXNBcmVhV2l0aG91dEhyZWYiLCJmb2N1c0F1ZGlvV2l0aG91dENvbnRyb2xzIiwiaW52YWxpZEdpZiIsImZvY3VzQnJva2VuSW1hZ2VNYXAiLCJmb2N1c0NoaWxkcmVuT2ZGb2N1c2FibGVGbGV4Ym94IiwiZm9jdXNGaWVsZHNldERpc2FibGVkIiwiZm9jdXNGaWVsZHNldCIsImZvY3VzRmxleGJveENvbnRhaW5lciIsImZvY3VzRm9ybURpc2FibGVkIiwiZm9jdXNJbWdJc21hcCIsImhyZWYiLCJmb2N1c0ltZ1VzZW1hcFRhYmluZGV4IiwiZm9jdXNJbkhpZGRlbklmcmFtZSIsImlmcmFtZURvY3VtZW50Iiwic3R5bGUiLCJ2aXNpYmlsaXR5IiwicmVzdWx0IiwiZm9jdXNJblplcm9EaW1lbnNpb25PYmplY3QiLCJmb2N1c0ludmFsaWRUYWJpbmRleCIsImZvY3VzTGFiZWxUYWJpbmRleCIsInZhcmlhYmxlVG9QcmV2ZW50RGVhZENvZGVFbGltaW5hdGlvbiIsIm9mZnNldEhlaWdodCIsInN2ZyIsImZvY3VzT2JqZWN0U3ZnSGlkZGVuIiwiZm9jdXNPYmplY3RTdmciLCJyZXN1bHQkMSIsImZvY3VzT2JqZWN0U3dmIiwiZm9jdXNSZWRpcmVjdEltZ1VzZW1hcCIsInRhcmdldCIsImZvY3VzUmVkaXJlY3RMZWdlbmQiLCJmb2N1c2FibGUiLCJ0YWJiYWJsZSIsImZvY3VzU2Nyb2xsQm9keSIsImZvY3VzU2Nyb2xsQ29udGFpbmVyV2l0aG91dE92ZXJmbG93IiwiZm9jdXNTY3JvbGxDb250YWluZXIiLCJmb2N1c1N1bW1hcnkiLCJmaXJzdEVsZW1lbnRDaGlsZCIsIm1ha2VGb2N1c2FibGVGb3JlaWduT2JqZWN0IiwiZm9yZWlnbk9iamVjdCIsImNyZWF0ZUVsZW1lbnROUyIsIndpZHRoIiwiYmFzZVZhbCIsImhlaWdodCIsImxhc3RDaGlsZCIsInR5cGUiLCJmb2N1c1N2Z0ZvcmVpZ25PYmplY3RIYWNrIiwiaXNTdmdFbGVtZW50Iiwib3duZXJTVkdFbGVtZW50Iiwibm9kZU5hbWUiLCJ0b0xvd2VyQ2FzZSIsImRpc2FibGVkIiwiZ2VuZXJhdGUiLCJIVE1MRWxlbWVudCIsInByb3RvdHlwZSIsImZvY3VzU3ZnRm9jdXNhYmxlQXR0cmlidXRlIiwiZm9jdXNTdmdUYWJpbmRleEF0dHJpYnV0ZSIsImZvY3VzU3ZnTmVnYXRpdmVUYWJpbmRleEF0dHJpYnV0ZSIsImZvY3VzU3ZnVXNlVGFiaW5kZXgiLCJqb2luIiwiZm9jdXNTdmdGb3JlaWdub2JqZWN0VGFiaW5kZXgiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsInJlc3VsdCQyIiwiQm9vbGVhbiIsIlNWR0VsZW1lbnQiLCJmb2N1c1N2Z0luSWZyYW1lIiwiZm9jdXNTdmciLCJmaXJzdENoaWxkIiwiZm9jdXNUYWJpbmRleFRyYWlsaW5nQ2hhcmFjdGVycyIsImZvY3VzVGFibGUiLCJmcmFnbWVudCIsImNyZWF0ZURvY3VtZW50RnJhZ21lbnQiLCJmb2N1c1ZpZGVvV2l0aG91dENvbnRyb2xzIiwicmVzdWx0JDMiLCJ0YWJzZXF1ZW5jZUFyZWFBdEltZ1Bvc2l0aW9uIiwidGVzdENhbGxiYWNrcyIsInRlc3REZXNjcmlwdGlvbnMiLCJleGVjdXRlVGVzdHMiLCJzdXBwb3J0c0NhY2hlIiwiX3N1cHBvcnRzIiwic3VwcG9ydHMiLCJ2YWxpZEludGVnZXJQYXR0ZXJuTm9UcmFpbGluZyIsInZhbGlkSW50ZWdlclBhdHRlcm5XaXRoVHJhaWxpbmciLCJpc1ZhbGlkVGFiaW5kZXgiLCJ2YWxpZEludGVnZXJQYXR0ZXJuIiwiaGFzVGFiaW5kZXgiLCJoYXNBdHRyaWJ1dGUiLCJoYXNUYWJJbmRleCIsInRhYmluZGV4IiwiZ2V0QXR0cmlidXRlIiwidGFiaW5kZXhWYWx1ZSIsImF0dHJpYnV0ZU5hbWUiLCJwYXJzZUludCIsImlzTmFOIiwiaXNVc2VyTW9kaWZ5V3JpdGFibGUiLCJ1c2VyTW9kaWZ5Iiwid2Via2l0VXNlck1vZGlmeSIsImluZGV4T2YiLCJoYXNDc3NPdmVyZmxvd1Njcm9sbCIsImdldFByb3BlcnR5VmFsdWUiLCJvdmVyZmxvdyIsImhhc0Nzc0Rpc3BsYXlGbGV4IiwiZGlzcGxheSIsImlzU2Nyb2xsYWJsZUNvbnRhaW5lciIsInBhcmVudE5vZGVOYW1lIiwicGFyZW50U3R5bGUiLCJzY3JvbGxIZWlnaHQiLCJvZmZzZXRXaWR0aCIsInNjcm9sbFdpZHRoIiwic3VwcG9ydHMkMSIsImlzRm9jdXNSZWxldmFudFJ1bGVzIiwiX3JlZiRleGNlcHQiLCJleGNlcHQiLCJmbGV4Ym94Iiwic2Nyb2xsYWJsZSIsInNoYWRvdyIsInN2Z1R5cGUiLCJ2YWxpZFRhYmluZGV4IiwiaXNTdmdDb250ZW50IiwiZm9jdXNhYmxlQXR0cmlidXRlIiwiZ2V0Q29tcHV0ZWRTdHlsZSIsImhhc0xpbmtQYXJlbnQiLCJwYXJlbnQiLCJwYXJlbnRFbGVtZW50IiwiaXNGb2N1c1JlbGV2YW50IiwicnVsZXMiLCJmaW5kSW5kZXgiLCJhcnJheSIsImNhbGxiYWNrIiwiaSIsImdldENvbnRlbnREb2N1bWVudCIsImNvbnRlbnREb2N1bWVudCIsImdldFNWR0RvY3VtZW50IiwiZ2V0V2luZG93IiwiZGVmYXVsdFZpZXciLCJzaGFkb3dQcmVmaXgiLCJzZWxlY3RJblNoYWRvd3MiLCJvcGVyYXRvciIsInJlcGxhY2UiLCJzcGxpdCIsImZpbmREb2N1bWVudEhvc3RFbGVtZW50IiwiX2ZyYW1lRWxlbWVudCIsInBvdGVudGlhbEhvc3RzIiwiZ2V0RnJhbWVFbGVtZW50IiwiZnJhbWVFbGVtZW50Iiwibm90UmVuZGVyZWRFbGVtZW50c1BhdHRlcm4iLCJjb21wdXRlZFN0eWxlIiwicHJvcGVydHkiLCJub3REaXNwbGF5ZWQiLCJfcGF0aCIsIm5vdFZpc2libGUiLCJoaWRkZW4iLCJ2aXNpYmxlIiwiY29sbGFwc2VkUGFyZW50Iiwib2Zmc2V0IiwiaXNWaXNpYmxlUnVsZXMiLCJub3RSZW5kZXJlZCIsImNzc0Rpc3BsYXkiLCJjc3NWaXNpYmlsaXR5IiwiZGV0YWlsc0VsZW1lbnQiLCJicm93c2luZ0NvbnRleHQiLCJpc0F1ZGlvV2l0aG91dENvbnRyb2xzIiwiX2lzVmlzaWJsZSIsImlzVmlzaWJsZSIsImdldE1hcEJ5TmFtZSIsImdldEltYWdlT2ZBcmVhIiwic3VwcG9ydHMkMiIsImlzVmFsaWRBcmVhIiwiaW1nIiwiY29tcGxldGUiLCJuYXR1cmFsSGVpZ2h0IiwiY2hpbGRPZkludGVyYWN0aXZlIiwiX2VsZW1lbnQiLCJzdXBwb3J0cyQzIiwiZGlzYWJsZWRFbGVtZW50c1BhdHRlcm4iLCJkaXNhYmxlZEVsZW1lbnRzIiwic2VsZWN0IiwidGV4dGFyZWEiLCJidXR0b24iLCJmaWVsZHNldCIsImZvcm0iLCJpc05hdGl2ZURpc2FibGVkU3VwcG9ydGVkIiwiUmVnRXhwIiwic3VwcG9ydHMkNCIsImlzRGlzYWJsZWRGaWVsZHNldCIsImlzRGlzYWJsZWRGb3JtIiwiaXNEaXNhYmxlZCIsInBhcmVudHMiLCJpc09ubHlUYWJiYWJsZVJ1bGVzIiwib25seUZvY3VzYWJsZUJyb3dzaW5nQ29udGV4dCIsImlzT25seVRhYmJhYmxlIiwic3VwcG9ydHMkNSIsImlzT25seUZvY3VzUmVsZXZhbnQiLCJfdGFiaW5kZXgiLCJpc0ZvY3VzYWJsZVJ1bGVzIiwib25seVRhYmJhYmxlIiwiX2lzT25seVRhYmJhYmxlIiwiZm9jdXNSZWxldmFudCIsInZpc2liaWxpdHlPcHRpb25zIiwiX25vZGVOYW1lMiIsIl9ub2RlTmFtZSIsImlzRm9jdXNhYmxlIiwiY3JlYXRlRmlsdGVyIiwiY29uZGl0aW9uIiwiZmlsdGVyIiwiTm9kZUZpbHRlciIsIkZJTFRFUl9BQ0NFUFQiLCJGSUxURVJfU0tJUCIsImFjY2VwdE5vZGUiLCJQb3NzaWJseUZvY3VzYWJsZUZpbHRlciIsInF1ZXJ5Rm9jdXNhYmxlU3RyaWN0IiwiaW5jbHVkZUNvbnRleHQiLCJpbmNsdWRlT25seVRhYmJhYmxlIiwic3RyYXRlZ3kiLCJfaXNGb2N1c2FibGUiLCJ3YWxrZXIiLCJjcmVhdGVUcmVlV2Fsa2VyIiwiU0hPV19FTEVNRU5UIiwibmV4dE5vZGUiLCJjdXJyZW50Tm9kZSIsImNvbmNhdCIsInVuc2hpZnQiLCJzdXBwb3J0cyQ2Iiwic2VsZWN0b3IkMSIsInNlbGVjdG9yJDIiLCJxdWVyeUZvY3VzYWJsZVF1aWNrIiwiX3NlbGVjdG9yIiwiZWxlbWVudHMiLCJxdWVyeUZvY3VzYWJsZSIsIl9yZWYkc3RyYXRlZ3kiLCJzdXBwb3J0cyQ3IiwiZm9jdXNhYmxlRWxlbWVudHNQYXR0ZXJuIiwiaXNUYWJiYWJsZVJ1bGVzIiwiZnJhbWVOb2RlTmFtZSIsImlzRml4ZWRCbGluayIsImhhc1RhYmJhYmxlVGFiaW5kZXhPck5vbmUiLCJoYXNUYWJiYWJsZVRhYmluZGV4IiwicG90ZW50aWFsbHlUYWJiYWJsZSIsInRhYkluZGV4IiwiX3N0eWxlIiwiX3N0eWxlMiIsImlzRm9jdXNSZWxldmFudFdpdGhvdXRGbGV4Ym94IiwiaXNUYWJiYWJsZVdpdGhvdXRGbGV4Ym94IiwiaXNUYWJiYWJsZSIsInF1ZXJ5VGFiYmFibGUiLCJfaXNUYWJiYWJsZSIsImNvbXBhcmVEb21Qb3NpdGlvbiIsImEiLCJiIiwiY29tcGFyZURvY3VtZW50UG9zaXRpb24iLCJET0NVTUVOVF9QT1NJVElPTl9GT0xMT1dJTkciLCJzb3J0RG9tT3JkZXIiLCJzb3J0IiwiZ2V0Rmlyc3RTdWNjZXNzb3JPZmZzZXQiLCJmaW5kSW5zZXJ0aW9uT2Zmc2V0cyIsInJlc29sdmVFbGVtZW50IiwiaW5zZXJ0aW9ucyIsImluamVjdGlvbnMiLCJpbnNlcnRFbGVtZW50c0F0T2Zmc2V0cyIsImluc2VydGVkIiwiaW5zZXJ0aW9uIiwicmVtb3ZlIiwiYXJncyIsInNwbGljZSIsImFwcGx5IiwibWVyZ2VJbkRvbU9yZGVyIiwiX2xpc3QiLCJfZWxlbWVudHMiLCJfY3JlYXRlQ2xhc3MiLCJkZWZpbmVQcm9wZXJ0aWVzIiwicHJvcHMiLCJkZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJDb25zdHJ1Y3RvciIsInByb3RvUHJvcHMiLCJzdGF0aWNQcm9wcyIsIl9jbGFzc0NhbGxDaGVjayIsImluc3RhbmNlIiwiTWFwcyIsIm1hcHMiLCJnZXRBcmVhc0ZvciIsImFkZE1hcEJ5TmFtZSIsImV4dHJhY3RBcmVhc0Zyb21MaXN0Iiwic29ydEFyZWEiLCJ1c2VtYXBzIiwiaW1hZ2UiLCJfY3JlYXRlQ2xhc3MkMSIsIl9jbGFzc0NhbGxDaGVjayQxIiwiU2hhZG93cyIsInNvcnRFbGVtZW50cyIsImhvc3RDb3VudGVyIiwiaW5Ib3N0IiwiaW5Eb2N1bWVudCIsImhvc3RzIiwiX3JlZ2lzdGVySG9zdCIsIl9zb3J0aW5nSWQiLCJwYXJlbnRIb3N0IiwiX3JlZ2lzdGVySG9zdFBhcmVudCIsIl9yZWdpc3RlckVsZW1lbnQiLCJleHRyYWN0RWxlbWVudHMiLCJfaW5qZWN0SG9zdHMiLCJfcmVwbGFjZUhvc3RzIiwiX2NsZWFudXAiLCJfY29udGV4dCIsIl9tZXJnZSIsIm1lcmdlZCIsIl9yZXNvbHZlSG9zdEVsZW1lbnQiLCJiaW5kIiwic29ydFNoYWRvd2VkIiwic2hhZG93cyIsInNvcnRUYWJpbmRleCIsImluZGV4ZXMiLCJub3JtYWwiLCJyZWR1Y2VSaWdodCIsInByZXZpb3VzIiwiY3VycmVudCIsInN1cHBvcnRzJDgiLCJtb3ZlQ29udGV4dFRvQmVnaW5uaW5nIiwicG9zIiwidG1wIiwicXVlcnlUYWJzZXF1ZW5jZSIsImNyZWF0ZVNoYWRvd1Jvb3QiLCJrZXljb2RlIiwidGFiIiwibGVmdCIsInVwIiwicmlnaHQiLCJkb3duIiwicGFnZVVwIiwicGFnZURvd24iLCJlbmQiLCJob21lIiwiZW50ZXIiLCJlc2NhcGUiLCJzcGFjZSIsInNoaWZ0IiwiY2Fwc0xvY2siLCJjdHJsIiwiYWx0IiwibWV0YSIsInBhdXNlIiwiaW5zZXJ0IiwiZGVsZXRlIiwiYmFja3NwYWNlIiwiX2FsaWFzIiwibiIsIl9uIiwiY29kZSIsIm51bUNvZGUiLCJfbjIiLCJfY29kZSIsIm5hbWUkMSIsImZyb21DaGFyQ29kZSIsIm1vZGlmaWVyIiwibW9kaWZpZXJTZXF1ZW5jZSIsImNyZWF0ZUV4cGVjdGVkTW9kaWZpZXJzIiwiaWdub3JlTW9kaWZpZXJzIiwiYWx0S2V5IiwiY3RybEtleSIsIm1ldGFLZXkiLCJzaGlmdEtleSIsInJlc29sdmVNb2RpZmllcnMiLCJtb2RpZmllcnMiLCJleHBlY3RlZCIsInRva2VuIiwicHJvcGVydHlOYW1lIiwicmVzb2x2ZUtleSIsIm1hdGNoTW9kaWZpZXJzIiwiZXZlbnQiLCJwcm9wIiwia2V5QmluZGluZyIsInRleHQiLCJfdGV4dCIsInRva2VucyIsIl9tb2RpZmllcnMiLCJfa2V5Q29kZXMiLCJrZXlDb2RlcyIsImdldFBhcmVudENvbXBhcmF0b3IiLCJpbmNsdWRlU2VsZiIsImlzQ2hpbGRPZiIsIkRPQ1VNRU5UX1BPU0lUSU9OX0NPTlRBSU5FRF9CWSIsImlzUGFyZW50T2YiLCJ3aGVuS2V5IiwiYmluZGluZ3MiLCJtYXBLZXlzIiwicmVnaXN0ZXJCaW5kaW5nIiwiYWRkQ2FsbGJhY2siLCJoYW5kbGVLZXlEb3duIiwiZGVmYXVsdFByZXZlbnRlZCIsImlzUGFyZW50T2ZFbGVtZW50Iiwia2V5Q29kZSIsIndoaWNoIiwiX2V2ZW50IiwiZGlzZW5nYWdlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJwYXJhbSIsImFsdFNoaWZ0VGFiIiwicHJldmVudERlZmF1bHQiLCJzZXF1ZW5jZSIsImJhY2t3YXJkIiwiZmlyc3QiLCJsYXN0Iiwic291cmNlIiwiY3VycmVudEluZGV4IiwiZm91bmQiLCJpbmRleCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-overlay] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n overflow: auto;\\n z-index: 9000;\\n\\n display: flex;\\n align-content: center;\\n align-items: center;\\n flex-direction: column;\\n padding: 10vh 15px 0;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n padding: 15px 15px 0;\\n }\\n }\\n\\n [data-nextjs-dialog-backdrop] {\\n position: fixed;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n left: 0;\\n background-color: rgba(17, 17, 17, 0.2);\\n pointer-events: all;\\n z-index: -1;\\n }\\n\\n [data-nextjs-dialog-backdrop-fixed] {\\n cursor: not-allowed;\\n -webkit-backdrop-filter: blur(8px);\\n backdrop-filter: blur(8px);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9zdHlsZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBDQUF5QztJQUNyQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlDQUFpQ0MsbUJBQU9BLENBQUMsOEhBQStDO0FBQzlGLE1BQU1DLGdCQUFnQkQsbUJBQU9BLENBQUMseUlBQTZCO0FBQzNELFNBQVNFO0lBQ0wsTUFBTUMsT0FBT0osK0JBQStCSyxDQUFDLENBQUM7UUFDMUM7S0FDSDtJQUNERixrQkFBa0I7UUFDZCxPQUFPQztJQUNYO0lBQ0EsT0FBT0E7QUFDWDtBQUNBLE1BQU1MLFNBQVMsQ0FBQyxHQUFHRyxjQUFjSSxJQUFJLEVBQUVIO0FBRXZDLElBQUksQ0FBQyxPQUFPUixRQUFRWSxPQUFPLEtBQUssY0FBZSxPQUFPWixRQUFRWSxPQUFPLEtBQUssWUFBWVosUUFBUVksT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPWixRQUFRWSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLZixPQUFPQyxjQUFjLENBQUNDLFFBQVFZLE9BQU8sRUFBRSxjQUFjO1FBQUVYLE9BQU87SUFBSztJQUNuRUgsT0FBT2dCLE1BQU0sQ0FBQ2QsUUFBUVksT0FBTyxFQUFFWjtJQUMvQmUsT0FBT2YsT0FBTyxHQUFHQSxRQUFRWSxPQUFPO0FBQ2xDLEVBRUEsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L3N0eWxlcy5qcz9lMmIxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwic3R5bGVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheV0ge1xcbiAgICBwb3NpdGlvbjogZml4ZWQ7XFxuICAgIHRvcDogMDtcXG4gICAgcmlnaHQ6IDA7XFxuICAgIGJvdHRvbTogMDtcXG4gICAgbGVmdDogMDtcXG4gICAgb3ZlcmZsb3c6IGF1dG87XFxuICAgIHotaW5kZXg6IDkwMDA7XFxuXFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcXG4gICAgcGFkZGluZzogMTB2aCAxNXB4IDA7XFxuICB9XFxuXFxuICBAbWVkaWEgKG1heC1oZWlnaHQ6IDgxMnB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ctb3ZlcmxheV0ge1xcbiAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAwO1xcbiAgICB9XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wXSB7XFxuICAgIHBvc2l0aW9uOiBmaXhlZDtcXG4gICAgdG9wOiAwO1xcbiAgICByaWdodDogMDtcXG4gICAgYm90dG9tOiAwO1xcbiAgICBsZWZ0OiAwO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuMik7XFxuICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XFxuICAgIHotaW5kZXg6IC0xO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1iYWNrZHJvcC1maXhlZF0ge1xcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xcbiAgICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ShadowPortal\", ({\n enumerable: true,\n get: function() {\n return ShadowPortal;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nfunction ShadowPortal(param) {\n let { children } = param;\n let portalNode = _react.useRef(null);\n let shadowNode = _react.useRef(null);\n let [, forceUpdate] = _react.useState();\n _react.useLayoutEffect(()=>{\n const ownerDocument = document;\n portalNode.current = ownerDocument.createElement(\"nextjs-portal\");\n shadowNode.current = portalNode.current.attachShadow({\n mode: \"open\"\n });\n ownerDocument.body.appendChild(portalNode.current);\n forceUpdate({});\n return ()=>{\n if (portalNode.current && portalNode.current.ownerDocument) {\n portalNode.current.ownerDocument.body.removeChild(portalNode.current);\n }\n };\n }, []);\n return shadowNode.current ? /*#__PURE__*/ (0, _reactdom.createPortal)(children, shadowNode.current) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ShadowPortal.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnREFBK0M7SUFDM0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1HLFlBQVlILG1CQUFPQSxDQUFDLGdIQUFXO0FBQ3JDLFNBQVNGLGFBQWFNLEtBQUs7SUFDdkIsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Q7SUFDbkIsSUFBSUUsYUFBYUwsT0FBT00sTUFBTSxDQUFDO0lBQy9CLElBQUlDLGFBQWFQLE9BQU9NLE1BQU0sQ0FBQztJQUMvQixJQUFJLEdBQUdFLFlBQVksR0FBR1IsT0FBT1MsUUFBUTtJQUNyQ1QsT0FBT1UsZUFBZSxDQUFDO1FBQ25CLE1BQU1DLGdCQUFnQkM7UUFDdEJQLFdBQVdRLE9BQU8sR0FBR0YsY0FBY0csYUFBYSxDQUFDO1FBQ2pEUCxXQUFXTSxPQUFPLEdBQUdSLFdBQVdRLE9BQU8sQ0FBQ0UsWUFBWSxDQUFDO1lBQ2pEQyxNQUFNO1FBQ1Y7UUFDQUwsY0FBY00sSUFBSSxDQUFDQyxXQUFXLENBQUNiLFdBQVdRLE9BQU87UUFDakRMLFlBQVksQ0FBQztRQUNiLE9BQU87WUFDSCxJQUFJSCxXQUFXUSxPQUFPLElBQUlSLFdBQVdRLE9BQU8sQ0FBQ0YsYUFBYSxFQUFFO2dCQUN4RE4sV0FBV1EsT0FBTyxDQUFDRixhQUFhLENBQUNNLElBQUksQ0FBQ0UsV0FBVyxDQUFDZCxXQUFXUSxPQUFPO1lBQ3hFO1FBQ0o7SUFDSixHQUFHLEVBQUU7SUFDTCxPQUFPTixXQUFXTSxPQUFPLEdBQWlCLFdBQUgsR0FBSSxJQUFHWCxVQUFVa0IsWUFBWSxFQUFFaEIsVUFBVUcsV0FBV00sT0FBTyxJQUFJO0FBQzFHO0FBRUEsSUFBSSxDQUFDLE9BQU9wQixRQUFRNEIsT0FBTyxLQUFLLGNBQWUsT0FBTzVCLFFBQVE0QixPQUFPLEtBQUssWUFBWTVCLFFBQVE0QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QixRQUFRNEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRCLE9BQU8sRUFBRSxjQUFjO1FBQUUzQixPQUFPO0lBQUs7SUFDbkVILE9BQU9nQyxNQUFNLENBQUM5QixRQUFRNEIsT0FBTyxFQUFFNUI7SUFDL0IrQixPQUFPL0IsT0FBTyxHQUFHQSxRQUFRNEIsT0FBTztBQUNsQyxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsLmpzPzFmMTEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJTaGFkb3dQb3J0YWxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNoYWRvd1BvcnRhbDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfcmVhY3Rkb20gPSByZXF1aXJlKFwicmVhY3QtZG9tXCIpO1xuZnVuY3Rpb24gU2hhZG93UG9ydGFsKHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4gfSA9IHBhcmFtO1xuICAgIGxldCBwb3J0YWxOb2RlID0gX3JlYWN0LnVzZVJlZihudWxsKTtcbiAgICBsZXQgc2hhZG93Tm9kZSA9IF9yZWFjdC51c2VSZWYobnVsbCk7XG4gICAgbGV0IFssIGZvcmNlVXBkYXRlXSA9IF9yZWFjdC51c2VTdGF0ZSgpO1xuICAgIF9yZWFjdC51c2VMYXlvdXRFZmZlY3QoKCk9PntcbiAgICAgICAgY29uc3Qgb3duZXJEb2N1bWVudCA9IGRvY3VtZW50O1xuICAgICAgICBwb3J0YWxOb2RlLmN1cnJlbnQgPSBvd25lckRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJuZXh0anMtcG9ydGFsXCIpO1xuICAgICAgICBzaGFkb3dOb2RlLmN1cnJlbnQgPSBwb3J0YWxOb2RlLmN1cnJlbnQuYXR0YWNoU2hhZG93KHtcbiAgICAgICAgICAgIG1vZGU6IFwib3BlblwiXG4gICAgICAgIH0pO1xuICAgICAgICBvd25lckRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQocG9ydGFsTm9kZS5jdXJyZW50KTtcbiAgICAgICAgZm9yY2VVcGRhdGUoe30pO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGlmIChwb3J0YWxOb2RlLmN1cnJlbnQgJiYgcG9ydGFsTm9kZS5jdXJyZW50Lm93bmVyRG9jdW1lbnQpIHtcbiAgICAgICAgICAgICAgICBwb3J0YWxOb2RlLmN1cnJlbnQub3duZXJEb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHBvcnRhbE5vZGUuY3VycmVudCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBzaGFkb3dOb2RlLmN1cnJlbnQgPyAvKiNfX1BVUkVfXyovICgwLCBfcmVhY3Rkb20uY3JlYXRlUG9ydGFsKShjaGlsZHJlbiwgc2hhZG93Tm9kZS5jdXJyZW50KSA6IG51bGw7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVNoYWRvd1BvcnRhbC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiU2hhZG93UG9ydGFsIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX3JlYWN0ZG9tIiwicGFyYW0iLCJjaGlsZHJlbiIsInBvcnRhbE5vZGUiLCJ1c2VSZWYiLCJzaGFkb3dOb2RlIiwiZm9yY2VVcGRhdGUiLCJ1c2VTdGF0ZSIsInVzZUxheW91dEVmZmVjdCIsIm93bmVyRG9jdW1lbnQiLCJkb2N1bWVudCIsImN1cnJlbnQiLCJjcmVhdGVFbGVtZW50IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImJvZHkiLCJhcHBlbmRDaGlsZCIsInJlbW92ZUNoaWxkIiwiY3JlYXRlUG9ydGFsIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"EditorLink\", ({\n enumerable: true,\n get: function() {\n return EditorLink;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { file, isSourceFile, location } = param;\n var _location_line, _location_column;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n lineNumber: (_location_line = location == null ? void 0 : location.line) != null ? _location_line : 1,\n column: (_location_column = location == null ? void 0 : location.column) != null ? _location_column : 0\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-with-open-in-editor-link\": true,\n \"data-with-open-in-editor-link-source-file\": isSourceFile ? true : undefined,\n \"data-with-open-in-editor-link-import-trace\": isSourceFile ? undefined : true,\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n file,\n location ? \":\" + location.line + \":\" + location.column : null,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=EditorLink.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvRWRpdG9yTGluay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksbUJBQW1CSixtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDbkUsU0FBU0YsV0FBV08sS0FBSztJQUNyQixJQUFJLEVBQUVDLElBQUksRUFBRUMsWUFBWSxFQUFFQyxRQUFRLEVBQUUsR0FBR0g7SUFDdkMsSUFBSUksZ0JBQWdCQztJQUNwQixNQUFNQyxPQUFPLENBQUMsR0FBR1AsaUJBQWlCUSxlQUFlLEVBQUU7UUFDL0NOO1FBQ0FPLFlBQVksQ0FBQ0osaUJBQWlCRCxZQUFZLE9BQU8sS0FBSyxJQUFJQSxTQUFTTSxJQUFJLEtBQUssT0FBT0wsaUJBQWlCO1FBQ3BHTSxRQUFRLENBQUNMLG1CQUFtQkYsWUFBWSxPQUFPLEtBQUssSUFBSUEsU0FBU08sTUFBTSxLQUFLLE9BQU9MLG1CQUFtQjtJQUMxRztJQUNBLE9BQXFCLFdBQUgsR0FBSSxJQUFHVCxZQUFZZSxJQUFJLEVBQUUsT0FBTztRQUM5QyxpQ0FBaUM7UUFDakMsNkNBQTZDVCxlQUFlLE9BQU9VO1FBQ25FLDhDQUE4Q1YsZUFBZVUsWUFBWTtRQUN6RUMsVUFBVTtRQUNWQyxNQUFNO1FBQ05DLFNBQVNUO1FBQ1RVLE9BQU87UUFDUEMsVUFBVTtZQUNOaEI7WUFDQUUsV0FBVyxNQUFNQSxTQUFTTSxJQUFJLEdBQUcsTUFBTU4sU0FBU08sTUFBTSxHQUFHO1lBQ3pELFdBQVcsR0FBSSxJQUFHZCxZQUFZZSxJQUFJLEVBQUUsT0FBTztnQkFDdkNPLE9BQU87Z0JBQ1BDLFNBQVM7Z0JBQ1RDLE1BQU07Z0JBQ05DLFFBQVE7Z0JBQ1JDLGFBQWE7Z0JBQ2JDLGVBQWU7Z0JBQ2ZDLGdCQUFnQjtnQkFDaEJQLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZNkIsR0FBRyxFQUFFLFFBQVE7d0JBQ3ZDQyxHQUFHO29CQUNQO29CQUNBLFdBQVcsR0FBSSxJQUFHOUIsWUFBWTZCLEdBQUcsRUFBRSxZQUFZO3dCQUMzQ0UsUUFBUTtvQkFDWjtvQkFDQSxXQUFXLEdBQUksSUFBRy9CLFlBQVk2QixHQUFHLEVBQUUsUUFBUTt3QkFDdkNHLElBQUk7d0JBQ0pDLElBQUk7d0JBQ0pDLElBQUk7d0JBQ0pDLElBQUk7b0JBQ1I7aUJBQ0g7WUFDTDtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPMUMsUUFBUTJDLE9BQU8sS0FBSyxjQUFlLE9BQU8zQyxRQUFRMkMsT0FBTyxLQUFLLFlBQVkzQyxRQUFRMkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0MsUUFBUTJDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks5QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEyQyxPQUFPLEVBQUUsY0FBYztRQUFFMUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPK0MsTUFBTSxDQUFDN0MsUUFBUTJDLE9BQU8sRUFBRTNDO0lBQy9COEMsT0FBTzlDLE9BQU8sR0FBR0EsUUFBUTJDLE9BQU87QUFDbEMsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL0VkaXRvckxpbmsuanM/OTZjOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkVkaXRvckxpbmtcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVkaXRvckxpbms7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfdXNlb3BlbmluZWRpdG9yID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yXCIpO1xuZnVuY3Rpb24gRWRpdG9yTGluayhwYXJhbSkge1xuICAgIGxldCB7IGZpbGUsIGlzU291cmNlRmlsZSwgbG9jYXRpb24gfSA9IHBhcmFtO1xuICAgIHZhciBfbG9jYXRpb25fbGluZSwgX2xvY2F0aW9uX2NvbHVtbjtcbiAgICBjb25zdCBvcGVuID0gKDAsIF91c2VvcGVuaW5lZGl0b3IudXNlT3BlbkluRWRpdG9yKSh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGxpbmVOdW1iZXI6IChfbG9jYXRpb25fbGluZSA9IGxvY2F0aW9uID09IG51bGwgPyB2b2lkIDAgOiBsb2NhdGlvbi5saW5lKSAhPSBudWxsID8gX2xvY2F0aW9uX2xpbmUgOiAxLFxuICAgICAgICBjb2x1bW46IChfbG9jYXRpb25fY29sdW1uID0gbG9jYXRpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2F0aW9uLmNvbHVtbikgIT0gbnVsbCA/IF9sb2NhdGlvbl9jb2x1bW4gOiAwXG4gICAgfSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGlua1wiOiB0cnVlLFxuICAgICAgICBcImRhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rLXNvdXJjZS1maWxlXCI6IGlzU291cmNlRmlsZSA/IHRydWUgOiB1bmRlZmluZWQsXG4gICAgICAgIFwiZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmstaW1wb3J0LXRyYWNlXCI6IGlzU291cmNlRmlsZSA/IHVuZGVmaW5lZCA6IHRydWUsXG4gICAgICAgIHRhYkluZGV4OiAxMCxcbiAgICAgICAgcm9sZTogXCJsaW5rXCIsXG4gICAgICAgIG9uQ2xpY2s6IG9wZW4sXG4gICAgICAgIHRpdGxlOiBcIkNsaWNrIHRvIG9wZW4gaW4geW91ciBlZGl0b3JcIixcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICBsb2NhdGlvbiA/IFwiOlwiICsgbG9jYXRpb24ubGluZSArIFwiOlwiICsgbG9jYXRpb24uY29sdW1uIDogbnVsbCxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3ZnXCIsIHtcbiAgICAgICAgICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk0xOCAxM3Y2YTIgMiAwIDAgMS0yIDJINWEyIDIgMCAwIDEtMi0yVjhhMiAyIDAgMCAxIDItMmg2XCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwb2x5bGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb2ludHM6IFwiMTUgMyAyMSAzIDIxIDlcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgeDE6IFwiMTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHkxOiBcIjE0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB4MjogXCIyMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeTI6IFwiM1wiXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1FZGl0b3JMaW5rLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJFZGl0b3JMaW5rIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl91c2VvcGVuaW5lZGl0b3IiLCJwYXJhbSIsImZpbGUiLCJpc1NvdXJjZUZpbGUiLCJsb2NhdGlvbiIsIl9sb2NhdGlvbl9saW5lIiwiX2xvY2F0aW9uX2NvbHVtbiIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJsaW5lTnVtYmVyIiwibGluZSIsImNvbHVtbiIsImpzeHMiLCJ1bmRlZmluZWQiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJjaGlsZHJlbiIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImpzeCIsImQiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return Terminal;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nconst _EditorLink = __webpack_require__(/*! ./EditorLink */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/EditorLink.js\");\nfunction getFile(lines) {\n const contentFileName = lines.shift();\n if (!contentFileName) return null;\n const [fileName, line, column] = contentFileName.split(\":\", 3);\n const parsedLine = Number(line);\n const parsedColumn = Number(column);\n const hasLocation = !Number.isNaN(parsedLine) && !Number.isNaN(parsedColumn);\n return {\n fileName: hasLocation ? fileName : contentFileName,\n location: hasLocation ? {\n line: parsedLine,\n column: parsedColumn\n } : undefined\n };\n}\nfunction getImportTraceFiles(lines) {\n if (lines.some((line)=>/ReactServerComponentsError:/.test(line)) || lines.some((line)=>/Import trace for requested module:/.test(line))) {\n // Grab the lines at the end containing the files\n const files = [];\n while(/.+\\..+/.test(lines[lines.length - 1]) && !lines[lines.length - 1].includes(\":\")){\n const file = lines.pop().trim();\n files.unshift(file);\n }\n return files;\n }\n return [];\n}\nfunction getEditorLinks(content) {\n const lines = content.split(\"\\n\");\n const file = getFile(lines);\n const importTraceFiles = getImportTraceFiles(lines);\n return {\n file,\n source: lines.join(\"\\n\"),\n importTraceFiles\n };\n}\nconst Terminal = function Terminal(param) {\n let { content } = param;\n const { file, source, importTraceFiles } = _react.useMemo(()=>getEditorLinks(content), [\n content\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(source, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n source\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-terminal\": true,\n children: [\n file && /*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: true,\n file: file.fileName,\n location: file.location\n }, file.fileName),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"pre\", {\n children: [\n decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: entry.content\n })\n }, \"terminal-entry-\" + index)),\n importTraceFiles.map((importTraceFile)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_EditorLink.EditorLink, {\n isSourceFile: false,\n file: importTraceFile\n }, importTraceFile))\n ]\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Terminal.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvVGVybWluYWwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDRDQUEyQztJQUN2Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLDRCQUE0QkQsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRyxTQUFTLFdBQVcsR0FBR0oseUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdGQUEwQjtBQUMxRixNQUFNSyxTQUFTLFdBQVcsR0FBR0osMEJBQTBCRyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1NLGlCQUFpQk4sbUJBQU9BLENBQUMsMklBQW9CO0FBQ25ELE1BQU1PLGNBQWNQLG1CQUFPQSxDQUFDLG1JQUFjO0FBQzFDLFNBQVNRLFFBQVFDLEtBQUs7SUFDbEIsTUFBTUMsa0JBQWtCRCxNQUFNRSxLQUFLO0lBQ25DLElBQUksQ0FBQ0QsaUJBQWlCLE9BQU87SUFDN0IsTUFBTSxDQUFDRSxVQUFVQyxNQUFNQyxPQUFPLEdBQUdKLGdCQUFnQkssS0FBSyxDQUFDLEtBQUs7SUFDNUQsTUFBTUMsYUFBYUMsT0FBT0o7SUFDMUIsTUFBTUssZUFBZUQsT0FBT0g7SUFDNUIsTUFBTUssY0FBYyxDQUFDRixPQUFPRyxLQUFLLENBQUNKLGVBQWUsQ0FBQ0MsT0FBT0csS0FBSyxDQUFDRjtJQUMvRCxPQUFPO1FBQ0hOLFVBQVVPLGNBQWNQLFdBQVdGO1FBQ25DVyxVQUFVRixjQUFjO1lBQ3BCTixNQUFN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QUFRK0MsT0FBTyxLQUFLLGNBQWUsT0FBTy9DLFFBQVErQyxPQUFPLEtBQUssWUFBWS9DLFFBQVErQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8vQyxRQUFRK0MsT0FBTyxDQUFDc0IsVUFBVSxLQUFLLGFBQWE7SUFDckt2RSxPQUFPQyxjQUFjLENBQUNDLFFBQVErQyxPQUFPLEVBQUUsY0FBYztRQUFFOUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPd0UsTUFBTSxDQUFDdEUsUUFBUStDLE9BQU8sRUFBRS9DO0lBQy9CdUUsT0FBT3ZFLE9BQU8sR0FBR0EsUUFBUStDLE9BQU87QUFDbEMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL1Rlcm1pbmFsLmpzPzI0YTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUZXJtaW5hbFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gVGVybWluYWw7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfYW5zZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvYW5zZXJcIikpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9ob3RsaW5rZWR0ZXh0ID0gcmVxdWlyZShcIi4uL2hvdC1saW5rZWQtdGV4dFwiKTtcbmNvbnN0IF9FZGl0b3JMaW5rID0gcmVxdWlyZShcIi4vRWRpdG9yTGlua1wiKTtcbmZ1bmN0aW9uIGdldEZpbGUobGluZXMpIHtcbiAgICBjb25zdCBjb250ZW50RmlsZU5hbWUgPSBsaW5lcy5zaGlmdCgpO1xuICAgIGlmICghY29udGVudEZpbGVOYW1lKSByZXR1cm4gbnVsbDtcbiAgICBjb25zdCBbZmlsZU5hbWUsIGxpbmUsIGNvbHVtbl0gPSBjb250ZW50RmlsZU5hbWUuc3BsaXQoXCI6XCIsIDMpO1xuICAgIGNvbnN0IHBhcnNlZExpbmUgPSBOdW1iZXIobGluZSk7XG4gICAgY29uc3QgcGFyc2VkQ29sdW1uID0gTnVtYmVyKGNvbHVtbik7XG4gICAgY29uc3QgaGFzTG9jYXRpb24gPSAhTnVtYmVyLmlzTmFOKHBhcnNlZExpbmUpICYmICFOdW1iZXIuaXNOYU4ocGFyc2VkQ29sdW1uKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBmaWxlTmFtZTogaGFzTG9jYXRpb24gPyBmaWxlTmFtZSA6IGNvbnRlbnRGaWxlTmFtZSxcbiAgICAgICAgbG9jYXRpb246IGhhc0xvY2F0aW9uID8ge1xuICAgICAgICAgICAgbGluZTogcGFyc2VkTGluZSxcbiAgICAgICAgICAgIGNvbHVtbjogcGFyc2VkQ29sdW1uXG4gICAgICAgIH0gOiB1bmRlZmluZWRcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0SW1wb3J0VHJhY2VGaWxlcyhsaW5lcykge1xuICAgIGlmIChsaW5lcy5zb21lKChsaW5lKT0+L1JlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yOi8udGVzdChsaW5lKSkgfHwgbGluZXMuc29tZSgobGluZSk9Pi9JbXBvcnQgdHJhY2UgZm9yIHJlcXVlc3RlZCBtb2R1bGU6Ly50ZXN0KGxpbmUpKSkge1xuICAgICAgICAvLyBHcmFiIHRoZSBsaW5lcyBhdCB0aGUgZW5kIGNvbnRhaW5pbmcgdGhlIGZpbGVzXG4gICAgICAgIGNvbnN0IGZpbGVzID0gW107XG4gICAgICAgIHdoaWxlKC8uK1xcLi4rLy50ZXN0KGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdKSAmJiAhbGluZXNbbGluZXMubGVuZ3RoIC0gMV0uaW5jbHVkZXMoXCI6XCIpKXtcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBsaW5lcy5wb3AoKS50cmltKCk7XG4gICAgICAgICAgICBmaWxlcy51bnNoaWZ0KGZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWxlcztcbiAgICB9XG4gICAgcmV0dXJuIFtdO1xufVxuZnVuY3Rpb24gZ2V0RWRpdG9yTGlua3MoY29udGVudCkge1xuICAgIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdChcIlxcblwiKTtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZShsaW5lcyk7XG4gICAgY29uc3QgaW1wb3J0VHJhY2VGaWxlcyA9IGdldEltcG9ydFRyYWNlRmlsZXMobGluZXMpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIHNvdXJjZTogbGluZXMuam9pbihcIlxcblwiKSxcbiAgICAgICAgaW1wb3J0VHJhY2VGaWxlc1xuICAgIH07XG59XG5jb25zdCBUZXJtaW5hbCA9IGZ1bmN0aW9uIFRlcm1pbmFsKHBhcmFtKSB7XG4gICAgbGV0IHsgY29udGVudCB9ID0gcGFyYW07XG4gICAgY29uc3QgeyBmaWxlLCBzb3VyY2UsIGltcG9ydFRyYWNlRmlsZXMgfSA9IF9yZWFjdC51c2VNZW1vKCgpPT5nZXRFZGl0b3JMaW5rcyhjb250ZW50KSwgW1xuICAgICAgICBjb250ZW50XG4gICAgXSk7XG4gICAgY29uc3QgZGVjb2RlZCA9IF9yZWFjdC51c2VNZW1vKCgpPT57XG4gICAgICAgIHJldHVybiBfYW5zZXIuZGVmYXVsdC5hbnNpVG9Kc29uKHNvdXJjZSwge1xuICAgICAgICAgICAganNvbjogdHJ1ZSxcbiAgICAgICAgICAgIHVzZV9jbGFzc2VzOiB0cnVlLFxuICAgICAgICAgICAgcmVtb3ZlX2VtcHR5OiB0cnVlXG4gICAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgICAgc291cmNlXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy10ZXJtaW5hbFwiOiB0cnVlLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgZmlsZSAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9FZGl0b3JMaW5rLkVkaXRvckxpbmssIHtcbiAgICAgICAgICAgICAgICBpc1NvdXJjZUZpbGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsZTogZmlsZS5maWxlTmFtZSxcbiAgICAgICAgICAgICAgICBsb2NhdGlvbjogZmlsZS5sb2NhdGlvblxuICAgICAgICAgICAgfSwgZmlsZS5maWxlTmFtZSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInByZVwiLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgZGVjb2RlZC5tYXAoKGVudHJ5LCBpbmRleCk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogZW50cnkuZmcgPyBcInZhcigtLWNvbG9yLVwiICsgZW50cnkuZmcgKyBcIilcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uZW50cnkuZGVjb3JhdGlvbiA9PT0gXCJib2xkXCIgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA4MDBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSA6IGVudHJ5LmRlY29yYXRpb24gPT09IFwiaXRhbGljXCIgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb250U3R5bGU6IFwiaXRhbGljXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2hvdGxpbmtlZHRleHQuSG90bGlua2VkVGV4dCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiBlbnRyeS5jb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIFwidGVybWluYWwtZW50cnktXCIgKyBpbmRleCkpLFxuICAgICAgICAgICAgICAgICAgICBpbXBvcnRUcmFjZUZpbGVzLm1hcCgoaW1wb3J0VHJhY2VGaWxlKT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfRWRpdG9yTGluay5FZGl0b3JMaW5rLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTb3VyY2VGaWxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlOiBpbXBvcnRUcmFjZUZpbGVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIGltcG9ydFRyYWNlRmlsZSkpXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VGVybWluYWwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlRlcm1pbmFsIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfanN4cnVudGltZSIsIl9hbnNlciIsIl8iLCJfcmVhY3QiLCJfaG90bGlua2VkdGV4dCIsIl9FZGl0b3JMaW5rIiwiZ2V0RmlsZSIsImxpbmVzIiwiY29udGVudEZpbGVOYW1lIiwic2hpZnQiLCJmaWxlTmFtZSIsImxpbmUiLCJjb2x1bW4iLCJzcGxpdCIsInBhcnNlZExpbmUiLCJOdW1iZXIiLCJwYXJzZWRDb2x1bW4iLCJoYXNMb2NhdGlvbiIsImlzTmFOIiwibG9jYXRpb24iLCJ1bmRlZmluZWQiLCJnZXRJbXBvcnRUcmFjZUZpbGVzIiwic29tZSIsInRlc3QiLCJmaWxlcyIsImxlbmd0aCIsImluY2x1ZGVzIiwiZmlsZSIsInBvcCIsInRyaW0iLCJ1bnNoaWZ0IiwiZ2V0RWRpdG9yTGlua3MiLCJjb250ZW50IiwiaW1wb3J0VHJhY2VGaWxlcyIsInNvdXJjZSIsImpvaW4iLCJwYXJhbSIsInVzZU1lbW8iLCJkZWNvZGVkIiwiZGVmYXVsdCIsImFuc2lUb0pzb24iLCJqc29uIiwidXNlX2NsYXNzZXMiLCJyZW1vdmVfZW1wdHkiLCJqc3hzIiwiY2hpbGRyZW4iLCJqc3giLCJFZGl0b3JMaW5rIiwiaXNTb3VyY2VGaWxlIiwibWFwIiwiZW50cnkiLCJpbmRleCIsInN0eWxlIiwiY29sb3IiLCJmZyIsImRlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiZm9udFN0eWxlIiwiSG90bGlua2VkVGV4dCIsInRleHQiLCJpbXBvcnRUcmFjZUZpbGUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Terminal\", ({\n enumerable: true,\n get: function() {\n return _Terminal.Terminal;\n }\n}));\nconst _Terminal = __webpack_require__(/*! ./Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/Terminal.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDRDQUEyQztJQUN2Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0MsVUFBVUMsUUFBUTtJQUM3QjtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1ELFlBQVlFLG1CQUFPQSxDQUFDLCtIQUFZO0FBRXRDLElBQUksQ0FBQyxPQUFPTixRQUFRTyxPQUFPLEtBQUssY0FBZSxPQUFPUCxRQUFRTyxPQUFPLEtBQUssWUFBWVAsUUFBUU8sT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPUCxRQUFRTyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLVixPQUFPQyxjQUFjLENBQUNDLFFBQVFPLE9BQU8sRUFBRSxjQUFjO1FBQUVOLE9BQU87SUFBSztJQUNuRUgsT0FBT1csTUFBTSxDQUFDVCxRQUFRTyxPQUFPLEVBQUVQO0lBQy9CVSxPQUFPVixPQUFPLEdBQUdBLFFBQVFPLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1Rlcm1pbmFsL2luZGV4LmpzPzk1MmQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUZXJtaW5hbFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX1Rlcm1pbmFsLlRlcm1pbmFsO1xuICAgIH1cbn0pO1xuY29uc3QgX1Rlcm1pbmFsID0gcmVxdWlyZShcIi4vVGVybWluYWxcIik7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJfVGVybWluYWwiLCJUZXJtaW5hbCIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-terminal] {\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-terminal]::selection,\\n [data-nextjs-terminal] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-terminal] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n [data-nextjs-terminal] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n\\n [data-nextjs-terminal] pre {\\n white-space: pre-wrap;\\n word-break: break-word;\\n }\\n\\n [data-with-open-in-editor-link] svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n }\\n [data-with-open-in-editor-link] {\\n cursor: pointer;\\n }\\n [data-with-open-in-editor-link]:hover {\\n text-decoration: underline dotted;\\n }\\n [data-with-open-in-editor-link-source-file] {\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-with-open-in-editor-link-import-trace] {\\n margin-left: var(--size-gap-double);\\n }\\n [data-nextjs-terminal] a {\\n color: inherit;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwQ0FBeUM7SUFDckNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNQyxnQkFBZ0JELG1CQUFPQSxDQUFDLHlJQUE2QjtBQUMzRCxTQUFTRTtJQUNMLE1BQU1DLE9BQU9KLCtCQUErQkssQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREYsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNTCxTQUFTLENBQUMsR0FBR0csY0FBY0ksSUFBSSxFQUFFSDtBQUV2QyxJQUFJLENBQUMsT0FBT1IsUUFBUVksT0FBTyxLQUFLLGNBQWUsT0FBT1osUUFBUVksT0FBTyxLQUFLLFlBQVlaLFFBQVFZLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1osUUFBUVksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRWSxPQUFPLEVBQUUsY0FBYztRQUFFWCxPQUFPO0lBQUs7SUFDbkVILE9BQU9nQixNQUFNLENBQUNkLFFBQVFZLE9BQU8sRUFBRVo7SUFDL0JlLE9BQU9mLE9BQU8sR0FBR0EsUUFBUVksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzLmpzPzdkNzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgW2RhdGEtbmV4dGpzLXRlcm1pbmFsXSB7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWJnKTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktZmcpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLXRlcm1pbmFsXTo6c2VsZWN0aW9uLFxcbiAgW2RhdGEtbmV4dGpzLXRlcm1pbmFsXSAqOjpzZWxlY3Rpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXNlbGVjdGlvbik7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdICoge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdID4gKiB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSlcXG4gICAgICBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdIHByZSB7XFxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcXG4gIH1cXG5cXG4gIFtkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGlua10gc3ZnIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIGhlaWdodDogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtZ2FwKTtcXG4gIH1cXG4gIFtkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGlua10ge1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICB9XFxuICBbZGF0YS13aXRoLW9wZW4taW4tZWRpdG9yLWxpbmtdOmhvdmVyIHtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgfVxcbiAgW2RhdGEtd2l0aC1vcGVuLWluLWVkaXRvci1saW5rLXNvdXJjZS1maWxlXSB7XFxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jb2xvci1hbnNpLWJyaWdodC1ibGFjayk7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcXG4gIH1cXG4gIFtkYXRhLXdpdGgtb3Blbi1pbi1lZGl0b3ItbGluay1pbXBvcnQtdHJhY2VdIHtcXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtdGVybWluYWxdIGEge1xcbiAgICBjb2xvcjogaW5oZXJpdDtcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Toast\", ({\n enumerable: true,\n get: function() {\n return Toast;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst Toast = function Toast(param) {\n let { onClick, children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast\": true,\n onClick: onClick,\n className: className,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-toast-wrapper\": true,\n children: children\n })\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Toast.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvVG9hc3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHlDQUF3QztJQUNwQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1GLFFBQVEsU0FBU0EsTUFBTU0sS0FBSztJQUM5QixJQUFJLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0g7SUFDdkMsT0FBcUIsV0FBSCxHQUFJLElBQUdILFlBQVlPLEdBQUcsRUFBRSxPQUFPO1FBQzdDLHFCQUFxQjtRQUNyQkgsU0FBU0E7UUFDVEUsV0FBV0E7UUFDWEQsVUFBd0IsV0FBSCxHQUFJLElBQUdMLFlBQVlPLEdBQUcsRUFBRSxPQUFPO1lBQ2hELDZCQUE2QjtZQUM3QkYsVUFBVUE7UUFDZDtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1osUUFBUWUsT0FBTyxLQUFLLGNBQWUsT0FBT2YsUUFBUWUsT0FBTyxLQUFLLFlBQVlmLFFBQVFlLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2YsUUFBUWUsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2xCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWUsT0FBTyxFQUFFLGNBQWM7UUFBRWQsT0FBTztJQUFLO0lBQ25FSCxPQUFPbUIsTUFBTSxDQUFDakIsUUFBUWUsT0FBTyxFQUFFZjtJQUMvQmtCLE9BQU9sQixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL1RvYXN0L1RvYXN0LmpzP2RjMzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJUb2FzdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gVG9hc3Q7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBUb2FzdCA9IGZ1bmN0aW9uIFRvYXN0KHBhcmFtKSB7XG4gICAgbGV0IHsgb25DbGljaywgY2hpbGRyZW4sIGNsYXNzTmFtZSB9ID0gcGFyYW07XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLXRvYXN0XCI6IHRydWUsXG4gICAgICAgIG9uQ2xpY2s6IG9uQ2xpY2ssXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICBcImRhdGEtbmV4dGpzLXRvYXN0LXdyYXBwZXJcIjogdHJ1ZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICB9KVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VG9hc3QuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlRvYXN0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJwYXJhbSIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImpzeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n styles: function() {\n return _styles.styles;\n },\n Toast: function() {\n return _Toast.Toast;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\");\nconst _Toast = __webpack_require__(/*! ./Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/Toast.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3QvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPUSxRQUFRUixNQUFNO0lBQ3pCO0lBQ0FDLE9BQU87UUFDSCxPQUFPUSxPQUFPUixLQUFLO0lBQ3ZCO0FBQ0o7QUFDQSxNQUFNTyxVQUFVRSxtQkFBT0EsQ0FBQyx3SEFBVTtBQUNsQyxNQUFNRCxTQUFTQyxtQkFBT0EsQ0FBQyxzSEFBUztBQUVoQyxJQUFJLENBQUMsT0FBT2IsUUFBUWMsT0FBTyxLQUFLLGNBQWUsT0FBT2QsUUFBUWMsT0FBTyxLQUFLLFlBQVlkLFFBQVFjLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2QsUUFBUWMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWMsT0FBTyxFQUFFLGNBQWM7UUFBRWIsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0IsTUFBTSxDQUFDaEIsUUFBUWMsT0FBTyxFQUFFZDtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Ub2FzdC9pbmRleC5qcz9kM2M4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgc3R5bGVzOiBudWxsLFxuICAgIFRvYXN0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc3R5bGVzLnN0eWxlcztcbiAgICB9LFxuICAgIFRvYXN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9Ub2FzdC5Ub2FzdDtcbiAgICB9XG59KTtcbmNvbnN0IF9zdHlsZXMgPSByZXF1aXJlKFwiLi9zdHlsZXNcIik7XG5jb25zdCBfVG9hc3QgPSByZXF1aXJlKFwiLi9Ub2FzdFwiKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwic3R5bGVzIiwiVG9hc3QiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc3R5bGVzIiwiX1RvYXN0IiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-toast] {\\n position: fixed;\\n bottom: var(--size-gap-double);\\n left: var(--size-gap-double);\\n max-width: 420px;\\n z-index: 9000;\\n }\\n\\n @media (max-width: 440px) {\\n [data-nextjs-toast] {\\n max-width: 90vw;\\n left: 5vw;\\n }\\n }\\n\\n [data-nextjs-toast-wrapper] {\\n padding: 16px;\\n border-radius: var(--size-gap-half);\\n font-weight: 500;\\n color: var(--color-ansi-bright-white);\\n background-color: var(--color-ansi-red);\\n box-shadow: 0px var(--size-gap-double) var(--size-gap-quad)\\n rgba(0, 0, 0, 0.25);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwQ0FBeUM7SUFDckNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNQyxnQkFBZ0JELG1CQUFPQSxDQUFDLHlJQUE2QjtBQUMzRCxTQUFTRTtJQUNMLE1BQU1DLE9BQU9KLCtCQUErQkssQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREYsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNTCxTQUFTLENBQUMsR0FBR0csY0FBY0ksSUFBSSxFQUFFSDtBQUV2QyxJQUFJLENBQUMsT0FBT1IsUUFBUVksT0FBTyxLQUFLLGNBQWUsT0FBT1osUUFBUVksT0FBTyxLQUFLLFlBQVlaLFFBQVFZLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1osUUFBUVksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRWSxPQUFPLEVBQUUsY0FBYztRQUFFWCxPQUFPO0lBQUs7SUFDbkVILE9BQU9nQixNQUFNLENBQUNkLFFBQVFZLE9BQU8sRUFBRVo7SUFDL0JlLE9BQU9mLE9BQU8sR0FBR0EsUUFBUVksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVG9hc3Qvc3R5bGVzLmpzPzdmYzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgW2RhdGEtbmV4dGpzLXRvYXN0XSB7XFxuICAgIHBvc2l0aW9uOiBmaXhlZDtcXG4gICAgYm90dG9tOiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgICBsZWZ0OiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgICBtYXgtd2lkdGg6IDQyMHB4O1xcbiAgICB6LWluZGV4OiA5MDAwO1xcbiAgfVxcblxcbiAgQG1lZGlhIChtYXgtd2lkdGg6IDQ0MHB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy10b2FzdF0ge1xcbiAgICAgIG1heC13aWR0aDogOTB2dztcXG4gICAgICBsZWZ0OiA1dnc7XFxuICAgIH1cXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy10b2FzdC13cmFwcGVyXSB7XFxuICAgIHBhZGRpbmc6IDE2cHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpO1xcbiAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtd2hpdGUpO1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XFxuICAgIGJveC1zaGFkb3c6IDBweCB2YXIoLS1zaXplLWdhcC1kb3VibGUpIHZhcigtLXNpemUtZ2FwLXF1YWQpXFxuICAgICAgcmdiYSgwLCAwLCAwLCAwLjI1KTtcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js ***! \*************************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"VersionStalenessInfo\", ({\n enumerable: true,\n get: function() {\n return VersionStalenessInfo;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction VersionStalenessInfo(props) {\n if (!props) return null;\n const { staleness, installed, expected } = props;\n let text = \"\";\n let title = \"\";\n let indicatorClass = \"\";\n switch(staleness){\n case \"fresh\":\n text = \"Next.js is up to date\";\n title = \"Latest available version is detected (\" + installed + \").\";\n indicatorClass = \"fresh\";\n break;\n case \"stale-patch\":\n case \"stale-minor\":\n text = \"Next.js (\" + installed + \") out of date\";\n title = \"There is a newer version (\" + expected + \") available, upgrade recommended! \";\n indicatorClass = \"stale\";\n break;\n case \"stale-major\":\n {\n text = \"Next.js (\" + installed + \") is outdated\";\n title = \"An outdated version detected (latest is \" + expected + \"), upgrade is highly recommended!\";\n indicatorClass = \"outdated\";\n break;\n }\n case \"stale-prerelease\":\n {\n text = \"Next.js (\" + installed + \") is outdated\";\n title = \"There is a newer canary version (\" + expected + \") available, please upgrade! \";\n indicatorClass = \"stale\";\n break;\n }\n case \"newer-than-npm\":\n case \"unknown\":\n break;\n default:\n break;\n }\n if (!text) return null;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n className: indicatorClass\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n className: \"nextjs-container-build-error-version-status\",\n title: title,\n children: text\n }),\n \" \",\n staleness === \"fresh\" || staleness === \"unknown\" ? null : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: \"https://nextjs.org/docs/messages/version-staleness\",\n children: \"(learn more)\"\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=VersionStalenessInfo.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHdEQUF1RDtJQUNuREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3ZFLFNBQVNGLHFCQUFxQk0sS0FBSztJQUMvQixJQUFJLENBQUNBLE9BQU8sT0FBTztJQUNuQixNQUFNLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUUsR0FBR0g7SUFDM0MsSUFBSUksT0FBTztJQUNYLElBQUlDLFFBQVE7SUFDWixJQUFJQyxpQkFBaUI7SUFDckIsT0FBT0w7UUFDSCxLQUFLO1lBQ0RHLE9BQU87WUFDUEMsUUFBUSwyQ0FBMkNILFlBQVk7WUFDL0RJLGlCQUFpQjtZQUNqQjtRQUNKLEtBQUs7UUFDTCxLQUFLO1lBQ0RGLE9BQU8sY0FBY0YsWUFBWTtZQUNqQ0csUUFBUSwrQkFBK0JGLFdBQVc7WUFDbERHLGlCQUFpQjtZQUNqQjtRQUNKLEtBQUs7WUFDRDtnQkFDSUYsT0FBTyxjQUFjRixZQUFZO2dCQUNqQ0csUUFBUSw2Q0FBNkNGLFdBQVc7Z0JBQ2hFRyxpQkFBaUI7Z0JBQ2pCO1lBQ0o7UUFDSixLQUFLO1lBQ0Q7Z0JBQ0lGLE9BQU8sY0FBY0YsWUFBWTtnQkFDakNHLFFBQVEsc0NBQXNDRixXQUFXO2dCQUN6REcsaUJBQWlCO2dCQUNqQjtZQUNKO1FBQ0osS0FBSztRQUNMLEtBQUs7WUFDRDtRQUNKO1lBQ0k7SUFDUjtJQUNBLElBQUksQ0FBQ0YsTUFBTSxPQUFPO0lBQ2xCLE9BQXFCLFdBQUgsR0FBSSxJQUFHUCxZQUFZVSxJQUFJLEVBQUUsU0FBUztRQUNoREMsV0FBVztRQUNYQyxVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdaLFlBQVlhLEdBQUcsRUFBRSxRQUFRO2dCQUN2Q0YsV0FBV0Y7WUFDZjtZQUNBLFdBQVcsR0FBSSxJQUFHVCxZQUFZYSxHQUFHLEVBQUUsU0FBUztnQkFDeENGLFdBQVc7Z0JBQ1hILE9BQU9BO2dCQUNQSSxVQUFVTDtZQUNkO1lBQ0E7WUFDQUgsY0FBYyxXQUFXQSxjQUFjLFlBQVksT0FBcUIsV0FBSCxHQUFJLElBQUdKLFlBQVlhLEdBQUcsRUFBRSxLQUFLO2dCQUM5RkMsUUFBUTtnQkFDUkMsS0FBSztnQkFDTEMsTUFBTTtnQkFDTkosVUFBVTtZQUNkO1NBQ0g7SUFDTDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9uQixRQUFRd0IsT0FBTyxLQUFLLGNBQWUsT0FBT3hCLFFBQVF3QixPQUFPLEtBQUssWUFBWXhCLFFBQVF3QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU94QixRQUFRd0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzNCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXdCLE9BQU8sRUFBRSxjQUFjO1FBQUV2QixPQUFPO0lBQUs7SUFDbkVILE9BQU80QixNQUFNLENBQUMxQixRQUFRd0IsT0FBTyxFQUFFeEI7SUFDL0IyQixPQUFPM0IsT0FBTyxHQUFHQSxRQUFRd0IsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vVmVyc2lvblN0YWxlbmVzc0luZm8uanM/YjdkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlZlcnNpb25TdGFsZW5lc3NJbmZvXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBWZXJzaW9uU3RhbGVuZXNzSW5mbztcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmZ1bmN0aW9uIFZlcnNpb25TdGFsZW5lc3NJbmZvKHByb3BzKSB7XG4gICAgaWYgKCFwcm9wcykgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgeyBzdGFsZW5lc3MsIGluc3RhbGxlZCwgZXhwZWN0ZWQgfSA9IHByb3BzO1xuICAgIGxldCB0ZXh0ID0gXCJcIjtcbiAgICBsZXQgdGl0bGUgPSBcIlwiO1xuICAgIGxldCBpbmRpY2F0b3JDbGFzcyA9IFwiXCI7XG4gICAgc3dpdGNoKHN0YWxlbmVzcyl7XG4gICAgICAgIGNhc2UgXCJmcmVzaFwiOlxuICAgICAgICAgICAgdGV4dCA9IFwiTmV4dC5qcyBpcyB1cCB0byBkYXRlXCI7XG4gICAgICAgICAgICB0aXRsZSA9IFwiTGF0ZXN0IGF2YWlsYWJsZSB2ZXJzaW9uIGlzIGRldGVjdGVkIChcIiArIGluc3RhbGxlZCArIFwiKS5cIjtcbiAgICAgICAgICAgIGluZGljYXRvckNsYXNzID0gXCJmcmVzaFwiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJzdGFsZS1wYXRjaFwiOlxuICAgICAgICBjYXNlIFwic3RhbGUtbWlub3JcIjpcbiAgICAgICAgICAgIHRleHQgPSBcIk5leHQuanMgKFwiICsgaW5zdGFsbGVkICsgXCIpIG91dCBvZiBkYXRlXCI7XG4gICAgICAgICAgICB0aXRsZSA9IFwiVGhlcmUgaXMgYSBuZXdlciB2ZXJzaW9uIChcIiArIGV4cGVjdGVkICsgXCIpIGF2YWlsYWJsZSwgdXBncmFkZSByZWNvbW1lbmRlZCEgXCI7XG4gICAgICAgICAgICBpbmRpY2F0b3JDbGFzcyA9IFwic3RhbGVcIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwic3RhbGUtbWFqb3JcIjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICB0ZXh0ID0gXCJOZXh0LmpzIChcIiArIGluc3RhbGxlZCArIFwiKSBpcyBvdXRkYXRlZFwiO1xuICAgICAgICAgICAgICAgIHRpdGxlID0gXCJBbiBvdXRkYXRlZCB2ZXJzaW9uIGRldGVjdGVkIChsYXRlc3QgaXMgXCIgKyBleHBlY3RlZCArIFwiKSwgdXBncmFkZSBpcyBoaWdobHkgcmVjb21tZW5kZWQhXCI7XG4gICAgICAgICAgICAgICAgaW5kaWNhdG9yQ2xhc3MgPSBcIm91dGRhdGVkXCI7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJzdGFsZS1wcmVyZWxlYXNlXCI6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgdGV4dCA9IFwiTmV4dC5qcyAoXCIgKyBpbnN0YWxsZWQgKyBcIikgaXMgb3V0ZGF0ZWRcIjtcbiAgICAgICAgICAgICAgICB0aXRsZSA9IFwiVGhlcmUgaXMgYSBuZXdlciBjYW5hcnkgdmVyc2lvbiAoXCIgKyBleHBlY3RlZCArIFwiKSBhdmFpbGFibGUsIHBsZWFzZSB1cGdyYWRlISBcIjtcbiAgICAgICAgICAgICAgICBpbmRpY2F0b3JDbGFzcyA9IFwic3RhbGVcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBcIm5ld2VyLXRoYW4tbnBtXCI6XG4gICAgICAgIGNhc2UgXCJ1bmtub3duXCI6XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoIXRleHQpIHJldHVybiBudWxsO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInNtYWxsXCIsIHtcbiAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXNcIixcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGluZGljYXRvckNsYXNzXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzbWFsbFwiLCB7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXNcIixcbiAgICAgICAgICAgICAgICB0aXRsZTogdGl0bGUsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IHRleHRcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgXCIgXCIsXG4gICAgICAgICAgICBzdGFsZW5lc3MgPT09IFwiZnJlc2hcIiB8fCBzdGFsZW5lc3MgPT09IFwidW5rbm93blwiID8gbnVsbCA6IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJhXCIsIHtcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IFwiX2JsYW5rXCIsXG4gICAgICAgICAgICAgICAgcmVsOiBcIm5vb3BlbmVyIG5vcmVmZXJyZXJcIixcbiAgICAgICAgICAgICAgICBocmVmOiBcImh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL3ZlcnNpb24tc3RhbGVuZXNzXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiKGxlYXJuIG1vcmUpXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9VmVyc2lvblN0YWxlbmVzc0luZm8uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsInByb3BzIiwic3RhbGVuZXNzIiwiaW5zdGFsbGVkIiwiZXhwZWN0ZWQiLCJ0ZXh0IiwidGl0bGUiLCJpbmRpY2F0b3JDbGFzcyIsImpzeHMiLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImpzeCIsInRhcmdldCIsInJlbCIsImhyZWYiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js": /*!**********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js ***! \**********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n styles: function() {\n return _styles.styles;\n },\n VersionStalenessInfo: function() {\n return _VersionStalenessInfo.VersionStalenessInfo;\n }\n});\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ./VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/VersionStalenessInfo.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPUSxRQUFRUixNQUFNO0lBQ3pCO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPUSxzQkFBc0JSLG9CQUFvQjtJQUNyRDtBQUNKO0FBQ0EsTUFBTU8sVUFBVUUsbUJBQU9BLENBQUMsdUlBQVU7QUFDbEMsTUFBTUQsd0JBQXdCQyxtQkFBT0EsQ0FBQyxtS0FBd0I7QUFFOUQsSUFBSSxDQUFDLE9BQU9iLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vaW5kZXguanM/MWYzZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHN0eWxlczogbnVsbCxcbiAgICBWZXJzaW9uU3RhbGVuZXNzSW5mbzogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBzdHlsZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3N0eWxlcy5zdHlsZXM7XG4gICAgfSxcbiAgICBWZXJzaW9uU3RhbGVuZXNzSW5mbzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfVmVyc2lvblN0YWxlbmVzc0luZm8uVmVyc2lvblN0YWxlbmVzc0luZm87XG4gICAgfVxufSk7XG5jb25zdCBfc3R5bGVzID0gcmVxdWlyZShcIi4vc3R5bGVzXCIpO1xuY29uc3QgX1ZlcnNpb25TdGFsZW5lc3NJbmZvID0gcmVxdWlyZShcIi4vVmVyc2lvblN0YWxlbmVzc0luZm9cIik7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInN0eWxlcyIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3N0eWxlcyIsIl9WZXJzaW9uU3RhbGVuZXNzSW5mbyIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-version-status {\\n flex: 1;\\n text-align: right;\\n }\\n .nextjs-container-build-error-version-status small {\\n margin-left: var(--size-gap);\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status a {\\n font-size: var(--size-font-small);\\n }\\n .nextjs-container-build-error-version-status span {\\n display: inline-block;\\n width: 10px;\\n height: 10px;\\n border-radius: 5px;\\n background: var(--color-ansi-bright-black);\\n }\\n .nextjs-container-build-error-version-status span.fresh {\\n background: var(--color-ansi-green);\\n }\\n .nextjs-container-build-error-version-status span.stale {\\n background: var(--color-ansi-yellow);\\n }\\n .nextjs-container-build-error-version-status span.outdated {\\n background: var(--color-ansi-red);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwQ0FBeUM7SUFDckNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNQyxnQkFBZ0JELG1CQUFPQSxDQUFDLHlJQUE2QjtBQUMzRCxTQUFTRTtJQUNMLE1BQU1DLE9BQU9KLCtCQUErQkssQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREYsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxNQUFNTCxTQUFTLENBQUMsR0FBR0csY0FBY0ksSUFBSSxFQUFFSDtBQUV2QyxJQUFJLENBQUMsT0FBT1IsUUFBUVksT0FBTyxLQUFLLGNBQWUsT0FBT1osUUFBUVksT0FBTyxLQUFLLFlBQVlaLFFBQVFZLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1osUUFBUVksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRWSxPQUFPLEVBQUUsY0FBYztRQUFFWCxPQUFPO0lBQUs7SUFDbkVILE9BQU9nQixNQUFNLENBQUNkLFFBQVFZLE9BQU8sRUFBRVo7SUFDL0JlLE9BQU9mLE9BQU8sR0FBR0EsUUFBUVksT0FBTztBQUNsQyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm8vc3R5bGVzLmpzPzE4ZjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9XG59KTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMge1xcbiAgICBmbGV4OiAxO1xcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLXZlcnNpb24tc3RhdHVzIHNtYWxsIHtcXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtZ2FwKTtcXG4gICAgZm9udC1zaXplOiB2YXIoLS1zaXplLWZvbnQtc21hbGwpO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMgYSB7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLXZlcnNpb24tc3RhdHVzIHNwYW4ge1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgIHdpZHRoOiAxMHB4O1xcbiAgICBoZWlnaHQ6IDEwcHg7XFxuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcXG4gICAgYmFja2dyb3VuZDogdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtYmxhY2spO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMgc3Bhbi5mcmVzaCB7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFuc2ktZ3JlZW4pO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItdmVyc2lvbi1zdGF0dXMgc3Bhbi5zdGFsZSB7XFxuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLWFuc2kteWVsbG93KTtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLXZlcnNpb24tc3RhdHVzIHNwYW4ub3V0ZGF0ZWQge1xcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XFxuICB9XFxuXCJcbiAgICBdKTtcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRhdGE7XG4gICAgfTtcbiAgICByZXR1cm4gZGF0YTtcbn1cbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJzdHlsZXMiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJyZXF1aXJlIiwiX25vb3B0ZW1wbGF0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJfIiwibm9vcCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js": /*!*************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js ***! \*************************************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("// Returns true if the given character is a whitespace character, false otherwise.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getWordsAndWhitespaces\", ({\n enumerable: true,\n get: function() {\n return getWordsAndWhitespaces;\n }\n}));\nfunction isWhitespace(char) {\n return char === \" \" || char === \"\\n\" || char === \"\t\" || char === \"\\r\";\n}\nfunction getWordsAndWhitespaces(text) {\n const wordsAndWhitespaces = [];\n let current = \"\";\n let currentIsWhitespace = false;\n for (const char of text){\n if (current.length === 0) {\n current += char;\n currentIsWhitespace = isWhitespace(char);\n continue;\n }\n const nextIsWhitespace = isWhitespace(char);\n if (currentIsWhitespace === nextIsWhitespace) {\n current += char;\n } else {\n wordsAndWhitespaces.push(current);\n current = char;\n currentIsWhitespace = nextIsWhitespace;\n }\n }\n if (current.length > 0) {\n wordsAndWhitespaces.push(current);\n }\n return wordsAndWhitespaces;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-words-and-whitespaces.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2dldC13b3Jkcy1hbmQtd2hpdGVzcGFjZXMuanMiLCJtYXBwaW5ncyI6IkFBQUEsa0ZBQWtGO0FBQ3JFO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwwREFBeUQ7SUFDckRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQyxhQUFhQyxJQUFJO0lBQ3RCLE9BQU9BLFNBQVMsT0FBT0EsU0FBUyxRQUFRQSxTQUFTLE9BQU9BLFNBQVM7QUFDckU7QUFDQSxTQUFTRix1QkFBdUJHLElBQUk7SUFDaEMsTUFBTUMsc0JBQXNCLEVBQUU7SUFDOUIsSUFBSUMsVUFBVTtJQUNkLElBQUlDLHNCQUFzQjtJQUMxQixLQUFLLE1BQU1KLFFBQVFDLEtBQUs7UUFDcEIsSUFBSUUsUUFBUUUsTUFBTSxLQUFLLEdBQUc7WUFDdEJGLFdBQVdIO1lBQ1hJLHNCQUFzQkwsYUFBYUM7WUFDbkM7UUFDSjtRQUNBLE1BQU1NLG1CQUFtQlAsYUFBYUM7UUFDdEMsSUFBSUksd0JBQXdCRSxrQkFBa0I7WUFDMUNILFdBQVdIO1FBQ2YsT0FBTztZQUNIRSxvQkFBb0JLLElBQUksQ0FBQ0o7WUFDekJBLFVBQVVIO1lBQ1ZJLHNCQUFzQkU7UUFDMUI7SUFDSjtJQUNBLElBQUlILFFBQVFFLE1BQU0sR0FBRyxHQUFHO1FBQ3BCSCxvQkFBb0JLLElBQUksQ0FBQ0o7SUFDN0I7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFjLE9BQU8sS0FBSyxjQUFlLE9BQU9kLFFBQVFjLE9BQU8sS0FBSyxZQUFZZCxRQUFRYyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9kLFFBQVFjLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktqQixPQUFPQyxjQUFjLENBQUNDLFFBQVFjLE9BQU8sRUFBRSxjQUFjO1FBQUViLE9BQU87SUFBSztJQUNuRUgsT0FBT2tCLE1BQU0sQ0FBQ2hCLFFBQVFjLE9BQU8sRUFBRWQ7SUFDL0JpQixPQUFPakIsT0FBTyxHQUFHQSxRQUFRYyxPQUFPO0FBQ2xDLEVBRUEscURBQXFEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9ob3QtbGlua2VkLXRleHQvZ2V0LXdvcmRzLWFuZC13aGl0ZXNwYWNlcy5qcz8yNDZmIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIFJldHVybnMgdHJ1ZSBpZiB0aGUgZ2l2ZW4gY2hhcmFjdGVyIGlzIGEgd2hpdGVzcGFjZSBjaGFyYWN0ZXIsIGZhbHNlIG90aGVyd2lzZS5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0V29yZHNBbmRXaGl0ZXNwYWNlc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0V29yZHNBbmRXaGl0ZXNwYWNlcztcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGlzV2hpdGVzcGFjZShjaGFyKSB7XG4gICAgcmV0dXJuIGNoYXIgPT09IFwiIFwiIHx8IGNoYXIgPT09IFwiXFxuXCIgfHwgY2hhciA9PT0gXCJcdFwiIHx8IGNoYXIgPT09IFwiXFxyXCI7XG59XG5mdW5jdGlvbiBnZXRXb3Jkc0FuZFdoaXRlc3BhY2VzKHRleHQpIHtcbiAgICBjb25zdCB3b3Jkc0FuZFdoaXRlc3BhY2VzID0gW107XG4gICAgbGV0IGN1cnJlbnQgPSBcIlwiO1xuICAgIGxldCBjdXJyZW50SXNXaGl0ZXNwYWNlID0gZmFsc2U7XG4gICAgZm9yIChjb25zdCBjaGFyIG9mIHRleHQpe1xuICAgICAgICBpZiAoY3VycmVudC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIGN1cnJlbnQgKz0gY2hhcjtcbiAgICAgICAgICAgIGN1cnJlbnRJc1doaXRlc3BhY2UgPSBpc1doaXRlc3BhY2UoY2hhcik7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuZXh0SXNXaGl0ZXNwYWNlID0gaXNXaGl0ZXNwYWNlKGNoYXIpO1xuICAgICAgICBpZiAoY3VycmVudElzV2hpdGVzcGFjZSA9PT0gbmV4dElzV2hpdGVzcGFjZSkge1xuICAgICAgICAgICAgY3VycmVudCArPSBjaGFyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgd29yZHNBbmRXaGl0ZXNwYWNlcy5wdXNoKGN1cnJlbnQpO1xuICAgICAgICAgICAgY3VycmVudCA9IGNoYXI7XG4gICAgICAgICAgICBjdXJyZW50SXNXaGl0ZXNwYWNlID0gbmV4dElzV2hpdGVzcGFjZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoY3VycmVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgIHdvcmRzQW5kV2hpdGVzcGFjZXMucHVzaChjdXJyZW50KTtcbiAgICB9XG4gICAgcmV0dXJuIHdvcmRzQW5kV2hpdGVzcGFjZXM7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC13b3Jkcy1hbmQtd2hpdGVzcGFjZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFdvcmRzQW5kV2hpdGVzcGFjZXMiLCJpc1doaXRlc3BhY2UiLCJjaGFyIiwidGV4dCIsIndvcmRzQW5kV2hpdGVzcGFjZXMiLCJjdXJyZW50IiwiY3VycmVudElzV2hpdGVzcGFjZSIsImxlbmd0aCIsIm5leHRJc1doaXRlc3BhY2UiLCJwdXNoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js": /*!*****************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js ***! \*****************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HotlinkedText\", ({\n enumerable: true,\n get: function() {\n return HotlinkedText;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _getwordsandwhitespaces = __webpack_require__(/*! ./get-words-and-whitespaces */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/get-words-and-whitespaces.js\");\nconst linkRegex = /https?:\\/\\/[^\\s/$.?#].[^\\s\"]*/i;\nconst HotlinkedText = function HotlinkedText(props) {\n const { text } = props;\n const wordsAndWhitespaces = (0, _getwordsandwhitespaces.getWordsAndWhitespaces)(text);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: linkRegex.test(text) ? wordsAndWhitespaces.map((word, index)=>{\n if (linkRegex.test(word)) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n href: word,\n children: word\n })\n }, \"link-\" + index);\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.default.Fragment, {\n children: word\n }, \"text-\" + index);\n }) : text\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvaG90LWxpbmtlZC10ZXh0L2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUUsU0FBUyxXQUFXLEdBQUdILHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3R0FBTztBQUN2RSxNQUFNSSwwQkFBMEJKLG1CQUFPQSxDQUFDLHdLQUE2QjtBQUNyRSxNQUFNSyxZQUFZO0FBQ2xCLE1BQU1QLGdCQUFnQixTQUFTQSxjQUFjUSxLQUFLO0lBQzlDLE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdEO0lBQ2pCLE1BQU1FLHNCQUFzQixDQUFDLEdBQUdKLHdCQUF3Qkssc0JBQXNCLEVBQUVGO0lBQ2hGLE9BQXFCLFdBQUgsR0FBSSxJQUFHTixZQUFZUyxHQUFHLEVBQUVULFlBQVlVLFFBQVEsRUFBRTtRQUM1REMsVUFBVVAsVUFBVVEsSUFBSSxDQUFDTixRQUFRQyxvQkFBb0JNLEdBQUcsQ0FBQyxDQUFDQyxNQUFNQztZQUM1RCxJQUFJWCxVQUFVUSxJQUFJLENBQUNFLE9BQU87Z0JBQ3RCLE9BQXFCLFdBQUgsR0FBSSxJQUFHZCxZQUFZUyxHQUFHLEVBQUVSLE9BQU9lLE9BQU8sQ0FBQ04sUUFBUSxFQUFFO29CQUMvREMsVUFBd0IsV0FBSCxHQUFJLElBQUdYLFlBQVlTLEdBQUcsRUFBRSxLQUFLO3dCQUM5Q1EsTUFBTUg7d0JBQ05ILFVBQVVHO29CQUNkO2dCQUNKLEdBQUcsVUFBVUM7WUFDakI7WUFDQSxPQUFxQixXQUFILEdBQUksSUFBR2YsWUFBWVMsR0FBRyxFQUFFUixPQUFPZSxPQUFPLENBQUNOLFFBQVEsRUFBRTtnQkFDL0RDLFVBQVVHO1lBQ2QsR0FBRyxVQUFVQztRQUNqQixLQUFLVDtJQUNUO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2IsUUFBUXVCLE9BQU8sS0FBSyxjQUFlLE9BQU92QixRQUFRdUIsT0FBTyxLQUFLLFlBQVl2QixRQUFRdUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPdkIsUUFBUXVCLE9BQU8sQ0FBQ0UsVUFBVSxLQUFLLGFBQWE7SUFDckszQixPQUFPQyxjQUFjLENBQUNDLFFBQVF1QixPQUFPLEVBQUUsY0FBYztRQUFFdEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPNEIsTUFBTSxDQUFDMUIsUUFBUXVCLE9BQU8sRUFBRXZCO0lBQy9CMkIsT0FBTzNCLE9BQU8sR0FBR0EsUUFBUXVCLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL2hvdC1saW5rZWQtdGV4dC9pbmRleC5qcz85NWEzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSG90bGlua2VkVGV4dFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSG90bGlua2VkVGV4dDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9nZXR3b3Jkc2FuZHdoaXRlc3BhY2VzID0gcmVxdWlyZShcIi4vZ2V0LXdvcmRzLWFuZC13aGl0ZXNwYWNlc1wiKTtcbmNvbnN0IGxpbmtSZWdleCA9IC9odHRwcz86XFwvXFwvW15cXHMvJC4/I10uW15cXHNcIl0qL2k7XG5jb25zdCBIb3RsaW5rZWRUZXh0ID0gZnVuY3Rpb24gSG90bGlua2VkVGV4dChwcm9wcykge1xuICAgIGNvbnN0IHsgdGV4dCB9ID0gcHJvcHM7XG4gICAgY29uc3Qgd29yZHNBbmRXaGl0ZXNwYWNlcyA9ICgwLCBfZ2V0d29yZHNhbmR3aGl0ZXNwYWNlcy5nZXRXb3Jkc0FuZFdoaXRlc3BhY2VzKSh0ZXh0KTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogbGlua1JlZ2V4LnRlc3QodGV4dCkgPyB3b3Jkc0FuZFdoaXRlc3BhY2VzLm1hcCgod29yZCwgaW5kZXgpPT57XG4gICAgICAgICAgICBpZiAobGlua1JlZ2V4LnRlc3Qod29yZCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaHJlZjogd29yZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiB3b3JkXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSwgXCJsaW5rLVwiICsgaW5kZXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogd29yZFxuICAgICAgICAgICAgfSwgXCJ0ZXh0LVwiICsgaW5kZXgpO1xuICAgICAgICB9KSA6IHRleHRcbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJIb3RsaW5rZWRUZXh0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9nZXR3b3Jkc2FuZHdoaXRlc3BhY2VzIiwibGlua1JlZ2V4IiwicHJvcHMiLCJ0ZXh0Iiwid29yZHNBbmRXaGl0ZXNwYWNlcyIsImdldFdvcmRzQW5kV2hpdGVzcGFjZXMiLCJqc3giLCJGcmFnbWVudCIsImNoaWxkcmVuIiwidGVzdCIsIm1hcCIsIndvcmQiLCJpbmRleCIsImRlZmF1bHQiLCJocmVmIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BuildError: function() {\n return BuildError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-build-error-header {\\n display: flex;\\n align-items: center;\\n }\\n .nextjs-container-build-error-header > h4 {\\n line-height: 1.5;\\n margin: 0;\\n padding: 0;\\n }\\n\\n .nextjs-container-build-error-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-build-error-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-build-error-body small {\\n color: #757575;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst BuildError = function BuildError(param) {\n let { message, versionInfo } = param;\n const noop = _react.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_build_error_label\",\n \"aria-describedby\": \"nextjs__container_build_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-build-error-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h4\", {\n id: \"nextjs__container_build_error_label\",\n children: \"Failed to compile\"\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-build-error-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_build_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error occurred during the build process and can only be dismissed by fixing the error.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=BuildError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9CdWlsZEVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUssVUFBVUwsbUJBQU9BLENBQUMsb0lBQXNCO0FBQzlDLE1BQU1NLFdBQVdOLG1CQUFPQSxDQUFDLHNJQUF1QjtBQUNoRCxNQUFNTyxZQUFZUCxtQkFBT0EsQ0FBQyx3SUFBd0I7QUFDbEQsTUFBTVEsd0JBQXdCUixtQkFBT0EsQ0FBQyxnS0FBb0M7QUFDMUUsTUFBTVMsZ0JBQWdCVCxtQkFBT0EsQ0FBQyxzSUFBMEI7QUFDeEQsU0FBU1U7SUFDTCxNQUFNQyxPQUFPViwrQkFBK0JHLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RNLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTXBCLGFBQWEsU0FBU0EsV0FBV3FCLEtBQUs7SUFDeEMsSUFBSSxFQUFFQyxPQUFPLEVBQUVDLFdBQVcsRUFBRSxHQUFHRjtJQUMvQixNQUFNRyxPQUFPWixPQUFPYSxXQUFXLENBQUMsS0FBSyxHQUFHLEVBQUU7SUFDMUMsT0FBcUIsV0FBSCxHQUFJLElBQUdkLFlBQVllLEdBQUcsRUFBRVgsU0FBU1ksT0FBTyxFQUFFO1FBQ3hEQyxPQUFPO1FBQ1BDLFVBQXdCLFdBQUgsR0FBSSxJQUFHbEIsWUFBWWUsR0FBRyxFQUFFWixRQUFRZ0IsTUFBTSxFQUFFO1lBQ3pEQyxNQUFNO1lBQ04sbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQkMsU0FBU1I7WUFDVEssVUFBd0IsV0FBSCxHQUFJLElBQUdsQixZQUFZc0IsSUFBSSxFQUFFbkIsUUFBUW9CLGFBQWEsRUFBRTtnQkFDakVMLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdsQixZQUFZc0IsSUFBSSxFQUFFbkIsUUFBUXFCLFlBQVksRUFBRTt3QkFDdERDLFdBQVc7d0JBQ1hQLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdsQixZQUFZZSxHQUFHLEVBQUUsTUFBTTtnQ0FDckNXLElBQUk7Z0NBQ0pSLFVBQVU7NEJBQ2Q7NEJBQ0FOLGNBQTRCLFdBQUgsR0FBSSxJQUFHWixZQUFZZSxHQUFHLEVBQUVULHNCQUFzQnFCLG9CQUFvQixFQUFFO2dDQUN6RixHQUFHZixXQUFXOzRCQUNsQixLQUFLO3lCQUNSO29CQUNMO29CQUNBLFdBQVcsR0FBSSxJQUFHWixZQUFZc0IsSUFBSSxFQUFFbkIsUUFBUXlCLFVBQVUsRUFBRTt3QkFDcERILFdBQVc7d0JBQ1hQLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdsQixZQUFZZSxHQUFHLEVBQUVWLFVBQVV3QixRQUFRLEVBQUU7Z0NBQ25EQyxTQUFTbkI7NEJBQ2I7NEJBQ0EsV0FBVyxHQUFJLElBQUdYLFlBQVllLEdBQUcsRUFBRSxVQUFVO2dDQUN6Q0csVUFBd0IsV0FBSCxHQUFJLElBQUdsQixZQUFZZSxHQUFHLEVBQUUsS0FBSztvQ0FDOUNXLElBQUk7b0NBQ0pSLFVBQXdCLFdBQUgsR0FBSSxJQUFHbEIsWUFBWWUsR0FBRyxFQUFFLFNBQVM7d0NBQ2xERyxVQUFVO29DQUNkO2dDQUNKOzRCQUNKO3lCQUNIO29CQUNMO2lCQUNIO1lBQ0w7UUFDSjtJQUNKO0FBQ0o7QUFDQSxNQUFNNUIsU0FBUyxDQUFDLEdBQUdpQixjQUFjTSxJQUFJLEVBQUVMO0FBRXZDLElBQUksQ0FBQyxPQUFPdEIsUUFBUTZDLE9BQU8sS0FBSyxjQUFlLE9BQU83QyxRQUFRNkMsT0FBTyxLQUFLLFlBQVk3QyxRQUFRNkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0MsUUFBUTZDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoRCxPQUFPQyxjQUFjLENBQUNDLFFBQVE2QyxPQUFPLEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE2QyxPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL0J1aWxkRXJyb3IuanM/NWJkMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEJ1aWxkRXJyb3I6IG51bGwsXG4gICAgc3R5bGVzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEJ1aWxkRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQnVpbGRFcnJvcjtcbiAgICB9LFxuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX0RpYWxvZyA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL0RpYWxvZ1wiKTtcbmNvbnN0IF9PdmVybGF5ID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvT3ZlcmxheVwiKTtcbmNvbnN0IF9UZXJtaW5hbCA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL1Rlcm1pbmFsXCIpO1xuY29uc3QgX1ZlcnNpb25TdGFsZW5lc3NJbmZvID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvVmVyc2lvblN0YWxlbmVzc0luZm9cIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItaGVhZGVyIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWJ1aWxkLWVycm9yLWhlYWRlciA+IGg0IHtcXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgfVxcblxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItYm9keSBmb290ZXIge1xcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1zaXplLWdhcCk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1ib2R5IGZvb3RlciBwIHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgfVxcblxcbiAgLm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItYm9keSBzbWFsbCB7XFxuICAgIGNvbG9yOiAjNzU3NTc1O1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBCdWlsZEVycm9yID0gZnVuY3Rpb24gQnVpbGRFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IG1lc3NhZ2UsIHZlcnNpb25JbmZvIH0gPSBwYXJhbTtcbiAgICBjb25zdCBub29wID0gX3JlYWN0LnVzZUNhbGxiYWNrKCgpPT57fSwgW10pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9PdmVybGF5Lk92ZXJsYXksIHtcbiAgICAgICAgZml4ZWQ6IHRydWUsXG4gICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9EaWFsb2cuRGlhbG9nLCB7XG4gICAgICAgICAgICB0eXBlOiBcImVycm9yXCIsXG4gICAgICAgICAgICBcImFyaWEtbGFiZWxsZWRieVwiOiBcIm5leHRqc19fY29udGFpbmVyX2J1aWxkX2Vycm9yX2xhYmVsXCIsXG4gICAgICAgICAgICBcImFyaWEtZGVzY3JpYmVkYnlcIjogXCJuZXh0anNfX2NvbnRhaW5lcl9idWlsZF9lcnJvcl9kZXNjXCIsXG4gICAgICAgICAgICBvbkNsb3NlOiBub29wLFxuICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9EaWFsb2cuRGlhbG9nQ29udGVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9EaWFsb2cuRGlhbG9nSGVhZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1idWlsZC1lcnJvci1oZWFkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImg0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwibmV4dGpzX19jb250YWluZXJfYnVpbGRfZXJyb3JfbGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiRmFpbGVkIHRvIGNvbXBpbGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25JbmZvID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfVmVyc2lvblN0YWxlbmVzc0luZm8uVmVyc2lvblN0YWxlbmVzc0luZm8sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udmVyc2lvbkluZm9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSA6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9EaWFsb2cuRGlhbG9nQm9keSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy1jb250YWluZXItYnVpbGQtZXJyb3ItYm9keVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9UZXJtaW5hbC5UZXJtaW5hbCwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBtZXNzYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImZvb3RlclwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJuZXh0anNfX2NvbnRhaW5lcl9idWlsZF9lcnJvcl9kZXNjXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNtYWxsXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJUaGlzIGVycm9yIG9jY3VycmVkIGR1cmluZyB0aGUgYnVpbGQgcHJvY2VzcyBhbmQgY2FuIG9ubHkgYmUgZGlzbWlzc2VkIGJ5IGZpeGluZyB0aGUgZXJyb3IuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH0pO1xufTtcbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9QnVpbGRFcnJvci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJCdWlsZEVycm9yIiwic3R5bGVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfRGlhbG9nIiwiX092ZXJsYXkiLCJfVGVybWluYWwiLCJfVmVyc2lvblN0YWxlbmVzc0luZm8iLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsInBhcmFtIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwibm9vcCIsInVzZUNhbGxiYWNrIiwianN4IiwiT3ZlcmxheSIsImZpeGVkIiwiY2hpbGRyZW4iLCJEaWFsb2ciLCJ0eXBlIiwib25DbG9zZSIsImpzeHMiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiY2xhc3NOYW1lIiwiaWQiLCJWZXJzaW9uU3RhbGVuZXNzSW5mbyIsIkRpYWxvZ0JvZHkiLCJUZXJtaW5hbCIsImNvbnRlbnQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js": /*!*************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js ***! \*************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Errors: function() {\n return Errors;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _erroroverlayreducer = __webpack_require__(/*! ../error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _LeftRightDialogHeader = __webpack_require__(/*! ../components/LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _getErrorByType = __webpack_require__(/*! ../helpers/getErrorByType */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\");\nconst _nodeStackFrames = __webpack_require__(/*! ../helpers/nodeStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _CloseIcon = __webpack_require__(/*! ../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst _RuntimeError = __webpack_require__(/*! ./RuntimeError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../components/hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-errors-header > h1 {\\n font-size: var(--size-font-big);\\n line-height: var(--size-font-bigger);\\n font-weight: bold;\\n margin: 0;\\n margin-top: calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n .nextjs-container-errors-header small {\\n font-size: var(--size-font-small);\\n color: var(--color-accents-1);\\n margin-left: var(--size-gap-double);\\n }\\n .nextjs-container-errors-header small > span {\\n font-family: var(--font-stack-monospace);\\n }\\n .nextjs-container-errors-header > p {\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-big);\\n font-weight: bold;\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n color: var(--color-ansi-red);\\n white-space: pre-wrap;\\n }\\n .nextjs-container-errors-header > div > small {\\n margin: 0;\\n margin-top: var(--size-gap-half);\\n }\\n .nextjs-container-errors-header > p > a {\\n color: var(--color-ansi-red);\\n }\\n\\n .nextjs-container-errors-body > h2:not(:first-child) {\\n margin-top: calc(var(--size-gap-double) + var(--size-gap));\\n }\\n .nextjs-container-errors-body > h2 {\\n margin-bottom: var(--size-gap);\\n font-size: var(--size-font-big);\\n }\\n\\n .nextjs-toast-errors-parent {\\n cursor: pointer;\\n transition: transform 0.2s ease;\\n }\\n .nextjs-toast-errors-parent:hover {\\n transform: scale(1.1);\\n }\\n .nextjs-toast-errors {\\n display: flex;\\n align-items: center;\\n justify-content: flex-start;\\n }\\n .nextjs-toast-errors > svg {\\n margin-right: var(--size-gap);\\n }\\n .nextjs-toast-errors-hide-button {\\n margin-left: var(--size-gap-triple);\\n border: none;\\n background: none;\\n color: var(--color-ansi-bright-white);\\n padding: 0;\\n transition: opacity 0.25s ease;\\n opacity: 0.7;\\n }\\n .nextjs-toast-errors-hide-button:hover {\\n opacity: 1;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction getErrorSignature(ev) {\n const { event } = ev;\n switch(event.type){\n case _erroroverlayreducer.ACTION_UNHANDLED_ERROR:\n case _erroroverlayreducer.ACTION_UNHANDLED_REJECTION:\n {\n return event.reason.name + \"::\" + event.reason.message + \"::\" + event.reason.stack;\n }\n default:\n {}\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n return \"\";\n}\nconst Errors = function Errors(param) {\n let { errors, initialDisplayState, versionInfo } = param;\n const [lookups, setLookups] = _react.useState({});\n const [readyErrors, nextError] = _react.useMemo(()=>{\n let ready = [];\n let next = null;\n // Ensure errors are displayed in the order they occurred in:\n for(let idx = 0; idx < errors.length; ++idx){\n const e = errors[idx];\n const { id } = e;\n if (id in lookups) {\n ready.push(lookups[id]);\n continue;\n }\n // Check for duplicate errors\n if (idx > 0) {\n const prev = errors[idx - 1];\n if (getErrorSignature(prev) === getErrorSignature(e)) {\n continue;\n }\n }\n next = e;\n break;\n }\n return [\n ready,\n next\n ];\n }, [\n errors,\n lookups\n ]);\n const isLoading = _react.useMemo(()=>{\n return readyErrors.length < 1 && Boolean(errors.length);\n }, [\n errors.length,\n readyErrors.length\n ]);\n _react.useEffect(()=>{\n if (nextError == null) {\n return;\n }\n let mounted = true;\n (0, _getErrorByType.getErrorByType)(nextError).then((resolved)=>{\n // We don't care if the desired error changed while we were resolving,\n // thus we're not tracking it using a ref. Once the work has been done,\n // we'll store it.\n if (mounted) {\n setLookups((m)=>({\n ...m,\n [resolved.id]: resolved\n }));\n }\n }, ()=>{\n // TODO: handle this, though an edge case\n });\n return ()=>{\n mounted = false;\n };\n }, [\n nextError\n ]);\n const [displayState, setDisplayState] = _react.useState(initialDisplayState);\n const [activeIdx, setActiveIndex] = _react.useState(0);\n const previous = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setActiveIndex((v)=>Math.max(0, v - 1));\n }, []);\n const next = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setActiveIndex((v)=>Math.max(0, Math.min(readyErrors.length - 1, v + 1)));\n }, [\n readyErrors.length\n ]);\n var _readyErrors_activeIdx;\n const activeError = _react.useMemo(()=>(_readyErrors_activeIdx = readyErrors[activeIdx]) != null ? _readyErrors_activeIdx : null, [\n activeIdx,\n readyErrors\n ]);\n // Reset component state when there are no errors to be displayed.\n // This should never happen, but lets handle it.\n _react.useEffect(()=>{\n if (errors.length < 1) {\n setLookups({});\n setDisplayState(\"hidden\");\n setActiveIndex(0);\n }\n }, [\n errors.length\n ]);\n const minimize = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setDisplayState(\"minimized\");\n }, []);\n const hide = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setDisplayState(\"hidden\");\n }, []);\n const fullscreen = _react.useCallback((e)=>{\n e == null ? void 0 : e.preventDefault();\n setDisplayState(\"fullscreen\");\n }, []);\n // This component shouldn't be rendered with no errors, but if it is, let's\n // handle it gracefully by rendering nothing.\n if (errors.length < 1 || activeError == null) {\n return null;\n }\n if (isLoading) {\n // TODO: better loading state\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {});\n }\n if (displayState === \"hidden\") {\n return null;\n }\n if (displayState === \"minimized\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Toast.Toast, {\n className: \"nextjs-toast-errors-parent\",\n onClick: fullscreen,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n className: \"nextjs-toast-errors\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"10\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"8\",\n x2: \"12\",\n y2: \"12\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"12\",\n y1: \"16\",\n x2: \"12.01\",\n y2: \"16\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n readyErrors.length,\n \" error\",\n readyErrors.length > 1 ? \"s\" : \"\"\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-toast-errors-hide-button\": true,\n className: \"nextjs-toast-errors-hide-button\",\n type: \"button\",\n onClick: (e)=>{\n e.stopPropagation();\n hide();\n },\n \"aria-label\": \"Hide Errors\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n ]\n })\n });\n }\n const isServerError = [\n \"server\",\n \"edge-server\"\n ].includes((0, _nodeStackFrames.getErrorSource)(activeError.error) || \"\");\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_errors_label\",\n \"aria-describedby\": \"nextjs__container_errors_desc\",\n onClose: isServerError ? undefined : minimize,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogHeader, {\n className: \"nextjs-container-errors-header\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_LeftRightDialogHeader.LeftRightDialogHeader, {\n previous: activeIdx > 0 ? previous : null,\n next: activeIdx < readyErrors.length - 1 ? next : null,\n close: isServerError ? undefined : minimize,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"small\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: activeIdx + 1\n }),\n \" of\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: readyErrors.length\n }),\n \" unhandled error\",\n readyErrors.length < 2 ? \"\" : \"s\"\n ]\n }),\n versionInfo ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_VersionStalenessInfo.VersionStalenessInfo, {\n ...versionInfo\n }) : null\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n id: \"nextjs__container_errors_label\",\n children: isServerError ? \"Server Error\" : \"Unhandled Runtime Error\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n id: \"nextjs__container_errors_desc\",\n children: [\n activeError.error.name,\n \":\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: activeError.error.message\n })\n ]\n }),\n isServerError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error happened while generating the page. Any console logs will be displayed in the terminal window.\"\n })\n }) : undefined\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogBody, {\n className: \"nextjs-container-errors-body\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_RuntimeError.RuntimeError, {\n error: activeError\n }, activeError.id.toString())\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Errors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9FcnJvcnMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyx1QkFBdUJMLG1CQUFPQSxDQUFDLHNJQUEwQjtBQUMvRCxNQUFNTSxVQUFVTixtQkFBT0EsQ0FBQyxvSUFBc0I7QUFDOUMsTUFBTU8seUJBQXlCUCxtQkFBT0EsQ0FBQyxrS0FBcUM7QUFDNUUsTUFBTVEsV0FBV1IsbUJBQU9BLENBQUMsc0lBQXVCO0FBQ2hELE1BQU1TLFNBQVNULG1CQUFPQSxDQUFDLGtJQUFxQjtBQUM1QyxNQUFNVSxrQkFBa0JWLG1CQUFPQSxDQUFDLHdJQUEyQjtBQUMzRCxNQUFNVyxtQkFBbUJYLG1CQUFPQSxDQUFDLDBJQUE0QjtBQUM3RCxNQUFNWSxnQkFBZ0JaLG1CQUFPQSxDQUFDLHNJQUEwQjtB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d0NBQzdEQyxNQUFNMUMsWUFBWWdDLEtBQUssQ0FBQ3hFLE9BQU87b0NBQ25DO2lDQUNIOzRCQUNMOzRCQUNBcUUsZ0JBQThCLFdBQUgsR0FBSSxJQUFHN0YsWUFBWW9FLEdBQUcsRUFBRSxPQUFPO2dDQUN0REssVUFBd0IsV0FBSCxHQUFJLElBQUd6RSxZQUFZb0UsR0FBRyxFQUFFLFNBQVM7b0NBQ2xESyxVQUFVO2dDQUNkOzRCQUNKLEtBQUswQjt5QkFDUjtvQkFDTDtvQkFDQSxXQUFXLEdBQUksSUFBR25HLFlBQVlvRSxHQUFHLEVBQUVoRSxRQUFRdUcsVUFBVSxFQUFFO3dCQUNuRHBDLFdBQVc7d0JBQ1hFLFVBQXdCLFdBQUgsR0FBSSxJQUFHekUsWUFBWW9FLEdBQUcsRUFBRXhELGNBQWNnRyxZQUFZLEVBQUU7NEJBQ3JFWixPQUFPaEM7d0JBQ1gsR0FBR0EsWUFBWXZCLEVBQUUsQ0FBQ29FLFFBQVE7b0JBQzlCO2lCQUNIO1lBQ0w7UUFDSjtJQUNKO0FBQ0o7QUFDQSxNQUFNdkgsU0FBUyxDQUFDLEdBQUdvQixjQUFjb0csSUFBSSxFQUFFL0Y7QUFFdkMsSUFBSSxDQUFDLE9BQU83QixRQUFRNkgsT0FBTyxLQUFLLGNBQWUsT0FBTzdILFFBQVE2SCxPQUFPLEtBQUssWUFBWTdILFFBQVE2SCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU83SCxRQUFRNkgsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hJLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTZILE9BQU8sRUFBRSxjQUFjO1FBQUU1SCxPQUFPO0lBQUs7SUFDbkVILE9BQU9pSSxNQUFNLENBQUMvSCxRQUFRNkgsT0FBTyxFQUFFN0g7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTZILE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvRXJyb3JzLmpzPzRkMmEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBFcnJvcnM6IG51bGwsXG4gICAgc3R5bGVzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIEVycm9yczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFcnJvcnM7XG4gICAgfSxcbiAgICBzdHlsZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9lcnJvcm92ZXJsYXlyZWR1Y2VyID0gcmVxdWlyZShcIi4uL2Vycm9yLW92ZXJsYXktcmVkdWNlclwiKTtcbmNvbnN0IF9EaWFsb2cgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9EaWFsb2dcIik7XG5jb25zdCBfTGVmdFJpZ2h0RGlhbG9nSGVhZGVyID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyXCIpO1xuY29uc3QgX092ZXJsYXkgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9PdmVybGF5XCIpO1xuY29uc3QgX1RvYXN0ID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvVG9hc3RcIik7XG5jb25zdCBfZ2V0RXJyb3JCeVR5cGUgPSByZXF1aXJlKFwiLi4vaGVscGVycy9nZXRFcnJvckJ5VHlwZVwiKTtcbmNvbnN0IF9ub2RlU3RhY2tGcmFtZXMgPSByZXF1aXJlKFwiLi4vaGVscGVycy9ub2RlU3RhY2tGcmFtZXNcIik7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmNvbnN0IF9DbG9zZUljb24gPSByZXF1aXJlKFwiLi4vaWNvbnMvQ2xvc2VJY29uXCIpO1xuY29uc3QgX1J1bnRpbWVFcnJvciA9IHJlcXVpcmUoXCIuL1J1bnRpbWVFcnJvclwiKTtcbmNvbnN0IF9WZXJzaW9uU3RhbGVuZXNzSW5mbyA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL1ZlcnNpb25TdGFsZW5lc3NJbmZvXCIpO1xuY29uc3QgX2hvdGxpbmtlZHRleHQgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9ob3QtbGlua2VkLXRleHRcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIC5uZXh0anMtY29udGFpbmVyLWVycm9ycy1oZWFkZXIgPiBoMSB7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LWJpZyk7XFxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXplLWZvbnQtYmlnZ2VyKTtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciBzbWFsbCB7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFjY2VudHMtMSk7XFxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciBzbWFsbCA+IHNwYW4ge1xcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWhlYWRlciA+IHAge1xcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xcbiAgICBmb250LXNpemU6IHZhcigtLXNpemUtZm9udC1zbWFsbCk7XFxuICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1zaXplLWZvbnQtYmlnKTtcXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS1nYXAtaGFsZik7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXJlZCk7XFxuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcXG4gIH1cXG4gIC5uZXh0anMtY29udGFpbmVyLWVycm9ycy1oZWFkZXIgPiBkaXYgPiBzbWFsbCB7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS1nYXAtaGFsZik7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtaGVhZGVyID4gcCA+IGEge1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1yZWQpO1xcbiAgfVxcblxcbiAgLm5leHRqcy1jb250YWluZXItZXJyb3JzLWJvZHkgPiBoMjpub3QoOmZpcnN0LWNoaWxkKSB7XFxuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwKSk7XFxuICB9XFxuICAubmV4dGpzLWNvbnRhaW5lci1lcnJvcnMtYm9keSA+IGgyIHtcXG4gICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS1nYXApO1xcbiAgICBmb250LXNpemU6IHZhcigtLXNpemUtZm9udC1iaWcpO1xcbiAgfVxcblxcbiAgLm5leHRqcy10b2FzdC1lcnJvcnMtcGFyZW50IHtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xcbiAgfVxcbiAgLm5leHRqcy10b2FzdC1lcnJvcnMtcGFyZW50OmhvdmVyIHtcXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xcbiAgfVxcbiAgLm5leHRqcy10b2FzdC1lcnJvcnMge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XFxuICB9XFxuICAubmV4dGpzLXRvYXN0LWVycm9ycyA+IHN2ZyB7XFxuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS1nYXApO1xcbiAgfVxcbiAgLm5leHRqcy10b2FzdC1lcnJvcnMtaGlkZS1idXR0b24ge1xcbiAgICBtYXJnaW4tbGVmdDogdmFyKC0tc2l6ZS1nYXAtdHJpcGxlKTtcXG4gICAgYm9yZGVyOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtd2hpdGUpO1xcbiAgICBwYWRkaW5nOiAwO1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XFxuICAgIG9wYWNpdHk6IDAuNztcXG4gIH1cXG4gIC5uZXh0anMtdG9hc3QtZXJyb3JzLWhpZGUtYnV0dG9uOmhvdmVyIHtcXG4gICAgb3BhY2l0eTogMTtcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gZ2V0RXJyb3JTaWduYXR1cmUoZXYpIHtcbiAgICBjb25zdCB7IGV2ZW50IH0gPSBldjtcbiAgICBzd2l0Y2goZXZlbnQudHlwZSl7XG4gICAgICAgIGNhc2UgX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX1VOSEFORExFRF9FUlJPUjpcbiAgICAgICAgY2FzZSBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZXZlbnQucmVhc29uLm5hbWUgKyBcIjo6XCIgKyBldmVudC5yZWFzb24ubWVzc2FnZSArIFwiOjpcIiArIGV2ZW50LnJlYXNvbi5zdGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHt9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCBfID0gZXZlbnQ7XG4gICAgcmV0dXJuIFwiXCI7XG59XG5jb25zdCBFcnJvcnMgPSBmdW5jdGlvbiBFcnJvcnMocGFyYW0pIHtcbiAgICBsZXQgeyBlcnJvcnMsIGluaXRpYWxEaXNwbGF5U3RhdGUsIHZlcnNpb25JbmZvIH0gPSBwYXJhbTtcbiAgICBjb25zdCBbbG9va3Vwcywgc2V0TG9va3Vwc10gPSBfcmVhY3QudXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IFtyZWFkeUVycm9ycywgbmV4dEVycm9yXSA9IF9yZWFjdC51c2VNZW1vKCgpPT57XG4gICAgICAgIGxldCByZWFkeSA9IFtdO1xuICAgICAgICBsZXQgbmV4dCA9IG51bGw7XG4gICAgICAgIC8vIEVuc3VyZSBlcnJvcnMgYXJlIGRpc3BsYXllZCBpbiB0aGUgb3JkZXIgdGhleSBvY2N1cnJlZCBpbjpcbiAgICAgICAgZm9yKGxldCBpZHggPSAwOyBpZHggPCBlcnJvcnMubGVuZ3RoOyArK2lkeCl7XG4gICAgICAgICAgICBjb25zdCBlID0gZXJyb3JzW2lkeF07XG4gICAgICAgICAgICBjb25zdCB7IGlkIH0gPSBlO1xuICAgICAgICAgICAgaWYgKGlkIGluIGxvb2t1cHMpIHtcbiAgICAgICAgICAgICAgICByZWFkeS5wdXNoKGxvb2t1cHNbaWRdKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENoZWNrIGZvciBkdXBsaWNhdGUgZXJyb3JzXG4gICAgICAgICAgICBpZiAoaWR4ID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXYgPSBlcnJvcnNbaWR4IC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGdldEVycm9yU2lnbmF0dXJlKHByZXYpID09PSBnZXRFcnJvclNpZ25hdHVyZShlKSkge1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0ID0gZTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICByZWFkeSxcbiAgICAgICAgICAgIG5leHRcbiAgICAgICAgXTtcbiAgICB9LCBbXG4gICAgICAgIGVycm9ycyxcbiAgICAgICAgbG9va3Vwc1xuICAgIF0pO1xuICAgIGNvbnN0IGlzTG9hZGluZyA9IF9yZWFjdC51c2VNZW1vKCgpPT57XG4gICAgICAgIHJldHVybiByZWFkeUVycm9ycy5sZW5ndGggPCAxICYmIEJvb2xlYW4oZXJyb3JzLmxlbmd0aCk7XG4gICAgfSwgW1xuICAgICAgICBlcnJvcnMubGVuZ3RoLFxuICAgICAgICByZWFkeUVycm9ycy5sZW5ndGhcbiAgICBdKTtcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChuZXh0RXJyb3IgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBtb3VudGVkID0gdHJ1ZTtcbiAgICAgICAgKDAsIF9nZXRFcnJvckJ5VHlwZS5nZXRFcnJvckJ5VHlwZSkobmV4dEVycm9yKS50aGVuKChyZXNvbHZlZCk9PntcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IGNhcmUgaWYgdGhlIGRlc2lyZWQgZXJyb3IgY2hhbmdlZCB3aGlsZSB3ZSB3ZXJlIHJlc29sdmluZyxcbiAgICAgICAgICAgIC8vIHRodXMgd2UncmUgbm90IHRyYWNraW5nIGl0IHVzaW5nIGEgcmVmLiBPbmNlIHRoZSB3b3JrIGhhcyBiZWVuIGRvbmUsXG4gICAgICAgICAgICAvLyB3ZSdsbCBzdG9yZSBpdC5cbiAgICAgICAgICAgIGlmIChtb3VudGVkKSB7XG4gICAgICAgICAgICAgICAgc2V0TG9va3VwcygobSk9Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5tLFxuICAgICAgICAgICAgICAgICAgICAgICAgW3Jlc29sdmVkLmlkXTogcmVzb2x2ZWRcbiAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAoKT0+e1xuICAgICAgICAvLyBUT0RPOiBoYW5kbGUgdGhpcywgdGhvdWdoIGFuIGVkZ2UgY2FzZVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBtb3VudGVkID0gZmFsc2U7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBuZXh0RXJyb3JcbiAgICBdKTtcbiAgICBjb25zdCBbZGlzcGxheVN0YXRlLCBzZXREaXNwbGF5U3RhdGVdID0gX3JlYWN0LnVzZVN0YXRlKGluaXRpYWxEaXNwbGF5U3RhdGUpO1xuICAgIGNvbnN0IFthY3RpdmVJZHgsIHNldEFjdGl2ZUluZGV4XSA9IF9yZWFjdC51c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBwcmV2aW91cyA9IF9yZWFjdC51c2VDYWxsYmFjaygoZSk9PntcbiAgICAgICAgZSA9PSBudWxsID8gdm9pZCAwIDogZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXRBY3RpdmVJbmRleCgodik9Pk1hdGgubWF4KDAsIHYgLSAxKSk7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IG5leHQgPSBfcmVhY3QudXNlQ2FsbGJhY2soKGUpPT57XG4gICAgICAgIGUgPT0gbnVsbCA/IHZvaWQgMCA6IGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHYpPT5NYXRoLm1heCgwLCBNYXRoLm1pbihyZWFkeUVycm9ycy5sZW5ndGggLSAxLCB2ICsgMSkpKTtcbiAgICB9LCBbXG4gICAgICAgIHJlYWR5RXJyb3JzLmxlbmd0aFxuICAgIF0pO1xuICAgIHZhciBfcmVhZHlFcnJvcnNfYWN0aXZlSWR4O1xuICAgIGNvbnN0IGFjdGl2ZUVycm9yID0gX3JlYWN0LnVzZU1lbW8oKCk9PihfcmVhZHlFcnJvcnNfYWN0aXZlSWR4ID0gcmVhZHlFcnJvcnNbYWN0aXZlSWR4XSkgIT0gbnVsbCA/IF9yZWFkeUVycm9yc19hY3RpdmVJZHggOiBudWxsLCBbXG4gICAgICAgIGFjdGl2ZUlkeCxcbiAgICAgICAgcmVhZHlFcnJvcnNcbiAgICBdKTtcbiAgICAvLyBSZXNldCBjb21wb25lbnQgc3RhdGUgd2hlbiB0aGVyZSBhcmUgbm8gZXJyb3JzIHRvIGJlIGRpc3BsYXllZC5cbiAgICAvLyBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4sIGJ1dCBsZXRzIGhhbmRsZSBpdC5cbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChlcnJvcnMubGVuZ3RoIDwgMSkge1xuICAgICAgICAgICAgc2V0TG9va3Vwcyh7fSk7XG4gICAgICAgICAgICBzZXREaXNwbGF5U3RhdGUoXCJoaWRkZW5cIik7XG4gICAgICAgICAgICBzZXRBY3RpdmVJbmRleCgwKTtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgZXJyb3JzLmxlbmd0aFxuICAgIF0pO1xuICAgIGNvbnN0IG1pbmltaXplID0gX3JlYWN0LnVzZUNhbGxiYWNrKChlKT0+e1xuICAgICAgICBlID09IG51bGwgPyB2b2lkIDAgOiBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIHNldERpc3BsYXlTdGF0ZShcIm1pbmltaXplZFwiKTtcbiAgICB9LCBbXSk7XG4gICAgY29uc3QgaGlkZSA9IF9yZWFjdC51c2VDYWxsYmFjaygoZSk9PntcbiAgICAgICAgZSA9PSBudWxsID8gdm9pZCAwIDogZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBzZXREaXNwbGF5U3RhdGUoXCJoaWRkZW5cIik7XG4gICAgfSwgW10pO1xuICAgIGNvbnN0IGZ1bGxzY3JlZW4gPSBfcmVhY3QudXNlQ2FsbGJhY2soKGUpPT57XG4gICAgICAgIGUgPT0gbnVsbCA/IHZvaWQgMCA6IGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgc2V0RGlzcGxheVN0YXRlKFwiZnVsbHNjcmVlblwiKTtcbiAgICB9LCBbXSk7XG4gICAgLy8gVGhpcyBjb21wb25lbnQgc2hvdWxkbid0IGJlIHJlbmRlcmVkIHdpdGggbm8gZXJyb3JzLCBidXQgaWYgaXQgaXMsIGxldCdzXG4gICAgLy8gaGFuZGxlIGl0IGdyYWNlZnVsbHkgYnkgcmVuZGVyaW5nIG5vdGhpbmcuXG4gICAgaWYgKGVycm9ycy5sZW5ndGggPCAxIHx8IGFjdGl2ZUVycm9yID09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmIChpc0xvYWRpbmcpIHtcbiAgICAgICAgLy8gVE9ETzogYmV0dGVyIGxvYWRpbmcgc3RhdGVcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX092ZXJsYXkuT3ZlcmxheSwge30pO1xuICAgIH1cbiAgICBpZiAoZGlzcGxheVN0YXRlID09PSBcImhpZGRlblwiKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoZGlzcGxheVN0YXRlID09PSBcIm1pbmltaXplZFwiKSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9Ub2FzdC5Ub2FzdCwge1xuICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy10b2FzdC1lcnJvcnMtcGFyZW50XCIsXG4gICAgICAgICAgICBvbkNsaWNrOiBmdWxsc2NyZWVuLFxuICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLXRvYXN0LWVycm9yc1wiLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3ZnXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIyNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjI0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94OiBcIjAgMCAyNCAyNFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiY2lyY2xlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3g6IFwiMTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3k6IFwiMTJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcjogXCIxMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImxpbmVcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB4MTogXCIxMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5MTogXCI4XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjEyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkyOiBcIjEyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxOiBcIjEyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxOiBcIjE2XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjEyLjAxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkyOiBcIjE2XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZHlFcnJvcnMubGVuZ3RoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIGVycm9yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZHlFcnJvcnMubGVuZ3RoID4gMSA/IFwic1wiIDogXCJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImJ1dHRvblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLXRvYXN0LWVycm9ycy1oaWRlLWJ1dHRvblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy10b2FzdC1lcnJvcnMtaGlkZS1idXR0b25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYnV0dG9uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiAoZSk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJIaWRlIEVycm9yc1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0Nsb3NlSWNvbi5DbG9zZUljb24sIHt9KVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBpc1NlcnZlckVycm9yID0gW1xuICAgICAgICBcInNlcnZlclwiLFxuICAgICAgICBcImVkZ2Utc2VydmVyXCJcbiAgICBdLmluY2x1ZGVzKCgwLCBfbm9kZVN0YWNrRnJhbWVzLmdldEVycm9yU291cmNlKShhY3RpdmVFcnJvci5lcnJvcikgfHwgXCJcIik7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX092ZXJsYXkuT3ZlcmxheSwge1xuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfRGlhbG9nLkRpYWxvZywge1xuICAgICAgICAgICAgdHlwZTogXCJlcnJvclwiLFxuICAgICAgICAgICAgXCJhcmlhLWxhYmVsbGVkYnlcIjogXCJuZXh0anNfX2NvbnRhaW5lcl9lcnJvcnNfbGFiZWxcIixcbiAgICAgICAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBcIm5leHRqc19fY29udGFpbmVyX2Vycm9yc19kZXNjXCIsXG4gICAgICAgICAgICBvbkNsb3NlOiBpc1NlcnZlckVycm9yID8gdW5kZWZpbmVkIDogbWluaW1pemUsXG4gICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dDb250ZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dIZWFkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTogXCJuZXh0anMtY29udGFpbmVyLWVycm9ycy1oZWFkZXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0xlZnRSaWdodERpYWxvZ0hlYWRlci5MZWZ0UmlnaHREaWFsb2dIZWFkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmlvdXM6IGFjdGl2ZUlkeCA+IDAgPyBwcmV2aW91cyA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQ6IGFjdGl2ZUlkeCA8IHJlYWR5RXJyb3JzLmxlbmd0aCAtIDEgPyBuZXh0IDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2U6IGlzU2VydmVyRXJyb3IgPyB1bmRlZmluZWQgOiBtaW5pbWl6ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic21hbGxcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzcGFuXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBhY3RpdmVJZHggKyAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBvZlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInNwYW5cIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IHJlYWR5RXJyb3JzLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIgdW5oYW5kbGVkIGVycm9yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWR5RXJyb3JzLmxlbmd0aCA8IDIgPyBcIlwiIDogXCJzXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcnNpb25JbmZvID8gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfVmVyc2lvblN0YWxlbmVzc0luZm8uVmVyc2lvblN0YWxlbmVzc0luZm8sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuLi52ZXJzaW9uSW5mb1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiaDFcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJuZXh0anNfX2NvbnRhaW5lcl9lcnJvcnNfbGFiZWxcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IGlzU2VydmVyRXJyb3IgPyBcIlNlcnZlciBFcnJvclwiIDogXCJVbmhhbmRsZWQgUnVudGltZSBFcnJvclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwibmV4dGpzX19jb250YWluZXJfZXJyb3JzX2Rlc2NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZUVycm9yLmVycm9yLm5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIjpcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiIFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfaG90bGlua2VkdGV4dC5Ib3RsaW5rZWRUZXh0LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogYWN0aXZlRXJyb3IuZXJyb3IubWVzc2FnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VydmVyRXJyb3IgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzbWFsbFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJUaGlzIGVycm9yIGhhcHBlbmVkIHdoaWxlIGdlbmVyYXRpbmcgdGhlIHBhZ2UuIEFueSBjb25zb2xlIGxvZ3Mgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gdGhlIHRlcm1pbmFsIHdpbmRvdy5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pIDogdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9EaWFsb2cuRGlhbG9nQm9keSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy1jb250YWluZXItZXJyb3JzLWJvZHlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9SdW50aW1lRXJyb3IuUnVudGltZUVycm9yLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGFjdGl2ZUVycm9yXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBhY3RpdmVFcnJvci5pZC50b1N0cmluZygpKVxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pXG4gICAgfSk7XG59O1xuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1FcnJvcnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRXJyb3JzIiwic3R5bGVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfZXJyb3JvdmVybGF5cmVkdWNlciIsIl9EaWFsb2ciLCJfTGVmdFJpZ2h0RGlhbG9nSGVhZGVyIiwiX092ZXJsYXkiLCJfVG9hc3QiLCJfZ2V0RXJyb3JCeVR5cGUiLCJfbm9kZVN0YWNrRnJhbWVzIiwiX25vb3B0ZW1wbGF0ZSIsIl9DbG9zZUljb24iLCJfUnVudGltZUVycm9yIiwiX1ZlcnNpb25TdGFsZW5lc3NJbmZvIiwiX2hvdGxpbmtlZHRleHQiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiZ2V0RXJyb3JTaWduYXR1cmUiLCJldiIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsInJlYXNvbiIsIm1lc3NhZ2UiLCJzdGFjayIsInBhcmFtIiwiZXJyb3JzIiwiaW5pdGlhbERpc3BsYXlTdGF0ZSIsInZlcnNpb25JbmZvIiwibG9va3VwcyIsInNldExvb2t1cHMiLCJ1c2VTdGF0ZSIsInJlYWR5RXJyb3JzIiwibmV4dEVycm9yIiwidXNlTWVtbyIsInJlYWR5IiwibmV4dCIsImlkeCIsImxlbmd0aCIsImUiLCJpZCIsInB1c2giLCJwcmV2IiwiaXNMb2FkaW5nIiwiQm9vbGVhbiIsInVzZUVmZmVjdCIsIm1vdW50ZWQiLCJnZXRFcnJvckJ5VHlwZSIsInRoZW4iLCJyZXNvbHZlZCIsIm0iLCJkaXNwbGF5U3RhdGUiLCJzZXREaXNwbGF5U3RhdGUiLCJhY3RpdmVJZHgiLCJzZXRBY3RpdmVJbmRleCIsInByZXZpb3VzIiwidXNlQ2FsbGJhY2siLCJwcmV2ZW50RGVmYXVsdCIsInYiLCJNYXRoIiwibWF4IiwibWluIiwiX3JlYWR5RXJyb3JzX2FjdGl2ZUlkeCIsImFjdGl2ZUVycm9yIiwibWluaW1pemUiLCJoaWRlIiwiZnVsbHNjcmVlbiIsImpzeCIsIk92ZXJsYXkiLCJUb2FzdCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJjaGlsZHJlbiIsImpzeHMiLCJ4bWxucyIsIndpZHRoIiwiaGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImN4IiwiY3kiLCJyIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzdG9wUHJvcGFnYXRpb24iLCJDbG9zZUljb24iLCJpc1NlcnZlckVycm9yIiwiaW5jbHVkZXMiLCJnZXRFcnJvclNvdXJjZSIsImVycm9yIiwiRGlhbG9nIiwib25DbG9zZSIsInVuZGVmaW5lZCIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJjbG9zZSIsIlZlcnNpb25TdGFsZW5lc3NJbmZvIiwiSG90bGlua2VkVGV4dCIsInRleHQiLCJEaWFsb2dCb2R5IiwiUnVudGltZUVycm9yIiwidG9TdHJpbmciLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RootLayoutError: function() {\n return RootLayoutError;\n },\n styles: function() {\n return styles;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _Overlay = __webpack_require__(/*! ../components/Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\");\nconst _Terminal = __webpack_require__(/*! ../components/Terminal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n .nextjs-container-root-layout-error-header > h4 {\\n line-height: 1.5;\\n margin: 0;\\n padding: 0;\\n }\\n\\n .nextjs-container-root-layout-error-body footer {\\n margin-top: var(--size-gap);\\n }\\n .nextjs-container-root-layout-error-body footer p {\\n margin: 0;\\n }\\n\\n .nextjs-container-root-layout-error-body small {\\n color: #757575;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst RootLayoutError = function BuildError(param) {\n let { missingTags } = param;\n const message = \"Please make sure to include the following tags in your root layout: <html>, <body>.\\n\\n\" + (\"Missing required root layout tag\" + (missingTags.length === 1 ? \"\" : \"s\") + \": \") + missingTags.join(\", \");\n const noop = _react.default.useCallback(()=>{}, []);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_Overlay.Overlay, {\n fixed: true,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.Dialog, {\n type: \"error\",\n \"aria-labelledby\": \"nextjs__container_root_layout_error_label\",\n \"aria-describedby\": \"nextjs__container_root_layout_error_desc\",\n onClose: noop,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogContent, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Dialog.DialogHeader, {\n className: \"nextjs-container-root-layout-error-header\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h4\", {\n id: \"nextjs__container_root_layout_error_label\",\n children: \"Missing required tags\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(_Dialog.DialogBody, {\n className: \"nextjs-container-root-layout-error-body\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Terminal.Terminal, {\n content: message\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"footer\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n id: \"nextjs__container_root_layout_error_desc\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"small\", {\n children: \"This error and can only be dismissed by providing all required tags.\"\n })\n })\n })\n ]\n })\n ]\n })\n })\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=RootLayoutError.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9Sb290TGF5b3V0RXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGlDQUFpQ0QsbUJBQU9BLENBQUMsOEhBQStDO0FBQzlGLE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRyxTQUFTLFdBQVcsR0FBR0oseUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3ZFLE1BQU1LLFVBQVVMLG1CQUFPQSxDQUFDLG9JQUFzQjtBQUM5QyxNQUFNTSxXQUFXTixtQkFBT0EsQ0FBQyxzSUFBdUI7QUFDaEQsTUFBTU8sWUFBWVAsbUJBQU9BLENBQUMsd0lBQXdCO0FBQ2xELE1BQU1RLGdCQUFnQlIsbUJBQU9BLENBQUMsc0lBQTBCO0FBQ3hELFNBQVNTO0lBQ0wsTUFBTUMsT0FBT1QsK0JBQStCRyxDQUFDLENBQUM7UUFDMUM7S0FDSDtJQUNESyxrQkFBa0I7UUFDZCxPQUFPQztJQUNYO0lBQ0EsT0FBT0E7QUFDWDtBQUNBLE1BQU1uQixrQkFBa0IsU0FBU29CLFdBQVdDLEtBQUs7SUFDN0MsSUFBSSxFQUFFQyxXQUFXLEVBQUUsR0FBR0Q7SUFDdEIsTUFBTUUsVUFBVSw0RkFBNkYsc0NBQXNDRCxDQUFBQSxZQUFZRSxNQUFNLEtBQUssSUFBSSxLQUFLLEdBQUUsSUFBSyxJQUFHLElBQUtGLFlBQVlHLElBQUksQ0FBQztJQUNuTixNQUFNQyxPQUFPZCxPQUFPZSxPQUFPLENBQUNDLFdBQVcsQ0FBQyxLQUFLLEdBQUcsRUFBRTtJQUNsRCxPQUFxQixXQUFILEdBQUksSUFBR2pCLFlBQVlrQixHQUFHLEVBQUVkLFNBQVNlLE9BQU8sRUFBRTtRQUN4REMsT0FBTztRQUNQQyxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUVmLFFBQVFtQixNQUFNLEVBQUU7WUFDekRDLE1BQU07WUFDTixtQkFBbUI7WUFDbkIsb0JBQW9CO1lBQ3BCQyxTQUFTVDtZQUNUTSxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVl5QixJQUFJLEVBQUV0QixRQUFRdUIsYUFBYSxFQUFFO2dCQUNqRUwsVUFBVTtvQkFDTixXQUFXLEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUVmLFFBQVF3QixZQUFZLEVBQUU7d0JBQ3JEQyxXQUFXO3dCQUNYUCxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUUsTUFBTTs0QkFDL0NXLElBQUk7NEJBQ0pSLFVBQVU7d0JBQ2Q7b0JBQ0o7b0JBQ0EsV0FBVyxHQUFJLElBQUdyQixZQUFZeUIsSUFBSSxFQUFFdEIsUUFBUTJCLFVBQVUsRUFBRTt3QkFDcERGLFdBQVc7d0JBQ1hQLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZa0IsR0FBRyxFQUFFYixVQUFVMEIsUUFBUSxFQUFFO2dDQUNuREMsU0FBU3BCOzRCQUNiOzRCQUNBLFdBQVcsR0FBSSxJQUFHWixZQUFZa0IsR0FBRyxFQUFFLFVBQVU7Z0NBQ3pDRyxVQUF3QixXQUFILEdBQUksSUFBR3JCLFlBQVlrQixHQUFHLEVBQUUsS0FBSztvQ0FDOUNXLElBQUk7b0NBQ0pSLFVBQXdCLFdBQUgsR0FBSSxJQUFHckIsWUFBWWtCLEdBQUcsRUFBRSxTQUFTO3dDQUNsREcsVUFBVTtvQ0FDZDtnQ0FDSjs0QkFDSjt5QkFDSDtvQkFDTDtpQkFDSDtZQUNMO1FBQ0o7SUFDSjtBQUNKO0FBQ0EsTUFBTS9CLFNBQVMsQ0FBQyxHQUFHZ0IsY0FBY1MsSUFBSSxFQUFFUjtBQUV2QyxJQUFJLENBQUMsT0FBT3JCLFFBQVE4QixPQUFPLEtBQUssY0FBZSxPQUFPOUIsUUFBUThCLE9BQU8sS0FBSyxZQUFZOUIsUUFBUThCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzlCLFFBQVE4QixPQUFPLENBQUNpQixVQUFVLEtBQUssYUFBYTtJQUNyS2pELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUThCLE9BQU8sRUFBRSxjQUFjO1FBQUU3QixPQUFPO0lBQUs7SUFDbkVILE9BQU9rRCxNQUFNLENBQUNoRCxRQUFROEIsT0FBTyxFQUFFOUI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUThCLE9BQU87QUFDbEMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUm9vdExheW91dEVycm9yLmpzP2ZiODQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSb290TGF5b3V0RXJyb3I6IG51bGwsXG4gICAgc3R5bGVzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJvb3RMYXlvdXRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSb290TGF5b3V0RXJyb3I7XG4gICAgfSxcbiAgICBzdHlsZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9EaWFsb2cgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9EaWFsb2dcIik7XG5jb25zdCBfT3ZlcmxheSA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL092ZXJsYXlcIik7XG5jb25zdCBfVGVybWluYWwgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9UZXJtaW5hbFwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICAubmV4dGpzLWNvbnRhaW5lci1yb290LWxheW91dC1lcnJvci1oZWFkZXIgPiBoNCB7XFxuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgcGFkZGluZzogMDtcXG4gIH1cXG5cXG4gIC5uZXh0anMtY29udGFpbmVyLXJvb3QtbGF5b3V0LWVycm9yLWJvZHkgZm9vdGVyIHtcXG4gICAgbWFyZ2luLXRvcDogdmFyKC0tc2l6ZS1nYXApO1xcbiAgfVxcbiAgLm5leHRqcy1jb250YWluZXItcm9vdC1sYXlvdXQtZXJyb3ItYm9keSBmb290ZXIgcCB7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG5cXG4gIC5uZXh0anMtY29udGFpbmVyLXJvb3QtbGF5b3V0LWVycm9yLWJvZHkgc21hbGwge1xcbiAgICBjb2xvcjogIzc1NzU3NTtcXG4gIH1cXG5cIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuY29uc3QgUm9vdExheW91dEVycm9yID0gZnVuY3Rpb24gQnVpbGRFcnJvcihwYXJhbSkge1xuICAgIGxldCB7IG1pc3NpbmdUYWdzIH0gPSBwYXJhbTtcbiAgICBjb25zdCBtZXNzYWdlID0gXCJQbGVhc2UgbWFrZSBzdXJlIHRvIGluY2x1ZGUgdGhlIGZvbGxvd2luZyB0YWdzIGluIHlvdXIgcm9vdCBsYXlvdXQ6IDxodG1sPiwgPGJvZHk+LlxcblxcblwiICsgKFwiTWlzc2luZyByZXF1aXJlZCByb290IGxheW91dCB0YWdcIiArIChtaXNzaW5nVGFncy5sZW5ndGggPT09IDEgPyBcIlwiIDogXCJzXCIpICsgXCI6IFwiKSArIG1pc3NpbmdUYWdzLmpvaW4oXCIsIFwiKTtcbiAgICBjb25zdCBub29wID0gX3JlYWN0LmRlZmF1bHQudXNlQ2FsbGJhY2soKCk9Pnt9LCBbXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX092ZXJsYXkuT3ZlcmxheSwge1xuICAgICAgICBmaXhlZDogdHJ1ZSxcbiAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0RpYWxvZy5EaWFsb2csIHtcbiAgICAgICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IFwibmV4dGpzX19jb250YWluZXJfcm9vdF9sYXlvdXRfZXJyb3JfbGFiZWxcIixcbiAgICAgICAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBcIm5leHRqc19fY29udGFpbmVyX3Jvb3RfbGF5b3V0X2Vycm9yX2Rlc2NcIixcbiAgICAgICAgICAgIG9uQ2xvc2U6IG5vb3AsXG4gICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dDb250ZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfRGlhbG9nLkRpYWxvZ0hlYWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHRqcy1jb250YWluZXItcm9vdC1sYXlvdXQtZXJyb3ItaGVhZGVyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImg0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogXCJuZXh0anNfX2NvbnRhaW5lcl9yb290X2xheW91dF9lcnJvcl9sYWJlbFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIk1pc3NpbmcgcmVxdWlyZWQgdGFnc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX0RpYWxvZy5EaWFsb2dCb2R5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IFwibmV4dGpzLWNvbnRhaW5lci1yb290LWxheW91dC1lcnJvci1ib2R5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX1Rlcm1pbmFsLlRlcm1pbmFsLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG1lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZm9vdGVyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcIm5leHRqc19fY29udGFpbmVyX3Jvb3RfbGF5b3V0X2Vycm9yX2Rlc2NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic21hbGxcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIlRoaXMgZXJyb3IgYW5kIGNhbiBvbmx5IGJlIGRpc21pc3NlZCBieSBwcm92aWRpbmcgYWxsIHJlcXVpcmVkIHRhZ3MuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICB9KVxuICAgIH0pO1xufTtcbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Um9vdExheW91dEVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJvb3RMYXlvdXRFcnJvciIsInN0eWxlcyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfRGlhbG9nIiwiX092ZXJsYXkiLCJfVGVybWluYWwiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIkJ1aWxkRXJyb3IiLCJwYXJhbSIsIm1pc3NpbmdUYWdzIiwibWVzc2FnZSIsImxlbmd0aCIsImpvaW4iLCJub29wIiwiZGVmYXVsdCIsInVzZUNhbGxiYWNrIiwianN4IiwiT3ZlcmxheSIsImZpeGVkIiwiY2hpbGRyZW4iLCJEaWFsb2ciLCJ0eXBlIiwib25DbG9zZSIsImpzeHMiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwiY2xhc3NOYW1lIiwiaWQiLCJEaWFsb2dCb2R5IiwiVGVybWluYWwiLCJjb250ZW50IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js": /*!**********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js ***! \**********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CallStackFrame\", ({\n enumerable: true,\n get: function() {\n return CallStackFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst CallStackFrame = function CallStackFrame(param) {\n let { frame } = param;\n var _frame_originalStackFrame;\n // TODO: ability to expand resolved frames\n // TODO: render error or external indicator\n const f = (_frame_originalStackFrame = frame.originalStackFrame) != null ? _frame_originalStackFrame : frame.sourceStackFrame;\n const hasSource = Boolean(frame.originalCodeFrame);\n const open = (0, _useopenineditor.useOpenInEditor)(hasSource ? {\n file: f.file,\n lineNumber: f.lineNumber,\n column: f.column\n } : undefined);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-call-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n \"data-nextjs-frame-expanded\": Boolean(frame.expanded),\n children: f.methodName\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-has-source\": hasSource ? \"true\" : undefined,\n tabIndex: hasSource ? 10 : undefined,\n role: hasSource ? \"link\" : undefined,\n onClick: open,\n title: hasSource ? \"Click to open in your editor\" : undefined,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: (0, _stackframe.getFrameSource)(f)\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CallStackFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ2FsbFN0YWNrRnJhbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGNBQWNELG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRSxTQUFTLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3ZFLE1BQU1JLGNBQWNKLG1CQUFPQSxDQUFDLHFJQUEyQjtBQUN2RCxNQUFNSyxtQkFBbUJMLG1CQUFPQSxDQUFDLG1KQUFrQztBQUNuRSxNQUFNRixpQkFBaUIsU0FBU0EsZUFBZVEsS0FBSztJQUNoRCxJQUFJLEVBQUVDLEtBQUssRUFBRSxHQUFHRDtJQUNoQixJQUFJRTtJQUNKLDBDQUEwQztJQUMxQywyQ0FBMkM7SUFDM0MsTUFBTUMsSUFBSSxDQUFDRCw0QkFBNEJELE1BQU1HLGtCQUFrQixLQUFLLE9BQU9GLDRCQUE0QkQsTUFBTUksZ0JBQWdCO0lBQzdILE1BQU1DLFlBQVlDLFFBQVFOLE1BQU1PLGlCQUFpQjtJQUNqRCxNQUFNQyxPQUFPLENBQUMsR0FBR1YsaUJBQWlCVyxlQUFlLEVBQUVKLFlBQVk7UUFDM0RLLE1BQU1SLEVBQUVRLElBQUk7UUFDWkMsWUFBWVQsRUFBRVMsVUFBVTtRQUN4QkMsUUFBUVYsRUFBRVUsTUFBTTtJQUNwQixJQUFJQztJQUNKLE9BQXFCLFdBQUgsR0FBSSxJQUFHbkIsWUFBWW9CLElBQUksRUFBRSxPQUFPO1FBQzlDLGdDQUFnQztRQUNoQ0MsVUFBVTtZQUNOLFdBQVcsR0FBSSxJQUFHckIsWUFBWXNCLEdBQUcsRUFBRSxNQUFNO2dCQUNyQyw4QkFBOEJWLFFBQVFOLE1BQU1pQixRQUFRO2dCQUNwREYsVUFBVWIsRUFBRWdCLFVBQVU7WUFDMUI7WUFDQSxXQUFXLEdBQUksSUFBR3hCLFlBQVlvQixJQUFJLEVBQUUsT0FBTztnQkFDdkMsbUJBQW1CVCxZQUFZLFNBQVNRO2dCQUN4Q00sVUFBVWQsWUFBWSxLQUFLUTtnQkFDM0JPLE1BQU1mLFlBQVksU0FBU1E7Z0JBQzNCUSxTQUFTYjtnQkFDVGMsT0FBT2pCLFlBQVksaUNBQWlDUTtnQkFDcERFLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZc0IsR0FBRyxFQUFFLFFBQVE7d0JBQ3ZDRCxVQUFVLENBQUMsR0FBR2xCLFlBQVkwQixjQUFjLEVBQUVyQjtvQkFDOUM7b0JBQ0EsV0FBVyxHQUFJLElBQUdSLFlBQVlvQixJQUFJLEVBQUUsT0FBTzt3QkFDdkNVLE9BQU87d0JBQ1BDLFNBQVM7d0JBQ1RDLE1BQU07d0JBQ05DLFFBQVE7d0JBQ1JDLGFBQWE7d0JBQ2JDLGVBQWU7d0JBQ2ZDLGdCQUFnQjt3QkFDaEJmLFVBQVU7NEJBQ04sV0FBVyxHQUFJLElBQUdyQixZQUFZc0IsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDZSxHQUFHOzRCQUNQOzRCQUNBLFdBQVcsR0FBSSxJQUFHckMsWUFBWXNCLEdBQUcsRUFBRSxZQUFZO2dDQUMzQ2dCLFFBQVE7NEJBQ1o7NEJBQ0EsV0FBVyxHQUFJLElBQUd0QyxZQUFZc0IsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDaUIsSUFBSTtnQ0FDSkMsSUFBSTtnQ0FDSkMsSUFBSTtnQ0FDSkMsSUFBSTs0QkFDUjt5QkFDSDtvQkFDTDtpQkFDSDtZQUNMO1NBQ0g7SUFDTDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9qRCxRQUFRa0QsT0FBTyxLQUFLLGNBQWUsT0FBT2xELFFBQVFrRCxPQUFPLEtBQUssWUFBWWxELFFBQVFrRCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sRCxRQUFRa0QsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtELE9BQU8sRUFBRSxjQUFjO1FBQUVqRCxPQUFPO0lBQUs7SUFDbkVILE9BQU9zRCxNQUFNLENBQUNwRCxRQUFRa0QsT0FBTyxFQUFFbEQ7SUFDL0JxRCxPQUFPckQsT0FBTyxHQUFHQSxRQUFRa0QsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ2FsbFN0YWNrRnJhbWUuanM/NzFiNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNhbGxTdGFja0ZyYW1lXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDYWxsU3RhY2tGcmFtZTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zdGFja2ZyYW1lID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvc3RhY2stZnJhbWVcIik7XG5jb25zdCBfdXNlb3BlbmluZWRpdG9yID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yXCIpO1xuY29uc3QgQ2FsbFN0YWNrRnJhbWUgPSBmdW5jdGlvbiBDYWxsU3RhY2tGcmFtZShwYXJhbSkge1xuICAgIGxldCB7IGZyYW1lIH0gPSBwYXJhbTtcbiAgICB2YXIgX2ZyYW1lX29yaWdpbmFsU3RhY2tGcmFtZTtcbiAgICAvLyBUT0RPOiBhYmlsaXR5IHRvIGV4cGFuZCByZXNvbHZlZCBmcmFtZXNcbiAgICAvLyBUT0RPOiByZW5kZXIgZXJyb3Igb3IgZXh0ZXJuYWwgaW5kaWNhdG9yXG4gICAgY29uc3QgZiA9IChfZnJhbWVfb3JpZ2luYWxTdGFja0ZyYW1lID0gZnJhbWUub3JpZ2luYWxTdGFja0ZyYW1lKSAhPSBudWxsID8gX2ZyYW1lX29yaWdpbmFsU3RhY2tGcmFtZSA6IGZyYW1lLnNvdXJjZVN0YWNrRnJhbWU7XG4gICAgY29uc3QgaGFzU291cmNlID0gQm9vbGVhbihmcmFtZS5vcmlnaW5hbENvZGVGcmFtZSk7XG4gICAgY29uc3Qgb3BlbiA9ICgwLCBfdXNlb3BlbmluZWRpdG9yLnVzZU9wZW5JbkVkaXRvcikoaGFzU291cmNlID8ge1xuICAgICAgICBmaWxlOiBmLmZpbGUsXG4gICAgICAgIGxpbmVOdW1iZXI6IGYubGluZU51bWJlcixcbiAgICAgICAgY29sdW1uOiBmLmNvbHVtblxuICAgIH0gOiB1bmRlZmluZWQpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgIFwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZVwiOiB0cnVlLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgzXCIsIHtcbiAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLWZyYW1lLWV4cGFuZGVkXCI6IEJvb2xlYW4oZnJhbWUuZXhwYW5kZWQpLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBmLm1ldGhvZE5hbWVcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgIFwiZGF0YS1oYXMtc291cmNlXCI6IGhhc1NvdXJjZSA/IFwidHJ1ZVwiIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIHRhYkluZGV4OiBoYXNTb3VyY2UgPyAxMCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICByb2xlOiBoYXNTb3VyY2UgPyBcImxpbmtcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBvbkNsaWNrOiBvcGVuLFxuICAgICAgICAgICAgICAgIHRpdGxlOiBoYXNTb3VyY2UgPyBcIkNsaWNrIHRvIG9wZW4gaW4geW91ciBlZGl0b3JcIiA6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogKDAsIF9zdGFja2ZyYW1lLmdldEZyYW1lU291cmNlKShmKVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZDogXCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBvbHlsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9pbnRzOiBcIjE1IDMgMjEgMyAyMSA5XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgxOiBcIjEwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkxOiBcIjE0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjIxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkyOiBcIjNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q2FsbFN0YWNrRnJhbWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkNhbGxTdGFja0ZyYW1lIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9zdGFja2ZyYW1lIiwiX3VzZW9wZW5pbmVkaXRvciIsInBhcmFtIiwiZnJhbWUiLCJfZnJhbWVfb3JpZ2luYWxTdGFja0ZyYW1lIiwiZiIsIm9yaWdpbmFsU3RhY2tGcmFtZSIsInNvdXJjZVN0YWNrRnJhbWUiLCJoYXNTb3VyY2UiLCJCb29sZWFuIiwib3JpZ2luYWxDb2RlRnJhbWUiLCJvcGVuIiwidXNlT3BlbkluRWRpdG9yIiwiZmlsZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJ1bmRlZmluZWQiLCJqc3hzIiwiY2hpbGRyZW4iLCJqc3giLCJleHBhbmRlZCIsIm1ldGhvZE5hbWUiLCJ0YWJJbmRleCIsInJvbGUiLCJvbkNsaWNrIiwidGl0bGUiLCJnZXRGcmFtZVNvdXJjZSIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImQiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js": /*!******************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js ***! \******************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStackFrameRow\", ({\n enumerable: true,\n get: function() {\n return ComponentStackFrameRow;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nfunction EditorLink(param) {\n let { children, componentStackFrame: { file, column, lineNumber } } = param;\n const open = (0, _useopenineditor.useOpenInEditor)({\n file,\n column,\n lineNumber\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n tabIndex: 10,\n role: \"link\",\n onClick: open,\n title: \"Click to open in your editor\",\n children: [\n children,\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n });\n}\nfunction formatLineNumber(lineNumber, column) {\n if (!column) {\n return lineNumber;\n }\n return lineNumber + \":\" + column;\n}\nfunction LocationLine(param) {\n let { componentStackFrame } = param;\n const { file, lineNumber, column } = componentStackFrame;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n file,\n \" \",\n lineNumber ? \"(\" + formatLineNumber(lineNumber, column) + \")\" : \"\"\n ]\n });\n}\nfunction SourceLocation(param) {\n let { componentStackFrame } = param;\n const { file, canOpenInEditor } = componentStackFrame;\n if (file && canOpenInEditor) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(EditorLink, {\n componentStackFrame: componentStackFrame,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LocationLine, {\n componentStackFrame: componentStackFrame\n })\n })\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LocationLine, {\n componentStackFrame: componentStackFrame\n })\n });\n}\nfunction ComponentStackFrameRow(param) {\n let { componentStackFrame } = param;\n const { component } = componentStackFrame;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-component-stack-frame\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h3\", {\n children: component\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(SourceLocation, {\n componentStackFrame: componentStackFrame\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStackFrameRow.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvQ29tcG9uZW50U3RhY2tGcmFtZVJvdy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMERBQXlEO0lBQ3JESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksbUJBQW1CSixtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDbkUsU0FBU0ssV0FBV0MsS0FBSztJQUNyQixJQUFJLEVBQUVDLFFBQVEsRUFBRUMscUJBQXFCLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxVQUFVLEVBQUUsRUFBRSxHQUFHTDtJQUN0RSxNQUFNTSxPQUFPLENBQUMsR0FBR1IsaUJBQWlCUyxlQUFlLEVBQUU7UUFDL0NKO1FBQ0FDO1FBQ0FDO0lBQ0o7SUFDQSxPQUFxQixXQUFILEdBQUksSUFBR1YsWUFBWWEsSUFBSSxFQUFFLE9BQU87UUFDOUNDLFVBQVU7UUFDVkMsTUFBTTtRQUNOQyxTQUFTTDtRQUNUTSxPQUFPO1FBQ1BYLFVBQVU7WUFDTkE7WUFDQSxXQUFXLEdBQUksSUFBR04sWUFBWWEsSUFBSSxFQUFFLE9BQU87Z0JBQ3ZDSyxPQUFPO2dCQUNQQyxTQUFTO2dCQUNUQyxNQUFNO2dCQUNOQyxRQUFRO2dCQUNSQyxhQUFhO2dCQUNiQyxlQUFlO2dCQUNmQyxnQkFBZ0I7Z0JBQ2hCbEIsVUFBVTtvQkFDTixXQUFXLEdBQUksSUFBR04sWUFBWXlCLEdBQUcsRUFBRSxRQUFRO3dCQUN2Q0MsR0FBRztvQkFDUDtvQkFDQSxXQUFXLEdBQUksSUFBRzFCLFlBQVl5QixHQUFHLEVBQUUsWUFBWTt3QkFDM0NFLFFBQVE7b0JBQ1o7b0JBQ0EsV0FBVyxHQUFJLElBQUczQixZQUFZeUIsR0FBRyxFQUFFLFFBQVE7d0JBQ3ZDRyxJQUFJO3dCQUNKQyxJQUFJO3dCQUNKQyxJQUFJO3dCQUNKQyxJQUFJO29CQUNSO2lCQUNIO1lBQ0w7U0FDSDtJQUNMO0FBQ0o7QUFDQSxTQUFTQyxpQkFBaUJ0QixVQUFVLEVBQUVELE1BQU07SUFDeEMsSUFBSSxDQUFDQSxRQUFRO1FBQ1QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BLGFBQWEsTUFBTUQ7QUFDOUI7QUFDQSxTQUFTd0IsYUFBYTVCLEtBQUs7SUFDdkIsSUFBSSxFQUFFRSxtQkFBbUIsRUFBRSxHQUFHRjtJQUM5QixNQUFNLEVBQUVHLElBQUksRUFBRUUsVUFBVSxFQUFFRCxNQUFNLEVBQUUsR0FBR0Y7SUFDckMsT0FBcUIsV0FBSCxHQUFJLElBQUdQLFlBQVlhLElBQUksRUFBRWIsWUFBWWtDLFFBQVEsRUFBRTtRQUM3RDVCLFVBQVU7WUFDTkU7WUFDQTtZQUNBRSxhQUFhLE1BQU1zQixpQkFBaUJ0QixZQUFZRCxVQUFVLE1BQU07U0FDbkU7SUFDTDtBQUNKO0FBQ0EsU0FBUzBCLGVBQWU5QixLQUFLO0lBQ3pCLElBQUksRUFBRUUsbUJBQW1CLEVBQUUsR0FBR0Y7SUFDOUIsTUFBTSxFQUFFRyxJQUFJLEVBQUU0QixlQUFlLEVBQUUsR0FBRzdCO0lBQ2xDLElBQUlDLFFBQVE0QixpQkFBaUI7UUFDekIsT0FBcUIsV0FBSCxHQUFJLElBQUdwQyxZQUFZeUIsR0FBRyxFQUFFckIsWUFBWTtZQUNsREcscUJBQXFCQTtZQUNyQkQsVUFBd0IsV0FBSCxHQUFJLElBQUdOLFlBQVl5QixHQUFHLEVBQUUsUUFBUTtnQkFDakRuQixVQUF3QixXQUFILEdBQUksSUFBR04sWUFBWXlCLEdBQUcsRUFBRVEsY0FBYztvQkFDdkQxQixxQkFBcUJBO2dCQUN6QjtZQUNKO1FBQ0o7SUFDSjtJQUNBLE9BQXFCLFdBQUgsR0FBSSxJQUFHUCxZQUFZeUIsR0FBRyxFQUFFLE9BQU87UUFDN0NuQixVQUF3QixXQUFILEdBQUksSUFBR04sWUFBWXlCLEdBQUcsRUFBRVEsY0FBYztZQUN2RDFCLHFCQUFxQkE7UUFDekI7SUFDSjtBQUNKO0FBQ0EsU0FBU1YsdUJBQXVCUSxLQUFLO0lBQ2pDLElBQUksRUFBRUUsbUJBQW1CLEVBQUUsR0FBR0Y7SUFDOUIsTUFBTSxFQUFFZ0MsU0FBUyxFQUFFLEdBQUc5QjtJQUN0QixPQUFxQixXQUFILEdBQUksSUFBR1AsWUFBWWEsSUFBSSxFQUFFLE9BQU87UUFDOUMscUNBQXFDO1FBQ3JDUCxVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdOLFlBQVl5QixHQUFHLEVBQUUsTUFBTTtnQkFDckNuQixVQUFVK0I7WUFDZDtZQUNBLFdBQVcsR0FBSSxJQUFHckMsWUFBWXlCLEdBQUcsRUFBRVUsZ0JBQWdCO2dCQUMvQzVCLHFCQUFxQkE7WUFDekI7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2QsUUFBUTZDLE9BQU8sS0FBSyxjQUFlLE9BQU83QyxRQUFRNkMsT0FBTyxLQUFLLFlBQVk3QyxRQUFRNkMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0MsUUFBUTZDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoRCxPQUFPQyxjQUFjLENBQUNDLFFBQVE2QyxPQUFPLEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CZ0QsT0FBT2hELE9BQU8sR0FBR0EsUUFBUTZDLE9BQU87QUFDbEMsRUFFQSxrREFBa0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL0NvbXBvbmVudFN0YWNrRnJhbWVSb3cuanM/Njg4OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNvbXBvbmVudFN0YWNrRnJhbWVSb3dcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENvbXBvbmVudFN0YWNrRnJhbWVSb3c7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfdXNlb3BlbmluZWRpdG9yID0gcmVxdWlyZShcIi4uLy4uL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yXCIpO1xuZnVuY3Rpb24gRWRpdG9yTGluayhwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuLCBjb21wb25lbnRTdGFja0ZyYW1lOiB7IGZpbGUsIGNvbHVtbiwgbGluZU51bWJlciB9IH0gPSBwYXJhbTtcbiAgICBjb25zdCBvcGVuID0gKDAsIF91c2VvcGVuaW5lZGl0b3IudXNlT3BlbkluRWRpdG9yKSh7XG4gICAgICAgIGZpbGUsXG4gICAgICAgIGNvbHVtbixcbiAgICAgICAgbGluZU51bWJlclxuICAgIH0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRpdlwiLCB7XG4gICAgICAgIHRhYkluZGV4OiAxMCxcbiAgICAgICAgcm9sZTogXCJsaW5rXCIsXG4gICAgICAgIG9uQ2xpY2s6IG9wZW4sXG4gICAgICAgIHRpdGxlOiBcIkNsaWNrIHRvIG9wZW4gaW4geW91ciBlZGl0b3JcIixcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGNoaWxkcmVuLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICAgICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgICAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcbiAgICAgICAgICAgICAgICBmaWxsOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGQ6IFwiTTE4IDEzdjZhMiAyIDAgMCAxLTIgMkg1YTIgMiAwIDAgMS0yLTJWOGEyIDIgMCAwIDEgMi0yaDZcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBvbHlsaW5lXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvaW50czogXCIxNSAzIDIxIDMgMjEgOVwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibGluZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB4MTogXCIxMFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeTE6IFwiMTRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHgyOiBcIjIxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5MjogXCIzXCJcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5mdW5jdGlvbiBmb3JtYXRMaW5lTnVtYmVyKGxpbmVOdW1iZXIsIGNvbHVtbikge1xuICAgIGlmICghY29sdW1uKSB7XG4gICAgICAgIHJldHVybiBsaW5lTnVtYmVyO1xuICAgIH1cbiAgICByZXR1cm4gbGluZU51bWJlciArIFwiOlwiICsgY29sdW1uO1xufVxuZnVuY3Rpb24gTG9jYXRpb25MaW5lKHBhcmFtKSB7XG4gICAgbGV0IHsgY29tcG9uZW50U3RhY2tGcmFtZSB9ID0gcGFyYW07XG4gICAgY29uc3QgeyBmaWxlLCBsaW5lTnVtYmVyLCBjb2x1bW4gfSA9IGNvbXBvbmVudFN0YWNrRnJhbWU7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgXCIgXCIsXG4gICAgICAgICAgICBsaW5lTnVtYmVyID8gXCIoXCIgKyBmb3JtYXRMaW5lTnVtYmVyKGxpbmVOdW1iZXIsIGNvbHVtbikgKyBcIilcIiA6IFwiXCJcbiAgICAgICAgXVxuICAgIH0pO1xufVxuZnVuY3Rpb24gU291cmNlTG9jYXRpb24ocGFyYW0pIHtcbiAgICBsZXQgeyBjb21wb25lbnRTdGFja0ZyYW1lIH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGZpbGUsIGNhbk9wZW5JbkVkaXRvciB9ID0gY29tcG9uZW50U3RhY2tGcmFtZTtcbiAgICBpZiAoZmlsZSAmJiBjYW5PcGVuSW5FZGl0b3IpIHtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoRWRpdG9yTGluaywge1xuICAgICAgICAgICAgY29tcG9uZW50U3RhY2tGcmFtZTogY29tcG9uZW50U3RhY2tGcmFtZSxcbiAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3BhblwiLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTG9jYXRpb25MaW5lLCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFN0YWNrRnJhbWU6IGNvbXBvbmVudFN0YWNrRnJhbWVcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTG9jYXRpb25MaW5lLCB7XG4gICAgICAgICAgICBjb21wb25lbnRTdGFja0ZyYW1lOiBjb21wb25lbnRTdGFja0ZyYW1lXG4gICAgICAgIH0pXG4gICAgfSk7XG59XG5mdW5jdGlvbiBDb21wb25lbnRTdGFja0ZyYW1lUm93KHBhcmFtKSB7XG4gICAgbGV0IHsgY29tcG9uZW50U3RhY2tGcmFtZSB9ID0gcGFyYW07XG4gICAgY29uc3QgeyBjb21wb25lbnQgfSA9IGNvbXBvbmVudFN0YWNrRnJhbWU7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZGl2XCIsIHtcbiAgICAgICAgXCJkYXRhLW5leHRqcy1jb21wb25lbnQtc3RhY2stZnJhbWVcIjogdHJ1ZSxcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoM1wiLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IGNvbXBvbmVudFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFNvdXJjZUxvY2F0aW9uLCB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50U3RhY2tGcmFtZTogY29tcG9uZW50U3RhY2tGcmFtZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db21wb25lbnRTdGFja0ZyYW1lUm93LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJDb21wb25lbnRTdGFja0ZyYW1lUm93IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl91c2VvcGVuaW5lZGl0b3IiLCJFZGl0b3JMaW5rIiwicGFyYW0iLCJjaGlsZHJlbiIsImNvbXBvbmVudFN0YWNrRnJhbWUiLCJmaWxlIiwiY29sdW1uIiwibGluZU51bWJlciIsIm9wZW4iLCJ1c2VPcGVuSW5FZGl0b3IiLCJqc3hzIiwidGFiSW5kZXgiLCJyb2xlIiwib25DbGljayIsInRpdGxlIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwianN4IiwiZCIsInBvaW50cyIsIngxIiwieTEiLCJ4MiIsInkyIiwiZm9ybWF0TGluZU51bWJlciIsIkxvY2F0aW9uTGluZSIsIkZyYWdtZW50IiwiU291cmNlTG9jYXRpb24iLCJjYW5PcGVuSW5FZGl0b3IiLCJjb21wb25lbnQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js": /*!*********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js ***! \*********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"FrameworkIcon\", ({\n enumerable: true,\n get: function() {\n return FrameworkIcon;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction FrameworkIcon(param) {\n let { framework } = param;\n if (framework === \"react\") {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"react\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 410 369\",\n fill: \"none\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"5\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M204.995 224.552C226.56 224.552 244.042 207.07 244.042 185.506C244.042 163.941 226.56 146.459 204.995 146.459C183.43 146.459 165.948 163.941 165.948 185.506C165.948 207.07 183.43 224.552 204.995 224.552Z\",\n fill: \"currentColor\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M409.99 184.505C409.99 153.707 381.437 126.667 335.996 108.925C343.342 60.6535 334.19 22.3878 307.492 6.98883C283.649 -6.77511 250.631 -0.0395641 214.512 25.9753C211.316 28.2692 208.143 30.7097 204.97 33.2477C201.822 30.7097 198.65 28.2692 195.477 25.9753C159.359 -0.0395641 126.34 -6.79951 102.497 6.98883C75.8237 22.3878 66.6721 60.6291 74.0422 108.852C28.5529 126.618 0 153.682 0 184.505C0 215.303 28.5528 242.342 73.9934 260.084C66.6477 308.356 75.7993 346.621 102.497 362.02C110.575 366.682 119.727 369 129.684 369C149.085 369 171.61 360.215 195.477 343.034C198.674 340.74 201.847 338.3 205.019 335.762C208.167 338.3 211.34 340.74 214.512 343.034C238.38 360.239 260.905 369 280.306 369C290.263 369 299.415 366.682 307.492 362.02C331.335 348.256 342 316.287 337.534 271.993C337.143 268.089 336.631 264.135 335.996 260.109C381.461 242.367 409.99 215.327 409.99 184.505ZM225.934 41.8136C246.238 27.1955 265.127 19.5814 280.306 19.5814C286.871 19.5814 292.728 20.9968 297.731 23.8765C315.204 33.9798 322.672 62.9475 317.327 102.433C299.756 97.0401 280.306 92.9158 259.392 90.2802C246.872 73.8074 233.597 58.9453 220.003 46.2551C221.98 44.7421 223.957 43.229 225.934 41.8136ZM112.259 23.8765C117.262 20.9968 123.119 19.5814 129.684 19.5814C144.863 19.5814 163.752 27.1711 184.056 41.8136C186.033 43.229 188.01 44.7176 189.986 46.2551C176.393 58.9453 163.142 73.783 150.622 90.2558C129.732 92.8914 110.258 97.0401 92.687 102.409C87.3424 62.9475 94.7857 33.9798 112.259 23.8765ZM19.5233 184.505C19.5233 164.322 40.9014 143.359 77.776 128.253C81.9003 146.141 88.0502 165.054 96.1768 184.456C88.0014 203.881 81.8515 222.819 77.7272 240.732C40.9014 225.626 19.5233 204.687 19.5233 184.505ZM184.056 327.196C154.966 348.134 128.805 354.675 112.259 345.133C94.7857 335.029 87.3181 306.062 92.6626 266.576C110.234 271.969 129.684 276.093 150.598 278.729C163.117 295.202 176.393 310.064 189.986 322.754C188.01 324.292 186.033 325.78 184.056 327.196ZM204.995 310.04C180.591 287.685 157.138 257.815 137.347 223.551C132.051 214.4 121.344 191.396 117 182.489C113.535 190.786 110.112 198.398 107.427 206.5C109.623 210.575 118.092 229.213 120.434 233.288C125.071 241.317 129.928 249.127 134.931 256.692C120.898 254.227 107.915 251.055 96.1035 247.321C102.815 217.011 116.213 182.064 137.347 145.458C142.545 136.453 153.838 116.346 159.5 108C150.568 109.147 143.395 108.767 135 110.5C132.56 114.453 122.777 131.645 120.434 135.721C115.749 143.823 111.454 151.925 107.427 159.978C102.546 146.581 98.8124 133.744 96.1524 121.64C125.755 112.293 162.727 106.411 204.995 106.411C215.562 106.411 237.63 106.197 247.49 106.905C242.048 99.7544 237.38 93.2819 231.694 86.888C227.082 86.7416 209.705 86.888 204.995 86.888C195.672 86.888 186.545 87.2053 177.589 87.7422C186.472 77.1752 195.672 67.5111 204.995 58.9697C229.375 81.3239 252.851 111.195 272.643 145.458C277.841 154.463 289.073 175.426 293.49 184.505C296.98 176.207 300.281 168.64 302.99 160.489C300.793 156.389 291.898 139.747 289.555 135.696C284.918 127.667 280.062 119.858 275.059 112.317C289.092 114.782 302.075 117.954 313.886 121.688C307.175 151.998 293.777 186.945 272.643 223.551C267.445 232.556 252.651 253.178 246.99 261.524C255.922 260.377 265.595 258.663 273.99 256.93C276.43 252.976 287.212 237.364 289.555 233.288C294.216 225.235 298.512 217.182 302.489 209.153C307.224 222.185 310.982 234.997 313.715 247.394C284.138 256.741 247.214 262.598 204.995 262.598C194.428 262.598 169.859 261.208 160 260.5C165.442 267.65 171.304 275.095 176.99 281.489C181.602 281.635 200.285 282.121 204.995 282.121C214.317 282.121 223.444 281.804 232.401 281.267C223.493 291.834 214.317 301.498 204.995 310.04ZM297.731 345.133C281.185 354.699 254.999 348.159 225.934 327.196C223.957 325.78 221.98 324.292 220.003 322.754C233.597 310.064 246.848 295.226 259.367 278.753C280.233 276.118 299.659 271.993 317.205 266.625C317.547 269.089 317.888 271.554 318.132 273.97C321.72 309.649 314.277 335.566 297.731 345.133ZM332.262 240.756C328.065 222.599 321.842 203.686 313.813 184.578C321.988 165.152 328.138 146.215 332.262 128.302C369.088 143.408 390.466 164.322 390.466 184.505C390.466 204.687 369.113 225.626 332.262 240.756Z\",\n fill: \"currentColor\"\n })\n ]\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n \"data-nextjs-call-stack-framework-icon\": \"next\",\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"20\",\n height: \"20\",\n viewBox: \"0 0 180 180\",\n fill: \"none\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"mask\", {\n id: \"mask0_408_139\",\n maskUnits: \"userSpaceOnUse\",\n x: \"0\",\n y: \"0\",\n width: \"180\",\n height: \"180\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"90\",\n fill: \"black\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"g\", {\n mask: \"url(#mask0_408_139)\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"circle\", {\n cx: \"90\",\n cy: \"90\",\n r: \"87\",\n fill: \"black\",\n stroke: \"white\",\n strokeWidth: \"6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M149.508 157.52L69.142 54H54V125.97H66.1136V69.3836L139.999 164.845C143.333 162.614 146.509 160.165 149.508 157.52Z\",\n fill: \"url(#paint0_linear_408_139)\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"rect\", {\n x: \"115\",\n y: \"54\",\n width: \"12\",\n height: \"72\",\n fill: \"url(#paint1_linear_408_139)\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"defs\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint0_linear_408_139\",\n x1: \"109\",\n y1: \"116.5\",\n x2: \"144.5\",\n y2: \"160.5\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"linearGradient\", {\n id: \"paint1_linear_408_139\",\n x1: \"121\",\n y1: \"54\",\n x2: \"120.799\",\n y2: \"106.875\",\n gradientUnits: \"userSpaceOnUse\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n stopColor: \"white\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"stop\", {\n offset: \"1\",\n stopColor: \"white\",\n stopOpacity: \"0\"\n })\n ]\n })\n ]\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=FrameworkIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvRnJhbWV3b3JrSWNvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsU0FBU0YsY0FBY00sS0FBSztJQUN4QixJQUFJLEVBQUVDLFNBQVMsRUFBRSxHQUFHRDtJQUNwQixJQUFJQyxjQUFjLFNBQVM7UUFDdkIsT0FBcUIsV0FBSCxHQUFJLElBQUdKLFlBQVlLLElBQUksRUFBRSxPQUFPO1lBQzlDLHlDQUF5QztZQUN6Q0MsT0FBTztZQUNQQyxPQUFPO1lBQ1BDLFFBQVE7WUFDUkMsU0FBUztZQUNUQyxNQUFNO1lBQ05DLGdCQUFnQjtZQUNoQkMsUUFBUTtZQUNSQyxlQUFlO1lBQ2ZDLGdCQUFnQjtZQUNoQkMsYUFBYTtZQUNiQyxVQUFVO2dCQUNOLFdBQVcsR0FBSSxJQUFHaEIsWUFBWWlCLEdBQUcsRUFBRSxRQUFRO29CQUN2Q0MsR0FBRztvQkFDSFIsTUFBTTtnQkFDVjtnQkFDQSxXQUFXLEdBQUksSUFBR1YsWUFBWWlCLEdBQUcsRUFBRSxRQUFRO29CQUN2Q0MsR0FBRztvQkFDSFIsTUFBTTtnQkFDVjthQUNIO1FBQ0w7SUFDSjtJQUNBLE9BQXFCLFdBQUgsR0FBSSxJQUFHVixZQUFZSyxJQUFJLEVBQUUsT0FBTztRQUM5Qyx5Q0FBeUM7UUFDekNDLE9BQU87UUFDUEMsT0FBTztRQUNQQyxRQUFRO1FBQ1JDLFNBQVM7UUFDVEMsTUFBTTtRQUNOTSxVQUFVO1lBQ04sV0FBVyxHQUFJLElBQUdoQixZQUFZaUIsR0FBRyxFQUFFLFFBQVE7Z0JBQ3ZDRSxJQUFJO2dCQUNKQyxXQUFXO2dCQUNYQyxHQUFHO2dCQUNIQyxHQUFHO2dCQUNIZixPQUFPO2dCQUNQQyxRQUFRO2dCQUNSUSxVQUF3QixXQUFILEdBQUksSUFBR2hCLFlBQVlpQixHQUFHLEVBQUUsVUFBVTtvQkFDbkRNLElBQUk7b0JBQ0pDLElBQUk7b0JBQ0pDLEdBQUc7b0JBQ0hmLE1BQU07Z0JBQ1Y7WUFDSjtZQUNBLFdBQVcsR0FBSSxJQUFHVixZQUFZSyxJQUFJLEVBQUUsS0FBSztnQkFDckNxQixNQUFNO2dCQUNOVixVQUFVO29CQUNOLFdBQVcsR0FBSSxJQUFHaEIsWUFBWWlCLEdBQUcsRUFBRSxVQUFVO3dCQUN6Q00sSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsR0FBRzt3QkFDSGYsTUFBTTt3QkFDTkUsUUFBUTt3QkFDUkcsYUFBYTtvQkFDakI7b0JBQ0EsV0FBVyxHQUFJLElBQUdmLFlBQVlpQixHQUFHLEVBQUUsUUFBUTt3QkFDdkNDLEdBQUc7d0JBQ0hSLE1BQU07b0JBQ1Y7b0JBQ0EsV0FBVyxHQUFJLElBQUdWLFlBQVlpQixHQUFHLEVBQUUsUUFBUTt3QkFDdkNJLEdBQUc7d0JBQ0hDLEdBQUc7d0JBQ0hmLE9BQU87d0JBQ1BDLFFBQVE7d0JBQ1JFLE1BQU07b0JBQ1Y7aUJBQ0g7WUFDTDtZQUNBLFdBQVcsR0FBSSxJQUFHVixZQUFZSyxJQUFJLEVBQUUsUUFBUTtnQkFDeENXLFVBQVU7b0JBQ04sV0FBVyxHQUFJLElBQUdoQixZQUFZSyxJQUFJLEVBQUUsa0JBQWtCO3dCQUNsRGMsSUFBSTt3QkFDSlEsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsZUFBZTt3QkFDZmYsVUFBVTs0QkFDTixXQUFXLEdBQUksSUFBR2hCLFlBQVlpQixHQUFHLEVBQUUsUUFBUTtnQ0FDdkNlLFdBQVc7NEJBQ2Y7NEJBQ0EsV0FBVyxHQUFJLElBQUdoQyxZQUFZaUIsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDZ0IsUUFBUTtnQ0FDUkQsV0FBVztnQ0FDWEUsYUFBYTs0QkFDakI7eUJBQ0g7b0JBQ0w7b0JBQ0EsV0FBVyxHQUFJLElBQUdsQyxZQUFZSyxJQUFJLEVBQUUsa0JBQWtCO3dCQUNsRGMsSUFBSTt3QkFDSlEsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsSUFBSTt3QkFDSkMsZUFBZTt3QkFDZmYsVUFBVTs0QkFDTixXQUFXLEdBQUksSUFBR2hCLFlBQVlpQixHQUFHLEVBQUUsUUFBUTtnQ0FDdkNlLFdBQVc7NEJBQ2Y7NEJBQ0EsV0FBVyxHQUFJLElBQUdoQyxZQUFZaUIsR0FBRyxFQUFFLFFBQVE7Z0NBQ3ZDZ0IsUUFBUTtnQ0FDUkQsV0FBVztnQ0FDWEUsYUFBYTs0QkFDakI7eUJBQ0g7b0JBQ0w7aUJBQ0g7WUFDTDtTQUNIO0lBQ0w7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPekMsUUFBUTBDLE9BQU8sS0FBSyxjQUFlLE9BQU8xQyxRQUFRMEMsT0FBTyxLQUFLLFlBQVkxQyxRQUFRMEMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUMsUUFBUTBDLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks3QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEwQyxPQUFPLEVBQUUsY0FBYztRQUFFekMsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEMsTUFBTSxDQUFDNUMsUUFBUTBDLE9BQU8sRUFBRTFDO0lBQy9CNkMsT0FBTzdDLE9BQU8sR0FBR0EsUUFBUTBDLE9BQU87QUFDbEMsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb250YWluZXIvUnVudGltZUVycm9yL0ZyYW1ld29ya0ljb24uanM/YjgzYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkZyYW1ld29ya0ljb25cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEZyYW1ld29ya0ljb247XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5mdW5jdGlvbiBGcmFtZXdvcmtJY29uKHBhcmFtKSB7XG4gICAgbGV0IHsgZnJhbWV3b3JrIH0gPSBwYXJhbTtcbiAgICBpZiAoZnJhbWV3b3JrID09PSBcInJlYWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3ZnXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZXdvcmstaWNvblwiOiBcInJlYWN0XCIsXG4gICAgICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICAgICAgd2lkdGg6IFwiMjBcIixcbiAgICAgICAgICAgIGhlaWdodDogXCIyMFwiLFxuICAgICAgICAgICAgdmlld0JveDogXCIwIDAgNDEwIDM2OVwiLFxuICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICBzaGFwZVJlbmRlcmluZzogXCJnZW9tZXRyaWNQcmVjaXNpb25cIixcbiAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcbiAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgICBzdHJva2VXaWR0aDogXCI1XCIsXG4gICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgZDogXCJNMjA0Ljk5NSAyMjQuNTUyQzIyNi41NiAyMjQuNTUyIDI0NC4wNDIgMjA3LjA3IDI0NC4wNDIgMTg1LjUwNkMyNDQuMDQyIDE2My45NDEgMjI2LjU2IDE0Ni40NTkgMjA0Ljk5NSAxNDYuNDU5QzE4My40MyAxNDYuNDU5IDE2NS45NDggMTYzLjk0MSAxNjUuOTQ4IDE4NS41MDZDMTY1Ljk0OCAyMDcuMDcgMTgzLjQzIDIyNC41NTIgMjA0Ljk5NSAyMjQuNTUyWlwiLFxuICAgICAgICAgICAgICAgICAgICBmaWxsOiBcImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgICAgICBkOiBcIk00MDkuOTkgMTg0LjUwNUM0MDkuOTkgMTUzLjcwNyAzODEuNDM3IDEyNi42NjcgMzM1Ljk5NiAxMDguOTI1QzM0My4zNDIgNjAuNjUzNSAzMzQuMTkgMjIuMzg3OCAzMDcuNDkyIDYuOTg4ODNDMjgzLjY0OSAtNi43NzUxMSAyNTAuNjMxIC0wLjAzOTU2NDEgMjE0LjUxMiAyNS45NzUzQzIxMS4zMTYgMjguMjY5MiAyMDguMTQzIDMwLjcwOTcgMjA0Ljk3IDMzLjI0NzdDMjAxLjgyMiAzMC43MDk3IDE5OC42NSAyOC4yNjkyIDE5NS40NzcgMjUuOTc1M0MxNTkuMzU5IC0wLjAzOTU2NDEgMTI2LjM0IC02Ljc5OTUxIDEwMi40OTcgNi45ODg4M0M3NS44MjM3IDIyLjM4NzggNjYuNjcyMSA2MC42MjkxIDc0LjA0MjIgMTA4Ljg1MkMyOC41NTI5IDEyNi42MTggMCAxNTMuNjgyIDAgMTg0LjUwNUMwIDIxNS4zMDMgMjguNTUyOCAyNDIuMzQyIDczLjk5MzQgMjYwLjA4NEM2Ni42NDc3IDMwOC4zNTYgNzUuNzk5MyAzNDYuNjIxIDEwMi40OTcgMzYyLjAyQzExMC41NzUgMzY2LjY4MiAxMTkuNzI3IDM2OSAxMjkuNjg0IDM2OUMxNDkuMDg1IDM2OSAxNzEuNjEgMzYwLjIxNSAxOTUuNDc3IDM0My4wMzRDMTk4LjY3NCAzNDAuNzQgMjAxLjg0NyAzMzguMyAyMDUuMDE5IDMzNS43NjJDMjA4LjE2NyAzMzguMyAyMTEuMzQgMzQwLjc0IDIxNC41MTIgMzQzLjAzNEMyMzguMzggMzYwLjIzOSAyNjAuOTA1IDM2OSAyODAuMzA2IDM2OUMyOTAuMjYzIDM2OSAyOTkuNDE1IDM2Ni42ODIgMzA3LjQ5MiAzNjIuMDJDMzMxLjMzNSAzNDguMjU2IDM0MiAzMTYuMjg3IDMzNy41MzQgMjcxLjk5M0MzMzcuMTQzIDI2OC4wODkgMzM2LjYzMSAyNjQuMTM1IDMzNS45OTYgMjYwLjEwOUMzODEuNDYxIDI0Mi4zNjcgNDA5Ljk5IDIxNS4zMjcgNDA5Ljk5IDE4NC41MDVaTTIyNS45MzQgNDEuODEzNkMyNDYuMjM4IDI3LjE5NTUgMjY1LjEyNyAxOS41ODE0IDI4MC4zMDYgMTkuNTgxNEMyODYuODcxIDE5LjU4MTQgMjkyLjcyOCAyMC45OTY4IDI5Ny43MzEgMjMuODc2NUMzMTUuMjA0IDMzLjk3OTggMzIyLjY3MiA2Mi45NDc1IDMxNy4zMjcgMTAyLjQzM0MyOTkuNzU2IDk3LjA0MDEgMjgwLjMwNiA5Mi45MTU4IDI1OS4zOTIgOTAuMjgwMkMyNDYuODcyIDczLjgwNzQgMjMzLjU5NyA1OC45NDUzIDIyMC4wMDMgNDYuMjU1MUMyMjEuOTggNDQuNzQyMSAyMjMuOTU3IDQzLjIyOSAyMjUuOTM0IDQxLjgxMzZaTTExMi4yNTkgMjMuODc2NUMxMTcuMjYyIDIwLjk5NjggMTIzLjExOSAxOS41ODE0IDEyOS42ODQgMTkuNTgxNEMxNDQuODYzIDE5LjU4MTQgMTYzLjc1MiAyNy4xNzExIDE4NC4wNTYgNDEuODEzNkMxODYuMDMzIDQzLjIyOSAxODguMDEgNDQuNzE3NiAxODkuOTg2IDQ2LjI1NTFDMTc2LjM5MyA1OC45NDUzIDE2My4xNDIgNzMuNzgzIDE1MC42MjIgOTAuMjU1OEMxMjkuNzMyIDkyLjg5MTQgMTEwLjI1OCA5Ny4wNDAxIDkyLjY4NyAxMDIuNDA5Qzg3LjM0MjQgNjIuOTQ3NSA5NC43ODU3IDMzLjk3OTggMTEyLjI1OSAyMy44NzY1Wk0xOS41MjMzIDE4NC41MDVDMTkuNTIzMyAxNjQuMzIyIDQwLjkwMTQgMTQzLjM1OSA3Ny43NzYgMTI4LjI1M0M4MS45MDAzIDE0Ni4xNDEgODguMDUwMiAxNjUuMDU0IDk2LjE3NjggMTg0LjQ1NkM4OC4wMDE0IDIwMy44ODEgODEuODUxNSAyMjIuODE5IDc3LjcyNzIgMjQwLjczMkM0MC45MDE0IDIyNS42MjYgMTkuNTIzMyAyMDQuNjg3IDE5LjUyMzMgMTg0LjUwNVpNMTg0LjA1NiAzMjcuMTk2QzE1NC45NjYgMzQ4LjEzNCAxMjguODA1IDM1NC42NzUgMTEyLjI1OSAzNDUuMTMzQzk0Ljc4NTcgMzM1LjAyOSA4Ny4zMTgxIDMwNi4wNjIgOTIuNjYyNiAyNjYuNTc2QzExMC4yMzQgMjcxLjk2OSAxMjkuNjg0IDI3Ni4wOTMgMTUwLjU5OCAyNzguNzI5QzE2My4xMTcgMjk1LjIwMiAxNzYuMzkzIDMxMC4wNjQgMTg5Ljk4NiAzMjIuNzU0QzE4OC4wMSAzMjQuMjkyIDE4Ni4wMzMgMzI1Ljc4IDE4NC4wNTYgMzI3LjE5NlpNMjA0Ljk5NSAzMTAuMDRDMTgwLjU5MSAyODcuNjg1IDE1Ny4xMzggMjU3LjgxNSAxMzcuMzQ3IDIyMy41NTFDMTMyLjA1MSAyMTQuNCAxMjEuMzQ0IDE5MS4zOTYgMTE3IDE4Mi40ODlDMTEzLjUzNSAxOTAuNzg2IDExMC4xMTIgMTk4LjM5OCAxMDcuNDI3IDIwNi41QzEwOS42MjMgMjEwLjU3NSAxMTguMDkyIDIyOS4yMTMgMTIwLjQzNCAyMzMuMjg4QzEyNS4wNzEgMjQxLjMxNyAxMjkuOTI4IDI0OS4xMjcgMTM0LjkzMSAyNTYuNjkyQzEyMC44OTggMjU0LjIyNyAxMDcuOTE1IDI1MS4wNTUgOTYuMTAzNSAyNDcuMzIxQzEwMi44MTUgMjE3LjAxMSAxMTYuMjEzIDE4Mi4wNjQgMTM3LjM0NyAxNDUuNDU4QzE0Mi41NDUgMTM2LjQ1MyAxNTMuODM4IDExNi4zNDYgMTU5LjUgMTA4QzE1MC41NjggMTA5LjE0NyAxNDMuMzk1IDEwOC43NjcgMTM1IDExMC41QzEzMi41NiAxMTQuNDUzIDEyMi43NzcgMTMxLjY0NSAxMjAuNDM0IDEzNS43MjFDMTE1Ljc0OSAxNDMuODIzIDExMS40NTQgMTUxLjkyNSAxMDcuNDI3IDE1OS45NzhDMTAyLjU0NiAxNDYuNTgxIDk4LjgxMjQgMTMzLjc0NCA5Ni4xNTI0IDEyMS42NEMxMjUuNzU1IDExMi4yOTMgMTYyLjcyNyAxMDYuNDExIDIwNC45OTUgMTA2LjQxMUMyMTUuNTYyIDEwNi40MTEgMjM3LjYzIDEwNi4xOTcgMjQ3LjQ5IDEwNi45MDVDMjQyLjA0OCA5OS43NTQ0IDIzNy4zOCA5My4yODE5IDIzMS42OTQgODYuODg4QzIyNy4wODIgODYuNzQxNiAyMDkuNzA1IDg2Ljg4OCAyMDQuOTk1IDg2Ljg4OEMxOTUuNjcyIDg2Ljg4OCAxODYuNTQ1IDg3LjIwNTMgMTc3LjU4OSA4Ny43NDIyQzE4Ni40NzIgNzcuMTc1MiAxOTUuNjcyIDY3LjUxMTEgMjA0Ljk5NSA1OC45Njk3QzIyOS4zNzUgODEuMzIzOSAyNTIuODUxIDExMS4xOTUgMjcyLjY0MyAxNDUuNDU4QzI3Ny44NDEgMTU0LjQ2MyAyODkuMDczIDE3NS40MjYgMjkzLjQ5IDE4NC41MDVDMjk2Ljk4IDE3Ni4yMDcgMzAwLjI4MSAxNjguNjQgMzAyLjk5IDE2MC40ODlDMzAwLjc5MyAxNTYuMzg5IDI5MS44OTggMTM5Ljc0NyAyODkuNTU1IDEzNS42OTZDMjg0LjkxOCAxMjcuNjY3IDI4MC4wNjIgMTE5Ljg1OCAyNzUuMDU5IDExMi4zMTdDMjg5LjA5MiAxMTQuNzgyIDMwMi4wNzUgMTE3Ljk1NCAzMTMuODg2IDEyMS42ODhDMzA3LjE3NSAxNTEuOTk4IDI5My43NzcgMTg2Ljk0NSAyNzIuNjQzIDIyMy41NTFDMjY3LjQ0NSAyMzIuNTU2IDI1Mi42NTEgMjUzLjE3OCAyNDYuOTkgMjYxLjUyNEMyNTUuOTIyIDI2MC4zNzcgMjY1LjU5NSAyNTguNjYzIDI3My45OSAyNTYuOTNDMjc2LjQzIDI1Mi45NzYgMjg3LjIxMiAyMzcuMzY0IDI4OS41NTUgMjMzLjI4OEMyOTQuMjE2IDIyNS4yMzUgMjk4LjUxMiAyMTcuMTgyIDMwMi40ODkgMjA5LjE1M0MzMDcuMjI0IDIyMi4xODUgMzEwLjk4MiAyMzQuOTk3IDMxMy43MTUgMjQ3LjM5NEMyODQuMTM4IDI1Ni43NDEgMjQ3LjIxNCAyNjIuNTk4IDIwNC45OTUgMjYyLjU5OEMxOTQuNDI4IDI2Mi41OTggMTY5Ljg1OSAyNjEuMjA4IDE2MCAyNjAuNUMxNjUuNDQyIDI2Ny42NSAxNzEuMzA0IDI3NS4wOTUgMTc2Ljk5IDI4MS40ODlDMTgxLjYwMiAyODEuNjM1IDIwMC4yODUgMjgyLjEyMSAyMDQuOTk1IDI4Mi4xMjFDMjE0LjMxNyAyODIuMTIxIDIyMy40NDQgMjgxLjgwNCAyMzIuNDAxIDI4MS4yNjdDMjIzLjQ5MyAyOTEuODM0IDIxNC4zMTcgMzAxLjQ5OCAyMDQuOTk1IDMxMC4wNFpNMjk3LjczMSAzNDUuMTMzQzI4MS4xODUgMzU0LjY5OSAyNTQuOTk5IDM0OC4xNTkgMjI1LjkzNCAzMjcuMTk2QzIyMy45NTcgMzI1Ljc4IDIyMS45OCAzMjQuMjkyIDIyMC4wMDMgMzIyLjc1NEMyMzMuNTk3IDMxMC4wNjQgMjQ2Ljg0OCAyOTUuMjI2IDI1OS4zNjcgMjc4Ljc1M0MyODAuMjMzIDI3Ni4xMTggMjk5LjY1OSAyNzEuOTkzIDMxNy4yMDUgMjY2LjYyNUMzMTcuNTQ3IDI2OS4wODkgMzE3Ljg4OCAyNzEuNTU0IDMxOC4xMzIgMjczLjk3QzMyMS43MiAzMDkuNjQ5IDMxNC4yNzcgMzM1LjU2NiAyOTcuNzMxIDM0NS4xMzNaTTMzMi4yNjIgMjQwLjc1NkMzMjguMDY1IDIyMi41OTkgMzIxLjg0MiAyMDMuNjg2IDMxMy44MTMgMTg0LjU3OEMzMjEuOTg4IDE2NS4xNTIgMzI4LjEzOCAxNDYuMjE1IDMzMi4yNjIgMTI4LjMwMkMzNjkuMDg4IDE0My40MDggMzkwLjQ2NiAxNjQuMzIyIDM5MC40NjYgMTg0LjUwNUMzOTAuNDY2IDIwNC42ODcgMzY5LjExMyAyMjUuNjI2IDMzMi4yNjIgMjQwLjc1NlpcIixcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJzdmdcIiwge1xuICAgICAgICBcImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWV3b3JrLWljb25cIjogXCJuZXh0XCIsXG4gICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXG4gICAgICAgIHdpZHRoOiBcIjIwXCIsXG4gICAgICAgIGhlaWdodDogXCIyMFwiLFxuICAgICAgICB2aWV3Qm94OiBcIjAgMCAxODAgMTgwXCIsXG4gICAgICAgIGZpbGw6IFwibm9uZVwiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcIm1hc2tcIiwge1xuICAgICAgICAgICAgICAgIGlkOiBcIm1hc2swXzQwOF8xMzlcIixcbiAgICAgICAgICAgICAgICBtYXNrVW5pdHM6IFwidXNlclNwYWNlT25Vc2VcIixcbiAgICAgICAgICAgICAgICB4OiBcIjBcIixcbiAgICAgICAgICAgICAgICB5OiBcIjBcIixcbiAgICAgICAgICAgICAgICB3aWR0aDogXCIxODBcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMTgwXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJjaXJjbGVcIiwge1xuICAgICAgICAgICAgICAgICAgICBjeDogXCI5MFwiLFxuICAgICAgICAgICAgICAgICAgICBjeTogXCI5MFwiLFxuICAgICAgICAgICAgICAgICAgICByOiBcIjkwXCIsXG4gICAgICAgICAgICAgICAgICAgIGZpbGw6IFwiYmxhY2tcIlxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiZ1wiLCB7XG4gICAgICAgICAgICAgICAgbWFzazogXCJ1cmwoI21hc2swXzQwOF8xMzkpXCIsXG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImNpcmNsZVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjeDogXCI5MFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY3k6IFwiOTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHI6IFwiODdcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IFwiYmxhY2tcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZTogXCJ3aGl0ZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiNlwiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwicGF0aFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkOiBcIk0xNDkuNTA4IDE1Ny41Mkw2OS4xNDIgNTRINTRWMTI1Ljk3SDY2LjExMzZWNjkuMzgzNkwxMzkuOTk5IDE2NC44NDVDMTQzLjMzMyAxNjIuNjE0IDE0Ni41MDkgMTYwLjE2NSAxNDkuNTA4IDE1Ny41MlpcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw6IFwidXJsKCNwYWludDBfbGluZWFyXzQwOF8xMzkpXCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJyZWN0XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHg6IFwiMTE1XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5OiBcIjU0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjcyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsOiBcInVybCgjcGFpbnQxX2xpbmVhcl80MDhfMTM5KVwiXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImRlZnNcIiwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwibGluZWFyR3JhZGllbnRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IFwicGFpbnQwX2xpbmVhcl80MDhfMTM5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB4MTogXCIxMDlcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIHkxOiBcIjExNi41XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB4MjogXCIxNDQuNVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeTI6IFwiMTYwLjVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyYWRpZW50VW5pdHM6IFwidXNlclNwYWNlT25Vc2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0b3BcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wQ29sb3I6IFwid2hpdGVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdG9wXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBcIjFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcENvbG9yOiBcIndoaXRlXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3BPcGFjaXR5OiBcIjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImxpbmVhckdyYWRpZW50XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBcInBhaW50MV9saW5lYXJfNDA4XzEzOVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDE6IFwiMTIxXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB5MTogXCI1NFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeDI6IFwiMTIwLjc5OVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgeTI6IFwiMTA2Ljg3NVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ3JhZGllbnRVbml0czogXCJ1c2VyU3BhY2VPblVzZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3RvcFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0b3BDb2xvcjogXCJ3aGl0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0b3BcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IFwiMVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9wQ29sb3I6IFwid2hpdGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcE9wYWNpdHk6IFwiMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUZyYW1ld29ya0ljb24uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkZyYW1ld29ya0ljb24iLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwicGFyYW0iLCJmcmFtZXdvcmsiLCJqc3hzIiwieG1sbnMiLCJ3aWR0aCIsImhlaWdodCIsInZpZXdCb3giLCJmaWxsIiwic2hhcGVSZW5kZXJpbmciLCJzdHJva2UiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJzdHJva2VXaWR0aCIsImNoaWxkcmVuIiwianN4IiwiZCIsImlkIiwibWFza1VuaXRzIiwieCIsInkiLCJjeCIsImN5IiwiciIsIm1hc2siLCJ4MSIsInkxIiwieDIiLCJ5MiIsImdyYWRpZW50VW5pdHMiLCJzdG9wQ29sb3IiLCJvZmZzZXQiLCJzdG9wT3BhY2l0eSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js ***! \**************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"GroupedStackFrames\", ({\n enumerable: true,\n get: function() {\n return GroupedStackFrames;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _FrameworkIcon = __webpack_require__(/*! ./FrameworkIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/FrameworkIcon.js\");\nfunction FrameworkGroup(param) {\n let { framework, stackFrames, all } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"details\", {\n \"data-nextjs-collapsed-call-stack-details\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"summary\", {\n tabIndex: 10,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"svg\", {\n \"data-nextjs-call-stack-chevron-icon\": true,\n fill: \"none\",\n height: \"20\",\n width: \"20\",\n shapeRendering: \"geometricPrecision\",\n stroke: \"currentColor\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n strokeWidth: \"2\",\n viewBox: \"0 0 24 24\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M9 18l6-6-6-6\"\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_FrameworkIcon.FrameworkIcon, {\n framework: framework\n }),\n framework === \"react\" ? \"React\" : \"Next.js\"\n ]\n }),\n stackFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + index + \"-\" + all))\n ]\n })\n });\n}\nfunction GroupedStackFrames(param) {\n let { groupedStackFrames, all } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: groupedStackFrames.map((stackFramesGroup, groupIndex)=>{\n // Collapse React and Next.js frames\n if (stackFramesGroup.framework) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(FrameworkGroup, {\n framework: stackFramesGroup.framework,\n stackFrames: stackFramesGroup.stackFrames,\n all: all\n }, \"call-stack-framework-group-\" + groupIndex + \"-\" + all);\n }\n return stackFramesGroup.stackFrames.map((frame, frameIndex)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"call-stack-\" + groupIndex + \"-\" + frameIndex + \"-\" + all));\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=GroupedStackFrames.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvR3JvdXBlZFN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxjQUFjQyxtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUMsa0JBQWtCRCxtQkFBT0EsQ0FBQyw4SUFBa0I7QUFDbEQsTUFBTUUsaUJBQWlCRixtQkFBT0EsQ0FBQyw0SUFBaUI7QUFDaEQsU0FBU0csZUFBZUMsS0FBSztJQUN6QixJQUFJLEVBQUVDLFNBQVMsRUFBRUMsV0FBVyxFQUFFQyxHQUFHLEVBQUUsR0FBR0g7SUFDdEMsT0FBcUIsV0FBSCxHQUFJLElBQUdMLFlBQVlTLEdBQUcsRUFBRVQsWUFBWVUsUUFBUSxFQUFFO1FBQzVEQyxVQUF3QixXQUFILEdBQUksSUFBR1gsWUFBWVksSUFBSSxFQUFFLFdBQVc7WUFDckQsNENBQTRDO1lBQzVDRCxVQUFVO2dCQUNOLFdBQVcsR0FBSSxJQUFHWCxZQUFZWSxJQUFJLEVBQUUsV0FBVztvQkFDM0NDLFVBQVU7b0JBQ1ZGLFVBQVU7d0JBQ04sV0FBVyxHQUFJLElBQUdYLFlBQVlTLEdBQUcsRUFBRSxPQUFPOzRCQUN0Qyx1Q0FBdUM7NEJBQ3ZDSyxNQUFNOzRCQUNOQyxRQUFROzRCQUNSQyxPQUFPOzRCQUNQQyxnQkFBZ0I7NEJBQ2hCQyxRQUFROzRCQUNSQyxlQUFlOzRCQUNmQyxnQkFBZ0I7NEJBQ2hCQyxhQUFhOzRCQUNiQyxTQUFTOzRCQUNUWCxVQUF3QixXQUFILEdBQUksSUFBR1gsWUFBWVMsR0FBRyxFQUFFLFFBQVE7Z0NBQ2pEYyxHQUFHOzRCQUNQO3dCQUNKO3dCQUNBLFdBQVcsR0FBSSxJQUFHdkIsWUFBWVMsR0FBRyxFQUFFTixlQUFlcUIsYUFBYSxFQUFFOzRCQUM3RGxCLFdBQVdBO3dCQUNmO3dCQUNBQSxjQUFjLFVBQVUsVUFBVTtxQkFDckM7Z0JBQ0w7Z0JBQ0FDLFlBQVlrQixHQUFHLENBQUMsQ0FBQ0MsT0FBT0MsUUFBc0IsV0FBSCxHQUFJLElBQUczQixZQUFZUyxHQUFHLEVBQUVQLGdCQUFnQjBCLGNBQWMsRUFBRTt3QkFDM0ZGLE9BQU9BO29CQUNYLEdBQUcsZ0JBQWdCQyxRQUFRLE1BQU1uQjthQUN4QztRQUNMO0lBQ0o7QUFDSjtBQUNBLFNBQVNULG1CQUFtQk0sS0FBSztJQUM3QixJQUFJLEVBQUV3QixrQkFBa0IsRUFBRXJCLEdBQUcsRUFBRSxHQUFHSDtJQUNsQyxPQUFxQixXQUFILEdBQUksSUFBR0wsWUFBWVMsR0FBRyxFQUFFVCxZQUFZVSxRQUFRLEVBQUU7UUFDNURDLFVBQVVrQixtQkFBbUJKLEdBQUcsQ0FBQyxDQUFDSyxrQkFBa0JDO1lBQ2hELG9DQUFvQztZQUNwQyxJQUFJRCxpQkFBaUJ4QixTQUFTLEVBQUU7Z0JBQzVCLE9BQXFCLFdBQUgsR0FBSSxJQUFHTixZQUFZUyxHQUFHLEVBQUVMLGdCQUFnQjtvQkFDdERFLFdBQVd3QixpQkFBaUJ4QixTQUFTO29CQUNyQ0MsYUFBYXVCLGlCQUFpQnZCLFdBQVc7b0JBQ3pDQyxLQUFLQTtnQkFDVCxHQUFHLGdDQUFnQ3VCLGFBQWEsTUFBTXZCO1lBQzFEO1lBQ0EsT0FDQXNCLGlCQUFpQnZCLFdBQVcsQ0FBQ2tCLEdBQUcsQ0FBQyxDQUFDQyxPQUFPTSxhQUEyQixXQUFILEdBQUksSUFBR2hDLFlBQVlTLEdBQUcsRUFBRVAsZ0JBQWdCMEIsY0FBYyxFQUFFO29CQUNqSEYsT0FBT0E7Z0JBQ1gsR0FBRyxnQkFBZ0JLLGFBQWEsTUFBTUMsYUFBYSxNQUFNeEI7UUFDakU7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9iLFFBQVFzQyxPQUFPLEtBQUssY0FBZSxPQUFPdEMsUUFBUXNDLE9BQU8sS0FBSyxZQUFZdEMsUUFBUXNDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RDLFFBQVFzQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0MsT0FBTyxFQUFFLGNBQWM7UUFBRXJDLE9BQU87SUFBSztJQUNuRUgsT0FBTzBDLE1BQU0sQ0FBQ3hDLFFBQVFzQyxPQUFPLEVBQUV0QztJQUMvQnlDLE9BQU96QyxPQUFPLEdBQUdBLFFBQVFzQyxPQUFPO0FBQ2xDLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29udGFpbmVyL1J1bnRpbWVFcnJvci9Hcm91cGVkU3RhY2tGcmFtZXMuanM/OWE5OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkdyb3VwZWRTdGFja0ZyYW1lc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR3JvdXBlZFN0YWNrRnJhbWVzO1xuICAgIH1cbn0pO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfQ2FsbFN0YWNrRnJhbWUgPSByZXF1aXJlKFwiLi9DYWxsU3RhY2tGcmFtZVwiKTtcbmNvbnN0IF9GcmFtZXdvcmtJY29uID0gcmVxdWlyZShcIi4vRnJhbWV3b3JrSWNvblwiKTtcbmZ1bmN0aW9uIEZyYW1ld29ya0dyb3VwKHBhcmFtKSB7XG4gICAgbGV0IHsgZnJhbWV3b3JrLCBzdGFja0ZyYW1lcywgYWxsIH0gPSBwYXJhbTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkZXRhaWxzXCIsIHtcbiAgICAgICAgICAgIFwiZGF0YS1uZXh0anMtY29sbGFwc2VkLWNhbGwtc3RhY2stZGV0YWlsc1wiOiB0cnVlLFxuICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcInN1bW1hcnlcIiwge1xuICAgICAgICAgICAgICAgICAgICB0YWJJbmRleDogMTAsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3ZnXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImRhdGEtbmV4dGpzLWNhbGwtc3RhY2stY2hldnJvbi1pY29uXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbDogXCJub25lXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBcIjIwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IFwiMjBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaGFwZVJlbmRlcmluZzogXCJnZW9tZXRyaWNQcmVjaXNpb25cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwYXRoXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZDogXCJNOSAxOGw2LTYtNi02XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9GcmFtZXdvcmtJY29uLkZyYW1ld29ya0ljb24sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcms6IGZyYW1ld29ya1xuICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICBmcmFtZXdvcmsgPT09IFwicmVhY3RcIiA/IFwiUmVhY3RcIiA6IFwiTmV4dC5qc1wiXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBzdGFja0ZyYW1lcy5tYXAoKGZyYW1lLCBpbmRleCk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0NhbGxTdGFja0ZyYW1lLkNhbGxTdGFja0ZyYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmcmFtZTogZnJhbWVcbiAgICAgICAgICAgICAgICAgICAgfSwgXCJjYWxsLXN0YWNrLVwiICsgaW5kZXggKyBcIi1cIiArIGFsbCkpXG4gICAgICAgICAgICBdXG4gICAgICAgIH0pXG4gICAgfSk7XG59XG5mdW5jdGlvbiBHcm91cGVkU3RhY2tGcmFtZXMocGFyYW0pIHtcbiAgICBsZXQgeyBncm91cGVkU3RhY2tGcmFtZXMsIGFsbCB9ID0gcGFyYW07XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGdyb3VwZWRTdGFja0ZyYW1lcy5tYXAoKHN0YWNrRnJhbWVzR3JvdXAsIGdyb3VwSW5kZXgpPT57XG4gICAgICAgICAgICAvLyBDb2xsYXBzZSBSZWFjdCBhbmQgTmV4dC5qcyBmcmFtZXNcbiAgICAgICAgICAgIGlmIChzdGFja0ZyYW1lc0dyb3VwLmZyYW1ld29yaykge1xuICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEZyYW1ld29ya0dyb3VwLCB7XG4gICAgICAgICAgICAgICAgICAgIGZyYW1ld29yazogc3RhY2tGcmFtZXNHcm91cC5mcmFtZXdvcmssXG4gICAgICAgICAgICAgICAgICAgIHN0YWNrRnJhbWVzOiBzdGFja0ZyYW1lc0dyb3VwLnN0YWNrRnJhbWVzLFxuICAgICAgICAgICAgICAgICAgICBhbGw6IGFsbFxuICAgICAgICAgICAgICAgIH0sIFwiY2FsbC1zdGFjay1mcmFtZXdvcmstZ3JvdXAtXCIgKyBncm91cEluZGV4ICsgXCItXCIgKyBhbGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuKC8vIERvbid0IGdyb3VwIG5vbiBSZWFjdCBhbmQgTmV4dC5qcyBmcmFtZXNcbiAgICAgICAgICAgIHN0YWNrRnJhbWVzR3JvdXAuc3RhY2tGcmFtZXMubWFwKChmcmFtZSwgZnJhbWVJbmRleCk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0NhbGxTdGFja0ZyYW1lLkNhbGxTdGFja0ZyYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgIGZyYW1lOiBmcmFtZVxuICAgICAgICAgICAgICAgIH0sIFwiY2FsbC1zdGFjay1cIiArIGdyb3VwSW5kZXggKyBcIi1cIiArIGZyYW1lSW5kZXggKyBcIi1cIiArIGFsbCkpKTtcbiAgICAgICAgfSlcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9R3JvdXBlZFN0YWNrRnJhbWVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJHcm91cGVkU3RhY2tGcmFtZXMiLCJfanN4cnVudGltZSIsInJlcXVpcmUiLCJfQ2FsbFN0YWNrRnJhbWUiLCJfRnJhbWV3b3JrSWNvbiIsIkZyYW1ld29ya0dyb3VwIiwicGFyYW0iLCJmcmFtZXdvcmsiLCJzdGFja0ZyYW1lcyIsImFsbCIsImpzeCIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJqc3hzIiwidGFiSW5kZXgiLCJmaWxsIiwiaGVpZ2h0Iiwid2lkdGgiLCJzaGFwZVJlbmRlcmluZyIsInN0cm9rZSIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInN0cm9rZVdpZHRoIiwidmlld0JveCIsImQiLCJGcmFtZXdvcmtJY29uIiwibWFwIiwiZnJhbWUiLCJpbmRleCIsIkNhbGxTdGFja0ZyYW1lIiwiZ3JvdXBlZFN0YWNrRnJhbWVzIiwic3RhY2tGcmFtZXNHcm91cCIsImdyb3VwSW5kZXgiLCJmcmFtZUluZGV4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n styles: function() {\n return styles;\n },\n RuntimeError: function() {\n return RuntimeError;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CodeFrame = __webpack_require__(/*! ../../components/CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nconst _groupstackframesbyframework = __webpack_require__(/*! ../../helpers/group-stack-frames-by-framework */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\");\nconst _CallStackFrame = __webpack_require__(/*! ./CallStackFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/CallStackFrame.js\");\nconst _GroupedStackFrames = __webpack_require__(/*! ./GroupedStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/GroupedStackFrames.js\");\nconst _ComponentStackFrameRow = __webpack_require__(/*! ./ComponentStackFrameRow */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/ComponentStackFrameRow.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n button[data-nextjs-data-runtime-error-collapsed-action] {\\n background: none;\\n border: none;\\n padding: 0;\\n font-size: var(--size-font-small);\\n line-height: var(--size-font-bigger);\\n color: var(--color-accents-3);\\n }\\n\\n [data-nextjs-call-stack-frame]:not(:last-child),\\n [data-nextjs-component-stack-frame]:not(:last-child) {\\n margin-bottom: var(--size-gap-double);\\n }\\n\\n [data-nextjs-call-stack-frame] > h3,\\n [data-nextjs-component-stack-frame] > h3 {\\n margin-top: 0;\\n margin-bottom: var(--size-gap);\\n font-family: var(--font-stack-monospace);\\n font-size: var(--size-font);\\n color: #222;\\n }\\n [data-nextjs-call-stack-frame] > h3[data-nextjs-frame-expanded='false'] {\\n color: #666;\\n }\\n [data-nextjs-call-stack-frame] > div,\\n [data-nextjs-component-stack-frame] > div {\\n display: flex;\\n align-items: center;\\n padding-left: calc(var(--size-gap) + var(--size-gap-half));\\n font-size: var(--size-font-small);\\n color: #999;\\n }\\n [data-nextjs-call-stack-frame] > div > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n width: auto;\\n height: var(--size-font-small);\\n margin-left: var(--size-gap);\\n flex-shrink: 0;\\n\\n display: none;\\n }\\n\\n [data-nextjs-call-stack-frame] > div[data-has-source],\\n [data-nextjs-component-stack-frame] > [role='link'] {\\n cursor: pointer;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source]:hover,\\n [data-nextjs-component-stack-frame] > [role='link']:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-call-stack-frame] > div[data-has-source] > svg,\\n [data-nextjs-component-stack-frame] > [role='link'] > svg {\\n display: unset;\\n }\\n\\n [data-nextjs-call-stack-framework-icon] {\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-call-stack-framework-icon='next'] > mask {\\n mask-type: alpha;\\n }\\n [data-nextjs-call-stack-framework-icon='react'] {\\n color: rgb(20, 158, 202);\\n }\\n [data-nextjs-collapsed-call-stack-details][open]\\n [data-nextjs-call-stack-chevron-icon] {\\n transform: rotate(90deg);\\n }\\n [data-nextjs-collapsed-call-stack-details] summary {\\n display: flex;\\n align-items: center;\\n margin: var(--size-gap-double) 0;\\n list-style: none;\\n }\\n [data-nextjs-collapsed-call-stack-details] summary::-webkit-details-marker {\\n display: none;\\n }\\n\\n [data-nextjs-collapsed-call-stack-details] h3 {\\n color: #666;\\n }\\n [data-nextjs-collapsed-call-stack-details] [data-nextjs-call-stack-frame] {\\n margin-bottom: var(--size-gap-double);\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst RuntimeError = function RuntimeError(param) {\n let { error } = param;\n const firstFirstPartyFrameIndex = _react.useMemo(()=>{\n return error.frames.findIndex((entry)=>entry.expanded && Boolean(entry.originalCodeFrame) && Boolean(entry.originalStackFrame));\n }, [\n error.frames\n ]);\n const firstFrame = _react.useMemo(()=>{\n var _error_frames_firstFirstPartyFrameIndex;\n return (_error_frames_firstFirstPartyFrameIndex = error.frames[firstFirstPartyFrameIndex]) != null ? _error_frames_firstFirstPartyFrameIndex : null;\n }, [\n error.frames,\n firstFirstPartyFrameIndex\n ]);\n const allLeadingFrames = _react.useMemo(()=>firstFirstPartyFrameIndex < 0 ? [] : error.frames.slice(0, firstFirstPartyFrameIndex), [\n error.frames,\n firstFirstPartyFrameIndex\n ]);\n const [all, setAll] = _react.useState(firstFrame == null);\n const toggleAll = _react.useCallback(()=>{\n setAll((v)=>!v);\n }, []);\n const leadingFrames = _react.useMemo(()=>allLeadingFrames.filter((f)=>f.expanded || all), [\n all,\n allLeadingFrames\n ]);\n const allCallStackFrames = _react.useMemo(()=>error.frames.slice(firstFirstPartyFrameIndex + 1), [\n error.frames,\n firstFirstPartyFrameIndex\n ]);\n const visibleCallStackFrames = _react.useMemo(()=>allCallStackFrames.filter((f)=>f.expanded || all), [\n all,\n allCallStackFrames\n ]);\n const canShowMore = _react.useMemo(()=>{\n return allCallStackFrames.length !== visibleCallStackFrames.length || all && firstFrame != null;\n }, [\n all,\n allCallStackFrames.length,\n firstFrame,\n visibleCallStackFrames.length\n ]);\n const stackFramesGroupedByFramework = _react.useMemo(()=>(0, _groupstackframesbyframework.groupStackFramesByFramework)(visibleCallStackFrames), [\n visibleCallStackFrames\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n firstFrame ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Source\"\n }),\n leadingFrames.map((frame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_CallStackFrame.CallStackFrame, {\n frame: frame\n }, \"leading-frame-\" + index + \"-\" + all)),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CodeFrame.CodeFrame, {\n stackFrame: firstFrame.originalStackFrame,\n codeFrame: firstFrame.originalCodeFrame\n })\n ]\n }) : undefined,\n error.componentStackFrames ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Component Stack\"\n }),\n error.componentStackFrames.map((componentStackFrame, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStackFrameRow.ComponentStackFrameRow, {\n componentStackFrame: componentStackFrame\n }, index))\n ]\n }) : null,\n stackFramesGroupedByFramework.length ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_react.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n children: \"Call Stack\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_GroupedStackFrames.GroupedStackFrames, {\n groupedStackFrames: stackFramesGroupedByFramework,\n all: all\n })\n ]\n }) : undefined,\n canShowMore ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Fragment, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"button\", {\n tabIndex: 10,\n \"data-nextjs-data-runtime-error-collapsed-action\": true,\n type: \"button\",\n onClick: toggleAll,\n children: [\n all ? \"Hide\" : \"Show\",\n \" collapsed frames\"\n ]\n })\n }) : undefined\n ]\n });\n};\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLGNBQWM7UUFDVixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxhQUFhTCxtQkFBT0EsQ0FBQyw2SUFBNEI7QUFDdkQsTUFBTU0sZ0JBQWdCTixtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsTUFBTU8sK0JBQStCUCxtQkFBT0EsQ0FBQyw2S0FBK0M7QUFDNUYsTUFBTVEsa0JBQWtCUixtQkFBT0EsQ0FBQyw4SUFBa0I7QUFDbEQsTUFBTVMsc0JBQXNCVCxtQkFBT0EsQ0FBQyxzSkFBc0I7QUFDMUQsTUFBTVUsMEJBQTBCVixtQkFBT0EsQ0FBQyw4SkFBMEI7QUFDbEUsU0FBU1c7SUFDTCxNQUFNQyxPQUFPWCwrQkFBK0JHLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RP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RDtBQUV2QyxJQUFJLENBQUMsT0FBT3ZCLFFBQVEyRSxPQUFPLEtBQUssY0FBZSxPQUFPM0UsUUFBUTJFLE9BQU8sS0FBSyxZQUFZM0UsUUFBUTJFLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNFLFFBQVEyRSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUUsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkUsT0FBTyxFQUFFLGNBQWM7UUFBRTFFLE9BQU87SUFBSztJQUNuRUgsT0FBTytFLE1BQU0sQ0FBQzdFLFFBQVEyRSxPQUFPLEVBQUUzRTtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMkUsT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbnRhaW5lci9SdW50aW1lRXJyb3IvaW5kZXguanM/ZmNiOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHN0eWxlczogbnVsbCxcbiAgICBSdW50aW1lRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgc3R5bGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICB9LFxuICAgIFJ1bnRpbWVFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSdW50aW1lRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX0NvZGVGcmFtZSA9IHJlcXVpcmUoXCIuLi8uLi9jb21wb25lbnRzL0NvZGVGcmFtZVwiKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuY29uc3QgX2dyb3Vwc3RhY2tmcmFtZXNieWZyYW1ld29yayA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL2dyb3VwLXN0YWNrLWZyYW1lcy1ieS1mcmFtZXdvcmtcIik7XG5jb25zdCBfQ2FsbFN0YWNrRnJhbWUgPSByZXF1aXJlKFwiLi9DYWxsU3RhY2tGcmFtZVwiKTtcbmNvbnN0IF9Hcm91cGVkU3RhY2tGcmFtZXMgPSByZXF1aXJlKFwiLi9Hcm91cGVkU3RhY2tGcmFtZXNcIik7XG5jb25zdCBfQ29tcG9uZW50U3RhY2tGcmFtZVJvdyA9IHJlcXVpcmUoXCIuL0NvbXBvbmVudFN0YWNrRnJhbWVSb3dcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gIGJ1dHRvbltkYXRhLW5leHRqcy1kYXRhLXJ1bnRpbWUtZXJyb3ItY29sbGFwc2VkLWFjdGlvbl0ge1xcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIHBhZGRpbmc6IDA7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNpemUtZm9udC1iaWdnZXIpO1xcbiAgICBjb2xvcjogdmFyKC0tY29sb3ItYWNjZW50cy0zKTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXTpub3QoOmxhc3QtY2hpbGQpLFxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV06bm90KDpsYXN0LWNoaWxkKSB7XFxuICAgIG1hcmdpbi1ib3R0b206IHZhcigtLXNpemUtZ2FwLWRvdWJsZSk7XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBoMyxcXG4gIFtkYXRhLW5leHRqcy1jb21wb25lbnQtc3RhY2stZnJhbWVdID4gaDMge1xcbiAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcCk7XFxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXN0YWNrLW1vbm9zcGFjZSk7XFxuICAgIGZvbnQtc2l6ZTogdmFyKC0tc2l6ZS1mb250KTtcXG4gICAgY29sb3I6ICMyMjI7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBoM1tkYXRhLW5leHRqcy1mcmFtZS1leHBhbmRlZD0nZmFsc2UnXSB7XFxuICAgIGNvbG9yOiAjNjY2O1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdID4gZGl2LFxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV0gPiBkaXYge1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBwYWRkaW5nLWxlZnQ6IGNhbGModmFyKC0tc2l6ZS1nYXApICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpO1xcbiAgICBmb250LXNpemU6IHZhcigtLXNpemUtZm9udC1zbWFsbCk7XFxuICAgIGNvbG9yOiAjOTk5O1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdID4gZGl2ID4gc3ZnLFxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV0gPiBbcm9sZT0nbGluayddID4gc3ZnIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIGhlaWdodDogdmFyKC0tc2l6ZS1mb250LXNtYWxsKTtcXG4gICAgbWFyZ2luLWxlZnQ6IHZhcigtLXNpemUtZ2FwKTtcXG4gICAgZmxleC1zaHJpbms6IDA7XFxuXFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0gPiBkaXZbZGF0YS1oYXMtc291cmNlXSxcXG4gIFtkYXRhLW5leHRqcy1jb21wb25lbnQtc3RhY2stZnJhbWVdID4gW3JvbGU9J2xpbmsnXSB7XFxuICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1lXSA+IGRpdltkYXRhLWhhcy1zb3VyY2VdOmhvdmVyLFxcbiAgW2RhdGEtbmV4dGpzLWNvbXBvbmVudC1zdGFjay1mcmFtZV0gPiBbcm9sZT0nbGluayddOmhvdmVyIHtcXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWVdID4gZGl2W2RhdGEtaGFzLXNvdXJjZV0gPiBzdmcsXFxuICBbZGF0YS1uZXh0anMtY29tcG9uZW50LXN0YWNrLWZyYW1lXSA+IFtyb2xlPSdsaW5rJ10gPiBzdmcge1xcbiAgICBkaXNwbGF5OiB1bnNldDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1jYWxsLXN0YWNrLWZyYW1ld29yay1pY29uXSB7XFxuICAgIG1hcmdpbi1yaWdodDogdmFyKC0tc2l6ZS1nYXApO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWV3b3JrLWljb249J25leHQnXSA+IG1hc2sge1xcbiAgICBtYXNrLXR5cGU6IGFscGhhO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stZnJhbWV3b3JrLWljb249J3JlYWN0J10ge1xcbiAgICBjb2xvcjogcmdiKDIwLCAxNTgsIDIwMik7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29sbGFwc2VkLWNhbGwtc3RhY2stZGV0YWlsc11bb3Blbl1cXG4gICAgW2RhdGEtbmV4dGpzLWNhbGwtc3RhY2stY2hldnJvbi1pY29uXSB7XFxuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzXSBzdW1tYXJ5IHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgbWFyZ2luOiB2YXIoLS1zaXplLWdhcC1kb3VibGUpIDA7XFxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29sbGFwc2VkLWNhbGwtc3RhY2stZGV0YWlsc10gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XFxuICAgIGRpc3BsYXk6IG5vbmU7XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtY29sbGFwc2VkLWNhbGwtc3RhY2stZGV0YWlsc10gaDMge1xcbiAgICBjb2xvcjogIzY2NjtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2xsYXBzZWQtY2FsbC1zdGFjay1kZXRhaWxzXSBbZGF0YS1uZXh0anMtY2FsbC1zdGFjay1mcmFtZV0ge1xcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgfVxcblwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5jb25zdCBSdW50aW1lRXJyb3IgPSBmdW5jdGlvbiBSdW50aW1lRXJyb3IocGFyYW0pIHtcbiAgICBsZXQgeyBlcnJvciB9ID0gcGFyYW07XG4gICAgY29uc3QgZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCA9IF9yZWFjdC51c2VNZW1vKCgpPT57XG4gICAgICAgIHJldHVybiBlcnJvci5mcmFtZXMuZmluZEluZGV4KChlbnRyeSk9PmVudHJ5LmV4cGFuZGVkICYmIEJvb2xlYW4oZW50cnkub3JpZ2luYWxDb2RlRnJhbWUpICYmIEJvb2xlYW4oZW50cnkub3JpZ2luYWxTdGFja0ZyYW1lKSk7XG4gICAgfSwgW1xuICAgICAgICBlcnJvci5mcmFtZXNcbiAgICBdKTtcbiAgICBjb25zdCBmaXJzdEZyYW1lID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgdmFyIF9lcnJvcl9mcmFtZXNfZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleDtcbiAgICAgICAgcmV0dXJuIChfZXJyb3JfZnJhbWVzX2ZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXggPSBlcnJvci5mcmFtZXNbZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleF0pICE9IG51bGwgPyBfZXJyb3JfZnJhbWVzX2ZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXggOiBudWxsO1xuICAgIH0sIFtcbiAgICAgICAgZXJyb3IuZnJhbWVzLFxuICAgICAgICBmaXJzdEZpcnN0UGFydHlGcmFtZUluZGV4XG4gICAgXSk7XG4gICAgY29uc3QgYWxsTGVhZGluZ0ZyYW1lcyA9IF9yZWFjdC51c2VNZW1vKCgpPT5maXJzdEZpcnN0UGFydHlGcmFtZUluZGV4IDwgMCA/IFtdIDogZXJyb3IuZnJhbWVzLnNsaWNlKDAsIGZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXgpLCBbXG4gICAgICAgIGVycm9yLmZyYW1lcyxcbiAgICAgICAgZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleFxuICAgIF0pO1xuICAgIGNvbnN0IFthbGwsIHNldEFsbF0gPSBfcmVhY3QudXNlU3RhdGUoZmlyc3RGcmFtZSA9PSBudWxsKTtcbiAgICBjb25zdCB0b2dnbGVBbGwgPSBfcmVhY3QudXNlQ2FsbGJhY2soKCk9PntcbiAgICAgICAgc2V0QWxsKCh2KT0+IXYpO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCBsZWFkaW5nRnJhbWVzID0gX3JlYWN0LnVzZU1lbW8oKCk9PmFsbExlYWRpbmdGcmFtZXMuZmlsdGVyKChmKT0+Zi5leHBhbmRlZCB8fCBhbGwpLCBbXG4gICAgICAgIGFsbCxcbiAgICAgICAgYWxsTGVhZGluZ0ZyYW1lc1xuICAgIF0pO1xuICAgIGNvbnN0IGFsbENhbGxTdGFja0ZyYW1lcyA9IF9yZWFjdC51c2VNZW1vKCgpPT5lcnJvci5mcmFtZXMuc2xpY2UoZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleCArIDEpLCBbXG4gICAgICAgIGVycm9yLmZyYW1lcyxcbiAgICAgICAgZmlyc3RGaXJzdFBhcnR5RnJhbWVJbmRleFxuICAgIF0pO1xuICAgIGNvbnN0IHZpc2libGVDYWxsU3RhY2tGcmFtZXMgPSBfcmVhY3QudXNlTWVtbygoKT0+YWxsQ2FsbFN0YWNrRnJhbWVzLmZpbHRlcigoZik9PmYuZXhwYW5kZWQgfHwgYWxsKSwgW1xuICAgICAgICBhbGwsXG4gICAgICAgIGFsbENhbGxTdGFja0ZyYW1lc1xuICAgIF0pO1xuICAgIGNvbnN0IGNhblNob3dNb3JlID0gX3JlYWN0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgcmV0dXJuIGFsbENhbGxTdGFja0ZyYW1lcy5sZW5ndGggIT09IHZpc2libGVDYWxsU3RhY2tGcmFtZXMubGVuZ3RoIHx8IGFsbCAmJiBmaXJzdEZyYW1lICE9IG51bGw7XG4gICAgfSwgW1xuICAgICAgICBhbGwsXG4gICAgICAgIGFsbENhbGxTdGFja0ZyYW1lcy5sZW5ndGgsXG4gICAgICAgIGZpcnN0RnJhbWUsXG4gICAgICAgIHZpc2libGVDYWxsU3RhY2tGcmFtZXMubGVuZ3RoXG4gICAgXSk7XG4gICAgY29uc3Qgc3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsgPSBfcmVhY3QudXNlTWVtbygoKT0+KDAsIF9ncm91cHN0YWNrZnJhbWVzYnlmcmFtZXdvcmsuZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrKSh2aXNpYmxlQ2FsbFN0YWNrRnJhbWVzKSwgW1xuICAgICAgICB2aXNpYmxlQ2FsbFN0YWNrRnJhbWVzXG4gICAgXSk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9yZWFjdC5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgZmlyc3RGcmFtZSA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9yZWFjdC5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoMlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJTb3VyY2VcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZ0ZyYW1lcy5tYXAoKGZyYW1lLCBpbmRleCk9Pi8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0NhbGxTdGFja0ZyYW1lLkNhbGxTdGFja0ZyYW1lLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZnJhbWU6IGZyYW1lXG4gICAgICAgICAgICAgICAgICAgICAgICB9LCBcImxlYWRpbmctZnJhbWUtXCIgKyBpbmRleCArIFwiLVwiICsgYWxsKSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0NvZGVGcmFtZS5Db2RlRnJhbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YWNrRnJhbWU6IGZpcnN0RnJhbWUub3JpZ2luYWxTdGFja0ZyYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgY29kZUZyYW1lOiBmaXJzdEZyYW1lLm9yaWdpbmFsQ29kZUZyYW1lXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSkgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBlcnJvci5jb21wb25lbnRTdGFja0ZyYW1lcyA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIkNvbXBvbmVudCBTdGFja1wiXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICBlcnJvci5jb21wb25lbnRTdGFja0ZyYW1lcy5tYXAoKGNvbXBvbmVudFN0YWNrRnJhbWUsIGluZGV4KT0+LyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfQ29tcG9uZW50U3RhY2tGcmFtZVJvdy5Db21wb25lbnRTdGFja0ZyYW1lUm93LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50U3RhY2tGcmFtZTogY29tcG9uZW50U3RhY2tGcmFtZVxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgaW5kZXgpKVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pIDogbnVsbCxcbiAgICAgICAgICAgIHN0YWNrRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrLmxlbmd0aCA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9yZWFjdC5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoMlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJDYWxsIFN0YWNrXCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX0dyb3VwZWRTdGFja0ZyYW1lcy5Hcm91cGVkU3RhY2tGcmFtZXMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGdyb3VwZWRTdGFja0ZyYW1lczogc3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmssXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGw6IGFsbFxuICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgY2FuU2hvd01vcmUgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9yZWFjdC5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShcImJ1dHRvblwiLCB7XG4gICAgICAgICAgICAgICAgICAgIHRhYkluZGV4OiAxMCxcbiAgICAgICAgICAgICAgICAgICAgXCJkYXRhLW5leHRqcy1kYXRhLXJ1bnRpbWUtZXJyb3ItY29sbGFwc2VkLWFjdGlvblwiOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrOiB0b2dnbGVBbGwsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBhbGwgPyBcIkhpZGVcIiA6IFwiU2hvd1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCIgY29sbGFwc2VkIGZyYW1lc1wiXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSkgOiB1bmRlZmluZWRcbiAgICAgICAgXVxuICAgIH0pO1xufTtcbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW5kZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwic3R5bGVzIiwiUnVudGltZUVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfQ29kZUZyYW1lIiwiX25vb3B0ZW1wbGF0ZSIsIl9ncm91cHN0YWNrZnJhbWVzYnlmcmFtZXdvcmsiLCJfQ2FsbFN0YWNrRnJhbWUiLCJfR3JvdXBlZFN0YWNrRnJhbWVzIiwiX0NvbXBvbmVudFN0YWNrRnJhbWVSb3ciLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwicGFyYW0iLCJlcnJvciIsImZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXgiLCJ1c2VNZW1vIiwiZnJhbWVzIiwiZmluZEluZGV4IiwiZW50cnkiLCJleHBhbmRlZCIsIkJvb2xlYW4iLCJvcmlnaW5hbENvZGVGcmFtZSIsIm9yaWdpbmFsU3RhY2tGcmFtZSIsImZpcnN0RnJhbWUiLCJfZXJyb3JfZnJhbWVzX2ZpcnN0Rmlyc3RQYXJ0eUZyYW1lSW5kZXgiLCJhbGxMZWFkaW5nRnJhbWVzIiwic2xpY2UiLCJzZXRBbGwiLCJ1c2VTdGF0ZSIsInRvZ2dsZUFsbCIsInVzZUNhbGxiYWNrIiwidiIsImxlYWRpbmdGcmFtZXMiLCJmaWx0ZXIiLCJmIiwiYWxsQ2FsbFN0YWNrRnJhbWVzIiwidmlzaWJsZUNhbGxTdGFja0ZyYW1lcyIsImNhblNob3dNb3JlIiwibGVuZ3RoIiwic3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsiLCJncm91cFN0YWNrRnJhbWVzQnlGcmFtZXdvcmsiLCJqc3hzIiwiRnJhZ21lbnQiLCJjaGlsZHJlbiIsImpzeCIsIm1hcCIsImZyYW1lIiwiaW5kZXgiLCJDYWxsU3RhY2tGcmFtZSIsIkNvZGVGcmFtZSIsInN0YWNrRnJhbWUiLCJjb2RlRnJhbWUiLCJ1bmRlZmluZWQiLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsImNvbXBvbmVudFN0YWNrRnJhbWUiLCJDb21wb25lbnRTdGFja0ZyYW1lUm93IiwiR3JvdXBlZFN0YWNrRnJhbWVzIiwiZ3JvdXBlZFN0YWNrRnJhbWVzIiwidGFiSW5kZXgiLCJ0eXBlIiwib25DbGljayIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js ***! \******************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ACTION_BUILD_OK: function() {\n return ACTION_BUILD_OK;\n },\n ACTION_BUILD_ERROR: function() {\n return ACTION_BUILD_ERROR;\n },\n ACTION_BEFORE_REFRESH: function() {\n return ACTION_BEFORE_REFRESH;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_UNHANDLED_ERROR: function() {\n return ACTION_UNHANDLED_ERROR;\n },\n ACTION_UNHANDLED_REJECTION: function() {\n return ACTION_UNHANDLED_REJECTION;\n },\n ACTION_VERSION_INFO: function() {\n return ACTION_VERSION_INFO;\n },\n INITIAL_OVERLAY_STATE: function() {\n return INITIAL_OVERLAY_STATE;\n },\n errorOverlayReducer: function() {\n return errorOverlayReducer;\n }\n});\nconst ACTION_BUILD_OK = \"build-ok\";\nconst ACTION_BUILD_ERROR = \"build-error\";\nconst ACTION_BEFORE_REFRESH = \"before-fast-refresh\";\nconst ACTION_REFRESH = \"fast-refresh\";\nconst ACTION_UNHANDLED_ERROR = \"unhandled-error\";\nconst ACTION_UNHANDLED_REJECTION = \"unhandled-rejection\";\nconst ACTION_VERSION_INFO = \"version-info\";\nconst INITIAL_OVERLAY_STATE = {\n nextId: 1,\n buildError: null,\n errors: [],\n notFound: false,\n refreshState: {\n type: \"idle\"\n },\n versionInfo: {\n installed: \"0.0.0\",\n staleness: \"unknown\"\n }\n};\nfunction pushErrorFilterDuplicates(errors, err) {\n return [\n ...errors.filter((e)=>{\n // Filter out duplicate errors\n return e.event.reason !== err.event.reason;\n }),\n err\n ];\n}\nconst errorOverlayReducer = (state, action)=>{\n switch(action.type){\n case ACTION_BUILD_OK:\n {\n return {\n ...state,\n buildError: null\n };\n }\n case ACTION_BUILD_ERROR:\n {\n return {\n ...state,\n buildError: action.message\n };\n }\n case ACTION_BEFORE_REFRESH:\n {\n return {\n ...state,\n refreshState: {\n type: \"pending\",\n errors: []\n }\n };\n }\n case ACTION_REFRESH:\n {\n return {\n ...state,\n buildError: null,\n errors: // and UNHANDLED_REJECTION events might be dispatched between the\n // BEFORE_REFRESH and the REFRESH event. We want to keep those errors\n // around until the next refresh. Otherwise we run into a race\n // condition where those errors would be cleared on refresh completion\n // before they can be displayed.\n state.refreshState.type === \"pending\" ? state.refreshState.errors : [],\n refreshState: {\n type: \"idle\"\n }\n };\n }\n case ACTION_UNHANDLED_ERROR:\n case ACTION_UNHANDLED_REJECTION:\n {\n switch(state.refreshState.type){\n case \"idle\":\n {\n return {\n ...state,\n nextId: state.nextId + 1,\n errors: pushErrorFilterDuplicates(state.errors, {\n id: state.nextId,\n event: action\n })\n };\n }\n case \"pending\":\n {\n return {\n ...state,\n nextId: state.nextId + 1,\n refreshState: {\n ...state.refreshState,\n errors: pushErrorFilterDuplicates(state.refreshState.errors, {\n id: state.nextId,\n event: action\n })\n }\n };\n }\n default:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = state.refreshState;\n return state;\n }\n }\n case ACTION_VERSION_INFO:\n {\n return {\n ...state,\n versionInfo: action.versionInfo\n };\n }\n default:\n {\n return state;\n }\n }\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-overlay-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2Vycm9yLW92ZXJsYXktcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVVOO0FBQ0EsU0FBU1UsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWhCLE9BQU9DLGNBQWMsQ0FBQ2MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRWixTQUFTO0lBQ2JHLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyx1QkFBdUI7UUFDbkIsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVIsa0JBQWtCO0FBQ3hCLE1BQU1DLHFCQUFxQjtBQUMzQixNQUFNQyx3QkFBd0I7QUFDOUIsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLHlCQUF5QjtBQUMvQixNQUFNQyw2QkFBNkI7QUFDbkMsTUFBTUMsc0JBQXNCO0FBQzVCLE1BQU1DLHdCQUF3QjtJQUMxQlEsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFFBQVEsRUFBRTtJQUNWQyxVQUFVO0lBQ1ZDLGNBQWM7UUFDVkMsTUFBTTtJQUNWO0lBQ0FDLGFBQWE7UUFDVEMsV0FBVztRQUNYQyxXQUFXO0lBQ2Y7QUFDSjtBQUNBLFNBQVNDLDBCQUEwQlAsTUFBTSxFQUFFUSxHQUFHO0lBQzFDLE9BQU87V0FDQVIsT0FBT1MsTUFBTSxDQUFDLENBQUNDO1lBQ2QsOEJBQThCO1lBQzlCLE9BQU9BLEVBQUVDLEtBQUssQ0FBQ0MsTUFBTSxLQUFLSixJQUFJRyxLQUFLLENBQUNDLE1BQU07UUFDOUM7UUFDQUo7S0FDSDtBQUNMO0FBQ0EsTUFBTWpCLHNCQUFzQixDQUFDc0IsT0FBT0M7SUFDaEMsT0FBT0EsT0FBT1gsSUFBSTtRQUNkLEtBQUtwQjtZQUNEO2dCQUNJLE9BQU87b0JBQ0gsR0FBRzhCLEtBQUs7b0JBQ1JkLFlBQVk7Z0JBQ2hCO1lBQ0o7UUFDSixLQUFLZjtZQUNEO2dCQUNJLE9BQU87b0JBQ0gsR0FBRzZCLEtBQUs7b0JBQ1JkLFlBQVllLE9BQU9DLE9BQU87Z0JBQzlCO1lBQ0o7UUFDSixLQUFLOUI7WUFDRDtnQkFDSSxPQUFPO29CQUNILEdBQUc0QixLQUFLO29CQUNSWCxjQUFjO3dCQUNWQyxNQUFNO3dCQUNOSCxRQUFRLEVBQUU7b0JBQ2Q7Z0JBQ0o7WUFDSjtRQUNKLEtBQUtkO1lBQ0Q7Z0JBQ0ksT0FBTztvQkFDSCxHQUFHMkIsS0FBSztvQkFDUmQsWUFBWTtvQkFDWkMsUUFDQSxpRUFBaUU7b0JBQ2pFLHFFQUFxRTtvQkFDckUsOERBQThEO29CQUM5RCxzRUFBc0U7b0JBQ3RFLGdDQUFnQztvQkFDaENhLE1BQU1YLFlBQVksQ0FBQ0MsSUFBSSxLQUFLLFlBQVlVLE1BQU1YLFlBQVksQ0FBQ0YsTUFBTSxHQUFHLEVBQUU7b0JBQ3RFRSxjQUFjO3dCQUNWQyxNQUFNO29CQUNWO2dCQUNKO1lBQ0o7UUFDSixLQUFLaEI7UUFDTCxLQUFLQztZQUNEO2dCQUNJLE9BQU95QixNQUFNWCxZQUFZLENBQUNDLElBQUk7b0JBQzFCLEtBQUs7d0JBQ0Q7NEJBQ0ksT0FBTztnQ0FDSCxHQUFHVSxLQUFLO2dDQUNSZixRQUFRZSxNQUFNZixNQUFNLEdBQUc7Z0NBQ3ZCRSxRQUFRTywwQkFBMEJNLE1BQU1iLE1BQU0sRUFBRTtvQ0FDNUNnQixJQUFJSCxNQUFNZixNQUFNO29DQUNoQmEsT0FBT0c7Z0NBQ1g7NEJBQ0o7d0JBQ0o7b0JBQ0osS0FBSzt3QkFDRDs0QkFDSSxPQUFPO2dDQUNILEdBQUdELEtBQUs7Z0NBQ1JmLFFBQVFlLE1BQU1mLE1BQU0sR0FBRztnQ0FDdkJJLGNBQWM7b0NBQ1YsR0FBR1csTUFBTVgsWUFBWTtvQ0FDckJGLFFBQVFPLDBCQUEwQk0sTUFBTVgsWUFBWSxDQUFDRixNQUFNLEVBQUU7d0NBQ3pEZ0IsSUFBSUgsTUFBTWYsTUFBTTt3Q0FDaEJhLE9BQU9HO29DQUNYO2dDQUNKOzRCQUNKO3dCQUNKO29CQUNKO3dCQUNJLDZEQUE2RDt3QkFDN0QsTUFBTUcsSUFBSUosTUFBTVgsWUFBWTt3QkFDNUIsT0FBT1c7Z0JBQ2Y7WUFDSjtRQUNKLEtBQUt4QjtZQUNEO2dCQUNJLE9BQU87b0JBQ0gsR0FBR3dCLEtBQUs7b0JBQ1JULGFBQWFVLE9BQU9WLFdBQVc7Z0JBQ25DO1lBQ0o7UUFDSjtZQUNJO2dCQUNJLE9BQU9TO1lBQ1g7SUFDUjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9qQyxRQUFRc0MsT0FBTyxLQUFLLGNBQWUsT0FBT3RDLFFBQVFzQyxPQUFPLEtBQUssWUFBWXRDLFFBQVFzQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU90QyxRQUFRc0MsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3pDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXNDLE9BQU8sRUFBRSxjQUFjO1FBQUVyQyxPQUFPO0lBQUs7SUFDbkVILE9BQU8wQyxNQUFNLENBQUN4QyxRQUFRc0MsT0FBTyxFQUFFdEM7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXNDLE9BQU87QUFDbEMsRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9lcnJvci1vdmVybGF5LXJlZHVjZXIuanM/MjVkYyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEFDVElPTl9CVUlMRF9PSzogbnVsbCxcbiAgICBBQ1RJT05fQlVJTERfRVJST1I6IG51bGwsXG4gICAgQUNUSU9OX0JFRk9SRV9SRUZSRVNIOiBudWxsLFxuICAgIEFDVElPTl9SRUZSRVNIOiBudWxsLFxuICAgIEFDVElPTl9VTkhBTkRMRURfRVJST1I6IG51bGwsXG4gICAgQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT046IG51bGwsXG4gICAgQUNUSU9OX1ZFUlNJT05fSU5GTzogbnVsbCxcbiAgICBJTklUSUFMX09WRVJMQVlfU1RBVEU6IG51bGwsXG4gICAgZXJyb3JPdmVybGF5UmVkdWNlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBBQ1RJT05fQlVJTERfT0s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX0JVSUxEX09LO1xuICAgIH0sXG4gICAgQUNUSU9OX0JVSUxEX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9CVUlMRF9FUlJPUjtcbiAgICB9LFxuICAgIEFDVElPTl9CRUZPUkVfUkVGUkVTSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fQkVGT1JFX1JFRlJFU0g7XG4gICAgfSxcbiAgICBBQ1RJT05fUkVGUkVTSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fUkVGUkVTSDtcbiAgICB9LFxuICAgIEFDVElPTl9VTkhBTkRMRURfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX1VOSEFORExFRF9FUlJPUjtcbiAgICB9LFxuICAgIEFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OO1xuICAgIH0sXG4gICAgQUNUSU9OX1ZFUlNJT05fSU5GTzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fVkVSU0lPTl9JTkZPO1xuICAgIH0sXG4gICAgSU5JVElBTF9PVkVSTEFZX1NUQVRFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIElOSVRJQUxfT1ZFUkxBWV9TVEFURTtcbiAgICB9LFxuICAgIGVycm9yT3ZlcmxheVJlZHVjZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXJyb3JPdmVybGF5UmVkdWNlcjtcbiAgICB9XG59KTtcbmNvbnN0IEFDVElPTl9CVUlMRF9PSyA9IFwiYnVpbGQtb2tcIjtcbmNvbnN0IEFDVElPTl9CVUlMRF9FUlJPUiA9IFwiYnVpbGQtZXJyb3JcIjtcbmNvbnN0IEFDVElPTl9CRUZPUkVfUkVGUkVTSCA9IFwiYmVmb3JlLWZhc3QtcmVmcmVzaFwiO1xuY29uc3QgQUNUSU9OX1JFRlJFU0ggPSBcImZhc3QtcmVmcmVzaFwiO1xuY29uc3QgQUNUSU9OX1VOSEFORExFRF9FUlJPUiA9IFwidW5oYW5kbGVkLWVycm9yXCI7XG5jb25zdCBBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiA9IFwidW5oYW5kbGVkLXJlamVjdGlvblwiO1xuY29uc3QgQUNUSU9OX1ZFUlNJT05fSU5GTyA9IFwidmVyc2lvbi1pbmZvXCI7XG5jb25zdCBJTklUSUFMX09WRVJMQVlfU1RBVEUgPSB7XG4gICAgbmV4dElkOiAxLFxuICAgIGJ1aWxkRXJyb3I6IG51bGwsXG4gICAgZXJyb3JzOiBbXSxcbiAgICBub3RGb3VuZDogZmFsc2UsXG4gICAgcmVmcmVzaFN0YXRlOiB7XG4gICAgICAgIHR5cGU6IFwiaWRsZVwiXG4gICAgfSxcbiAgICB2ZXJzaW9uSW5mbzoge1xuICAgICAgICBpbnN0YWxsZWQ6IFwiMC4wLjBcIixcbiAgICAgICAgc3RhbGVuZXNzOiBcInVua25vd25cIlxuICAgIH1cbn07XG5mdW5jdGlvbiBwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzKGVycm9ycywgZXJyKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgLi4uZXJyb3JzLmZpbHRlcigoZSk9PntcbiAgICAgICAgICAgIC8vIEZpbHRlciBvdXQgZHVwbGljYXRlIGVycm9yc1xuICAgICAgICAgICAgcmV0dXJuIGUuZXZlbnQucmVhc29uICE9PSBlcnIuZXZlbnQucmVhc29uO1xuICAgICAgICB9KSxcbiAgICAgICAgZXJyXG4gICAgXTtcbn1cbmNvbnN0IGVycm9yT3ZlcmxheVJlZHVjZXIgPSAoc3RhdGUsIGFjdGlvbik9PntcbiAgICBzd2l0Y2goYWN0aW9uLnR5cGUpe1xuICAgICAgICBjYXNlIEFDVElPTl9CVUlMRF9PSzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRFcnJvcjogbnVsbFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgQUNUSU9OX0JVSUxEX0VSUk9SOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICBidWlsZEVycm9yOiBhY3Rpb24ubWVzc2FnZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgQUNUSU9OX0JFRk9SRV9SRUZSRVNIOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICByZWZyZXNoU3RhdGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwicGVuZGluZ1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBBQ1RJT05fUkVGUkVTSDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgYnVpbGRFcnJvcjogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiAvLyBFcnJvcnMgY2FuIGNvbWUgaW4gZHVyaW5nIHVwZGF0ZXMuIEluIHRoaXMgY2FzZSwgVU5IQU5ETEVEX0VSUk9SXG4gICAgICAgICAgICAgICAgICAgIC8vIGFuZCBVTkhBTkRMRURfUkVKRUNUSU9OIGV2ZW50cyBtaWdodCBiZSBkaXNwYXRjaGVkIGJldHdlZW4gdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIEJFRk9SRV9SRUZSRVNIIGFuZCB0aGUgUkVGUkVTSCBldmVudC4gV2Ugd2FudCB0byBrZWVwIHRob3NlIGVycm9yc1xuICAgICAgICAgICAgICAgICAgICAvLyBhcm91bmQgdW50aWwgdGhlIG5leHQgcmVmcmVzaC4gT3RoZXJ3aXNlIHdlIHJ1biBpbnRvIGEgcmFjZVxuICAgICAgICAgICAgICAgICAgICAvLyBjb25kaXRpb24gd2hlcmUgdGhvc2UgZXJyb3JzIHdvdWxkIGJlIGNsZWFyZWQgb24gcmVmcmVzaCBjb21wbGV0aW9uXG4gICAgICAgICAgICAgICAgICAgIC8vIGJlZm9yZSB0aGV5IGNhbiBiZSBkaXNwbGF5ZWQuXG4gICAgICAgICAgICAgICAgICAgIHN0YXRlLnJlZnJlc2hTdGF0ZS50eXBlID09PSBcInBlbmRpbmdcIiA/IHN0YXRlLnJlZnJlc2hTdGF0ZS5lcnJvcnMgOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgcmVmcmVzaFN0YXRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImlkbGVcIlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBBQ1RJT05fVU5IQU5ETEVEX0VSUk9SOlxuICAgICAgICBjYXNlIEFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHN3aXRjaChzdGF0ZS5yZWZyZXNoU3RhdGUudHlwZSl7XG4gICAgICAgICAgICAgICAgICAgIGNhc2UgXCJpZGxlXCI6XG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRJZDogc3RhdGUubmV4dElkICsgMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzKHN0YXRlLmVycm9ycywge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ6IHN0YXRlLm5leHRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBhY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjYXNlIFwicGVuZGluZ1wiOlxuICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXh0SWQ6IHN0YXRlLm5leHRJZCArIDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZnJlc2hTdGF0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3RhdGUucmVmcmVzaFN0YXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBwdXNoRXJyb3JGaWx0ZXJEdXBsaWNhdGVzKHN0YXRlLnJlZnJlc2hTdGF0ZS5lcnJvcnMsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogc3RhdGUubmV4dElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBhY3Rpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgXyA9IHN0YXRlLnJlZnJlc2hTdGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgQUNUSU9OX1ZFUlNJT05fSU5GTzpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbkluZm86IGFjdGlvbi52ZXJzaW9uSW5mb1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgICAgfVxuICAgIH1cbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVycm9yLW92ZXJsYXktcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJBQ1RJT05fQlVJTERfT0siLCJBQ1RJT05fQlVJTERfRVJST1IiLCJBQ1RJT05fQkVGT1JFX1JFRlJFU0giLCJBQ1RJT05fUkVGUkVTSCIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsIkFDVElPTl9WRVJTSU9OX0lORk8iLCJJTklUSUFMX09WRVJMQVlfU1RBVEUiLCJlcnJvck92ZXJsYXlSZWR1Y2VyIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwibmV4dElkIiwiYnVpbGRFcnJvciIsImVycm9ycyIsIm5vdEZvdW5kIiwicmVmcmVzaFN0YXRlIiwidHlwZSIsInZlcnNpb25JbmZvIiwiaW5zdGFsbGVkIiwic3RhbGVuZXNzIiwicHVzaEVycm9yRmlsdGVyRHVwbGljYXRlcyIsImVyciIsImZpbHRlciIsImUiLCJldmVudCIsInJlYXNvbiIsInN0YXRlIiwiYWN0aW9uIiwibWVzc2FnZSIsImlkIiwiXyIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js ***! \*******************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSocketUrl\", ({\n enumerable: true,\n get: function() {\n return getSocketUrl;\n }\n}));\nfunction getSocketProtocol(assetPrefix) {\n let protocol = window.location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (e) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction getSocketUrl(assetPrefix) {\n const { hostname, port } = window.location;\n const protocol = getSocketProtocol(assetPrefix);\n const normalizedAssetPrefix = assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (normalizedAssetPrefix ? \"/\" + normalizedAssetPrefix : \"\");\n if (normalizedAssetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + normalizedAssetPrefix.split(\"://\", 2)[1];\n }\n return url;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-socket-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0LXNvY2tldC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGdEQUErQztJQUMzQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNDLGtCQUFrQkMsV0FBVztJQUNsQyxJQUFJQyxXQUFXQyxPQUFPQyxRQUFRLENBQUNGLFFBQVE7SUFDdkMsSUFBSTtRQUNBLHVCQUF1QjtRQUN2QkEsV0FBVyxJQUFJRyxJQUFJSixhQUFhQyxRQUFRO0lBQzVDLEVBQUUsT0FBT0ksR0FBRyxDQUFDO0lBQ2IsT0FBT0osYUFBYSxVQUFVLE9BQU87QUFDekM7QUFDQSxTQUFTSCxhQUFhRSxXQUFXO0lBQzdCLE1BQU0sRUFBRU0sUUFBUSxFQUFFQyxJQUFJLEVBQUUsR0FBR0wsT0FBT0MsUUFBUTtJQUMxQyxNQUFNRixXQUFXRixrQkFBa0JDO0lBQ25DLE1BQU1RLHdCQUF3QlIsWUFBWVMsT0FBTyxDQUFDLFFBQVE7SUFDMUQsSUFBSUMsTUFBTVQsV0FBVyxRQUFRSyxXQUFXLE1BQU1DLE9BQVFDLENBQUFBLHdCQUF3QixNQUFNQSx3QkFBd0IsRUFBQztJQUM3RyxJQUFJQSxzQkFBc0JHLFVBQVUsQ0FBQyxTQUFTO1FBQzFDRCxNQUFNVCxXQUFXLFFBQVFPLHNCQUFzQkksS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7SUFDckU7SUFDQSxPQUFPRjtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9oQixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JzQixPQUFPdEIsT0FBTyxHQUFHQSxRQUFRbUIsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0LXNvY2tldC11cmwuanM/OWUwOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFNvY2tldFVybFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0U29ja2V0VXJsO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0U29ja2V0UHJvdG9jb2woYXNzZXRQcmVmaXgpIHtcbiAgICBsZXQgcHJvdG9jb2wgPSB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2w7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gYXNzZXRQcmVmaXggaXMgYSB1cmxcbiAgICAgICAgcHJvdG9jb2wgPSBuZXcgVVJMKGFzc2V0UHJlZml4KS5wcm90b2NvbDtcbiAgICB9IGNhdGNoIChlKSB7fVxuICAgIHJldHVybiBwcm90b2NvbCA9PT0gXCJodHRwOlwiID8gXCJ3c1wiIDogXCJ3c3NcIjtcbn1cbmZ1bmN0aW9uIGdldFNvY2tldFVybChhc3NldFByZWZpeCkge1xuICAgIGNvbnN0IHsgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICBjb25zdCBwcm90b2NvbCA9IGdldFNvY2tldFByb3RvY29sKGFzc2V0UHJlZml4KTtcbiAgICBjb25zdCBub3JtYWxpemVkQXNzZXRQcmVmaXggPSBhc3NldFByZWZpeC5yZXBsYWNlKC9eXFwvKy8sIFwiXCIpO1xuICAgIGxldCB1cmwgPSBwcm90b2NvbCArIFwiOi8vXCIgKyBob3N0bmFtZSArIFwiOlwiICsgcG9ydCArIChub3JtYWxpemVkQXNzZXRQcmVmaXggPyBcIi9cIiArIG5vcm1hbGl6ZWRBc3NldFByZWZpeCA6IFwiXCIpO1xuICAgIGlmIChub3JtYWxpemVkQXNzZXRQcmVmaXguc3RhcnRzV2l0aChcImh0dHBcIikpIHtcbiAgICAgICAgdXJsID0gcHJvdG9jb2wgKyBcIjovL1wiICsgbm9ybWFsaXplZEFzc2V0UHJlZml4LnNwbGl0KFwiOi8vXCIsIDIpWzFdO1xuICAgIH1cbiAgICByZXR1cm4gdXJsO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtc29ja2V0LXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0U29ja2V0VXJsIiwiZ2V0U29ja2V0UHJvdG9jb2wiLCJhc3NldFByZWZpeCIsInByb3RvY29sIiwid2luZG93IiwibG9jYXRpb24iLCJVUkwiLCJlIiwiaG9zdG5hbWUiLCJwb3J0Iiwibm9ybWFsaXplZEFzc2V0UHJlZml4IiwicmVwbGFjZSIsInVybCIsInN0YXJ0c1dpdGgiLCJzcGxpdCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getErrorByType\", ({\n enumerable: true,\n get: function() {\n return getErrorByType;\n }\n}));\nconst _erroroverlayreducer = __webpack_require__(/*! ../error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _nodeStackFrames = __webpack_require__(/*! ./nodeStackFrames */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\");\nconst _stackframe = __webpack_require__(/*! ./stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nasync function getErrorByType(ev) {\n const { id, event } = ev;\n switch(event.type){\n case _erroroverlayreducer.ACTION_UNHANDLED_ERROR:\n case _erroroverlayreducer.ACTION_UNHANDLED_REJECTION:\n {\n const readyRuntimeError = {\n id,\n runtime: true,\n error: event.reason,\n frames: await (0, _stackframe.getOriginalStackFrames)(event.frames, (0, _nodeStackFrames.getErrorSource)(event.reason), event.reason.toString())\n };\n if (event.type === _erroroverlayreducer.ACTION_UNHANDLED_ERROR) {\n readyRuntimeError.componentStackFrames = event.componentStackFrames;\n }\n return readyRuntimeError;\n }\n default:\n {\n break;\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = event;\n throw new Error(\"type system invariant violation\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=getErrorByType.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ2V0RXJyb3JCeVR5cGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsc0lBQTBCO0FBQy9ELE1BQU1DLG1CQUFtQkQsbUJBQU9BLENBQUMsaUlBQW1CO0FBQ3BELE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLHlIQUFlO0FBQzNDLGVBQWVGLGVBQWVLLEVBQUU7SUFDNUIsTUFBTSxFQUFFQyxFQUFFLEVBQUVDLEtBQUssRUFBRSxHQUFHRjtJQUN0QixPQUFPRSxNQUFNQyxJQUFJO1FBQ2IsS0FBS1AscUJBQXFCUSxzQkFBc0I7UUFDaEQsS0FBS1IscUJBQXFCUywwQkFBMEI7WUFDaEQ7Z0JBQ0ksTUFBTUMsb0JBQW9CO29CQUN0Qkw7b0JBQ0FNLFNBQVM7b0JBQ1RDLE9BQU9OLE1BQU1PLE1BQU07b0JBQ25CQyxRQUFRLE1BQU0sQ0FBQyxHQUFHWCxZQUFZWSxzQkFBc0IsRUFBRVQsTUFBTVEsTUFBTSxFQUFFLENBQUMsR0FBR1osaUJBQWlCYyxjQUFjLEVBQUVWLE1BQU1PLE1BQU0sR0FBR1AsTUFBTU8sTUFBTSxDQUFDSSxRQUFRO2dCQUNqSjtnQkFDQSxJQUFJWCxNQUFNQyxJQUFJLEtBQUtQLHFCQUFxQlEsc0JBQXNCLEVBQUU7b0JBQzVERSxrQkFBa0JRLG9CQUFvQixHQUFHWixNQUFNWSxvQkFBb0I7Z0JBQ3ZFO2dCQUNBLE9BQU9SO1lBQ1g7UUFDSjtZQUNJO2dCQUNJO1lBQ0o7SUFDUjtJQUNBLDZEQUE2RDtJQUM3RCxNQUFNUyxJQUFJYjtJQUNWLE1BQU0sSUFBSWMsTUFBTTtBQUNwQjtBQUVBLElBQUksQ0FBQyxPQUFPekIsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks3QixPQUFPQyxjQUFjLENBQUNDLFFBQVEwQixPQUFPLEVBQUUsY0FBYztRQUFFekIsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEIsTUFBTSxDQUFDNUIsUUFBUTBCLE9BQU8sRUFBRTFCO0lBQy9CNkIsT0FBTzdCLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL2dldEVycm9yQnlUeXBlLmpzPzVhY2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRFcnJvckJ5VHlwZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RXJyb3JCeVR5cGU7XG4gICAgfVxufSk7XG5jb25zdCBfZXJyb3JvdmVybGF5cmVkdWNlciA9IHJlcXVpcmUoXCIuLi9lcnJvci1vdmVybGF5LXJlZHVjZXJcIik7XG5jb25zdCBfbm9kZVN0YWNrRnJhbWVzID0gcmVxdWlyZShcIi4vbm9kZVN0YWNrRnJhbWVzXCIpO1xuY29uc3QgX3N0YWNrZnJhbWUgPSByZXF1aXJlKFwiLi9zdGFjay1mcmFtZVwiKTtcbmFzeW5jIGZ1bmN0aW9uIGdldEVycm9yQnlUeXBlKGV2KSB7XG4gICAgY29uc3QgeyBpZCwgZXZlbnQgfSA9IGV2O1xuICAgIHN3aXRjaChldmVudC50eXBlKXtcbiAgICAgICAgY2FzZSBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX0VSUk9SOlxuICAgICAgICBjYXNlIF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlYWR5UnVudGltZUVycm9yID0ge1xuICAgICAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICAgICAgcnVudGltZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGV2ZW50LnJlYXNvbixcbiAgICAgICAgICAgICAgICAgICAgZnJhbWVzOiBhd2FpdCAoMCwgX3N0YWNrZnJhbWUuZ2V0T3JpZ2luYWxTdGFja0ZyYW1lcykoZXZlbnQuZnJhbWVzLCAoMCwgX25vZGVTdGFja0ZyYW1lcy5nZXRFcnJvclNvdXJjZSkoZXZlbnQucmVhc29uKSwgZXZlbnQucmVhc29uLnRvU3RyaW5nKCkpXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAoZXZlbnQudHlwZSA9PT0gX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX1VOSEFORExFRF9FUlJPUikge1xuICAgICAgICAgICAgICAgICAgICByZWFkeVJ1bnRpbWVFcnJvci5jb21wb25lbnRTdGFja0ZyYW1lcyA9IGV2ZW50LmNvbXBvbmVudFN0YWNrRnJhbWVzO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcmVhZHlSdW50aW1lRXJyb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBjb25zdCBfID0gZXZlbnQ7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidHlwZSBzeXN0ZW0gaW52YXJpYW50IHZpb2xhdGlvblwiKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0RXJyb3JCeVR5cGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldEVycm9yQnlUeXBlIiwiX2Vycm9yb3ZlcmxheXJlZHVjZXIiLCJyZXF1aXJlIiwiX25vZGVTdGFja0ZyYW1lcyIsIl9zdGFja2ZyYW1lIiwiZXYiLCJpZCIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJBQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTiIsInJlYWR5UnVudGltZUVycm9yIiwicnVudGltZSIsImVycm9yIiwicmVhc29uIiwiZnJhbWVzIiwiZ2V0T3JpZ2luYWxTdGFja0ZyYW1lcyIsImdldEVycm9yU291cmNlIiwidG9TdHJpbmciLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsIl8iLCJFcnJvciIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/getErrorByType.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js": /*!************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js ***! \************************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"groupStackFramesByFramework\", ({\n enumerable: true,\n get: function() {\n return groupStackFramesByFramework;\n }\n}));\n/**\n * Get the origin framework of the stack frame by package name.\n */ function getFramework(sourcePackage) {\n if (!sourcePackage) return undefined;\n if (/^(react|react-dom|react-is|react-refresh|react-server-dom-webpack|react-server-dom-turbopack|scheduler)$/.test(sourcePackage)) {\n return \"react\";\n } else if (sourcePackage === \"next\") {\n return \"next\";\n }\n return undefined;\n}\nfunction groupStackFramesByFramework(stackFrames) {\n const stackFramesGroupedByFramework = [];\n for (const stackFrame of stackFrames){\n const currentGroup = stackFramesGroupedByFramework[stackFramesGroupedByFramework.length - 1];\n const framework = getFramework(stackFrame.sourcePackage);\n if (currentGroup && currentGroup.framework === framework) {\n currentGroup.stackFrames.push(stackFrame);\n } else {\n stackFramesGroupedByFramework.push({\n framework: framework,\n stackFrames: [\n stackFrame\n ]\n });\n }\n }\n return stackFramesGroupedByFramework;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=group-stack-frames-by-framework.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvZ3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsK0RBQThEO0lBQzFESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0Y7O0NBRUMsR0FBRyxTQUFTQyxhQUFhQyxhQUFhO0lBQ25DLElBQUksQ0FBQ0EsZUFBZSxPQUFPQztJQUMzQixJQUFJLDJHQUEyR0MsSUFBSSxDQUFDRixnQkFBZ0I7UUFDaEksT0FBTztJQUNYLE9BQU8sSUFBSUEsa0JBQWtCLFFBQVE7UUFDakMsT0FBTztJQUNYO0lBQ0EsT0FBT0M7QUFDWDtBQUNBLFNBQVNILDRCQUE0QkssV0FBVztJQUM1QyxNQUFNQyxnQ0FBZ0MsRUFBRTtJQUN4QyxLQUFLLE1BQU1DLGNBQWNGLFlBQVk7UUFDakMsTUFBTUcsZUFBZUYsNkJBQTZCLENBQUNBLDhCQUE4QkcsTUFBTSxHQUFHLEVBQUU7UUFDNUYsTUFBTUMsWUFBWVQsYUFBYU0sV0FBV0wsYUFBYTtRQUN2RCxJQUFJTSxnQkFBZ0JBLGFBQWFFLFNBQVMsS0FBS0EsV0FBVztZQUN0REYsYUFBYUgsV0FBVyxDQUFDTSxJQUFJLENBQUNKO1FBQ2xDLE9BQU87WUFDSEQsOEJBQThCSyxJQUFJLENBQUM7Z0JBQy9CRCxXQUFXQTtnQkFDWEwsYUFBYTtvQkFDVEU7aUJBQ0g7WUFDTDtRQUNKO0lBQ0o7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9WLFFBQVFnQixPQUFPLEtBQUssY0FBZSxPQUFPaEIsUUFBUWdCLE9BQU8sS0FBSyxZQUFZaEIsUUFBUWdCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2hCLFFBQVFnQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbkIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZ0IsT0FBTyxFQUFFLGNBQWM7UUFBRWYsT0FBTztJQUFLO0lBQ25FSCxPQUFPb0IsTUFBTSxDQUFDbEIsUUFBUWdCLE9BQU8sRUFBRWhCO0lBQy9CbUIsT0FBT25CLE9BQU8sR0FBR0EsUUFBUWdCLE9BQU87QUFDbEMsRUFFQSwyREFBMkQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL2dyb3VwLXN0YWNrLWZyYW1lcy1ieS1mcmFtZXdvcmsuanM/Yjg4OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdyb3VwU3RhY2tGcmFtZXNCeUZyYW1ld29ya1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrO1xuICAgIH1cbn0pO1xuLyoqXG4gKiBHZXQgdGhlIG9yaWdpbiBmcmFtZXdvcmsgb2YgdGhlIHN0YWNrIGZyYW1lIGJ5IHBhY2thZ2UgbmFtZS5cbiAqLyBmdW5jdGlvbiBnZXRGcmFtZXdvcmsoc291cmNlUGFja2FnZSkge1xuICAgIGlmICghc291cmNlUGFja2FnZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBpZiAoL14ocmVhY3R8cmVhY3QtZG9tfHJlYWN0LWlzfHJlYWN0LXJlZnJlc2h8cmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrfHJlYWN0LXNlcnZlci1kb20tdHVyYm9wYWNrfHNjaGVkdWxlcikkLy50ZXN0KHNvdXJjZVBhY2thZ2UpKSB7XG4gICAgICAgIHJldHVybiBcInJlYWN0XCI7XG4gICAgfSBlbHNlIGlmIChzb3VyY2VQYWNrYWdlID09PSBcIm5leHRcIikge1xuICAgICAgICByZXR1cm4gXCJuZXh0XCI7XG4gICAgfVxuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiBncm91cFN0YWNrRnJhbWVzQnlGcmFtZXdvcmsoc3RhY2tGcmFtZXMpIHtcbiAgICBjb25zdCBzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yayA9IFtdO1xuICAgIGZvciAoY29uc3Qgc3RhY2tGcmFtZSBvZiBzdGFja0ZyYW1lcyl7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRHcm91cCA9IHN0YWNrRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrW3N0YWNrRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrLmxlbmd0aCAtIDFdO1xuICAgICAgICBjb25zdCBmcmFtZXdvcmsgPSBnZXRGcmFtZXdvcmsoc3RhY2tGcmFtZS5zb3VyY2VQYWNrYWdlKTtcbiAgICAgICAgaWYgKGN1cnJlbnRHcm91cCAmJiBjdXJyZW50R3JvdXAuZnJhbWV3b3JrID09PSBmcmFtZXdvcmspIHtcbiAgICAgICAgICAgIGN1cnJlbnRHcm91cC5zdGFja0ZyYW1lcy5wdXNoKHN0YWNrRnJhbWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3RhY2tGcmFtZXNHcm91cGVkQnlGcmFtZXdvcmsucHVzaCh7XG4gICAgICAgICAgICAgICAgZnJhbWV3b3JrOiBmcmFtZXdvcmssXG4gICAgICAgICAgICAgICAgc3RhY2tGcmFtZXM6IFtcbiAgICAgICAgICAgICAgICAgICAgc3RhY2tGcmFtZVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdGFja0ZyYW1lc0dyb3VwZWRCeUZyYW1ld29yaztcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z3JvdXAtc3RhY2stZnJhbWVzLWJ5LWZyYW1ld29yay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ3JvdXBTdGFja0ZyYW1lc0J5RnJhbWV3b3JrIiwiZ2V0RnJhbWV3b3JrIiwic291cmNlUGFja2FnZSIsInVuZGVmaW5lZCIsInRlc3QiLCJzdGFja0ZyYW1lcyIsInN0YWNrRnJhbWVzR3JvdXBlZEJ5RnJhbWV3b3JrIiwic3RhY2tGcmFtZSIsImN1cnJlbnRHcm91cCIsImxlbmd0aCIsImZyYW1ld29yayIsInB1c2giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/group-stack-frames-by-framework.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js ***! \*************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n hydrationErrorWarning: function() {\n return hydrationErrorWarning;\n },\n hydrationErrorComponentStack: function() {\n return hydrationErrorComponentStack;\n },\n patchConsoleError: function() {\n return patchConsoleError;\n }\n});\nlet hydrationErrorWarning;\nlet hydrationErrorComponentStack;\n// https://github.com/facebook/react/blob/main/packages/react-dom/src/__tests__/ReactDOMHydrationDiff-test.js used as a reference\nconst knownHydrationWarnings = new Set([\n 'Warning: Text content did not match. Server: \"%s\" Client: \"%s\"%s',\n \"Warning: Expected server HTML to contain a matching <%s> in <%s>.%s\",\n 'Warning: Expected server HTML to contain a matching text node for \"%s\" in <%s>.%s',\n \"Warning: Did not expect server HTML to contain a <%s> in <%s>.%s\",\n 'Warning: Did not expect server HTML to contain the text node \"%s\" in <%s>.%s'\n]);\nfunction patchConsoleError() {\n const prev = console.error;\n console.error = function(msg, serverContent, clientContent, componentStack) {\n if (knownHydrationWarnings.has(msg)) {\n hydrationErrorWarning = msg.replace(\"%s\", serverContent).replace(\"%s\", clientContent).replace(\"%s\", \"\");\n hydrationErrorComponentStack = componentStack;\n }\n // @ts-expect-error argument is defined\n prev.apply(console, arguments);\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hydration-error-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvaHlkcmF0aW9uLWVycm9yLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLDhCQUE4QjtRQUMxQixPQUFPQTtJQUNYO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlGO0FBQ0osSUFBSUM7QUFDSixpSUFBaUk7QUFDakksTUFBTVEseUJBQXlCLElBQUlDLElBQUk7SUFDbkM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU1I7SUFDTCxNQUFNUyxPQUFPQyxRQUFRQyxLQUFLO0lBQzFCRCxRQUFRQyxLQUFLLEdBQUcsU0FBU0MsR0FBRyxFQUFFQyxhQUFhLEVBQUVDLGFBQWEsRUFBRUMsY0FBYztRQUN0RSxJQUFJUix1QkFBdUJTLEdBQUcsQ0FBQ0osTUFBTTtZQUNqQ2Qsd0JBQXdCYyxJQUFJSyxPQUFPLENBQUMsTUFBTUosZUFBZUksT0FBTyxDQUFDLE1BQU1ILGVBQWVHLE9BQU8sQ0FBQyxNQUFNO1lBQ3BHbEIsK0JBQStCZ0I7UUFDbkM7UUFDQSx1Q0FBdUM7UUFDdkNOLEtBQUtTLEtBQUssQ0FBQ1IsU0FBU1M7SUFDeEI7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPeEIsUUFBUXlCLE9BQU8sS0FBSyxjQUFlLE9BQU96QixRQUFReUIsT0FBTyxLQUFLLFlBQVl6QixRQUFReUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPekIsUUFBUXlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks1QixPQUFPQyxjQUFjLENBQUNDLFFBQVF5QixPQUFPLEVBQUUsY0FBYztRQUFFeEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPNkIsTUFBTSxDQUFDM0IsUUFBUXlCLE9BQU8sRUFBRXpCO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF5QixPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy9oeWRyYXRpb24tZXJyb3ItaW5mby5qcz8zMmFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaHlkcmF0aW9uRXJyb3JXYXJuaW5nOiBudWxsLFxuICAgIGh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2s6IG51bGwsXG4gICAgcGF0Y2hDb25zb2xlRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaHlkcmF0aW9uRXJyb3JXYXJuaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGh5ZHJhdGlvbkVycm9yV2FybmluZztcbiAgICB9LFxuICAgIGh5ZHJhdGlvbkVycm9yQ29tcG9uZW50U3RhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaHlkcmF0aW9uRXJyb3JDb21wb25lbnRTdGFjaztcbiAgICB9LFxuICAgIHBhdGNoQ29uc29sZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhdGNoQ29uc29sZUVycm9yO1xuICAgIH1cbn0pO1xubGV0IGh5ZHJhdGlvbkVycm9yV2FybmluZztcbmxldCBoeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrO1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2Jsb2IvbWFpbi9wYWNrYWdlcy9yZWFjdC1kb20vc3JjL19fdGVzdHNfXy9SZWFjdERPTUh5ZHJhdGlvbkRpZmYtdGVzdC5qcyB1c2VkIGFzIGEgcmVmZXJlbmNlXG5jb25zdCBrbm93bkh5ZHJhdGlvbldhcm5pbmdzID0gbmV3IFNldChbXG4gICAgJ1dhcm5pbmc6IFRleHQgY29udGVudCBkaWQgbm90IG1hdGNoLiBTZXJ2ZXI6IFwiJXNcIiBDbGllbnQ6IFwiJXNcIiVzJyxcbiAgICBcIldhcm5pbmc6IEV4cGVjdGVkIHNlcnZlciBIVE1MIHRvIGNvbnRhaW4gYSBtYXRjaGluZyA8JXM+IGluIDwlcz4uJXNcIixcbiAgICAnV2FybmluZzogRXhwZWN0ZWQgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIG1hdGNoaW5nIHRleHQgbm9kZSBmb3IgXCIlc1wiIGluIDwlcz4uJXMnLFxuICAgIFwiV2FybmluZzogRGlkIG5vdCBleHBlY3Qgc2VydmVyIEhUTUwgdG8gY29udGFpbiBhIDwlcz4gaW4gPCVzPi4lc1wiLFxuICAgICdXYXJuaW5nOiBEaWQgbm90IGV4cGVjdCBzZXJ2ZXIgSFRNTCB0byBjb250YWluIHRoZSB0ZXh0IG5vZGUgXCIlc1wiIGluIDwlcz4uJXMnXG5dKTtcbmZ1bmN0aW9uIHBhdGNoQ29uc29sZUVycm9yKCkge1xuICAgIGNvbnN0IHByZXYgPSBjb25zb2xlLmVycm9yO1xuICAgIGNvbnNvbGUuZXJyb3IgPSBmdW5jdGlvbihtc2csIHNlcnZlckNvbnRlbnQsIGNsaWVudENvbnRlbnQsIGNvbXBvbmVudFN0YWNrKSB7XG4gICAgICAgIGlmIChrbm93bkh5ZHJhdGlvbldhcm5pbmdzLmhhcyhtc2cpKSB7XG4gICAgICAgICAgICBoeWRyYXRpb25FcnJvcldhcm5pbmcgPSBtc2cucmVwbGFjZShcIiVzXCIsIHNlcnZlckNvbnRlbnQpLnJlcGxhY2UoXCIlc1wiLCBjbGllbnRDb250ZW50KS5yZXBsYWNlKFwiJXNcIiwgXCJcIik7XG4gICAgICAgICAgICBoeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrID0gY29tcG9uZW50U3RhY2s7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBhcmd1bWVudCBpcyBkZWZpbmVkXG4gICAgICAgIHByZXYuYXBwbHkoY29uc29sZSwgYXJndW1lbnRzKTtcbiAgICB9O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oeWRyYXRpb24tZXJyb3ItaW5mby5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJoeWRyYXRpb25FcnJvcldhcm5pbmciLCJoeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrIiwicGF0Y2hDb25zb2xlRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJrbm93bkh5ZHJhdGlvbldhcm5pbmdzIiwiU2V0IiwicHJldiIsImNvbnNvbGUiLCJlcnJvciIsIm1zZyIsInNlcnZlckNvbnRlbnQiLCJjbGllbnRDb250ZW50IiwiY29tcG9uZW50U3RhY2siLCJoYXMiLCJyZXBsYWNlIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getFilesystemFrame: function() {\n return getFilesystemFrame;\n },\n getErrorSource: function() {\n return getErrorSource;\n },\n decorateServerError: function() {\n return decorateServerError;\n },\n getServerError: function() {\n return getServerError;\n }\n});\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nfunction getFilesystemFrame(frame) {\n const f = {\n ...frame\n };\n if (typeof f.file === \"string\") {\n if (f.file.startsWith(\"/\") || // Win32:\n /^[a-z]:\\\\/i.test(f.file) || // Win32 UNC:\n f.file.startsWith(\"\\\\\\\\\")) {\n f.file = \"file://\" + f.file;\n }\n }\n return f;\n}\nconst symbolError = Symbol(\"NextjsError\");\nfunction getErrorSource(error) {\n return error[symbolError] || null;\n}\nfunction decorateServerError(error, type) {\n Object.defineProperty(error, symbolError, {\n writable: false,\n enumerable: false,\n configurable: false,\n value: type\n });\n}\nfunction getServerError(error, type) {\n let n;\n try {\n throw new Error(error.message);\n } catch (e) {\n n = e;\n }\n n.name = error.name;\n try {\n n.stack = n.toString() + \"\\n\" + (0, _stacktraceparser.parse)(error.stack).map(getFilesystemFrame).map((f)=>{\n let str = \" at \" + f.methodName;\n if (f.file) {\n let loc = f.file;\n if (f.lineNumber) {\n loc += \":\" + f.lineNumber;\n if (f.column) {\n loc += \":\" + f.column;\n }\n }\n str += \" (\" + loc + \")\";\n }\n return str;\n }).join(\"\\n\");\n } catch (e) {\n n.stack = error.stack;\n }\n decorateServerError(n, type);\n return n;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=nodeStackFrames.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9kZVN0YWNrRnJhbWVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBS047QUFDQSxTQUFTSyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWCxPQUFPQyxjQUFjLENBQUNTLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVAsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLG9CQUFvQkMsbUJBQU9BLENBQUMsaUlBQXNDO0FBQ3hFLFNBQVNYLG1CQUFtQlksS0FBSztJQUM3QixNQUFNQyxJQUFJO1FBQ04sR0FBR0QsS0FBSztJQUNaO0lBQ0EsSUFBSSxPQUFPQyxFQUFFQyxJQUFJLEtBQUssVUFBVTtRQUM1QixJQUNBRCxFQUFFQyxJQUFJLENBQUNDLFVBQVUsQ0FBQyxRQUFRLFNBQVM7UUFDbkMsYUFBYUMsSUFBSSxDQUFDSCxFQUFFQyxJQUFJLEtBQUssYUFBYTtRQUMxQ0QsRUFBRUMsSUFBSSxDQUFDQyxVQUFVLENBQUMsU0FBUztZQUN2QkYsRUFBRUMsSUFBSSxHQUFHLFlBQVlELEVBQUVDLElBQUk7UUFDL0I7SUFDSjtJQUNBLE9BQU9EO0FBQ1g7QUFDQSxNQUFNSSxjQUFjQyxPQUFPO0FBQzNCLFNBQVNqQixlQUFla0IsS0FBSztJQUN6QixPQUFPQSxLQUFLLENBQUNGLFlBQVksSUFBSTtBQUNqQztBQUNBLFNBQVNmLG9CQUFvQmlCLEtBQUssRUFBRUMsSUFBSTtJQUNwQ3pCLE9BQU9DLGNBQWMsQ0FBQ3VCLE9BQU9GLGFBQWE7UUFDdENJLFVBQVU7UUFDVmIsWUFBWTtRQUNaYyxjQUFjO1FBQ2R4QixPQUFPc0I7SUFDWDtBQUNKO0FBQ0EsU0FBU2pCLGVBQWVnQixLQUFLLEVBQUVDLElBQUk7SUFDL0IsSUFBSUc7SUFDSixJQUFJO1FBQ0EsTUFBTSxJQUFJQyxNQUFNTCxNQUFNTSxPQUFPO0lBQ2pDLEVBQUUsT0FBT0MsR0FBRztRQUNSSCxJQUFJRztJQUNSO0lBQ0FILEVBQUVoQixJQUFJLEdBQUdZLE1BQU1aLElBQUk7SUFDbkIsSUFBSTtRQUNBZ0IsRUFBRUksS0FBSyxHQUFHSixFQUFFSyxRQUFRLEtBQUssT0FBTyxDQUFDLEdBQUdsQixrQkFBa0JtQixLQUFLLEVBQUVWLE1BQU1RLEtBQUssRUFBRUcsR0FBRyxDQUFDOUIsb0JBQW9COEIsR0FBRyxDQUFDLENBQUNqQjtZQUNuRyxJQUFJa0IsTUFBTSxZQUFZbEIsRUFBRW1CLFVBQVU7WUFDbEMsSUFBSW5CLEVBQUVDLElBQUksRUFBRTtnQkFDUixJQUFJbUIsTUFBTXBCLEVBQUVDLElBQUk7Z0JBQ2hCLElBQUlELEVBQUVxQixVQUFVLEVBQUU7b0JBQ2RELE9BQU8sTUFBTXBCLEVBQUVxQixVQUFVO29CQUN6QixJQUFJckIsRUFBRXNCLE1BQU0sRUFBRTt3QkFDVkYsT0FBTyxNQUFNcEIsRUFBRXNCLE1BQU07b0JBQ3pCO2dCQUNKO2dCQUNBSixPQUFPLE9BQU9FLE1BQU07WUFDeEI7WUFDQSxPQUFPRjtRQUNYLEdBQUdLLElBQUksQ0FBQztJQUNaLEVBQUUsT0FBT1YsR0FBRztRQUNSSCxFQUFFSSxLQUFLLEdBQUdSLE1BQU1RLEtBQUs7SUFDekI7SUFDQXpCLG9CQUFvQnFCLEdBQUdIO0lBQ3ZCLE9BQU9HO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBTzFCLFFBQVF3QyxPQUFPLEtBQUssY0FBZSxPQUFPeEMsUUFBUXdDLE9BQU8sS0FBSyxZQUFZeEMsUUFBUXdDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3hDLFFBQVF3QyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLM0MsT0FBT0MsY0FBYyxDQUFDQyxRQUFRd0MsT0FBTyxFQUFFLGNBQWM7UUFBRXZDLE9BQU87SUFBSztJQUNuRUgsT0FBTzRDLE1BQU0sQ0FBQzFDLFFBQVF3QyxPQUFPLEVBQUV4QztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRd0MsT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9kZVN0YWNrRnJhbWVzLmpzPzljM2QiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRGaWxlc3lzdGVtRnJhbWU6IG51bGwsXG4gICAgZ2V0RXJyb3JTb3VyY2U6IG51bGwsXG4gICAgZGVjb3JhdGVTZXJ2ZXJFcnJvcjogbnVsbCxcbiAgICBnZXRTZXJ2ZXJFcnJvcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRGaWxlc3lzdGVtRnJhbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RmlsZXN5c3RlbUZyYW1lO1xuICAgIH0sXG4gICAgZ2V0RXJyb3JTb3VyY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RXJyb3JTb3VyY2U7XG4gICAgfSxcbiAgICBkZWNvcmF0ZVNlcnZlckVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGRlY29yYXRlU2VydmVyRXJyb3I7XG4gICAgfSxcbiAgICBnZXRTZXJ2ZXJFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRTZXJ2ZXJFcnJvcjtcbiAgICB9XG59KTtcbmNvbnN0IF9zdGFja3RyYWNlcGFyc2VyID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdGFja3RyYWNlLXBhcnNlclwiKTtcbmZ1bmN0aW9uIGdldEZpbGVzeXN0ZW1GcmFtZShmcmFtZSkge1xuICAgIGNvbnN0IGYgPSB7XG4gICAgICAgIC4uLmZyYW1lXG4gICAgfTtcbiAgICBpZiAodHlwZW9mIGYuZmlsZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBpZiAoLy8gUG9zaXg6XG4gICAgICAgIGYuZmlsZS5zdGFydHNXaXRoKFwiL1wiKSB8fCAvLyBXaW4zMjpcbiAgICAgICAgL15bYS16XTpcXFxcL2kudGVzdChmLmZpbGUpIHx8IC8vIFdpbjMyIFVOQzpcbiAgICAgICAgZi5maWxlLnN0YXJ0c1dpdGgoXCJcXFxcXFxcXFwiKSkge1xuICAgICAgICAgICAgZi5maWxlID0gXCJmaWxlOi8vXCIgKyBmLmZpbGU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGY7XG59XG5jb25zdCBzeW1ib2xFcnJvciA9IFN5bWJvbChcIk5leHRqc0Vycm9yXCIpO1xuZnVuY3Rpb24gZ2V0RXJyb3JTb3VyY2UoZXJyb3IpIHtcbiAgICByZXR1cm4gZXJyb3Jbc3ltYm9sRXJyb3JdIHx8IG51bGw7XG59XG5mdW5jdGlvbiBkZWNvcmF0ZVNlcnZlckVycm9yKGVycm9yLCB0eXBlKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGVycm9yLCBzeW1ib2xFcnJvciwge1xuICAgICAgICB3cml0YWJsZTogZmFsc2UsXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICB2YWx1ZTogdHlwZVxuICAgIH0pO1xufVxuZnVuY3Rpb24gZ2V0U2VydmVyRXJyb3IoZXJyb3IsIHR5cGUpIHtcbiAgICBsZXQgbjtcbiAgICB0cnkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBuID0gZTtcbiAgICB9XG4gICAgbi5uYW1lID0gZXJyb3IubmFtZTtcbiAgICB0cnkge1xuICAgICAgICBuLnN0YWNrID0gbi50b1N0cmluZygpICsgXCJcXG5cIiArICgwLCBfc3RhY2t0cmFjZXBhcnNlci5wYXJzZSkoZXJyb3Iuc3RhY2spLm1hcChnZXRGaWxlc3lzdGVtRnJhbWUpLm1hcCgoZik9PntcbiAgICAgICAgICAgIGxldCBzdHIgPSBcIiAgICBhdCBcIiArIGYubWV0aG9kTmFtZTtcbiAgICAgICAgICAgIGlmIChmLmZpbGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgbG9jID0gZi5maWxlO1xuICAgICAgICAgICAgICAgIGlmIChmLmxpbmVOdW1iZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgbG9jICs9IFwiOlwiICsgZi5saW5lTnVtYmVyO1xuICAgICAgICAgICAgICAgICAgICBpZiAoZi5jb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvYyArPSBcIjpcIiArIGYuY29sdW1uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN0ciArPSBcIiAoXCIgKyBsb2MgKyBcIilcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdHI7XG4gICAgICAgIH0pLmpvaW4oXCJcXG5cIik7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICBuLnN0YWNrID0gZXJyb3Iuc3RhY2s7XG4gICAgfVxuICAgIGRlY29yYXRlU2VydmVyRXJyb3IobiwgdHlwZSk7XG4gICAgcmV0dXJuIG47XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vZGVTdGFja0ZyYW1lcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRGaWxlc3lzdGVtRnJhbWUiLCJnZXRFcnJvclNvdXJjZSIsImRlY29yYXRlU2VydmVyRXJyb3IiLCJnZXRTZXJ2ZXJFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9zdGFja3RyYWNlcGFyc2VyIiwicmVxdWlyZSIsImZyYW1lIiwiZiIsImZpbGUiLCJzdGFydHNXaXRoIiwidGVzdCIsInN5bWJvbEVycm9yIiwiU3ltYm9sIiwiZXJyb3IiLCJ0eXBlIiwid3JpdGFibGUiLCJjb25maWd1cmFibGUiLCJuIiwiRXJyb3IiLCJtZXNzYWdlIiwiZSIsInN0YWNrIiwidG9TdHJpbmciLCJwYXJzZSIsIm1hcCIsInN0ciIsIm1ldGhvZE5hbWUiLCJsb2MiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwiam9pbiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/nodeStackFrames.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js ***! \******************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"noop\", ({\n enumerable: true,\n get: function() {\n return noop;\n }\n}));\nfunction noop(strings) {\n for(var _len = arguments.length, keys = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n keys[_key - 1] = arguments[_key];\n }\n const lastIndex = strings.length - 1;\n return strings.slice(0, lastIndex).reduce((p, s, i)=>p + s + keys[i], \"\") + strings[lastIndex];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-template.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsd0NBQXVDO0lBQ25DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsS0FBS0MsT0FBTztJQUNqQixJQUFJLElBQUlDLE9BQU9DLFVBQVVDLE1BQU0sRUFBRUMsT0FBTyxJQUFJQyxNQUFNSixPQUFPLElBQUlBLE9BQU8sSUFBSSxJQUFJSyxPQUFPLEdBQUdBLE9BQU9MLE1BQU1LLE9BQU87UUFDdEdGLElBQUksQ0FBQ0UsT0FBTyxFQUFFLEdBQUdKLFNBQVMsQ0FBQ0ksS0FBSztJQUNwQztJQUNBLE1BQU1DLFlBQVlQLFFBQVFHLE1BQU0sR0FBRztJQUNuQyxPQUFPSCxRQUFRUSxLQUFLLENBQUMsR0FBR0QsV0FBV0UsTUFBTSxDQUFDLENBQUNDLEdBQUdDLEdBQUdDLElBQUlGLElBQUlDLElBQUlQLElBQUksQ0FBQ1EsRUFBRSxFQUFFLE1BQU1aLE9BQU8sQ0FBQ08sVUFBVTtBQUNsRztBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZS5qcz9lNjVmIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwibm9vcFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9vcDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIG5vb3Aoc3RyaW5ncykge1xuICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGtleXMgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIGtleXNbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBjb25zdCBsYXN0SW5kZXggPSBzdHJpbmdzLmxlbmd0aCAtIDE7XG4gICAgcmV0dXJuIHN0cmluZ3Muc2xpY2UoMCwgbGFzdEluZGV4KS5yZWR1Y2UoKHAsIHMsIGkpPT5wICsgcyArIGtleXNbaV0sIFwiXCIpICsgc3RyaW5nc1tsYXN0SW5kZXhdO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub29wLXRlbXBsYXRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub29wIiwic3RyaW5ncyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJrZXlzIiwiQXJyYXkiLCJfa2V5IiwibGFzdEluZGV4Iiwic2xpY2UiLCJyZWR1Y2UiLCJwIiwicyIsImkiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js ***! \**************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseComponentStack\", ({\n enumerable: true,\n get: function() {\n return parseComponentStack;\n }\n}));\nvar LocationType;\n(function(LocationType) {\n LocationType[\"FILE\"] = \"file\";\n LocationType[\"WEBPACK_INTERNAL\"] = \"webpack-internal\";\n LocationType[\"HTTP\"] = \"http\";\n LocationType[\"PROTOCOL_RELATIVE\"] = \"protocol-relative\";\n LocationType[\"UNKNOWN\"] = \"unknown\";\n})(LocationType || (LocationType = {}));\n/**\n * Get the type of frame line based on the location\n */ function getLocationType(location) {\n if (location.startsWith(\"file://\")) {\n return \"file\";\n }\n if (location.startsWith(\"webpack-internal://\")) {\n return \"webpack-internal\";\n }\n if (location.startsWith(\"http://\") || location.startsWith(\"https://\")) {\n return \"http\";\n }\n if (location.startsWith(\"//\")) {\n return \"protocol-relative\";\n }\n return \"unknown\";\n}\nfunction parseStackFrameLocation(location) {\n const locationType = getLocationType(location);\n const modulePath = location == null ? void 0 : location.replace(/^(webpack-internal:\\/\\/\\/|file:\\/\\/)(\\(.*\\)\\/)?/, \"\");\n var _modulePath_match;\n const [, file, lineNumber, column] = (_modulePath_match = modulePath == null ? void 0 : modulePath.match(/^(.+):(\\d+):(\\d+)/)) != null ? _modulePath_match : [];\n switch(locationType){\n case \"file\":\n case \"webpack-internal\":\n return {\n canOpenInEditor: true,\n file,\n lineNumber: lineNumber ? Number(lineNumber) : undefined,\n column: column ? Number(column) : undefined\n };\n // When the location is a URL we only show the file\n // TODO: Resolve http(s) URLs through sourcemaps\n case \"http\":\n case \"protocol-relative\":\n case \"unknown\":\n default:\n {\n return {\n canOpenInEditor: false\n };\n }\n }\n}\nfunction parseComponentStack(componentStack) {\n const componentStackFrames = [];\n for (const line of componentStack.trim().split(\"\\n\")){\n // Get component and file from the component stack line\n const match = /at ([^ ]+)( \\((.*)\\))?/.exec(line);\n if (match == null ? void 0 : match[1]) {\n const component = match[1];\n const location = match[3];\n if (!location) {\n componentStackFrames.push({\n canOpenInEditor: false,\n component\n });\n continue;\n }\n // Stop parsing the component stack if we reach a Next.js component\n if (location == null ? void 0 : location.includes(\"next/dist\")) {\n break;\n }\n const frameLocation = parseStackFrameLocation(location);\n componentStackFrames.push({\n component,\n ...frameLocation\n });\n }\n }\n return componentStackFrames;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parse-component-stack.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQztBQUNILFVBQVNBLFlBQVk7SUFDbEJBLFlBQVksQ0FBQyxPQUFPLEdBQUc7SUFDdkJBLFlBQVksQ0FBQyxtQkFBbUIsR0FBRztJQUNuQ0EsWUFBWSxDQUFDLE9BQU8sR0FBRztJQUN2QkEsWUFBWSxDQUFDLG9CQUFvQixHQUFHO0lBQ3BDQSxZQUFZLENBQUMsVUFBVSxHQUFHO0FBQzlCLEdBQUdBLGdCQUFpQkEsQ0FBQUEsZUFBZSxDQUFDO0FBQ3BDOztDQUVDLEdBQUcsU0FBU0MsZ0JBQWdCQyxRQUFRO0lBQ2pDLElBQUlBLFNBQVNDLFVBQVUsQ0FBQyxZQUFZO1FBQ2hDLE9BQU87SUFDWDtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyx3QkFBd0I7UUFDNUMsT0FBTztJQUNYO0lBQ0EsSUFBSUQsU0FBU0MsVUFBVSxDQUFDLGNBQWNELFNBQVNDLFVBQVUsQ0FBQyxhQUFhO1FBQ25FLE9BQU87SUFDWDtJQUNBLElBQUlELFNBQVNDLFVBQVUsQ0FBQyxPQUFPO1FBQzNCLE9BQU87SUFDWDtJQUNBLE9BQU87QUFDWDtBQUNBLFNBQVNDLHdCQUF3QkYsUUFBUTtJQUNyQyxNQUFNRyxlQUFlSixnQkFBZ0JDO0lBQ3JDLE1BQU1JLGFBQWFKLFlBQVksT0FBTyxLQUFLLElBQUlBLFNBQVNLLE9BQU8sQ0FBQyxtREFBbUQ7SUFDbkgsSUFBSUM7SUFDSixNQUFNLEdBQUdDLE1BQU1DLFlBQVlDLE9BQU8sR0FBRyxDQUFDSCxvQkFBb0JGLGNBQWMsT0FBTyxLQUFLLElBQUlBLFdBQVdNLEtBQUssQ0FBQyxvQkFBbUIsS0FBTSxPQUFPSixvQkFBb0IsRUFBRTtJQUMvSixPQUFPSDtRQUNILEtBQUs7UUFDTCxLQUFLO1lBQ0QsT0FBTztnQkFDSFEsaUJBQWlCO2dCQUNqQko7Z0JBQ0FDLFlBQVlBLGFBQWFJLE9BQU9KLGNBQWNLO2dCQUM5Q0osUUFBUUEsU0FBU0csT0FBT0gsVUFBVUk7WUFDdEM7UUFDSixtREFBbUQ7UUFDbkQsZ0RBQWdEO1FBQ2hELEtBQUs7UUFDTCxLQUFLO1FBQ0wsS0FBSztRQUNMO1lBQ0k7Z0JBQ0ksT0FBTztvQkFDSEYsaUJBQWlCO2dCQUNyQjtZQUNKO0lBQ1I7QUFDSjtBQUNBLFNBQVNkLG9CQUFvQmlCLGNBQWM7SUFDdkMsTUFBTUMsdUJBQXVCLEVBQUU7SUFDL0IsS0FBSyxNQUFNQyxRQUFRRixlQUFlRyxJQUFJLEdBQUdDLEtBQUssQ0FBQyxNQUFNO1FBQ2pELHVEQUF1RDtRQUN2RCxNQUFNUixRQUFRLHlCQUF5QlMsSUFBSSxDQUFDSDtRQUM1QyxJQUFJTixTQUFTLE9BQU8sS0FBSyxJQUFJQSxLQUFLLENBQUMsRUFBRSxFQUFFO1lBQ25DLE1BQU1VLFlBQVlWLEtBQUssQ0FBQyxFQUFFO1lBQzFCLE1BQU1WLFdBQVdVLEtBQUssQ0FBQyxFQUFFO1lBQ3pCLElBQUksQ0FBQ1YsVUFBVTtnQkFDWGUscUJBQXFCTSxJQUFJLENBQUM7b0JBQ3RCVixpQkFBaUI7b0JBQ2pCUztnQkFDSjtnQkFDQTtZQUNKO1lBQ0EsbUVBQW1FO1lBQ25FLElBQUlwQixZQUFZLE9BQU8sS0FBSyxJQUFJQSxTQUFTc0IsUUFBUSxDQUFDLGNBQWM7Z0JBQzVEO1lBQ0o7WUFDQSxNQUFNQyxnQkFBZ0JyQix3QkFBd0JGO1lBQzlDZSxxQkFBcUJNLElBQUksQ0FBQztnQkFDdEJEO2dCQUNBLEdBQUdHLGFBQWE7WUFDcEI7UUFDSjtJQUNKO0lBQ0EsT0FBT1I7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPdEIsUUFBUStCLE9BQU8sS0FBSyxjQUFlLE9BQU8vQixRQUFRK0IsT0FBTyxLQUFLLFlBQVkvQixRQUFRK0IsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPL0IsUUFBUStCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktsQyxPQUFPQyxjQUFjLENBQUNDLFFBQVErQixPQUFPLEVBQUUsY0FBYztRQUFFOUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPbUMsTUFBTSxDQUFDakMsUUFBUStCLE9BQU8sRUFBRS9CO0lBQy9Ca0MsT0FBT2xDLE9BQU8sR0FBR0EsUUFBUStCLE9BQU87QUFDbEMsRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlLWNvbXBvbmVudC1zdGFjay5qcz8wY2YwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VDb21wb25lbnRTdGFja1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGFyc2VDb21wb25lbnRTdGFjaztcbiAgICB9XG59KTtcbnZhciBMb2NhdGlvblR5cGU7XG4oZnVuY3Rpb24oTG9jYXRpb25UeXBlKSB7XG4gICAgTG9jYXRpb25UeXBlW1wiRklMRVwiXSA9IFwiZmlsZVwiO1xuICAgIExvY2F0aW9uVHlwZVtcIldFQlBBQ0tfSU5URVJOQUxcIl0gPSBcIndlYnBhY2staW50ZXJuYWxcIjtcbiAgICBMb2NhdGlvblR5cGVbXCJIVFRQXCJdID0gXCJodHRwXCI7XG4gICAgTG9jYXRpb25UeXBlW1wiUFJPVE9DT0xfUkVMQVRJVkVcIl0gPSBcInByb3RvY29sLXJlbGF0aXZlXCI7XG4gICAgTG9jYXRpb25UeXBlW1wiVU5LTk9XTlwiXSA9IFwidW5rbm93blwiO1xufSkoTG9jYXRpb25UeXBlIHx8IChMb2NhdGlvblR5cGUgPSB7fSkpO1xuLyoqXG4gKiBHZXQgdGhlIHR5cGUgb2YgZnJhbWUgbGluZSBiYXNlZCBvbiB0aGUgbG9jYXRpb25cbiAqLyBmdW5jdGlvbiBnZXRMb2NhdGlvblR5cGUobG9jYXRpb24pIHtcbiAgICBpZiAobG9jYXRpb24uc3RhcnRzV2l0aChcImZpbGU6Ly9cIikpIHtcbiAgICAgICAgcmV0dXJuIFwiZmlsZVwiO1xuICAgIH1cbiAgICBpZiAobG9jYXRpb24uc3RhcnRzV2l0aChcIndlYnBhY2staW50ZXJuYWw6Ly9cIikpIHtcbiAgICAgICAgcmV0dXJuIFwid2VicGFjay1pbnRlcm5hbFwiO1xuICAgIH1cbiAgICBpZiAobG9jYXRpb24uc3RhcnRzV2l0aChcImh0dHA6Ly9cIikgfHwgbG9jYXRpb24uc3RhcnRzV2l0aChcImh0dHBzOi8vXCIpKSB7XG4gICAgICAgIHJldHVybiBcImh0dHBcIjtcbiAgICB9XG4gICAgaWYgKGxvY2F0aW9uLnN0YXJ0c1dpdGgoXCIvL1wiKSkge1xuICAgICAgICByZXR1cm4gXCJwcm90b2NvbC1yZWxhdGl2ZVwiO1xuICAgIH1cbiAgICByZXR1cm4gXCJ1bmtub3duXCI7XG59XG5mdW5jdGlvbiBwYXJzZVN0YWNrRnJhbWVMb2NhdGlvbihsb2NhdGlvbikge1xuICAgIGNvbnN0IGxvY2F0aW9uVHlwZSA9IGdldExvY2F0aW9uVHlwZShsb2NhdGlvbik7XG4gICAgY29uc3QgbW9kdWxlUGF0aCA9IGxvY2F0aW9uID09IG51bGwgPyB2b2lkIDAgOiBsb2NhdGlvbi5yZXBsYWNlKC9eKHdlYnBhY2staW50ZXJuYWw6XFwvXFwvXFwvfGZpbGU6XFwvXFwvKShcXCguKlxcKVxcLyk/LywgXCJcIik7XG4gICAgdmFyIF9tb2R1bGVQYXRoX21hdGNoO1xuICAgIGNvbnN0IFssIGZpbGUsIGxpbmVOdW1iZXIsIGNvbHVtbl0gPSAoX21vZHVsZVBhdGhfbWF0Y2ggPSBtb2R1bGVQYXRoID09IG51bGwgPyB2b2lkIDAgOiBtb2R1bGVQYXRoLm1hdGNoKC9eKC4rKTooXFxkKyk6KFxcZCspLykpICE9IG51bGwgPyBfbW9kdWxlUGF0aF9tYXRjaCA6IFtdO1xuICAgIHN3aXRjaChsb2NhdGlvblR5cGUpe1xuICAgICAgICBjYXNlIFwiZmlsZVwiOlxuICAgICAgICBjYXNlIFwid2VicGFjay1pbnRlcm5hbFwiOlxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBjYW5PcGVuSW5FZGl0b3I6IHRydWUsXG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiBsaW5lTnVtYmVyID8gTnVtYmVyKGxpbmVOdW1iZXIpIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIGNvbHVtbjogY29sdW1uID8gTnVtYmVyKGNvbHVtbikgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH07XG4gICAgICAgIC8vIFdoZW4gdGhlIGxvY2F0aW9uIGlzIGEgVVJMIHdlIG9ubHkgc2hvdyB0aGUgZmlsZVxuICAgICAgICAvLyBUT0RPOiBSZXNvbHZlIGh0dHAocykgVVJMcyB0aHJvdWdoIHNvdXJjZW1hcHNcbiAgICAgICAgY2FzZSBcImh0dHBcIjpcbiAgICAgICAgY2FzZSBcInByb3RvY29sLXJlbGF0aXZlXCI6XG4gICAgICAgIGNhc2UgXCJ1bmtub3duXCI6XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgY2FuT3BlbkluRWRpdG9yOiBmYWxzZVxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gcGFyc2VDb21wb25lbnRTdGFjayhjb21wb25lbnRTdGFjaykge1xuICAgIGNvbnN0IGNvbXBvbmVudFN0YWNrRnJhbWVzID0gW107XG4gICAgZm9yIChjb25zdCBsaW5lIG9mIGNvbXBvbmVudFN0YWNrLnRyaW0oKS5zcGxpdChcIlxcblwiKSl7XG4gICAgICAgIC8vIEdldCBjb21wb25lbnQgYW5kIGZpbGUgZnJvbSB0aGUgY29tcG9uZW50IHN0YWNrIGxpbmVcbiAgICAgICAgY29uc3QgbWF0Y2ggPSAvYXQgKFteIF0rKSggXFwoKC4qKVxcKSk/Ly5leGVjKGxpbmUpO1xuICAgICAgICBpZiAobWF0Y2ggPT0gbnVsbCA/IHZvaWQgMCA6IG1hdGNoWzFdKSB7XG4gICAgICAgICAgICBjb25zdCBjb21wb25lbnQgPSBtYXRjaFsxXTtcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uID0gbWF0Y2hbM107XG4gICAgICAgICAgICBpZiAoIWxvY2F0aW9uKSB7XG4gICAgICAgICAgICAgICAgY29tcG9uZW50U3RhY2tGcmFtZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgIGNhbk9wZW5JbkVkaXRvcjogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU3RvcCBwYXJzaW5nIHRoZSBjb21wb25lbnQgc3RhY2sgaWYgd2UgcmVhY2ggYSBOZXh0LmpzIGNvbXBvbmVudFxuICAgICAgICAgICAgaWYgKGxvY2F0aW9uID09IG51bGwgPyB2b2lkIDAgOiBsb2NhdGlvbi5pbmNsdWRlcyhcIm5leHQvZGlzdFwiKSkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZnJhbWVMb2NhdGlvbiA9IHBhcnNlU3RhY2tGcmFtZUxvY2F0aW9uKGxvY2F0aW9uKTtcbiAgICAgICAgICAgIGNvbXBvbmVudFN0YWNrRnJhbWVzLnB1c2goe1xuICAgICAgICAgICAgICAgIGNvbXBvbmVudCxcbiAgICAgICAgICAgICAgICAuLi5mcmFtZUxvY2F0aW9uXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY29tcG9uZW50U3RhY2tGcmFtZXM7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhcnNlLWNvbXBvbmVudC1zdGFjay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGFyc2VDb21wb25lbnRTdGFjayIsIkxvY2F0aW9uVHlwZSIsImdldExvY2F0aW9uVHlwZSIsImxvY2F0aW9uIiwic3RhcnRzV2l0aCIsInBhcnNlU3RhY2tGcmFtZUxvY2F0aW9uIiwibG9jYXRpb25UeXBlIiwibW9kdWxlUGF0aCIsInJlcGxhY2UiLCJfbW9kdWxlUGF0aF9tYXRjaCIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwibWF0Y2giLCJjYW5PcGVuSW5FZGl0b3IiLCJOdW1iZXIiLCJ1bmRlZmluZWQiLCJjb21wb25lbnRTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwibGluZSIsInRyaW0iLCJzcGxpdCIsImV4ZWMiLCJjb21wb25lbnQiLCJwdXNoIiwiaW5jbHVkZXMiLCJmcmFtZUxvY2F0aW9uIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js ***! \***************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseStack\", ({\n enumerable: true,\n get: function() {\n return parseStack;\n }\n}));\nconst _stacktraceparser = __webpack_require__(/*! next/dist/compiled/stacktrace-parser */ \"(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\");\nconst regexNextStatic = /\\/_next(\\/static\\/.+)/;\nfunction parseStack(stack) {\n const frames = (0, _stacktraceparser.parse)(stack);\n return frames.map((frame)=>{\n try {\n const url = new URL(frame.file);\n const res = regexNextStatic.exec(url.pathname);\n if (res) {\n var _process_env___NEXT_DIST_DIR_replace, _process_env___NEXT_DIST_DIR;\n const distDir = (_process_env___NEXT_DIST_DIR = process.env.__NEXT_DIST_DIR) == null ? void 0 : (_process_env___NEXT_DIST_DIR_replace = _process_env___NEXT_DIST_DIR.replace(/\\\\/g, \"/\")) == null ? void 0 : _process_env___NEXT_DIST_DIR_replace.replace(/\\/$/, \"\");\n if (distDir) {\n frame.file = \"file://\" + distDir.concat(res.pop());\n }\n }\n } catch (e) {}\n return frame;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=parseStack.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvcGFyc2VTdGFjay5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsb0JBQW9CQyxtQkFBT0EsQ0FBQyxpSUFBc0M7QUFDeEUsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNILFdBQVdJLEtBQUs7SUFDckIsTUFBTUMsU0FBUyxDQUFDLEdBQUdKLGtCQUFrQkssS0FBSyxFQUFFRjtJQUM1QyxPQUFPQyxPQUFPRSxHQUFHLENBQUMsQ0FBQ0M7UUFDZixJQUFJO1lBQ0EsTUFBTUMsTUFBTSxJQUFJQyxJQUFJRixNQUFNRyxJQUFJO1lBQzlCLE1BQU1DLE1BQU1ULGdCQUFnQlUsSUFBSSxDQUFDSixJQUFJSyxRQUFRO1lBQzdDLElBQUlGLEtBQUs7Z0JBQ0wsSUFBSUcsc0NBQXNDQztnQkFDMUMsTUFBTUMsVUFBVSxDQUFDRCwrQkFBK0JFLFFBQVFDLEdBQUcsQ0FBQ0MsZUFBZSxLQUFLLE9BQU8sS0FBSyxJQUFJLENBQUNMLHVDQUF1Q0MsNkJBQTZCSyxPQUFPLENBQUMsT0FBTyxJQUFHLEtBQU0sT0FBTyxLQUFLLElBQUlOLHFDQUFxQ00sT0FBTyxDQUFDLE9BQU87Z0JBQ2pRLElBQUlKLFNBQVM7b0JBQ1RULE1BQU1HLElBQUksR0FBRyxZQUFZTSxRQUFRSyxNQUFNLENBQUNWLElBQUlXLEdBQUc7Z0JBQ25EO1lBQ0o7UUFDSixFQUFFLE9BQU9DLEdBQUcsQ0FBQztRQUNiLE9BQU9oQjtJQUNYO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1osUUFBUTZCLE9BQU8sS0FBSyxjQUFlLE9BQU83QixRQUFRNkIsT0FBTyxLQUFLLFlBQVk3QixRQUFRNkIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPN0IsUUFBUTZCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoQyxPQUFPQyxjQUFjLENBQUNDLFFBQVE2QixPQUFPLEVBQUUsY0FBYztRQUFFNUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUMsTUFBTSxDQUFDL0IsUUFBUTZCLE9BQU8sRUFBRTdCO0lBQy9CZ0MsT0FBT2hDLE9BQU8sR0FBR0EsUUFBUTZCLE9BQU87QUFDbEMsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlU3RhY2suanM/MzU0MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlU3RhY2tcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlU3RhY2s7XG4gICAgfVxufSk7XG5jb25zdCBfc3RhY2t0cmFjZXBhcnNlciA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXJcIik7XG5jb25zdCByZWdleE5leHRTdGF0aWMgPSAvXFwvX25leHQoXFwvc3RhdGljXFwvLispLztcbmZ1bmN0aW9uIHBhcnNlU3RhY2soc3RhY2spIHtcbiAgICBjb25zdCBmcmFtZXMgPSAoMCwgX3N0YWNrdHJhY2VwYXJzZXIucGFyc2UpKHN0YWNrKTtcbiAgICByZXR1cm4gZnJhbWVzLm1hcCgoZnJhbWUpPT57XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGZyYW1lLmZpbGUpO1xuICAgICAgICAgICAgY29uc3QgcmVzID0gcmVnZXhOZXh0U3RhdGljLmV4ZWModXJsLnBhdGhuYW1lKTtcbiAgICAgICAgICAgIGlmIChyZXMpIHtcbiAgICAgICAgICAgICAgICB2YXIgX3Byb2Nlc3NfZW52X19fTkVYVF9ESVNUX0RJUl9yZXBsYWNlLCBfcHJvY2Vzc19lbnZfX19ORVhUX0RJU1RfRElSO1xuICAgICAgICAgICAgICAgIGNvbnN0IGRpc3REaXIgPSAoX3Byb2Nlc3NfZW52X19fTkVYVF9ESVNUX0RJUiA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ESVNUX0RJUikgPT0gbnVsbCA/IHZvaWQgMCA6IChfcHJvY2Vzc19lbnZfX19ORVhUX0RJU1RfRElSX3JlcGxhY2UgPSBfcHJvY2Vzc19lbnZfX19ORVhUX0RJU1RfRElSLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpKSA9PSBudWxsID8gdm9pZCAwIDogX3Byb2Nlc3NfZW52X19fTkVYVF9ESVNUX0RJUl9yZXBsYWNlLnJlcGxhY2UoL1xcLyQvLCBcIlwiKTtcbiAgICAgICAgICAgICAgICBpZiAoZGlzdERpcikge1xuICAgICAgICAgICAgICAgICAgICBmcmFtZS5maWxlID0gXCJmaWxlOi8vXCIgKyBkaXN0RGlyLmNvbmNhdChyZXMucG9wKCkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge31cbiAgICAgICAgcmV0dXJuIGZyYW1lO1xuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZVN0YWNrLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJwYXJzZVN0YWNrIiwiX3N0YWNrdHJhY2VwYXJzZXIiLCJyZXF1aXJlIiwicmVnZXhOZXh0U3RhdGljIiwic3RhY2siLCJmcmFtZXMiLCJwYXJzZSIsIm1hcCIsImZyYW1lIiwidXJsIiwiVVJMIiwiZmlsZSIsInJlcyIsImV4ZWMiLCJwYXRobmFtZSIsIl9wcm9jZXNzX2Vudl9fX05FWFRfRElTVF9ESVJfcmVwbGFjZSIsIl9wcm9jZXNzX2Vudl9fX05FWFRfRElTVF9ESVIiLCJkaXN0RGlyIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ESVNUX0RJUiIsInJlcGxhY2UiLCJjb25jYXQiLCJwb3AiLCJlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js": /*!****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js ***! \****************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getOriginalStackFrame: function() {\n return getOriginalStackFrame;\n },\n getOriginalStackFrames: function() {\n return getOriginalStackFrames;\n },\n getFrameSource: function() {\n return getFrameSource;\n }\n});\nfunction getOriginalStackFrame(source, type, errorMessage) {\n var _source_file, _source_file1;\n async function _getOriginalStackFrame() {\n var /* collapsed */ _source_file, _body_originalStackFrame_file, _body_originalStackFrame;\n const params = new URLSearchParams();\n params.append(\"isServer\", String(type === \"server\"));\n params.append(\"isEdgeServer\", String(type === \"edge-server\"));\n params.append(\"isAppDirectory\", \"true\");\n params.append(\"errorMessage\", errorMessage);\n for(const key in source){\n var _source_key;\n params.append(key, ((_source_key = source[key]) != null ? _source_key : \"\").toString());\n }\n const controller = new AbortController();\n const tm = setTimeout(()=>controller.abort(), 3000);\n const res = await self.fetch(( false || \"\") + \"/__nextjs_original-stack-frame?\" + params.toString(), {\n signal: controller.signal\n }).finally(()=>{\n clearTimeout(tm);\n });\n if (!res.ok || res.status === 204) {\n return Promise.reject(new Error(await res.text()));\n }\n const body = await res.json();\n var _ref;\n return {\n error: false,\n reason: null,\n external: false,\n expanded: !Boolean((_ref = ((_source_file = source.file) == null ? void 0 : _source_file.includes(\"node_modules\")) || ((_body_originalStackFrame = body.originalStackFrame) == null ? void 0 : (_body_originalStackFrame_file = _body_originalStackFrame.file) == null ? void 0 : _body_originalStackFrame_file.includes(\"node_modules\"))) != null ? _ref : true),\n sourceStackFrame: source,\n originalStackFrame: body.originalStackFrame,\n originalCodeFrame: body.originalCodeFrame || null,\n sourcePackage: body.sourcePackage\n };\n }\n if (source.file === \"<anonymous>\" || ((_source_file = source.file) == null ? void 0 : _source_file.match(/^node:/)) || ((_source_file1 = source.file) == null ? void 0 : _source_file1.match(/https?:\\/\\//))) {\n return Promise.resolve({\n error: false,\n reason: null,\n external: true,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null\n });\n }\n var _err_message, _ref;\n return _getOriginalStackFrame().catch((err)=>({\n error: true,\n reason: (_ref = (_err_message = err == null ? void 0 : err.message) != null ? _err_message : err == null ? void 0 : err.toString()) != null ? _ref : \"Unknown Error\",\n external: false,\n expanded: false,\n sourceStackFrame: source,\n originalStackFrame: null,\n originalCodeFrame: null\n }));\n}\nfunction getOriginalStackFrames(frames, type, errorMessage) {\n return Promise.all(frames.map((frame)=>getOriginalStackFrame(frame, type, errorMessage)));\n}\nfunction formatFrameSourceFile(file) {\n return file.replace(/^webpack-internal:(\\/)+(\\.)?/, \"\").replace(/^webpack:(\\/)+(\\.)?/, \"\");\n}\nfunction getFrameSource(frame) {\n let str = \"\";\n try {\n var _globalThis_location;\n const u = new URL(frame.file);\n // Strip the origin for same-origin scripts.\n if (typeof globalThis !== \"undefined\" && ((_globalThis_location = globalThis.location) == null ? void 0 : _globalThis_location.origin) !== u.origin) {\n // URLs can be valid without an `origin`, so long as they have a\n // `protocol`. However, `origin` is preferred.\n if (u.origin === \"null\") {\n str += u.protocol;\n } else {\n str += u.origin;\n }\n }\n // Strip query string information as it's typically too verbose to be\n // meaningful.\n str += u.pathname;\n str += \" \";\n str = formatFrameSourceFile(str);\n } catch (e) {\n str += formatFrameSourceFile(frame.file || \"(unknown)\") + \" \";\n }\n if (frame.lineNumber != null) {\n if (frame.column != null) {\n str += \"(\" + frame.lineNumber + \":\" + frame.column + \") \";\n } else {\n str += \"(\" + frame.lineNumber + \") \";\n }\n }\n return str.slice(0, -1);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=stack-frame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvc3RhY2stZnJhbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLHVCQUF1QjtRQUNuQixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLFNBQVNGLHNCQUFzQlMsTUFBTSxFQUFFQyxJQUFJLEVBQUVDLFlBQVk7SUFDckQsSUFBSUMsY0FBY0M7SUFDbEIsZUFBZUM7UUFDWCxJQUFJLGFBQWEsR0FBR0YsY0FBY0csK0JBQStCQztRQUNqRSxNQUFNQyxTQUFTLElBQUlDO1FBQ25CRCxPQUFPRSxNQUFNLENBQUMsWUFBWUMsT0FBT1YsU0FBUztRQUMxQ08sT0FBT0UsTUFBTSxDQUFDLGdCQUFnQkMsT0FBT1YsU0FBUztRQUM5Q08sT0FBT0UsTUFBTSxDQUFDLGtCQUFrQjtRQUNoQ0YsT0FBT0UsTUFBTSxDQUFDLGdCQUFnQlI7UUFDOUIsSUFBSSxNQUFNVSxPQUFPWixPQUFPO1lBQ3BCLElBQUlhO1lBQ0pMLE9BQU9FLE1BQU0sQ0FBQ0UsS0FBSyxDQUFDLENBQUNDLGNBQWNiLE1BQU0sQ0FBQ1ksSUFBSSxLQUFLLE9BQU9DLGNBQWMsRUFBQyxFQUFHQyxRQUFRO1FBQ3hGO1FBQ0EsTUFBTUMsYUFBYSxJQUFJQztRQUN2QixNQUFN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TSxNQUFNSixFQUFFSSxNQUFNLEVBQUU7WUFDakosZ0VBQWdFO1lBQ2hFLDhDQUE4QztZQUM5QyxJQUFJSixFQUFFSSxNQUFNLEtBQUssUUFBUTtnQkFDckJOLE9BQU9FLEVBQUVLLFFBQVE7WUFDckIsT0FBTztnQkFDSFAsT0FBT0UsRUFBRUksTUFBTTtZQUNuQjtRQUNKO1FBQ0EscUVBQXFFO1FBQ3JFLGNBQWM7UUFDZE4sT0FBT0UsRUFBRU0sUUFBUTtRQUNqQlIsT0FBTztRQUNQQSxNQUFNRixzQkFBc0JFO0lBQ2hDLEVBQUUsT0FBT1MsR0FBRztRQUNSVCxPQUFPRixzQkFBc0JELE1BQU1kLElBQUksSUFBSSxlQUFlO0lBQzlEO0lBQ0EsSUFBSWMsTUFBTWEsVUFBVSxJQUFJLE1BQU07UUFDMUIsSUFBSWIsTUFBTWMsTUFBTSxJQUFJLE1BQU07WUFDdEJYLE9BQU8sTUFBTUgsTUFBTWEsVUFBVSxHQUFHLE1BQU1iLE1BQU1jLE1BQU0sR0FBRztRQUN6RCxPQUFPO1lBQ0hYLE9BQU8sTUFBTUgsTUFBTWEsVUFBVSxHQUFHO1FBQ3BDO0lBQ0o7SUFDQSxPQUFPVixJQUFJWSxLQUFLLENBQUMsR0FBRyxDQUFDO0FBQ3pCO0FBRUEsSUFBSSxDQUFDLE9BQU9wRixRQUFRcUYsT0FBTyxLQUFLLGNBQWUsT0FBT3JGLFFBQVFxRixPQUFPLEtBQUssWUFBWXJGLFFBQVFxRixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9yRixRQUFRcUYsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3hGLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXFGLE9BQU8sRUFBRSxjQUFjO1FBQUVwRixPQUFPO0lBQUs7SUFDbkVILE9BQU95RixNQUFNLENBQUN2RixRQUFRcUYsT0FBTyxFQUFFckY7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXFGLE9BQU87QUFDbEMsRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3N0YWNrLWZyYW1lLmpzPzM5YTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRPcmlnaW5hbFN0YWNrRnJhbWU6IG51bGwsXG4gICAgZ2V0T3JpZ2luYWxTdGFja0ZyYW1lczogbnVsbCxcbiAgICBnZXRGcmFtZVNvdXJjZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRPcmlnaW5hbFN0YWNrRnJhbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0T3JpZ2luYWxTdGFja0ZyYW1lO1xuICAgIH0sXG4gICAgZ2V0T3JpZ2luYWxTdGFja0ZyYW1lczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRPcmlnaW5hbFN0YWNrRnJhbWVzO1xuICAgIH0sXG4gICAgZ2V0RnJhbWVTb3VyY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RnJhbWVTb3VyY2U7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBnZXRPcmlnaW5hbFN0YWNrRnJhbWUoc291cmNlLCB0eXBlLCBlcnJvck1lc3NhZ2UpIHtcbiAgICB2YXIgX3NvdXJjZV9maWxlLCBfc291cmNlX2ZpbGUxO1xuICAgIGFzeW5jIGZ1bmN0aW9uIF9nZXRPcmlnaW5hbFN0YWNrRnJhbWUoKSB7XG4gICAgICAgIHZhciAvKiBjb2xsYXBzZWQgKi8gX3NvdXJjZV9maWxlLCBfYm9keV9vcmlnaW5hbFN0YWNrRnJhbWVfZmlsZSwgX2JvZHlfb3JpZ2luYWxTdGFja0ZyYW1lO1xuICAgICAgICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgICAgIHBhcmFtcy5hcHBlbmQoXCJpc1NlcnZlclwiLCBTdHJpbmcodHlwZSA9PT0gXCJzZXJ2ZXJcIikpO1xuICAgICAgICBwYXJhbXMuYXBwZW5kKFwiaXNFZGdlU2VydmVyXCIsIFN0cmluZyh0eXBlID09PSBcImVkZ2Utc2VydmVyXCIpKTtcbiAgICAgICAgcGFyYW1zLmFwcGVuZChcImlzQXBwRGlyZWN0b3J5XCIsIFwidHJ1ZVwiKTtcbiAgICAgICAgcGFyYW1zLmFwcGVuZChcImVycm9yTWVzc2FnZVwiLCBlcnJvck1lc3NhZ2UpO1xuICAgICAgICBmb3IoY29uc3Qga2V5IGluIHNvdXJjZSl7XG4gICAgICAgICAgICB2YXIgX3NvdXJjZV9rZXk7XG4gICAgICAgICAgICBwYXJhbXMuYXBwZW5kKGtleSwgKChfc291cmNlX2tleSA9IHNvdXJjZVtrZXldKSAhPSBudWxsID8gX3NvdXJjZV9rZXkgOiBcIlwiKS50b1N0cmluZygpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgICAgICBjb25zdCB0bSA9IHNldFRpbWVvdXQoKCk9PmNvbnRyb2xsZXIuYWJvcnQoKSwgMzAwMCk7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHNlbGYuZmV0Y2goKHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIikgKyBcIi9fX25leHRqc19vcmlnaW5hbC1zdGFjay1mcmFtZT9cIiArIHBhcmFtcy50b1N0cmluZygpLCB7XG4gICAgICAgICAgICBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsXG4gICAgICAgIH0pLmZpbmFsbHkoKCk9PntcbiAgICAgICAgICAgIGNsZWFyVGltZW91dCh0bSk7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXJlcy5vayB8fCByZXMuc3RhdHVzID09PSAyMDQpIHtcbiAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoYXdhaXQgcmVzLnRleHQoKSkpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJvZHkgPSBhd2FpdCByZXMuanNvbigpO1xuICAgICAgICB2YXIgX3JlZjtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVycm9yOiBmYWxzZSxcbiAgICAgICAgICAgIHJlYXNvbjogbnVsbCxcbiAgICAgICAgICAgIGV4dGVybmFsOiBmYWxzZSxcbiAgICAgICAgICAgIGV4cGFuZGVkOiAhQm9vbGVhbigoX3JlZiA9ICgoX3NvdXJjZV9maWxlID0gc291cmNlLmZpbGUpID09IG51bGwgPyB2b2lkIDAgOiBfc291cmNlX2ZpbGUuaW5jbHVkZXMoXCJub2RlX21vZHVsZXNcIikpIHx8ICgoX2JvZHlfb3JpZ2luYWxTdGFja0ZyYW1lID0gYm9keS5vcmlnaW5hbFN0YWNrRnJhbWUpID09IG51bGwgPyB2b2lkIDAgOiAoX2JvZHlfb3JpZ2luYWxTdGFja0ZyYW1lX2ZpbGUgPSBfYm9keV9vcmlnaW5hbFN0YWNrRnJhbWUuZmlsZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9ib2R5X29yaWdpbmFsU3RhY2tGcmFtZV9maWxlLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpKSkgIT0gbnVsbCA/IF9yZWYgOiB0cnVlKSxcbiAgICAgICAgICAgIHNvdXJjZVN0YWNrRnJhbWU6IHNvdXJjZSxcbiAgICAgICAgICAgIG9yaWdpbmFsU3RhY2tGcmFtZTogYm9keS5vcmlnaW5hbFN0YWNrRnJhbWUsXG4gICAgICAgICAgICBvcmlnaW5hbENvZGVGcmFtZTogYm9keS5vcmlnaW5hbENvZGVGcmFtZSB8fCBudWxsLFxuICAgICAgICAgICAgc291cmNlUGFja2FnZTogYm9keS5zb3VyY2VQYWNrYWdlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChzb3VyY2UuZmlsZSA9PT0gXCI8YW5vbnltb3VzPlwiIHx8ICgoX3NvdXJjZV9maWxlID0gc291cmNlLmZpbGUpID09IG51bGwgPyB2b2lkIDAgOiBfc291cmNlX2ZpbGUubWF0Y2goL15ub2RlOi8pKSB8fCAoKF9zb3VyY2VfZmlsZTEgPSBzb3VyY2UuZmlsZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9zb3VyY2VfZmlsZTEubWF0Y2goL2h0dHBzPzpcXC9cXC8vKSkpIHtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICBlcnJvcjogZmFsc2UsXG4gICAgICAgICAgICByZWFzb246IG51bGwsXG4gICAgICAgICAgICBleHRlcm5hbDogdHJ1ZSxcbiAgICAgICAgICAgIGV4cGFuZGVkOiBmYWxzZSxcbiAgICAgICAgICAgIHNvdXJjZVN0YWNrRnJhbWU6IHNvdXJjZSxcbiAgICAgICAgICAgIG9yaWdpbmFsU3RhY2tGcmFtZTogbnVsbCxcbiAgICAgICAgICAgIG9yaWdpbmFsQ29kZUZyYW1lOiBudWxsXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB2YXIgX2Vycl9tZXNzYWdlLCBfcmVmO1xuICAgIHJldHVybiBfZ2V0T3JpZ2luYWxTdGFja0ZyYW1lKCkuY2F0Y2goKGVycik9Pih7XG4gICAgICAgICAgICBlcnJvcjogdHJ1ZSxcbiAgICAgICAgICAgIHJlYXNvbjogKF9yZWYgPSAoX2Vycl9tZXNzYWdlID0gZXJyID09IG51bGwgPyB2b2lkIDAgOiBlcnIubWVzc2FnZSkgIT0gbnVsbCA/IF9lcnJfbWVzc2FnZSA6IGVyciA9PSBudWxsID8gdm9pZCAwIDogZXJyLnRvU3RyaW5nKCkpICE9IG51bGwgPyBfcmVmIDogXCJVbmtub3duIEVycm9yXCIsXG4gICAgICAgICAgICBleHRlcm5hbDogZmFsc2UsXG4gICAgICAgICAgICBleHBhbmRlZDogZmFsc2UsXG4gICAgICAgICAgICBzb3VyY2VTdGFja0ZyYW1lOiBzb3VyY2UsXG4gICAgICAgICAgICBvcmlnaW5hbFN0YWNrRnJhbWU6IG51bGwsXG4gICAgICAgICAgICBvcmlnaW5hbENvZGVGcmFtZTogbnVsbFxuICAgICAgICB9KSk7XG59XG5mdW5jdGlvbiBnZXRPcmlnaW5hbFN0YWNrRnJhbWVzKGZyYW1lcywgdHlwZSwgZXJyb3JNZXNzYWdlKSB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKGZyYW1lcy5tYXAoKGZyYW1lKT0+Z2V0T3JpZ2luYWxTdGFja0ZyYW1lKGZyYW1lLCB0eXBlLCBlcnJvck1lc3NhZ2UpKSk7XG59XG5mdW5jdGlvbiBmb3JtYXRGcmFtZVNvdXJjZUZpbGUoZmlsZSkge1xuICAgIHJldHVybiBmaWxlLnJlcGxhY2UoL153ZWJwYWNrLWludGVybmFsOihcXC8pKyhcXC4pPy8sIFwiXCIpLnJlcGxhY2UoL153ZWJwYWNrOihcXC8pKyhcXC4pPy8sIFwiXCIpO1xufVxuZnVuY3Rpb24gZ2V0RnJhbWVTb3VyY2UoZnJhbWUpIHtcbiAgICBsZXQgc3RyID0gXCJcIjtcbiAgICB0cnkge1xuICAgICAgICB2YXIgX2dsb2JhbFRoaXNfbG9jYXRpb247XG4gICAgICAgIGNvbnN0IHUgPSBuZXcgVVJMKGZyYW1lLmZpbGUpO1xuICAgICAgICAvLyBTdHJpcCB0aGUgb3JpZ2luIGZvciBzYW1lLW9yaWdpbiBzY3JpcHRzLlxuICAgICAgICBpZiAodHlwZW9mIGdsb2JhbFRoaXMgIT09IFwidW5kZWZpbmVkXCIgJiYgKChfZ2xvYmFsVGhpc19sb2NhdGlvbiA9IGdsb2JhbFRoaXMubG9jYXRpb24pID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsVGhpc19sb2NhdGlvbi5vcmlnaW4pICE9PSB1Lm9yaWdpbikge1xuICAgICAgICAgICAgLy8gVVJMcyBjYW4gYmUgdmFsaWQgd2l0aG91dCBhbiBgb3JpZ2luYCwgc28gbG9uZyBhcyB0aGV5IGhhdmUgYVxuICAgICAgICAgICAgLy8gYHByb3RvY29sYC4gSG93ZXZlciwgYG9yaWdpbmAgaXMgcHJlZmVycmVkLlxuICAgICAgICAgICAgaWYgKHUub3JpZ2luID09PSBcIm51bGxcIikge1xuICAgICAgICAgICAgICAgIHN0ciArPSB1LnByb3RvY29sO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzdHIgKz0gdS5vcmlnaW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gU3RyaXAgcXVlcnkgc3RyaW5nIGluZm9ybWF0aW9uIGFzIGl0J3MgdHlwaWNhbGx5IHRvbyB2ZXJib3NlIHRvIGJlXG4gICAgICAgIC8vIG1lYW5pbmdmdWwuXG4gICAgICAgIHN0ciArPSB1LnBhdGhuYW1lO1xuICAgICAgICBzdHIgKz0gXCIgXCI7XG4gICAgICAgIHN0ciA9IGZvcm1hdEZyYW1lU291cmNlRmlsZShzdHIpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgc3RyICs9IGZvcm1hdEZyYW1lU291cmNlRmlsZShmcmFtZS5maWxlIHx8IFwiKHVua25vd24pXCIpICsgXCIgXCI7XG4gICAgfVxuICAgIGlmIChmcmFtZS5saW5lTnVtYmVyICE9IG51bGwpIHtcbiAgICAgICAgaWYgKGZyYW1lLmNvbHVtbiAhPSBudWxsKSB7XG4gICAgICAgICAgICBzdHIgKz0gXCIoXCIgKyBmcmFtZS5saW5lTnVtYmVyICsgXCI6XCIgKyBmcmFtZS5jb2x1bW4gKyBcIikgXCI7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdHIgKz0gXCIoXCIgKyBmcmFtZS5saW5lTnVtYmVyICsgXCIpIFwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdHIuc2xpY2UoMCwgLTEpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGFjay1mcmFtZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWUiLCJnZXRPcmlnaW5hbFN0YWNrRnJhbWVzIiwiZ2V0RnJhbWVTb3VyY2UiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJzb3VyY2UiLCJ0eXBlIiwiZXJyb3JNZXNzYWdlIiwiX3NvdXJjZV9maWxlIiwiX3NvdXJjZV9maWxlMSIsIl9nZXRPcmlnaW5hbFN0YWNrRnJhbWUiLCJfYm9keV9vcmlnaW5hbFN0YWNrRnJhbWVfZmlsZSIsIl9ib2R5X29yaWdpbmFsU3RhY2tGcmFtZSIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsIlN0cmluZyIsImtleSIsIl9zb3VyY2Vfa2V5IiwidG9TdHJpbmciLCJjb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwidG0iLCJzZXRUaW1lb3V0IiwiYWJvcnQiLCJyZXMiLCJzZWxmIiwiZmV0Y2giLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInNpZ25hbCIsImZpbmFsbHkiLCJjbGVhclRpbWVvdXQiLCJvayIsInN0YXR1cyIsIlByb21pc2UiLCJyZWplY3QiLCJFcnJvciIsInRleHQiLCJib2R5IiwianNvbiIsIl9yZWYiLCJlcnJvciIsInJlYXNvbiIsImV4dGVybmFsIiwiZXhwYW5kZWQiLCJCb29sZWFuIiwiZmlsZSIsImluY2x1ZGVzIiwib3JpZ2luYWxTdGFja0ZyYW1lIiwic291cmNlU3RhY2tGcmFtZSIsIm9yaWdpbmFsQ29kZUZyYW1lIiwic291cmNlUGFja2FnZSIsIm1hdGNoIiwicmVzb2x2ZSIsIl9lcnJfbWVzc2FnZSIsImNhdGNoIiwiZXJyIiwibWVzc2FnZSIsImZyYW1lcyIsIm1hcCIsImZyYW1lIiwiZm9ybWF0RnJhbWVTb3VyY2VGaWxlIiwicmVwbGFjZSIsInN0ciIsIl9nbG9iYWxUaGlzX2xvY2F0aW9uIiwidSIsIlVSTCIsImdsb2JhbFRoaXMiLCJsb2NhdGlvbiIsIm9yaWdpbiIsInByb3RvY29sIiwicGF0aG5hbWUiLCJlIiwibGluZU51bWJlciIsImNvbHVtbiIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js": /*!**********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js ***! \**********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RuntimeErrorHandler: function() {\n return RuntimeErrorHandler;\n },\n useErrorHandler: function() {\n return useErrorHandler;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _hydrationerrorinfo = __webpack_require__(/*! ./hydration-error-info */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/hydration-error-info.js\");\nconst _isnextroutererror = __webpack_require__(/*! ../../../is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst RuntimeErrorHandler = {\n hadRuntimeError: false\n};\nfunction isHydrationError(error) {\n return error.message.match(/(hydration|content does not match|did not match)/i) != null;\n}\nif (false) {}\nconst errorQueue = [];\nconst rejectionQueue = [];\nconst errorHandlers = [];\nconst rejectionHandlers = [];\nif (false) {}\nfunction useErrorHandler(handleOnUnhandledError, handleOnUnhandledRejection) {\n (0, _react.useEffect)(()=>{\n // Handle queued errors.\n errorQueue.forEach(handleOnUnhandledError);\n rejectionQueue.forEach(handleOnUnhandledRejection);\n // Listen to new errors.\n errorHandlers.push(handleOnUnhandledError);\n rejectionHandlers.push(handleOnUnhandledRejection);\n return ()=>{\n // Remove listeners.\n errorHandlers.splice(errorHandlers.indexOf(handleOnUnhandledError), 1);\n rejectionHandlers.splice(rejectionHandlers.indexOf(handleOnUnhandledRejection), 1);\n };\n }, [\n handleOnUnhandledError,\n handleOnUnhandledRejection\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-error-handler.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLWVycm9yLWhhbmRsZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFNBQVNDLG1CQUFPQSxDQUFDLHdHQUFPO0FBQzlCLE1BQU1DLHNCQUFzQkQsbUJBQU9BLENBQUMsMklBQXdCO0FBQzVELE1BQU1FLHFCQUFxQkYsbUJBQU9BLENBQUMsK0dBQStCO0FBQ2xFLE1BQU1ULHNCQUFzQjtJQUN4QlksaUJBQWlCO0FBQ3JCO0FBQ0EsU0FBU0MsaUJBQWlCQyxLQUFLO0lBQzNCLE9BQU9BLE1BQU1DLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLHdEQUF3RDtBQUN2RjtBQUNBLElBQUksS0FBNkIsRUFBRSxFQUtsQztBQUNELE1BQU1JLGFBQWEsRUFBRTtBQUNyQixNQUFNQyxpQkFBaUIsRUFBRTtBQUN6QixNQUFNQyxnQkFBZ0IsRUFBRTtBQUN4QixNQUFNQyxvQkFBb0IsRUFBRTtBQUM1QixJQUFJLEtBQTZCLEVBQUUsRUEyQ2xDO0FBQ0QsU0FBU3RCLGdCQUFnQm9DLHNCQUFzQixFQUFFQywwQkFBMEI7SUFDdEUsSUFBRzlCLE9BQU8rQixTQUFTLEVBQUU7UUFDbEIsd0JBQXdCO1FBQ3hCbkIsV0FBV29CLE9BQU8sQ0FBQ0g7UUFDbkJoQixlQUFlbUIsT0FBTyxDQUFDRjtRQUN2Qix3QkFBd0I7UUFDeEJoQixjQUFjWSxJQUFJLENBQUNHO1FBQ25CZCxrQkFBa0JXLElBQUksQ0FBQ0k7UUFDdkIsT0FBTztZQUNILG9CQUFvQjtZQUNwQmhCLGNBQWNtQixNQUFNLENBQUNuQixjQUFjb0IsT0FBTyxDQUFDTCx5QkFBeUI7WUFDcEVkLGtCQUFrQmtCLE1BQU0sQ0FBQ2xCLGtCQUFrQm1CLE9BQU8sQ0FBQ0osNkJBQTZCO1FBQ3BGO0lBQ0osR0FBRztRQUNDRDtRQUNBQztLQUNIO0FBQ0w7QUFFQSxJQUFJLENBQUMsT0FBT3pDLFFBQVE4QyxPQUFPLEtBQUssY0FBZSxPQUFPOUMsUUFBUThDLE9BQU8sS0FBSyxZQUFZOUMsUUFBUThDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzlDLFFBQVE4QyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakQsT0FBT0MsY0FBYyxDQUFDQyxRQUFROEMsT0FBTyxFQUFFLGNBQWM7UUFBRTdDLE9BQU87SUFBSztJQUNuRUgsT0FBT2tELE1BQU0sQ0FBQ2hELFFBQVE4QyxPQUFPLEVBQUU5QztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFROEMsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLWVycm9yLWhhbmRsZXIuanM/YTYwNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJ1bnRpbWVFcnJvckhhbmRsZXI6IG51bGwsXG4gICAgdXNlRXJyb3JIYW5kbGVyOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJ1bnRpbWVFcnJvckhhbmRsZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUnVudGltZUVycm9ySGFuZGxlcjtcbiAgICB9LFxuICAgIHVzZUVycm9ySGFuZGxlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VFcnJvckhhbmRsZXI7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5jb25zdCBfaHlkcmF0aW9uZXJyb3JpbmZvID0gcmVxdWlyZShcIi4vaHlkcmF0aW9uLWVycm9yLWluZm9cIik7XG5jb25zdCBfaXNuZXh0cm91dGVyZXJyb3IgPSByZXF1aXJlKFwiLi4vLi4vLi4vaXMtbmV4dC1yb3V0ZXItZXJyb3JcIik7XG5jb25zdCBSdW50aW1lRXJyb3JIYW5kbGVyID0ge1xuICAgIGhhZFJ1bnRpbWVFcnJvcjogZmFsc2Vcbn07XG5mdW5jdGlvbiBpc0h5ZHJhdGlvbkVycm9yKGVycm9yKSB7XG4gICAgcmV0dXJuIGVycm9yLm1lc3NhZ2UubWF0Y2goLyhoeWRyYXRpb258Y29udGVudCBkb2VzIG5vdCBtYXRjaHxkaWQgbm90IG1hdGNoKS9pKSAhPSBudWxsO1xufVxuaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICB0cnkge1xuICAgICAgICAvLyBJbmNyZWFzZSB0aGUgbnVtYmVyIG9mIHN0YWNrIGZyYW1lcyBvbiB0aGUgY2xpZW50XG4gICAgICAgIEVycm9yLnN0YWNrVHJhY2VMaW1pdCA9IDUwO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG59XG5jb25zdCBlcnJvclF1ZXVlID0gW107XG5jb25zdCByZWplY3Rpb25RdWV1ZSA9IFtdO1xuY29uc3QgZXJyb3JIYW5kbGVycyA9IFtdO1xuY29uc3QgcmVqZWN0aW9uSGFuZGxlcnMgPSBbXTtcbmlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgLy8gVGhlc2UgZXZlbnQgaGFuZGxlcnMgbXVzdCBiZSBhZGRlZCBvdXRzaWRlIG9mIHRoZSBob29rIGJlY2F1c2UgdGhlcmUgaXMgbm9cbiAgICAvLyBndWFyYW50ZWUgdGhhdCB0aGUgaG9vayB3aWxsIGJlIGFsaXZlIGluIGEgbW91bnRlZCBjb21wb25lbnQgaW4gdGltZSB0b1xuICAgIC8vIHdoZW4gdGhlIGVycm9ycyBvY2N1ci5cbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImVycm9yXCIsIChldik9PntcbiAgICAgICAgaWYgKCgwLCBfaXNuZXh0cm91dGVyZXJyb3IuaXNOZXh0Um91dGVyRXJyb3IpKGV2LmVycm9yKSkge1xuICAgICAgICAgICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlcnJvciA9IGV2ID09IG51bGwgPyB2b2lkIDAgOiBldi5lcnJvcjtcbiAgICAgICAgaWYgKCFlcnJvciB8fCAhKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHx8IHR5cGVvZiBlcnJvci5zdGFjayAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgLy8gQSBub24tZXJyb3Igd2FzIHRocm93biwgd2UgZG9uJ3QgaGF2ZSBhbnl0aGluZyB0byBzaG93LiA6LShcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNIeWRyYXRpb25FcnJvcihlcnJvcikgJiYgIWVycm9yLm1lc3NhZ2UuaW5jbHVkZXMoXCJodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9yZWFjdC1oeWRyYXRpb24tZXJyb3JcIikpIHtcbiAgICAgICAgICAgIGlmIChfaHlkcmF0aW9uZXJyb3JpbmZvLmh5ZHJhdGlvbkVycm9yV2FybmluZykge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBwYXRjaGVkIGNvbnNvbGUuZXJyb3IgZm91bmQgaHlkcmF0aW9uIGVycm9ycyBsb2dnZWQgYnkgUmVhY3RcbiAgICAgICAgICAgICAgICAvLyBBcHBlbmQgdGhlIGxvZ2dlZCB3YXJuaW5nIHRvIHRoZSBlcnJvciBtZXNzYWdlXG4gICAgICAgICAgICAgICAgZXJyb3IubWVzc2FnZSArPSBcIlxcblxcblwiICsgX2h5ZHJhdGlvbmVycm9yaW5mby5oeWRyYXRpb25FcnJvcldhcm5pbmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoX2h5ZHJhdGlvbmVycm9yaW5mby5oeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrKSB7XG4gICAgICAgICAgICAgICAgZXJyb3IuX2NvbXBvbmVudFN0YWNrID0gX2h5ZHJhdGlvbmVycm9yaW5mby5oeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXJyb3IubWVzc2FnZSArPSBcIlxcblxcblNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcmVhY3QtaHlkcmF0aW9uLWVycm9yXCI7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZSA9IGVycm9yO1xuICAgICAgICBlcnJvclF1ZXVlLnB1c2goZSk7XG4gICAgICAgIGZvciAoY29uc3QgaGFuZGxlciBvZiBlcnJvckhhbmRsZXJzKXtcbiAgICAgICAgICAgIGhhbmRsZXIoZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInVuaGFuZGxlZHJlamVjdGlvblwiLCAoZXYpPT57XG4gICAgICAgIGNvbnN0IHJlYXNvbiA9IGV2ID09IG51bGwgPyB2b2lkIDAgOiBldi5yZWFzb247XG4gICAgICAgIGlmICghcmVhc29uIHx8ICEocmVhc29uIGluc3RhbmNlb2YgRXJyb3IpIHx8IHR5cGVvZiByZWFzb24uc3RhY2sgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIC8vIEEgbm9uLWVycm9yIHdhcyB0aHJvd24sIHdlIGRvbid0IGhhdmUgYW55dGhpbmcgdG8gc2hvdy4gOi0oXG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZSA9IHJlYXNvbjtcbiAgICAgICAgcmVqZWN0aW9uUXVldWUucHVzaChlKTtcbiAgICAgICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHJlamVjdGlvbkhhbmRsZXJzKXtcbiAgICAgICAgICAgIGhhbmRsZXIoZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHVzZUVycm9ySGFuZGxlcihoYW5kbGVPblVuaGFuZGxlZEVycm9yLCBoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbikge1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICAvLyBIYW5kbGUgcXVldWVkIGVycm9ycy5cbiAgICAgICAgZXJyb3JRdWV1ZS5mb3JFYWNoKGhhbmRsZU9uVW5oYW5kbGVkRXJyb3IpO1xuICAgICAgICByZWplY3Rpb25RdWV1ZS5mb3JFYWNoKGhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uKTtcbiAgICAgICAgLy8gTGlzdGVuIHRvIG5ldyBlcnJvcnMuXG4gICAgICAgIGVycm9ySGFuZGxlcnMucHVzaChoYW5kbGVPblVuaGFuZGxlZEVycm9yKTtcbiAgICAgICAgcmVqZWN0aW9uSGFuZGxlcnMucHVzaChoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbik7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgLy8gUmVtb3ZlIGxpc3RlbmVycy5cbiAgICAgICAgICAgIGVycm9ySGFuZGxlcnMuc3BsaWNlKGVycm9ySGFuZGxlcnMuaW5kZXhPZihoYW5kbGVPblVuaGFuZGxlZEVycm9yKSwgMSk7XG4gICAgICAgICAgICByZWplY3Rpb25IYW5kbGVycy5zcGxpY2UocmVqZWN0aW9uSGFuZGxlcnMuaW5kZXhPZihoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiksIDEpO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgaGFuZGxlT25VbmhhbmRsZWRFcnJvcixcbiAgICAgICAgaGFuZGxlT25VbmhhbmRsZWRSZWplY3Rpb25cbiAgICBdKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlLWVycm9yLWhhbmRsZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUnVudGltZUVycm9ySGFuZGxlciIsInVzZUVycm9ySGFuZGxlciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9yZWFjdCIsInJlcXVpcmUiLCJfaHlkcmF0aW9uZXJyb3JpbmZvIiwiX2lzbmV4dHJvdXRlcmVycm9yIiwiaGFkUnVudGltZUVycm9yIiwiaXNIeWRyYXRpb25FcnJvciIsImVycm9yIiwibWVzc2FnZSIsIm1hdGNoIiwiRXJyb3IiLCJzdGFja1RyYWNlTGltaXQiLCJlIiwiZXJyb3JRdWV1ZSIsInJlamVjdGlvblF1ZXVlIiwiZXJyb3JIYW5kbGVycyIsInJlamVjdGlvbkhhbmRsZXJzIiwid2luZG93IiwiYWRkRXZlbnRMaXN0ZW5lciIsImV2IiwiaXNOZXh0Um91dGVyRXJyb3IiLCJwcmV2ZW50RGVmYXVsdCIsInN0YWNrIiwiaW5jbHVkZXMiLCJoeWRyYXRpb25FcnJvcldhcm5pbmciLCJoeWRyYXRpb25FcnJvckNvbXBvbmVudFN0YWNrIiwiX2NvbXBvbmVudFN0YWNrIiwicHVzaCIsImhhbmRsZXIiLCJyZWFzb24iLCJoYW5kbGVPblVuaGFuZGxlZEVycm9yIiwiaGFuZGxlT25VbmhhbmRsZWRSZWplY3Rpb24iLCJ1c2VFZmZlY3QiLCJmb3JFYWNoIiwic3BsaWNlIiwiaW5kZXhPZiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOpenInEditor\", ({\n enumerable: true,\n get: function() {\n return useOpenInEditor;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nfunction useOpenInEditor(param) {\n let { file, lineNumber, column } = param === void 0 ? {} : param;\n const openInEditor = (0, _react.useCallback)(()=>{\n if (file == null || lineNumber == null || column == null) return;\n const params = new URLSearchParams();\n params.append(\"file\", file);\n params.append(\"lineNumber\", String(lineNumber));\n params.append(\"column\", String(column));\n self.fetch(( false || \"\") + \"/__nextjs_launch-editor?\" + params.toString()).then(()=>{}, ()=>{\n console.error(\"There was an issue opening this code in your editor.\");\n });\n }, [\n file,\n lineNumber,\n column\n ]);\n return openInEditor;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-open-in-editor.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLW9wZW4taW4tZWRpdG9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixTQUFTRixnQkFBZ0JHLEtBQUs7SUFDMUIsSUFBSSxFQUFFQyxJQUFJLEVBQUVDLFVBQVUsRUFBRUMsTUFBTSxFQUFFLEdBQUdILFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7SUFDM0QsTUFBTUksZUFBZSxDQUFDLEdBQUdOLE9BQU9PLFdBQVcsRUFBRTtRQUN6QyxJQUFJSixRQUFRLFFBQVFDLGNBQWMsUUFBUUMsVUFBVSxNQUFNO1FBQzFELE1BQU1HLFNBQVMsSUFBSUM7UUFDbkJELE9BQU9FLE1BQU0sQ0FBQyxRQUFRUDtRQUN0QkssT0FBT0UsTUFBTSxDQUFDLGNBQWNDLE9BQU9QO1FBQ25DSSxPQUFPRSxNQUFNLENBQUMsVUFBVUMsT0FBT047UUFDL0JPLEtBQUtDLEtBQUssQ0FBQyxDQUFDQyxNQUFrQyxJQUFJLEVBQUMsSUFBSyw2QkFBNkJOLE9BQU9TLFFBQVEsSUFBSUMsSUFBSSxDQUFDLEtBQUssR0FBRztZQUNqSEMsUUFBUUMsS0FBSyxDQUFDO1FBQ2xCO0lBQ0osR0FBRztRQUNDakI7UUFDQUM7UUFDQUM7S0FDSDtJQUNELE9BQU9DO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks3QixPQUFPQyxjQUFjLENBQUNDLFFBQVEwQixPQUFPLEVBQUUsY0FBYztRQUFFekIsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEIsTUFBTSxDQUFDNUIsUUFBUTBCLE9BQU8sRUFBRTFCO0lBQy9CNkIsT0FBTzdCLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9oZWxwZXJzL3VzZS1vcGVuLWluLWVkaXRvci5qcz8xNDIyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwidXNlT3BlbkluRWRpdG9yXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1c2VPcGVuSW5FZGl0b3I7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3QgPSByZXF1aXJlKFwicmVhY3RcIik7XG5mdW5jdGlvbiB1c2VPcGVuSW5FZGl0b3IocGFyYW0pIHtcbiAgICBsZXQgeyBmaWxlLCBsaW5lTnVtYmVyLCBjb2x1bW4gfSA9IHBhcmFtID09PSB2b2lkIDAgPyB7fSA6IHBhcmFtO1xuICAgIGNvbnN0IG9wZW5JbkVkaXRvciA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKCgpPT57XG4gICAgICAgIGlmIChmaWxlID09IG51bGwgfHwgbGluZU51bWJlciA9PSBudWxsIHx8IGNvbHVtbiA9PSBudWxsKSByZXR1cm47XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcbiAgICAgICAgcGFyYW1zLmFwcGVuZChcImZpbGVcIiwgZmlsZSk7XG4gICAgICAgIHBhcmFtcy5hcHBlbmQoXCJsaW5lTnVtYmVyXCIsIFN0cmluZyhsaW5lTnVtYmVyKSk7XG4gICAgICAgIHBhcmFtcy5hcHBlbmQoXCJjb2x1bW5cIiwgU3RyaW5nKGNvbHVtbikpO1xuICAgICAgICBzZWxmLmZldGNoKChwcm9jZXNzLmVudi5fX05FWFRfUk9VVEVSX0JBU0VQQVRIIHx8IFwiXCIpICsgXCIvX19uZXh0anNfbGF1bmNoLWVkaXRvcj9cIiArIHBhcmFtcy50b1N0cmluZygpKS50aGVuKCgpPT57fSwgKCk9PntcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJUaGVyZSB3YXMgYW4gaXNzdWUgb3BlbmluZyB0aGlzIGNvZGUgaW4geW91ciBlZGl0b3IuXCIpO1xuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGZpbGUsXG4gICAgICAgIGxpbmVOdW1iZXIsXG4gICAgICAgIGNvbHVtblxuICAgIF0pO1xuICAgIHJldHVybiBvcGVuSW5FZGl0b3I7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZS1vcGVuLWluLWVkaXRvci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwidXNlT3BlbkluRWRpdG9yIiwiX3JlYWN0IiwicmVxdWlyZSIsInBhcmFtIiwiZmlsZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJvcGVuSW5FZGl0b3IiLCJ1c2VDYWxsYmFjayIsInBhcmFtcyIsIlVSTFNlYXJjaFBhcmFtcyIsImFwcGVuZCIsIlN0cmluZyIsInNlbGYiLCJmZXRjaCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwidG9TdHJpbmciLCJ0aGVuIiwiY29uc29sZSIsImVycm9yIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js ***! \******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useWebsocket: function() {\n return useWebsocket;\n },\n useSendMessage: function() {\n return useSendMessage;\n },\n useTurbopack: function() {\n return useTurbopack;\n },\n useWebsocketPing: function() {\n return useWebsocketPing;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../../../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _getsocketurl = __webpack_require__(/*! ./get-socket-url */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/get-socket-url.js\");\nfunction useWebsocket(assetPrefix) {\n const webSocketRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (webSocketRef.current) {\n return;\n }\n const url = (0, _getsocketurl.getSocketUrl)(assetPrefix);\n webSocketRef.current = new window.WebSocket(\"\" + url + \"/_next/webpack-hmr\");\n }, [\n assetPrefix\n ]);\n return webSocketRef;\n}\nfunction useSendMessage(webSocketRef) {\n const sendMessage = (0, _react.useCallback)((data)=>{\n const socket = webSocketRef.current;\n if (!socket || socket.readyState !== socket.OPEN) {\n return;\n }\n return socket.send(data);\n }, [\n webSocketRef\n ]);\n return sendMessage;\n}\nfunction useTurbopack(sendMessage) {\n const turbopackState = (0, _react.useRef)({\n init: false,\n // Until the dynamic import resolves, queue any turbopack messages which will be replayed.\n queue: [],\n callback: undefined\n });\n const processTurbopackMessage = (0, _react.useCallback)((msg)=>{\n var _msg_type;\n if (\"type\" in msg && ((_msg_type = msg.type) == null ? void 0 : _msg_type.startsWith(\"turbopack-\"))) {\n const { callback, queue } = turbopackState.current;\n if (callback) {\n callback(msg);\n } else {\n queue.push(msg);\n }\n return true;\n }\n return false;\n }, []);\n (0, _react.useEffect)(()=>{\n const { current: initCurrent } = turbopackState;\n // TODO(WEB-1589): only install if `process.turbopack` set.\n if (initCurrent.init) {\n return;\n }\n initCurrent.init = true;\n Promise.resolve().then(()=>/*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! @vercel/turbopack-ecmascript-runtime/dev/client/hmr-client.ts */ \"(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\"))).then((param)=>{\n let { connect } = param;\n const { current } = turbopackState;\n connect({\n addMessageListener (cb) {\n current.callback = cb;\n // Replay all Turbopack messages before we were able to establish the HMR client.\n for (const msg of current.queue){\n cb(msg);\n }\n current.queue = undefined;\n },\n sendMessage\n });\n });\n }, [\n sendMessage\n ]);\n return processTurbopackMessage;\n}\nfunction useWebsocketPing(websocketRef) {\n const sendMessage = useSendMessage(websocketRef);\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n (0, _react.useEffect)(()=>{\n // Taken from on-demand-entries-client.js\n const interval = setInterval(()=>{\n sendMessage(JSON.stringify({\n event: \"ping\",\n tree,\n appDirRoute: true\n }));\n }, 2500);\n return ()=>clearInterval(interval);\n }, [\n tree,\n sendMessage\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-websocket.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hlbHBlcnMvdXNlLXdlYnNvY2tldC5qcyIsIm1hcHBpbmdzIjoiQUFBYTs7Ozs7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLGNBQWM7UUFDVixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sU0FBU0MsbUJBQU9BLENBQUMsd0dBQU87QUFDOUIsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyxnTEFBNkQ7QUFDNUcsTUFBTUUsZ0JBQWdCRixtQkFBT0EsQ0FBQywrSEFBa0I7QUFDaEQsU0FBU1gsYUFBYWMsV0FBVztJQUM3QixNQUFNQyxlQUFlLENBQUMsR0FBR0wsT0FBT00sTUFBTTtJQUNyQyxJQUFHTixPQUFPTyxTQUFTLEVBQUU7UUFDbEIsSUFBSUYsYUFBYUcsT0FBTyxFQUFFO1lBQ3RCO1FBQ0o7UUFDQSxNQUFNQyxNQUFNLENBQUMsR0FBR04sY0FBY08sWUFBWSxFQUFFTjtRQUM1Q0MsYUFBYUcsT0FBTyxHQUFHLElBQUlHLE9BQU9DLFNBQVMsQ0FBQyxLQUFLSCxNQUFNO0lBQzNELEdBQUc7UUFDQ0w7S0FDSDtJQUNELE9BQU9DO0FBQ1g7QUFDQSxTQUFTZCxlQUFlYyxZQUFZO0lBQ2hDLE1BQU1RLGNBQWMs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dWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaGVscGVycy91c2Utd2Vic29ja2V0LmpzPzdiODEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICB1c2VXZWJzb2NrZXQ6IG51bGwsXG4gICAgdXNlU2VuZE1lc3NhZ2U6IG51bGwsXG4gICAgdXNlVHVyYm9wYWNrOiBudWxsLFxuICAgIHVzZVdlYnNvY2tldFBpbmc6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgdXNlV2Vic29ja2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVdlYnNvY2tldDtcbiAgICB9LFxuICAgIHVzZVNlbmRNZXNzYWdlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVNlbmRNZXNzYWdlO1xuICAgIH0sXG4gICAgdXNlVHVyYm9wYWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZVR1cmJvcGFjaztcbiAgICB9LFxuICAgIHVzZVdlYnNvY2tldFBpbmc6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlV2Vic29ja2V0UGluZztcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9nZXRzb2NrZXR1cmwgPSByZXF1aXJlKFwiLi9nZXQtc29ja2V0LXVybFwiKTtcbmZ1bmN0aW9uIHVzZVdlYnNvY2tldChhc3NldFByZWZpeCkge1xuICAgIGNvbnN0IHdlYlNvY2tldFJlZiA9ICgwLCBfcmVhY3QudXNlUmVmKSgpO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBpZiAod2ViU29ja2V0UmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB1cmwgPSAoMCwgX2dldHNvY2tldHVybC5nZXRTb2NrZXRVcmwpKGFzc2V0UHJlZml4KTtcbiAgICAgICAgd2ViU29ja2V0UmVmLmN1cnJlbnQgPSBuZXcgd2luZG93LldlYlNvY2tldChcIlwiICsgdXJsICsgXCIvX25leHQvd2VicGFjay1obXJcIik7XG4gICAgfSwgW1xuICAgICAgICBhc3NldFByZWZpeFxuICAgIF0pO1xuICAgIHJldHVybiB3ZWJTb2NrZXRSZWY7XG59XG5mdW5jdGlvbiB1c2VTZW5kTWVzc2FnZSh3ZWJTb2NrZXRSZWYpIHtcbiAgICBjb25zdCBzZW5kTWVzc2FnZSA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChkYXRhKT0+e1xuICAgICAgICBjb25zdCBzb2NrZXQgPSB3ZWJTb2NrZXRSZWYuY3VycmVudDtcbiAgICAgICAgaWYgKCFzb2NrZXQgfHwgc29ja2V0LnJlYWR5U3RhdGUgIT09IHNvY2tldC5PUEVOKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHNvY2tldC5zZW5kKGRhdGEpO1xuICAgIH0sIFtcbiAgICAgICAgd2ViU29ja2V0UmVmXG4gICAgXSk7XG4gICAgcmV0dXJuIHNlbmRNZXNzYWdlO1xufVxuZnVuY3Rpb24gdXNlVHVyYm9wYWNrKHNlbmRNZXNzYWdlKSB7XG4gICAgY29uc3QgdHVyYm9wYWNrU3RhdGUgPSAoMCwgX3JlYWN0LnVzZVJlZikoe1xuICAgICAgICBpbml0OiBmYWxzZSxcbiAgICAgICAgLy8gVW50aWwgdGhlIGR5bmFtaWMgaW1wb3J0IHJlc29sdmVzLCBxdWV1ZSBhbnkgdHVyYm9wYWNrIG1lc3NhZ2VzIHdoaWNoIHdpbGwgYmUgcmVwbGF5ZWQuXG4gICAgICAgIHF1ZXVlOiBbXSxcbiAgICAgICAgY2FsbGJhY2s6IHVuZGVmaW5lZFxuICAgIH0pO1xuICAgIGNvbnN0IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKG1zZyk9PntcbiAgICAgICAgdmFyIF9tc2dfdHlwZTtcbiAgICAgICAgaWYgKFwidHlwZVwiIGluIG1zZyAmJiAoKF9tc2dfdHlwZSA9IG1zZy50eXBlKSA9PSBudWxsID8gdm9pZCAwIDogX21zZ190eXBlLnN0YXJ0c1dpdGgoXCJ0dXJib3BhY2stXCIpKSkge1xuICAgICAgICAgICAgY29uc3QgeyBjYWxsYmFjaywgcXVldWUgfSA9IHR1cmJvcGFja1N0YXRlLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhtc2cpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBxdWV1ZS5wdXNoKG1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSwgW10pO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCB7IGN1cnJlbnQ6IGluaXRDdXJyZW50IH0gPSB0dXJib3BhY2tTdGF0ZTtcbiAgICAgICAgLy8gVE9ETyhXRUItMTU4OSk6IG9ubHkgaW5zdGFsbCBpZiBgcHJvY2Vzcy50dXJib3BhY2tgIHNldC5cbiAgICAgICAgaWYgKGluaXRDdXJyZW50LmluaXQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpbml0Q3VycmVudC5pbml0ID0gdHJ1ZTtcbiAgICAgICAgaW1wb3J0KC8vIEB0cy1leHBlY3QtZXJyb3IgcmVxdWlyZXMgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwibm9kZTE2XCIgaW4gdHNjb25maWcuanNvbiBhbmQgbm90IC50cyBleHRlbnNpb25cbiAgICAgICAgXCJAdmVyY2VsL3R1cmJvcGFjay1lY21hc2NyaXB0LXJ1bnRpbWUvZGV2L2NsaWVudC9obXItY2xpZW50LnRzXCIpLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICAgICAgbGV0IHsgY29ubmVjdCB9ID0gcGFyYW07XG4gICAgICAgICAgICBjb25zdCB7IGN1cnJlbnQgfSA9IHR1cmJvcGFja1N0YXRlO1xuICAgICAgICAgICAgY29ubmVjdCh7XG4gICAgICAgICAgICAgICAgYWRkTWVzc2FnZUxpc3RlbmVyIChjYikge1xuICAgICAgICAgICAgICAgICAgICBjdXJyZW50LmNhbGxiYWNrID0gY2I7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlcGxheSBhbGwgVHVyYm9wYWNrIG1lc3NhZ2VzIGJlZm9yZSB3ZSB3ZXJlIGFibGUgdG8gZXN0YWJsaXNoIHRoZSBITVIgY2xpZW50LlxuICAgICAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1zZyBvZiBjdXJyZW50LnF1ZXVlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNiKG1zZyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgY3VycmVudC5xdWV1ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHNlbmRNZXNzYWdlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBzZW5kTWVzc2FnZVxuICAgIF0pO1xuICAgIHJldHVybiBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZTtcbn1cbmZ1bmN0aW9uIHVzZVdlYnNvY2tldFBpbmcod2Vic29ja2V0UmVmKSB7XG4gICAgY29uc3Qgc2VuZE1lc3NhZ2UgPSB1c2VTZW5kTWVzc2FnZSh3ZWJzb2NrZXRSZWYpO1xuICAgIGNvbnN0IHsgdHJlZSB9ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIC8vIFRha2VuIGZyb20gb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzXG4gICAgICAgIGNvbnN0IGludGVydmFsID0gc2V0SW50ZXJ2YWwoKCk9PntcbiAgICAgICAgICAgIHNlbmRNZXNzYWdlKEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBldmVudDogXCJwaW5nXCIsXG4gICAgICAgICAgICAgICAgdHJlZSxcbiAgICAgICAgICAgICAgICBhcHBEaXJSb3V0ZTogdHJ1ZVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9LCAyNTAwKTtcbiAgICAgICAgcmV0dXJuICgpPT5jbGVhckludGVydmFsKGludGVydmFsKTtcbiAgICB9LCBbXG4gICAgICAgIHRyZWUsXG4gICAgICAgIHNlbmRNZXNzYWdlXG4gICAgXSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZS13ZWJzb2NrZXQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwidXNlV2Vic29ja2V0IiwidXNlU2VuZE1lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VXZWJzb2NrZXRQaW5nIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JlYWN0IiwicmVxdWlyZSIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9nZXRzb2NrZXR1cmwiLCJhc3NldFByZWZpeCIsIndlYlNvY2tldFJlZiIsInVzZVJlZiIsInVzZUVmZmVjdCIsImN1cnJlbnQiLCJ1cmwiLCJnZXRTb2NrZXRVcmwiLCJ3aW5kb3ciLCJXZWJTb2NrZXQiLCJzZW5kTWVzc2FnZSIsInVzZUNhbGxiYWNrIiwiZGF0YSIsInNvY2tldCIsInJlYWR5U3RhdGUiLCJPUEVOIiwic2VuZCIsInR1cmJvcGFja1N0YXRlIiwiaW5pdCIsInF1ZXVlIiwiY2FsbGJhY2siLCJ1bmRlZmluZWQiLCJwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSIsIm1zZyIsIl9tc2dfdHlwZSIsInR5cGUiLCJzdGFydHNXaXRoIiwicHVzaCIsImluaXRDdXJyZW50IiwidGhlbiIsInBhcmFtIiwiY29ubmVjdCIsImFkZE1lc3NhZ2VMaXN0ZW5lciIsImNiIiwid2Vic29ja2V0UmVmIiwidHJlZSIsInVzZUNvbnRleHQiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiaW50ZXJ2YWwiLCJzZXRJbnRlcnZhbCIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsImFwcERpclJvdXRlIiwiY2xlYXJJbnRlcnZhbCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useOnClickOutside\", ({\n enumerable: true,\n get: function() {\n return useOnClickOutside;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction useOnClickOutside(el, handler) {\n _react.useEffect(()=>{\n if (el == null || handler == null) {\n return;\n }\n const listener = (e)=>{\n // Do nothing if clicking ref's element or descendent elements\n if (!el || el.contains(e.target)) {\n return;\n }\n handler(e);\n };\n const root = el.getRootNode();\n root.addEventListener(\"mousedown\", listener);\n root.addEventListener(\"touchstart\", listener);\n return function() {\n root.removeEventListener(\"mousedown\", listener);\n root.removeEventListener(\"touchstart\", listener);\n };\n }, [\n handler,\n el\n ]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-on-click-outside.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLFNBQVNGLGtCQUFrQkssRUFBRSxFQUFFQyxPQUFPO0lBQ2xDSCxPQUFPSSxTQUFTLENBQUM7UUFDYixJQUFJRixNQUFNLFFBQVFDLFdBQVcsTUFBTTtZQUMvQjtRQUNKO1FBQ0EsTUFBTUUsV0FBVyxDQUFDQztZQUNkLDhEQUE4RDtZQUM5RCxJQUFJLENBQUNKLE1BQU1BLEdBQUdLLFFBQVEsQ0FBQ0QsRUFBRUUsTUFBTSxHQUFHO2dCQUM5QjtZQUNKO1lBQ0FMLFFBQVFHO1FBQ1o7UUFDQSxNQUFNRyxPQUFPUCxHQUFHUSxXQUFXO1FBQzNCRCxLQUFLRSxnQkFBZ0IsQ0FBQyxhQUFhTjtRQUNuQ0ksS0FBS0UsZ0JBQWdCLENBQUMsY0FBY047UUFDcEMsT0FBTztZQUNISSxLQUFLRyxtQkFBbUIsQ0FBQyxhQUFhUDtZQUN0Q0ksS0FBS0csbUJBQW1CLENBQUMsY0FBY1A7UUFDM0M7SUFDSixHQUFHO1FBQ0NGO1FBQ0FEO0tBQ0g7QUFDTDtBQUVBLElBQUksQ0FBQyxPQUFPVCxRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0J1QixPQUFPdkIsT0FBTyxHQUFHQSxRQUFRb0IsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlLmpzP2M2OTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ1c2VPbkNsaWNrT3V0c2lkZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlT25DbGlja091dHNpZGU7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuZnVuY3Rpb24gdXNlT25DbGlja091dHNpZGUoZWwsIGhhbmRsZXIpIHtcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChlbCA9PSBudWxsIHx8IGhhbmRsZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGxpc3RlbmVyID0gKGUpPT57XG4gICAgICAgICAgICAvLyBEbyBub3RoaW5nIGlmIGNsaWNraW5nIHJlZidzIGVsZW1lbnQgb3IgZGVzY2VuZGVudCBlbGVtZW50c1xuICAgICAgICAgICAgaWYgKCFlbCB8fCBlbC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoYW5kbGVyKGUpO1xuICAgICAgICB9O1xuICAgICAgICBjb25zdCByb290ID0gZWwuZ2V0Um9vdE5vZGUoKTtcbiAgICAgICAgcm9vdC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIGxpc3RlbmVyKTtcbiAgICAgICAgcm9vdC5hZGRFdmVudExpc3RlbmVyKFwidG91Y2hzdGFydFwiLCBsaXN0ZW5lcik7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHJvb3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCBsaXN0ZW5lcik7XG4gICAgICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJ0b3VjaHN0YXJ0XCIsIGxpc3RlbmVyKTtcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIGhhbmRsZXIsXG4gICAgICAgIGVsXG4gICAgXSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZS1vbi1jbGljay1vdXRzaWRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJ1c2VPbkNsaWNrT3V0c2lkZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsImVsIiwiaGFuZGxlciIsInVzZUVmZmVjdCIsImxpc3RlbmVyIiwiZSIsImNvbnRhaW5zIiwidGFyZ2V0Iiwicm9vdCIsImdldFJvb3ROb2RlIiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CloseIcon\", ({\n enumerable: true,\n get: function() {\n return CloseIcon;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst CloseIcon = ()=>{\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n width: \"24\",\n height: \"24\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 6L6 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6 6L18 18\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CloseIcon.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2ljb25zL0Nsb3NlSWNvbi5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUYsWUFBWTtJQUNkLE9BQXFCLFdBQUgsR0FBSSxJQUFHRyxZQUFZRyxJQUFJLEVBQUUsT0FBTztRQUM5Q0MsT0FBTztRQUNQQyxRQUFRO1FBQ1JDLFNBQVM7UUFDVEMsTUFBTTtRQUNOQyxPQUFPO1FBQ1BDLFVBQVU7WUFDTixXQUFXLEdBQUksSUFBR1QsWUFBWVUsR0FBRyxFQUFFLFFBQVE7Z0JBQ3ZDQyxHQUFHO2dCQUNIQyxRQUFRO2dCQUNSQyxhQUFhO2dCQUNiQyxlQUFlO2dCQUNmQyxnQkFBZ0I7WUFDcEI7WUFDQSxXQUFXLEdBQUksSUFBR2YsWUFBWVUsR0FBRyxFQUFFLFFBQVE7Z0JBQ3ZDQyxHQUFHO2dCQUNIQyxRQUFRO2dCQUNSQyxhQUFhO2dCQUNiQyxlQUFlO2dCQUNmQyxnQkFBZ0I7WUFDcEI7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3RCLFFBQVF1QixPQUFPLEtBQUssY0FBZSxPQUFPdkIsUUFBUXVCLE9BQU8sS0FBSyxZQUFZdkIsUUFBUXVCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3ZCLFFBQVF1QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLMUIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRdUIsT0FBTyxFQUFFLGNBQWM7UUFBRXRCLE9BQU87SUFBSztJQUNuRUgsT0FBTzJCLE1BQU0sQ0FBQ3pCLFFBQVF1QixPQUFPLEVBQUV2QjtJQUMvQjBCLE9BQU8xQixPQUFPLEdBQUdBLFFBQVF1QixPQUFPO0FBQ2xDLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvaWNvbnMvQ2xvc2VJY29uLmpzPzY4YzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDbG9zZUljb25cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIENsb3NlSWNvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IENsb3NlSWNvbiA9ICgpPT57XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwic3ZnXCIsIHtcbiAgICAgICAgd2lkdGg6IFwiMjRcIixcbiAgICAgICAgaGVpZ2h0OiBcIjI0XCIsXG4gICAgICAgIHZpZXdCb3g6IFwiMCAwIDI0IDI0XCIsXG4gICAgICAgIGZpbGw6IFwibm9uZVwiLFxuICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiLFxuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgIGQ6IFwiTTE4IDZMNiAxOFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInBhdGhcIiwge1xuICAgICAgICAgICAgICAgIGQ6IFwiTTYgNkwxOCAxOFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcbiAgICAgICAgICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXG4gICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxuICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCJcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUNsb3NlSWNvbi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiQ2xvc2VJY29uIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJqc3hzIiwid2lkdGgiLCJoZWlnaHQiLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwiY2hpbGRyZW4iLCJqc3giLCJkIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Base\", ({\n enumerable: true,\n get: function() {\n return Base;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n --size-gap-half: 4px;\\n --size-gap: 8px;\\n --size-gap-double: 16px;\\n --size-gap-triple: 24px;\\n --size-gap-quad: 32px;\\n\\n --size-font-small: 14px;\\n --size-font: 16px;\\n --size-font-big: 20px;\\n --size-font-bigger: 24px;\\n\\n --color-accents-1: #808080;\\n --color-accents-2: #222222;\\n --color-accents-3: #404040;\\n\\n --font-stack-monospace: 'SFMono-Regular', Consolas, 'Liberation Mono',\\n Menlo, Courier, monospace;\\n\\n --color-ansi-selection: rgba(95, 126, 151, 0.48);\\n --color-ansi-bg: #111111;\\n --color-ansi-fg: #cccccc;\\n\\n --color-ansi-white: #777777;\\n --color-ansi-black: #141414;\\n --color-ansi-blue: #00aaff;\\n --color-ansi-cyan: #88ddff;\\n --color-ansi-green: #98ec65;\\n --color-ansi-magenta: #aa88ff;\\n --color-ansi-red: #ff5555;\\n --color-ansi-yellow: #ffcc33;\\n --color-ansi-bright-white: #ffffff;\\n --color-ansi-bright-black: #777777;\\n --color-ansi-bright-blue: #33bbff;\\n --color-ansi-bright-cyan: #bbecff;\\n --color-ansi-bright-green: #b6f292;\\n --color-ansi-bright-magenta: #cebbff;\\n --color-ansi-bright-red: #ff8888;\\n --color-ansi-bright-yellow: #ffd966;\\n }\\n\\n .mono {\\n font-family: var(--font-stack-monospace);\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-bottom: var(--size-gap);\\n font-weight: 500;\\n line-height: 1.5;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction Base() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Base.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9CYXNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx3Q0FBdUM7SUFDbkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLDhIQUErQztBQUM5RixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdKLDBCQUEwQkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxnQkFBZ0JMLG1CQUFPQSxDQUFDLHNJQUEwQjtBQUN4RCxTQUFTTTtJQUNMLE1BQU1DLE9BQU9OLCtCQUErQkcsQ0FBQyxDQUFDO1FBQzFDO0tBQ0g7SUFDREUsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxTQUFTVDtJQUNMLE9BQXFCLFdBQUgsR0FBSSxJQUFHSSxZQUFZTSxHQUFHLEVBQUUsU0FBUztRQUMvQ0MsVUFBVSxDQUFDLEdBQUdKLGNBQWNLLElBQUksRUFBRUo7SUFDdEM7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRaUIsT0FBTyxLQUFLLGNBQWUsT0FBT2pCLFFBQVFpQixPQUFPLEtBQUssWUFBWWpCLFFBQVFpQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9qQixRQUFRaUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3BCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWlCLE9BQU8sRUFBRSxjQUFjO1FBQUVoQixPQUFPO0lBQUs7SUFDbkVILE9BQU9xQixNQUFNLENBQUNuQixRQUFRaUIsT0FBTyxFQUFFakI7SUFDL0JvQixPQUFPcEIsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9CYXNlLmpzP2UxMjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJCYXNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCYXNlO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZVwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xuZnVuY3Rpb24gX3RlbXBsYXRlT2JqZWN0KCkge1xuICAgIGNvbnN0IGRhdGEgPSBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuXyhbXG4gICAgICAgIFwiXFxuICAgICAgICA6aG9zdCB7XFxuICAgICAgICAgIC0tc2l6ZS1nYXAtaGFsZjogNHB4O1xcbiAgICAgICAgICAtLXNpemUtZ2FwOiA4cHg7XFxuICAgICAgICAgIC0tc2l6ZS1nYXAtZG91YmxlOiAxNnB4O1xcbiAgICAgICAgICAtLXNpemUtZ2FwLXRyaXBsZTogMjRweDtcXG4gICAgICAgICAgLS1zaXplLWdhcC1xdWFkOiAzMnB4O1xcblxcbiAgICAgICAgICAtLXNpemUtZm9udC1zbWFsbDogMTRweDtcXG4gICAgICAgICAgLS1zaXplLWZvbnQ6IDE2cHg7XFxuICAgICAgICAgIC0tc2l6ZS1mb250LWJpZzogMjBweDtcXG4gICAgICAgICAgLS1zaXplLWZvbnQtYmlnZ2VyOiAyNHB4O1xcblxcbiAgICAgICAgICAtLWNvbG9yLWFjY2VudHMtMTogIzgwODA4MDtcXG4gICAgICAgICAgLS1jb2xvci1hY2NlbnRzLTI6ICMyMjIyMjI7XFxuICAgICAgICAgIC0tY29sb3ItYWNjZW50cy0zOiAjNDA0MDQwO1xcblxcbiAgICAgICAgICAtLWZvbnQtc3RhY2stbW9ub3NwYWNlOiAnU0ZNb25vLVJlZ3VsYXInLCBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsXFxuICAgICAgICAgICAgTWVubG8sIENvdXJpZXIsIG1vbm9zcGFjZTtcXG5cXG4gICAgICAgICAgLS1jb2xvci1hbnNpLXNlbGVjdGlvbjogcmdiYSg5NSwgMTI2LCAxNTEsIDAuNDgpO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYmc6ICMxMTExMTE7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1mZzogI2NjY2NjYztcXG5cXG4gICAgICAgICAgLS1jb2xvci1hbnNpLXdoaXRlOiAjNzc3Nzc3O1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYmxhY2s6ICMxNDE0MTQ7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1ibHVlOiAjMDBhYWZmO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktY3lhbjogIzg4ZGRmZjtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWdyZWVuOiAjOThlYzY1O1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktbWFnZW50YTogI2FhODhmZjtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLXJlZDogI2ZmNTU1NTtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLXllbGxvdzogI2ZmY2MzMztcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC13aGl0ZTogI2ZmZmZmZjtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1ibGFjazogIzc3Nzc3NztcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1ibHVlOiAjMzNiYmZmO1xcbiAgICAgICAgICAtLWNvbG9yLWFuc2ktYnJpZ2h0LWN5YW46ICNiYmVjZmY7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQtZ3JlZW46ICNiNmYyOTI7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQtbWFnZW50YTogI2NlYmJmZjtcXG4gICAgICAgICAgLS1jb2xvci1hbnNpLWJyaWdodC1yZWQ6ICNmZjg4ODg7XFxuICAgICAgICAgIC0tY29sb3ItYW5zaS1icmlnaHQteWVsbG93OiAjZmZkOTY2O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLm1vbm8ge1xcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaDEsXFxuICAgICAgICBoMixcXG4gICAgICAgIGgzLFxcbiAgICAgICAgaDQsXFxuICAgICAgICBoNSxcXG4gICAgICAgIGg2IHtcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tc2l6ZS1nYXApO1xcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xcbiAgICAgICAgfVxcbiAgICAgIFwiXG4gICAgXSk7XG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkYXRhO1xuICAgIH07XG4gICAgcmV0dXJuIGRhdGE7XG59XG5mdW5jdGlvbiBCYXNlKCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICBjaGlsZHJlbjogKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPUJhc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkJhc2UiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwianN4IiwiY2hpbGRyZW4iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ComponentStyles\", ({\n enumerable: true,\n get: function() {\n return ComponentStyles;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _styles = __webpack_require__(/*! ../components/CodeFrame/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\");\nconst _Dialog = __webpack_require__(/*! ../components/Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\");\nconst _styles1 = __webpack_require__(/*! ../components/LeftRightDialogHeader/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nconst _styles2 = __webpack_require__(/*! ../components/Overlay/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/styles.js\");\nconst _styles3 = __webpack_require__(/*! ../components/Terminal/styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Terminal/styles.js\");\nconst _Toast = __webpack_require__(/*! ../components/Toast */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Toast/index.js\");\nconst _VersionStalenessInfo = __webpack_require__(/*! ../components/VersionStalenessInfo */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/VersionStalenessInfo/index.js\");\nconst _BuildError = __webpack_require__(/*! ../container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _RootLayoutError = __webpack_require__(/*! ../container/RootLayoutError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\");\nconst _Errors = __webpack_require__(/*! ../container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RuntimeError = __webpack_require__(/*! ../container/RuntimeError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RuntimeError/index.js\");\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \",\n \"\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction ComponentStyles() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject(), _styles2.styles, _Toast.styles, _Dialog.styles, _styles1.styles, _styles.styles, _styles3.styles, _BuildError.styles, _RootLayoutError.styles, _Errors.styles, _RuntimeError.styles, _VersionStalenessInfo.styles)\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ComponentStyles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Db21wb25lbnRTdHlsZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLGlDQUFpQ0QsbUJBQU9BLENBQUMsOEhBQStDO0FBQzlGLE1BQU1FLGNBQWNGLG1CQUFPQSxDQUFDLGdJQUFtQjtBQUMvQyxNQUFNRyxTQUFTLFdBQVcsR0FBR0osMEJBQTBCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1LLFVBQVVMLG1CQUFPQSxDQUFDLGtKQUFnQztBQUN4RCxNQUFNTSxVQUFVTixtQkFBT0EsQ0FBQyxvSUFBc0I7QUFDOUMsTUFBTU8sV0FBV1AsbUJBQU9BLENBQUMsMEtBQTRDO0FBQ3JFLE1BQU1RLFdBQVdSLG1CQUFPQSxDQUFDLDhJQUE4QjtBQUN2RCxNQUFNUyxXQUFXVCxtQkFBT0EsQ0FBQyxnSkFBK0I7QUFDeEQsTUFBTVUsU0FBU1YsbUJBQU9BLENBQUMsa0lBQXFCO0FBQzVDLE1BQU1XLHdCQUF3QlgsbUJBQU9BLENBQUMsZ0tBQW9DO0FBQzFFLE1BQU1ZLGNBQWNaLG1CQUFPQSxDQUFDLG9JQUF5QjtBQUNyRCxNQUFNYSxtQkFBbUJiLG1CQUFPQSxDQUFDLDhJQUE4QjtBQUMvRCxNQUFNYyxVQUFVZCxtQkFBT0EsQ0FBQyw0SEFBcUI7QUFDN0MsTUFBTWUsZ0JBQWdCZixtQkFBT0EsQ0FBQyw4SUFBMkI7QUFDekQsTUFBTWdCLGdCQUFnQmhCLG1CQUFPQSxDQUFDLHNJQUEwQjtBQUN4RCxTQUFTaUI7SUFDTCxNQUFNQyxPQUFPakIsK0JBQStCRyxDQUFDLENBQUM7UUFDMUM7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO0tBQ0g7SUFDRGEsa0JBQWtCO1FBQ2QsT0FBT0M7SUFDWDtJQUNBLE9BQU9BO0FBQ1g7QUFDQSxTQUFTcEI7SUFDTCxPQUFxQixXQUFILEdBQUksSUFBR0ksWUFBWWlCLEdBQUcsRUFBRSxTQUFTO1FBQy9DQyxVQUFVLENBQUMsR0FBR0osY0FBY0ssSUFBSSxFQUFFSixtQkFBbUJULFNBQVNjLE1BQU0sRUFBRVosT0FBT1ksTUFBTSxFQUFFaEIsUUFBUWdCLE1BQU0sRUFBRWYsU0FBU2UsTUFBTSxFQUFFakIsUUFBUWlCLE1BQU0sRUFBRWIsU0FBU2EsTUFBTSxFQUFFVixZQUFZVSxNQUFNLEVBQUVULGlCQUFpQlMsTUFBTSxFQUFFUixRQUFRUSxNQUFNLEVBQUVQLGNBQWNPLE1BQU0sRUFBRVgsc0JBQXNCVyxNQUFNO0lBQzFRO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBTzVCLFFBQVE2QixPQUFPLEtBQUssY0FBZSxPQUFPN0IsUUFBUTZCLE9BQU8sS0FBSyxZQUFZN0IsUUFBUTZCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzdCLFFBQVE2QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLaEMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRNkIsT0FBTyxFQUFFLGNBQWM7UUFBRTVCLE9BQU87SUFBSztJQUNuRUgsT0FBT2lDLE1BQU0sQ0FBQy9CLFFBQVE2QixPQUFPLEVBQUU3QjtJQUMvQmdDLE9BQU9oQyxPQUFPLEdBQUdBLFFBQVE2QixPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvc3R5bGVzL0NvbXBvbmVudFN0eWxlcy5qcz83ODE1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiQ29tcG9uZW50U3R5bGVzXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDb21wb25lbnRTdHlsZXM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3N0eWxlcyA9IHJlcXVpcmUoXCIuLi9jb21wb25lbnRzL0NvZGVGcmFtZS9zdHlsZXNcIik7XG5jb25zdCBfRGlhbG9nID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvRGlhbG9nXCIpO1xuY29uc3QgX3N0eWxlczEgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvc3R5bGVzXCIpO1xuY29uc3QgX3N0eWxlczIgPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9PdmVybGF5L3N0eWxlc1wiKTtcbmNvbnN0IF9zdHlsZXMzID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvVGVybWluYWwvc3R5bGVzXCIpO1xuY29uc3QgX1RvYXN0ID0gcmVxdWlyZShcIi4uL2NvbXBvbmVudHMvVG9hc3RcIik7XG5jb25zdCBfVmVyc2lvblN0YWxlbmVzc0luZm8gPSByZXF1aXJlKFwiLi4vY29tcG9uZW50cy9WZXJzaW9uU3RhbGVuZXNzSW5mb1wiKTtcbmNvbnN0IF9CdWlsZEVycm9yID0gcmVxdWlyZShcIi4uL2NvbnRhaW5lci9CdWlsZEVycm9yXCIpO1xuY29uc3QgX1Jvb3RMYXlvdXRFcnJvciA9IHJlcXVpcmUoXCIuLi9jb250YWluZXIvUm9vdExheW91dEVycm9yXCIpO1xuY29uc3QgX0Vycm9ycyA9IHJlcXVpcmUoXCIuLi9jb250YWluZXIvRXJyb3JzXCIpO1xuY29uc3QgX1J1bnRpbWVFcnJvciA9IHJlcXVpcmUoXCIuLi9jb250YWluZXIvUnVudGltZUVycm9yXCIpO1xuY29uc3QgX25vb3B0ZW1wbGF0ZSA9IHJlcXVpcmUoXCIuLi9oZWxwZXJzL25vb3AtdGVtcGxhdGVcIik7XG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XG4gICAgY29uc3QgZGF0YSA9IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5fKFtcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICAgIFwiLFxuICAgICAgICBcIlxcbiAgICAgICAgXCIsXG4gICAgICAgIFwiXFxuICAgICAgICBcIixcbiAgICAgICAgXCJcXG4gICAgICBcIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gQ29tcG9uZW50U3R5bGVzKCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwic3R5bGVcIiwge1xuICAgICAgICBjaGlsZHJlbjogKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCksIF9zdHlsZXMyLnN0eWxlcywgX1RvYXN0LnN0eWxlcywgX0RpYWxvZy5zdHlsZXMsIF9zdHlsZXMxLnN0eWxlcywgX3N0eWxlcy5zdHlsZXMsIF9zdHlsZXMzLnN0eWxlcywgX0J1aWxkRXJyb3Iuc3R5bGVzLCBfUm9vdExheW91dEVycm9yLnN0eWxlcywgX0Vycm9ycy5zdHlsZXMsIF9SdW50aW1lRXJyb3Iuc3R5bGVzLCBfVmVyc2lvblN0YWxlbmVzc0luZm8uc3R5bGVzKVxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db21wb25lbnRTdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkNvbXBvbmVudFN0eWxlcyIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3N0eWxlcyIsIl9EaWFsb2ciLCJfc3R5bGVzMSIsIl9zdHlsZXMyIiwiX3N0eWxlczMiLCJfVG9hc3QiLCJfVmVyc2lvblN0YWxlbmVzc0luZm8iLCJfQnVpbGRFcnJvciIsIl9Sb290TGF5b3V0RXJyb3IiLCJfRXJyb3JzIiwiX1J1bnRpbWVFcnJvciIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwianN4IiwiY2hpbGRyZW4iLCJub29wIiwic3R5bGVzIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CssReset\", ({\n enumerable: true,\n get: function() {\n return CssReset;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _nooptemplate = __webpack_require__(/*! ../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n :host {\\n all: initial;\\n\\n /* the direction property is not reset by 'all' */\\n direction: ltr;\\n }\\n\\n /*!\\n * Bootstrap Reboot v4.4.1 (https://getbootstrap.com/)\\n * Copyright 2011-2019 The Bootstrap Authors\\n * Copyright 2011-2019 Twitter, Inc.\\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\\n */\\n *,\\n *::before,\\n *::after {\\n box-sizing: border-box;\\n }\\n\\n :host {\\n font-family: sans-serif;\\n line-height: 1.15;\\n -webkit-text-size-adjust: 100%;\\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\\n }\\n\\n article,\\n aside,\\n figcaption,\\n figure,\\n footer,\\n header,\\n hgroup,\\n main,\\n nav,\\n section {\\n display: block;\\n }\\n\\n :host {\\n margin: 0;\\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,\\n 'Helvetica Neue', Arial, 'Noto Sans', sans-serif,\\n 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n 'Noto Color Emoji';\\n font-size: 16px;\\n font-weight: 400;\\n line-height: 1.5;\\n color: #212529;\\n text-align: left;\\n background-color: #fff;\\n }\\n\\n [tabindex='-1']:focus:not(:focus-visible) {\\n outline: 0 !important;\\n }\\n\\n hr {\\n box-sizing: content-box;\\n height: 0;\\n overflow: visible;\\n }\\n\\n h1,\\n h2,\\n h3,\\n h4,\\n h5,\\n h6 {\\n margin-top: 0;\\n margin-bottom: 8px;\\n }\\n\\n p {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n abbr[title],\\n abbr[data-original-title] {\\n text-decoration: underline;\\n -webkit-text-decoration: underline dotted;\\n text-decoration: underline dotted;\\n cursor: help;\\n border-bottom: 0;\\n -webkit-text-decoration-skip-ink: none;\\n text-decoration-skip-ink: none;\\n }\\n\\n address {\\n margin-bottom: 16px;\\n font-style: normal;\\n line-height: inherit;\\n }\\n\\n ol,\\n ul,\\n dl {\\n margin-top: 0;\\n margin-bottom: 16px;\\n }\\n\\n ol ol,\\n ul ul,\\n ol ul,\\n ul ol {\\n margin-bottom: 0;\\n }\\n\\n dt {\\n font-weight: 700;\\n }\\n\\n dd {\\n margin-bottom: 8px;\\n margin-left: 0;\\n }\\n\\n blockquote {\\n margin: 0 0 16px;\\n }\\n\\n b,\\n strong {\\n font-weight: bolder;\\n }\\n\\n small {\\n font-size: 80%;\\n }\\n\\n sub,\\n sup {\\n position: relative;\\n font-size: 75%;\\n line-height: 0;\\n vertical-align: baseline;\\n }\\n\\n sub {\\n bottom: -0.25em;\\n }\\n\\n sup {\\n top: -0.5em;\\n }\\n\\n a {\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n }\\n\\n a:hover {\\n color: #0056b3;\\n text-decoration: underline;\\n }\\n\\n a:not([href]) {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n a:not([href]):hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\\n pre,\\n code,\\n kbd,\\n samp {\\n font-family: SFMono-Regular, Menlo, Monaco, Consolas,\\n 'Liberation Mono', 'Courier New', monospace;\\n font-size: 1em;\\n }\\n\\n pre {\\n margin-top: 0;\\n margin-bottom: 16px;\\n overflow: auto;\\n }\\n\\n figure {\\n margin: 0 0 16px;\\n }\\n\\n img {\\n vertical-align: middle;\\n border-style: none;\\n }\\n\\n svg {\\n overflow: hidden;\\n vertical-align: middle;\\n }\\n\\n table {\\n border-collapse: collapse;\\n }\\n\\n caption {\\n padding-top: 12px;\\n padding-bottom: 12px;\\n color: #6c757d;\\n text-align: left;\\n caption-side: bottom;\\n }\\n\\n th {\\n text-align: inherit;\\n }\\n\\n label {\\n display: inline-block;\\n margin-bottom: 8px;\\n }\\n\\n button {\\n border-radius: 0;\\n }\\n\\n button:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n }\\n\\n input,\\n button,\\n select,\\n optgroup,\\n textarea {\\n margin: 0;\\n font-family: inherit;\\n font-size: inherit;\\n line-height: inherit;\\n }\\n\\n button,\\n input {\\n overflow: visible;\\n }\\n\\n button,\\n select {\\n text-transform: none;\\n }\\n\\n select {\\n word-wrap: normal;\\n }\\n\\n button,\\n [type='button'],\\n [type='reset'],\\n [type='submit'] {\\n -webkit-appearance: button;\\n }\\n\\n button:not(:disabled),\\n [type='button']:not(:disabled),\\n [type='reset']:not(:disabled),\\n [type='submit']:not(:disabled) {\\n cursor: pointer;\\n }\\n\\n button::-moz-focus-inner,\\n [type='button']::-moz-focus-inner,\\n [type='reset']::-moz-focus-inner,\\n [type='submit']::-moz-focus-inner {\\n padding: 0;\\n border-style: none;\\n }\\n\\n input[type='radio'],\\n input[type='checkbox'] {\\n box-sizing: border-box;\\n padding: 0;\\n }\\n\\n input[type='date'],\\n input[type='time'],\\n input[type='datetime-local'],\\n input[type='month'] {\\n -webkit-appearance: listbox;\\n }\\n\\n textarea {\\n overflow: auto;\\n resize: vertical;\\n }\\n\\n fieldset {\\n min-width: 0;\\n padding: 0;\\n margin: 0;\\n border: 0;\\n }\\n\\n legend {\\n display: block;\\n width: 100%;\\n max-width: 100%;\\n padding: 0;\\n margin-bottom: 8px;\\n font-size: 24px;\\n line-height: inherit;\\n color: inherit;\\n white-space: normal;\\n }\\n\\n progress {\\n vertical-align: baseline;\\n }\\n\\n [type='number']::-webkit-inner-spin-button,\\n [type='number']::-webkit-outer-spin-button {\\n height: auto;\\n }\\n\\n [type='search'] {\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n }\\n\\n [type='search']::-webkit-search-decoration {\\n -webkit-appearance: none;\\n }\\n\\n ::-webkit-file-upload-button {\\n font: inherit;\\n -webkit-appearance: button;\\n }\\n\\n output {\\n display: inline-block;\\n }\\n\\n summary {\\n display: list-item;\\n cursor: pointer;\\n }\\n\\n template {\\n display: none;\\n }\\n\\n [hidden] {\\n display: none !important;\\n }\\n \"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nfunction CssReset() {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n children: (0, _nooptemplate.noop)(_templateObject())\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CssReset.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL3N0eWxlcy9Dc3NSZXNldC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNENBQTJDO0lBQ3ZDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyw4SEFBK0M7QUFDOUYsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1HLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUssZ0JBQWdCTCxtQkFBT0EsQ0FBQyxzSUFBMEI7QUFDeEQsU0FBU007SUFDTCxNQUFNQyxPQUFPTiwrQkFBK0JHLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RFLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsU0FBU1Q7SUFDTCxPQUFxQixXQUFILEdBQUksSUFBR0ksWUFBWU0sR0FBRyxFQUFFLFNBQVM7UUFDL0NDLFVBQVUsQ0FBQyxHQUFHSixjQUFjSyxJQUFJLEVBQUVKO0lBQ3RDO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1osUUFBUWlCLE9BQU8sS0FBSyxjQUFlLE9BQU9qQixRQUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktwQixPQUFPQyxjQUFjLENBQUNDLFFBQVFpQixPQUFPLEVBQUUsY0FBYztRQUFFaEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9Cb0IsT0FBT3BCLE9BQU8sR0FBR0EsUUFBUWlCLE9BQU87QUFDbEMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9zdHlsZXMvQ3NzUmVzZXQuanM/MWEzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkNzc1Jlc2V0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDc3NSZXNldDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfbm9vcHRlbXBsYXRlID0gcmVxdWlyZShcIi4uL2hlbHBlcnMvbm9vcC10ZW1wbGF0ZVwiKTtcbmZ1bmN0aW9uIF90ZW1wbGF0ZU9iamVjdCgpIHtcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xuICAgICAgICBcIlxcbiAgICAgICAgOmhvc3Qge1xcbiAgICAgICAgICBhbGw6IGluaXRpYWw7XFxuXFxuICAgICAgICAgIC8qIHRoZSBkaXJlY3Rpb24gcHJvcGVydHkgaXMgbm90IHJlc2V0IGJ5ICdhbGwnICovXFxuICAgICAgICAgIGRpcmVjdGlvbjogbHRyO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgLyohXFxuICAgICAgICAgKiBCb290c3RyYXAgUmVib290IHY0LjQuMSAoaHR0cHM6Ly9nZXRib290c3RyYXAuY29tLylcXG4gICAgICAgICAqIENvcHlyaWdodCAyMDExLTIwMTkgVGhlIEJvb3RzdHJhcCBBdXRob3JzXFxuICAgICAgICAgKiBDb3B5cmlnaHQgMjAxMS0yMDE5IFR3aXR0ZXIsIEluYy5cXG4gICAgICAgICAqIExpY2Vuc2VkIHVuZGVyIE1JVCAoaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2Jsb2IvbWFzdGVyL0xJQ0VOU0UpXFxuICAgICAgICAgKiBGb3JrZWQgZnJvbSBOb3JtYWxpemUuY3NzLCBsaWNlbnNlZCBNSVQgKGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvYmxvYi9tYXN0ZXIvTElDRU5TRS5tZClcXG4gICAgICAgICAqL1xcbiAgICAgICAgKixcXG4gICAgICAgICo6OmJlZm9yZSxcXG4gICAgICAgICo6OmFmdGVyIHtcXG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIDpob3N0IHtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xcbiAgICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XFxuICAgICAgICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGFydGljbGUsXFxuICAgICAgICBhc2lkZSxcXG4gICAgICAgIGZpZ2NhcHRpb24sXFxuICAgICAgICBmaWd1cmUsXFxuICAgICAgICBmb290ZXIsXFxuICAgICAgICBoZWFkZXIsXFxuICAgICAgICBoZ3JvdXAsXFxuICAgICAgICBtYWluLFxcbiAgICAgICAgbmF2LFxcbiAgICAgICAgc2VjdGlvbiB7XFxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgOmhvc3Qge1xcbiAgICAgICAgICBtYXJnaW46IDA7XFxuICAgICAgICAgIGZvbnQtZmFtaWx5OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsIFJvYm90byxcXG4gICAgICAgICAgICAnSGVsdmV0aWNhIE5ldWUnLCBBcmlhbCwgJ05vdG8gU2FucycsIHNhbnMtc2VyaWYsXFxuICAgICAgICAgICAgJ0FwcGxlIENvbG9yIEVtb2ppJywgJ1NlZ29lIFVJIEVtb2ppJywgJ1NlZ29lIFVJIFN5bWJvbCcsXFxuICAgICAgICAgICAgJ05vdG8gQ29sb3IgRW1vamknO1xcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XFxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XFxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XFxuICAgICAgICAgIGNvbG9yOiAjMjEyNTI5O1xcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgW3RhYmluZGV4PSctMSddOmZvY3VzOm5vdCg6Zm9jdXMtdmlzaWJsZSkge1xcbiAgICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBociB7XFxuICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xcbiAgICAgICAgICBoZWlnaHQ6IDA7XFxuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaDEsXFxuICAgICAgICBoMixcXG4gICAgICAgIGgzLFxcbiAgICAgICAgaDQsXFxuICAgICAgICBoNSxcXG4gICAgICAgIGg2IHtcXG4gICAgICAgICAgbWFyZ2luLXRvcDogMDtcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgcCB7XFxuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBhYmJyW3RpdGxlXSxcXG4gICAgICAgIGFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0ge1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcXG4gICAgICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gICAgICAgICAgY3Vyc29yOiBoZWxwO1xcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xcbiAgICAgICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwLWluazogbm9uZTtcXG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uLXNraXAtaW5rOiBub25lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYWRkcmVzcyB7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XFxuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBvbCxcXG4gICAgICAgIHVsLFxcbiAgICAgICAgZGwge1xcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgb2wgb2wsXFxuICAgICAgICB1bCB1bCxcXG4gICAgICAgIG9sIHVsLFxcbiAgICAgICAgdWwgb2wge1xcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZHQge1xcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZGQge1xcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XFxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYmxvY2txdW90ZSB7XFxuICAgICAgICAgIG1hcmdpbjogMCAwIDE2cHg7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBiLFxcbiAgICAgICAgc3Ryb25nIHtcXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHNtYWxsIHtcXG4gICAgICAgICAgZm9udC1zaXplOiA4MCU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzdWIsXFxuICAgICAgICBzdXAge1xcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogNzUlO1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogMDtcXG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgc3ViIHtcXG4gICAgICAgICAgYm90dG9tOiAtMC4yNWVtO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgc3VwIHtcXG4gICAgICAgICAgdG9wOiAtMC41ZW07XFxuICAgICAgICB9XFxuXFxuICAgICAgICBhIHtcXG4gICAgICAgICAgY29sb3I6ICMwMDdiZmY7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBhOmhvdmVyIHtcXG4gICAgICAgICAgY29sb3I6ICMwMDU2YjM7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYTpub3QoW2hyZWZdKSB7XFxuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBhOm5vdChbaHJlZl0pOmhvdmVyIHtcXG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XFxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZSxcXG4gICAgICAgIGNvZGUsXFxuICAgICAgICBrYmQsXFxuICAgICAgICBzYW1wIHtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcyxcXG4gICAgICAgICAgICAnTGliZXJhdGlvbiBNb25vJywgJ0NvdXJpZXIgTmV3JywgbW9ub3NwYWNlO1xcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHByZSB7XFxuICAgICAgICAgIG1hcmdpbi10b3A6IDA7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XFxuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZmlndXJlIHtcXG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTZweDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGltZyB7XFxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICAgICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIHN2ZyB7XFxuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XFxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB0YWJsZSB7XFxuICAgICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBjYXB0aW9uIHtcXG4gICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XFxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xcbiAgICAgICAgICBjb2xvcjogIzZjNzU3ZDtcXG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcXG4gICAgICAgICAgY2FwdGlvbi1zaWRlOiBib3R0b207XFxuICAgICAgICB9XFxuXFxuICAgICAgICB0aCB7XFxuICAgICAgICAgIHRleHQtYWxpZ246IGluaGVyaXQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBsYWJlbCB7XFxuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnV0dG9uIHtcXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJ1dHRvbjpmb2N1cyB7XFxuICAgICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQ7XFxuICAgICAgICAgIG91dGxpbmU6IDVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGlucHV0LFxcbiAgICAgICAgYnV0dG9uLFxcbiAgICAgICAgc2VsZWN0LFxcbiAgICAgICAgb3B0Z3JvdXAsXFxuICAgICAgICB0ZXh0YXJlYSB7XFxuICAgICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XFxuICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBidXR0b24sXFxuICAgICAgICBpbnB1dCB7XFxuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgYnV0dG9uLFxcbiAgICAgICAgc2VsZWN0IHtcXG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzZWxlY3Qge1xcbiAgICAgICAgICB3b3JkLXdyYXA6IG5vcm1hbDtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJ1dHRvbixcXG4gICAgICAgIFt0eXBlPSdidXR0b24nXSxcXG4gICAgICAgIFt0eXBlPSdyZXNldCddLFxcbiAgICAgICAgW3R5cGU9J3N1Ym1pdCddIHtcXG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XFxuICAgICAgICB9XFxuXFxuICAgICAgICBidXR0b246bm90KDpkaXNhYmxlZCksXFxuICAgICAgICBbdHlwZT0nYnV0dG9uJ106bm90KDpkaXNhYmxlZCksXFxuICAgICAgICBbdHlwZT0ncmVzZXQnXTpub3QoOmRpc2FibGVkKSxcXG4gICAgICAgIFt0eXBlPSdzdWJtaXQnXTpub3QoOmRpc2FibGVkKSB7XFxuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcXG4gICAgICAgIFt0eXBlPSdidXR0b24nXTo6LW1vei1mb2N1cy1pbm5lcixcXG4gICAgICAgIFt0eXBlPSdyZXNldCddOjotbW96LWZvY3VzLWlubmVyLFxcbiAgICAgICAgW3R5cGU9J3N1Ym1pdCddOjotbW96LWZvY3VzLWlubmVyIHtcXG4gICAgICAgICAgcGFkZGluZzogMDtcXG4gICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXSxcXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10ge1xcbiAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xcbiAgICAgICAgICBwYWRkaW5nOiAwO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgaW5wdXRbdHlwZT0nZGF0ZSddLFxcbiAgICAgICAgaW5wdXRbdHlwZT0ndGltZSddLFxcbiAgICAgICAgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcXG4gICAgICAgIGlucHV0W3R5cGU9J21vbnRoJ10ge1xcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGxpc3Rib3g7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB0ZXh0YXJlYSB7XFxuICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xcbiAgICAgICAgICByZXNpemU6IHZlcnRpY2FsO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgZmllbGRzZXQge1xcbiAgICAgICAgICBtaW4td2lkdGg6IDA7XFxuICAgICAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgICAgIG1hcmdpbjogMDtcXG4gICAgICAgICAgYm9yZGVyOiAwO1xcbiAgICAgICAgfVxcblxcbiAgICAgICAgbGVnZW5kIHtcXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XFxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XFxuICAgICAgICAgIHBhZGRpbmc6IDA7XFxuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcXG4gICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xcbiAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcXG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XFxuICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBwcm9ncmVzcyB7XFxuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcXG4gICAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XFxuICAgICAgICAgIGhlaWdodDogYXV0bztcXG4gICAgICAgIH1cXG5cXG4gICAgICAgIFt0eXBlPSdzZWFyY2gnXSB7XFxuICAgICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBbdHlwZT0nc2VhcmNoJ106Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcXG4gICAgICAgICAgZm9udDogaW5oZXJpdDtcXG4gICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XFxuICAgICAgICB9XFxuXFxuICAgICAgICBvdXRwdXQge1xcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBzdW1tYXJ5IHtcXG4gICAgICAgICAgZGlzcGxheTogbGlzdC1pdGVtO1xcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgICAgICB9XFxuXFxuICAgICAgICB0ZW1wbGF0ZSB7XFxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XFxuICAgICAgICB9XFxuXFxuICAgICAgICBbaGlkZGVuXSB7XFxuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcXG4gICAgICAgIH1cXG4gICAgICBcIlxuICAgIF0pO1xuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGF0YTtcbiAgICB9O1xuICAgIHJldHVybiBkYXRhO1xufVxuZnVuY3Rpb24gQ3NzUmVzZXQoKSB7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJzdHlsZVwiLCB7XG4gICAgICAgIGNoaWxkcmVuOiAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSlcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Q3NzUmVzZXQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkNzc1Jlc2V0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsImpzeCIsImNoaWxkcmVuIiwibm9vcCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-boundary.js ***! \***********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectErrorBoundary: function() {\n return RedirectErrorBoundary;\n },\n RedirectBoundary: function() {\n return RedirectBoundary;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction HandleRedirect(param) {\n let { redirect, reset, redirectType } = param;\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n _react.default.startTransition(()=>{\n if (redirectType === _redirect.RedirectType.push) {\n router.push(redirect, {});\n } else {\n router.replace(redirect, {});\n }\n reset();\n });\n }, [\n redirect,\n redirectType,\n reset,\n router\n ]);\n return null;\n}\nclass RedirectErrorBoundary extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _redirect.isRedirectError)(error)) {\n const url = (0, _redirect.getURLFromRedirectError)(error);\n const redirectType = (0, _redirect.getRedirectTypeFromError)(error);\n return {\n redirect: url,\n redirectType\n };\n }\n // Re-throw if error is not for redirect\n throw error;\n }\n render() {\n const { redirect, redirectType } = this.state;\n if (redirect !== null && redirectType !== null) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleRedirect, {\n redirect: redirect,\n redirectType: redirectType,\n reset: ()=>this.setState({\n redirect: null\n })\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n redirect: null,\n redirectType: null\n };\n }\n}\nfunction RedirectBoundary(param) {\n let { children } = param;\n const router = (0, _navigation.useRouter)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(RedirectErrorBoundary, {\n router: router,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sNEJBQTRCQyxtQkFBT0EsQ0FBQyxvSEFBMEM7QUFDcEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCwwQkFBMEJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUksY0FBY0osbUJBQU9BLENBQUMsb0ZBQWM7QUFDMUMsTUFBTUssWUFBWUwsbUJBQU9BLENBQUMsZ0ZBQVk7QUFDdEMsU0FBU00sZUFBZUMsS0FBSztJQUN6QixJQUFJLEVBQUVDLFFBQVEsRUFBRUMsS0FBSyxFQUFFQyxZQUFZLEVBQUUsR0FBR0g7SUFDeEMsTUFBTUksU0FBUyxDQUFDLEdBQUdQLFlBQVlRLFNBQVM7SUFDdkMsSUFBR1YsT0FBT1csU0FBUyxFQUFFO1FBQ2xCWCxPQUFPWSxPQUFPLENBQUNDLGVBQWUsQ0FBQztZQUMzQixJQUFJTCxpQkFBaUJMLFVBQVVXLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO2dCQUM5Q04sT0FBT00sSUFBSSxDQUFDVCxVQUFVLENBQUM7WUFDM0IsT0FBTztnQkFDSEcsT0FBT08sT0FBTyxDQUFDVixVQUFVLENBQUM7WUFDOUI7WUFDQUM7UUFDSjtJQUNKLEdBQUc7UUFDQ0Q7UUFDQUU7UUFDQUQ7UUFDQUU7S0FDSDtJQUNELE9BQU87QUFDWDtBQUNBLE1BQU1wQiw4QkFBOEJXLE9BQU9ZLE9BQU8sQ0FBQ0ssU0FBUztJQUN4RCxPQUFPQyx5QkFBeUJDLEtBQUssRUFBRTtRQUNuQyxJQUFJLENBQUMsR0FBR2hCLFVBQVVpQixlQUFlLEVBQUVELFFBQVE7WUFDdkMsTUFBTUUsTUFBTSxDQUFDLEdBQUdsQixVQUFVbUIsdUJBQXVCLEVBQUVIO1lBQ25ELE1BQU1YLGVBQWUsQ0FBQyxHQUFHTCxVQUFVb0Isd0JBQXdCLEVBQUVKO1lBQzdELE9BQU87Z0JBQ0hiLFVBQVVlO2dCQUNWYjtZQUNKO1FBQ0o7UUFDQSx3Q0FBd0M7UUFDeEMsTUFBTVc7SUFDVjtJQUNBSyxTQUFTO1FBQ0wsTUFBTSxFQUFFbEIsUUFBUSxFQUFFRSxZQUFZLEVBQUUsR0FBRyxJQUFJLENBQUNpQixLQUFLO1FBQzdDLElBQUluQixhQUFhLFFBQVFFLGlCQUFpQixNQUFNO1lBQzVDLE9BQXFCLFdBQUgsR0FBSSxJQUFHVCxZQUFZMkIsR0FBRyxFQUFFdEIsZ0JBQWdCO2dCQUN0REUsVUFBVUE7Z0JBQ1ZFLGNBQWNBO2dCQUNkRCxPQUFPLElBQUksSUFBSSxDQUFDb0IsUUFBUSxDQUFDO3dCQUNqQnJCLFVBQVU7b0JBQ2Q7WUFDUjtRQUNKO1FBQ0EsT0FBTyxJQUFJLENBQUNzQixLQUFLLENBQUNDLFFBQVE7SUFDOUI7SUFDQUMsWUFBWUYsS0FBSyxDQUFDO1FBQ2QsS0FBSyxDQUFDQTtRQUNOLElBQUksQ0FBQ0gsS0FBSyxHQUFHO1lBQ1RuQixVQUFVO1lBQ1ZFLGNBQWM7UUFDbEI7SUFDSjtBQUNKO0FBQ0EsU0FBU2xCLGlCQUFpQmUsS0FBSztJQUMzQixJQUFJLEVBQUV3QixRQUFRLEVBQUUsR0FBR3hCO0lBQ25CLE1BQU1JLFNBQVMsQ0FBQyxHQUFHUCxZQUFZUSxTQUFTO0lBQ3hDLE9BQXFCLFdBQUgsR0FBSSxJQUFHWCxZQUFZMkIsR0FBRyxFQUFFckMsdUJBQXVCO1FBQzdEb0IsUUFBUUE7UUFDUm9CLFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPM0MsUUFBUTBCLE9BQU8sS0FBSyxjQUFlLE9BQU8xQixRQUFRMEIsT0FBTyxLQUFLLFlBQVkxQixRQUFRMEIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPMUIsUUFBUTBCLE9BQU8sQ0FBQ21CLFVBQVUsS0FBSyxhQUFhO0lBQ3JLL0MsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMEIsT0FBTyxFQUFFLGNBQWM7UUFBRXpCLE9BQU87SUFBSztJQUNuRUgsT0FBT2dELE1BQU0sQ0FBQzlDLFFBQVEwQixPQUFPLEVBQUUxQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMEIsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LWJvdW5kYXJ5LmpzP2I0NDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUmVkaXJlY3RFcnJvckJvdW5kYXJ5OiBudWxsLFxuICAgIFJlZGlyZWN0Qm91bmRhcnk6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVkaXJlY3RFcnJvckJvdW5kYXJ5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlZGlyZWN0RXJyb3JCb3VuZGFyeTtcbiAgICB9LFxuICAgIFJlZGlyZWN0Qm91bmRhcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVkaXJlY3RCb3VuZGFyeTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9uYXZpZ2F0aW9uID0gcmVxdWlyZShcIi4vbmF2aWdhdGlvblwiKTtcbmNvbnN0IF9yZWRpcmVjdCA9IHJlcXVpcmUoXCIuL3JlZGlyZWN0XCIpO1xuZnVuY3Rpb24gSGFuZGxlUmVkaXJlY3QocGFyYW0pIHtcbiAgICBsZXQgeyByZWRpcmVjdCwgcmVzZXQsIHJlZGlyZWN0VHlwZSB9ID0gcGFyYW07XG4gICAgY29uc3Qgcm91dGVyID0gKDAsIF9uYXZpZ2F0aW9uLnVzZVJvdXRlcikoKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgX3JlYWN0LmRlZmF1bHQuc3RhcnRUcmFuc2l0aW9uKCgpPT57XG4gICAgICAgICAgICBpZiAocmVkaXJlY3RUeXBlID09PSBfcmVkaXJlY3QuUmVkaXJlY3RUeXBlLnB1c2gpIHtcbiAgICAgICAgICAgICAgICByb3V0ZXIucHVzaChyZWRpcmVjdCwge30pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByb3V0ZXIucmVwbGFjZShyZWRpcmVjdCwge30pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzZXQoKTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICByZWRpcmVjdCxcbiAgICAgICAgcmVkaXJlY3RUeXBlLFxuICAgICAgICByZXNldCxcbiAgICAgICAgcm91dGVyXG4gICAgXSk7XG4gICAgcmV0dXJuIG51bGw7XG59XG5jbGFzcyBSZWRpcmVjdEVycm9yQm91bmRhcnkgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgaWYgKCgwLCBfcmVkaXJlY3QuaXNSZWRpcmVjdEVycm9yKShlcnJvcikpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9ICgwLCBfcmVkaXJlY3QuZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IpKGVycm9yKTtcbiAgICAgICAgICAgIGNvbnN0IHJlZGlyZWN0VHlwZSA9ICgwLCBfcmVkaXJlY3QuZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yKShlcnJvcik7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHJlZGlyZWN0OiB1cmwsXG4gICAgICAgICAgICAgICAgcmVkaXJlY3RUeXBlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIC8vIFJlLXRocm93IGlmIGVycm9yIGlzIG5vdCBmb3IgcmVkaXJlY3RcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgY29uc3QgeyByZWRpcmVjdCwgcmVkaXJlY3RUeXBlIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgICBpZiAocmVkaXJlY3QgIT09IG51bGwgJiYgcmVkaXJlY3RUeXBlICE9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIYW5kbGVSZWRpcmVjdCwge1xuICAgICAgICAgICAgICAgIHJlZGlyZWN0OiByZWRpcmVjdCxcbiAgICAgICAgICAgICAgICByZWRpcmVjdFR5cGU6IHJlZGlyZWN0VHlwZSxcbiAgICAgICAgICAgICAgICByZXNldDogKCk9PnRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3Q6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgIHN1cGVyKHByb3BzKTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgICAgICAgIHJlZGlyZWN0OiBudWxsLFxuICAgICAgICAgICAgcmVkaXJlY3RUeXBlOiBudWxsXG4gICAgICAgIH07XG4gICAgfVxufVxuZnVuY3Rpb24gUmVkaXJlY3RCb3VuZGFyeShwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCByb3V0ZXIgPSAoMCwgX25hdmlnYXRpb24udXNlUm91dGVyKSgpO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFJlZGlyZWN0RXJyb3JCb3VuZGFyeSwge1xuICAgICAgICByb3V0ZXI6IHJvdXRlcixcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZGlyZWN0LWJvdW5kYXJ5LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJlZGlyZWN0RXJyb3JCb3VuZGFyeSIsIlJlZGlyZWN0Qm91bmRhcnkiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9uYXZpZ2F0aW9uIiwiX3JlZGlyZWN0IiwiSGFuZGxlUmVkaXJlY3QiLCJwYXJhbSIsInJlZGlyZWN0IiwicmVzZXQiLCJyZWRpcmVjdFR5cGUiLCJyb3V0ZXIiLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJkZWZhdWx0Iiwic3RhcnRUcmFuc2l0aW9uIiwiUmVkaXJlY3RUeXBlIiwicHVzaCIsInJlcGxhY2UiLCJDb21wb25lbnQiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJlcnJvciIsImlzUmVkaXJlY3RFcnJvciIsInVybCIsImdldFVSTEZyb21SZWRpcmVjdEVycm9yIiwiZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yIiwicmVuZGVyIiwic3RhdGUiLCJqc3giLCJzZXRTdGF0ZSIsInByb3BzIiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect-status-code.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RedirectStatusCode\", ({\n enumerable: true,\n get: function() {\n return RedirectStatusCode;\n }\n}));\nvar RedirectStatusCode;\n(function(RedirectStatusCode) {\n RedirectStatusCode[RedirectStatusCode[\"SeeOther\"] = 303] = \"SeeOther\";\n RedirectStatusCode[RedirectStatusCode[\"TemporaryRedirect\"] = 307] = \"TemporaryRedirect\";\n RedirectStatusCode[RedirectStatusCode[\"PermanentRedirect\"] = 308] = \"PermanentRedirect\";\n})(RedirectStatusCode || (RedirectStatusCode = {}));\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect-status-code.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LXN0YXR1cy1jb2RlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQTtBQUNILFVBQVNBLGtCQUFrQjtJQUN4QkEsa0JBQWtCLENBQUNBLGtCQUFrQixDQUFDLFdBQVcsR0FBRyxJQUFJLEdBQUc7SUFDM0RBLGtCQUFrQixDQUFDQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUc7SUFDcEVBLGtCQUFrQixDQUFDQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLEdBQUc7QUFDeEUsR0FBR0Esc0JBQXVCQSxDQUFBQSxxQkFBcUIsQ0FBQztBQUVoRCxJQUFJLENBQUMsT0FBT0osUUFBUUssT0FBTyxLQUFLLGNBQWUsT0FBT0wsUUFBUUssT0FBTyxLQUFLLFlBQVlMLFFBQVFLLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0wsUUFBUUssT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS1IsT0FBT0MsY0FBYyxDQUFDQyxRQUFRSyxPQUFPLEVBQUUsY0FBYztRQUFFSixPQUFPO0lBQUs7SUFDbkVILE9BQU9TLE1BQU0sQ0FBQ1AsUUFBUUssT0FBTyxFQUFFTDtJQUMvQlEsT0FBT1IsT0FBTyxHQUFHQSxRQUFRSyxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3Qtc3RhdHVzLWNvZGUuanM/NGIxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlJlZGlyZWN0U3RhdHVzQ29kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUmVkaXJlY3RTdGF0dXNDb2RlO1xuICAgIH1cbn0pO1xudmFyIFJlZGlyZWN0U3RhdHVzQ29kZTtcbihmdW5jdGlvbihSZWRpcmVjdFN0YXR1c0NvZGUpIHtcbiAgICBSZWRpcmVjdFN0YXR1c0NvZGVbUmVkaXJlY3RTdGF0dXNDb2RlW1wiU2VlT3RoZXJcIl0gPSAzMDNdID0gXCJTZWVPdGhlclwiO1xuICAgIFJlZGlyZWN0U3RhdHVzQ29kZVtSZWRpcmVjdFN0YXR1c0NvZGVbXCJUZW1wb3JhcnlSZWRpcmVjdFwiXSA9IDMwN10gPSBcIlRlbXBvcmFyeVJlZGlyZWN0XCI7XG4gICAgUmVkaXJlY3RTdGF0dXNDb2RlW1JlZGlyZWN0U3RhdHVzQ29kZVtcIlBlcm1hbmVudFJlZGlyZWN0XCJdID0gMzA4XSA9IFwiUGVybWFuZW50UmVkaXJlY3RcIjtcbn0pKFJlZGlyZWN0U3RhdHVzQ29kZSB8fCAoUmVkaXJlY3RTdGF0dXNDb2RlID0ge30pKTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVkaXJlY3Qtc3RhdHVzLWNvZGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIlJlZGlyZWN0U3RhdHVzQ29kZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/redirect.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/client/components/redirect.js ***! \**************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RedirectType: function() {\n return RedirectType;\n },\n getRedirectError: function() {\n return getRedirectError;\n },\n redirect: function() {\n return redirect;\n },\n permanentRedirect: function() {\n return permanentRedirect;\n },\n isRedirectError: function() {\n return isRedirectError;\n },\n getURLFromRedirectError: function() {\n return getURLFromRedirectError;\n },\n getRedirectTypeFromError: function() {\n return getRedirectTypeFromError;\n },\n getRedirectStatusCodeFromError: function() {\n return getRedirectStatusCodeFromError;\n }\n});\nconst _requestasyncstorageexternal = __webpack_require__(/*! ./request-async-storage.external */ \"./request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ./action-async-storage.external */ \"./action-async-storage.external\");\nconst _redirectstatuscode = __webpack_require__(/*! ./redirect-status-code */ \"(ssr)/./node_modules/next/dist/client/components/redirect-status-code.js\");\nconst REDIRECT_ERROR_CODE = \"NEXT_REDIRECT\";\nvar RedirectType;\n(function(RedirectType) {\n RedirectType[\"push\"] = \"push\";\n RedirectType[\"replace\"] = \"replace\";\n})(RedirectType || (RedirectType = {}));\nfunction getRedirectError(url, type, statusCode) {\n if (statusCode === void 0) statusCode = _redirectstatuscode.RedirectStatusCode.TemporaryRedirect;\n const error = new Error(REDIRECT_ERROR_CODE);\n error.digest = REDIRECT_ERROR_CODE + \";\" + type + \";\" + url + \";\" + statusCode + \";\";\n const requestStore = _requestasyncstorageexternal.requestAsyncStorage.getStore();\n if (requestStore) {\n error.mutableCookies = requestStore.mutableCookies;\n }\n return error;\n}\nfunction redirect(url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.TemporaryRedirect);\n}\nfunction permanentRedirect(url, type) {\n if (type === void 0) type = \"replace\";\n const actionStore = _actionasyncstorageexternal.actionAsyncStorage.getStore();\n throw getRedirectError(url, type, // as we don't want the POST request to follow the redirect,\n // as it could result in erroneous re-submissions.\n (actionStore == null ? void 0 : actionStore.isAction) ? _redirectstatuscode.RedirectStatusCode.SeeOther : _redirectstatuscode.RedirectStatusCode.PermanentRedirect);\n}\nfunction isRedirectError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error) || typeof error.digest !== \"string\") {\n return false;\n }\n const [errorCode, type, destination, status] = error.digest.split(\";\", 4);\n const statusCode = Number(status);\n return errorCode === REDIRECT_ERROR_CODE && (type === \"replace\" || type === \"push\") && typeof destination === \"string\" && !isNaN(statusCode) && statusCode in _redirectstatuscode.RedirectStatusCode;\n}\nfunction getURLFromRedirectError(error) {\n if (!isRedirectError(error)) return null;\n // Slices off the beginning of the digest that contains the code and the\n // separating ';'.\n return error.digest.split(\";\", 3)[2];\n}\nfunction getRedirectTypeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return error.digest.split(\";\", 2)[1];\n}\nfunction getRedirectStatusCodeFromError(error) {\n if (!isRedirectError(error)) {\n throw new Error(\"Not a redirect error\");\n }\n return Number(error.digest.split(\";\", 4)[3]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=redirect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlZGlyZWN0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBU047QUFDQSxTQUFTUyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJZixPQUFPQyxjQUFjLENBQUNhLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVgsU0FBUztJQUNiRyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sK0JBQStCQyxtQkFBT0EsQ0FBQywwRUFBa0M7QUFDL0UsTUFBTUMsOEJBQThCRCxtQkFBT0EsQ0FBQyx3RUFBaUM7QUFDN0UsTUFBTUUsc0JBQXNCRixtQkFBT0EsQ0FBQyx3R0FBd0I7QUFDNUQsTUFBTUcsc0JBQXNCO0FBQzVCLElBQUlsQjtBQUNILFVBQVNBLFlBQVk7SUFDbEJBLFlBQVksQ0FBQyxPQUFPLEdBQUc7SUFDdkJBLFlBQVksQ0FBQyxVQUFVLEdBQUc7QUFDOUIsR0FBR0EsZ0JBQWlCQSxDQUFBQSxlQUFlLENBQUM7QUFDcEMsU0FBU0MsaUJBQWlCa0IsR0FBRyxFQUFFQyxJQUFJLEVBQUVDLFVBQVU7SUFDM0MsSUFBSUEsZUFBZSxLQUFLLEdBQUdBLGFBQWFKLG9CQUFvQkss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LEVBQUUsY0FBYztRQUFFNUMsT0FBTztJQUFLO0lBQ25FSCxPQUFPaUQsTUFBTSxDQUFDL0MsUUFBUTZDLE9BQU8sRUFBRTdDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVE2QyxPQUFPO0FBQ2xDLEVBRUEsb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVkaXJlY3QuanM/YjI1YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJlZGlyZWN0VHlwZTogbnVsbCxcbiAgICBnZXRSZWRpcmVjdEVycm9yOiBudWxsLFxuICAgIHJlZGlyZWN0OiBudWxsLFxuICAgIHBlcm1hbmVudFJlZGlyZWN0OiBudWxsLFxuICAgIGlzUmVkaXJlY3RFcnJvcjogbnVsbCxcbiAgICBnZXRVUkxGcm9tUmVkaXJlY3RFcnJvcjogbnVsbCxcbiAgICBnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3I6IG51bGwsXG4gICAgZ2V0UmVkaXJlY3RTdGF0dXNDb2RlRnJvbUVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFJlZGlyZWN0VHlwZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZWRpcmVjdFR5cGU7XG4gICAgfSxcbiAgICBnZXRSZWRpcmVjdEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlZGlyZWN0RXJyb3I7XG4gICAgfSxcbiAgICByZWRpcmVjdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZWRpcmVjdDtcbiAgICB9LFxuICAgIHBlcm1hbmVudFJlZGlyZWN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBlcm1hbmVudFJlZGlyZWN0O1xuICAgIH0sXG4gICAgaXNSZWRpcmVjdEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzUmVkaXJlY3RFcnJvcjtcbiAgICB9LFxuICAgIGdldFVSTEZyb21SZWRpcmVjdEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFVSTEZyb21SZWRpcmVjdEVycm9yO1xuICAgIH0sXG4gICAgZ2V0UmVkaXJlY3RUeXBlRnJvbUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFJlZGlyZWN0VHlwZUZyb21FcnJvcjtcbiAgICB9LFxuICAgIGdldFJlZGlyZWN0U3RhdHVzQ29kZUZyb21FcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vcmVxdWVzdC1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vYWN0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfcmVkaXJlY3RzdGF0dXNjb2RlID0gcmVxdWlyZShcIi4vcmVkaXJlY3Qtc3RhdHVzLWNvZGVcIik7XG5jb25zdCBSRURJUkVDVF9FUlJPUl9DT0RFID0gXCJORVhUX1JFRElSRUNUXCI7XG52YXIgUmVkaXJlY3RUeXBlO1xuKGZ1bmN0aW9uKFJlZGlyZWN0VHlwZSkge1xuICAgIFJlZGlyZWN0VHlwZVtcInB1c2hcIl0gPSBcInB1c2hcIjtcbiAgICBSZWRpcmVjdFR5cGVbXCJyZXBsYWNlXCJdID0gXCJyZXBsYWNlXCI7XG59KShSZWRpcmVjdFR5cGUgfHwgKFJlZGlyZWN0VHlwZSA9IHt9KSk7XG5mdW5jdGlvbiBnZXRSZWRpcmVjdEVycm9yKHVybCwgdHlwZSwgc3RhdHVzQ29kZSkge1xuICAgIGlmIChzdGF0dXNDb2RlID09PSB2b2lkIDApIHN0YXR1c0NvZGUgPSBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5UZW1wb3JhcnlSZWRpcmVjdDtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihSRURJUkVDVF9FUlJPUl9DT0RFKTtcbiAgICBlcnJvci5kaWdlc3QgPSBSRURJUkVDVF9FUlJPUl9DT0RFICsgXCI7XCIgKyB0eXBlICsgXCI7XCIgKyB1cmwgKyBcIjtcIiArIHN0YXR1c0NvZGUgKyBcIjtcIjtcbiAgICBjb25zdCByZXF1ZXN0U3RvcmUgPSBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsLnJlcXVlc3RBc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKTtcbiAgICBpZiAocmVxdWVzdFN0b3JlKSB7XG4gICAgICAgIGVycm9yLm11dGFibGVDb29raWVzID0gcmVxdWVzdFN0b3JlLm11dGFibGVDb29raWVzO1xuICAgIH1cbiAgICByZXR1cm4gZXJyb3I7XG59XG5mdW5jdGlvbiByZWRpcmVjdCh1cmwsIHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PT0gdm9pZCAwKSB0eXBlID0gXCJyZXBsYWNlXCI7XG4gICAgY29uc3QgYWN0aW9uU3RvcmUgPSBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuYWN0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgdGhyb3cgZ2V0UmVkaXJlY3RFcnJvcih1cmwsIHR5cGUsIC8vIElmIHdlJ3JlIGluIGFuIGFjdGlvbiwgd2Ugd2FudCB0byB1c2UgYSAzMDMgcmVkaXJlY3RcbiAgICAvLyBhcyB3ZSBkb24ndCB3YW50IHRoZSBQT1NUIHJlcXVlc3QgdG8gZm9sbG93IHRoZSByZWRpcmVjdCxcbiAgICAvLyBhcyBpdCBjb3VsZCByZXN1bHQgaW4gZXJyb25lb3VzIHJlLXN1Ym1pc3Npb25zLlxuICAgIChhY3Rpb25TdG9yZSA9PSBudWxsID8gdm9pZCAwIDogYWN0aW9uU3RvcmUuaXNBY3Rpb24pID8gX3JlZGlyZWN0c3RhdHVzY29kZS5SZWRpcmVjdFN0YXR1c0NvZGUuU2VlT3RoZXIgOiBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5UZW1wb3JhcnlSZWRpcmVjdCk7XG59XG5mdW5jdGlvbiBwZXJtYW5lbnRSZWRpcmVjdCh1cmwsIHR5cGUpIHtcbiAgICBpZiAodHlwZSA9PT0gdm9pZCAwKSB0eXBlID0gXCJyZXBsYWNlXCI7XG4gICAgY29uc3QgYWN0aW9uU3RvcmUgPSBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuYWN0aW9uQXN5bmNTdG9yYWdlLmdldFN0b3JlKCk7XG4gICAgdGhyb3cgZ2V0UmVkaXJlY3RFcnJvcih1cmwsIHR5cGUsIC8vIElmIHdlJ3JlIGluIGFuIGFjdGlvbiwgd2Ugd2FudCB0byB1c2UgYSAzMDMgcmVkaXJlY3RcbiAgICAvLyBhcyB3ZSBkb24ndCB3YW50IHRoZSBQT1NUIHJlcXVlc3QgdG8gZm9sbG93IHRoZSByZWRpcmVjdCxcbiAgICAvLyBhcyBpdCBjb3VsZCByZXN1bHQgaW4gZXJyb25lb3VzIHJlLXN1Ym1pc3Npb25zLlxuICAgIChhY3Rpb25TdG9yZSA9PSBudWxsID8gdm9pZCAwIDogYWN0aW9uU3RvcmUuaXNBY3Rpb24pID8gX3JlZGlyZWN0c3RhdHVzY29kZS5SZWRpcmVjdFN0YXR1c0NvZGUuU2VlT3RoZXIgOiBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZS5QZXJtYW5lbnRSZWRpcmVjdCk7XG59XG5mdW5jdGlvbiBpc1JlZGlyZWN0RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAodHlwZW9mIGVycm9yICE9PSBcIm9iamVjdFwiIHx8IGVycm9yID09PSBudWxsIHx8ICEoXCJkaWdlc3RcIiBpbiBlcnJvcikgfHwgdHlwZW9mIGVycm9yLmRpZ2VzdCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IFtlcnJvckNvZGUsIHR5cGUsIGRlc3RpbmF0aW9uLCBzdGF0dXNdID0gZXJyb3IuZGlnZXN0LnNwbGl0KFwiO1wiLCA0KTtcbiAgICBjb25zdCBzdGF0dXNDb2RlID0gTnVtYmVyKHN0YXR1cyk7XG4gICAgcmV0dXJuIGVycm9yQ29kZSA9PT0gUkVESVJFQ1RfRVJST1JfQ09ERSAmJiAodHlwZSA9PT0gXCJyZXBsYWNlXCIgfHwgdHlwZSA9PT0gXCJwdXNoXCIpICYmIHR5cGVvZiBkZXN0aW5hdGlvbiA9PT0gXCJzdHJpbmdcIiAmJiAhaXNOYU4oc3RhdHVzQ29kZSkgJiYgc3RhdHVzQ29kZSBpbiBfcmVkaXJlY3RzdGF0dXNjb2RlLlJlZGlyZWN0U3RhdHVzQ29kZTtcbn1cbmZ1bmN0aW9uIGdldFVSTEZyb21SZWRpcmVjdEVycm9yKGVycm9yKSB7XG4gICAgaWYgKCFpc1JlZGlyZWN0RXJyb3IoZXJyb3IpKSByZXR1cm4gbnVsbDtcbiAgICAvLyBTbGljZXMgb2ZmIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGRpZ2VzdCB0aGF0IGNvbnRhaW5zIHRoZSBjb2RlIGFuZCB0aGVcbiAgICAvLyBzZXBhcmF0aW5nICc7Jy5cbiAgICByZXR1cm4gZXJyb3IuZGlnZXN0LnNwbGl0KFwiO1wiLCAzKVsyXTtcbn1cbmZ1bmN0aW9uIGdldFJlZGlyZWN0VHlwZUZyb21FcnJvcihlcnJvcikge1xuICAgIGlmICghaXNSZWRpcmVjdEVycm9yKGVycm9yKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSByZWRpcmVjdCBlcnJvclwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yLmRpZ2VzdC5zcGxpdChcIjtcIiwgMilbMV07XG59XG5mdW5jdGlvbiBnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICBpZiAoIWlzUmVkaXJlY3RFcnJvcihlcnJvcikpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm90IGEgcmVkaXJlY3QgZXJyb3JcIik7XG4gICAgfVxuICAgIHJldHVybiBOdW1iZXIoZXJyb3IuZGlnZXN0LnNwbGl0KFwiO1wiLCA0KVszXSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlZGlyZWN0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJlZGlyZWN0VHlwZSIsImdldFJlZGlyZWN0RXJyb3IiLCJyZWRpcmVjdCIsInBlcm1hbmVudFJlZGlyZWN0IiwiaXNSZWRpcmVjdEVycm9yIiwiZ2V0VVJMRnJvbVJlZGlyZWN0RXJyb3IiLCJnZXRSZWRpcmVjdFR5cGVGcm9tRXJyb3IiLCJnZXRSZWRpcmVjdFN0YXR1c0NvZGVGcm9tRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsIiwicmVxdWlyZSIsIl9hY3Rpb25hc3luY3N0b3JhZ2VleHRlcm5hbCIsIl9yZWRpcmVjdHN0YXR1c2NvZGUiLCJSRURJUkVDVF9FUlJPUl9DT0RFIiwidXJsIiwidHlwZSIsInN0YXR1c0NvZGUiLCJSZWRpcmVjdFN0YXR1c0NvZGUiLCJUZW1wb3JhcnlSZWRpcmVjdCIsImVycm9yIiwiRXJyb3IiLCJkaWdlc3QiLCJyZXF1ZXN0U3RvcmUiLCJyZXF1ZXN0QXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJtdXRhYmxlQ29va2llcyIsImFjdGlvblN0b3JlIiwiYWN0aW9uQXN5bmNTdG9yYWdlIiwiaXNBY3Rpb24iLCJTZWVPdGhlciIsIlBlcm1hbmVudFJlZGlyZWN0IiwiZXJyb3JDb2RlIiwiZGVzdGluYXRpb24iLCJzdGF0dXMiLCJzcGxpdCIsIk51bWJlciIsImlzTmFOIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/redirect.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js": /*!**********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! \**********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return RenderFromTemplateContext;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nfunction RenderFromTemplateContext() {\n const children = (0, _react.useContext)(_approutercontextsharedruntime.TemplateContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=render-from-template-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUUsU0FBUyxXQUFXLEdBQUdILDBCQUEwQkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSSxpQ0FBaUNKLG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxTQUFTRjtJQUNMLE1BQU1PLFdBQVcsQ0FBQyxHQUFHSCxPQUFPSSxVQUFVLEVBQUVGLCtCQUErQkcsZUFBZTtJQUN0RixPQUFxQixXQUFILEdBQUksSUFBR04sWUFBWU8sR0FBRyxFQUFFUCxZQUFZUSxRQUFRLEVBQUU7UUFDNURKLFVBQVVBO0lBQ2Q7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZ0IsT0FBTyxLQUFLLGNBQWUsT0FBT2hCLFFBQVFnQixPQUFPLEtBQUssWUFBWWhCLFFBQVFnQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9oQixRQUFRZ0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS25CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWdCLE9BQU8sRUFBRSxjQUFjO1FBQUVmLE9BQU87SUFBSztJQUNuRUgsT0FBT29CLE1BQU0sQ0FBQ2xCLFFBQVFnQixPQUFPLEVBQUVoQjtJQUMvQm1CLE9BQU9uQixPQUFPLEdBQUdBLFFBQVFnQixPQUFPO0FBQ2xDLEVBRUEsd0RBQXdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcz84ZWU2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlbmRlckZyb21UZW1wbGF0ZUNvbnRleHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5mdW5jdGlvbiBSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0KCkge1xuICAgIGNvbnN0IGNoaWxkcmVuID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuVGVtcGxhdGVDb250ZXh0KTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiY2hpbGRyZW4iLCJ1c2VDb250ZXh0IiwiVGVtcGxhdGVDb250ZXh0IiwianN4IiwiRnJhZ21lbnQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js": /*!**************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js ***! \**************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"applyFlightData\", ({\n enumerable: true,\n get: function() {\n return applyFlightData;\n }\n}));\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _fillcachewithnewsubtreedata = __webpack_require__(/*! ./fill-cache-with-new-subtree-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\");\nfunction applyFlightData(existingCache, cache, flightDataPath, wasPrefetched) {\n if (wasPrefetched === void 0) wasPrefetched = false;\n // The one before last item is the router state tree patch\n const [treePatch, cacheNodeSeedData, head] = flightDataPath.slice(-3);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData === null) {\n return false;\n }\n if (flightDataPath.length === 3) {\n const rsc = cacheNodeSeedData[2];\n cache.rsc = rsc;\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, existingCache, treePatch, cacheNodeSeedData, head, wasPrefetched);\n } else {\n // Copy rsc for the root node of the cache.\n cache.rsc = existingCache.rsc;\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n cache.prefetchRsc = existingCache.prefetchRsc;\n cache.parallelRoutes = new Map(existingCache.parallelRoutes);\n // Create a copy of the existing cache with the rsc applied.\n (0, _fillcachewithnewsubtreedata.fillCacheWithNewSubTreeData)(cache, existingCache, flightDataPath, wasPrefetched);\n }\n return true;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-flight-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LWZsaWdodC1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQ0FBaUNDLG1CQUFPQSxDQUFDLHFKQUF1QztBQUN0RixNQUFNQywrQkFBK0JELG1CQUFPQSxDQUFDLCtJQUFvQztBQUNqRixTQUFTRixnQkFBZ0JJLGFBQWEsRUFBRUMsS0FBSyxFQUFFQyxjQUFjLEVBQUVDLGFBQWE7SUFDeEUsSUFBSUEsa0JBQWtCLEtBQUssR0FBR0EsZ0JBQWdCO0lBQzlDLDBEQUEwRDtJQUMxRCxNQUFNLENBQUNDLFdBQVdDLG1CQUFtQkMsS0FBSyxHQUFHSixlQUFlSyxLQUFLLENBQUMsQ0FBQztJQUNuRSw4RkFBOEY7SUFDOUYsSUFBSUYsc0JBQXNCLE1BQU07UUFDNUIsT0FBTztJQUNYO0lBQ0EsSUFBSUgsZUFBZU0sTUFBTSxLQUFLLEdBQUc7UUFDN0IsTUFBTUMsTUFBTUosaUJBQWlCLENBQUMsRUFBRTtRQUNoQ0osTUFBTVEsR0FBRyxHQUFHQTtRQUNaLGtFQUFrRTtRQUNsRSxvRUFBb0U7UUFDcEUsMkRBQTJEO1FBQzNELGtFQUFrRTtRQUNsRSwrQkFBK0I7UUFDL0JSLE1BQU1TLFdBQVcsR0FBRztRQUNuQixJQUFHYiwrQkFBK0JjLDZCQUE2QixFQUFFVixPQUFPRCxlQUFlSSxXQUFXQyxtQkFBbUJDLE1BQU1IO0lBQ2hJLE9BQU87UUFDSCwyQ0FBMkM7UUFDM0NGLE1BQU1RLEdBQUcsR0FBR1QsY0FBY1MsR0FBRztRQUM3QixvRUFBb0U7UUFDcEUsa0VBQWtFO1FBQ2xFLDJCQUEyQjtRQUMzQlIsTUFBTVMsV0FBVyxHQUFHVixjQUFjVSxXQUFXO1FBQzdDVCxNQUFNVyxjQUFjLEdBQUcsSUFBSUMsSUFBSWIsY0FBY1ksY0FBYztRQUMzRCw0REFBNEQ7UUFDM0QsSUFBR2IsNkJBQTZCZSwyQkFBMkIsRUFBRWIsT0FBT0QsZUFBZUUsZ0JBQWdCQztJQUN4RztJQUNBLE9BQU87QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRdUIsT0FBTyxLQUFLLGNBQWUsT0FBT3ZCLFFBQVF1QixPQUFPLEtBQUssWUFBWXZCLFFBQVF1QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU92QixRQUFRdUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzFCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXVCLE9BQU8sRUFBRSxjQUFjO1FBQUV0QixPQUFPO0lBQUs7SUFDbkVILE9BQU8yQixNQUFNLENBQUN6QixRQUFRdUIsT0FBTyxFQUFFdkI7SUFDL0IwQixPQUFPMUIsT0FBTyxHQUFHQSxRQUFRdUIsT0FBTztBQUNsQyxFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LWZsaWdodC1kYXRhLmpzP2Y2ZDYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhcHBseUZsaWdodERhdGFcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFwcGx5RmxpZ2h0RGF0YTtcbiAgICB9XG59KTtcbmNvbnN0IF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZCA9IHJlcXVpcmUoXCIuL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkXCIpO1xuY29uc3QgX2ZpbGxjYWNoZXdpdGhuZXdzdWJ0cmVlZGF0YSA9IHJlcXVpcmUoXCIuL2ZpbGwtY2FjaGUtd2l0aC1uZXctc3VidHJlZS1kYXRhXCIpO1xuZnVuY3Rpb24gYXBwbHlGbGlnaHREYXRhKGV4aXN0aW5nQ2FjaGUsIGNhY2hlLCBmbGlnaHREYXRhUGF0aCwgd2FzUHJlZmV0Y2hlZCkge1xuICAgIGlmICh3YXNQcmVmZXRjaGVkID09PSB2b2lkIDApIHdhc1ByZWZldGNoZWQgPSBmYWxzZTtcbiAgICAvLyBUaGUgb25lIGJlZm9yZSBsYXN0IGl0ZW0gaXMgdGhlIHJvdXRlciBzdGF0ZSB0cmVlIHBhdGNoXG4gICAgY29uc3QgW3RyZWVQYXRjaCwgY2FjaGVOb2RlU2VlZERhdGEsIGhlYWRdID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoLTMpO1xuICAgIC8vIEhhbmRsZXMgY2FzZSB3aGVyZSBwcmVmZXRjaCBvbmx5IHJldHVybnMgdGhlIHJvdXRlciB0cmVlIHBhdGNoIHdpdGhvdXQgcmVuZGVyZWQgY29tcG9uZW50cy5cbiAgICBpZiAoY2FjaGVOb2RlU2VlZERhdGEgPT09IG51bGwpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoZmxpZ2h0RGF0YVBhdGgubGVuZ3RoID09PSAzKSB7XG4gICAgICAgIGNvbnN0IHJzYyA9IGNhY2hlTm9kZVNlZWREYXRhWzJdO1xuICAgICAgICBjYWNoZS5yc2MgPSByc2M7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBQUFItb25seSBmaWVsZC4gV2hlbiBQUFIgaXMgZW5hYmxlZCwgd2Ugc2hvdWxkbid0IGhpdFxuICAgICAgICAvLyB0aGlzIHBhdGggZHVyaW5nIGEgbmF2aWdhdGlvbiwgYnV0IHVudGlsIFBQUiBpcyBmdWxseSBpbXBsZW1lbnRlZFxuICAgICAgICAvLyB5ZXQgaXQncyBwb3NzaWJsZSB0aGUgZXhpc3Rpbmcgbm9kZSBkb2VzIGhhdmUgYSBub24tbnVsbFxuICAgICAgICAvLyBgcHJlZmV0Y2hSc2NgLiBBcyBhbiBpbmNyZW1lbnRhbCBzdGVwLCB3ZSdsbCBqdXN0IGRlLW9wdCB0byB0aGVcbiAgICAgICAgLy8gb2xkIGJlaGF2aW9yIOKAlCBubyBQUFIgdmFsdWUuXG4gICAgICAgIGNhY2hlLnByZWZldGNoUnNjID0gbnVsbDtcbiAgICAgICAgKDAsIF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZC5maWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCkoY2FjaGUsIGV4aXN0aW5nQ2FjaGUsIHRyZWVQYXRjaCwgY2FjaGVOb2RlU2VlZERhdGEsIGhlYWQsIHdhc1ByZWZldGNoZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIENvcHkgcnNjIGZvciB0aGUgcm9vdCBub2RlIG9mIHRoZSBjYWNoZS5cbiAgICAgICAgY2FjaGUucnNjID0gZXhpc3RpbmdDYWNoZS5yc2M7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBQUFItb25seSBmaWVsZC4gVW5saWtlIHRoZSBwcmV2aW91cyBicmFuY2gsIHNpbmNlIHdlJ3JlXG4gICAgICAgIC8vIGp1c3QgY2xvbmluZyB0aGUgZXhpc3RpbmcgY2FjaGUgbm9kZSwgd2UgbWlnaHQgYXMgd2VsbCBrZWVwIHRoZVxuICAgICAgICAvLyBQUFIgdmFsdWUsIGlmIGl0IGV4aXN0cy5cbiAgICAgICAgY2FjaGUucHJlZmV0Y2hSc2MgPSBleGlzdGluZ0NhY2hlLnByZWZldGNoUnNjO1xuICAgICAgICBjYWNoZS5wYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAoZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcyk7XG4gICAgICAgIC8vIENyZWF0ZSBhIGNvcHkgb2YgdGhlIGV4aXN0aW5nIGNhY2hlIHdpdGggdGhlIHJzYyBhcHBsaWVkLlxuICAgICAgICAoMCwgX2ZpbGxjYWNoZXdpdGhuZXdzdWJ0cmVlZGF0YS5maWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEpKGNhY2hlLCBleGlzdGluZ0NhY2hlLCBmbGlnaHREYXRhUGF0aCwgd2FzUHJlZmV0Y2hlZCk7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHBseS1mbGlnaHQtZGF0YS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYXBwbHlGbGlnaHREYXRhIiwiX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkIiwicmVxdWlyZSIsIl9maWxsY2FjaGV3aXRobmV3c3VidHJlZWRhdGEiLCJleGlzdGluZ0NhY2hlIiwiY2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsIndhc1ByZWZldGNoZWQiLCJ0cmVlUGF0Y2giLCJjYWNoZU5vZGVTZWVkRGF0YSIsImhlYWQiLCJzbGljZSIsImxlbmd0aCIsInJzYyIsInByZWZldGNoUnNjIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJwYXJhbGxlbFJvdXRlcyIsIk1hcCIsImZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n applyRouterStatePatchToFullTree: function() {\n return applyRouterStatePatchToFullTree;\n },\n applyRouterStatePatchToTreeSkipDefault: function() {\n return applyRouterStatePatchToTreeSkipDefault;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\n/**\n * Deep merge of the two router states. Parallel route keys are preserved if the patch doesn't have them.\n */ function applyPatch(initialTree, patchTree, applyPatchToDefaultSegment) {\n if (applyPatchToDefaultSegment === void 0) applyPatchToDefaultSegment = false;\n const [initialSegment, initialParallelRoutes] = initialTree;\n const [patchSegment, patchParallelRoutes] = patchTree;\n // if the applied patch segment is __DEFAULT__ then it can be ignored in favor of the initial tree\n // this is because the __DEFAULT__ segment is used as a placeholder on navigation\n // however, there are cases where we _do_ want to apply the patch to the default segment,\n // such as when revalidating the router cache with router.refresh/revalidatePath\n if (!applyPatchToDefaultSegment && patchSegment === _segment.DEFAULT_SEGMENT_KEY && initialSegment !== _segment.DEFAULT_SEGMENT_KEY) {\n return initialTree;\n }\n if ((0, _matchsegments.matchSegment)(initialSegment, patchSegment)) {\n const newParallelRoutes = {};\n for(const key in initialParallelRoutes){\n const isInPatchTreeParallelRoutes = typeof patchParallelRoutes[key] !== \"undefined\";\n if (isInPatchTreeParallelRoutes) {\n newParallelRoutes[key] = applyPatch(initialParallelRoutes[key], patchParallelRoutes[key], applyPatchToDefaultSegment);\n } else {\n newParallelRoutes[key] = initialParallelRoutes[key];\n }\n }\n for(const key in patchParallelRoutes){\n if (newParallelRoutes[key]) {\n continue;\n }\n newParallelRoutes[key] = patchParallelRoutes[key];\n }\n const tree = [\n initialSegment,\n newParallelRoutes\n ];\n if (initialTree[2]) {\n tree[2] = initialTree[2];\n }\n if (initialTree[3]) {\n tree[3] = initialTree[3];\n }\n if (initialTree[4]) {\n tree[4] = initialTree[4];\n }\n return tree;\n }\n return patchTree;\n}\nfunction applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, applyPatchDefaultSegment) {\n if (applyPatchDefaultSegment === void 0) applyPatchDefaultSegment = false;\n const [segment, parallelRoutes, , , isRootLayout] = flightRouterState;\n // Root refresh\n if (flightSegmentPath.length === 1) {\n const tree = applyPatch(flightRouterState, treePatch, applyPatchDefaultSegment);\n return tree;\n }\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Tree path returned from the server should always match up with the current tree in the browser\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n return null;\n }\n const lastSegment = flightSegmentPath.length === 2;\n let parallelRoutePatch;\n if (lastSegment) {\n parallelRoutePatch = applyPatch(parallelRoutes[parallelRouteKey], treePatch, applyPatchDefaultSegment);\n } else {\n parallelRoutePatch = applyRouterStatePatchToTreeImpl(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey], treePatch, applyPatchDefaultSegment);\n if (parallelRoutePatch === null) {\n return null;\n }\n }\n const tree = [\n flightSegmentPath[0],\n {\n ...parallelRoutes,\n [parallelRouteKey]: parallelRoutePatch\n }\n ];\n // Current segment is the root layout\n if (isRootLayout) {\n tree[4] = true;\n }\n return tree;\n}\nfunction applyRouterStatePatchToFullTree(flightSegmentPath, flightRouterState, treePatch) {\n return applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, true);\n}\nfunction applyRouterStatePatchToTreeSkipDefault(flightSegmentPath, flightRouterState, treePatch) {\n return applyRouterStatePatchToTreeImpl(flightSegmentPath, flightRouterState, treePatch, false);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=apply-router-state-patch-to-tree.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2FwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQ0FBaUM7UUFDN0IsT0FBT0E7SUFDWDtJQUNBQyx3Q0FBd0M7UUFDcEMsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sV0FBV0MsbUJBQU9BLENBQUMseUZBQTZCO0FBQ3RELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsNkZBQW1CO0FBQ2xEOztDQUVDLEdBQUcsU0FBU0UsV0FBV0MsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLDBCQUEwQjtJQUN0RSxJQUFJQSwrQkFBK0IsS0FBSyxHQUFHQSw2QkFBNkI7SUFDeEUsTUFBTSxDQUFDQyxnQkFBZ0JDLHNCQUFzQixHQUFHSjtJQUNoRCxNQUFNLENBQUNLLGNBQWNDLG9CQUFvQixHQUFHTDtJQUM1QyxrR0FBa0c7SUFDbEcsaUZBQWlGO0lBQ2pGLHlGQUF5RjtJQUN6RixnRkFBZ0Y7SUFDaEYsSUFBSSxDQUFDQyw4QkFBOEJHLGlCQUFpQlQsU0FBU1csbUJBQW1CLElBQUlKLG1CQUFtQlAsU0FBU1csbUJBQW1CLEVBQUU7UUFDakksT0FBT1A7SUFDWDtJQUNBLElBQUksQ0FBQyxHQUFHRixlQUFlVSxZQUFZLEVBQUVMLGdCQUFnQkUsZUFBZTtRQUNoRSxNQUFNSSxvQkFBb0IsQ0FBQztRQUMzQixJQUFJ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LGFBQWE7SUFDcks3QyxPQUFPQyxjQUFjLENBQUNDLFFBQVEwQyxPQUFPLEVBQUUsY0FBYztRQUFFekMsT0FBTztJQUFLO0lBQ25FSCxPQUFPOEMsTUFBTSxDQUFDNUMsUUFBUTBDLE9BQU8sRUFBRTFDO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVEwQyxPQUFPO0FBQ2xDLEVBRUEsNERBQTREIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWUuanM/ZjdjMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWU6IG51bGwsXG4gICAgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9GdWxsVHJlZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb0Z1bGxUcmVlO1xuICAgIH0sXG4gICAgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3NlZ21lbnRcIik7XG5jb25zdCBfbWF0Y2hzZWdtZW50cyA9IHJlcXVpcmUoXCIuLi9tYXRjaC1zZWdtZW50c1wiKTtcbi8qKlxuICogRGVlcCBtZXJnZSBvZiB0aGUgdHdvIHJvdXRlciBzdGF0ZXMuIFBhcmFsbGVsIHJvdXRlIGtleXMgYXJlIHByZXNlcnZlZCBpZiB0aGUgcGF0Y2ggZG9lc24ndCBoYXZlIHRoZW0uXG4gKi8gZnVuY3Rpb24gYXBwbHlQYXRjaChpbml0aWFsVHJlZSwgcGF0Y2hUcmVlLCBhcHBseVBhdGNoVG9EZWZhdWx0U2VnbWVudCkge1xuICAgIGlmIChhcHBseVBhdGNoVG9EZWZhdWx0U2VnbWVudCA9PT0gdm9pZCAwKSBhcHBseVBhdGNoVG9EZWZhdWx0U2VnbWVudCA9IGZhbHNlO1xuICAgIGNvbnN0IFtpbml0aWFsU2VnbWVudCwgaW5pdGlhbFBhcmFsbGVsUm91dGVzXSA9IGluaXRpYWxUcmVlO1xuICAgIGNvbnN0IFtwYXRjaFNlZ21lbnQsIHBhdGNoUGFyYWxsZWxSb3V0ZXNdID0gcGF0Y2hUcmVlO1xuICAgIC8vIGlmIHRoZSBhcHBsaWVkIHBhdGNoIHNlZ21lbnQgaXMgX19ERUZBVUxUX18gdGhlbiBpdCBjYW4gYmUgaWdub3JlZCBpbiBmYXZvciBvZiB0aGUgaW5pdGlhbCB0cmVlXG4gICAgLy8gdGhpcyBpcyBiZWNhdXNlIHRoZSBfX0RFRkFVTFRfXyBzZWdtZW50IGlzIHVzZWQgYXMgYSBwbGFjZWhvbGRlciBvbiBuYXZpZ2F0aW9uXG4gICAgLy8gaG93ZXZlciwgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHdlIF9kb18gd2FudCB0byBhcHBseSB0aGUgcGF0Y2ggdG8gdGhlIGRlZmF1bHQgc2VnbWVudCxcbiAgICAvLyBzdWNoIGFzIHdoZW4gcmV2YWxpZGF0aW5nIHRoZSByb3V0ZXIgY2FjaGUgd2l0aCByb3V0ZXIucmVmcmVzaC9yZXZhbGlkYXRlUGF0aFxuICAgIGlmICghYXBwbHlQYXRjaFRvRGVmYXVsdFNlZ21lbnQgJiYgcGF0Y2hTZWdtZW50ID09PSBfc2VnbWVudC5ERUZBVUxUX1NFR01FTlRfS0VZICYmIGluaXRpYWxTZWdtZW50ICE9PSBfc2VnbWVudC5ERUZBVUxUX1NFR01FTlRfS0VZKSB7XG4gICAgICAgIHJldHVybiBpbml0aWFsVHJlZTtcbiAgICB9XG4gICAgaWYgKCgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKGluaXRpYWxTZWdtZW50LCBwYXRjaFNlZ21lbnQpKSB7XG4gICAgICAgIGNvbnN0IG5ld1BhcmFsbGVsUm91dGVzID0ge307XG4gICAgICAgIGZvcihjb25zdCBrZXkgaW4gaW5pdGlhbFBhcmFsbGVsUm91dGVzKXtcbiAgICAgICAgICAgIGNvbnN0IGlzSW5QYXRjaFRyZWVQYXJhbGxlbFJvdXRlcyA9IHR5cGVvZiBwYXRjaFBhcmFsbGVsUm91dGVzW2tleV0gIT09IFwidW5kZWZpbmVkXCI7XG4gICAgICAgICAgICBpZiAoaXNJblBhdGNoVHJlZVBhcmFsbGVsUm91dGVzKSB7XG4gICAgICAgICAgICAgICAgbmV3UGFyYWxsZWxSb3V0ZXNba2V5XSA9IGFwcGx5UGF0Y2goaW5pdGlhbFBhcmFsbGVsUm91dGVzW2tleV0sIHBhdGNoUGFyYWxsZWxSb3V0ZXNba2V5XSwgYXBwbHlQYXRjaFRvRGVmYXVsdFNlZ21lbnQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdQYXJhbGxlbFJvdXRlc1trZXldID0gaW5pdGlhbFBhcmFsbGVsUm91dGVzW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yKGNvbnN0IGtleSBpbiBwYXRjaFBhcmFsbGVsUm91dGVzKXtcbiAgICAgICAgICAgIGlmIChuZXdQYXJhbGxlbFJvdXRlc1trZXldKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXdQYXJhbGxlbFJvdXRlc1trZXldID0gcGF0Y2hQYXJhbGxlbFJvdXRlc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRyZWUgPSBbXG4gICAgICAgICAgICBpbml0aWFsU2VnbWVudCxcbiAgICAgICAgICAgIG5ld1BhcmFsbGVsUm91dGVzXG4gICAgICAgIF07XG4gICAgICAgIGlmIChpbml0aWFsVHJlZVsyXSkge1xuICAgICAgICAgICAgdHJlZVsyXSA9IGluaXRpYWxUcmVlWzJdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbml0aWFsVHJlZVszXSkge1xuICAgICAgICAgICAgdHJlZVszXSA9IGluaXRpYWxUcmVlWzNdO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbml0aWFsVHJlZVs0XSkge1xuICAgICAgICAgICAgdHJlZVs0XSA9IGluaXRpYWxUcmVlWzRdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cmVlO1xuICAgIH1cbiAgICByZXR1cm4gcGF0Y2hUcmVlO1xufVxuZnVuY3Rpb24gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlSW1wbChmbGlnaHRTZWdtZW50UGF0aCwgZmxpZ2h0Um91dGVyU3RhdGUsIHRyZWVQYXRjaCwgYXBwbHlQYXRjaERlZmF1bHRTZWdtZW50KSB7XG4gICAgaWYgKGFwcGx5UGF0Y2hEZWZhdWx0U2VnbWVudCA9PT0gdm9pZCAwKSBhcHBseVBhdGNoRGVmYXVsdFNlZ21lbnQgPSBmYWxzZTtcbiAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZXMsICwgLCBpc1Jvb3RMYXlvdXRdID0gZmxpZ2h0Um91dGVyU3RhdGU7XG4gICAgLy8gUm9vdCByZWZyZXNoXG4gICAgaWYgKGZsaWdodFNlZ21lbnRQYXRoLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBjb25zdCB0cmVlID0gYXBwbHlQYXRjaChmbGlnaHRSb3V0ZXJTdGF0ZSwgdHJlZVBhdGNoLCBhcHBseVBhdGNoRGVmYXVsdFNlZ21lbnQpO1xuICAgICAgICByZXR1cm4gdHJlZTtcbiAgICB9XG4gICAgY29uc3QgW2N1cnJlbnRTZWdtZW50LCBwYXJhbGxlbFJvdXRlS2V5XSA9IGZsaWdodFNlZ21lbnRQYXRoO1xuICAgIC8vIFRyZWUgcGF0aCByZXR1cm5lZCBmcm9tIHRoZSBzZXJ2ZXIgc2hvdWxkIGFsd2F5cyBtYXRjaCB1cCB3aXRoIHRoZSBjdXJyZW50IHRyZWUgaW4gdGhlIGJyb3dzZXJcbiAgICBpZiAoISgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKGN1cnJlbnRTZWdtZW50LCBzZWdtZW50KSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgY29uc3QgbGFzdFNlZ21lbnQgPSBmbGlnaHRTZWdtZW50UGF0aC5sZW5ndGggPT09IDI7XG4gICAgbGV0IHBhcmFsbGVsUm91dGVQYXRjaDtcbiAgICBpZiAobGFzdFNlZ21lbnQpIHtcbiAgICAgICAgcGFyYWxsZWxSb3V0ZVBhdGNoID0gYXBwbHlQYXRjaChwYXJhbGxlbFJvdXRlc1twYXJhbGxlbFJvdXRlS2V5XSwgdHJlZVBhdGNoLCBhcHBseVBhdGNoRGVmYXVsdFNlZ21lbnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcmFsbGVsUm91dGVQYXRjaCA9IGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZUltcGwoZmxpZ2h0U2VnbWVudFBhdGguc2xpY2UoMiksIHBhcmFsbGVsUm91dGVzW3BhcmFsbGVsUm91dGVLZXldLCB0cmVlUGF0Y2gsIGFwcGx5UGF0Y2hEZWZhdWx0U2VnbWVudCk7XG4gICAgICAgIGlmIChwYXJhbGxlbFJvdXRlUGF0Y2ggPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHRyZWUgPSBbXG4gICAgICAgIGZsaWdodFNlZ21lbnRQYXRoWzBdLFxuICAgICAgICB7XG4gICAgICAgICAgICAuLi5wYXJhbGxlbFJvdXRlcyxcbiAgICAgICAgICAgIFtwYXJhbGxlbFJvdXRlS2V5XTogcGFyYWxsZWxSb3V0ZVBhdGNoXG4gICAgICAgIH1cbiAgICBdO1xuICAgIC8vIEN1cnJlbnQgc2VnbWVudCBpcyB0aGUgcm9vdCBsYXlvdXRcbiAgICBpZiAoaXNSb290TGF5b3V0KSB7XG4gICAgICAgIHRyZWVbNF0gPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gdHJlZTtcbn1cbmZ1bmN0aW9uIGFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWUoZmxpZ2h0U2VnbWVudFBhdGgsIGZsaWdodFJvdXRlclN0YXRlLCB0cmVlUGF0Y2gpIHtcbiAgICByZXR1cm4gYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlSW1wbChmbGlnaHRTZWdtZW50UGF0aCwgZmxpZ2h0Um91dGVyU3RhdGUsIHRyZWVQYXRjaCwgdHJ1ZSk7XG59XG5mdW5jdGlvbiBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdChmbGlnaHRTZWdtZW50UGF0aCwgZmxpZ2h0Um91dGVyU3RhdGUsIHRyZWVQYXRjaCkge1xuICAgIHJldHVybiBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVJbXBsKGZsaWdodFNlZ21lbnRQYXRoLCBmbGlnaHRSb3V0ZXJTdGF0ZSwgdHJlZVBhdGNoLCBmYWxzZSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWUiLCJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9zZWdtZW50IiwicmVxdWlyZSIsIl9tYXRjaHNlZ21lbnRzIiwiYXBwbHlQYXRjaCIsImluaXRpYWxUcmVlIiwicGF0Y2hUcmVlIiwiYXBwbHlQYXRjaFRvRGVmYXVsdFNlZ21lbnQiLCJpbml0aWFsU2VnbWVudCIsImluaXRpYWxQYXJhbGxlbFJvdXRlcyIsInBhdGNoU2VnbWVudCIsInBhdGNoUGFyYWxsZWxSb3V0ZXMiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwibWF0Y2hTZWdtZW50IiwibmV3UGFyYWxsZWxSb3V0ZXMiLCJrZXkiLCJpc0luUGF0Y2hUcmVlUGFyYWxsZWxSb3V0ZXMiLCJ0cmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlSW1wbCIsImZsaWdodFNlZ21lbnRQYXRoIiwiZmxpZ2h0Um91dGVyU3RhdGUiLCJ0cmVlUGF0Y2giLCJhcHBseVBhdGNoRGVmYXVsdFNlZ21lbnQiLCJzZWdtZW50IiwicGFyYWxsZWxSb3V0ZXMiLCJpc1Jvb3RMYXlvdXQiLCJsZW5ndGgiLCJjdXJyZW50U2VnbWVudCIsInBhcmFsbGVsUm91dGVLZXkiLCJsYXN0U2VnbWVudCIsInBhcmFsbGVsUm91dGVQYXRjaCIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n extractPathFromFlightRouterState: function() {\n return extractPathFromFlightRouterState;\n },\n computeChangedPath: function() {\n return computeChangedPath;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst removeLeadingSlash = (segment)=>{\n return segment[0] === \"/\" ? segment.slice(1) : segment;\n};\nconst segmentToPathname = (segment)=>{\n if (typeof segment === \"string\") {\n return segment;\n }\n return segment[1];\n};\nfunction normalizeSegments(segments) {\n return segments.reduce((acc, segment)=>{\n segment = removeLeadingSlash(segment);\n if (segment === \"\" || (0, _segment.isGroupSegment)(segment)) {\n return acc;\n }\n return acc + \"/\" + segment;\n }, \"\") || \"/\";\n}\nfunction extractPathFromFlightRouterState(flightRouterState) {\n const segment = Array.isArray(flightRouterState[0]) ? flightRouterState[0][1] : flightRouterState[0];\n if (segment === _segment.DEFAULT_SEGMENT_KEY || _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m))) return undefined;\n if (segment.startsWith(_segment.PAGE_SEGMENT_KEY)) return \"\";\n const segments = [\n segment\n ];\n var _flightRouterState_;\n const parallelRoutes = (_flightRouterState_ = flightRouterState[1]) != null ? _flightRouterState_ : {};\n const childrenPath = parallelRoutes.children ? extractPathFromFlightRouterState(parallelRoutes.children) : undefined;\n if (childrenPath !== undefined) {\n segments.push(childrenPath);\n } else {\n for (const [key, value] of Object.entries(parallelRoutes)){\n if (key === \"children\") continue;\n const childPath = extractPathFromFlightRouterState(value);\n if (childPath !== undefined) {\n segments.push(childPath);\n }\n }\n }\n return normalizeSegments(segments);\n}\nfunction computeChangedPathImpl(treeA, treeB) {\n const [segmentA, parallelRoutesA] = treeA;\n const [segmentB, parallelRoutesB] = treeB;\n const normalizedSegmentA = segmentToPathname(segmentA);\n const normalizedSegmentB = segmentToPathname(segmentB);\n if (_interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>normalizedSegmentA.startsWith(m) || normalizedSegmentB.startsWith(m))) {\n return \"\";\n }\n if (!(0, _matchsegments.matchSegment)(segmentA, segmentB)) {\n var _extractPathFromFlightRouterState;\n // once we find where the tree changed, we compute the rest of the path by traversing the tree\n return (_extractPathFromFlightRouterState = extractPathFromFlightRouterState(treeB)) != null ? _extractPathFromFlightRouterState : \"\";\n }\n for(const parallelRouterKey in parallelRoutesA){\n if (parallelRoutesB[parallelRouterKey]) {\n const changedPath = computeChangedPathImpl(parallelRoutesA[parallelRouterKey], parallelRoutesB[parallelRouterKey]);\n if (changedPath !== null) {\n return segmentToPathname(segmentB) + \"/\" + changedPath;\n }\n }\n }\n return null;\n}\nfunction computeChangedPath(treeA, treeB) {\n const changedPath = computeChangedPathImpl(treeA, treeB);\n if (changedPath == null || changedPath === \"/\") {\n return changedPath;\n }\n // lightweight normalization to remove route groups\n return normalizeSegments(changedPath.split(\"/\"));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=compute-changed-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NvbXB1dGUtY2hhbmdlZC1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxrQ0FBa0M7UUFDOUIsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sc0JBQXNCQyxtQkFBT0EsQ0FBQyx1SUFBb0Q7QUFDeEYsTUFBTUMsV0FBV0QsbUJBQU9BLENBQUMseUZBQTZCO0FBQ3RELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsNkZBQW1CO0FBQ2xELE1BQU1HLHFCQUFxQixDQUFDQztJQUN4QixPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE1BQU1BLFFBQVFDLEtBQUssQ0FBQyxLQUFLRDtBQUNuRDtBQUNBLE1BQU1FLG9CQUFvQixDQUFDRjtJQUN2QixJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUM3QixPQUFPQTtJQUNYO0lBQ0EsT0FBT0EsT0FBTyxDQUFDLEVBQUU7QUFDckI7QUFDQSxTQUFTRyxrQkFBa0JDLFFBQVE7SUFDL0IsT0FBT0EsU0FBU0MsTUFBTSxDQUFDLENBQUNDLEtBQUtOO1FBQ3pCQSxVQUFVRCxtQkFBbUJDO1FBQzdCLElBQUlBLFlBQVksTUFBTSxDQUFDLEdBQUdILFNBQVNVLGNBQWMsRUFBRVAsVUFBVTtZQUN6RCxPQUFPTTtRQUNYO1FBQ0EsT0FBT0EsTUFBTSxNQUFNTjtJQUN2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O0lBQ25FSCxPQUFPNEQsTUFBTSxDQUFDMUQsUUFBUXdELE9BQU8sRUFBRXhEO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVF3RCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvY29tcHV0ZS1jaGFuZ2VkLXBhdGguanM/NjA5MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlOiBudWxsLFxuICAgIGNvbXB1dGVDaGFuZ2VkUGF0aDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTtcbiAgICB9LFxuICAgIGNvbXB1dGVDaGFuZ2VkUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjb21wdXRlQ2hhbmdlZFBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJjZXB0aW9ucm91dGVzID0gcmVxdWlyZShcIi4uLy4uLy4uL3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzXCIpO1xuY29uc3QgX3NlZ21lbnQgPSByZXF1aXJlKFwiLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50XCIpO1xuY29uc3QgX21hdGNoc2VnbWVudHMgPSByZXF1aXJlKFwiLi4vbWF0Y2gtc2VnbWVudHNcIik7XG5jb25zdCByZW1vdmVMZWFkaW5nU2xhc2ggPSAoc2VnbWVudCk9PntcbiAgICByZXR1cm4gc2VnbWVudFswXSA9PT0gXCIvXCIgPyBzZWdtZW50LnNsaWNlKDEpIDogc2VnbWVudDtcbn07XG5jb25zdCBzZWdtZW50VG9QYXRobmFtZSA9IChzZWdtZW50KT0+e1xuICAgIGlmICh0eXBlb2Ygc2VnbWVudCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gc2VnbWVudDtcbiAgICB9XG4gICAgcmV0dXJuIHNlZ21lbnRbMV07XG59O1xuZnVuY3Rpb24gbm9ybWFsaXplU2VnbWVudHMoc2VnbWVudHMpIHtcbiAgICByZXR1cm4gc2VnbWVudHMucmVkdWNlKChhY2MsIHNlZ21lbnQpPT57XG4gICAgICAgIHNlZ21lbnQgPSByZW1vdmVMZWFkaW5nU2xhc2goc2VnbWVudCk7XG4gICAgICAgIGlmIChzZWdtZW50ID09PSBcIlwiIHx8ICgwLCBfc2VnbWVudC5pc0dyb3VwU2VnbWVudCkoc2VnbWVudCkpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFjYyArIFwiL1wiICsgc2VnbWVudDtcbiAgICB9LCBcIlwiKSB8fCBcIi9cIjtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKGZsaWdodFJvdXRlclN0YXRlKSB7XG4gICAgY29uc3Qgc2VnbWVudCA9IEFycmF5LmlzQXJyYXkoZmxpZ2h0Um91dGVyU3RhdGVbMF0pID8gZmxpZ2h0Um91dGVyU3RhdGVbMF1bMV0gOiBmbGlnaHRSb3V0ZXJTdGF0ZVswXTtcbiAgICBpZiAoc2VnbWVudCA9PT0gX3NlZ21lbnQuREVGQVVMVF9TRUdNRU5UX0tFWSB8fCBfaW50ZXJjZXB0aW9ucm91dGVzLklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLnNvbWUoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoX3NlZ21lbnQuUEFHRV9TRUdNRU5UX0tFWSkpIHJldHVybiBcIlwiO1xuICAgIGNvbnN0IHNlZ21lbnRzID0gW1xuICAgICAgICBzZWdtZW50XG4gICAgXTtcbiAgICB2YXIgX2ZsaWdodFJvdXRlclN0YXRlXztcbiAgICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IChfZmxpZ2h0Um91dGVyU3RhdGVfID0gZmxpZ2h0Um91dGVyU3RhdGVbMV0pICE9IG51bGwgPyBfZmxpZ2h0Um91dGVyU3RhdGVfIDoge307XG4gICAgY29uc3QgY2hpbGRyZW5QYXRoID0gcGFyYWxsZWxSb3V0ZXMuY2hpbGRyZW4gPyBleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZShwYXJhbGxlbFJvdXRlcy5jaGlsZHJlbikgOiB1bmRlZmluZWQ7XG4gICAgaWYgKGNoaWxkcmVuUGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHNlZ21lbnRzLnB1c2goY2hpbGRyZW5QYXRoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbGxlbFJvdXRlcykpe1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gXCJjaGlsZHJlblwiKSBjb250aW51ZTtcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkUGF0aCA9IGV4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlKHZhbHVlKTtcbiAgICAgICAgICAgIGlmIChjaGlsZFBhdGggIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHNlZ21lbnRzLnB1c2goY2hpbGRQYXRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9ybWFsaXplU2VnbWVudHMoc2VnbWVudHMpO1xufVxuZnVuY3Rpb24gY29tcHV0ZUNoYW5nZWRQYXRoSW1wbCh0cmVlQSwgdHJlZUIpIHtcbiAgICBjb25zdCBbc2VnbWVudEEsIHBhcmFsbGVsUm91dGVzQV0gPSB0cmVlQTtcbiAgICBjb25zdCBbc2VnbWVudEIsIHBhcmFsbGVsUm91dGVzQl0gPSB0cmVlQjtcbiAgICBjb25zdCBub3JtYWxpemVkU2VnbWVudEEgPSBzZWdtZW50VG9QYXRobmFtZShzZWdtZW50QSk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNlZ21lbnRCID0gc2VnbWVudFRvUGF0aG5hbWUoc2VnbWVudEIpO1xuICAgIGlmIChfaW50ZXJjZXB0aW9ucm91dGVzLklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLnNvbWUoKG0pPT5ub3JtYWxpemVkU2VnbWVudEEuc3RhcnRzV2l0aChtKSB8fCBub3JtYWxpemVkU2VnbWVudEIuc3RhcnRzV2l0aChtKSkpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIGlmICghKDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoc2VnbWVudEEsIHNlZ21lbnRCKSkge1xuICAgICAgICB2YXIgX2V4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlO1xuICAgICAgICAvLyBvbmNlIHdlIGZpbmQgd2hlcmUgdGhlIHRyZWUgY2hhbmdlZCwgd2UgY29tcHV0ZSB0aGUgcmVzdCBvZiB0aGUgcGF0aCBieSB0cmF2ZXJzaW5nIHRoZSB0cmVlXG4gICAgICAgIHJldHVybiAoX2V4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlID0gZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUodHJlZUIpKSAhPSBudWxsID8gX2V4dHJhY3RQYXRoRnJvbUZsaWdodFJvdXRlclN0YXRlIDogXCJcIjtcbiAgICB9XG4gICAgZm9yKGNvbnN0IHBhcmFsbGVsUm91dGVyS2V5IGluIHBhcmFsbGVsUm91dGVzQSl7XG4gICAgICAgIGlmIChwYXJhbGxlbFJvdXRlc0JbcGFyYWxsZWxSb3V0ZXJLZXldKSB7XG4gICAgICAgICAgICBjb25zdCBjaGFuZ2VkUGF0aCA9IGNvbXB1dGVDaGFuZ2VkUGF0aEltcGwocGFyYWxsZWxSb3V0ZXNBW3BhcmFsbGVsUm91dGVyS2V5XSwgcGFyYWxsZWxSb3V0ZXNCW3BhcmFsbGVsUm91dGVyS2V5XSk7XG4gICAgICAgICAgICBpZiAoY2hhbmdlZFBhdGggIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VnbWVudFRvUGF0aG5hbWUoc2VnbWVudEIpICsgXCIvXCIgKyBjaGFuZ2VkUGF0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmZ1bmN0aW9uIGNvbXB1dGVDaGFuZ2VkUGF0aCh0cmVlQSwgdHJlZUIpIHtcbiAgICBjb25zdCBjaGFuZ2VkUGF0aCA9IGNvbXB1dGVDaGFuZ2VkUGF0aEltcGwodHJlZUEsIHRyZWVCKTtcbiAgICBpZiAoY2hhbmdlZFBhdGggPT0gbnVsbCB8fCBjaGFuZ2VkUGF0aCA9PT0gXCIvXCIpIHtcbiAgICAgICAgcmV0dXJuIGNoYW5nZWRQYXRoO1xuICAgIH1cbiAgICAvLyBsaWdodHdlaWdodCBub3JtYWxpemF0aW9uIHRvIHJlbW92ZSByb3V0ZSBncm91cHNcbiAgICByZXR1cm4gbm9ybWFsaXplU2VnbWVudHMoY2hhbmdlZFBhdGguc3BsaXQoXCIvXCIpKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29tcHV0ZS1jaGFuZ2VkLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJjb21wdXRlQ2hhbmdlZFBhdGgiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJjZXB0aW9ucm91dGVzIiwicmVxdWlyZSIsIl9zZWdtZW50IiwiX21hdGNoc2VnbWVudHMiLCJyZW1vdmVMZWFkaW5nU2xhc2giLCJzZWdtZW50Iiwic2xpY2UiLCJzZWdtZW50VG9QYXRobmFtZSIsIm5vcm1hbGl6ZVNlZ21lbnRzIiwic2VnbWVudHMiLCJyZWR1Y2UiLCJhY2MiLCJpc0dyb3VwU2VnbWVudCIsImZsaWdodFJvdXRlclN0YXRlIiwiQXJyYXkiLCJpc0FycmF5IiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwic29tZSIsIm0iLCJzdGFydHNXaXRoIiwidW5kZWZpbmVkIiwiUEFHRV9TRUdNRU5UX0tFWSIsIl9mbGlnaHRSb3V0ZXJTdGF0ZV8iLCJwYXJhbGxlbFJvdXRlcyIsImNoaWxkcmVuUGF0aCIsImNoaWxkcmVuIiwicHVzaCIsImtleSIsImVudHJpZXMiLCJjaGlsZFBhdGgiLCJjb21wdXRlQ2hhbmdlZFBhdGhJbXBsIiwidHJlZUEiLCJ0cmVlQiIsInNlZ21lbnRBIiwicGFyYWxsZWxSb3V0ZXNBIiwic2VnbWVudEIiLCJwYXJhbGxlbFJvdXRlc0IiLCJub3JtYWxpemVkU2VnbWVudEEiLCJub3JtYWxpemVkU2VnbWVudEIiLCJtYXRjaFNlZ21lbnQiLCJfZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJwYXJhbGxlbFJvdXRlcktleSIsImNoYW5nZWRQYXRoIiwic3BsaXQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js ***! \*****************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createHrefFromUrl\", ({\n enumerable: true,\n get: function() {\n return createHrefFromUrl;\n }\n}));\nfunction createHrefFromUrl(url, includeHash) {\n if (includeHash === void 0) includeHash = true;\n return url.pathname + url.search + (includeHash ? url.hash : \"\");\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-href-from-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxrQkFBa0JDLEdBQUcsRUFBRUMsV0FBVztJQUN2QyxJQUFJQSxnQkFBZ0IsS0FBSyxHQUFHQSxjQUFjO0lBQzFDLE9BQU9ELElBQUlFLFFBQVEsR0FBR0YsSUFBSUcsTUFBTSxHQUFJRixDQUFBQSxjQUFjRCxJQUFJSSxJQUFJLEdBQUcsRUFBQztBQUNsRTtBQUVBLElBQUksQ0FBQyxPQUFPVCxRQUFRVSxPQUFPLEtBQUssY0FBZSxPQUFPVixRQUFRVSxPQUFPLEtBQUssWUFBWVYsUUFBUVUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPVixRQUFRVSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLYixPQUFPQyxjQUFjLENBQUNDLFFBQVFVLE9BQU8sRUFBRSxjQUFjO1FBQUVULE9BQU87SUFBSztJQUNuRUgsT0FBT2MsTUFBTSxDQUFDWixRQUFRVSxPQUFPLEVBQUVWO0lBQy9CYSxPQUFPYixPQUFPLEdBQUdBLFFBQVFVLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaHJlZi1mcm9tLXVybC5qcz9hNzc0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlSHJlZkZyb21VcmxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUhyZWZGcm9tVXJsO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gY3JlYXRlSHJlZkZyb21VcmwodXJsLCBpbmNsdWRlSGFzaCkge1xuICAgIGlmIChpbmNsdWRlSGFzaCA9PT0gdm9pZCAwKSBpbmNsdWRlSGFzaCA9IHRydWU7XG4gICAgcmV0dXJuIHVybC5wYXRobmFtZSArIHVybC5zZWFyY2ggKyAoaW5jbHVkZUhhc2ggPyB1cmwuaGFzaCA6IFwiXCIpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGUtaHJlZi1mcm9tLXVybC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY3JlYXRlSHJlZkZyb21VcmwiLCJ1cmwiLCJpbmNsdWRlSGFzaCIsInBhdGhuYW1lIiwic2VhcmNoIiwiaGFzaCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInitialRouterState\", ({\n enumerable: true,\n get: function() {\n return createInitialRouterState;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ./create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction createInitialRouterState(param) {\n let { buildId, initialTree, initialSeedData, initialCanonicalUrl, initialParallelRoutes, isServer, location, initialHead } = param;\n const rsc = initialSeedData[2];\n const cache = {\n lazyData: null,\n rsc: rsc,\n prefetchRsc: null,\n // The cache gets seeded during the first render. `initialParallelRoutes` ensures the cache from the first render is there during the second render.\n parallelRoutes: isServer ? new Map() : initialParallelRoutes\n };\n // When the cache hasn't been seeded yet we fill the cache with the head.\n if (initialParallelRoutes === null || initialParallelRoutes.size === 0) {\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, initialTree, initialSeedData, initialHead);\n }\n var _ref;\n return {\n buildId,\n tree: initialTree,\n cache,\n prefetchCache: new Map(),\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // First render needs to preserve the previous window.history.state\n // to avoid it being overwritten on navigation back/forward with MPA Navigation.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: {\n apply: false,\n onlyHashChange: false,\n hashFragment: null,\n segmentPaths: []\n },\n canonicalUrl: // This is safe to do as canonicalUrl can't be rendered, it's only used to control the history updates in the useEffect further down in this file.\n location ? (0, _createhreffromurl.createHrefFromUrl)(location) : initialCanonicalUrl,\n nextUrl: (_ref = (0, _computechangedpath.extractPathFromFlightRouterState)(initialTree) || (location == null ? void 0 : location.pathname)) != null ? _ref : null\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-initial-router-state.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1pbml0aWFsLXJvdXRlci1zdGF0ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNERBQTJEO0lBQ3ZESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMscUJBQXFCQyxtQkFBT0EsQ0FBQyx1SEFBd0I7QUFDM0QsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyxxSkFBdUM7QUFDdEYsTUFBTUUsc0JBQXNCRixtQkFBT0EsQ0FBQyx1SEFBd0I7QUFDNUQsU0FBU0YseUJBQXlCSyxLQUFLO0lBQ25DLElBQUksRUFBRUMsT0FBTyxFQUFFQyxXQUFXLEVBQUVDLGVBQWUsRUFBRUMsbUJBQW1CLEVBQUVDLHFCQUFxQixFQUFFQyxRQUFRLEVBQUVDLFFBQVEsRUFBRUMsV0FBVyxFQUFFLEdBQUdSO0lBQzdILE1BQU1TLE1BQU1OLGVBQWUsQ0FBQyxFQUFFO0lBQzlCLE1BQU1PLFFBQVE7UUFDVkMsVUFBVTtRQUNWRixLQUFLQTtRQUNMRyxhQUFhO1FBQ2Isb0pBQW9KO1FBQ3BKQyxnQkFBZ0JQLFdBQVcsSUFBSVEsUUFBUVQ7SUFDM0M7SUFDQSx5RUFBeUU7SUFDekUsSUFBSUEsMEJBQTBCLFFBQVFBLHNCQUFzQlUsSUFBSSxLQUFLLEdBQUc7UUFDbkUsSUFBR2pCLCtCQUErQmtCLDZCQUE2QixFQUFFTixPQUFPTyxXQUFXZixhQUFhQyxpQkFBaUJLO0lBQ3RIO0lBQ0EsSUFDQVU7SUFDQSxPQUFPO1FBQ0hqQjtRQUNBa0IsTUFBTWpCO1FBQ05RO1FBQ0FVLGVBQWUsSUFBSU47UUFDbkJPLFNBQVM7WUFDTEMsYUFBYTtZQUNiQyxlQUFlO1lBQ2YsbUVBQW1FO1lBQ25FLGdGQUFnRjtZQUNoRkMsNEJBQTRCO1FBQ2hDO1FBQ0FDLG1CQUFtQjtZQUNmQyxPQUFPO1lBQ1BDLGdCQUFnQjtZQUNoQkMsY0FBYztZQUNkQyxjQUFjLEVBQUU7UUFDcEI7UUFDQUMsY0FDQSxrSkFBa0o7UUFDbEp2QixXQUFXLENBQUMsR0FBR1gsbUJBQW1CbUMsaUJBQWlCLEVBQUV4QixZQUFZSDtRQUNqRTRCLFNBQVMsQ0FBQ2QsT0FBTyxDQUFDLEdBQUduQixvQkFBb0JrQyxnQ0FBZ0MsRUFBRS9CLGdCQUFpQkssQ0FBQUEsWUFBWSxPQUFPLEtBQUssSUFBSUEsU0FBUzJCLFFBQVEsTUFBTSxPQUFPaEIsT0FBTztJQUNqSztBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU8zQixRQUFRNEMsT0FBTyxLQUFLLGNBQWUsT0FBTzVDLFFBQVE0QyxPQUFPLEtBQUssWUFBWTVDLFFBQVE0QyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QyxRQUFRNEMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9DLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRDLE9BQU8sRUFBRSxjQUFjO1FBQUUzQyxPQUFPO0lBQUs7SUFDbkVILE9BQU9nRCxNQUFNLENBQUM5QyxRQUFRNEMsT0FBTyxFQUFFNUM7SUFDL0IrQyxPQUFPL0MsT0FBTyxHQUFHQSxRQUFRNEMsT0FBTztBQUNsQyxFQUVBLHVEQUF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1pbml0aWFsLXJvdXRlci1zdGF0ZS5qcz9kY2I0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVJbml0aWFsUm91dGVyU3RhdGU7XG4gICAgfVxufSk7XG5jb25zdCBfY3JlYXRlaHJlZmZyb211cmwgPSByZXF1aXJlKFwiLi9jcmVhdGUtaHJlZi1mcm9tLXVybFwiKTtcbmNvbnN0IF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZCA9IHJlcXVpcmUoXCIuL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkXCIpO1xuY29uc3QgX2NvbXB1dGVjaGFuZ2VkcGF0aCA9IHJlcXVpcmUoXCIuL2NvbXB1dGUtY2hhbmdlZC1wYXRoXCIpO1xuZnVuY3Rpb24gY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlKHBhcmFtKSB7XG4gICAgbGV0IHsgYnVpbGRJZCwgaW5pdGlhbFRyZWUsIGluaXRpYWxTZWVkRGF0YSwgaW5pdGlhbENhbm9uaWNhbFVybCwgaW5pdGlhbFBhcmFsbGVsUm91dGVzLCBpc1NlcnZlciwgbG9jYXRpb24sIGluaXRpYWxIZWFkIH0gPSBwYXJhbTtcbiAgICBjb25zdCByc2MgPSBpbml0aWFsU2VlZERhdGFbMl07XG4gICAgY29uc3QgY2FjaGUgPSB7XG4gICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICByc2M6IHJzYyxcbiAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgIC8vIFRoZSBjYWNoZSBnZXRzIHNlZWRlZCBkdXJpbmcgdGhlIGZpcnN0IHJlbmRlci4gYGluaXRpYWxQYXJhbGxlbFJvdXRlc2AgZW5zdXJlcyB0aGUgY2FjaGUgZnJvbSB0aGUgZmlyc3QgcmVuZGVyIGlzIHRoZXJlIGR1cmluZyB0aGUgc2Vjb25kIHJlbmRlci5cbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IGlzU2VydmVyID8gbmV3IE1hcCgpIDogaW5pdGlhbFBhcmFsbGVsUm91dGVzXG4gICAgfTtcbiAgICAvLyBXaGVuIHRoZSBjYWNoZSBoYXNuJ3QgYmVlbiBzZWVkZWQgeWV0IHdlIGZpbGwgdGhlIGNhY2hlIHdpdGggdGhlIGhlYWQuXG4gICAgaWYgKGluaXRpYWxQYXJhbGxlbFJvdXRlcyA9PT0gbnVsbCB8fCBpbml0aWFsUGFyYWxsZWxSb3V0ZXMuc2l6ZSA9PT0gMCkge1xuICAgICAgICAoMCwgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkLmZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKShjYWNoZSwgdW5kZWZpbmVkLCBpbml0aWFsVHJlZSwgaW5pdGlhbFNlZWREYXRhLCBpbml0aWFsSGVhZCk7XG4gICAgfVxuICAgIHZhciAvLyB0aGUgfHwgb3BlcmF0b3IgaXMgaW50ZW50aW9uYWwsIHRoZSBwYXRobmFtZSBjYW4gYmUgYW4gZW1wdHkgc3RyaW5nXG4gICAgX3JlZjtcbiAgICByZXR1cm4ge1xuICAgICAgICBidWlsZElkLFxuICAgICAgICB0cmVlOiBpbml0aWFsVHJlZSxcbiAgICAgICAgY2FjaGUsXG4gICAgICAgIHByZWZldGNoQ2FjaGU6IG5ldyBNYXAoKSxcbiAgICAgICAgcHVzaFJlZjoge1xuICAgICAgICAgICAgcGVuZGluZ1B1c2g6IGZhbHNlLFxuICAgICAgICAgICAgbXBhTmF2aWdhdGlvbjogZmFsc2UsXG4gICAgICAgICAgICAvLyBGaXJzdCByZW5kZXIgbmVlZHMgdG8gcHJlc2VydmUgdGhlIHByZXZpb3VzIHdpbmRvdy5oaXN0b3J5LnN0YXRlXG4gICAgICAgICAgICAvLyB0byBhdm9pZCBpdCBiZWluZyBvdmVyd3JpdHRlbiBvbiBuYXZpZ2F0aW9uIGJhY2svZm9yd2FyZCB3aXRoIE1QQSBOYXZpZ2F0aW9uLlxuICAgICAgICAgICAgcHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGU6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWY6IHtcbiAgICAgICAgICAgIGFwcGx5OiBmYWxzZSxcbiAgICAgICAgICAgIG9ubHlIYXNoQ2hhbmdlOiBmYWxzZSxcbiAgICAgICAgICAgIGhhc2hGcmFnbWVudDogbnVsbCxcbiAgICAgICAgICAgIHNlZ21lbnRQYXRoczogW11cbiAgICAgICAgfSxcbiAgICAgICAgY2Fub25pY2FsVXJsOiAvLyBsb2NhdGlvbi5ocmVmIGlzIHJlYWQgYXMgdGhlIGluaXRpYWwgdmFsdWUgZm9yIGNhbm9uaWNhbFVybCBpbiB0aGUgYnJvd3NlclxuICAgICAgICAvLyBUaGlzIGlzIHNhZmUgdG8gZG8gYXMgY2Fub25pY2FsVXJsIGNhbid0IGJlIHJlbmRlcmVkLCBpdCdzIG9ubHkgdXNlZCB0byBjb250cm9sIHRoZSBoaXN0b3J5IHVwZGF0ZXMgaW4gdGhlIHVzZUVmZmVjdCBmdXJ0aGVyIGRvd24gaW4gdGhpcyBmaWxlLlxuICAgICAgICBsb2NhdGlvbiA/ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKGxvY2F0aW9uKSA6IGluaXRpYWxDYW5vbmljYWxVcmwsXG4gICAgICAgIG5leHRVcmw6IChfcmVmID0gKDAsIF9jb21wdXRlY2hhbmdlZHBhdGguZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUpKGluaXRpYWxUcmVlKSB8fCAobG9jYXRpb24gPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2F0aW9uLnBhdGhuYW1lKSkgIT0gbnVsbCA/IF9yZWYgOiBudWxsXG4gICAgfTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjcmVhdGVJbml0aWFsUm91dGVyU3RhdGUiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJyZXF1aXJlIiwiX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkIiwiX2NvbXB1dGVjaGFuZ2VkcGF0aCIsInBhcmFtIiwiYnVpbGRJZCIsImluaXRpYWxUcmVlIiwiaW5pdGlhbFNlZWREYXRhIiwiaW5pdGlhbENhbm9uaWNhbFVybCIsImluaXRpYWxQYXJhbGxlbFJvdXRlcyIsImlzU2VydmVyIiwibG9jYXRpb24iLCJpbml0aWFsSGVhZCIsInJzYyIsImNhY2hlIiwibGF6eURhdGEiLCJwcmVmZXRjaFJzYyIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwic2l6ZSIsImZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkIiwidW5kZWZpbmVkIiwiX3JlZiIsInRyZWUiLCJwcmVmZXRjaENhY2hlIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic2VnbWVudFBhdGhzIiwiY2Fub25pY2FsVXJsIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJuZXh0VXJsIiwiZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJwYXRobmFtZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createRouterCacheKey\", ({\n enumerable: true,\n get: function() {\n return createRouterCacheKey;\n }\n}));\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction createRouterCacheKey(segment, withoutSearchParameters) {\n if (withoutSearchParameters === void 0) withoutSearchParameters = false;\n // if the segment is an array, it means it's a dynamic segment\n // for example, ['lang', 'en', 'd']. We need to convert it to a string to store it as a cache node key.\n if (Array.isArray(segment)) {\n return (segment[0] + \"|\" + segment[1] + \"|\" + segment[2]).toLowerCase();\n }\n // Page segments might have search parameters, ie __PAGE__?foo=bar\n // When `withoutSearchParameters` is true, we only want to return the page segment\n if (withoutSearchParameters && segment.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return _segment.PAGE_SEGMENT_KEY;\n }\n return segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-router-cache-key.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx3REFBdUQ7SUFDbkRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxXQUFXQyxtQkFBT0EsQ0FBQyx5RkFBNkI7QUFDdEQsU0FBU0YscUJBQXFCRyxPQUFPLEVBQUVDLHVCQUF1QjtJQUMxRCxJQUFJQSw0QkFBNEIsS0FBSyxHQUFHQSwwQkFBMEI7SUFDbEUsOERBQThEO0lBQzlELHVHQUF1RztJQUN2RyxJQUFJQyxNQUFNQyxPQUFPLENBQUNILFVBQVU7UUFDeEIsT0FBTyxDQUFDQSxPQUFPLENBQUMsRUFBRSxHQUFHLE1BQU1BLE9BQU8sQ0FBQyxFQUFFLEdBQUcsTUFBTUEsT0FBTyxDQUFDLEVBQUUsRUFBRUksV0FBVztJQUN6RTtJQUNBLGtFQUFrRTtJQUNsRSxrRkFBa0Y7SUFDbEYsSUFBSUgsMkJBQTJCRCxRQUFRSyxVQUFVLENBQUNQLFNBQVNRLGdCQUFnQixHQUFHO1FBQzFFLE9BQU9SLFNBQVNRLGdCQUFnQjtJQUNwQztJQUNBLE9BQU9OO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWMsT0FBTyxLQUFLLGNBQWUsT0FBT2QsUUFBUWMsT0FBTyxLQUFLLFlBQVlkLFFBQVFjLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2QsUUFBUWMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWMsT0FBTyxFQUFFLGNBQWM7UUFBRWIsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0IsTUFBTSxDQUFDaEIsUUFBUWMsT0FBTyxFQUFFZDtJQUMvQmlCLE9BQU9qQixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxtREFBbUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9jcmVhdGUtcm91dGVyLWNhY2hlLWtleS5qcz9mZWMyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY3JlYXRlUm91dGVyQ2FjaGVLZXlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJvdXRlckNhY2hlS2V5O1xuICAgIH1cbn0pO1xuY29uc3QgX3NlZ21lbnQgPSByZXF1aXJlKFwiLi4vLi4vLi4vc2hhcmVkL2xpYi9zZWdtZW50XCIpO1xuZnVuY3Rpb24gY3JlYXRlUm91dGVyQ2FjaGVLZXkoc2VnbWVudCwgd2l0aG91dFNlYXJjaFBhcmFtZXRlcnMpIHtcbiAgICBpZiAod2l0aG91dFNlYXJjaFBhcmFtZXRlcnMgPT09IHZvaWQgMCkgd2l0aG91dFNlYXJjaFBhcmFtZXRlcnMgPSBmYWxzZTtcbiAgICAvLyBpZiB0aGUgc2VnbWVudCBpcyBhbiBhcnJheSwgaXQgbWVhbnMgaXQncyBhIGR5bmFtaWMgc2VnbWVudFxuICAgIC8vIGZvciBleGFtcGxlLCBbJ2xhbmcnLCAnZW4nLCAnZCddLiBXZSBuZWVkIHRvIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcgdG8gc3RvcmUgaXQgYXMgYSBjYWNoZSBub2RlIGtleS5cbiAgICBpZiAoQXJyYXkuaXNBcnJheShzZWdtZW50KSkge1xuICAgICAgICByZXR1cm4gKHNlZ21lbnRbMF0gKyBcInxcIiArIHNlZ21lbnRbMV0gKyBcInxcIiArIHNlZ21lbnRbMl0pLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICAgIC8vIFBhZ2Ugc2VnbWVudHMgbWlnaHQgaGF2ZSBzZWFyY2ggcGFyYW1ldGVycywgaWUgX19QQUdFX18/Zm9vPWJhclxuICAgIC8vIFdoZW4gYHdpdGhvdXRTZWFyY2hQYXJhbWV0ZXJzYCBpcyB0cnVlLCB3ZSBvbmx5IHdhbnQgdG8gcmV0dXJuIHRoZSBwYWdlIHNlZ21lbnRcbiAgICBpZiAod2l0aG91dFNlYXJjaFBhcmFtZXRlcnMgJiYgc2VnbWVudC5zdGFydHNXaXRoKF9zZWdtZW50LlBBR0VfU0VHTUVOVF9LRVkpKSB7XG4gICAgICAgIHJldHVybiBfc2VnbWVudC5QQUdFX1NFR01FTlRfS0VZO1xuICAgIH1cbiAgICByZXR1cm4gc2VnbWVudDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y3JlYXRlLXJvdXRlci1jYWNoZS1rZXkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZVJvdXRlckNhY2hlS2V5IiwiX3NlZ21lbnQiLCJyZXF1aXJlIiwic2VnbWVudCIsIndpdGhvdXRTZWFyY2hQYXJhbWV0ZXJzIiwiQXJyYXkiLCJpc0FycmF5IiwidG9Mb3dlckNhc2UiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js": /*!******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js ***! \******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fetchServerResponse\", ({\n enumerable: true,\n get: function() {\n return fetchServerResponse;\n }\n}));\nconst _approuterheaders = __webpack_require__(/*! ../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _approuter = __webpack_require__(/*! ../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _appcallserver = __webpack_require__(/*! ../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _hash = __webpack_require__(/*! ../../../shared/lib/hash */ \"(ssr)/./node_modules/next/dist/shared/lib/hash.js\");\n// @ts-ignore\n// eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\nconst { createFromFetch } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nfunction doMpaNavigation(url) {\n return [\n (0, _approuter.urlToUrlWithoutFlightMarker)(url).toString(),\n undefined\n ];\n}\nasync function fetchServerResponse(url, flightRouterState, nextUrl, currentBuildId, prefetchKind) {\n const headers = {\n // Enable flight response\n [_approuterheaders.RSC_HEADER]: \"1\",\n // Provide the current router state\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(flightRouterState))\n };\n /**\n * Three cases:\n * - `prefetchKind` is `undefined`, it means it's a normal navigation, so we want to prefetch the page data fully\n * - `prefetchKind` is `full` - we want to prefetch the whole page so same as above\n * - `prefetchKind` is `auto` - if the page is dynamic, prefetch the page data partially, if static prefetch the page data fully\n */ if (prefetchKind === _routerreducertypes.PrefetchKind.AUTO) {\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] = \"1\";\n }\n if (nextUrl) {\n headers[_approuterheaders.NEXT_URL] = nextUrl;\n }\n const uniqueCacheQuery = (0, _hash.hexHash)([\n headers[_approuterheaders.NEXT_ROUTER_PREFETCH_HEADER] || \"0\",\n headers[_approuterheaders.NEXT_ROUTER_STATE_TREE],\n headers[_approuterheaders.NEXT_URL]\n ].join(\",\"));\n try {\n let fetchUrl = new URL(url);\n if (false) {}\n // Add unique cache query to avoid caching conflicts on CDN which don't respect to Vary header\n fetchUrl.searchParams.set(_approuterheaders.NEXT_RSC_UNION_QUERY, uniqueCacheQuery);\n const res = await fetch(fetchUrl, {\n // Backwards compat for older browsers. `same-origin` is the default in modern browsers.\n credentials: \"same-origin\",\n headers\n });\n const responseUrl = (0, _approuter.urlToUrlWithoutFlightMarker)(res.url);\n const canonicalUrl = res.redirected ? responseUrl : undefined;\n const contentType = res.headers.get(\"content-type\") || \"\";\n const postponed = !!res.headers.get(_approuterheaders.NEXT_DID_POSTPONE_HEADER);\n let isFlightResponse = contentType === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (false) {}\n // If fetch returns something different than flight response handle it like a mpa navigation\n // If the fetch was not 200, we also handle it like a mpa navigation\n if (!isFlightResponse || !res.ok) {\n // in case the original URL came with a hash, preserve it before redirecting to the new URL\n if (url.hash) {\n responseUrl.hash = url.hash;\n }\n return doMpaNavigation(responseUrl.toString());\n }\n // Handle the `fetch` readable stream that can be unwrapped by `React.use`.\n const [buildId, flightData] = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (currentBuildId !== buildId) {\n return doMpaNavigation(res.url);\n }\n return [\n flightData,\n canonicalUrl,\n postponed\n ];\n } catch (err) {\n console.error(\"Failed to fetch RSC payload for \" + url + \". Falling back to browser navigation.\", err);\n // If fetch fails handle it like a mpa navigation\n // TODO-APP: Add a test for the case where a CORS request fails, e.g. external url redirect coming from the response.\n // See https://github.com/vercel/next.js/issues/43605#issuecomment-1451617521 for a reproduction.\n return [\n url.toString(),\n undefined\n ];\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fetch-server-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZS5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLG9CQUFvQkMsbUJBQU9BLENBQUMscUdBQXVCO0FBQ3pELE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLHFGQUFlO0FBQzFDLE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsdUZBQXVCO0FBQ3RELE1BQU1HLHNCQUFzQkgsbUJBQU9BLENBQUMsdUhBQXdCO0FBQzVELE1BQU1JLFFBQVFKLG1CQUFPQSxDQUFDLG1GQUEwQjtBQUNoRCxhQUFhO0FBQ2IsNkRBQTZEO0FBQzdELG9FQUFvRTtBQUNwRSxNQUFNLEVBQUVLLGVBQWUsRUFBRSxHQUFHLEtBQTBCLEdBQUdMLG1CQUFPQSxDQUFDLHNLQUFzQyxJQUFJQSxDQUEwQztBQUNySixTQUFTUyxnQkFBZ0JDLEdBQUc7SUFDeEIsT0FBTztRQUNGLElBQUdULFdBQVdVLDJCQUEyQixFQUFFRCxLQUFLRSxRQUFRO1FBQ3pEQztLQUNIO0FBQ0w7QUFDQSxlQUFlZixvQkFBb0JZLEdBQUcsRUFBRUksaUJBQWlCLEVBQUVDLE9BQU8sRUFBRUMsY0FBYyxFQUFFQyxZQUFZO0lBQzVGLE1BQU1DLFVBQVU7UUFDWix5QkFBeUI7UUFDekIsQ0FBQ25CLGtCQUFrQm9CLFVBQVUsQ0FBQyxFQUFFO1FBQ2hDLG1DQUFtQztRQUNuQyxDQUFDcEIsa0JBQWtCcUIsc0JBQXNCLENBQUMsRUFBRUMsbUJBQW1CQyxLQUFLQyxTQUFTLENBQUNUO0lBQ2xGO0lBQ0E7Ozs7O0dBS0QsR0FBRyxJQUFJRyxpQkFBaUJkLG9CQUFvQnFCLFlBQVksQ0FBQ0MsSUFBSSxFQUFFO1FBQzFEUCxPQUFPLENBQUNuQixrQkFBa0IyQiwyQkFBMkIsQ0FBQyxHQUFHO0lBQzdEO0lBQ0EsSUFBSVgsU0FBUztRQUNURyxPQUFPLENBQUNuQixrQkFBa0I0QixRQUFRLENBQUMsR0FBR1o7SUFDMUM7SUFDQSxNQUFNYSxtQkFBbUIsQ0FBQyxHQUFHeEIsTUFBTXlCLE9BQU8sRUFBRTtRQUN4Q1gsT0FBTyxDQUFDbkIsa0JBQWtCMkIsMkJBQTJCLENBQUMsSUFBSTtRQUMxRFIsT0FBTyxDQUFDbkIsa0JBQWtCcUIsc0JBQXNCLENBQUM7UUFDakRGLE9BQU8sQ0FBQ25CLGtCQUFrQjRCLFFBQVEsQ0FBQztLQUN0QyxDQUFDRyxJQUFJLENBQUM7SUFDUCxJQUFJO1FBQ0EsSUFBSUMsV0FBVyxJQUFJQyxJQUFJdEI7UUFDdkIsSUFBSUosS0FBcUMsRUFBRSxFQVExQztRQUNELDhGQUE4RjtRQUM5RnlCLFNBQVNLLFlBQVksQ0FBQ0MsR0FBRyxDQUFDdEMsa0JBQWtCdUMsb0JBQW9CLEVBQUVWO1FBQ2xFLE1BQU1XLE1BQU0sTUFBTUMsTUFBTVQsVUFBVTtZQUM5Qix3RkFBd0Y7WUFDeEZVLGFBQWE7WUFDYnZCO1FBQ0o7UUFDQSxNQUFNd0IsY0FBYyxDQUFDLEdBQUd6QyxXQUFXVSwyQkFBMkIsRUFBRTRCLElBQUk3QixHQUFHO1FBQ3ZFLE1BQU1pQyxlQUFlSixJQUFJSyxVQUFVLEdBQUdGLGNBQWM3QjtRQUNwRCxNQUFNZ0MsY0FBY04sSUFBSXJCLE9BQU8sQ0FBQ3JCLEdBQUcsQ0FBQyxtQkFBbUI7UUFDdkQsTUFBTWlELFlBQVksQ0FBQyxDQUFDUCxJQUFJckIsT0FBTyxDQUFDckIsR0FBRyxDQUFDRSxrQkFBa0JnRCx3QkFBd0I7UUFDOUUsSUFBSUMsbUJBQW1CSCxnQkFBZ0I5QyxrQkFBa0JrRCx1QkFBdUI7UUFDaEYsSUFBSTNDLEtBQXFDLEVBQUUsRUFNMUM7UUFDRCw0RkFBNEY7UUFDNUYsb0VBQW9FO1FBQ3BFLElBQUksQ0FBQzBDLG9CQUFvQixDQUFDVCxJQUFJWSxFQUFFLEVBQUU7WUFDOUIsMkZBQTJGO1lBQzNGLElBQUl6QyxJQUFJMEMsSUFBSSxFQUFFO2dCQUNWVixZQUFZVSxJQUFJLEdBQUcxQyxJQUFJMEMsSUFBSTtZQUMvQjtZQUNBLE9BQU8zQyxnQkFBZ0JpQyxZQUFZOUIsUUFBUTtRQUMvQztRQUNBLDJFQUEyRTtRQUMzRSxNQUFNLENBQUN5QyxTQUFTQyxXQUFXLEdBQUcsTUFBTWpELGdCQUFnQmtELFFBQVFDLE9BQU8sQ0FBQ2pCLE1BQU07WUFDdEVrQixZQUFZdkQsZUFBZXVELFVBQVU7UUFDekM7UUFDQSxJQUFJekMsbUJBQW1CcUMsU0FBUztZQUM1QixPQUFPNUMsZ0JBQWdCOEIsSUFBSTdCLEdBQUc7UUFDbEM7UUFDQSxPQUFPO1lBQ0g0QztZQUNBWDtZQUNBRztTQUNIO0lBQ0wsRUFBRSxPQUFPWSxLQUFLO1FBQ1ZDLFFBQVFDLEtBQUssQ0FBQyxxQ0FBcUNsRCxNQUFNLHlDQUF5Q2dEO1FBQ2xHLGlEQUFpRDtRQUNqRCxxSEFBcUg7UUFDckgsaUdBQWlHO1FBQ2pHLE9BQU87WUFDSGhELElBQUlFLFFBQVE7WUFDWkM7U0FDSDtJQUNMO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT25CLFFBQVFtRSxPQUFPLEtBQUssY0FBZSxPQUFPbkUsUUFBUW1FLE9BQU8sS0FBSyxZQUFZbkUsUUFBUW1FLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT25FLFFBQVFtRSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdEUsT0FBT0MsY0FBYyxDQUFDQyxRQUFRbUUsT0FBTyxFQUFFLGNBQWM7UUFBRWxFLE9BQU87SUFBSztJQUNuRUgsT0FBT3VFLE1BQU0sQ0FBQ3JFLFFBQVFtRSxPQUFPLEVBQUVuRTtJQUMvQnNFLE9BQU90RSxPQUFPLEdBQUdBLFFBQVFtRSxPQUFPO0FBQ2xDLEVBRUEsaURBQWlEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvZmV0Y2gtc2VydmVyLXJlc3BvbnNlLmpzP2ZhNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZmV0Y2hTZXJ2ZXJSZXNwb25zZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZmV0Y2hTZXJ2ZXJSZXNwb25zZTtcbiAgICB9XG59KTtcbmNvbnN0IF9hcHByb3V0ZXJoZWFkZXJzID0gcmVxdWlyZShcIi4uL2FwcC1yb3V0ZXItaGVhZGVyc1wiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi4vYXBwLXJvdXRlclwiKTtcbmNvbnN0IF9hcHBjYWxsc2VydmVyID0gcmVxdWlyZShcIi4uLy4uL2FwcC1jYWxsLXNlcnZlclwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9oYXNoID0gcmVxdWlyZShcIi4uLy4uLy4uL3NoYXJlZC9saWIvaGFzaFwiKTtcbi8vIEB0cy1pZ25vcmVcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbi8vIGltcG9ydCB7IGNyZWF0ZUZyb21GZXRjaCB9IGZyb20gJ3JlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQnXG5jb25zdCB7IGNyZWF0ZUZyb21GZXRjaCB9ID0gISFwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPyByZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrL2NsaWVudC5lZGdlXCIpIDogcmVxdWlyZShcInJlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnRcIik7XG5mdW5jdGlvbiBkb01wYU5hdmlnYXRpb24odXJsKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgKDAsIF9hcHByb3V0ZXIudXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyKSh1cmwpLnRvU3RyaW5nKCksXG4gICAgICAgIHVuZGVmaW5lZFxuICAgIF07XG59XG5hc3luYyBmdW5jdGlvbiBmZXRjaFNlcnZlclJlc3BvbnNlKHVybCwgZmxpZ2h0Um91dGVyU3RhdGUsIG5leHRVcmwsIGN1cnJlbnRCdWlsZElkLCBwcmVmZXRjaEtpbmQpIHtcbiAgICBjb25zdCBoZWFkZXJzID0ge1xuICAgICAgICAvLyBFbmFibGUgZmxpZ2h0IHJlc3BvbnNlXG4gICAgICAgIFtfYXBwcm91dGVyaGVhZGVycy5SU0NfSEVBREVSXTogXCIxXCIsXG4gICAgICAgIC8vIFByb3ZpZGUgdGhlIGN1cnJlbnQgcm91dGVyIHN0YXRlXG4gICAgICAgIFtfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JPVVRFUl9TVEFURV9UUkVFXTogZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGZsaWdodFJvdXRlclN0YXRlKSlcbiAgICB9O1xuICAgIC8qKlxuICAgKiBUaHJlZSBjYXNlczpcbiAgICogLSBgcHJlZmV0Y2hLaW5kYCBpcyBgdW5kZWZpbmVkYCwgaXQgbWVhbnMgaXQncyBhIG5vcm1hbCBuYXZpZ2F0aW9uLCBzbyB3ZSB3YW50IHRvIHByZWZldGNoIHRoZSBwYWdlIGRhdGEgZnVsbHlcbiAgICogLSBgcHJlZmV0Y2hLaW5kYCBpcyBgZnVsbGAgLSB3ZSB3YW50IHRvIHByZWZldGNoIHRoZSB3aG9sZSBwYWdlIHNvIHNhbWUgYXMgYWJvdmVcbiAgICogLSBgcHJlZmV0Y2hLaW5kYCBpcyBgYXV0b2AgLSBpZiB0aGUgcGFnZSBpcyBkeW5hbWljLCBwcmVmZXRjaCB0aGUgcGFnZSBkYXRhIHBhcnRpYWxseSwgaWYgc3RhdGljIHByZWZldGNoIHRoZSBwYWdlIGRhdGEgZnVsbHlcbiAgICovIGlmIChwcmVmZXRjaEtpbmQgPT09IF9yb3V0ZXJyZWR1Y2VydHlwZXMuUHJlZmV0Y2hLaW5kLkFVVE8pIHtcbiAgICAgICAgaGVhZGVyc1tfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVJdID0gXCIxXCI7XG4gICAgfVxuICAgIGlmIChuZXh0VXJsKSB7XG4gICAgICAgIGhlYWRlcnNbX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9VUkxdID0gbmV4dFVybDtcbiAgICB9XG4gICAgY29uc3QgdW5pcXVlQ2FjaGVRdWVyeSA9ICgwLCBfaGFzaC5oZXhIYXNoKShbXG4gICAgICAgIGhlYWRlcnNbX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXSB8fCBcIjBcIixcbiAgICAgICAgaGVhZGVyc1tfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JPVVRFUl9TVEFURV9UUkVFXSxcbiAgICAgICAgaGVhZGVyc1tfYXBwcm91dGVyaGVhZGVycy5ORVhUX1VSTF1cbiAgICBdLmpvaW4oXCIsXCIpKTtcbiAgICB0cnkge1xuICAgICAgICBsZXQgZmV0Y2hVcmwgPSBuZXcgVVJMKHVybCk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfQ09ORklHX09VVFBVVCA9PT0gXCJleHBvcnRcIikge1xuICAgICAgICAgICAgICAgIGlmIChmZXRjaFVybC5wYXRobmFtZS5lbmRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgICAgICAgICAgICAgZmV0Y2hVcmwucGF0aG5hbWUgKz0gXCJpbmRleC50eHRcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBmZXRjaFVybC5wYXRobmFtZSArPSBcIi50eHRcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gQWRkIHVuaXF1ZSBjYWNoZSBxdWVyeSB0byBhdm9pZCBjYWNoaW5nIGNvbmZsaWN0cyBvbiBDRE4gd2hpY2ggZG9uJ3QgcmVzcGVjdCB0byBWYXJ5IGhlYWRlclxuICAgICAgICBmZXRjaFVybC5zZWFyY2hQYXJhbXMuc2V0KF9hcHByb3V0ZXJoZWFkZXJzLk5FWFRfUlNDX1VOSU9OX1FVRVJZLCB1bmlxdWVDYWNoZVF1ZXJ5KTtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goZmV0Y2hVcmwsIHtcbiAgICAgICAgICAgIC8vIEJhY2t3YXJkcyBjb21wYXQgZm9yIG9sZGVyIGJyb3dzZXJzLiBgc2FtZS1vcmlnaW5gIGlzIHRoZSBkZWZhdWx0IGluIG1vZGVybiBicm93c2Vycy5cbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiBcInNhbWUtb3JpZ2luXCIsXG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCByZXNwb25zZVVybCA9ICgwLCBfYXBwcm91dGVyLnVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcikocmVzLnVybCk7XG4gICAgICAgIGNvbnN0IGNhbm9uaWNhbFVybCA9IHJlcy5yZWRpcmVjdGVkID8gcmVzcG9uc2VVcmwgOiB1bmRlZmluZWQ7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRUeXBlID0gcmVzLmhlYWRlcnMuZ2V0KFwiY29udGVudC10eXBlXCIpIHx8IFwiXCI7XG4gICAgICAgIGNvbnN0IHBvc3Rwb25lZCA9ICEhcmVzLmhlYWRlcnMuZ2V0KF9hcHByb3V0ZXJoZWFkZXJzLk5FWFRfRElEX1BPU1RQT05FX0hFQURFUik7XG4gICAgICAgIGxldCBpc0ZsaWdodFJlc3BvbnNlID0gY29udGVudFR5cGUgPT09IF9hcHByb3V0ZXJoZWFkZXJzLlJTQ19DT05URU5UX1RZUEVfSEVBREVSO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0NPTkZJR19PVVRQVVQgPT09IFwiZXhwb3J0XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWlzRmxpZ2h0UmVzcG9uc2UpIHtcbiAgICAgICAgICAgICAgICAgICAgaXNGbGlnaHRSZXNwb25zZSA9IGNvbnRlbnRUeXBlLnN0YXJ0c1dpdGgoXCJ0ZXh0L3BsYWluXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBJZiBmZXRjaCByZXR1cm5zIHNvbWV0aGluZyBkaWZmZXJlbnQgdGhhbiBmbGlnaHQgcmVzcG9uc2UgaGFuZGxlIGl0IGxpa2UgYSBtcGEgbmF2aWdhdGlvblxuICAgICAgICAvLyBJZiB0aGUgZmV0Y2ggd2FzIG5vdCAyMDAsIHdlIGFsc28gaGFuZGxlIGl0IGxpa2UgYSBtcGEgbmF2aWdhdGlvblxuICAgICAgICBpZiAoIWlzRmxpZ2h0UmVzcG9uc2UgfHwgIXJlcy5vaykge1xuICAgICAgICAgICAgLy8gaW4gY2FzZSB0aGUgb3JpZ2luYWwgVVJMIGNhbWUgd2l0aCBhIGhhc2gsIHByZXNlcnZlIGl0IGJlZm9yZSByZWRpcmVjdGluZyB0byB0aGUgbmV3IFVSTFxuICAgICAgICAgICAgaWYgKHVybC5oYXNoKSB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VVcmwuaGFzaCA9IHVybC5oYXNoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGRvTXBhTmF2aWdhdGlvbihyZXNwb25zZVVybC50b1N0cmluZygpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBIYW5kbGUgdGhlIGBmZXRjaGAgcmVhZGFibGUgc3RyZWFtIHRoYXQgY2FuIGJlIHVud3JhcHBlZCBieSBgUmVhY3QudXNlYC5cbiAgICAgICAgY29uc3QgW2J1aWxkSWQsIGZsaWdodERhdGFdID0gYXdhaXQgY3JlYXRlRnJvbUZldGNoKFByb21pc2UucmVzb2x2ZShyZXMpLCB7XG4gICAgICAgICAgICBjYWxsU2VydmVyOiBfYXBwY2FsbHNlcnZlci5jYWxsU2VydmVyXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoY3VycmVudEJ1aWxkSWQgIT09IGJ1aWxkSWQpIHtcbiAgICAgICAgICAgIHJldHVybiBkb01wYU5hdmlnYXRpb24ocmVzLnVybCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFtcbiAgICAgICAgICAgIGZsaWdodERhdGEsXG4gICAgICAgICAgICBjYW5vbmljYWxVcmwsXG4gICAgICAgICAgICBwb3N0cG9uZWRcbiAgICAgICAgXTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIkZhaWxlZCB0byBmZXRjaCBSU0MgcGF5bG9hZCBmb3IgXCIgKyB1cmwgKyBcIi4gRmFsbGluZyBiYWNrIHRvIGJyb3dzZXIgbmF2aWdhdGlvbi5cIiwgZXJyKTtcbiAgICAgICAgLy8gSWYgZmV0Y2ggZmFpbHMgaGFuZGxlIGl0IGxpa2UgYSBtcGEgbmF2aWdhdGlvblxuICAgICAgICAvLyBUT0RPLUFQUDogQWRkIGEgdGVzdCBmb3IgdGhlIGNhc2Ugd2hlcmUgYSBDT1JTIHJlcXVlc3QgZmFpbHMsIGUuZy4gZXh0ZXJuYWwgdXJsIHJlZGlyZWN0IGNvbWluZyBmcm9tIHRoZSByZXNwb25zZS5cbiAgICAgICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9pc3N1ZXMvNDM2MDUjaXNzdWVjb21tZW50LTE0NTE2MTc1MjEgZm9yIGEgcmVwcm9kdWN0aW9uLlxuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgdXJsLnRvU3RyaW5nKCksXG4gICAgICAgICAgICB1bmRlZmluZWRcbiAgICAgICAgXTtcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZldGNoLXNlcnZlci1yZXNwb25zZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwicmVxdWlyZSIsIl9hcHByb3V0ZXIiLCJfYXBwY2FsbHNlcnZlciIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJfaGFzaCIsImNyZWF0ZUZyb21GZXRjaCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJkb01wYU5hdmlnYXRpb24iLCJ1cmwiLCJ1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXIiLCJ0b1N0cmluZyIsInVuZGVmaW5lZCIsImZsaWdodFJvdXRlclN0YXRlIiwibmV4dFVybCIsImN1cnJlbnRCdWlsZElkIiwicHJlZmV0Y2hLaW5kIiwiaGVhZGVycyIsIlJTQ19IRUFERVIiLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwiSlNPTiIsInN0cmluZ2lmeSIsIlByZWZldGNoS2luZCIsIkFVVE8iLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1VSTCIsInVuaXF1ZUNhY2hlUXVlcnkiLCJoZXhIYXNoIiwiam9pbiIsImZldGNoVXJsIiwiVVJMIiwiX19ORVhUX0NPTkZJR19PVVRQVVQiLCJwYXRobmFtZSIsImVuZHNXaXRoIiwic2VhcmNoUGFyYW1zIiwic2V0IiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJyZXMiLCJmZXRjaCIsImNyZWRlbnRpYWxzIiwicmVzcG9uc2VVcmwiLCJjYW5vbmljYWxVcmwiLCJyZWRpcmVjdGVkIiwiY29udGVudFR5cGUiLCJwb3N0cG9uZWQiLCJORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIiLCJpc0ZsaWdodFJlc3BvbnNlIiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJzdGFydHNXaXRoIiwib2siLCJoYXNoIiwiYnVpbGRJZCIsImZsaWdodERhdGEiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNhbGxTZXJ2ZXIiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillCacheWithDataProperty\", ({\n enumerable: true,\n get: function() {\n return fillCacheWithDataProperty;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillCacheWithDataProperty(newCache, existingCache, flightSegmentPath, fetchResponse) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap == null ? void 0 : existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n // In case of last segment start off the fetch at this level and don't copy further down.\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: fetchResponse(),\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n });\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Start fetch in the place where the existing cache doesn't have the data yet.\n if (!childCacheNode) {\n childSegmentMap.set(cacheKey, {\n lazyData: fetchResponse(),\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n });\n }\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return fillCacheWithDataProperty(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2), fetchResponse);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-cache-with-data-property.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1kYXRhLXByb3BlcnR5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2REFBNEQ7SUFDeERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiwwQkFBMEJHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUIsRUFBRUMsYUFBYTtJQUN4RixNQUFNQyxjQUFjRixrQkFBa0JHLE1BQU0sSUFBSTtJQUNoRCxNQUFNLENBQUNDLGtCQUFrQkMsUUFBUSxHQUFHTDtJQUNwQyxNQUFNTSxXQUFXLENBQUMsR0FBR1Ysc0JBQXNCVyxvQkFBb0IsRUFBRUY7SUFDakUsTUFBTUcsMEJBQTBCVCxjQUFjVSxjQUFjLENBQUNmLEdBQUcsQ0FBQ1U7SUFDakUsSUFBSU0sa0JBQWtCWixTQUFTVyxjQUFjLENBQUNmLEdBQUcsQ0FBQ1U7SUFDbEQsSUFBSSxDQUFDTSxtQkFBbUJBLG9CQUFvQkYseUJBQXlCO1FBQ2pFRSxrQkFBa0IsSUFBSUMsSUFBSUg7UUFDMUJWLFNBQVNXLGNBQWMsQ0FBQ0csR0FBRyxDQUFDUixrQkFBa0JNO0lBQ2xEO0lBQ0EsTUFBTUcseUJBQXlCTCwyQkFBMkIsT0FBTyxLQUFLLElBQUlBLHdCQUF3QmQsR0FBRyxDQUFDWTtJQUN0RyxJQUFJUSxpQkFBaUJKLGdCQUFnQmhCLEdBQUcsQ0FBQ1k7SUFDekMseUZBQXlGO0lBQ3pGLElBQUlKLGFBQWE7UUFDYixJQUFJLENBQUNZLGtCQUFrQixDQUFDQSxlQUFlQyxRQUFRLElBQUlELG1CQUFtQkQsd0JBQXdCO1lBQzFGSCxnQkFBZ0JFLEdBQUcsQ0FBQ04sVUFBVTtnQkFDMUJTLFVBQVVkO2dCQUNWZSxLQUFLO2dCQUNMQyxhQUFhO2dCQUNiUixnQkFBZ0IsSUFBSUU7WUFDeEI7UUFDSjtRQUNBO0lBQ0o7SUFDQSxJQUFJLENBQUNHLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDNUMsK0VBQStFO1FBQy9FLElBQUksQ0FBQ0MsZ0JBQWdCO1lBQ2pCSixnQkFBZ0JFLEdBQUcsQ0FBQ04sVUFBVTtnQkFDMUJTLFVBQVVkO2dCQUNWZSxLQUFLO2dCQUNMQyxhQUFhO2dCQUNiUixnQkFBZ0IsSUFBSUU7WUFDeEI7UUFDSjtRQUNBO0lBQ0o7SUFDQSxJQUFJRyxtQkFBbUJELHdCQUF3QjtRQUMzQ0MsaUJBQWlCO1lBQ2JDLFVBQVVELGVBQWVDLFFBQVE7WUFDakNDLEtBQUtGLGVBQWVFLEdBQUc7WUFDdkJDLGFBQWFILGVBQWVHLFdBQVc7WUFDdkNSLGdCQUFnQixJQUFJRSxJQUFJRyxlQUFlTCxjQUFjO1FBQ3pEO1FBQ0FDLGdCQUFnQkUsR0FBRyxDQUFDTixVQUFVUTtJQUNsQztJQUNBLE9BQU9uQiwwQkFBMEJtQixnQkFBZ0JELHdCQUF3QmIsa0JBQWtCa0IsS0FBSyxDQUFDLElBQUlqQjtBQUN6RztBQUVBLElBQUksQ0FBQyxPQUFPVixRQUFRNEIsT0FBTyxLQUFLLGNBQWUsT0FBTzVCLFFBQVE0QixPQUFPLEtBQUssWUFBWTVCLFFBQVE0QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QixRQUFRNEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRCLE9BQU8sRUFBRSxjQUFjO1FBQUUzQixPQUFPO0lBQUs7SUFDbkVILE9BQU9nQyxNQUFNLENBQUM5QixRQUFRNEIsT0FBTyxFQUFFNUI7SUFDL0IrQixPQUFPL0IsT0FBTyxHQUFHQSxRQUFRNEIsT0FBTztBQUNsQyxFQUVBLHlEQUF5RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1kYXRhLXByb3BlcnR5LmpzP2Y1NTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmaWxsQ2FjaGVXaXRoRGF0YVByb3BlcnR5XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmaWxsQ2FjaGVXaXRoRGF0YVByb3BlcnR5O1xuICAgIH1cbn0pO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG5mdW5jdGlvbiBmaWxsQ2FjaGVXaXRoRGF0YVByb3BlcnR5KG5ld0NhY2hlLCBleGlzdGluZ0NhY2hlLCBmbGlnaHRTZWdtZW50UGF0aCwgZmV0Y2hSZXNwb25zZSkge1xuICAgIGNvbnN0IGlzTGFzdEVudHJ5ID0gZmxpZ2h0U2VnbWVudFBhdGgubGVuZ3RoIDw9IDI7XG4gICAgY29uc3QgW3BhcmFsbGVsUm91dGVLZXksIHNlZ21lbnRdID0gZmxpZ2h0U2VnbWVudFBhdGg7XG4gICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50KTtcbiAgICBjb25zdCBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCA9IGV4aXN0aW5nQ2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpO1xuICAgIGxldCBjaGlsZFNlZ21lbnRNYXAgPSBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKCFjaGlsZFNlZ21lbnRNYXAgfHwgY2hpbGRTZWdtZW50TWFwID09PSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgICAgICBjaGlsZFNlZ21lbnRNYXAgPSBuZXcgTWFwKGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKTtcbiAgICAgICAgbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIGNoaWxkU2VnbWVudE1hcCk7XG4gICAgfVxuICAgIGNvbnN0IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUgPSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCA9PSBudWxsID8gdm9pZCAwIDogZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KTtcbiAgICBsZXQgY2hpbGRDYWNoZU5vZGUgPSBjaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KTtcbiAgICAvLyBJbiBjYXNlIG9mIGxhc3Qgc2VnbWVudCBzdGFydCBvZmYgdGhlIGZldGNoIGF0IHRoaXMgbGV2ZWwgYW5kIGRvbid0IGNvcHkgZnVydGhlciBkb3duLlxuICAgIGlmIChpc0xhc3RFbnRyeSkge1xuICAgICAgICBpZiAoIWNoaWxkQ2FjaGVOb2RlIHx8ICFjaGlsZENhY2hlTm9kZS5sYXp5RGF0YSB8fCBjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwge1xuICAgICAgICAgICAgICAgIGxhenlEYXRhOiBmZXRjaFJlc3BvbnNlKCksXG4gICAgICAgICAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFjaGlsZENhY2hlTm9kZSB8fCAhZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAvLyBTdGFydCBmZXRjaCBpbiB0aGUgcGxhY2Ugd2hlcmUgdGhlIGV4aXN0aW5nIGNhY2hlIGRvZXNuJ3QgaGF2ZSB0aGUgZGF0YSB5ZXQuXG4gICAgICAgIGlmICghY2hpbGRDYWNoZU5vZGUpIHtcbiAgICAgICAgICAgIGNoaWxkU2VnbWVudE1hcC5zZXQoY2FjaGVLZXksIHtcbiAgICAgICAgICAgICAgICBsYXp5RGF0YTogZmV0Y2hSZXNwb25zZSgpLFxuICAgICAgICAgICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICBjaGlsZENhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgIGxhenlEYXRhOiBjaGlsZENhY2hlTm9kZS5sYXp5RGF0YSxcbiAgICAgICAgICAgIHJzYzogY2hpbGRDYWNoZU5vZGUucnNjLFxuICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IGNoaWxkQ2FjaGVOb2RlLnByZWZldGNoUnNjLFxuICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoY2hpbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpXG4gICAgICAgIH07XG4gICAgICAgIGNoaWxkU2VnbWVudE1hcC5zZXQoY2FjaGVLZXksIGNoaWxkQ2FjaGVOb2RlKTtcbiAgICB9XG4gICAgcmV0dXJuIGZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHkoY2hpbGRDYWNoZU5vZGUsIGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUsIGZsaWdodFNlZ21lbnRQYXRoLnNsaWNlKDIpLCBmZXRjaFJlc3BvbnNlKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmlsbC1jYWNoZS13aXRoLWRhdGEtcHJvcGVydHkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHkiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJyZXF1aXJlIiwibmV3Q2FjaGUiLCJleGlzdGluZ0NhY2hlIiwiZmxpZ2h0U2VnbWVudFBhdGgiLCJmZXRjaFJlc3BvbnNlIiwiaXNMYXN0RW50cnkiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5Iiwic2VnbWVudCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJleGlzdGluZ0NoaWxkU2VnbWVudE1hcCIsInBhcmFsbGVsUm91dGVzIiwiY2hpbGRTZWdtZW50TWFwIiwiTWFwIiwic2V0IiwiZXhpc3RpbmdDaGlsZENhY2hlTm9kZSIsImNoaWxkQ2FjaGVOb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillCacheWithNewSubTreeData\", ({\n enumerable: true,\n get: function() {\n return fillCacheWithNewSubTreeData;\n }\n}));\nconst _invalidatecachebyrouterstate = __webpack_require__(/*! ./invalidate-cache-by-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ./fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillCacheWithNewSubTreeData(newCache, existingCache, flightDataPath, wasPrefetched) {\n const isLastEntry = flightDataPath.length <= 5;\n const [parallelRouteKey, segment] = flightDataPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (isLastEntry) {\n if (!childCacheNode || !childCacheNode.lazyData || childCacheNode === existingChildCacheNode) {\n const seedData = flightDataPath[3];\n const rsc = seedData[2];\n childCacheNode = {\n lazyData: null,\n rsc,\n prefetchRsc: null,\n // Ensure segments other than the one we got data for are preserved.\n parallelRoutes: existingChildCacheNode ? new Map(existingChildCacheNode.parallelRoutes) : new Map()\n };\n if (existingChildCacheNode) {\n (0, _invalidatecachebyrouterstate.invalidateCacheByRouterState)(childCacheNode, existingChildCacheNode, flightDataPath[2]);\n }\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(childCacheNode, existingChildCacheNode, flightDataPath[2], seedData, flightDataPath[4], wasPrefetched);\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n return;\n }\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n fillCacheWithNewSubTreeData(childCacheNode, existingChildCacheNode, flightDataPath.slice(2), wasPrefetched);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-cache-with-new-subtree-data.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1uZXctc3VidHJlZS1kYXRhLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrREFBOEQ7SUFDMURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxnQ0FBZ0NDLG1CQUFPQSxDQUFDLCtJQUFvQztBQUNsRixNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLHFKQUF1QztBQUN0RixNQUFNRSx3QkFBd0JGLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiw0QkFBNEJLLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxjQUFjLEVBQUVDLGFBQWE7SUFDdkYsTUFBTUMsY0FBY0YsZUFBZUcsTUFBTSxJQUFJO0lBQzdDLE1BQU0sQ0FBQ0Msa0JBQWtCQyxRQUFRLEdBQUdMO0lBQ3BDLE1BQU1NLFdBQVcsQ0FBQyxHQUFHVCxzQkFBc0JVLG9CQUFvQixFQUFFRjtJQUNqRSxNQUFNRywwQkFBMEJULGNBQWNVLGNBQWMsQ0FBQ2pCLEdBQUcsQ0FBQ1k7SUFDakUsSUFBSSxDQUFDSSx5QkFBeUI7UUFDMUIsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNKO0lBQ0EsSUFBSUUsa0JBQWtCWixTQUFTVyxjQUFjLENBQUNqQixHQUFHLENBQUNZO0lBQ2xELElBQUksQ0FBQ00sbUJBQW1CQSxvQkFBb0JGLHlCQUF5QjtRQUNqRUUsa0JBQWtCLElBQUlDLElBQUlIO1FBQzFCVixTQUFTVyxjQUFjLENBQUNHLEdBQUcsQ0FBQ1Isa0JBQWtCTTtJQUNsRDtJQUNBLE1BQU1HLHlCQUF5Qkwsd0JBQXdCaEIsR0FBRyxDQUFDYztJQUMzRCxJQUFJUSxpQkFBaUJKLGdCQUFnQmxCLEdBQUcsQ0FBQ2M7SUFDekMsSUFBSUosYUFBYTtRQUNiLElBQUksQ0FBQ1ksa0JBQWtCLENBQUNBLGVBQWVDLFFBQVEsSUFBSUQsbUJBQW1CRCx3QkFBd0I7WUFDMUYsTUFBTUcsV0FBV2hCLGNBQWMsQ0FBQyxFQUFFO1lBQ2xDLE1BQU1pQixNQUFNRCxRQUFRLENBQUMsRUFBRTtZQUN2QkYsaUJBQWlCO2dCQUNiQyxVQUFVO2dCQUNWRTtnQkFDQUMsYUFBYTtnQkFDYixvRUFBb0U7Z0JBQ3BFVCxnQkFBZ0JJLHlCQUF5QixJQUFJRixJQUFJRSx1QkFBdUJKLGNBQWMsSUFBSSxJQUFJRTtZQUNsRztZQUNBLElBQUlFLHdCQUF3QjtnQkFDdkIsSUFBR25CLDhCQUE4QnlCLDRCQUE0QixFQUFFTCxnQkFBZ0JELHdCQUF3QmIsY0FBYyxDQUFDLEVBQUU7WUFDN0g7WUFDQyxJQUFHSiwrQkFBK0J3Qiw2QkFBNkIsRUFBRU4sZ0JBQWdCRCx3QkFBd0JiLGNBQWMsQ0FBQyxFQUFFLEVBQUVnQixVQUFVaEIsY0FBYyxDQUFDLEVBQUUsRUFBRUM7WUFDMUpTLGdCQUFnQkUsR0FBRyxDQUFDTixVQUFVUTtRQUNsQztRQUNBO0lBQ0o7SUFDQSxJQUFJLENBQUNBLGtCQUFrQixDQUFDRCx3QkFBd0I7UUFDNUMsNkVBQTZFO1FBQzdFLHNFQUFzRTtRQUN0RTtJQUNKO0lBQ0EsSUFBSUMsbUJBQW1CRCx3QkFBd0I7UUFDM0NDLGlCQUFpQjtZQUNiQyxVQUFVRCxlQUFlQyxRQUFRO1lBQ2pDRSxLQUFLSCxlQUFlRyxHQUFHO1lBQ3ZCQyxhQUFhSixlQUFlSSxXQUFXO1lBQ3ZDVCxnQkFBZ0IsSUFBSUUsSUFBSUcsZUFBZUwsY0FBYztRQUN6RDtRQUNBQyxnQkFBZ0JFLEdBQUcsQ0FBQ04sVUFBVVE7SUFDbEM7SUFDQXJCLDRCQUE0QnFCLGdCQUFnQkQsd0JBQXdCYixlQUFlcUIsS0FBSyxDQUFDLElBQUlwQjtBQUNqRztBQUVBLElBQUksQ0FBQyxPQUFPWixRQUFRaUMsT0FBTyxLQUFLLGNBQWUsT0FBT2pDLFFBQVFpQyxPQUFPLEtBQUssWUFBWWpDLFFBQVFpQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9qQyxRQUFRaUMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3BDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWlDLE9BQU8sRUFBRSxjQUFjO1FBQUVoQyxPQUFPO0lBQUs7SUFDbkVILE9BQU9xQyxNQUFNLENBQUNuQyxRQUFRaUMsT0FBTyxFQUFFakM7SUFDL0JvQyxPQUFPcEMsT0FBTyxHQUFHQSxRQUFRaUMsT0FBTztBQUNsQyxFQUVBLDREQUE0RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtY2FjaGUtd2l0aC1uZXctc3VidHJlZS1kYXRhLmpzPzlmZTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGFcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZpbGxDYWNoZVdpdGhOZXdTdWJUcmVlRGF0YTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnZhbGlkYXRlY2FjaGVieXJvdXRlcnN0YXRlID0gcmVxdWlyZShcIi4vaW52YWxpZGF0ZS1jYWNoZS1ieS1yb3V0ZXItc3RhdGVcIik7XG5jb25zdCBfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQgPSByZXF1aXJlKFwiLi9maWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZFwiKTtcbmNvbnN0IF9jcmVhdGVyb3V0ZXJjYWNoZWtleSA9IHJlcXVpcmUoXCIuL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5XCIpO1xuZnVuY3Rpb24gZmlsbENhY2hlV2l0aE5ld1N1YlRyZWVEYXRhKG5ld0NhY2hlLCBleGlzdGluZ0NhY2hlLCBmbGlnaHREYXRhUGF0aCwgd2FzUHJlZmV0Y2hlZCkge1xuICAgIGNvbnN0IGlzTGFzdEVudHJ5ID0gZmxpZ2h0RGF0YVBhdGgubGVuZ3RoIDw9IDU7XG4gICAgY29uc3QgW3BhcmFsbGVsUm91dGVLZXksIHNlZ21lbnRdID0gZmxpZ2h0RGF0YVBhdGg7XG4gICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50KTtcbiAgICBjb25zdCBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCA9IGV4aXN0aW5nQ2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpO1xuICAgIGlmICghZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXApIHtcbiAgICAgICAgLy8gQmFpbG91dCBiZWNhdXNlIHRoZSBleGlzdGluZyBjYWNoZSBkb2VzIG5vdCBoYXZlIHRoZSBwYXRoIHRvIHRoZSBsZWFmIG5vZGVcbiAgICAgICAgLy8gV2lsbCB0cmlnZ2VyIGxhenkgZmV0Y2ggaW4gbGF5b3V0LXJvdXRlciBiZWNhdXNlIG9mIG1pc3Npbmcgc2VnbWVudFxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjaGlsZFNlZ21lbnRNYXAgPSBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKCFjaGlsZFNlZ21lbnRNYXAgfHwgY2hpbGRTZWdtZW50TWFwID09PSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgICAgICBjaGlsZFNlZ21lbnRNYXAgPSBuZXcgTWFwKGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKTtcbiAgICAgICAgbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIGNoaWxkU2VnbWVudE1hcCk7XG4gICAgfVxuICAgIGNvbnN0IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUgPSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcC5nZXQoY2FjaGVLZXkpO1xuICAgIGxldCBjaGlsZENhY2hlTm9kZSA9IGNoaWxkU2VnbWVudE1hcC5nZXQoY2FjaGVLZXkpO1xuICAgIGlmIChpc0xhc3RFbnRyeSkge1xuICAgICAgICBpZiAoIWNoaWxkQ2FjaGVOb2RlIHx8ICFjaGlsZENhY2hlTm9kZS5sYXp5RGF0YSB8fCBjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAgICAgY29uc3Qgc2VlZERhdGEgPSBmbGlnaHREYXRhUGF0aFszXTtcbiAgICAgICAgICAgIGNvbnN0IHJzYyA9IHNlZWREYXRhWzJdO1xuICAgICAgICAgICAgY2hpbGRDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgICAgICAgICAgcnNjLFxuICAgICAgICAgICAgICAgIHByZWZldGNoUnNjOiBudWxsLFxuICAgICAgICAgICAgICAgIC8vIEVuc3VyZSBzZWdtZW50cyBvdGhlciB0aGFuIHRoZSBvbmUgd2UgZ290IGRhdGEgZm9yIGFyZSBwcmVzZXJ2ZWQuXG4gICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUgPyBuZXcgTWFwKGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpIDogbmV3IE1hcCgpXG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgaWYgKGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUpIHtcbiAgICAgICAgICAgICAgICAoMCwgX2ludmFsaWRhdGVjYWNoZWJ5cm91dGVyc3RhdGUuaW52YWxpZGF0ZUNhY2hlQnlSb3V0ZXJTdGF0ZSkoY2hpbGRDYWNoZU5vZGUsIGV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUsIGZsaWdodERhdGFQYXRoWzJdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICgwLCBfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQuZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQpKGNoaWxkQ2FjaGVOb2RlLCBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlLCBmbGlnaHREYXRhUGF0aFsyXSwgc2VlZERhdGEsIGZsaWdodERhdGFQYXRoWzRdLCB3YXNQcmVmZXRjaGVkKTtcbiAgICAgICAgICAgIGNoaWxkU2VnbWVudE1hcC5zZXQoY2FjaGVLZXksIGNoaWxkQ2FjaGVOb2RlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghY2hpbGRDYWNoZU5vZGUgfHwgIWV4aXN0aW5nQ2hpbGRDYWNoZU5vZGUpIHtcbiAgICAgICAgLy8gQmFpbG91dCBiZWNhdXNlIHRoZSBleGlzdGluZyBjYWNoZSBkb2VzIG5vdCBoYXZlIHRoZSBwYXRoIHRvIHRoZSBsZWFmIG5vZGVcbiAgICAgICAgLy8gV2lsbCB0cmlnZ2VyIGxhenkgZmV0Y2ggaW4gbGF5b3V0LXJvdXRlciBiZWNhdXNlIG9mIG1pc3Npbmcgc2VnbWVudFxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChjaGlsZENhY2hlTm9kZSA9PT0gZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICBjaGlsZENhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgIGxhenlEYXRhOiBjaGlsZENhY2hlTm9kZS5sYXp5RGF0YSxcbiAgICAgICAgICAgIHJzYzogY2hpbGRDYWNoZU5vZGUucnNjLFxuICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IGNoaWxkQ2FjaGVOb2RlLnByZWZldGNoUnNjLFxuICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoY2hpbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpXG4gICAgICAgIH07XG4gICAgICAgIGNoaWxkU2VnbWVudE1hcC5zZXQoY2FjaGVLZXksIGNoaWxkQ2FjaGVOb2RlKTtcbiAgICB9XG4gICAgZmlsbENhY2hlV2l0aE5ld1N1YlRyZWVEYXRhKGNoaWxkQ2FjaGVOb2RlLCBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlLCBmbGlnaHREYXRhUGF0aC5zbGljZSgyKSwgd2FzUHJlZmV0Y2hlZCk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbGwtY2FjaGUtd2l0aC1uZXctc3VidHJlZS1kYXRhLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJmaWxsQ2FjaGVXaXRoTmV3U3ViVHJlZURhdGEiLCJfaW52YWxpZGF0ZWNhY2hlYnlyb3V0ZXJzdGF0ZSIsInJlcXVpcmUiLCJfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsIndhc1ByZWZldGNoZWQiLCJpc0xhc3RFbnRyeSIsImxlbmd0aCIsInBhcmFsbGVsUm91dGVLZXkiLCJzZWdtZW50IiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwIiwicGFyYWxsZWxSb3V0ZXMiLCJjaGlsZFNlZ21lbnRNYXAiLCJNYXAiLCJzZXQiLCJleGlzdGluZ0NoaWxkQ2FjaGVOb2RlIiwiY2hpbGRDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInNlZWREYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJzbGljZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-new-subtree-data.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fillLazyItemsTillLeafWithHead\", ({\n enumerable: true,\n get: function() {\n return fillLazyItemsTillLeafWithHead;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction fillLazyItemsTillLeafWithHead(newCache, existingCache, routerState, cacheNodeSeedData, head, wasPrefetched) {\n const isLastSegment = Object.keys(routerState[1]).length === 0;\n if (isLastSegment) {\n newCache.head = head;\n return;\n }\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const parallelRouteState = routerState[1][key];\n const segmentForParallelRoute = parallelRouteState[0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n // TODO: We should traverse the cacheNodeSeedData tree instead of the router\n // state tree. Ideally, they would always be the same shape, but because of\n // the loading.js pattern, cacheNodeSeedData sometimes only represents a\n // partial tree. That's why this node is sometimes null. Once PPR lands,\n // loading.js will no longer have special behavior and we can traverse the\n // data tree instead.\n //\n // We should also consider merging the router state tree and the data tree\n // in the response format, so that we don't have to send the keys twice.\n // Then the client can convert them into separate representations.\n const parallelSeedData = cacheNodeSeedData !== null && cacheNodeSeedData[1][key] !== undefined ? cacheNodeSeedData[1][key] : null;\n if (existingCache) {\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n const existingCacheNode = parallelRouteCacheNode.get(cacheKey);\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n // This is a PPR-only field. When PPR is enabled, we shouldn't hit\n // this path during a navigation, but until PPR is fully implemented\n // yet it's possible the existing node does have a non-null\n // `prefetchRsc`. As an incremental step, we'll just de-opt to the\n // old behavior — no PPR value.\n prefetchRsc: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes)\n };\n } else if (wasPrefetched && existingCacheNode) {\n // No new data was sent from the server, but the existing cache node\n // was prefetched, so we should reuse that.\n newCacheNode = {\n lazyData: existingCacheNode.lazyData,\n rsc: existingCacheNode.rsc,\n // This is a PPR-only field. Unlike the previous branch, since we're\n // just cloning the existing cache node, we might as well keep the\n // PPR value, if it exists.\n prefetchRsc: existingCacheNode.prefetchRsc,\n parallelRoutes: new Map(existingCacheNode.parallelRoutes)\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map(existingCacheNode == null ? void 0 : existingCacheNode.parallelRoutes)\n };\n }\n // Overrides the cache key with the new cache node.\n parallelRouteCacheNode.set(cacheKey, newCacheNode);\n // Traverse deeper to apply the head / fill lazy items till the head.\n fillLazyItemsTillLeafWithHead(newCacheNode, existingCacheNode, parallelRouteState, parallelSeedData ? parallelSeedData : null, head, wasPrefetched);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n continue;\n }\n }\n let newCacheNode;\n if (parallelSeedData !== null) {\n // New data was sent from the server.\n const seedNode = parallelSeedData[2];\n newCacheNode = {\n lazyData: null,\n rsc: seedNode,\n prefetchRsc: null,\n parallelRoutes: new Map()\n };\n } else {\n // No data available for this node. This will trigger a lazy fetch\n // during render.\n newCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n parallelRoutes: new Map()\n };\n }\n const existingParallelRoutes = newCache.parallelRoutes.get(key);\n if (existingParallelRoutes) {\n existingParallelRoutes.set(cacheKey, newCacheNode);\n } else {\n newCache.parallelRoutes.set(key, new Map([\n [\n cacheKey,\n newCacheNode\n ]\n ]));\n }\n fillLazyItemsTillLeafWithHead(newCacheNode, undefined, parallelRouteState, parallelSeedData, head, wasPrefetched);\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fill-lazy-items-till-leaf-with-head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpRUFBZ0U7SUFDNURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiw4QkFBOEJHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXLEVBQUVDLGlCQUFpQixFQUFFQyxJQUFJLEVBQUVDLGFBQWE7SUFDL0csTUFBTUMsZ0JBQWdCZixPQUFPZ0IsSUFBSSxDQUFDTCxXQUFXLENBQUMsRUFBRSxFQUFFTSxNQUFNLEtBQUs7SUFDN0QsSUFBSUYsZUFBZTtRQUNmTixTQUFTSSxJQUFJLEdBQUdBO1FBQ2hCO0lBQ0o7SUFDQSx1RkFBdUY7SUFDdkYsSUFBSSxNQUFNSyxPQUFPUCxXQUFXLENBQUMsRUFBRSxDQUFDO1FBQzVCLE1BQU1RLHFCQUFxQlIsV0FBVyxDQUFDLEVBQUUsQ0FBQ08sSUFBSTtRQUM5QyxNQUFNRSwwQkFBMEJELGtCQUFrQixDQUFDLEVBQUU7UUFDckQsTUFBTUUsV0FBVyxDQUFDLEdBQUdkLHNCQUFzQmUsb0JBQW9CLEVBQUVGO1FBQ2pFLDRFQUE0RTtRQUM1RSwyRUFBMkU7UUFDM0Usd0VBQXdFO1FBQ3hFLHdFQUF3RTtRQUN4RSwwRUFBMEU7UUFDMUUscUJBQXFCO1FBQ3JCLEVBQUU7UUFDRiwwRUFBMEU7UUFDMUUsd0VBQXdFO1FBQ3hFLGtFQUFrRTtRQUNsRSxNQUFNRyxtQkFBbUJYLHNCQUFzQixRQUFRQSxpQkFBaUIsQ0FBQyxFQUFFLENBQUNNLElBQUksS0FBS00sWUFBWVosaUJBQWlCLENBQUMsRUFBRSxDQUFDTSxJ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QyxRQUFRbUMsT0FBTyxFQUFFbkM7SUFDL0JzQyxPQUFPdEMsT0FBTyxHQUFHQSxRQUFRbUMsT0FBTztBQUNsQyxFQUVBLCtEQUErRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkLmpzPzZjOWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQ7XG4gICAgfVxufSk7XG5jb25zdCBfY3JlYXRlcm91dGVyY2FjaGVrZXkgPSByZXF1aXJlKFwiLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbmZ1bmN0aW9uIGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKG5ld0NhY2hlLCBleGlzdGluZ0NhY2hlLCByb3V0ZXJTdGF0ZSwgY2FjaGVOb2RlU2VlZERhdGEsIGhlYWQsIHdhc1ByZWZldGNoZWQpIHtcbiAgICBjb25zdCBpc0xhc3RTZWdtZW50ID0gT2JqZWN0LmtleXMocm91dGVyU3RhdGVbMV0pLmxlbmd0aCA9PT0gMDtcbiAgICBpZiAoaXNMYXN0U2VnbWVudCkge1xuICAgICAgICBuZXdDYWNoZS5oZWFkID0gaGVhZDtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBSZW1vdmUgc2VnbWVudCB0aGF0IHdlIGdvdCBkYXRhIGZvciBzbyB0aGF0IGl0IGlzIGZpbGxlZCBpbiBkdXJpbmcgcmVuZGVyaW5nIG9mIHJzYy5cbiAgICBmb3IoY29uc3Qga2V5IGluIHJvdXRlclN0YXRlWzFdKXtcbiAgICAgICAgY29uc3QgcGFyYWxsZWxSb3V0ZVN0YXRlID0gcm91dGVyU3RhdGVbMV1ba2V5XTtcbiAgICAgICAgY29uc3Qgc2VnbWVudEZvclBhcmFsbGVsUm91dGUgPSBwYXJhbGxlbFJvdXRlU3RhdGVbMF07XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoc2VnbWVudEZvclBhcmFsbGVsUm91dGUpO1xuICAgICAgICAvLyBUT0RPOiBXZSBzaG91bGQgdHJhdmVyc2UgdGhlIGNhY2hlTm9kZVNlZWREYXRhIHRyZWUgaW5zdGVhZCBvZiB0aGUgcm91dGVyXG4gICAgICAgIC8vIHN0YXRlIHRyZWUuIElkZWFsbHksIHRoZXkgd291bGQgYWx3YXlzIGJlIHRoZSBzYW1lIHNoYXBlLCBidXQgYmVjYXVzZSBvZlxuICAgICAgICAvLyB0aGUgbG9hZGluZy5qcyBwYXR0ZXJuLCBjYWNoZU5vZGVTZWVkRGF0YSBzb21ldGltZXMgb25seSByZXByZXNlbnRzIGFcbiAgICAgICAgLy8gcGFydGlhbCB0cmVlLiBUaGF0J3Mgd2h5IHRoaXMgbm9kZSBpcyBzb21ldGltZXMgbnVsbC4gT25jZSBQUFIgbGFuZHMsXG4gICAgICAgIC8vIGxvYWRpbmcuanMgd2lsbCBubyBsb25nZXIgaGF2ZSBzcGVjaWFsIGJlaGF2aW9yIGFuZCB3ZSBjYW4gdHJhdmVyc2UgdGhlXG4gICAgICAgIC8vIGRhdGEgdHJlZSBpbnN0ZWFkLlxuICAgICAgICAvL1xuICAgICAgICAvLyBXZSBzaG91bGQgYWxzbyBjb25zaWRlciBtZXJnaW5nIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBhbmQgdGhlIGRhdGEgdHJlZVxuICAgICAgICAvLyBpbiB0aGUgcmVzcG9uc2UgZm9ybWF0LCBzbyB0aGF0IHdlIGRvbid0IGhhdmUgdG8gc2VuZCB0aGUga2V5cyB0d2ljZS5cbiAgICAgICAgLy8gVGhlbiB0aGUgY2xpZW50IGNhbiBjb252ZXJ0IHRoZW0gaW50byBzZXBhcmF0ZSByZXByZXNlbnRhdGlvbnMuXG4gICAgICAgIGNvbnN0IHBhcmFsbGVsU2VlZERhdGEgPSBjYWNoZU5vZGVTZWVkRGF0YSAhPT0gbnVsbCAmJiBjYWNoZU5vZGVTZWVkRGF0YVsxXVtrZXldICE9PSB1bmRlZmluZWQgPyBjYWNoZU5vZGVTZWVkRGF0YVsxXVtrZXldIDogbnVsbDtcbiAgICAgICAgaWYgKGV4aXN0aW5nQ2FjaGUpIHtcbiAgICAgICAgICAgIGNvbnN0IGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUgPSBleGlzdGluZ0NhY2hlLnBhcmFsbGVsUm91dGVzLmdldChrZXkpO1xuICAgICAgICAgICAgaWYgKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyYWxsZWxSb3V0ZUNhY2hlTm9kZSA9IG5ldyBNYXAoZXhpc3RpbmdQYXJhbGxlbFJvdXRlc0NhY2hlTm9kZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXhpc3RpbmdDYWNoZU5vZGUgPSBwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlLmdldChjYWNoZUtleSk7XG4gICAgICAgICAgICAgICAgbGV0IG5ld0NhY2hlTm9kZTtcbiAgICAgICAgICAgICAgICBpZiAocGFyYWxsZWxTZWVkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBOZXcgZGF0YSB3YXMgc2VudCBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlZWROb2RlID0gcGFyYWxsZWxTZWVkRGF0YVsyXTtcbiAgICAgICAgICAgICAgICAgICAgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICByc2M6IHNlZWROb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyBhIFBQUi1vbmx5IGZpZWxkLiBXaGVuIFBQUiBpcyBlbmFibGVkLCB3ZSBzaG91bGRuJ3QgaGl0XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIHBhdGggZHVyaW5nIGEgbmF2aWdhdGlvbiwgYnV0IHVudGlsIFBQUiBpcyBmdWxseSBpbXBsZW1lbnRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8geWV0IGl0J3MgcG9zc2libGUgdGhlIGV4aXN0aW5nIG5vZGUgZG9lcyBoYXZlIGEgbm9uLW51bGxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGBwcmVmZXRjaFJzY2AuIEFzIGFuIGluY3JlbWVudGFsIHN0ZXAsIHdlJ2xsIGp1c3QgZGUtb3B0IHRvIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb2xkIGJlaGF2aW9yIOKAlCBubyBQUFIgdmFsdWUuXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKGV4aXN0aW5nQ2FjaGVOb2RlID09IG51bGwgPyB2b2lkIDAgOiBleGlzdGluZ0NhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcylcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHdhc1ByZWZldGNoZWQgJiYgZXhpc3RpbmdDYWNoZU5vZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTm8gbmV3IGRhdGEgd2FzIHNlbnQgZnJvbSB0aGUgc2VydmVyLCBidXQgdGhlIGV4aXN0aW5nIGNhY2hlIG5vZGVcbiAgICAgICAgICAgICAgICAgICAgLy8gd2FzIHByZWZldGNoZWQsIHNvIHdlIHNob3VsZCByZXVzZSB0aGF0LlxuICAgICAgICAgICAgICAgICAgICBuZXdDYWNoZU5vZGUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsYXp5RGF0YTogZXhpc3RpbmdDYWNoZU5vZGUubGF6eURhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICByc2M6IGV4aXN0aW5nQ2FjaGVOb2RlLnJzYyxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgaXMgYSBQUFItb25seSBmaWVsZC4gVW5saWtlIHRoZSBwcmV2aW91cyBicmFuY2gsIHNpbmNlIHdlJ3JlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBqdXN0IGNsb25pbmcgdGhlIGV4aXN0aW5nIGNhY2hlIG5vZGUsIHdlIG1pZ2h0IGFzIHdlbGwga2VlcCB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBQUiB2YWx1ZSwgaWYgaXQgZXhpc3RzLlxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IGV4aXN0aW5nQ2FjaGVOb2RlLnByZWZldGNoUnNjLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoZXhpc3RpbmdDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTm8gZGF0YSBhdmFpbGFibGUgZm9yIHRoaXMgbm9kZS4gVGhpcyB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoXG4gICAgICAgICAgICAgICAgICAgIC8vIGR1cmluZyByZW5kZXIuXG4gICAgICAgICAgICAgICAgICAgIG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcnNjOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChleGlzdGluZ0NhY2hlTm9kZSA9PSBudWxsID8gdm9pZCAwIDogZXhpc3RpbmdDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXMpXG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIE92ZXJyaWRlcyB0aGUgY2FjaGUga2V5IHdpdGggdGhlIG5ldyBjYWNoZSBub2RlLlxuICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUuc2V0KGNhY2hlS2V5LCBuZXdDYWNoZU5vZGUpO1xuICAgICAgICAgICAgICAgIC8vIFRyYXZlcnNlIGRlZXBlciB0byBhcHBseSB0aGUgaGVhZCAvIGZpbGwgbGF6eSBpdGVtcyB0aWxsIHRoZSBoZWFkLlxuICAgICAgICAgICAgICAgIGZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKG5ld0NhY2hlTm9kZSwgZXhpc3RpbmdDYWNoZU5vZGUsIHBhcmFsbGVsUm91dGVTdGF0ZSwgcGFyYWxsZWxTZWVkRGF0YSA/IHBhcmFsbGVsU2VlZERhdGEgOiBudWxsLCBoZWFkLCB3YXNQcmVmZXRjaGVkKTtcbiAgICAgICAgICAgICAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5zZXQoa2V5LCBwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgbmV3Q2FjaGVOb2RlO1xuICAgICAgICBpZiAocGFyYWxsZWxTZWVkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gTmV3IGRhdGEgd2FzIHNlbnQgZnJvbSB0aGUgc2VydmVyLlxuICAgICAgICAgICAgY29uc3Qgc2VlZE5vZGUgPSBwYXJhbGxlbFNlZWREYXRhWzJdO1xuICAgICAgICAgICAgbmV3Q2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgICAgIGxhenlEYXRhOiBudWxsLFxuICAgICAgICAgICAgICAgIHJzYzogc2VlZE5vZGUsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5vIGRhdGEgYXZhaWxhYmxlIGZvciB0aGlzIG5vZGUuIFRoaXMgd2lsbCB0cmlnZ2VyIGEgbGF6eSBmZXRjaFxuICAgICAgICAgICAgLy8gZHVyaW5nIHJlbmRlci5cbiAgICAgICAgICAgIG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgICAgICAgICByc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ldyBNYXAoKVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBleGlzdGluZ1BhcmFsbGVsUm91dGVzID0gbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KGtleSk7XG4gICAgICAgIGlmIChleGlzdGluZ1BhcmFsbGVsUm91dGVzKSB7XG4gICAgICAgICAgICBleGlzdGluZ1BhcmFsbGVsUm91dGVzLnNldChjYWNoZUtleSwgbmV3Q2FjaGVOb2RlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLnNldChrZXksIG5ldyBNYXAoW1xuICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVLZXksXG4gICAgICAgICAgICAgICAgICAgIG5ld0NhY2hlTm9kZVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIF0pKTtcbiAgICAgICAgfVxuICAgICAgICBmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZChuZXdDYWNoZU5vZGUsIHVuZGVmaW5lZCwgcGFyYWxsZWxSb3V0ZVN0YXRlLCBwYXJhbGxlbFNlZWREYXRhLCBoZWFkLCB3YXNQcmVmZXRjaGVkKTtcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZpbGwtbGF6eS1pdGVtcy10aWxsLWxlYWYtd2l0aC1oZWFkLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsInJlcXVpcmUiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJyb3V0ZXJTdGF0ZSIsImNhY2hlTm9kZVNlZWREYXRhIiwiaGVhZCIsIndhc1ByZWZldGNoZWQiLCJpc0xhc3RTZWdtZW50Iiwia2V5cyIsImxlbmd0aCIsImtleSIsInBhcmFsbGVsUm91dGVTdGF0ZSIsInNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlIiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsInBhcmFsbGVsU2VlZERhdGEiLCJ1bmRlZmluZWQiLCJleGlzdGluZ1BhcmFsbGVsUm91dGVzQ2FjaGVOb2RlIiwicGFyYWxsZWxSb3V0ZXMiLCJwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlIiwiTWFwIiwiZXhpc3RpbmdDYWNoZU5vZGUiLCJuZXdDYWNoZU5vZGUiLCJzZWVkTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJzZXQiLCJleGlzdGluZ1BhcmFsbGVsUm91dGVzIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js": /*!****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js ***! \****************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PrefetchCacheEntryStatus: function() {\n return PrefetchCacheEntryStatus;\n },\n getPrefetchEntryCacheStatus: function() {\n return getPrefetchEntryCacheStatus;\n }\n});\nconst FIVE_MINUTES = 5 * 60 * 1000;\nconst THIRTY_SECONDS = 30 * 1000;\nvar PrefetchCacheEntryStatus;\n(function(PrefetchCacheEntryStatus) {\n PrefetchCacheEntryStatus[\"fresh\"] = \"fresh\";\n PrefetchCacheEntryStatus[\"reusable\"] = \"reusable\";\n PrefetchCacheEntryStatus[\"expired\"] = \"expired\";\n PrefetchCacheEntryStatus[\"stale\"] = \"stale\";\n})(PrefetchCacheEntryStatus || (PrefetchCacheEntryStatus = {}));\nfunction getPrefetchEntryCacheStatus(param) {\n let { kind, prefetchTime, lastUsedTime } = param;\n // if the cache entry was prefetched or read less than 30s ago, then we want to re-use it\n if (Date.now() < (lastUsedTime != null ? lastUsedTime : prefetchTime) + THIRTY_SECONDS) {\n return lastUsedTime ? \"reusable\" : \"fresh\";\n }\n // if the cache entry was prefetched less than 5 mins ago, then we want to re-use only the loading state\n if (kind === \"auto\") {\n if (Date.now() < prefetchTime + FIVE_MINUTES) {\n return \"stale\";\n }\n }\n // if the cache entry was prefetched less than 5 mins ago and was a \"full\" prefetch, then we want to re-use it \"full\n if (kind === \"full\") {\n if (Date.now() < prefetchTime + FIVE_MINUTES) {\n return \"reusable\";\n }\n }\n return \"expired\";\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-prefetch-cache-entry-status.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2dldC1wcmVmZXRjaC1jYWNoZS1lbnRyeS1zdGF0dXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxlQUFlLElBQUksS0FBSztBQUM5QixNQUFNQyxpQkFBaUIsS0FBSztBQUM1QixJQUFJVDtBQUNILFVBQVNBLHdCQUF3QjtJQUM5QkEsd0JBQXdCLENBQUMsUUFBUSxHQUFHO0lBQ3BDQSx3QkFBd0IsQ0FBQyxXQUFXLEdBQUc7SUFDdkNBLHdCQUF3QixDQUFDLFVBQVUsR0FBRztJQUN0Q0Esd0JBQXdCLENBQUMsUUFBUSxHQUFHO0FBQ3hDLEdBQUdBLDRCQUE2QkEsQ0FBQUEsMkJBQTJCLENBQUM7QUFDNUQsU0FBU0MsNEJBQTRCUyxLQUFLO0lBQ3RDLElBQUksRUFBRUMsSUFBSSxFQUFFQyxZQUFZLEVBQUVDLFlBQVksRUFBRSxHQUFHSDtJQUMzQyx5RkFBeUY7SUFDekYsSUFBSUksS0FBS0MsR0FBRyxLQUFLLENBQUNGLGdCQUFnQixPQUFPQSxlQUFlRCxZQUFXLElBQUtILGdCQUFnQjtRQUNwRixPQUFPSSxlQUFlLGFBQWE7SUFDdkM7SUFDQSx3R0FBd0c7SUFDeEcsSUFBSUYsU0FBUyxRQUFRO1FBQ2pCLElBQUlHLEtBQUtDLEdBQUcsS0FBS0gsZUFBZUosY0FBYztZQUMxQyxPQUFPO1FBQ1g7SUFDSjtJQUNBLG9IQUFvSDtJQUNwSCxJQUFJRyxTQUFTLFFBQVE7UUFDakIsSUFBSUcsS0FBS0MsR0FBRyxLQUFLSCxlQUFlSixjQUFjO1lBQzFDLE9BQU87UUFDWDtJQUNKO0lBQ0EsT0FBTztBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFtQixPQUFPLEtBQUssY0FBZSxPQUFPbkIsUUFBUW1CLE9BQU8sS0FBSyxZQUFZbkIsUUFBUW1CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT25CLFFBQVFtQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRbUIsT0FBTyxFQUFFLGNBQWM7UUFBRWxCLE9BQU87SUFBSztJQUNuRUgsT0FBT3VCLE1BQU0sQ0FBQ3JCLFFBQVFtQixPQUFPLEVBQUVuQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRbUIsT0FBTztBQUNsQyxFQUVBLDJEQUEyRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2dldC1wcmVmZXRjaC1jYWNoZS1lbnRyeS1zdGF0dXMuanM/NmNkYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1czogbnVsbCxcbiAgICBnZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cztcbiAgICB9LFxuICAgIGdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1czogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXM7XG4gICAgfVxufSk7XG5jb25zdCBGSVZFX01JTlVURVMgPSA1ICogNjAgKiAxMDAwO1xuY29uc3QgVEhJUlRZX1NFQ09ORFMgPSAzMCAqIDEwMDA7XG52YXIgUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzO1xuKGZ1bmN0aW9uKFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cykge1xuICAgIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1c1tcImZyZXNoXCJdID0gXCJmcmVzaFwiO1xuICAgIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1c1tcInJldXNhYmxlXCJdID0gXCJyZXVzYWJsZVwiO1xuICAgIFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1c1tcImV4cGlyZWRcIl0gPSBcImV4cGlyZWRcIjtcbiAgICBQcmVmZXRjaENhY2hlRW50cnlTdGF0dXNbXCJzdGFsZVwiXSA9IFwic3RhbGVcIjtcbn0pKFByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyB8fCAoUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzID0ge30pKTtcbmZ1bmN0aW9uIGdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cyhwYXJhbSkge1xuICAgIGxldCB7IGtpbmQsIHByZWZldGNoVGltZSwgbGFzdFVzZWRUaW1lIH0gPSBwYXJhbTtcbiAgICAvLyBpZiB0aGUgY2FjaGUgZW50cnkgd2FzIHByZWZldGNoZWQgb3IgcmVhZCBsZXNzIHRoYW4gMzBzIGFnbywgdGhlbiB3ZSB3YW50IHRvIHJlLXVzZSBpdFxuICAgIGlmIChEYXRlLm5vdygpIDwgKGxhc3RVc2VkVGltZSAhPSBudWxsID8gbGFzdFVzZWRUaW1lIDogcHJlZmV0Y2hUaW1lKSArIFRISVJUWV9TRUNPTkRTKSB7XG4gICAgICAgIHJldHVybiBsYXN0VXNlZFRpbWUgPyBcInJldXNhYmxlXCIgOiBcImZyZXNoXCI7XG4gICAgfVxuICAgIC8vIGlmIHRoZSBjYWNoZSBlbnRyeSB3YXMgcHJlZmV0Y2hlZCBsZXNzIHRoYW4gNSBtaW5zIGFnbywgdGhlbiB3ZSB3YW50IHRvIHJlLXVzZSBvbmx5IHRoZSBsb2FkaW5nIHN0YXRlXG4gICAgaWYgKGtpbmQgPT09IFwiYXV0b1wiKSB7XG4gICAgICAgIGlmIChEYXRlLm5vdygpIDwgcHJlZmV0Y2hUaW1lICsgRklWRV9NSU5VVEVTKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJzdGFsZVwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGlmIHRoZSBjYWNoZSBlbnRyeSB3YXMgcHJlZmV0Y2hlZCBsZXNzIHRoYW4gNSBtaW5zIGFnbyBhbmQgd2FzIGEgXCJmdWxsXCIgcHJlZmV0Y2gsIHRoZW4gd2Ugd2FudCB0byByZS11c2UgaXQgXCJmdWxsXG4gICAgaWYgKGtpbmQgPT09IFwiZnVsbFwiKSB7XG4gICAgICAgIGlmIChEYXRlLm5vdygpIDwgcHJlZmV0Y2hUaW1lICsgRklWRV9NSU5VVEVTKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJyZXVzYWJsZVwiO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcImV4cGlyZWRcIjtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LXByZWZldGNoLWNhY2hlLWVudHJ5LXN0YXR1cy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJQcmVmZXRjaENhY2hlRW50cnlTdGF0dXMiLCJnZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJGSVZFX01JTlVURVMiLCJUSElSVFlfU0VDT05EUyIsInBhcmFtIiwia2luZCIsInByZWZldGNoVGltZSIsImxhc3RVc2VkVGltZSIsIkRhdGUiLCJub3ciLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/handle-mutable.js ***! \***********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleMutable\", ({\n enumerable: true,\n get: function() {\n return handleMutable;\n }\n}));\nconst _computechangedpath = __webpack_require__(/*! ./compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nfunction isNotUndefined(value) {\n return typeof value !== \"undefined\";\n}\nfunction handleMutable(state, mutable) {\n var _mutable_canonicalUrl;\n var _mutable_shouldScroll;\n // shouldScroll is true by default, can override to false.\n const shouldScroll = (_mutable_shouldScroll = mutable.shouldScroll) != null ? _mutable_shouldScroll : true;\n let nextUrl = state.nextUrl;\n if (isNotUndefined(mutable.patchedTree)) {\n // If we received a patched tree, we need to compute the changed path.\n const changedPath = (0, _computechangedpath.computeChangedPath)(state.tree, mutable.patchedTree);\n if (changedPath) {\n // If the tree changed, we need to update the nextUrl\n nextUrl = changedPath;\n } else if (!nextUrl) {\n // if the tree ends up being the same (ie, no changed path), and we don't have a nextUrl, then we should use the canonicalUrl\n nextUrl = state.canonicalUrl;\n }\n // otherwise this will be a no-op and continue to use the existing nextUrl\n }\n var _mutable_scrollableSegments;\n return {\n buildId: state.buildId,\n // Set href.\n canonicalUrl: isNotUndefined(mutable.canonicalUrl) ? mutable.canonicalUrl === state.canonicalUrl ? state.canonicalUrl : mutable.canonicalUrl : state.canonicalUrl,\n pushRef: {\n pendingPush: isNotUndefined(mutable.pendingPush) ? mutable.pendingPush : state.pushRef.pendingPush,\n mpaNavigation: isNotUndefined(mutable.mpaNavigation) ? mutable.mpaNavigation : state.pushRef.mpaNavigation,\n preserveCustomHistoryState: isNotUndefined(mutable.preserveCustomHistoryState) ? mutable.preserveCustomHistoryState : state.pushRef.preserveCustomHistoryState\n },\n // All navigation requires scroll and focus management to trigger.\n focusAndScrollRef: {\n apply: shouldScroll ? isNotUndefined(mutable == null ? void 0 : mutable.scrollableSegments) ? true : state.focusAndScrollRef.apply : false,\n onlyHashChange: !!mutable.hashFragment && state.canonicalUrl.split(\"#\", 1)[0] === ((_mutable_canonicalUrl = mutable.canonicalUrl) == null ? void 0 : _mutable_canonicalUrl.split(\"#\", 1)[0]),\n hashFragment: shouldScroll ? mutable.hashFragment && mutable.hashFragment !== \"\" ? decodeURIComponent(mutable.hashFragment.slice(1)) : state.focusAndScrollRef.hashFragment : null,\n segmentPaths: shouldScroll ? (_mutable_scrollableSegments = mutable == null ? void 0 : mutable.scrollableSegments) != null ? _mutable_scrollableSegments : state.focusAndScrollRef.segmentPaths : []\n },\n // Apply cache.\n cache: mutable.cache ? mutable.cache : state.cache,\n prefetchCache: mutable.prefetchCache ? mutable.prefetchCache : state.prefetchCache,\n // Apply patched router state.\n tree: isNotUndefined(mutable.patchedTree) ? mutable.patchedTree : state.tree,\n nextUrl\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-mutable.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxzQkFBc0JDLG1CQUFPQSxDQUFDLHVIQUF3QjtBQUM1RCxTQUFTQyxlQUFlTixLQUFLO0lBQ3pCLE9BQU8sT0FBT0EsVUFBVTtBQUM1QjtBQUNBLFNBQVNHLGNBQWNJLEtBQUssRUFBRUMsT0FBTztJQUNqQyxJQUFJQztJQUNKLElBQUlDO0lBQ0osMERBQTBEO0lBQzFELE1BQU1DLGVBQWUsQ0FBQ0Qsd0JBQXdCRixRQUFRRyxZQUFZLEtBQUssT0FBT0Qsd0JBQXdCO0lBQ3RHLElBQUlFLFVBQVVMLE1BQU1LLE9BQU87SUFDM0IsSUFBSU4sZUFBZUUsUUFBUUssV0FBVyxHQUFHO1FBQ3JDLHNFQUFzRTtRQUN0RSxNQUFNQyxjQUFjLENBQUMsR0FBR1Ysb0JBQW9CVyxrQkFBa0IsRUFBRVIsTUFBTVMsSUFBSSxFQUFFUixRQUFRSyxXQUFXO1FBQy9GLElBQUlDLGFBQWE7WUFDYixxREFBcUQ7WUFDckRGLFVBQVVFO1FBQ2QsT0FBTyxJQUFJLENBQUNGLFNBQVM7WUFDakIsNkhBQTZIO1lBQzdIQSxVQUFVTCxNQUFNVSxZQUFZO1FBQ2hDO0lBQ0osMEVBQTBFO0lBQzFFO0lBQ0EsSUFBSUM7SUFDSixPQUFPO1FBQ0hDLFNBQVNaLE1BQU1ZLE9BQU87UUFDdEIsWUFBWTtRQUNaRixjQUFjWCxlQUFlRSxRQUFRUyxZQUFZLElBQUlULFFBQVFTLFlBQVksS0FBS1YsTUFBTVUsWUFBWSxHQUFHVixNQUFNVSxZQUFZLEdBQUdULFFBQVFTLFlBQVksR0FBR1YsTUFBTVUsWUFBWTtRQUNqS0csU0FBUztZQUNMQyxhQUFhZixlQUFlRSxRQUFRYSxXQUFXLElBQUliLFFBQVFhLFdBQVcsR0FBR2QsTUFBTWEsT0FBTyxDQUFDQyxXQUFXO1lBQ2xHQyxlQUFlaEIsZUFBZUUsUUFBUWMsYUFBYSxJQUFJZCxRQUFRYyxhQUFhLEdBQUdmLE1BQU1hLE9BQU8sQ0FBQ0UsYUFBYTtZQUMxR0MsNEJBQTRCakIsZUFBZUUsUUFBUWUsMEJBQTBCLElBQUlmLFFBQVFlLDBCQUEwQixHQUFHaEIsTUFBTWEsT0FBTyxDQUFDRywwQkFBMEI7UUFDbEs7UUFDQSxrRUFBa0U7UUFDbEVDLG1CQUFtQjtZQUNmQyxPQUFPZCxlQUFlTCxlQUFlRSxXQUFXLE9BQU8sS0FBSyxJQUFJQSxRQUFRa0Isa0JBQWtCLElBQUksT0FBT25CLE1BQU1pQixpQkFBaUIsQ0FBQ0MsS0FBSyxHQUFHO1lBQ3JJRSxnQkFBZ0IsQ0FBQyxDQUFDbkIsUUFBUW9CLFlBQVksSUFBSXJCLE1BQU1VLFlBQVksQ0FBQ1ksS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUUsS0FBTSxFQUFDcEIsd0JBQXdCRCxRQUFRUyxZQUFZLEtBQUssT0FBTyxLQUFLLElBQUlSLHNCQUFzQm9CLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNMRCxjQUFjakIsZUFDZEgsUUFBUW9CLFlBQVksSUFBSXBCLFFBQVFvQixZQUFZLEtBQUssS0FBS0UsbUJBQW1CdEIsUUFBUW9CLFlBQVksQ0FBQ0csS0FBSyxDQUFDLE1BQU14QixNQUFNaUIsaUJBQWlCLENBQUNJLFlBQVksR0FBRztZQUNqSkksY0FBY3JCLGVBQWUsQ0FBQ08sOEJBQThCVixXQUFXLE9BQU8sS0FBSyxJQUFJQSxRQUFRa0Isa0JBQWtCLEtBQUssT0FBT1IsOEJBQThCWCxNQUFNaUIsaUJBQWlCLENBQUNRLFlBQVksR0FBRyxFQUFFO1FBQ3hNO1FBQ0EsZUFBZTtRQUNmQyxPQUFPekIsUUFBUXlCLEtBQUssR0FBR3pCLFFBQVF5QixLQUFLLEdBQUcxQixNQUFNMEIsS0FBSztRQUNsREMsZUFBZTFCLFFBQVEwQixhQUFhLEdBQUcxQixRQUFRMEIsYUFBYSxHQUFHM0IsTUFBTTJCLGFBQWE7UUFDbEYsOEJBQThCO1FBQzlCbEIsTUFBTVYsZUFBZUUsUUFBUUssV0FBVyxJQUFJTCxRQUFRSyxXQUFXLEdBQUdOLE1BQU1TLElBQUk7UUFDNUVKO0lBQ0o7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRb0MsT0FBTyxLQUFLLGNBQWUsT0FBT3BDLFFBQVFvQyxPQUFPLEtBQUssWUFBWXBDLFFBQVFvQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQyxRQUFRb0MsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9DLE9BQU8sRUFBRSxjQUFjO1FBQUVuQyxPQUFPO0lBQUs7SUFDbkVILE9BQU93QyxNQUFNLENBQUN0QyxRQUFRb0MsT0FBTyxFQUFFcEM7SUFDL0J1QyxPQUFPdkMsT0FBTyxHQUFHQSxRQUFRb0MsT0FBTztBQUNsQyxFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1tdXRhYmxlLmpzPzQyZjMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYW5kbGVNdXRhYmxlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoYW5kbGVNdXRhYmxlO1xuICAgIH1cbn0pO1xuY29uc3QgX2NvbXB1dGVjaGFuZ2VkcGF0aCA9IHJlcXVpcmUoXCIuL2NvbXB1dGUtY2hhbmdlZC1wYXRoXCIpO1xuZnVuY3Rpb24gaXNOb3RVbmRlZmluZWQodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlICE9PSBcInVuZGVmaW5lZFwiO1xufVxuZnVuY3Rpb24gaGFuZGxlTXV0YWJsZShzdGF0ZSwgbXV0YWJsZSkge1xuICAgIHZhciBfbXV0YWJsZV9jYW5vbmljYWxVcmw7XG4gICAgdmFyIF9tdXRhYmxlX3Nob3VsZFNjcm9sbDtcbiAgICAvLyBzaG91bGRTY3JvbGwgaXMgdHJ1ZSBieSBkZWZhdWx0LCBjYW4gb3ZlcnJpZGUgdG8gZmFsc2UuXG4gICAgY29uc3Qgc2hvdWxkU2Nyb2xsID0gKF9tdXRhYmxlX3Nob3VsZFNjcm9sbCA9IG11dGFibGUuc2hvdWxkU2Nyb2xsKSAhPSBudWxsID8gX211dGFibGVfc2hvdWxkU2Nyb2xsIDogdHJ1ZTtcbiAgICBsZXQgbmV4dFVybCA9IHN0YXRlLm5leHRVcmw7XG4gICAgaWYgKGlzTm90VW5kZWZpbmVkKG11dGFibGUucGF0Y2hlZFRyZWUpKSB7XG4gICAgICAgIC8vIElmIHdlIHJlY2VpdmVkIGEgcGF0Y2hlZCB0cmVlLCB3ZSBuZWVkIHRvIGNvbXB1dGUgdGhlIGNoYW5nZWQgcGF0aC5cbiAgICAgICAgY29uc3QgY2hhbmdlZFBhdGggPSAoMCwgX2NvbXB1dGVjaGFuZ2VkcGF0aC5jb21wdXRlQ2hhbmdlZFBhdGgpKHN0YXRlLnRyZWUsIG11dGFibGUucGF0Y2hlZFRyZWUpO1xuICAgICAgICBpZiAoY2hhbmdlZFBhdGgpIHtcbiAgICAgICAgICAgIC8vIElmIHRoZSB0cmVlIGNoYW5nZWQsIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBuZXh0VXJsXG4gICAgICAgICAgICBuZXh0VXJsID0gY2hhbmdlZFBhdGg7XG4gICAgICAgIH0gZWxzZSBpZiAoIW5leHRVcmwpIHtcbiAgICAgICAgICAgIC8vIGlmIHRoZSB0cmVlIGVuZHMgdXAgYmVpbmcgdGhlIHNhbWUgKGllLCBubyBjaGFuZ2VkIHBhdGgpLCBhbmQgd2UgZG9uJ3QgaGF2ZSBhIG5leHRVcmwsIHRoZW4gd2Ugc2hvdWxkIHVzZSB0aGUgY2Fub25pY2FsVXJsXG4gICAgICAgICAgICBuZXh0VXJsID0gc3RhdGUuY2Fub25pY2FsVXJsO1xuICAgICAgICB9XG4gICAgLy8gb3RoZXJ3aXNlIHRoaXMgd2lsbCBiZSBhIG5vLW9wIGFuZCBjb250aW51ZSB0byB1c2UgdGhlIGV4aXN0aW5nIG5leHRVcmxcbiAgICB9XG4gICAgdmFyIF9tdXRhYmxlX3Njcm9sbGFibGVTZWdtZW50cztcbiAgICByZXR1cm4ge1xuICAgICAgICBidWlsZElkOiBzdGF0ZS5idWlsZElkLFxuICAgICAgICAvLyBTZXQgaHJlZi5cbiAgICAgICAgY2Fub25pY2FsVXJsOiBpc05vdFVuZGVmaW5lZChtdXRhYmxlLmNhbm9uaWNhbFVybCkgPyBtdXRhYmxlLmNhbm9uaWNhbFVybCA9PT0gc3RhdGUuY2Fub25pY2FsVXJsID8gc3RhdGUuY2Fub25pY2FsVXJsIDogbXV0YWJsZS5jYW5vbmljYWxVcmwgOiBzdGF0ZS5jYW5vbmljYWxVcmwsXG4gICAgICAgIHB1c2hSZWY6IHtcbiAgICAgICAgICAgIHBlbmRpbmdQdXNoOiBpc05vdFVuZGVmaW5lZChtdXRhYmxlLnBlbmRpbmdQdXNoKSA/IG11dGFibGUucGVuZGluZ1B1c2ggOiBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoLFxuICAgICAgICAgICAgbXBhTmF2aWdhdGlvbjogaXNOb3RVbmRlZmluZWQobXV0YWJsZS5tcGFOYXZpZ2F0aW9uKSA/IG11dGFibGUubXBhTmF2aWdhdGlvbiA6IHN0YXRlLnB1c2hSZWYubXBhTmF2aWdhdGlvbixcbiAgICAgICAgICAgIHByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlOiBpc05vdFVuZGVmaW5lZChtdXRhYmxlLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlKSA/IG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgOiBzdGF0ZS5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlXG4gICAgICAgIH0sXG4gICAgICAgIC8vIEFsbCBuYXZpZ2F0aW9uIHJlcXVpcmVzIHNjcm9sbCBhbmQgZm9jdXMgbWFuYWdlbWVudCB0byB0cmlnZ2VyLlxuICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZjoge1xuICAgICAgICAgICAgYXBwbHk6IHNob3VsZFNjcm9sbCA/IGlzTm90VW5kZWZpbmVkKG11dGFibGUgPT0gbnVsbCA/IHZvaWQgMCA6IG11dGFibGUuc2Nyb2xsYWJsZVNlZ21lbnRzKSA/IHRydWUgOiBzdGF0ZS5mb2N1c0FuZFNjcm9sbFJlZi5hcHBseSA6IGZhbHNlLFxuICAgICAgICAgICAgb25seUhhc2hDaGFuZ2U6ICEhbXV0YWJsZS5oYXNoRnJhZ21lbnQgJiYgc3RhdGUuY2Fub25pY2FsVXJsLnNwbGl0KFwiI1wiLCAxKVswXSA9PT0gKChfbXV0YWJsZV9jYW5vbmljYWxVcmwgPSBtdXRhYmxlLmNhbm9uaWNhbFVybCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9tdXRhYmxlX2Nhbm9uaWNhbFVybC5zcGxpdChcIiNcIiwgMSlbMF0pLFxuICAgICAgICAgICAgaGFzaEZyYWdtZW50OiBzaG91bGRTY3JvbGwgPyAvLyAjdG9wIGlzIGhhbmRsZWQgaW4gbGF5b3V0LXJvdXRlci5cbiAgICAgICAgICAgIG11dGFibGUuaGFzaEZyYWdtZW50ICYmIG11dGFibGUuaGFzaEZyYWdtZW50ICE9PSBcIlwiID8gZGVjb2RlVVJJQ29tcG9uZW50KG11dGFibGUuaGFzaEZyYWdtZW50LnNsaWNlKDEpKSA6IHN0YXRlLmZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudCA6IG51bGwsXG4gICAgICAgICAgICBzZWdtZW50UGF0aHM6IHNob3VsZFNjcm9sbCA/IChfbXV0YWJsZV9zY3JvbGxhYmxlU2VnbWVudHMgPSBtdXRhYmxlID09IG51bGwgPyB2b2lkIDAgOiBtdXRhYmxlLnNjcm9sbGFibGVTZWdtZW50cykgIT0gbnVsbCA/IF9tdXRhYmxlX3Njcm9sbGFibGVTZWdtZW50cyA6IHN0YXRlLmZvY3VzQW5kU2Nyb2xsUmVmLnNlZ21lbnRQYXRocyA6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIC8vIEFwcGx5IGNhY2hlLlxuICAgICAgICBjYWNoZTogbXV0YWJsZS5jYWNoZSA/IG11dGFibGUuY2FjaGUgOiBzdGF0ZS5jYWNoZSxcbiAgICAgICAgcHJlZmV0Y2hDYWNoZTogbXV0YWJsZS5wcmVmZXRjaENhY2hlID8gbXV0YWJsZS5wcmVmZXRjaENhY2hlIDogc3RhdGUucHJlZmV0Y2hDYWNoZSxcbiAgICAgICAgLy8gQXBwbHkgcGF0Y2hlZCByb3V0ZXIgc3RhdGUuXG4gICAgICAgIHRyZWU6IGlzTm90VW5kZWZpbmVkKG11dGFibGUucGF0Y2hlZFRyZWUpID8gbXV0YWJsZS5wYXRjaGVkVHJlZSA6IHN0YXRlLnRyZWUsXG4gICAgICAgIG5leHRVcmxcbiAgICB9O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYW5kbGUtbXV0YWJsZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaGFuZGxlTXV0YWJsZSIsIl9jb21wdXRlY2hhbmdlZHBhdGgiLCJyZXF1aXJlIiwiaXNOb3RVbmRlZmluZWQiLCJzdGF0ZSIsIm11dGFibGUiLCJfbXV0YWJsZV9jYW5vbmljYWxVcmwiLCJfbXV0YWJsZV9zaG91bGRTY3JvbGwiLCJzaG91bGRTY3JvbGwiLCJuZXh0VXJsIiwicGF0Y2hlZFRyZWUiLCJjaGFuZ2VkUGF0aCIsImNvbXB1dGVDaGFuZ2VkUGF0aCIsInRyZWUiLCJjYW5vbmljYWxVcmwiLCJfbXV0YWJsZV9zY3JvbGxhYmxlU2VnbWVudHMiLCJidWlsZElkIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJhcHBseSIsInNjcm9sbGFibGVTZWdtZW50cyIsIm9ubHlIYXNoQ2hhbmdlIiwiaGFzaEZyYWdtZW50Iiwic3BsaXQiLCJkZWNvZGVVUklDb21wb25lbnQiLCJzbGljZSIsInNlZ21lbnRQYXRocyIsImNhY2hlIiwicHJlZmV0Y2hDYWNoZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js": /*!********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js ***! \********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSegmentMismatch\", ({\n enumerable: true,\n get: function() {\n return handleSegmentMismatch;\n }\n}));\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nfunction handleSegmentMismatch(state, action, treePatch) {\n if (true) {\n console.warn(\"Performing hard navigation because your application experienced an unrecoverable error. If this keeps occurring, please file a Next.js issue.\\n\\n\" + \"Reason: Segment mismatch\\n\" + (\"Last Action: \" + action.type + \"\\n\\n\") + (\"Current Tree: \" + JSON.stringify(state.tree) + \"\\n\\n\") + (\"Tree Patch Payload: \" + JSON.stringify(treePatch)));\n }\n return (0, _navigatereducer.handleExternalUrl)(state, {}, state.canonicalUrl, true);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=handle-segment-mismatch.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5REFBd0Q7SUFDcERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxtQkFBbUJDLG1CQUFPQSxDQUFDLGlJQUE2QjtBQUM5RCxTQUFTRixzQkFBc0JHLEtBQUssRUFBRUMsTUFBTSxFQUFFQyxTQUFTO0lBQ25ELElBQUlDLElBQXNDLEVBQUU7UUFDeENDLFFBQVFDLElBQUksQ0FBQyxzSkFBc0osK0JBQWdDLG1CQUFrQkosT0FBT0ssSUFBSSxHQUFHLE1BQUssSUFBTSxvQkFBbUJDLEtBQUtDLFNBQVMsQ0FBQ1IsTUFBTVMsSUFBSSxJQUFJLE1BQUssSUFBTSwwQkFBeUJGLEtBQUtDLFNBQVMsQ0FBQ04sVUFBUztJQUM5VjtJQUNBLE9BQU8sQ0FBQyxHQUFHSixpQkFBaUJZLGlCQUFpQixFQUFFVixPQUFPLENBQUMsR0FBR0EsTUFBTVcsWUFBWSxFQUFFO0FBQ2xGO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JzQixPQUFPdEIsT0FBTyxHQUFHQSxRQUFRbUIsT0FBTztBQUNsQyxFQUVBLG1EQUFtRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoLmpzP2FkMjAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYW5kbGVTZWdtZW50TWlzbWF0Y2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZVNlZ21lbnRNaXNtYXRjaDtcbiAgICB9XG59KTtcbmNvbnN0IF9uYXZpZ2F0ZXJlZHVjZXIgPSByZXF1aXJlKFwiLi9yZWR1Y2Vycy9uYXZpZ2F0ZS1yZWR1Y2VyXCIpO1xuZnVuY3Rpb24gaGFuZGxlU2VnbWVudE1pc21hdGNoKHN0YXRlLCBhY3Rpb24sIHRyZWVQYXRjaCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgIGNvbnNvbGUud2FybihcIlBlcmZvcm1pbmcgaGFyZCBuYXZpZ2F0aW9uIGJlY2F1c2UgeW91ciBhcHBsaWNhdGlvbiBleHBlcmllbmNlZCBhbiB1bnJlY292ZXJhYmxlIGVycm9yLiBJZiB0aGlzIGtlZXBzIG9jY3VycmluZywgcGxlYXNlIGZpbGUgYSBOZXh0LmpzIGlzc3VlLlxcblxcblwiICsgXCJSZWFzb246IFNlZ21lbnQgbWlzbWF0Y2hcXG5cIiArIChcIkxhc3QgQWN0aW9uOiBcIiArIGFjdGlvbi50eXBlICsgXCJcXG5cXG5cIikgKyAoXCJDdXJyZW50IFRyZWU6IFwiICsgSlNPTi5zdHJpbmdpZnkoc3RhdGUudHJlZSkgKyBcIlxcblxcblwiKSArIChcIlRyZWUgUGF0Y2ggUGF5bG9hZDogXCIgKyBKU09OLnN0cmluZ2lmeSh0cmVlUGF0Y2gpKSk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5oYW5kbGVFeHRlcm5hbFVybCkoc3RhdGUsIHt9LCBzdGF0ZS5jYW5vbmljYWxVcmwsIHRydWUpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oYW5kbGUtc2VnbWVudC1taXNtYXRjaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiX25hdmlnYXRlcmVkdWNlciIsInJlcXVpcmUiLCJzdGF0ZSIsImFjdGlvbiIsInRyZWVQYXRjaCIsInByb2Nlc3MiLCJjb25zb2xlIiwid2FybiIsInR5cGUiLCJKU09OIiwic3RyaW5naWZ5IiwidHJlZSIsImhhbmRsZUV4dGVybmFsVXJsIiwiY2Fub25pY2FsVXJsIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js": /*!**************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js ***! \**************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheBelowFlightSegmentPath\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheBelowFlightSegmentPath;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheBelowFlightSegmentPath(newCache, existingCache, flightSegmentPath) {\n const isLastEntry = flightSegmentPath.length <= 2;\n const [parallelRouteKey, segment] = flightSegmentPath;\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const existingChildSegmentMap = existingCache.parallelRoutes.get(parallelRouteKey);\n if (!existingChildSegmentMap) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n let childSegmentMap = newCache.parallelRoutes.get(parallelRouteKey);\n if (!childSegmentMap || childSegmentMap === existingChildSegmentMap) {\n childSegmentMap = new Map(existingChildSegmentMap);\n newCache.parallelRoutes.set(parallelRouteKey, childSegmentMap);\n }\n // In case of last entry don't copy further down.\n if (isLastEntry) {\n childSegmentMap.delete(cacheKey);\n return;\n }\n const existingChildCacheNode = existingChildSegmentMap.get(cacheKey);\n let childCacheNode = childSegmentMap.get(cacheKey);\n if (!childCacheNode || !existingChildCacheNode) {\n // Bailout because the existing cache does not have the path to the leaf node\n // Will trigger lazy fetch in layout-router because of missing segment\n return;\n }\n if (childCacheNode === existingChildCacheNode) {\n childCacheNode = {\n lazyData: childCacheNode.lazyData,\n rsc: childCacheNode.rsc,\n prefetchRsc: childCacheNode.prefetchRsc,\n parallelRoutes: new Map(childCacheNode.parallelRoutes)\n };\n childSegmentMap.set(cacheKey, childCacheNode);\n }\n invalidateCacheBelowFlightSegmentPath(childCacheNode, existingChildCacheNode, flightSegmentPath.slice(2));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-below-flight-segmentpath.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYmVsb3ctZmxpZ2h0LXNlZ21lbnRwYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5RUFBd0U7SUFDcEVJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRixzQ0FBc0NHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUI7SUFDckYsTUFBTUMsY0FBY0Qsa0JBQWtCRSxNQUFNLElBQUk7SUFDaEQsTUFBTSxDQUFDQyxrQkFBa0JDLFFBQVEsR0FBR0o7SUFDcEMsTUFBTUssV0FBVyxDQUFDLEdBQUdULHNCQUFzQlUsb0JBQW9CLEVBQUVGO0lBQ2pFLE1BQU1HLDBCQUEwQlIsY0FBY1MsY0FBYyxDQUFDZCxHQUFHLENBQUNTO0lBQ2pFLElBQUksQ0FBQ0kseUJBQXlCO1FBQzFCLDZFQUE2RTtRQUM3RSxzRUFBc0U7UUFDdEU7SUFDSjtJQUNBLElBQUlFLGtCQUFrQlgsU0FBU1UsY0FBYyxDQUFDZCxHQUFHLENBQUNTO0lBQ2xELElBQUksQ0FBQ00sbUJBQW1CQSxvQkFBb0JGLHlCQUF5QjtRQUNqRUUsa0JBQWtCLElBQUlDLElBQUlIO1FBQzFCVCxTQUFTVSxjQUFjLENBQUNHLEdBQUcsQ0FBQ1Isa0JBQWtCTTtJQUNsRDtJQUNBLGlEQUFpRDtJQUNqRCxJQUFJUixhQUFhO1FBQ2JRLGdCQUFnQkcsTUFBTSxDQUFDUDtRQUN2QjtJQUNKO0lBQ0EsTUFBTVEseUJBQXlCTix3QkFBd0JiLEdBQUcsQ0FBQ1c7SUFDM0QsSUFBSVMsaUJBQWlCTCxnQkFBZ0JmLEdBQUcsQ0FBQ1c7SUFDekMsSUFBSSxDQUFDUyxrQkFBa0IsQ0FBQ0Qsd0JBQXdCO1FBQzVDLDZFQUE2RTtRQUM3RSxzRUFBc0U7UUFDdEU7SUFDSjtJQUNBLElBQUlDLG1CQUFtQkQsd0JBQXdCO1FBQzNDQyxpQkFBaUI7WUFDYkMsVUFBVUQsZUFBZUMsUUFBUTtZQUNqQ0MsS0FBS0YsZUFBZUUsR0FBRztZQUN2QkMsYUFBYUgsZUFBZUcsV0FBVztZQUN2Q1QsZ0JBQWdCLElBQUlFLElBQUlJLGVBQWVOLGNBQWM7UUFDekQ7UUFDQUMsZ0JBQWdCRSxHQUFHLENBQUNOLFVBQVVTO0lBQ2xDO0lBQ0FuQixzQ0FBc0NtQixnQkFBZ0JELHdCQUF3QmIsa0JBQWtCa0IsS0FBSyxDQUFDO0FBQzFHO0FBRUEsSUFBSSxDQUFDLE9BQU8zQixRQUFRNEIsT0FBTyxLQUFLLGNBQWUsT0FBTzVCLFFBQVE0QixPQUFPLEtBQUssWUFBWTVCLFFBQVE0QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81QixRQUFRNEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9CLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRCLE9BQU8sRUFBRSxjQUFjO1FBQUUzQixPQUFPO0lBQUs7SUFDbkVILE9BQU9nQyxNQUFNLENBQUM5QixRQUFRNEIsT0FBTyxFQUFFNUI7SUFDL0IrQixPQUFPL0IsT0FBTyxHQUFHQSxRQUFRNEIsT0FBTztBQUNsQyxFQUVBLHFFQUFxRSIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYmVsb3ctZmxpZ2h0LXNlZ21lbnRwYXRoLmpzPzhmZTAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG5mdW5jdGlvbiBpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoKG5ld0NhY2hlLCBleGlzdGluZ0NhY2hlLCBmbGlnaHRTZWdtZW50UGF0aCkge1xuICAgIGNvbnN0IGlzTGFzdEVudHJ5ID0gZmxpZ2h0U2VnbWVudFBhdGgubGVuZ3RoIDw9IDI7XG4gICAgY29uc3QgW3BhcmFsbGVsUm91dGVLZXksIHNlZ21lbnRdID0gZmxpZ2h0U2VnbWVudFBhdGg7XG4gICAgY29uc3QgY2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50KTtcbiAgICBjb25zdCBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCA9IGV4aXN0aW5nQ2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpO1xuICAgIGlmICghZXhpc3RpbmdDaGlsZFNlZ21lbnRNYXApIHtcbiAgICAgICAgLy8gQmFpbG91dCBiZWNhdXNlIHRoZSBleGlzdGluZyBjYWNoZSBkb2VzIG5vdCBoYXZlIHRoZSBwYXRoIHRvIHRoZSBsZWFmIG5vZGVcbiAgICAgICAgLy8gV2lsbCB0cmlnZ2VyIGxhenkgZmV0Y2ggaW4gbGF5b3V0LXJvdXRlciBiZWNhdXNlIG9mIG1pc3Npbmcgc2VnbWVudFxuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGxldCBjaGlsZFNlZ21lbnRNYXAgPSBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgaWYgKCFjaGlsZFNlZ21lbnRNYXAgfHwgY2hpbGRTZWdtZW50TWFwID09PSBleGlzdGluZ0NoaWxkU2VnbWVudE1hcCkge1xuICAgICAgICBjaGlsZFNlZ21lbnRNYXAgPSBuZXcgTWFwKGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwKTtcbiAgICAgICAgbmV3Q2FjaGUucGFyYWxsZWxSb3V0ZXMuc2V0KHBhcmFsbGVsUm91dGVLZXksIGNoaWxkU2VnbWVudE1hcCk7XG4gICAgfVxuICAgIC8vIEluIGNhc2Ugb2YgbGFzdCBlbnRyeSBkb24ndCBjb3B5IGZ1cnRoZXIgZG93bi5cbiAgICBpZiAoaXNMYXN0RW50cnkpIHtcbiAgICAgICAgY2hpbGRTZWdtZW50TWFwLmRlbGV0ZShjYWNoZUtleSk7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZXhpc3RpbmdDaGlsZENhY2hlTm9kZSA9IGV4aXN0aW5nQ2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSk7XG4gICAgbGV0IGNoaWxkQ2FjaGVOb2RlID0gY2hpbGRTZWdtZW50TWFwLmdldChjYWNoZUtleSk7XG4gICAgaWYgKCFjaGlsZENhY2hlTm9kZSB8fCAhZXhpc3RpbmdDaGlsZENhY2hlTm9kZSkge1xuICAgICAgICAvLyBCYWlsb3V0IGJlY2F1c2UgdGhlIGV4aXN0aW5nIGNhY2hlIGRvZXMgbm90IGhhdmUgdGhlIHBhdGggdG8gdGhlIGxlYWYgbm9kZVxuICAgICAgICAvLyBXaWxsIHRyaWdnZXIgbGF6eSBmZXRjaCBpbiBsYXlvdXQtcm91dGVyIGJlY2F1c2Ugb2YgbWlzc2luZyBzZWdtZW50XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNoaWxkQ2FjaGVOb2RlID09PSBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlKSB7XG4gICAgICAgIGNoaWxkQ2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgbGF6eURhdGE6IGNoaWxkQ2FjaGVOb2RlLmxhenlEYXRhLFxuICAgICAgICAgICAgcnNjOiBjaGlsZENhY2hlTm9kZS5yc2MsXG4gICAgICAgICAgICBwcmVmZXRjaFJzYzogY2hpbGRDYWNoZU5vZGUucHJlZmV0Y2hSc2MsXG4gICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcChjaGlsZENhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcylcbiAgICAgICAgfTtcbiAgICAgICAgY2hpbGRTZWdtZW50TWFwLnNldChjYWNoZUtleSwgY2hpbGRDYWNoZU5vZGUpO1xuICAgIH1cbiAgICBpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoKGNoaWxkQ2FjaGVOb2RlLCBleGlzdGluZ0NoaWxkQ2FjaGVOb2RlLCBmbGlnaHRTZWdtZW50UGF0aC5zbGljZSgyKSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWludmFsaWRhdGUtY2FjaGUtYmVsb3ctZmxpZ2h0LXNlZ21lbnRwYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoIiwiX2NyZWF0ZXJvdXRlcmNhY2hla2V5IiwicmVxdWlyZSIsIm5ld0NhY2hlIiwiZXhpc3RpbmdDYWNoZSIsImZsaWdodFNlZ21lbnRQYXRoIiwiaXNMYXN0RW50cnkiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5Iiwic2VnbWVudCIsImNhY2hlS2V5IiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJleGlzdGluZ0NoaWxkU2VnbWVudE1hcCIsInBhcmFsbGVsUm91dGVzIiwiY2hpbGRTZWdtZW50TWFwIiwiTWFwIiwic2V0IiwiZGVsZXRlIiwiZXhpc3RpbmdDaGlsZENhY2hlTm9kZSIsImNoaWxkQ2FjaGVOb2RlIiwibGF6eURhdGEiLCJyc2MiLCJwcmVmZXRjaFJzYyIsInNsaWNlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"invalidateCacheByRouterState\", ({\n enumerable: true,\n get: function() {\n return invalidateCacheByRouterState;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction invalidateCacheByRouterState(newCache, existingCache, routerState) {\n // Remove segment that we got data for so that it is filled in during rendering of rsc.\n for(const key in routerState[1]){\n const segmentForParallelRoute = routerState[1][key][0];\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segmentForParallelRoute);\n const existingParallelRoutesCacheNode = existingCache.parallelRoutes.get(key);\n if (existingParallelRoutesCacheNode) {\n let parallelRouteCacheNode = new Map(existingParallelRoutesCacheNode);\n parallelRouteCacheNode.delete(cacheKey);\n newCache.parallelRoutes.set(key, parallelRouteCacheNode);\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=invalidate-cache-by-router-state.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYnktcm91dGVyLXN0YXRlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnRUFBK0Q7SUFDM0RJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx3QkFBd0JDLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTRiw2QkFBNkJHLFFBQVEsRUFBRUMsYUFBYSxFQUFFQyxXQUFXO0lBQ3RFLHVGQUF1RjtJQUN2RixJQUFJLE1BQU1DLE9BQU9ELFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTUUsMEJBQTBCRixXQUFXLENBQUMsRUFBRSxDQUFDQyxJQUFJLENBQUMsRUFBRTtRQUN0RCxNQUFNRSxXQUFXLENBQUMsR0FBR1Asc0JBQXNCUSxvQkFBb0IsRUFBRUY7UUFDakUsTUFBTUcsa0NBQWtDTixjQUFjTyxjQUFjLENBQUNaLEdBQUcsQ0FBQ087UUFDekUsSUFBSUksaUNBQWlDO1lBQ2pDLElBQUlFLHlCQUF5QixJQUFJQyxJQUFJSDtZQUNyQ0UsdUJBQXVCRSxNQUFNLENBQUNOO1lBQzlCTCxTQUFTUSxjQUFjLENBQUNJLEdBQUcsQ0FBQ1QsS0FBS007UUFDckM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9oQixRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0J1QixPQUFPdkIsT0FBTyxHQUFHQSxRQUFRb0IsT0FBTztBQUNsQyxFQUVBLDREQUE0RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2ludmFsaWRhdGUtY2FjaGUtYnktcm91dGVyLXN0YXRlLmpzPzA2NzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG5mdW5jdGlvbiBpbnZhbGlkYXRlQ2FjaGVCeVJvdXRlclN0YXRlKG5ld0NhY2hlLCBleGlzdGluZ0NhY2hlLCByb3V0ZXJTdGF0ZSkge1xuICAgIC8vIFJlbW92ZSBzZWdtZW50IHRoYXQgd2UgZ290IGRhdGEgZm9yIHNvIHRoYXQgaXQgaXMgZmlsbGVkIGluIGR1cmluZyByZW5kZXJpbmcgb2YgcnNjLlxuICAgIGZvcihjb25zdCBrZXkgaW4gcm91dGVyU3RhdGVbMV0pe1xuICAgICAgICBjb25zdCBzZWdtZW50Rm9yUGFyYWxsZWxSb3V0ZSA9IHJvdXRlclN0YXRlWzFdW2tleV1bMF07XG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoc2VnbWVudEZvclBhcmFsbGVsUm91dGUpO1xuICAgICAgICBjb25zdCBleGlzdGluZ1BhcmFsbGVsUm91dGVzQ2FjaGVOb2RlID0gZXhpc3RpbmdDYWNoZS5wYXJhbGxlbFJvdXRlcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKGV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbGxlbFJvdXRlQ2FjaGVOb2RlID0gbmV3IE1hcChleGlzdGluZ1BhcmFsbGVsUm91dGVzQ2FjaGVOb2RlKTtcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUuZGVsZXRlKGNhY2hlS2V5KTtcbiAgICAgICAgICAgIG5ld0NhY2hlLnBhcmFsbGVsUm91dGVzLnNldChrZXksIHBhcmFsbGVsUm91dGVDYWNoZU5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnZhbGlkYXRlLWNhY2hlLWJ5LXJvdXRlci1zdGF0ZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaW52YWxpZGF0ZUNhY2hlQnlSb3V0ZXJTdGF0ZSIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsInJlcXVpcmUiLCJuZXdDYWNoZSIsImV4aXN0aW5nQ2FjaGUiLCJyb3V0ZXJTdGF0ZSIsImtleSIsInNlZ21lbnRGb3JQYXJhbGxlbFJvdXRlIiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImV4aXN0aW5nUGFyYWxsZWxSb3V0ZXNDYWNoZU5vZGUiLCJwYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGVDYWNoZU5vZGUiLCJNYXAiLCJkZWxldGUiLCJzZXQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-by-router-state.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js ***! \*****************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNavigatingToNewRootLayout\", ({\n enumerable: true,\n get: function() {\n return isNavigatingToNewRootLayout;\n }\n}));\nfunction isNavigatingToNewRootLayout(currentTree, nextTree) {\n // Compare segments\n const currentTreeSegment = currentTree[0];\n const nextTreeSegment = nextTree[0];\n // If any segment is different before we find the root layout, the root layout has changed.\n // E.g. /same/(group1)/layout.js -> /same/(group2)/layout.js\n // First segment is 'same' for both, keep looking. (group1) changed to (group2) before the root layout was found, it must have changed.\n if (Array.isArray(currentTreeSegment) && Array.isArray(nextTreeSegment)) {\n // Compare dynamic param name and type but ignore the value, different values would not affect the current root layout\n // /[name] - /slug1 and /slug2, both values (slug1 & slug2) still has the same layout /[name]/layout.js\n if (currentTreeSegment[0] !== nextTreeSegment[0] || currentTreeSegment[2] !== nextTreeSegment[2]) {\n return true;\n }\n } else if (currentTreeSegment !== nextTreeSegment) {\n return true;\n }\n // Current tree root layout found\n if (currentTree[4]) {\n // If the next tree doesn't have the root layout flag, it must have changed.\n return !nextTree[4];\n }\n // Current tree didn't have its root layout here, must have changed.\n if (nextTree[4]) {\n return true;\n }\n // We can't assume it's `parallelRoutes.children` here in case the root layout is `app/@something/layout.js`\n // But it's not possible to be more than one parallelRoutes before the root layout is found\n // TODO-APP: change to traverse all parallel routes\n const currentTreeChild = Object.values(currentTree[1])[0];\n const nextTreeChild = Object.values(nextTree[1])[0];\n if (!currentTreeChild || !nextTreeChild) return true;\n return isNavigatingToNewRootLayout(currentTreeChild, nextTreeChild);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-navigating-to-new-root-layout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrREFBOEQ7SUFDMURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSw0QkFBNEJDLFdBQVcsRUFBRUMsUUFBUTtJQUN0RCxtQkFBbUI7SUFDbkIsTUFBTUMscUJBQXFCRixXQUFXLENBQUMsRUFBRTtJQUN6QyxNQUFNRyxrQkFBa0JGLFFBQVEsQ0FBQyxFQUFFO0lBQ25DLDJGQUEyRjtJQUMzRiw0REFBNEQ7SUFDNUQsdUlBQXVJO0lBQ3ZJLElBQUlHLE1BQU1DLE9BQU8sQ0FBQ0gsdUJBQXVCRSxNQUFNQyxPQUFPLENBQUNGLGtCQUFrQjtRQUNyRSxzSEFBc0g7UUFDdEgsdUdBQXVHO1FBQ3ZHLElBQUlELGtCQUFrQixDQUFDLEVBQUUsS0FBS0MsZUFBZSxDQUFDLEVBQUUsSUFBSUQsa0JBQWtCLENBQUMsRUFBRSxLQUFLQyxlQUFlLENBQUMsRUFBRSxFQUFFO1lBQzlGLE9BQU87UUFDWDtJQUNKLE9BQU8sSUFBSUQsdUJBQXVCQyxpQkFBaUI7UUFDL0MsT0FBTztJQUNYO0lBQ0EsaUNBQWlDO0lBQ2pDLElBQUlILFdBQVcsQ0FBQyxFQUFFLEVBQUU7UUFDaEIsNEVBQTRFO1FBQzVFLE9BQU8sQ0FBQ0MsUUFBUSxDQUFDLEVBQUU7SUFDdkI7SUFDQSxxRUFBcUU7SUFDckUsSUFBSUEsUUFBUSxDQUFDLEVBQUUsRUFBRTtRQUNiLE9BQU87SUFDWDtJQUNBLDRHQUE0RztJQUM1RywyRkFBMkY7SUFDM0YsbURBQW1EO0lBQ25ELE1BQU1LLG1CQUFtQmIsT0FBT2MsTUFBTSxDQUFDUCxXQUFXLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRTtJQUN6RCxNQUFNUSxnQkFBZ0JmLE9BQU9jLE1BQU0sQ0FBQ04sUUFBUSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU7SUFDbkQsSUFBSSxDQUFDSyxvQkFBb0IsQ0FBQ0UsZUFBZSxPQUFPO0lBQ2hELE9BQU9ULDRCQUE0Qk8sa0JBQWtCRTtBQUN6RDtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CaUIsT0FBT2pCLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLDREQUE0RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0LmpzP2NjNTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dChjdXJyZW50VHJlZSwgbmV4dFRyZWUpIHtcbiAgICAvLyBDb21wYXJlIHNlZ21lbnRzXG4gICAgY29uc3QgY3VycmVudFRyZWVTZWdtZW50ID0gY3VycmVudFRyZWVbMF07XG4gICAgY29uc3QgbmV4dFRyZWVTZWdtZW50ID0gbmV4dFRyZWVbMF07XG4gICAgLy8gSWYgYW55IHNlZ21lbnQgaXMgZGlmZmVyZW50IGJlZm9yZSB3ZSBmaW5kIHRoZSByb290IGxheW91dCwgdGhlIHJvb3QgbGF5b3V0IGhhcyBjaGFuZ2VkLlxuICAgIC8vIEUuZy4gL3NhbWUvKGdyb3VwMSkvbGF5b3V0LmpzIC0+IC9zYW1lLyhncm91cDIpL2xheW91dC5qc1xuICAgIC8vIEZpcnN0IHNlZ21lbnQgaXMgJ3NhbWUnIGZvciBib3RoLCBrZWVwIGxvb2tpbmcuIChncm91cDEpIGNoYW5nZWQgdG8gKGdyb3VwMikgYmVmb3JlIHRoZSByb290IGxheW91dCB3YXMgZm91bmQsIGl0IG11c3QgaGF2ZSBjaGFuZ2VkLlxuICAgIGlmIChBcnJheS5pc0FycmF5KGN1cnJlbnRUcmVlU2VnbWVudCkgJiYgQXJyYXkuaXNBcnJheShuZXh0VHJlZVNlZ21lbnQpKSB7XG4gICAgICAgIC8vIENvbXBhcmUgZHluYW1pYyBwYXJhbSBuYW1lIGFuZCB0eXBlIGJ1dCBpZ25vcmUgdGhlIHZhbHVlLCBkaWZmZXJlbnQgdmFsdWVzIHdvdWxkIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcm9vdCBsYXlvdXRcbiAgICAgICAgLy8gL1tuYW1lXSAtIC9zbHVnMSBhbmQgL3NsdWcyLCBib3RoIHZhbHVlcyAoc2x1ZzEgJiBzbHVnMikgc3RpbGwgaGFzIHRoZSBzYW1lIGxheW91dCAvW25hbWVdL2xheW91dC5qc1xuICAgICAgICBpZiAoY3VycmVudFRyZWVTZWdtZW50WzBdICE9PSBuZXh0VHJlZVNlZ21lbnRbMF0gfHwgY3VycmVudFRyZWVTZWdtZW50WzJdICE9PSBuZXh0VHJlZVNlZ21lbnRbMl0pIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfSBlbHNlIGlmIChjdXJyZW50VHJlZVNlZ21lbnQgIT09IG5leHRUcmVlU2VnbWVudCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgLy8gQ3VycmVudCB0cmVlIHJvb3QgbGF5b3V0IGZvdW5kXG4gICAgaWYgKGN1cnJlbnRUcmVlWzRdKSB7XG4gICAgICAgIC8vIElmIHRoZSBuZXh0IHRyZWUgZG9lc24ndCBoYXZlIHRoZSByb290IGxheW91dCBmbGFnLCBpdCBtdXN0IGhhdmUgY2hhbmdlZC5cbiAgICAgICAgcmV0dXJuICFuZXh0VHJlZVs0XTtcbiAgICB9XG4gICAgLy8gQ3VycmVudCB0cmVlICBkaWRuJ3QgaGF2ZSBpdHMgcm9vdCBsYXlvdXQgaGVyZSwgbXVzdCBoYXZlIGNoYW5nZWQuXG4gICAgaWYgKG5leHRUcmVlWzRdKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBXZSBjYW4ndCBhc3N1bWUgaXQncyBgcGFyYWxsZWxSb3V0ZXMuY2hpbGRyZW5gIGhlcmUgaW4gY2FzZSB0aGUgcm9vdCBsYXlvdXQgaXMgYGFwcC9Ac29tZXRoaW5nL2xheW91dC5qc2BcbiAgICAvLyBCdXQgaXQncyBub3QgcG9zc2libGUgdG8gYmUgbW9yZSB0aGFuIG9uZSBwYXJhbGxlbFJvdXRlcyBiZWZvcmUgdGhlIHJvb3QgbGF5b3V0IGlzIGZvdW5kXG4gICAgLy8gVE9ETy1BUFA6IGNoYW5nZSB0byB0cmF2ZXJzZSBhbGwgcGFyYWxsZWwgcm91dGVzXG4gICAgY29uc3QgY3VycmVudFRyZWVDaGlsZCA9IE9iamVjdC52YWx1ZXMoY3VycmVudFRyZWVbMV0pWzBdO1xuICAgIGNvbnN0IG5leHRUcmVlQ2hpbGQgPSBPYmplY3QudmFsdWVzKG5leHRUcmVlWzFdKVswXTtcbiAgICBpZiAoIWN1cnJlbnRUcmVlQ2hpbGQgfHwgIW5leHRUcmVlQ2hpbGQpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQoY3VycmVudFRyZWVDaGlsZCwgbmV4dFRyZWVDaGlsZCk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjdXJyZW50VHJlZSIsIm5leHRUcmVlIiwiY3VycmVudFRyZWVTZWdtZW50IiwibmV4dFRyZWVTZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiY3VycmVudFRyZWVDaGlsZCIsInZhbHVlcyIsIm5leHRUcmVlQ2hpbGQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js": /*!************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js ***! \************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n updateCacheNodeOnNavigation: function() {\n return updateCacheNodeOnNavigation;\n },\n listenForDynamicRequest: function() {\n return listenForDynamicRequest;\n },\n abortTask: function() {\n return abortTask;\n },\n updateCacheNodeOnPopstateRestoration: function() {\n return updateCacheNodeOnPopstateRestoration;\n }\n});\nconst _segment = __webpack_require__(/*! ../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction updateCacheNodeOnNavigation(oldCacheNode, oldRouterState, newRouterState, prefetchData, prefetchHead, isPrefetchStale) {\n // Diff the old and new trees to reuse the shared layouts.\n const oldRouterStateChildren = oldRouterState[1];\n const newRouterStateChildren = newRouterState[1];\n const prefetchDataChildren = prefetchData[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n // Clone the current set of segment children, even if they aren't active in\n // the new tree.\n // TODO: We currently retain all the inactive segments indefinitely, until\n // there's an explicit refresh, or a parent layout is lazily refreshed. We\n // rely on this for popstate navigations, which update the Router State Tree\n // but do not eagerly perform a data fetch, because they expect the segment\n // data to already be in the Cache Node tree. For highly static sites that\n // are mostly read-only, this may happen only rarely, causing memory to\n // leak. We should figure out a better model for the lifetime of inactive\n // segments, so we can maintain instant back/forward navigations without\n // leaking memory indefinitely.\n const prefetchParallelRoutes = new Map(oldParallelRoutes);\n // As we diff the trees, we may sometimes modify (copy-on-write, not mutate)\n // the Route Tree that was returned by the server — for example, in the case\n // of default parallel routes, we preserve the currently active segment. To\n // avoid mutating the original tree, we clone the router state children along\n // the return path.\n let patchedRouterStateChildren = {};\n let taskChildren = null;\n for(let parallelRouteKey in newRouterStateChildren){\n const newRouterStateChild = newRouterStateChildren[parallelRouteKey];\n const oldRouterStateChild = oldRouterStateChildren[parallelRouteKey];\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n const prefetchDataChild = prefetchDataChildren[parallelRouteKey];\n const newSegmentChild = newRouterStateChild[0];\n const newSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(newSegmentChild);\n const oldSegmentChild = oldRouterStateChild !== undefined ? oldRouterStateChild[0] : undefined;\n const oldCacheNodeChild = oldSegmentMapChild !== undefined ? oldSegmentMapChild.get(newSegmentKeyChild) : undefined;\n let taskChild;\n if (newSegmentChild === _segment.PAGE_SEGMENT_KEY) {\n // This is a leaf segment — a page, not a shared layout. We always apply\n // its data.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n } else if (newSegmentChild === _segment.DEFAULT_SEGMENT_KEY) {\n // This is another kind of leaf segment — a default route.\n //\n // Default routes have special behavior. When there's no matching segment\n // for a parallel route, Next.js preserves the currently active segment\n // during a client navigation — but not for initial render. The server\n // leaves it to the client to account for this. So we need to handle\n // it here.\n if (oldRouterStateChild !== undefined) {\n // Reuse the existing Router State for this segment. We spawn a \"task\"\n // just to keep track of the updated router state; unlike most, it's\n // already fulfilled and won't be affected by the dynamic response.\n taskChild = spawnReusedTask(oldRouterStateChild);\n } else {\n // There's no currently active segment. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n }\n } else if (oldSegmentChild !== undefined && (0, _matchsegments.matchSegment)(newSegmentChild, oldSegmentChild)) {\n if (oldCacheNodeChild !== undefined && oldRouterStateChild !== undefined) {\n // This segment exists in both the old and new trees.\n if (prefetchDataChild !== undefined && prefetchDataChild !== null) {\n // Recursively update the children.\n taskChild = updateCacheNodeOnNavigation(oldCacheNodeChild, oldRouterStateChild, newRouterStateChild, prefetchDataChild, prefetchHead, isPrefetchStale);\n } else {\n // The server didn't send any prefetch data for this segment. This\n // shouldn't happen because the Route Tree and the Seed Data tree\n // should always be the same shape, but until we unify those types\n // it's still possible. For now we're going to deopt and trigger a\n // lazy fetch during render.\n taskChild = spawnTaskForMissingData(newRouterStateChild);\n }\n } else {\n // Either there's no existing Cache Node for this segment, or this\n // segment doesn't exist in the old Router State tree. Switch to the\n // \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n }\n } else {\n // This is a new tree. Switch to the \"create\" path.\n taskChild = spawnPendingTask(newRouterStateChild, prefetchDataChild !== undefined ? prefetchDataChild : null, prefetchHead, isPrefetchStale);\n }\n if (taskChild !== null) {\n // Something changed in the child tree. Keep track of the child task.\n if (taskChildren === null) {\n taskChildren = new Map();\n }\n taskChildren.set(parallelRouteKey, taskChild);\n const newCacheNodeChild = taskChild.node;\n if (newCacheNodeChild !== null) {\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(newSegmentKeyChild, newCacheNodeChild);\n prefetchParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The child tree's route state may be different from the prefetched\n // route sent by the server. We need to clone it as we traverse back up\n // the tree.\n patchedRouterStateChildren[parallelRouteKey] = taskChild.route;\n } else {\n // The child didn't change. We can use the prefetched router state.\n patchedRouterStateChildren[parallelRouteKey] = newRouterStateChild;\n }\n }\n if (taskChildren === null) {\n // No new tasks were spawned.\n return null;\n }\n const newCacheNode = {\n lazyData: null,\n rsc: oldCacheNode.rsc,\n // We intentionally aren't updating the prefetchRsc field, since this node\n // is already part of the current tree, because it would be weird for\n // prefetch data to be newer than the final data. It probably won't ever be\n // observable anyway, but it could happen if the segment is unmounted then\n // mounted again, because LayoutRouter will momentarily switch to rendering\n // prefetchRsc, via useDeferredValue.\n prefetchRsc: oldCacheNode.prefetchRsc,\n head: oldCacheNode.head,\n prefetchHead: oldCacheNode.prefetchHead,\n // Everything is cloned except for the children, which we computed above.\n parallelRoutes: prefetchParallelRoutes\n };\n return {\n // Return a cloned copy of the router state with updated children.\n route: patchRouterStateWithNewChildren(newRouterState, patchedRouterStateChildren),\n node: newCacheNode,\n children: taskChildren\n };\n}\nfunction patchRouterStateWithNewChildren(baseRouterState, newChildren) {\n const clone = [\n baseRouterState[0],\n newChildren\n ];\n // Based on equivalent logic in apply-router-state-patch-to-tree, but should\n // confirm whether we need to copy all of these fields. Not sure the server\n // ever sends, e.g. the refetch marker.\n if (2 in baseRouterState) {\n clone[2] = baseRouterState[2];\n }\n if (3 in baseRouterState) {\n clone[3] = baseRouterState[3];\n }\n if (4 in baseRouterState) {\n clone[4] = baseRouterState[4];\n }\n return clone;\n}\nfunction spawnPendingTask(routerState, prefetchData, prefetchHead, isPrefetchStale) {\n // Create a task that will later be fulfilled by data from the server.\n const pendingCacheNode = createPendingCacheNode(routerState, prefetchData, prefetchHead, isPrefetchStale);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction spawnReusedTask(reusedRouterState) {\n // Create a task that reuses an existing segment, e.g. when reusing\n // the current active segment in place of a default route.\n return {\n route: reusedRouterState,\n node: null,\n children: null\n };\n}\nfunction spawnTaskForMissingData(routerState) {\n // Create a task for a new subtree that wasn't prefetched by the server.\n // This shouldn't really ever happen but it's here just in case the Seed Data\n // Tree and the Router State Tree disagree unexpectedly.\n const pendingCacheNode = createPendingCacheNode(routerState, null, null, false);\n return {\n route: routerState,\n node: pendingCacheNode,\n children: null\n };\n}\nfunction listenForDynamicRequest(task, responsePromise) {\n responsePromise.then((response)=>{\n const flightData = response[0];\n for (const flightDataPath of flightData){\n const segmentPath = flightDataPath.slice(0, -3);\n const serverRouterState = flightDataPath[flightDataPath.length - 3];\n const dynamicData = flightDataPath[flightDataPath.length - 2];\n const dynamicHead = flightDataPath[flightDataPath.length - 1];\n if (typeof segmentPath === \"string\") {\n continue;\n }\n writeDynamicDataIntoPendingTask(task, segmentPath, serverRouterState, dynamicData, dynamicHead);\n }\n // Now that we've exhausted all the data we received from the server, if\n // there are any remaining pending tasks in the tree, abort them now.\n // If there's any missing data, it will trigger a lazy fetch.\n abortTask(task, null);\n }, (error)=>{\n // This will trigger an error during render\n abortTask(task, error);\n });\n}\nfunction writeDynamicDataIntoPendingTask(rootTask, segmentPath, serverRouterState, dynamicData, dynamicHead) {\n // The data sent by the server represents only a subtree of the app. We need\n // to find the part of the task tree that matches the server response, and\n // fulfill it using the dynamic data.\n //\n // segmentPath represents the parent path of subtree. It's a repeating pattern\n // of parallel route key and segment:\n //\n // [string, Segment, string, Segment, string, Segment, ...]\n //\n // Iterate through the path and finish any tasks that match this payload.\n let task = rootTask;\n for(let i = 0; i < segmentPath.length; i += 2){\n const parallelRouteKey = segmentPath[i];\n const segment = segmentPath[i + 1];\n const taskChildren = task.children;\n if (taskChildren !== null) {\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(segment, taskSegment)) {\n // Found a match for this task. Keep traversing down the task tree.\n task = taskChild;\n continue;\n }\n }\n }\n // We didn't find a child task that matches the server data. Exit. We won't\n // abort the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n return;\n }\n finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead);\n}\nfunction finishTaskUsingDynamicDataPayload(task, serverRouterState, dynamicData, dynamicHead) {\n // dynamicData may represent a larger subtree than the task. Before we can\n // finish the task, we need to line them up.\n const taskChildren = task.children;\n const taskNode = task.node;\n if (taskChildren === null) {\n // We've reached the leaf node of the pending task. The server data tree\n // lines up the pending Cache Node tree. We can now switch to the\n // normal algorithm.\n if (taskNode !== null) {\n finishPendingCacheNode(taskNode, task.route, serverRouterState, dynamicData, dynamicHead);\n // Null this out to indicate that the task is complete.\n task.node = null;\n }\n return;\n }\n // The server returned more data than we need to finish the task. Skip over\n // the extra segments until we reach the leaf task node.\n const serverChildren = serverRouterState[1];\n const dynamicDataChildren = dynamicData[1];\n for(const parallelRouteKey in serverRouterState){\n const serverRouterStateChild = serverChildren[parallelRouteKey];\n const dynamicDataChild = dynamicDataChildren[parallelRouteKey];\n const taskChild = taskChildren.get(parallelRouteKey);\n if (taskChild !== undefined) {\n const taskSegment = taskChild.route[0];\n if ((0, _matchsegments.matchSegment)(serverRouterStateChild[0], taskSegment) && dynamicDataChild !== null && dynamicDataChild !== undefined) {\n // Found a match for this task. Keep traversing down the task tree.\n return finishTaskUsingDynamicDataPayload(taskChild, serverRouterStateChild, dynamicDataChild, dynamicHead);\n }\n }\n // We didn't find a child task that matches the server data. We won't abort\n // the task, though, because a different FlightDataPath may be able to\n // fulfill it (see loop in listenForDynamicRequest). We only abort tasks\n // once we've run out of data.\n }\n}\nfunction createPendingCacheNode(routerState, prefetchData, prefetchHead, isPrefetchStale) {\n const routerStateChildren = routerState[1];\n const prefetchDataChildren = prefetchData !== null ? prefetchData[1] : null;\n const parallelRoutes = new Map();\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const prefetchDataChild = prefetchDataChildren !== null ? prefetchDataChildren[parallelRouteKey] : null;\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const newCacheNodeChild = createPendingCacheNode(routerStateChild, prefetchDataChild === undefined ? null : prefetchDataChild, prefetchHead, isPrefetchStale);\n const newSegmentMapChild = new Map();\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n parallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n // The head is assigned to every leaf segment delivered by the server. Based\n // on corresponding logic in fill-lazy-items-till-leaf-with-head.ts\n const isLeafSegment = parallelRoutes.size === 0;\n const maybePrefetchRsc = prefetchData !== null ? prefetchData[2] : null;\n return {\n lazyData: null,\n parallelRoutes: parallelRoutes,\n prefetchRsc: // dynamic data to stream in.\n // TODO: This check is aruably too deep in the stack. Might be better to\n // pass an empty prefetchData Cache Seed object instead.\n !isPrefetchStale && maybePrefetchRsc !== undefined ? maybePrefetchRsc : null,\n prefetchHead: !isPrefetchStale && isLeafSegment ? prefetchHead : null,\n // Create a deferred promise. This will be fulfilled once the dynamic\n // response is received from the server.\n rsc: createDeferredRsc(),\n head: isLeafSegment ? createDeferredRsc() : null\n };\n}\nfunction finishPendingCacheNode(cacheNode, taskState, serverState, dynamicData, dynamicHead) {\n // Writes a dynamic response into an existing Cache Node tree. This does _not_\n // create a new tree, it updates the existing tree in-place. So it must follow\n // the Suspense rules of cache safety — it can resolve pending promises, but\n // it cannot overwrite existing data. It can add segments to the tree (because\n // a missing segment will cause the layout router to suspend).\n // but it cannot delete them.\n //\n // We must resolve every promise in the tree, or else it will suspend\n // indefinitely. If we did not receive data for a segment, we will resolve its\n // data promise to `null` to trigger a lazy fetch during render.\n const taskStateChildren = taskState[1];\n const serverStateChildren = serverState[1];\n const dataChildren = dynamicData[1];\n // The router state that we traverse the tree with (taskState) is the same one\n // that we used to construct the pending Cache Node tree. That way we're sure\n // to resolve all the pending promises.\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in taskStateChildren){\n const taskStateChild = taskStateChildren[parallelRouteKey];\n const serverStateChild = serverStateChildren[parallelRouteKey];\n const dataChild = dataChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n const taskSegmentChild = taskStateChild[0];\n const taskSegmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(taskSegmentChild);\n const cacheNodeChild = segmentMapChild !== undefined ? segmentMapChild.get(taskSegmentKeyChild) : undefined;\n if (cacheNodeChild !== undefined) {\n if (serverStateChild !== undefined && (0, _matchsegments.matchSegment)(taskSegmentChild, serverStateChild[0])) {\n if (dataChild !== undefined && dataChild !== null) {\n // This is the happy path. Recursively update all the children.\n finishPendingCacheNode(cacheNodeChild, taskStateChild, serverStateChild, dataChild, dynamicHead);\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render. This shouldn't happen because the Route Tree\n // and the Seed Data tree sent by the server should always be the same\n // shape when part of the same server response.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server never returned data for this segment. Trigger a lazy\n // fetch during render.\n abortPendingCacheNode(taskStateChild, cacheNodeChild, null);\n }\n } else {\n // The server response matches what was expected to receive, but there's\n // no matching Cache Node in the task tree. This is a bug in the\n // implementation because we should have created a node for every\n // segment in the tree that's associated with this task.\n }\n }\n // Use the dynamic data from the server to fulfill the deferred RSC promise\n // on the Cache Node.\n const rsc = cacheNode.rsc;\n const dynamicSegmentData = dynamicData[2];\n if (rsc === null) {\n // This is a lazy cache node. We can overwrite it. This is only safe\n // because we know that the LayoutRouter suspends if `rsc` is `null`.\n cacheNode.rsc = dynamicSegmentData;\n } else if (isDeferredRsc(rsc)) {\n // This is a deferred RSC promise. We can fulfill it with the data we just\n // received from the server. If it was already resolved by a different\n // navigation, then this does nothing because we can't overwrite data.\n rsc.resolve(dynamicSegmentData);\n } else {\n // This is not a deferred RSC promise, nor is it empty, so it must have\n // been populated by a different navigation. We must not overwrite it.\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved with the dynamic head from\n // the server.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(dynamicHead);\n }\n}\nfunction abortTask(task, error) {\n const cacheNode = task.node;\n if (cacheNode === null) {\n // This indicates the task is already complete.\n return;\n }\n const taskChildren = task.children;\n if (taskChildren === null) {\n // Reached the leaf task node. This is the root of a pending cache\n // node tree.\n abortPendingCacheNode(task.route, cacheNode, error);\n } else {\n // This is an intermediate task node. Keep traversing until we reach a\n // task node with no children. That will be the root of the cache node tree\n // that needs to be resolved.\n for (const taskChild of taskChildren.values()){\n abortTask(taskChild, error);\n }\n }\n // Null this out to indicate that the task is complete.\n task.node = null;\n}\nfunction abortPendingCacheNode(routerState, cacheNode, error) {\n // For every pending segment in the tree, resolve its `rsc` promise to `null`\n // to trigger a lazy fetch during render.\n //\n // Or, if an error object is provided, it will error instead.\n const routerStateChildren = routerState[1];\n const parallelRoutes = cacheNode.parallelRoutes;\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentMapChild = parallelRoutes.get(parallelRouteKey);\n if (segmentMapChild === undefined) {\n continue;\n }\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const cacheNodeChild = segmentMapChild.get(segmentKeyChild);\n if (cacheNodeChild !== undefined) {\n abortPendingCacheNode(routerStateChild, cacheNodeChild, error);\n } else {\n // This shouldn't happen because we're traversing the same tree that was\n // used to construct the cache nodes in the first place.\n }\n }\n const rsc = cacheNode.rsc;\n if (isDeferredRsc(rsc)) {\n if (error === null) {\n // This will trigger a lazy fetch during render.\n rsc.resolve(null);\n } else {\n // This will trigger an error during rendering.\n rsc.reject(error);\n }\n }\n // Check if this is a leaf segment. If so, it will have a `head` property with\n // a pending promise that needs to be resolved. If an error was provided, we\n // will not resolve it with an error, since this is rendered at the root of\n // the app. We want the segment to error, not the entire app.\n const head = cacheNode.head;\n if (isDeferredRsc(head)) {\n head.resolve(null);\n }\n}\nfunction updateCacheNodeOnPopstateRestoration(oldCacheNode, routerState) {\n // A popstate navigation reads data from the local cache. It does not issue\n // new network requests (unless the cache entries have been evicted). So, we\n // update the cache to drop the prefetch data for any segment whose dynamic\n // data was already received. This prevents an unnecessary flash back to PPR\n // state during a back/forward navigation.\n //\n // This function clones the entire cache node tree and sets the `prefetchRsc`\n // field to `null` to prevent it from being rendered. We can't mutate the node\n // in place because this is a concurrent data structure.\n const routerStateChildren = routerState[1];\n const oldParallelRoutes = oldCacheNode.parallelRoutes;\n const newParallelRoutes = new Map(oldParallelRoutes);\n for(let parallelRouteKey in routerStateChildren){\n const routerStateChild = routerStateChildren[parallelRouteKey];\n const segmentChild = routerStateChild[0];\n const segmentKeyChild = (0, _createroutercachekey.createRouterCacheKey)(segmentChild);\n const oldSegmentMapChild = oldParallelRoutes.get(parallelRouteKey);\n if (oldSegmentMapChild !== undefined) {\n const oldCacheNodeChild = oldSegmentMapChild.get(segmentKeyChild);\n if (oldCacheNodeChild !== undefined) {\n const newCacheNodeChild = updateCacheNodeOnPopstateRestoration(oldCacheNodeChild, routerStateChild);\n const newSegmentMapChild = new Map(oldSegmentMapChild);\n newSegmentMapChild.set(segmentKeyChild, newCacheNodeChild);\n newParallelRoutes.set(parallelRouteKey, newSegmentMapChild);\n }\n }\n }\n // Only show prefetched data if the dynamic data is still pending.\n //\n // Tehnically, what we're actually checking is whether the dynamic network\n // response was received. But since it's a streaming response, this does not\n // mean that all the dynamic data has fully streamed in. It just means that\n // _some_ of the dynamic data was received. But as a heuristic, we assume that\n // the rest dynamic data will stream in quickly, so it's still better to skip\n // the prefetch state.\n const rsc = oldCacheNode.rsc;\n const shouldUsePrefetch = isDeferredRsc(rsc) && rsc.status === \"pending\";\n return {\n lazyData: null,\n rsc,\n head: oldCacheNode.head,\n prefetchHead: shouldUsePrefetch ? oldCacheNode.prefetchHead : null,\n prefetchRsc: shouldUsePrefetch ? oldCacheNode.prefetchRsc : null,\n // These are the cloned children we computed above\n parallelRoutes: newParallelRoutes\n };\n}\nconst DEFERRED = Symbol();\n// This type exists to distinguish a DeferredRsc from a Flight promise. It's a\n// compromise to avoid adding an extra field on every Cache Node, which would be\n// awkward because the pre-PPR parts of codebase would need to account for it,\n// too. We can remove it once type Cache Node type is more settled.\nfunction isDeferredRsc(value) {\n return value && value.tag === DEFERRED;\n}\nfunction createDeferredRsc() {\n let resolve;\n let reject;\n const pendingRsc = new Promise((res, rej)=>{\n resolve = res;\n reject = rej;\n });\n pendingRsc.status = \"pending\";\n pendingRsc.resolve = (value)=>{\n if (pendingRsc.status === \"pending\") {\n const fulfilledRsc = pendingRsc;\n fulfilledRsc.status = \"fulfilled\";\n fulfilledRsc.value = value;\n resolve(value);\n }\n };\n pendingRsc.reject = (error)=>{\n if (pendingRsc.status === \"pending\") {\n const rejectedRsc = pendingRsc;\n rejectedRsc.status = \"rejected\";\n rejectedRsc.reason = error;\n reject(error);\n }\n };\n pendingRsc.tag = DEFERRED;\n return pendingRsc;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ppr-navigations.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Bwci1uYXZpZ2F0aW9ucy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVgsT0FBT0MsY0FBYyxDQUFDUyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFQLFNBQVM7SUFDYkcsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7SUFDQUMseUJBQXlCO1FBQ3JCLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7SUFDQUMsc0NBQXNDO1FBQ2xDLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFdBQVdDLG1CQUFPQSxDQUFDLHlGQUE2QjtBQUN0RCxNQUFNQyxpQkFBaUJELG1CQUFPQSxDQUFDLDZGQUFtQjtBQUNsRCxNQUFNRSx3QkFBd0JGLG1CQUFPQSxDQUFDLDZIQUEyQjtBQUNqRSxTQUFTWCw0QkFBNEJjLFlBQVksRUFBRUMsY0FBYyxFQUFFQyxjQUFjLEVBQUVDLFlBQVksRUFBRUMsWUFBWSxFQUFFQyxlQUFlO0lBQzFILDBEQUEwRDtJQUMxRCxNQUFNQyx5QkFBeUJMLGNBQWMsQ0FBQyxFQUFFO0lBQ2hELE1BQU1NLHlCQUF5QkwsY0FBYyxDQUFDLEVBQUU7SUFDaEQsTUFBTU0sdUJBQXVCTCxZQUFZLENBQUMsRUFBRTtJQUM1QyxNQUFNTSxvQkFBb0JULGFBQWFVLGNBQWM7SUFDckQsMkVBQTJFO0lBQzNFLGdCQUFnQjtJQUNoQiwwRUFBMEU7SUFDMUUsMEVBQTBFO0lBQzFFLDRFQUE0RTtJQUM1RSwyRUFBMkU7SUFDM0UsMEVBQTBFO0lB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LE1BQU0sR0FBRztZQUNyQlMsWUFBWUMsTUFBTSxHQUFHbkQ7WUFDckJzQyxPQUFPdEM7UUFDWDtJQUNKO0lBQ0E2QyxXQUFXRCxHQUFHLEdBQUdGO0lBQ2pCLE9BQU9HO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBTy9ILFFBQVFzSSxPQUFPLEtBQUssY0FBZSxPQUFPdEksUUFBUXNJLE9BQU8sS0FBSyxZQUFZdEksUUFBUXNJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RJLFFBQVFzSSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekksT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0ksT0FBTyxFQUFFLGNBQWM7UUFBRXJJLE9BQU87SUFBSztJQUNuRUgsT0FBTzBJLE1BQU0sQ0FBQ3hJLFFBQVFzSSxPQUFPLEVBQUV0STtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRc0ksT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Bwci1uYXZpZ2F0aW9ucy5qcz82ODViIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uOiBudWxsLFxuICAgIGxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0OiBudWxsLFxuICAgIGFib3J0VGFzazogbnVsbCxcbiAgICB1cGRhdGVDYWNoZU5vZGVPblBvcHN0YXRlUmVzdG9yYXRpb246IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbjtcbiAgICB9LFxuICAgIGxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0O1xuICAgIH0sXG4gICAgYWJvcnRUYXNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFib3J0VGFzaztcbiAgICB9LFxuICAgIHVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB1cGRhdGVDYWNoZU5vZGVPblBvcHN0YXRlUmVzdG9yYXRpb247XG4gICAgfVxufSk7XG5jb25zdCBfc2VnbWVudCA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zaGFyZWQvbGliL3NlZ21lbnRcIik7XG5jb25zdCBfbWF0Y2hzZWdtZW50cyA9IHJlcXVpcmUoXCIuLi9tYXRjaC1zZWdtZW50c1wiKTtcbmNvbnN0IF9jcmVhdGVyb3V0ZXJjYWNoZWtleSA9IHJlcXVpcmUoXCIuL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5XCIpO1xuZnVuY3Rpb24gdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uKG9sZENhY2hlTm9kZSwgb2xkUm91dGVyU3RhdGUsIG5ld1JvdXRlclN0YXRlLCBwcmVmZXRjaERhdGEsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKSB7XG4gICAgLy8gRGlmZiB0aGUgb2xkIGFuZCBuZXcgdHJlZXMgdG8gcmV1c2UgdGhlIHNoYXJlZCBsYXlvdXRzLlxuICAgIGNvbnN0IG9sZFJvdXRlclN0YXRlQ2hpbGRyZW4gPSBvbGRSb3V0ZXJTdGF0ZVsxXTtcbiAgICBjb25zdCBuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuID0gbmV3Um91dGVyU3RhdGVbMV07XG4gICAgY29uc3QgcHJlZmV0Y2hEYXRhQ2hpbGRyZW4gPSBwcmVmZXRjaERhdGFbMV07XG4gICAgY29uc3Qgb2xkUGFyYWxsZWxSb3V0ZXMgPSBvbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXM7XG4gICAgLy8gQ2xvbmUgdGhlIGN1cnJlbnQgc2V0IG9mIHNlZ21lbnQgY2hpbGRyZW4sIGV2ZW4gaWYgdGhleSBhcmVuJ3QgYWN0aXZlIGluXG4gICAgLy8gdGhlIG5ldyB0cmVlLlxuICAgIC8vIFRPRE86IFdlIGN1cnJlbnRseSByZXRhaW4gYWxsIHRoZSBpbmFjdGl2ZSBzZWdtZW50cyBpbmRlZmluaXRlbHksIHVudGlsXG4gICAgLy8gdGhlcmUncyBhbiBleHBsaWNpdCByZWZyZXNoLCBvciBhIHBhcmVudCBsYXlvdXQgaXMgbGF6aWx5IHJlZnJlc2hlZC4gV2VcbiAgICAvLyByZWx5IG9uIHRoaXMgZm9yIHBvcHN0YXRlIG5hdmlnYXRpb25zLCB3aGljaCB1cGRhdGUgdGhlIFJvdXRlciBTdGF0ZSBUcmVlXG4gICAgLy8gYnV0IGRvIG5vdCBlYWdlcmx5IHBlcmZvcm0gYSBkYXRhIGZldGNoLCBiZWNhdXNlIHRoZXkgZXhwZWN0IHRoZSBzZWdtZW50XG4gICAgLy8gZGF0YSB0byBhbHJlYWR5IGJlIGluIHRoZSBDYWNoZSBOb2RlIHRyZWUuIEZvciBoaWdobHkgc3RhdGljIHNpdGVzIHRoYXRcbiAgICAvLyBhcmUgbW9zdGx5IHJlYWQtb25seSwgdGhpcyBtYXkgaGFwcGVuIG9ubHkgcmFyZWx5LCBjYXVzaW5nIG1lbW9yeSB0b1xuICAgIC8vIGxlYWsuIFdlIHNob3VsZCBmaWd1cmUgb3V0IGEgYmV0dGVyIG1vZGVsIGZvciB0aGUgbGlmZXRpbWUgb2YgaW5hY3RpdmVcbiAgICAvLyBzZWdtZW50cywgc28gd2UgY2FuIG1haW50YWluIGluc3RhbnQgYmFjay9mb3J3YXJkIG5hdmlnYXRpb25zIHdpdGhvdXRcbiAgICAvLyBsZWFraW5nIG1lbW9yeSBpbmRlZmluaXRlbHkuXG4gICAgY29uc3QgcHJlZmV0Y2hQYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAob2xkUGFyYWxsZWxSb3V0ZXMpO1xuICAgIC8vIEFzIHdlIGRpZmYgdGhlIHRyZWVzLCB3ZSBtYXkgc29tZXRpbWVzIG1vZGlmeSAoY29weS1vbi13cml0ZSwgbm90IG11dGF0ZSlcbiAgICAvLyB0aGUgUm91dGUgVHJlZSB0aGF0IHdhcyByZXR1cm5lZCBieSB0aGUgc2VydmVyIOKAlCBmb3IgZXhhbXBsZSwgaW4gdGhlIGNhc2VcbiAgICAvLyBvZiBkZWZhdWx0IHBhcmFsbGVsIHJvdXRlcywgd2UgcHJlc2VydmUgdGhlIGN1cnJlbnRseSBhY3RpdmUgc2VnbWVudC4gVG9cbiAgICAvLyBhdm9pZCBtdXRhdGluZyB0aGUgb3JpZ2luYWwgdHJlZSwgd2UgY2xvbmUgdGhlIHJvdXRlciBzdGF0ZSBjaGlsZHJlbiBhbG9uZ1xuICAgIC8vIHRoZSByZXR1cm4gcGF0aC5cbiAgICBsZXQgcGF0Y2hlZFJvdXRlclN0YXRlQ2hpbGRyZW4gPSB7fTtcbiAgICBsZXQgdGFza0NoaWxkcmVuID0gbnVsbDtcbiAgICBmb3IobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gbmV3Um91dGVyU3RhdGVDaGlsZHJlbil7XG4gICAgICAgIGNvbnN0IG5ld1JvdXRlclN0YXRlQ2hpbGQgPSBuZXdSb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBvbGRSb3V0ZXJTdGF0ZUNoaWxkID0gb2xkUm91dGVyU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICAgICAgY29uc3Qgb2xkU2VnbWVudE1hcENoaWxkID0gb2xkUGFyYWxsZWxSb3V0ZXMuZ2V0KHBhcmFsbGVsUm91dGVLZXkpO1xuICAgICAgICBjb25zdCBwcmVmZXRjaERhdGFDaGlsZCA9IHByZWZldGNoRGF0YUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBuZXdTZWdtZW50Q2hpbGQgPSBuZXdSb3V0ZXJTdGF0ZUNoaWxkWzBdO1xuICAgICAgICBjb25zdCBuZXdTZWdtZW50S2V5Q2hpbGQgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShuZXdTZWdtZW50Q2hpbGQpO1xuICAgICAgICBjb25zdCBvbGRTZWdtZW50Q2hpbGQgPSBvbGRSb3V0ZXJTdGF0ZUNoaWxkICE9PSB1bmRlZmluZWQgPyBvbGRSb3V0ZXJTdGF0ZUNoaWxkWzBdIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBvbGRDYWNoZU5vZGVDaGlsZCA9IG9sZFNlZ21lbnRNYXBDaGlsZCAhPT0gdW5kZWZpbmVkID8gb2xkU2VnbWVudE1hcENoaWxkLmdldChuZXdTZWdtZW50S2V5Q2hpbGQpIDogdW5kZWZpbmVkO1xuICAgICAgICBsZXQgdGFza0NoaWxkO1xuICAgICAgICBpZiAobmV3U2VnbWVudENoaWxkID09PSBfc2VnbWVudC5QQUdFX1NFR01FTlRfS0VZKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIGEgbGVhZiBzZWdtZW50IOKAlCBhIHBhZ2UsIG5vdCBhIHNoYXJlZCBsYXlvdXQuIFdlIGFsd2F5cyBhcHBseVxuICAgICAgICAgICAgLy8gaXRzIGRhdGEuXG4gICAgICAgICAgICB0YXNrQ2hpbGQgPSBzcGF3blBlbmRpbmdUYXNrKG5ld1JvdXRlclN0YXRlQ2hpbGQsIHByZWZldGNoRGF0YUNoaWxkICE9PSB1bmRlZmluZWQgPyBwcmVmZXRjaERhdGFDaGlsZCA6IG51bGwsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKTtcbiAgICAgICAgfSBlbHNlIGlmIChuZXdTZWdtZW50Q2hpbGQgPT09IF9zZWdtZW50LkRFRkFVTFRfU0VHTUVOVF9LRVkpIHtcbiAgICAgICAgICAgIC8vIFRoaXMgaXMgYW5vdGhlciBraW5kIG9mIGxlYWYgc2VnbWVudCDigJQgYSBkZWZhdWx0IHJvdXRlLlxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIERlZmF1bHQgcm91dGVzIGhhdmUgc3BlY2lhbCBiZWhhdmlvci4gV2hlbiB0aGVyZSdzIG5vIG1hdGNoaW5nIHNlZ21lbnRcbiAgICAgICAgICAgIC8vIGZvciBhIHBhcmFsbGVsIHJvdXRlLCBOZXh0LmpzIHByZXNlcnZlcyB0aGUgY3VycmVudGx5IGFjdGl2ZSBzZWdtZW50XG4gICAgICAgICAgICAvLyBkdXJpbmcgYSBjbGllbnQgbmF2aWdhdGlvbiDigJQgYnV0IG5vdCBmb3IgaW5pdGlhbCByZW5kZXIuIFRoZSBzZXJ2ZXJcbiAgICAgICAgICAgIC8vIGxlYXZlcyBpdCB0byB0aGUgY2xpZW50IHRvIGFjY291bnQgZm9yIHRoaXMuIFNvIHdlIG5lZWQgdG8gaGFuZGxlXG4gICAgICAgICAgICAvLyBpdCBoZXJlLlxuICAgICAgICAgICAgaWYgKG9sZFJvdXRlclN0YXRlQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIC8vIFJldXNlIHRoZSBleGlzdGluZyBSb3V0ZXIgU3RhdGUgZm9yIHRoaXMgc2VnbWVudC4gV2Ugc3Bhd24gYSBcInRhc2tcIlxuICAgICAgICAgICAgICAgIC8vIGp1c3QgdG8ga2VlcCB0cmFjayBvZiB0aGUgdXBkYXRlZCByb3V0ZXIgc3RhdGU7IHVubGlrZSBtb3N0LCBpdCdzXG4gICAgICAgICAgICAgICAgLy8gYWxyZWFkeSBmdWxmaWxsZWQgYW5kIHdvbid0IGJlIGFmZmVjdGVkIGJ5IHRoZSBkeW5hbWljIHJlc3BvbnNlLlxuICAgICAgICAgICAgICAgIHRhc2tDaGlsZCA9IHNwYXduUmV1c2VkVGFzayhvbGRSb3V0ZXJTdGF0ZUNoaWxkKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVGhlcmUncyBubyBjdXJyZW50bHkgYWN0aXZlIHNlZ21lbnQuIFN3aXRjaCB0byB0aGUgXCJjcmVhdGVcIiBwYXRoLlxuICAgICAgICAgICAgICAgIHRhc2tDaGlsZCA9IHNwYXduUGVuZGluZ1Rhc2sobmV3Um91dGVyU3RhdGVDaGlsZCwgcHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHByZWZldGNoRGF0YUNoaWxkIDogbnVsbCwgcHJlZmV0Y2hIZWFkLCBpc1ByZWZldGNoU3RhbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKG9sZFNlZ21lbnRDaGlsZCAhPT0gdW5kZWZpbmVkICYmICgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKG5ld1NlZ21lbnRDaGlsZCwgb2xkU2VnbWVudENoaWxkKSkge1xuICAgICAgICAgICAgaWYgKG9sZENhY2hlTm9kZUNoaWxkICE9PSB1bmRlZmluZWQgJiYgb2xkUm91dGVyU3RhdGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBzZWdtZW50IGV4aXN0cyBpbiBib3RoIHRoZSBvbGQgYW5kIG5ldyB0cmVlcy5cbiAgICAgICAgICAgICAgICBpZiAocHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCAmJiBwcmVmZXRjaERhdGFDaGlsZCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAvLyBSZWN1cnNpdmVseSB1cGRhdGUgdGhlIGNoaWxkcmVuLlxuICAgICAgICAgICAgICAgICAgICB0YXNrQ2hpbGQgPSB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24ob2xkQ2FjaGVOb2RlQ2hpbGQsIG9sZFJvdXRlclN0YXRlQ2hpbGQsIG5ld1JvdXRlclN0YXRlQ2hpbGQsIHByZWZldGNoRGF0YUNoaWxkLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHNlcnZlciBkaWRuJ3Qgc2VuZCBhbnkgcHJlZmV0Y2ggZGF0YSBmb3IgdGhpcyBzZWdtZW50LiBUaGlzXG4gICAgICAgICAgICAgICAgICAgIC8vIHNob3VsZG4ndCBoYXBwZW4gYmVjYXVzZSB0aGUgUm91dGUgVHJlZSBhbmQgdGhlIFNlZWQgRGF0YSB0cmVlXG4gICAgICAgICAgICAgICAgICAgIC8vIHNob3VsZCBhbHdheXMgYmUgdGhlIHNhbWUgc2hhcGUsIGJ1dCB1bnRpbCB3ZSB1bmlmeSB0aG9zZSB0eXBlc1xuICAgICAgICAgICAgICAgICAgICAvLyBpdCdzIHN0aWxsIHBvc3NpYmxlLiBGb3Igbm93IHdlJ3JlIGdvaW5nIHRvIGRlb3B0IGFuZCB0cmlnZ2VyIGFcbiAgICAgICAgICAgICAgICAgICAgLy8gbGF6eSBmZXRjaCBkdXJpbmcgcmVuZGVyLlxuICAgICAgICAgICAgICAgICAgICB0YXNrQ2hpbGQgPSBzcGF3blRhc2tGb3JNaXNzaW5nRGF0YShuZXdSb3V0ZXJTdGF0ZUNoaWxkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIEVpdGhlciB0aGVyZSdzIG5vIGV4aXN0aW5nIENhY2hlIE5vZGUgZm9yIHRoaXMgc2VnbWVudCwgb3IgdGhpc1xuICAgICAgICAgICAgICAgIC8vIHNlZ21lbnQgZG9lc24ndCBleGlzdCBpbiB0aGUgb2xkIFJvdXRlciBTdGF0ZSB0cmVlLiBTd2l0Y2ggdG8gdGhlXG4gICAgICAgICAgICAgICAgLy8gXCJjcmVhdGVcIiBwYXRoLlxuICAgICAgICAgICAgICAgIHRhc2tDaGlsZCA9IHNwYXduUGVuZGluZ1Rhc2sobmV3Um91dGVyU3RhdGVDaGlsZCwgcHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHByZWZldGNoRGF0YUNoaWxkIDogbnVsbCwgcHJlZmV0Y2hIZWFkLCBpc1ByZWZldGNoU3RhbGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gVGhpcyBpcyBhIG5ldyB0cmVlLiBTd2l0Y2ggdG8gdGhlIFwiY3JlYXRlXCIgcGF0aC5cbiAgICAgICAgICAgIHRhc2tDaGlsZCA9IHNwYXduUGVuZGluZ1Rhc2sobmV3Um91dGVyU3RhdGVDaGlsZCwgcHJlZmV0Y2hEYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCA/IHByZWZldGNoRGF0YUNoaWxkIDogbnVsbCwgcHJlZmV0Y2hIZWFkLCBpc1ByZWZldGNoU3RhbGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YXNrQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgIC8vIFNvbWV0aGluZyBjaGFuZ2VkIGluIHRoZSBjaGlsZCB0cmVlLiBLZWVwIHRyYWNrIG9mIHRoZSBjaGlsZCB0YXNrLlxuICAgICAgICAgICAgaWYgKHRhc2tDaGlsZHJlbiA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRhc2tDaGlsZHJlbiA9IG5ldyBNYXAoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhc2tDaGlsZHJlbi5zZXQocGFyYWxsZWxSb3V0ZUtleSwgdGFza0NoaWxkKTtcbiAgICAgICAgICAgIGNvbnN0IG5ld0NhY2hlTm9kZUNoaWxkID0gdGFza0NoaWxkLm5vZGU7XG4gICAgICAgICAgICBpZiAobmV3Q2FjaGVOb2RlQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWdtZW50TWFwQ2hpbGQgPSBuZXcgTWFwKG9sZFNlZ21lbnRNYXBDaGlsZCk7XG4gICAgICAgICAgICAgICAgbmV3U2VnbWVudE1hcENoaWxkLnNldChuZXdTZWdtZW50S2V5Q2hpbGQsIG5ld0NhY2hlTm9kZUNoaWxkKTtcbiAgICAgICAgICAgICAgICBwcmVmZXRjaFBhcmFsbGVsUm91dGVzLnNldChwYXJhbGxlbFJvdXRlS2V5LCBuZXdTZWdtZW50TWFwQ2hpbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGhlIGNoaWxkIHRyZWUncyByb3V0ZSBzdGF0ZSBtYXkgYmUgZGlmZmVyZW50IGZyb20gdGhlIHByZWZldGNoZWRcbiAgICAgICAgICAgIC8vIHJvdXRlIHNlbnQgYnkgdGhlIHNlcnZlci4gV2UgbmVlZCB0byBjbG9uZSBpdCBhcyB3ZSB0cmF2ZXJzZSBiYWNrIHVwXG4gICAgICAgICAgICAvLyB0aGUgdHJlZS5cbiAgICAgICAgICAgIHBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldID0gdGFza0NoaWxkLnJvdXRlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gVGhlIGNoaWxkIGRpZG4ndCBjaGFuZ2UuIFdlIGNhbiB1c2UgdGhlIHByZWZldGNoZWQgcm91dGVyIHN0YXRlLlxuICAgICAgICAgICAgcGF0Y2hlZFJvdXRlclN0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV0gPSBuZXdSb3V0ZXJTdGF0ZUNoaWxkO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmICh0YXNrQ2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICAgICAgLy8gTm8gbmV3IHRhc2tzIHdlcmUgc3Bhd25lZC5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGNvbnN0IG5ld0NhY2hlTm9kZSA9IHtcbiAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgIHJzYzogb2xkQ2FjaGVOb2RlLnJzYyxcbiAgICAgICAgLy8gV2UgaW50ZW50aW9uYWxseSBhcmVuJ3QgdXBkYXRpbmcgdGhlIHByZWZldGNoUnNjIGZpZWxkLCBzaW5jZSB0aGlzIG5vZGVcbiAgICAgICAgLy8gaXMgYWxyZWFkeSBwYXJ0IG9mIHRoZSBjdXJyZW50IHRyZWUsIGJlY2F1c2UgaXQgd291bGQgYmUgd2VpcmQgZm9yXG4gICAgICAgIC8vIHByZWZldGNoIGRhdGEgdG8gYmUgbmV3ZXIgdGhhbiB0aGUgZmluYWwgZGF0YS4gSXQgcHJvYmFibHkgd29uJ3QgZXZlciBiZVxuICAgICAgICAvLyBvYnNlcnZhYmxlIGFueXdheSwgYnV0IGl0IGNvdWxkIGhhcHBlbiBpZiB0aGUgc2VnbWVudCBpcyB1bm1vdW50ZWQgdGhlblxuICAgICAgICAvLyBtb3VudGVkIGFnYWluLCBiZWNhdXNlIExheW91dFJvdXRlciB3aWxsIG1vbWVudGFyaWx5IHN3aXRjaCB0byByZW5kZXJpbmdcbiAgICAgICAgLy8gcHJlZmV0Y2hSc2MsIHZpYSB1c2VEZWZlcnJlZFZhbHVlLlxuICAgICAgICBwcmVmZXRjaFJzYzogb2xkQ2FjaGVOb2RlLnByZWZldGNoUnNjLFxuICAgICAgICBoZWFkOiBvbGRDYWNoZU5vZGUuaGVhZCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiBvbGRDYWNoZU5vZGUucHJlZmV0Y2hIZWFkLFxuICAgICAgICAvLyBFdmVyeXRoaW5nIGlzIGNsb25lZCBleGNlcHQgZm9yIHRoZSBjaGlsZHJlbiwgd2hpY2ggd2UgY29tcHV0ZWQgYWJvdmUuXG4gICAgICAgIHBhcmFsbGVsUm91dGVzOiBwcmVmZXRjaFBhcmFsbGVsUm91dGVzXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICAvLyBSZXR1cm4gYSBjbG9uZWQgY29weSBvZiB0aGUgcm91dGVyIHN0YXRlIHdpdGggdXBkYXRlZCBjaGlsZHJlbi5cbiAgICAgICAgcm91dGU6IHBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4obmV3Um91dGVyU3RhdGUsIHBhdGNoZWRSb3V0ZXJTdGF0ZUNoaWxkcmVuKSxcbiAgICAgICAgbm9kZTogbmV3Q2FjaGVOb2RlLFxuICAgICAgICBjaGlsZHJlbjogdGFza0NoaWxkcmVuXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4oYmFzZVJvdXRlclN0YXRlLCBuZXdDaGlsZHJlbikge1xuICAgIGNvbnN0IGNsb25lID0gW1xuICAgICAgICBiYXNlUm91dGVyU3RhdGVbMF0sXG4gICAgICAgIG5ld0NoaWxkcmVuXG4gICAgXTtcbiAgICAvLyBCYXNlZCBvbiBlcXVpdmFsZW50IGxvZ2ljIGluIGFwcGx5LXJvdXRlci1zdGF0ZS1wYXRjaC10by10cmVlLCBidXQgc2hvdWxkXG4gICAgLy8gY29uZmlybSB3aGV0aGVyIHdlIG5lZWQgdG8gY29weSBhbGwgb2YgdGhlc2UgZmllbGRzLiBOb3Qgc3VyZSB0aGUgc2VydmVyXG4gICAgLy8gZXZlciBzZW5kcywgZS5nLiB0aGUgcmVmZXRjaCBtYXJrZXIuXG4gICAgaWYgKDIgaW4gYmFzZVJvdXRlclN0YXRlKSB7XG4gICAgICAgIGNsb25lWzJdID0gYmFzZVJvdXRlclN0YXRlWzJdO1xuICAgIH1cbiAgICBpZiAoMyBpbiBiYXNlUm91dGVyU3RhdGUpIHtcbiAgICAgICAgY2xvbmVbM10gPSBiYXNlUm91dGVyU3RhdGVbM107XG4gICAgfVxuICAgIGlmICg0IGluIGJhc2VSb3V0ZXJTdGF0ZSkge1xuICAgICAgICBjbG9uZVs0XSA9IGJhc2VSb3V0ZXJTdGF0ZVs0XTtcbiAgICB9XG4gICAgcmV0dXJuIGNsb25lO1xufVxuZnVuY3Rpb24gc3Bhd25QZW5kaW5nVGFzayhyb3V0ZXJTdGF0ZSwgcHJlZmV0Y2hEYXRhLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSkge1xuICAgIC8vIENyZWF0ZSBhIHRhc2sgdGhhdCB3aWxsIGxhdGVyIGJlIGZ1bGZpbGxlZCBieSBkYXRhIGZyb20gdGhlIHNlcnZlci5cbiAgICBjb25zdCBwZW5kaW5nQ2FjaGVOb2RlID0gY3JlYXRlUGVuZGluZ0NhY2hlTm9kZShyb3V0ZXJTdGF0ZSwgcHJlZmV0Y2hEYXRhLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcm91dGU6IHJvdXRlclN0YXRlLFxuICAgICAgICBub2RlOiBwZW5kaW5nQ2FjaGVOb2RlLFxuICAgICAgICBjaGlsZHJlbjogbnVsbFxuICAgIH07XG59XG5mdW5jdGlvbiBzcGF3blJldXNlZFRhc2socmV1c2VkUm91dGVyU3RhdGUpIHtcbiAgICAvLyBDcmVhdGUgYSB0YXNrIHRoYXQgcmV1c2VzIGFuIGV4aXN0aW5nIHNlZ21lbnQsIGUuZy4gd2hlbiByZXVzaW5nXG4gICAgLy8gdGhlIGN1cnJlbnQgYWN0aXZlIHNlZ21lbnQgaW4gcGxhY2Ugb2YgYSBkZWZhdWx0IHJvdXRlLlxuICAgIHJldHVybiB7XG4gICAgICAgIHJvdXRlOiByZXVzZWRSb3V0ZXJTdGF0ZSxcbiAgICAgICAgbm9kZTogbnVsbCxcbiAgICAgICAgY2hpbGRyZW46IG51bGxcbiAgICB9O1xufVxuZnVuY3Rpb24gc3Bhd25UYXNrRm9yTWlzc2luZ0RhdGEocm91dGVyU3RhdGUpIHtcbiAgICAvLyBDcmVhdGUgYSB0YXNrIGZvciBhIG5ldyBzdWJ0cmVlIHRoYXQgd2Fzbid0IHByZWZldGNoZWQgYnkgdGhlIHNlcnZlci5cbiAgICAvLyBUaGlzIHNob3VsZG4ndCByZWFsbHkgZXZlciBoYXBwZW4gYnV0IGl0J3MgaGVyZSBqdXN0IGluIGNhc2UgdGhlIFNlZWQgRGF0YVxuICAgIC8vIFRyZWUgYW5kIHRoZSBSb3V0ZXIgU3RhdGUgVHJlZSBkaXNhZ3JlZSB1bmV4cGVjdGVkbHkuXG4gICAgY29uc3QgcGVuZGluZ0NhY2hlTm9kZSA9IGNyZWF0ZVBlbmRpbmdDYWNoZU5vZGUocm91dGVyU3RhdGUsIG51bGwsIG51bGwsIGZhbHNlKTtcbiAgICByZXR1cm4ge1xuICAgICAgICByb3V0ZTogcm91dGVyU3RhdGUsXG4gICAgICAgIG5vZGU6IHBlbmRpbmdDYWNoZU5vZGUsXG4gICAgICAgIGNoaWxkcmVuOiBudWxsXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0KHRhc2ssIHJlc3BvbnNlUHJvbWlzZSkge1xuICAgIHJlc3BvbnNlUHJvbWlzZS50aGVuKChyZXNwb25zZSk9PntcbiAgICAgICAgY29uc3QgZmxpZ2h0RGF0YSA9IHJlc3BvbnNlWzBdO1xuICAgICAgICBmb3IgKGNvbnN0IGZsaWdodERhdGFQYXRoIG9mIGZsaWdodERhdGEpe1xuICAgICAgICAgICAgY29uc3Qgc2VnbWVudFBhdGggPSBmbGlnaHREYXRhUGF0aC5zbGljZSgwLCAtMyk7XG4gICAgICAgICAgICBjb25zdCBzZXJ2ZXJSb3V0ZXJTdGF0ZSA9IGZsaWdodERhdGFQYXRoW2ZsaWdodERhdGFQYXRoLmxlbmd0aCAtIDNdO1xuICAgICAgICAgICAgY29uc3QgZHluYW1pY0RhdGEgPSBmbGlnaHREYXRhUGF0aFtmbGlnaHREYXRhUGF0aC5sZW5ndGggLSAyXTtcbiAgICAgICAgICAgIGNvbnN0IGR5bmFtaWNIZWFkID0gZmxpZ2h0RGF0YVBhdGhbZmxpZ2h0RGF0YVBhdGgubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICBpZiAodHlwZW9mIHNlZ21lbnRQYXRoID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3cml0ZUR5bmFtaWNEYXRhSW50b1BlbmRpbmdUYXNrKHRhc2ssIHNlZ21lbnRQYXRoLCBzZXJ2ZXJSb3V0ZXJTdGF0ZSwgZHluYW1pY0RhdGEsIGR5bmFtaWNIZWFkKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBOb3cgdGhhdCB3ZSd2ZSBleGhhdXN0ZWQgYWxsIHRoZSBkYXRhIHdlIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlciwgaWZcbiAgICAgICAgLy8gdGhlcmUgYXJlIGFueSByZW1haW5pbmcgcGVuZGluZyB0YXNrcyBpbiB0aGUgdHJlZSwgYWJvcnQgdGhlbSBub3cuXG4gICAgICAgIC8vIElmIHRoZXJlJ3MgYW55IG1pc3NpbmcgZGF0YSwgaXQgd2lsbCB0cmlnZ2VyIGEgbGF6eSBmZXRjaC5cbiAgICAgICAgYWJvcnRUYXNrKHRhc2ssIG51bGwpO1xuICAgIH0sIChlcnJvcik9PntcbiAgICAgICAgLy8gVGhpcyB3aWxsIHRyaWdnZXIgYW4gZXJyb3IgZHVyaW5nIHJlbmRlclxuICAgICAgICBhYm9ydFRhc2sodGFzaywgZXJyb3IpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gd3JpdGVEeW5hbWljRGF0YUludG9QZW5kaW5nVGFzayhyb290VGFzaywgc2VnbWVudFBhdGgsIHNlcnZlclJvdXRlclN0YXRlLCBkeW5hbWljRGF0YSwgZHluYW1pY0hlYWQpIHtcbiAgICAvLyBUaGUgZGF0YSBzZW50IGJ5IHRoZSBzZXJ2ZXIgcmVwcmVzZW50cyBvbmx5IGEgc3VidHJlZSBvZiB0aGUgYXBwLiBXZSBuZWVkXG4gICAgLy8gdG8gZmluZCB0aGUgcGFydCBvZiB0aGUgdGFzayB0cmVlIHRoYXQgbWF0Y2hlcyB0aGUgc2VydmVyIHJlc3BvbnNlLCBhbmRcbiAgICAvLyBmdWxmaWxsIGl0IHVzaW5nIHRoZSBkeW5hbWljIGRhdGEuXG4gICAgLy9cbiAgICAvLyBzZWdtZW50UGF0aCByZXByZXNlbnRzIHRoZSBwYXJlbnQgcGF0aCBvZiBzdWJ0cmVlLiBJdCdzIGEgcmVwZWF0aW5nIHBhdHRlcm5cbiAgICAvLyBvZiBwYXJhbGxlbCByb3V0ZSBrZXkgYW5kIHNlZ21lbnQ6XG4gICAgLy9cbiAgICAvLyAgIFtzdHJpbmcsIFNlZ21lbnQsIHN0cmluZywgU2VnbWVudCwgc3RyaW5nLCBTZWdtZW50LCAuLi5dXG4gICAgLy9cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggdGhlIHBhdGggYW5kIGZpbmlzaCBhbnkgdGFza3MgdGhhdCBtYXRjaCB0aGlzIHBheWxvYWQuXG4gICAgbGV0IHRhc2sgPSByb290VGFzaztcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgc2VnbWVudFBhdGgubGVuZ3RoOyBpICs9IDIpe1xuICAgICAgICBjb25zdCBwYXJhbGxlbFJvdXRlS2V5ID0gc2VnbWVudFBhdGhbaV07XG4gICAgICAgIGNvbnN0IHNlZ21lbnQgPSBzZWdtZW50UGF0aFtpICsgMV07XG4gICAgICAgIGNvbnN0IHRhc2tDaGlsZHJlbiA9IHRhc2suY2hpbGRyZW47XG4gICAgICAgIGlmICh0YXNrQ2hpbGRyZW4gIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNvbnN0IHRhc2tDaGlsZCA9IHRhc2tDaGlsZHJlbi5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgICAgICAgICBpZiAodGFza0NoaWxkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXNrU2VnbWVudCA9IHRhc2tDaGlsZC5yb3V0ZVswXTtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoc2VnbWVudCwgdGFza1NlZ21lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIEZvdW5kIGEgbWF0Y2ggZm9yIHRoaXMgdGFzay4gS2VlcCB0cmF2ZXJzaW5nIGRvd24gdGhlIHRhc2sgdHJlZS5cbiAgICAgICAgICAgICAgICAgICAgdGFzayA9IHRhc2tDaGlsZDtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIFdlIGRpZG4ndCBmaW5kIGEgY2hpbGQgdGFzayB0aGF0IG1hdGNoZXMgdGhlIHNlcnZlciBkYXRhLiBFeGl0LiBXZSB3b24ndFxuICAgICAgICAvLyBhYm9ydCB0aGUgdGFzaywgdGhvdWdoLCBiZWNhdXNlIGEgZGlmZmVyZW50IEZsaWdodERhdGFQYXRoIG1heSBiZSBhYmxlIHRvXG4gICAgICAgIC8vIGZ1bGZpbGwgaXQgKHNlZSBsb29wIGluIGxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0KS4gV2Ugb25seSBhYm9ydCB0YXNrc1xuICAgICAgICAvLyBvbmNlIHdlJ3ZlIHJ1biBvdXQgb2YgZGF0YS5cbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmaW5pc2hUYXNrVXNpbmdEeW5hbWljRGF0YVBheWxvYWQodGFzaywgc2VydmVyUm91dGVyU3RhdGUsIGR5bmFtaWNEYXRhLCBkeW5hbWljSGVhZCk7XG59XG5mdW5jdGlvbiBmaW5pc2hUYXNrVXNpbmdEeW5hbWljRGF0YVBheWxvYWQodGFzaywgc2VydmVyUm91dGVyU3RhdGUsIGR5bmFtaWNEYXRhLCBkeW5hbWljSGVhZCkge1xuICAgIC8vIGR5bmFtaWNEYXRhIG1heSByZXByZXNlbnQgYSBsYXJnZXIgc3VidHJlZSB0aGFuIHRoZSB0YXNrLiBCZWZvcmUgd2UgY2FuXG4gICAgLy8gZmluaXNoIHRoZSB0YXNrLCB3ZSBuZWVkIHRvIGxpbmUgdGhlbSB1cC5cbiAgICBjb25zdCB0YXNrQ2hpbGRyZW4gPSB0YXNrLmNoaWxkcmVuO1xuICAgIGNvbnN0IHRhc2tOb2RlID0gdGFzay5ub2RlO1xuICAgIGlmICh0YXNrQ2hpbGRyZW4gPT09IG51bGwpIHtcbiAgICAgICAgLy8gV2UndmUgcmVhY2hlZCB0aGUgbGVhZiBub2RlIG9mIHRoZSBwZW5kaW5nIHRhc2suIFRoZSBzZXJ2ZXIgZGF0YSB0cmVlXG4gICAgICAgIC8vIGxpbmVzIHVwIHRoZSBwZW5kaW5nIENhY2hlIE5vZGUgdHJlZS4gV2UgY2FuIG5vdyBzd2l0Y2ggdG8gdGhlXG4gICAgICAgIC8vIG5vcm1hbCBhbGdvcml0aG0uXG4gICAgICAgIGlmICh0YXNrTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZmluaXNoUGVuZGluZ0NhY2hlTm9kZSh0YXNrTm9kZSwgdGFzay5yb3V0ZSwgc2VydmVyUm91dGVyU3RhdGUsIGR5bmFtaWNEYXRhLCBkeW5hbWljSGVhZCk7XG4gICAgICAgICAgICAvLyBOdWxsIHRoaXMgb3V0IHRvIGluZGljYXRlIHRoYXQgdGhlIHRhc2sgaXMgY29tcGxldGUuXG4gICAgICAgICAgICB0YXNrLm5vZGUgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gVGhlIHNlcnZlciByZXR1cm5lZCBtb3JlIGRhdGEgdGhhbiB3ZSBuZWVkIHRvIGZpbmlzaCB0aGUgdGFzay4gU2tpcCBvdmVyXG4gICAgLy8gdGhlIGV4dHJhIHNlZ21lbnRzIHVudGlsIHdlIHJlYWNoIHRoZSBsZWFmIHRhc2sgbm9kZS5cbiAgICBjb25zdCBzZXJ2ZXJDaGlsZHJlbiA9IHNlcnZlclJvdXRlclN0YXRlWzFdO1xuICAgIGNvbnN0IGR5bmFtaWNEYXRhQ2hpbGRyZW4gPSBkeW5hbWljRGF0YVsxXTtcbiAgICBmb3IoY29uc3QgcGFyYWxsZWxSb3V0ZUtleSBpbiBzZXJ2ZXJSb3V0ZXJTdGF0ZSl7XG4gICAgICAgIGNvbnN0IHNlcnZlclJvdXRlclN0YXRlQ2hpbGQgPSBzZXJ2ZXJDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICAgICAgY29uc3QgZHluYW1pY0RhdGFDaGlsZCA9IGR5bmFtaWNEYXRhQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IHRhc2tDaGlsZCA9IHRhc2tDaGlsZHJlbi5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgICAgIGlmICh0YXNrQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3QgdGFza1NlZ21lbnQgPSB0YXNrQ2hpbGQucm91dGVbMF07XG4gICAgICAgICAgICBpZiAoKDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoc2VydmVyUm91dGVyU3RhdGVDaGlsZFswXSwgdGFza1NlZ21lbnQpICYmIGR5bmFtaWNEYXRhQ2hpbGQgIT09IG51bGwgJiYgZHluYW1pY0RhdGFDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgLy8gRm91bmQgYSBtYXRjaCBmb3IgdGhpcyB0YXNrLiBLZWVwIHRyYXZlcnNpbmcgZG93biB0aGUgdGFzayB0cmVlLlxuICAgICAgICAgICAgICAgIHJldHVybiBmaW5pc2hUYXNrVXNpbmdEeW5hbWljRGF0YVBheWxvYWQodGFza0NoaWxkLCBzZXJ2ZXJSb3V0ZXJTdGF0ZUNoaWxkLCBkeW5hbWljRGF0YUNoaWxkLCBkeW5hbWljSGVhZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAvLyBXZSBkaWRuJ3QgZmluZCBhIGNoaWxkIHRhc2sgdGhhdCBtYXRjaGVzIHRoZSBzZXJ2ZXIgZGF0YS4gV2Ugd29uJ3QgYWJvcnRcbiAgICAvLyB0aGUgdGFzaywgdGhvdWdoLCBiZWNhdXNlIGEgZGlmZmVyZW50IEZsaWdodERhdGFQYXRoIG1heSBiZSBhYmxlIHRvXG4gICAgLy8gZnVsZmlsbCBpdCAoc2VlIGxvb3AgaW4gbGlzdGVuRm9yRHluYW1pY1JlcXVlc3QpLiBXZSBvbmx5IGFib3J0IHRhc2tzXG4gICAgLy8gb25jZSB3ZSd2ZSBydW4gb3V0IG9mIGRhdGEuXG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlUGVuZGluZ0NhY2hlTm9kZShyb3V0ZXJTdGF0ZSwgcHJlZmV0Y2hEYXRhLCBwcmVmZXRjaEhlYWQsIGlzUHJlZmV0Y2hTdGFsZSkge1xuICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGRyZW4gPSByb3V0ZXJTdGF0ZVsxXTtcbiAgICBjb25zdCBwcmVmZXRjaERhdGFDaGlsZHJlbiA9IHByZWZldGNoRGF0YSAhPT0gbnVsbCA/IHByZWZldGNoRGF0YVsxXSA6IG51bGw7XG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZXMgPSBuZXcgTWFwKCk7XG4gICAgZm9yKGxldCBwYXJhbGxlbFJvdXRlS2V5IGluIHJvdXRlclN0YXRlQ2hpbGRyZW4pe1xuICAgICAgICBjb25zdCByb3V0ZXJTdGF0ZUNoaWxkID0gcm91dGVyU3RhdGVDaGlsZHJlbltwYXJhbGxlbFJvdXRlS2V5XTtcbiAgICAgICAgY29uc3QgcHJlZmV0Y2hEYXRhQ2hpbGQgPSBwcmVmZXRjaERhdGFDaGlsZHJlbiAhPT0gbnVsbCA/IHByZWZldGNoRGF0YUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldIDogbnVsbDtcbiAgICAgICAgY29uc3Qgc2VnbWVudENoaWxkID0gcm91dGVyU3RhdGVDaGlsZFswXTtcbiAgICAgICAgY29uc3Qgc2VnbWVudEtleUNoaWxkID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoc2VnbWVudENoaWxkKTtcbiAgICAgICAgY29uc3QgbmV3Q2FjaGVOb2RlQ2hpbGQgPSBjcmVhdGVQZW5kaW5nQ2FjaGVOb2RlKHJvdXRlclN0YXRlQ2hpbGQsIHByZWZldGNoRGF0YUNoaWxkID09PSB1bmRlZmluZWQgPyBudWxsIDogcHJlZmV0Y2hEYXRhQ2hpbGQsIHByZWZldGNoSGVhZCwgaXNQcmVmZXRjaFN0YWxlKTtcbiAgICAgICAgY29uc3QgbmV3U2VnbWVudE1hcENoaWxkID0gbmV3IE1hcCgpO1xuICAgICAgICBuZXdTZWdtZW50TWFwQ2hpbGQuc2V0KHNlZ21lbnRLZXlDaGlsZCwgbmV3Q2FjaGVOb2RlQ2hpbGQpO1xuICAgICAgICBwYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgbmV3U2VnbWVudE1hcENoaWxkKTtcbiAgICB9XG4gICAgLy8gVGhlIGhlYWQgaXMgYXNzaWduZWQgdG8gZXZlcnkgbGVhZiBzZWdtZW50IGRlbGl2ZXJlZCBieSB0aGUgc2VydmVyLiBCYXNlZFxuICAgIC8vIG9uIGNvcnJlc3BvbmRpbmcgbG9naWMgaW4gZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWQudHNcbiAgICBjb25zdCBpc0xlYWZTZWdtZW50ID0gcGFyYWxsZWxSb3V0ZXMuc2l6ZSA9PT0gMDtcbiAgICBjb25zdCBtYXliZVByZWZldGNoUnNjID0gcHJlZmV0Y2hEYXRhICE9PSBudWxsID8gcHJlZmV0Y2hEYXRhWzJdIDogbnVsbDtcbiAgICByZXR1cm4ge1xuICAgICAgICBsYXp5RGF0YTogbnVsbCxcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IHBhcmFsbGVsUm91dGVzLFxuICAgICAgICBwcmVmZXRjaFJzYzogLy8gSWYgdGhlIHByZWZldGNoZWQgY2FjaGUgZW50cnkgaXMgc3RhbGUsIHdlIGRvbid0IHNob3cgaXQuIFdlIHdhaXQgZm9yIHRoZVxuICAgICAgICAvLyBkeW5hbWljIGRhdGEgdG8gc3RyZWFtIGluLlxuICAgICAgICAvLyBUT0RPOiBUaGlzIGNoZWNrIGlzIGFydWFibHkgdG9vIGRlZXAgaW4gdGhlIHN0YWNrLiBNaWdodCBiZSBiZXR0ZXIgdG9cbiAgICAgICAgLy8gcGFzcyBhbiBlbXB0eSBwcmVmZXRjaERhdGEgQ2FjaGUgU2VlZCBvYmplY3QgaW5zdGVhZC5cbiAgICAgICAgIWlzUHJlZmV0Y2hTdGFsZSAmJiBtYXliZVByZWZldGNoUnNjICE9PSB1bmRlZmluZWQgPyBtYXliZVByZWZldGNoUnNjIDogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hIZWFkOiAhaXNQcmVmZXRjaFN0YWxlICYmIGlzTGVhZlNlZ21lbnQgPyBwcmVmZXRjaEhlYWQgOiBudWxsLFxuICAgICAgICAvLyBDcmVhdGUgYSBkZWZlcnJlZCBwcm9taXNlLiBUaGlzIHdpbGwgYmUgZnVsZmlsbGVkIG9uY2UgdGhlIGR5bmFtaWNcbiAgICAgICAgLy8gcmVzcG9uc2UgaXMgcmVjZWl2ZWQgZnJvbSB0aGUgc2VydmVyLlxuICAgICAgICByc2M6IGNyZWF0ZURlZmVycmVkUnNjKCksXG4gICAgICAgIGhlYWQ6IGlzTGVhZlNlZ21lbnQgPyBjcmVhdGVEZWZlcnJlZFJzYygpIDogbnVsbFxuICAgIH07XG59XG5mdW5jdGlvbiBmaW5pc2hQZW5kaW5nQ2FjaGVOb2RlKGNhY2hlTm9kZSwgdGFza1N0YXRlLCBzZXJ2ZXJTdGF0ZSwgZHluYW1pY0RhdGEsIGR5bmFtaWNIZWFkKSB7XG4gICAgLy8gV3JpdGVzIGEgZHluYW1pYyByZXNwb25zZSBpbnRvIGFuIGV4aXN0aW5nIENhY2hlIE5vZGUgdHJlZS4gVGhpcyBkb2VzIF9ub3RfXG4gICAgLy8gY3JlYXRlIGEgbmV3IHRyZWUsIGl0IHVwZGF0ZXMgdGhlIGV4aXN0aW5nIHRyZWUgaW4tcGxhY2UuIFNvIGl0IG11c3QgZm9sbG93XG4gICAgLy8gdGhlIFN1c3BlbnNlIHJ1bGVzIG9mIGNhY2hlIHNhZmV0eSDigJQgaXQgY2FuIHJlc29sdmUgcGVuZGluZyBwcm9taXNlcywgYnV0XG4gICAgLy8gaXQgY2Fubm90IG92ZXJ3cml0ZSBleGlzdGluZyBkYXRhLiBJdCBjYW4gYWRkIHNlZ21lbnRzIHRvIHRoZSB0cmVlIChiZWNhdXNlXG4gICAgLy8gYSBtaXNzaW5nIHNlZ21lbnQgd2lsbCBjYXVzZSB0aGUgbGF5b3V0IHJvdXRlciB0byBzdXNwZW5kKS5cbiAgICAvLyBidXQgaXQgY2Fubm90IGRlbGV0ZSB0aGVtLlxuICAgIC8vXG4gICAgLy8gV2UgbXVzdCByZXNvbHZlIGV2ZXJ5IHByb21pc2UgaW4gdGhlIHRyZWUsIG9yIGVsc2UgaXQgd2lsbCBzdXNwZW5kXG4gICAgLy8gaW5kZWZpbml0ZWx5LiBJZiB3ZSBkaWQgbm90IHJlY2VpdmUgZGF0YSBmb3IgYSBzZWdtZW50LCB3ZSB3aWxsIHJlc29sdmUgaXRzXG4gICAgLy8gZGF0YSBwcm9taXNlIHRvIGBudWxsYCB0byB0cmlnZ2VyIGEgbGF6eSBmZXRjaCBkdXJpbmcgcmVuZGVyLlxuICAgIGNvbnN0IHRhc2tTdGF0ZUNoaWxkcmVuID0gdGFza1N0YXRlWzFdO1xuICAgIGNvbnN0IHNlcnZlclN0YXRlQ2hpbGRyZW4gPSBzZXJ2ZXJTdGF0ZVsxXTtcbiAgICBjb25zdCBkYXRhQ2hpbGRyZW4gPSBkeW5hbWljRGF0YVsxXTtcbiAgICAvLyBUaGUgcm91dGVyIHN0YXRlIHRoYXQgd2UgdHJhdmVyc2UgdGhlIHRyZWUgd2l0aCAodGFza1N0YXRlKSBpcyB0aGUgc2FtZSBvbmVcbiAgICAvLyB0aGF0IHdlIHVzZWQgdG8gY29uc3RydWN0IHRoZSBwZW5kaW5nIENhY2hlIE5vZGUgdHJlZS4gVGhhdCB3YXkgd2UncmUgc3VyZVxuICAgIC8vIHRvIHJlc29sdmUgYWxsIHRoZSBwZW5kaW5nIHByb21pc2VzLlxuICAgIGNvbnN0IHBhcmFsbGVsUm91dGVzID0gY2FjaGVOb2RlLnBhcmFsbGVsUm91dGVzO1xuICAgIGZvcihsZXQgcGFyYWxsZWxSb3V0ZUtleSBpbiB0YXNrU3RhdGVDaGlsZHJlbil7XG4gICAgICAgIGNvbnN0IHRhc2tTdGF0ZUNoaWxkID0gdGFza1N0YXRlQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IHNlcnZlclN0YXRlQ2hpbGQgPSBzZXJ2ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBkYXRhQ2hpbGQgPSBkYXRhQ2hpbGRyZW5bcGFyYWxsZWxSb3V0ZUtleV07XG4gICAgICAgIGNvbnN0IHNlZ21lbnRNYXBDaGlsZCA9IHBhcmFsbGVsUm91dGVzLmdldChwYXJhbGxlbFJvdXRlS2V5KTtcbiAgICAgICAgY29uc3QgdGFza1NlZ21lbnRDaGlsZCA9IHRhc2tTdGF0ZUNoaWxkWzBdO1xuICAgICAgICBjb25zdCB0YXNrU2VnbWVudEtleUNoaWxkID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkodGFza1NlZ21lbnRDaGlsZCk7XG4gICAgICAgIGNvbnN0IGNhY2hlTm9kZUNoaWxkID0gc2VnbWVudE1hcENoaWxkICE9PSB1bmRlZmluZWQgPyBzZWdtZW50TWFwQ2hpbGQuZ2V0KHRhc2tTZWdtZW50S2V5Q2hpbGQpIDogdW5kZWZpbmVkO1xuICAgICAgICBpZiAoY2FjaGVOb2RlQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHNlcnZlclN0YXRlQ2hpbGQgIT09IHVuZGVmaW5lZCAmJiAoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KSh0YXNrU2VnbWVudENoaWxkLCBzZXJ2ZXJTdGF0ZUNoaWxkWzBdKSkge1xuICAgICAgICAgICAgICAgIGlmIChkYXRhQ2hpbGQgIT09IHVuZGVmaW5lZCAmJiBkYXRhQ2hpbGQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhpcyBpcyB0aGUgaGFwcHkgcGF0aC4gUmVjdXJzaXZlbHkgdXBkYXRlIGFsbCB0aGUgY2hpbGRyZW4uXG4gICAgICAgICAgICAgICAgICAgIGZpbmlzaFBlbmRpbmdDYWNoZU5vZGUoY2FjaGVOb2RlQ2hpbGQsIHRhc2tTdGF0ZUNoaWxkLCBzZXJ2ZXJTdGF0ZUNoaWxkLCBkYXRhQ2hpbGQsIGR5bmFtaWNIZWFkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBUaGUgc2VydmVyIG5ldmVyIHJldHVybmVkIGRhdGEgZm9yIHRoaXMgc2VnbWVudC4gVHJpZ2dlciBhIGxhenlcbiAgICAgICAgICAgICAgICAgICAgLy8gZmV0Y2ggZHVyaW5nIHJlbmRlci4gVGhpcyBzaG91bGRuJ3QgaGFwcGVuIGJlY2F1c2UgdGhlIFJvdXRlIFRyZWVcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIHRoZSBTZWVkIERhdGEgdHJlZSBzZW50IGJ5IHRoZSBzZXJ2ZXIgc2hvdWxkIGFsd2F5cyBiZSB0aGUgc2FtZVxuICAgICAgICAgICAgICAgICAgICAvLyBzaGFwZSB3aGVuIHBhcnQgb2YgdGhlIHNhbWUgc2VydmVyIHJlc3BvbnNlLlxuICAgICAgICAgICAgICAgICAgICBhYm9ydFBlbmRpbmdDYWNoZU5vZGUodGFza1N0YXRlQ2hpbGQsIGNhY2hlTm9kZUNoaWxkLCBudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBzZXJ2ZXIgbmV2ZXIgcmV0dXJuZWQgZGF0YSBmb3IgdGhpcyBzZWdtZW50LiBUcmlnZ2VyIGEgbGF6eVxuICAgICAgICAgICAgICAgIC8vIGZldGNoIGR1cmluZyByZW5kZXIuXG4gICAgICAgICAgICAgICAgYWJvcnRQZW5kaW5nQ2FjaGVOb2RlKHRhc2tTdGF0ZUNoaWxkLCBjYWNoZU5vZGVDaGlsZCwgbnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoZSBzZXJ2ZXIgcmVzcG9uc2UgbWF0Y2hlcyB3aGF0IHdhcyBleHBlY3RlZCB0byByZWNlaXZlLCBidXQgdGhlcmUnc1xuICAgICAgICAvLyBubyBtYXRjaGluZyBDYWNoZSBOb2RlIGluIHRoZSB0YXNrIHRyZWUuIFRoaXMgaXMgYSBidWcgaW4gdGhlXG4gICAgICAgIC8vIGltcGxlbWVudGF0aW9uIGJlY2F1c2Ugd2Ugc2hvdWxkIGhhdmUgY3JlYXRlZCBhIG5vZGUgZm9yIGV2ZXJ5XG4gICAgICAgIC8vIHNlZ21lbnQgaW4gdGhlIHRyZWUgdGhhdCdzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIHRhc2suXG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gVXNlIHRoZSBkeW5hbWljIGRhdGEgZnJvbSB0aGUgc2VydmVyIHRvIGZ1bGZpbGwgdGhlIGRlZmVycmVkIFJTQyBwcm9taXNlXG4gICAgLy8gb24gdGhlIENhY2hlIE5vZGUuXG4gICAgY29uc3QgcnNjID0gY2FjaGVOb2RlLnJzYztcbiAgICBjb25zdCBkeW5hbWljU2VnbWVudERhdGEgPSBkeW5hbWljRGF0YVsyXTtcbiAgICBpZiAocnNjID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBsYXp5IGNhY2hlIG5vZGUuIFdlIGNhbiBvdmVyd3JpdGUgaXQuIFRoaXMgaXMgb25seSBzYWZlXG4gICAgICAgIC8vIGJlY2F1c2Ugd2Uga25vdyB0aGF0IHRoZSBMYXlvdXRSb3V0ZXIgc3VzcGVuZHMgaWYgYHJzY2AgaXMgYG51bGxgLlxuICAgICAgICBjYWNoZU5vZGUucnNjID0gZHluYW1pY1NlZ21lbnREYXRhO1xuICAgIH0gZWxzZSBpZiAoaXNEZWZlcnJlZFJzYyhyc2MpKSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYSBkZWZlcnJlZCBSU0MgcHJvbWlzZS4gV2UgY2FuIGZ1bGZpbGwgaXQgd2l0aCB0aGUgZGF0YSB3ZSBqdXN0XG4gICAgICAgIC8vIHJlY2VpdmVkIGZyb20gdGhlIHNlcnZlci4gSWYgaXQgd2FzIGFscmVhZHkgcmVzb2x2ZWQgYnkgYSBkaWZmZXJlbnRcbiAgICAgICAgLy8gbmF2aWdhdGlvbiwgdGhlbiB0aGlzIGRvZXMgbm90aGluZyBiZWNhdXNlIHdlIGNhbid0IG92ZXJ3cml0ZSBkYXRhLlxuICAgICAgICByc2MucmVzb2x2ZShkeW5hbWljU2VnbWVudERhdGEpO1xuICAgIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyBub3QgYSBkZWZlcnJlZCBSU0MgcHJvbWlzZSwgbm9yIGlzIGl0IGVtcHR5LCBzbyBpdCBtdXN0IGhhdmVcbiAgICAvLyBiZWVuIHBvcHVsYXRlZCBieSBhIGRpZmZlcmVudCBuYXZpZ2F0aW9uLiBXZSBtdXN0IG5vdCBvdmVyd3JpdGUgaXQuXG4gICAgfVxuICAgIC8vIENoZWNrIGlmIHRoaXMgaXMgYSBsZWFmIHNlZ21lbnQuIElmIHNvLCBpdCB3aWxsIGhhdmUgYSBgaGVhZGAgcHJvcGVydHkgd2l0aFxuICAgIC8vIGEgcGVuZGluZyBwcm9taXNlIHRoYXQgbmVlZHMgdG8gYmUgcmVzb2x2ZWQgd2l0aCB0aGUgZHluYW1pYyBoZWFkIGZyb21cbiAgICAvLyB0aGUgc2VydmVyLlxuICAgIGNvbnN0IGhlYWQgPSBjYWNoZU5vZGUuaGVhZDtcbiAgICBpZiAoaXNEZWZlcnJlZFJzYyhoZWFkKSkge1xuICAgICAgICBoZWFkLnJlc29sdmUoZHluYW1pY0hlYWQpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFib3J0VGFzayh0YXNrLCBlcnJvcikge1xuICAgIGNvbnN0IGNhY2hlTm9kZSA9IHRhc2subm9kZTtcbiAgICBpZiAoY2FjaGVOb2RlID09PSBudWxsKSB7XG4gICAgICAgIC8vIFRoaXMgaW5kaWNhdGVzIHRoZSB0YXNrIGlzIGFscmVhZHkgY29tcGxldGUuXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgdGFza0NoaWxkcmVuID0gdGFzay5jaGlsZHJlbjtcbiAgICBpZiAodGFza0NoaWxkcmVuID09PSBudWxsKSB7XG4gICAgICAgIC8vIFJlYWNoZWQgdGhlIGxlYWYgdGFzayBub2RlLiBUaGlzIGlzIHRoZSByb290IG9mIGEgcGVuZGluZyBjYWNoZVxuICAgICAgICAvLyBub2RlIHRyZWUuXG4gICAgICAgIGFib3J0UGVuZGluZ0NhY2hlTm9kZSh0YXNrLnJvdXRlLCBjYWNoZU5vZGUsIGVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGlzIGlzIGFuIGludGVybWVkaWF0ZSB0YXNrIG5vZGUuIEtlZXAgdHJhdmVyc2luZyB1bnRpbCB3ZSByZWFjaCBhXG4gICAgICAgIC8vIHRhc2sgbm9kZSB3aXRoIG5vIGNoaWxkcmVuLiBUaGF0IHdpbGwgYmUgdGhlIHJvb3Qgb2YgdGhlIGNhY2hlIG5vZGUgdHJlZVxuICAgICAgICAvLyB0aGF0IG5lZWRzIHRvIGJlIHJlc29sdmVkLlxuICAgICAgICBmb3IgKGNvbnN0IHRhc2tDaGlsZCBvZiB0YXNrQ2hpbGRyZW4udmFsdWVzKCkpe1xuICAgICAgICAgICAgYWJvcnRUYXNrKHRhc2tDaGlsZCwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE51bGwgdGhpcyBvdXQgdG8gaW5kaWNhdGUgdGhhdCB0aGUgdGFzayBpcyBjb21wbGV0ZS5cbiAgICB0YXNrLm5vZGUgPSBudWxsO1xufVxuZnVuY3Rpb24gYWJvcnRQZW5kaW5nQ2FjaGVOb2RlKHJvdXRlclN0YXRlLCBjYWNoZU5vZGUsIGVycm9yKSB7XG4gICAgLy8gRm9yIGV2ZXJ5IHBlbmRpbmcgc2VnbWVudCBpbiB0aGUgdHJlZSwgcmVzb2x2ZSBpdHMgYHJzY2AgcHJvbWlzZSB0byBgbnVsbGBcbiAgICAvLyB0byB0cmlnZ2VyIGEgbGF6eSBmZXRjaCBkdXJpbmcgcmVuZGVyLlxuICAgIC8vXG4gICAgLy8gT3IsIGlmIGFuIGVycm9yIG9iamVjdCBpcyBwcm92aWRlZCwgaXQgd2lsbCBlcnJvciBpbnN0ZWFkLlxuICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGRyZW4gPSByb3V0ZXJTdGF0ZVsxXTtcbiAgICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IGNhY2hlTm9kZS5wYXJhbGxlbFJvdXRlcztcbiAgICBmb3IobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gcm91dGVyU3RhdGVDaGlsZHJlbil7XG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBzZWdtZW50TWFwQ2hpbGQgPSBwYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgICAgIGlmIChzZWdtZW50TWFwQ2hpbGQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2VnbWVudENoaWxkID0gcm91dGVyU3RhdGVDaGlsZFswXTtcbiAgICAgICAgY29uc3Qgc2VnbWVudEtleUNoaWxkID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkoc2VnbWVudENoaWxkKTtcbiAgICAgICAgY29uc3QgY2FjaGVOb2RlQ2hpbGQgPSBzZWdtZW50TWFwQ2hpbGQuZ2V0KHNlZ21lbnRLZXlDaGlsZCk7XG4gICAgICAgIGlmIChjYWNoZU5vZGVDaGlsZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBhYm9ydFBlbmRpbmdDYWNoZU5vZGUocm91dGVyU3RhdGVDaGlsZCwgY2FjaGVOb2RlQ2hpbGQsIGVycm9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gVGhpcyBzaG91bGRuJ3QgaGFwcGVuIGJlY2F1c2Ugd2UncmUgdHJhdmVyc2luZyB0aGUgc2FtZSB0cmVlIHRoYXQgd2FzXG4gICAgICAgIC8vIHVzZWQgdG8gY29uc3RydWN0IHRoZSBjYWNoZSBub2RlcyBpbiB0aGUgZmlyc3QgcGxhY2UuXG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcnNjID0gY2FjaGVOb2RlLnJzYztcbiAgICBpZiAoaXNEZWZlcnJlZFJzYyhyc2MpKSB7XG4gICAgICAgIGlmIChlcnJvciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gVGhpcyB3aWxsIHRyaWdnZXIgYSBsYXp5IGZldGNoIGR1cmluZyByZW5kZXIuXG4gICAgICAgICAgICByc2MucmVzb2x2ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIFRoaXMgd2lsbCB0cmlnZ2VyIGFuIGVycm9yIGR1cmluZyByZW5kZXJpbmcuXG4gICAgICAgICAgICByc2MucmVqZWN0KGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBDaGVjayBpZiB0aGlzIGlzIGEgbGVhZiBzZWdtZW50LiBJZiBzbywgaXQgd2lsbCBoYXZlIGEgYGhlYWRgIHByb3BlcnR5IHdpdGhcbiAgICAvLyBhIHBlbmRpbmcgcHJvbWlzZSB0aGF0IG5lZWRzIHRvIGJlIHJlc29sdmVkLiBJZiBhbiBlcnJvciB3YXMgcHJvdmlkZWQsIHdlXG4gICAgLy8gd2lsbCBub3QgcmVzb2x2ZSBpdCB3aXRoIGFuIGVycm9yLCBzaW5jZSB0aGlzIGlzIHJlbmRlcmVkIGF0IHRoZSByb290IG9mXG4gICAgLy8gdGhlIGFwcC4gV2Ugd2FudCB0aGUgc2VnbWVudCB0byBlcnJvciwgbm90IHRoZSBlbnRpcmUgYXBwLlxuICAgIGNvbnN0IGhlYWQgPSBjYWNoZU5vZGUuaGVhZDtcbiAgICBpZiAoaXNEZWZlcnJlZFJzYyhoZWFkKSkge1xuICAgICAgICBoZWFkLnJlc29sdmUobnVsbCk7XG4gICAgfVxufVxuZnVuY3Rpb24gdXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uKG9sZENhY2hlTm9kZSwgcm91dGVyU3RhdGUpIHtcbiAgICAvLyBBIHBvcHN0YXRlIG5hdmlnYXRpb24gcmVhZHMgZGF0YSBmcm9tIHRoZSBsb2NhbCBjYWNoZS4gSXQgZG9lcyBub3QgaXNzdWVcbiAgICAvLyBuZXcgbmV0d29yayByZXF1ZXN0cyAodW5sZXNzIHRoZSBjYWNoZSBlbnRyaWVzIGhhdmUgYmVlbiBldmljdGVkKS4gU28sIHdlXG4gICAgLy8gdXBkYXRlIHRoZSBjYWNoZSB0byBkcm9wIHRoZSBwcmVmZXRjaCAgZGF0YSBmb3IgYW55IHNlZ21lbnQgd2hvc2UgZHluYW1pY1xuICAgIC8vIGRhdGEgd2FzIGFscmVhZHkgcmVjZWl2ZWQuIFRoaXMgcHJldmVudHMgYW4gdW5uZWNlc3NhcnkgZmxhc2ggYmFjayB0byBQUFJcbiAgICAvLyBzdGF0ZSBkdXJpbmcgYSBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbi5cbiAgICAvL1xuICAgIC8vIFRoaXMgZnVuY3Rpb24gY2xvbmVzIHRoZSBlbnRpcmUgY2FjaGUgbm9kZSB0cmVlIGFuZCBzZXRzIHRoZSBgcHJlZmV0Y2hSc2NgXG4gICAgLy8gZmllbGQgdG8gYG51bGxgIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyByZW5kZXJlZC4gV2UgY2FuJ3QgbXV0YXRlIHRoZSBub2RlXG4gICAgLy8gaW4gcGxhY2UgYmVjYXVzZSB0aGlzIGlzIGEgY29uY3VycmVudCBkYXRhIHN0cnVjdHVyZS5cbiAgICBjb25zdCByb3V0ZXJTdGF0ZUNoaWxkcmVuID0gcm91dGVyU3RhdGVbMV07XG4gICAgY29uc3Qgb2xkUGFyYWxsZWxSb3V0ZXMgPSBvbGRDYWNoZU5vZGUucGFyYWxsZWxSb3V0ZXM7XG4gICAgY29uc3QgbmV3UGFyYWxsZWxSb3V0ZXMgPSBuZXcgTWFwKG9sZFBhcmFsbGVsUm91dGVzKTtcbiAgICBmb3IobGV0IHBhcmFsbGVsUm91dGVLZXkgaW4gcm91dGVyU3RhdGVDaGlsZHJlbil7XG4gICAgICAgIGNvbnN0IHJvdXRlclN0YXRlQ2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkcmVuW3BhcmFsbGVsUm91dGVLZXldO1xuICAgICAgICBjb25zdCBzZWdtZW50Q2hpbGQgPSByb3V0ZXJTdGF0ZUNoaWxkWzBdO1xuICAgICAgICBjb25zdCBzZWdtZW50S2V5Q2hpbGQgPSAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShzZWdtZW50Q2hpbGQpO1xuICAgICAgICBjb25zdCBvbGRTZWdtZW50TWFwQ2hpbGQgPSBvbGRQYXJhbGxlbFJvdXRlcy5nZXQocGFyYWxsZWxSb3V0ZUtleSk7XG4gICAgICAgIGlmIChvbGRTZWdtZW50TWFwQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgY29uc3Qgb2xkQ2FjaGVOb2RlQ2hpbGQgPSBvbGRTZWdtZW50TWFwQ2hpbGQuZ2V0KHNlZ21lbnRLZXlDaGlsZCk7XG4gICAgICAgICAgICBpZiAob2xkQ2FjaGVOb2RlQ2hpbGQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5ld0NhY2hlTm9kZUNoaWxkID0gdXBkYXRlQ2FjaGVOb2RlT25Qb3BzdGF0ZVJlc3RvcmF0aW9uKG9sZENhY2hlTm9kZUNoaWxkLCByb3V0ZXJTdGF0ZUNoaWxkKTtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXdTZWdtZW50TWFwQ2hpbGQgPSBuZXcgTWFwKG9sZFNlZ21lbnRNYXBDaGlsZCk7XG4gICAgICAgICAgICAgICAgbmV3U2VnbWVudE1hcENoaWxkLnNldChzZWdtZW50S2V5Q2hpbGQsIG5ld0NhY2hlTm9kZUNoaWxkKTtcbiAgICAgICAgICAgICAgICBuZXdQYXJhbGxlbFJvdXRlcy5zZXQocGFyYWxsZWxSb3V0ZUtleSwgbmV3U2VnbWVudE1hcENoaWxkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBPbmx5IHNob3cgcHJlZmV0Y2hlZCBkYXRhIGlmIHRoZSBkeW5hbWljIGRhdGEgaXMgc3RpbGwgcGVuZGluZy5cbiAgICAvL1xuICAgIC8vIFRlaG5pY2FsbHksIHdoYXQgd2UncmUgYWN0dWFsbHkgY2hlY2tpbmcgaXMgd2hldGhlciB0aGUgZHluYW1pYyBuZXR3b3JrXG4gICAgLy8gcmVzcG9uc2Ugd2FzIHJlY2VpdmVkLiBCdXQgc2luY2UgaXQncyBhIHN0cmVhbWluZyByZXNwb25zZSwgdGhpcyBkb2VzIG5vdFxuICAgIC8vIG1lYW4gdGhhdCBhbGwgdGhlIGR5bmFtaWMgZGF0YSBoYXMgZnVsbHkgc3RyZWFtZWQgaW4uIEl0IGp1c3QgbWVhbnMgdGhhdFxuICAgIC8vIF9zb21lXyBvZiB0aGUgZHluYW1pYyBkYXRhIHdhcyByZWNlaXZlZC4gQnV0IGFzIGEgaGV1cmlzdGljLCB3ZSBhc3N1bWUgdGhhdFxuICAgIC8vIHRoZSByZXN0IGR5bmFtaWMgZGF0YSB3aWxsIHN0cmVhbSBpbiBxdWlja2x5LCBzbyBpdCdzIHN0aWxsIGJldHRlciB0byBza2lwXG4gICAgLy8gdGhlIHByZWZldGNoIHN0YXRlLlxuICAgIGNvbnN0IHJzYyA9IG9sZENhY2hlTm9kZS5yc2M7XG4gICAgY29uc3Qgc2hvdWxkVXNlUHJlZmV0Y2ggPSBpc0RlZmVycmVkUnNjKHJzYykgJiYgcnNjLnN0YXR1cyA9PT0gXCJwZW5kaW5nXCI7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgIHJzYyxcbiAgICAgICAgaGVhZDogb2xkQ2FjaGVOb2RlLmhlYWQsXG4gICAgICAgIHByZWZldGNoSGVhZDogc2hvdWxkVXNlUHJlZmV0Y2ggPyBvbGRDYWNoZU5vZGUucHJlZmV0Y2hIZWFkIDogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hSc2M6IHNob3VsZFVzZVByZWZldGNoID8gb2xkQ2FjaGVOb2RlLnByZWZldGNoUnNjIDogbnVsbCxcbiAgICAgICAgLy8gVGhlc2UgYXJlIHRoZSBjbG9uZWQgY2hpbGRyZW4gd2UgY29tcHV0ZWQgYWJvdmVcbiAgICAgICAgcGFyYWxsZWxSb3V0ZXM6IG5ld1BhcmFsbGVsUm91dGVzXG4gICAgfTtcbn1cbmNvbnN0IERFRkVSUkVEID0gU3ltYm9sKCk7XG4vLyBUaGlzIHR5cGUgZXhpc3RzIHRvIGRpc3Rpbmd1aXNoIGEgRGVmZXJyZWRSc2MgZnJvbSBhIEZsaWdodCBwcm9taXNlLiBJdCdzIGFcbi8vIGNvbXByb21pc2UgdG8gYXZvaWQgYWRkaW5nIGFuIGV4dHJhIGZpZWxkIG9uIGV2ZXJ5IENhY2hlIE5vZGUsIHdoaWNoIHdvdWxkIGJlXG4vLyBhd2t3YXJkIGJlY2F1c2UgdGhlIHByZS1QUFIgcGFydHMgb2YgY29kZWJhc2Ugd291bGQgbmVlZCB0byBhY2NvdW50IGZvciBpdCxcbi8vIHRvby4gV2UgY2FuIHJlbW92ZSBpdCBvbmNlIHR5cGUgQ2FjaGUgTm9kZSB0eXBlIGlzIG1vcmUgc2V0dGxlZC5cbmZ1bmN0aW9uIGlzRGVmZXJyZWRSc2ModmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgJiYgdmFsdWUudGFnID09PSBERUZFUlJFRDtcbn1cbmZ1bmN0aW9uIGNyZWF0ZURlZmVycmVkUnNjKCkge1xuICAgIGxldCByZXNvbHZlO1xuICAgIGxldCByZWplY3Q7XG4gICAgY29uc3QgcGVuZGluZ1JzYyA9IG5ldyBQcm9taXNlKChyZXMsIHJlaik9PntcbiAgICAgICAgcmVzb2x2ZSA9IHJlcztcbiAgICAgICAgcmVqZWN0ID0gcmVqO1xuICAgIH0pO1xuICAgIHBlbmRpbmdSc2Muc3RhdHVzID0gXCJwZW5kaW5nXCI7XG4gICAgcGVuZGluZ1JzYy5yZXNvbHZlID0gKHZhbHVlKT0+e1xuICAgICAgICBpZiAocGVuZGluZ1JzYy5zdGF0dXMgPT09IFwicGVuZGluZ1wiKSB7XG4gICAgICAgICAgICBjb25zdCBmdWxmaWxsZWRSc2MgPSBwZW5kaW5nUnNjO1xuICAgICAgICAgICAgZnVsZmlsbGVkUnNjLnN0YXR1cyA9IFwiZnVsZmlsbGVkXCI7XG4gICAgICAgICAgICBmdWxmaWxsZWRSc2MudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHJlc29sdmUodmFsdWUpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBwZW5kaW5nUnNjLnJlamVjdCA9IChlcnJvcik9PntcbiAgICAgICAgaWYgKHBlbmRpbmdSc2Muc3RhdHVzID09PSBcInBlbmRpbmdcIikge1xuICAgICAgICAgICAgY29uc3QgcmVqZWN0ZWRSc2MgPSBwZW5kaW5nUnNjO1xuICAgICAgICAgICAgcmVqZWN0ZWRSc2Muc3RhdHVzID0gXCJyZWplY3RlZFwiO1xuICAgICAgICAgICAgcmVqZWN0ZWRSc2MucmVhc29uID0gZXJyb3I7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBwZW5kaW5nUnNjLnRhZyA9IERFRkVSUkVEO1xuICAgIHJldHVybiBwZW5kaW5nUnNjO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcHItbmF2aWdhdGlvbnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwidXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uIiwibGlzdGVuRm9yRHluYW1pY1JlcXVlc3QiLCJhYm9ydFRhc2siLCJ1cGRhdGVDYWNoZU5vZGVPblBvcHN0YXRlUmVzdG9yYXRpb24iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfc2VnbWVudCIsInJlcXVpcmUiLCJfbWF0Y2hzZWdtZW50cyIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsIm9sZENhY2hlTm9kZSIsIm9sZFJvdXRlclN0YXRlIiwibmV3Um91dGVyU3RhdGUiLCJwcmVmZXRjaERhdGEiLCJwcmVmZXRjaEhlYWQiLCJpc1ByZWZldGNoU3RhbGUiLCJvbGRSb3V0ZXJTdGF0ZUNoaWxkcmVuIiwibmV3Um91dGVyU3RhdGVDaGlsZHJlbiIsInByZWZldGNoRGF0YUNoaWxkcmVuIiwib2xkUGFyYWxsZWxSb3V0ZXMiLCJwYXJhbGxlbFJvdXRlcyIsInByZWZldGNoUGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJwYXRjaGVkUm91dGVyU3RhdGVDaGlsZHJlbiIsInRhc2tDaGlsZHJlbiIsInBhcmFsbGVsUm91dGVLZXkiLCJuZXdSb3V0ZXJTdGF0ZUNoaWxkIiwib2xkUm91dGVyU3RhdGVDaGlsZCIsIm9sZFNlZ21lbnRNYXBDaGlsZCIsInByZWZldGNoRGF0YUNoaWxkIiwibmV3U2VnbWVudENoaWxkIiwibmV3U2VnbWVudEtleUNoaWxkIiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJvbGRTZWdtZW50Q2hpbGQiLCJ1bmRlZmluZWQiLCJvbGRDYWNoZU5vZGVDaGlsZCIsInRhc2tDaGlsZCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJzcGF3blBlbmRpbmdUYXNrIiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsInNwYXduUmV1c2VkVGFzayIsIm1hdGNoU2VnbWVudCIsInNwYXduVGFza0Zvck1pc3NpbmdEYXRhIiwic2V0IiwibmV3Q2FjaGVOb2RlQ2hpbGQiLCJub2RlIiwibmV3U2VnbWVudE1hcENoaWxkIiwicm91dGUiLCJuZXdDYWNoZU5vZGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInBhdGNoUm91dGVyU3RhdGVXaXRoTmV3Q2hpbGRyZW4iLCJjaGlsZHJlbiIsImJhc2VSb3V0ZXJTdGF0ZSIsIm5ld0NoaWxkcmVuIiwiY2xvbmUiLCJyb3V0ZXJTdGF0ZSIsInBlbmRpbmdDYWNoZU5vZGUiLCJjcmVhdGVQZW5kaW5nQ2FjaGVOb2RlIiwicmV1c2VkUm91dGVyU3RhdGUiLCJ0YXNrIiwicmVzcG9uc2VQcm9taXNlIiwidGhlbiIsInJlc3BvbnNlIiwiZmxpZ2h0RGF0YSIsImZsaWdodERhdGFQYXRoIiwic2VnbWVudFBhdGgiLCJzbGljZSIsInNlcnZlclJvdXRlclN0YXRlIiwibGVuZ3RoIiwiZHluYW1pY0RhdGEiLCJkeW5hbWljSGVhZCIsIndyaXRlRHluYW1pY0RhdGFJbnRvUGVuZGluZ1Rhc2siLCJlcnJvciIsInJvb3RUYXNrIiwiaSIsInNlZ21lbnQiLCJ0YXNrU2VnbWVudCIsImZpbmlzaFRhc2tVc2luZ0R5bmFtaWNEYXRhUGF5bG9hZCIsInRhc2tOb2RlIiwiZmluaXNoUGVuZGluZ0NhY2hlTm9kZSIsInNlcnZlckNoaWxkcmVuIiwiZHluYW1pY0RhdGFDaGlsZHJlbiIsInNlcnZlclJvdXRlclN0YXRlQ2hpbGQiLCJkeW5hbWljRGF0YUNoaWxkIiwicm91dGVyU3RhdGVDaGlsZHJlbiIsInJvdXRlclN0YXRlQ2hpbGQiLCJzZWdtZW50Q2hpbGQiLCJzZWdtZW50S2V5Q2hpbGQiLCJpc0xlYWZTZWdtZW50Iiwic2l6ZSIsIm1heWJlUHJlZmV0Y2hSc2MiLCJjcmVhdGVEZWZlcnJlZFJzYyIsImNhY2hlTm9kZSIsInRhc2tTdGF0ZSIsInNlcnZlclN0YXRlIiwidGFza1N0YXRlQ2hpbGRyZW4iLCJzZXJ2ZXJTdGF0ZUNoaWxkcmVuIiwiZGF0YUNoaWxkcmVuIiwidGFza1N0YXRlQ2hpbGQiLCJzZXJ2ZXJTdGF0ZUNoaWxkIiwiZGF0YUNoaWxkIiwic2VnbWVudE1hcENoaWxkIiwidGFza1NlZ21lbnRDaGlsZCIsInRhc2tTZWdtZW50S2V5Q2hpbGQiLCJjYWNoZU5vZGVDaGlsZCIsImFib3J0UGVuZGluZ0NhY2hlTm9kZSIsImR5bmFtaWNTZWdtZW50RGF0YSIsImlzRGVmZXJyZWRSc2MiLCJyZXNvbHZlIiwidmFsdWVzIiwicmVqZWN0IiwibmV3UGFyYWxsZWxSb3V0ZXMiLCJzaG91bGRVc2VQcmVmZXRjaCIsInN0YXR1cyIsIkRFRkVSUkVEIiwiU3ltYm9sIiwidGFnIiwicGVuZGluZ1JzYyIsIlByb21pc2UiLCJyZXMiLCJyZWoiLCJmdWxmaWxsZWRSc2MiLCJyZWplY3RlZFJzYyIsInJlYXNvbiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js ***! \*******************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createPrefetchCacheKey\", ({\n enumerable: true,\n get: function() {\n return createPrefetchCacheKey;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../../../../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ../../../../shared/lib/router/utils/path-has-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nfunction createPrefetchCacheKey(url, nextUrl) {\n const pathnameFromUrl = (0, _createhreffromurl.createHrefFromUrl)(url, false);\n // delimit the prefix so we don't conflict with other pages\n const nextUrlPrefix = \"\" + nextUrl + \"%\";\n // Route interception depends on `nextUrl` values which aren't a 1:1 mapping to a URL\n // The cache key that we store needs to use `nextUrl` to properly distinguish cache entries\n if (nextUrl && !(0, _pathhasprefix.pathHasPrefix)(pathnameFromUrl, nextUrl)) {\n return (0, _addpathprefix.addPathPrefix)(pathnameFromUrl, nextUrlPrefix);\n }\n return pathnameFromUrl;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=create-prefetch-cache-key.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2NyZWF0ZS1wcmVmZXRjaC1jYWNoZS1rZXkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBEQUF5RDtJQUNyREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlCQUFpQkMsbUJBQU9BLENBQUMsc0lBQXFEO0FBQ3BGLE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsc0lBQXFEO0FBQ3BGLE1BQU1FLHFCQUFxQkYsbUJBQU9BLENBQUMsd0hBQXlCO0FBQzVELFNBQVNGLHVCQUF1QkssR0FBRyxFQUFFQyxPQUFPO0lBQ3hDLE1BQU1DLGtCQUFrQixDQUFDLEdBQUdILG1CQUFtQkksaUJBQWlCLEVBQUVILEtBQ2xFO0lBQ0EsMkRBQTJEO0lBQzNELE1BQU1JLGdCQUFnQixLQUFLSCxVQUFVO0lBQ3JDLHFGQUFxRjtJQUNyRiwyRkFBMkY7SUFDM0YsSUFBSUEsV0FBVyxDQUFDLENBQUMsR0FBR0gsZUFBZU8sYUFBYSxFQUFFSCxpQkFBaUJELFVBQVU7UUFDekUsT0FBTyxDQUFDLEdBQUdMLGVBQWVVLGFBQWEsRUFBRUosaUJBQWlCRTtJQUM5RDtJQUNBLE9BQU9GO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWdCLE9BQU8sS0FBSyxjQUFlLE9BQU9oQixRQUFRZ0IsT0FBTyxLQUFLLFlBQVloQixRQUFRZ0IsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPaEIsUUFBUWdCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktuQixPQUFPQyxjQUFjLENBQUNDLFFBQVFnQixPQUFPLEVBQUUsY0FBYztRQUFFZixPQUFPO0lBQUs7SUFDbkVILE9BQU9vQixNQUFNLENBQUNsQixRQUFRZ0IsT0FBTyxFQUFFaEI7SUFDL0JtQixPQUFPbkIsT0FBTyxHQUFHQSxRQUFRZ0IsT0FBTztBQUNsQyxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2NyZWF0ZS1wcmVmZXRjaC1jYWNoZS1rZXkuanM/ZjQ5MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZVByZWZldGNoQ2FjaGVLZXlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVByZWZldGNoQ2FjaGVLZXk7XG4gICAgfVxufSk7XG5jb25zdCBfYWRkcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXhcIik7XG5jb25zdCBfcGF0aGhhc3ByZWZpeCA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXRoLWhhcy1wcmVmaXhcIik7XG5jb25zdCBfY3JlYXRlaHJlZmZyb211cmwgPSByZXF1aXJlKFwiLi4vY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5mdW5jdGlvbiBjcmVhdGVQcmVmZXRjaENhY2hlS2V5KHVybCwgbmV4dFVybCkge1xuICAgIGNvbnN0IHBhdGhuYW1lRnJvbVVybCA9ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKHVybCwgLy8gRW5zdXJlcyB0aGUgaGFzaCBpcyBub3QgcGFydCBvZiB0aGUgY2FjaGUga2V5IGFzIGl0IGRvZXMgbm90IGltcGFjdCB0aGUgc2VydmVyIGZldGNoXG4gICAgZmFsc2UpO1xuICAgIC8vIGRlbGltaXQgdGhlIHByZWZpeCBzbyB3ZSBkb24ndCBjb25mbGljdCB3aXRoIG90aGVyIHBhZ2VzXG4gICAgY29uc3QgbmV4dFVybFByZWZpeCA9IFwiXCIgKyBuZXh0VXJsICsgXCIlXCI7XG4gICAgLy8gUm91dGUgaW50ZXJjZXB0aW9uIGRlcGVuZHMgb24gYG5leHRVcmxgIHZhbHVlcyB3aGljaCBhcmVuJ3QgYSAxOjEgbWFwcGluZyB0byBhIFVSTFxuICAgIC8vIFRoZSBjYWNoZSBrZXkgdGhhdCB3ZSBzdG9yZSBuZWVkcyB0byB1c2UgYG5leHRVcmxgIHRvIHByb3Blcmx5IGRpc3Rpbmd1aXNoIGNhY2hlIGVudHJpZXNcbiAgICBpZiAobmV4dFVybCAmJiAhKDAsIF9wYXRoaGFzcHJlZml4LnBhdGhIYXNQcmVmaXgpKHBhdGhuYW1lRnJvbVVybCwgbmV4dFVybCkpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfYWRkcGF0aHByZWZpeC5hZGRQYXRoUHJlZml4KShwYXRobmFtZUZyb21VcmwsIG5leHRVcmxQcmVmaXgpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aG5hbWVGcm9tVXJsO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jcmVhdGUtcHJlZmV0Y2gtY2FjaGUta2V5LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjcmVhdGVQcmVmZXRjaENhY2hlS2V5IiwiX2FkZHBhdGhwcmVmaXgiLCJyZXF1aXJlIiwiX3BhdGhoYXNwcmVmaXgiLCJfY3JlYXRlaHJlZmZyb211cmwiLCJ1cmwiLCJuZXh0VXJsIiwicGF0aG5hbWVGcm9tVXJsIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJuZXh0VXJsUHJlZml4IiwicGF0aEhhc1ByZWZpeCIsImFkZFBhdGhQcmVmaXgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"fastRefreshReducer\", ({\n enumerable: true,\n get: function() {\n return fastRefreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\n// A version of refresh reducer that keeps the cache around instead of wiping all of it.\nfunction fastRefreshReducerImpl(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n state.tree[0],\n state.tree[1],\n state.tree[2],\n \"refetch\"\n ], state.nextUrl, state.buildId);\n return cache.lazyData.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)([\n \"\"\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n if (applied) {\n mutable.cache = cache;\n currentCache = cache;\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nfunction fastRefreshReducerNoop(state, _action) {\n return state;\n}\nconst fastRefreshReducer = false ? 0 : fastRefreshReducerImpl;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=fast-refresh-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2Zhc3QtcmVmcmVzaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx1QkFBdUJDLG1CQUFPQSxDQUFDLDBIQUEwQjtBQUMvRCxNQUFNQyxxQkFBcUJELG1CQUFPQSxDQUFDLHdIQUF5QjtBQUM1RCxNQUFNRSwrQkFBK0JGLG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNRywrQkFBK0JILG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNSSxtQkFBbUJKLG1CQUFPQSxDQUFDLHdIQUFvQjtBQUNyRCxNQUFNSyxpQkFBaUJMLG1CQUFPQSxDQUFDLDRHQUFtQjtBQUNsRCxNQUFNTSxtQkFBbUJOLG1CQUFPQSxDQUFDLGtIQUFzQjtBQUN2RCxNQUFNTyxhQUFhUCxtQkFBT0EsQ0FBQyx3RkFBa0I7QUFDN0MsTUFBTVEseUJBQXlCUixtQkFBT0EsQ0FBQyw4SEFBNEI7QUFDbkUsd0ZBQXdGO0FBQ3hGLFNBQVNTLHVCQUF1QkMsS0FBSyxFQUFFQyxNQUFNO0lBQ3pDLE1BQU0sRUFBRUMsTUFBTSxFQUFFLEdBQUdEO0lBQ25CLE1BQU1FLFVBQVUsQ0FBQztJQUNqQixNQUFNQyxPQUFPSixNQUFNSyxZQUFZO0lBQy9CRixRQUFRRywwQkFBMEIsR0FBRztJQUNyQyxNQUFNQyxRQUFRLENBQUMsR0FBR1YsV0FBV1csb0JBQW9CO0lBQ2pELHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENELE1BQU1FLFFBQVEsR0FBRyxDQUFDLEdBQUdwQixxQkFBcUJxQixtQkFBbUIsRUFBRSxJQUFJQyxJQUFJUCxNQUFNRixTQUFTO1FBQ2xGRixNQUFNWSxJQUFJLENBQUMsRUFBRTtRQUNiWixNQUFNWSxJQUFJLENBQUMsRUFBRTtRQUNiWixNQUFNWSxJQUFJLENBQUMsRUFBRTtRQUNiO0tBQ0gsRUFBRVosTUFBTWEsT0FBTyxFQUFFYixNQUFNYyxPQUFPO0lBQy9CLE9BQU9QLE1BQU1FLFFBQVEsQ0FBQ00sSUFBSSxDQUFDLENBQUNDO1FBQ3hCLElBQUksQ0FBQ0MsWUFBWUMscUJBQXFCLEdBQUdGO1FBQ3pDLDREQUE0RDtRQUM1RCxJQUFJLE9BQU9DLGVBQWUsVUFBVTtZQUNoQyxPQUFPLENBQUMsR0FBR3ZCLGlCQUFpQnlCLGlCQUFpQixFQUFFbkIsT0FBT0csU0FBU2MsWUFBWWpCLE1BQU1vQixPQUFPLENBQUNDLFdBQVc7UUFDeEc7UUFDQSwrREFBK0Q7UUFDL0RkLE1BQU1FLFFBQVEsR0FBRztRQUNqQixJQUFJYSxjQUFjdEIsTUFBTVksSUFBSTtRQUM1QixJQUFJVyxlQUFldkIsTUFBTU8sS0FBSztRQUM5QixLQUFLLE1BQU1pQixrQkFBa0JQLFdBQVc7WUFDcEMsb0ZBQW9GO1lBQ3BGLElBQUlPLGVBQWVDLE1BQU0sS0FBSyxHQUFHO2dCQUM3QixvQ0FBb0M7Z0JBQ3BDQyxRQUFRQyxHQUFHLENBQUM7Z0JBQ1osT0FBTzNCO1lBQ1g7WUFDQSxtR0FBbUc7WUFDbkcsTUFBTSxDQUFDNEIsVUFBVSxHQUFHSjtZQUNwQixNQUFNSyxVQUFVLENBQUMsR0FBR3JDLDZCQUE2QnNDLHNDQUFzQyxFQUN2RjtnQkFDSTthQUNILEVBQUVSLGFBQWFNO1lBQ2hCLElBQUlDLFlBQVksTUFBTTtnQkFDbEIsT0FBTyxDQUFDLEdBQUcvQix1QkFBdUJpQyxxQkFBcUIsRUFBRS9CLE9BQU9DLFFBQVEyQjtZQUM1RTtZQUNBLElBQUksQ0FBQyxHQUFHbkMsNkJBQTZCdUMsMkJBQTJCLEVBQUVWLGFBQWFPLFVBQVU7Z0JBQ3JGLE9BQU8sQ0FBQyxHQUFHbkMsaUJBQWlCeUIsaUJBQWlCLEVBQUVuQixPQUFPRyxTQUFTQyxNQUFNSixNQUFNb0IsT0FBTyxDQUFDQyxXQUFXO1lBQ2xHO1lBQ0EsTUFBTVksMkJBQTJCZix1QkFBdUIsQ0FBQyxHQUFHM0IsbUJBQW1CMkMsaUJBQWlCLEVBQUVoQix3QkFBd0JpQjtZQUMxSCxJQUFJakIsc0JBQXNCO2dCQUN0QmYsUUFBUUUsWUFBWSxHQUFHNEI7WUFDM0I7WUFDQSxNQUFNRyxVQUFVLENBQUMsR0FBR3hDLGlCQUFpQnlDLGVBQWUsRUFBRWQsY0FBY2hCLE9BQU9pQjtZQUMzRSxJQUFJWSxTQUFTO2dCQUNUakMsUUFBUUksS0FBSyxHQUFHQTtnQkFDaEJnQixlQUFlaEI7WUFDbkI7WUFDQUosUUFBUW1DLFdBQVcsR0FBR1Q7WUFDdEIxQixRQUFRRSxZQUFZLEdBQUdEO1lBQ3ZCa0IsY0FBY087UUFDbEI7UUFDQSxPQUFPLENBQUMsR0FBR2xDLGVBQWU0QyxhQUFhLEVBQUV2QyxPQUFPRztJQUNwRCxHQUFHLElBQUlIO0FBQ1g7QUFDQSxTQUFTd0MsdUJBQXVCeEMsS0FBSyxFQUFFeUMsT0FBTztJQUMxQyxPQUFPekM7QUFDWDtBQUNBLE1BQU1aLHFCQUFxQnNELE1BQXFDLEdBQUdGLENBQXNCQSxHQUFHekM7QUFFNUYsSUFBSSxDQUFDLE9BQU9mLFFBQVEyRCxPQUFPLEtBQUssY0FBZSxPQUFPM0QsUUFBUTJELE9BQU8sS0FBSyxZQUFZM0QsUUFBUTJELE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNELFFBQVEyRCxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkQsT0FBTyxFQUFFLGNBQWM7UUFBRTFELE9BQU87SUFBSztJQUNuRUgsT0FBTytELE1BQU0sQ0FBQzdELFFBQVEyRCxPQUFPLEVBQUUzRDtJQUMvQjhELE9BQU85RCxPQUFPLEdBQUdBLFFBQVEyRCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmFzdC1yZWZyZXNoLXJlZHVjZXIuanM/MTNhMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZhc3RSZWZyZXNoUmVkdWNlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZmFzdFJlZnJlc2hSZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ZldGNoc2VydmVycmVzcG9uc2UgPSByZXF1aXJlKFwiLi4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlXCIpO1xuY29uc3QgX2NyZWF0ZWhyZWZmcm9tdXJsID0gcmVxdWlyZShcIi4uL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSA9IHJlcXVpcmUoXCIuLi9hcHBseS1yb3V0ZXItc3RhdGUtcGF0Y2gtdG8tdHJlZVwiKTtcbmNvbnN0IF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQgPSByZXF1aXJlKFwiLi4vaXMtbmF2aWdhdGluZy10by1uZXctcm9vdC1sYXlvdXRcIik7XG5jb25zdCBfbmF2aWdhdGVyZWR1Y2VyID0gcmVxdWlyZShcIi4vbmF2aWdhdGUtcmVkdWNlclwiKTtcbmNvbnN0IF9oYW5kbGVtdXRhYmxlID0gcmVxdWlyZShcIi4uL2hhbmRsZS1tdXRhYmxlXCIpO1xuY29uc3QgX2FwcGx5ZmxpZ2h0ZGF0YSA9IHJlcXVpcmUoXCIuLi9hcHBseS1mbGlnaHQtZGF0YVwiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi4vLi4vYXBwLXJvdXRlclwiKTtcbmNvbnN0IF9oYW5kbGVzZWdtZW50bWlzbWF0Y2ggPSByZXF1aXJlKFwiLi4vaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2hcIik7XG4vLyBBIHZlcnNpb24gb2YgcmVmcmVzaCByZWR1Y2VyIHRoYXQga2VlcHMgdGhlIGNhY2hlIGFyb3VuZCBpbnN0ZWFkIG9mIHdpcGluZyBhbGwgb2YgaXQuXG5mdW5jdGlvbiBmYXN0UmVmcmVzaFJlZHVjZXJJbXBsKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBjb25zdCB7IG9yaWdpbiB9ID0gYWN0aW9uO1xuICAgIGNvbnN0IG11dGFibGUgPSB7fTtcbiAgICBjb25zdCBocmVmID0gc3RhdGUuY2Fub25pY2FsVXJsO1xuICAgIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZTtcbiAgICBjb25zdCBjYWNoZSA9ICgwLCBfYXBwcm91dGVyLmNyZWF0ZUVtcHR5Q2FjaGVOb2RlKSgpO1xuICAgIC8vIFRPRE8tQVBQOiB2ZXJpZnkgdGhhdCBgaHJlZmAgaXMgbm90IGFuIGV4dGVybmFsIHVybC5cbiAgICAvLyBGZXRjaCBkYXRhIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHRyZWUuXG4gICAgY2FjaGUubGF6eURhdGEgPSAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkobmV3IFVSTChocmVmLCBvcmlnaW4pLCBbXG4gICAgICAgIHN0YXRlLnRyZWVbMF0sXG4gICAgICAgIHN0YXRlLnRyZWVbMV0sXG4gICAgICAgIHN0YXRlLnRyZWVbMl0sXG4gICAgICAgIFwicmVmZXRjaFwiXG4gICAgXSwgc3RhdGUubmV4dFVybCwgc3RhdGUuYnVpbGRJZCk7XG4gICAgcmV0dXJuIGNhY2hlLmxhenlEYXRhLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2ZsaWdodERhdGEsIGNhbm9uaWNhbFVybE92ZXJyaWRlXSA9IHBhcmFtO1xuICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgICAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBmbGlnaHREYXRhLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZW1vdmUgY2FjaGUubGF6eURhdGEgYXMgaXQgaGFzIGJlZW4gcmVzb2x2ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgICAgY2FjaGUubGF6eURhdGEgPSBudWxsO1xuICAgICAgICBsZXQgY3VycmVudFRyZWUgPSBzdGF0ZS50cmVlO1xuICAgICAgICBsZXQgY3VycmVudENhY2hlID0gc3RhdGUuY2FjaGU7XG4gICAgICAgIGZvciAoY29uc3QgZmxpZ2h0RGF0YVBhdGggb2YgZmxpZ2h0RGF0YSl7XG4gICAgICAgICAgICAvLyBGbGlnaHREYXRhUGF0aCB3aXRoIG1vcmUgdGhhbiB0d28gaXRlbXMgbWVhbnMgdW5leHBlY3RlZCBGbGlnaHQgZGF0YSB3YXMgcmV0dXJuZWRcbiAgICAgICAgICAgIGlmIChmbGlnaHREYXRhUGF0aC5sZW5ndGggIT09IDMpIHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogaGFuZGxlIHRoaXMgY2FzZSBiZXR0ZXJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhcIlJFRlJFU0ggRkFJTEVEXCIpO1xuICAgICAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEdpdmVuIHRoZSBwYXRoIGNhbiBvbmx5IGhhdmUgdHdvIGl0ZW1zIHRoZSBpdGVtcyBhcmUgb25seSB0aGUgcm91dGVyIHN0YXRlIGFuZCByc2MgZm9yIHRoZSByb290LlxuICAgICAgICAgICAgY29uc3QgW3RyZWVQYXRjaF0gPSBmbGlnaHREYXRhUGF0aDtcbiAgICAgICAgICAgIGNvbnN0IG5ld1RyZWUgPSAoMCwgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZS5hcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdCkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFwiXCJcbiAgICAgICAgICAgIF0sIGN1cnJlbnRUcmVlLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgaWYgKG5ld1RyZWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVzZWdtZW50bWlzbWF0Y2guaGFuZGxlU2VnbWVudE1pc21hdGNoKShzdGF0ZSwgYWN0aW9uLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCgwLCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0LmlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCkoY3VycmVudFRyZWUsIG5ld1RyZWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLmhhbmRsZUV4dGVybmFsVXJsKShzdGF0ZSwgbXV0YWJsZSwgaHJlZiwgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYgPSBjYW5vbmljYWxVcmxPdmVycmlkZSA/ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKGNhbm9uaWNhbFVybE92ZXJyaWRlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChjYW5vbmljYWxVcmxPdmVycmlkZSkge1xuICAgICAgICAgICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgYXBwbGllZCA9ICgwLCBfYXBwbHlmbGlnaHRkYXRhLmFwcGx5RmxpZ2h0RGF0YSkoY3VycmVudENhY2hlLCBjYWNoZSwgZmxpZ2h0RGF0YVBhdGgpO1xuICAgICAgICAgICAgaWYgKGFwcGxpZWQpIHtcbiAgICAgICAgICAgICAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGU7XG4gICAgICAgICAgICAgICAgY3VycmVudENhY2hlID0gY2FjaGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtdXRhYmxlLnBhdGNoZWRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gaHJlZjtcbiAgICAgICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVtdXRhYmxlLmhhbmRsZU11dGFibGUpKHN0YXRlLCBtdXRhYmxlKTtcbiAgICB9LCAoKT0+c3RhdGUpO1xufVxuZnVuY3Rpb24gZmFzdFJlZnJlc2hSZWR1Y2VyTm9vcChzdGF0ZSwgX2FjdGlvbikge1xuICAgIHJldHVybiBzdGF0ZTtcbn1cbmNvbnN0IGZhc3RSZWZyZXNoUmVkdWNlciA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcInByb2R1Y3Rpb25cIiA/IGZhc3RSZWZyZXNoUmVkdWNlck5vb3AgOiBmYXN0UmVmcmVzaFJlZHVjZXJJbXBsO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1mYXN0LXJlZnJlc2gtcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZmFzdFJlZnJlc2hSZWR1Y2VyIiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJyZXF1aXJlIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwiX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZSIsIl9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQiLCJfbmF2aWdhdGVyZWR1Y2VyIiwiX2hhbmRsZW11dGFibGUiLCJfYXBwbHlmbGlnaHRkYXRhIiwiX2FwcHJvdXRlciIsIl9oYW5kbGVzZWdtZW50bWlzbWF0Y2giLCJmYXN0UmVmcmVzaFJlZHVjZXJJbXBsIiwic3RhdGUiLCJhY3Rpb24iLCJvcmlnaW4iLCJtdXRhYmxlIiwiaHJlZiIsImNhbm9uaWNhbFVybCIsInByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlIiwiY2FjaGUiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsImxhenlEYXRhIiwiZmV0Y2hTZXJ2ZXJSZXNwb25zZSIsIlVSTCIsInRyZWUiLCJuZXh0VXJsIiwiYnVpbGRJZCIsInRoZW4iLCJwYXJhbSIsImZsaWdodERhdGEiLCJjYW5vbmljYWxVcmxPdmVycmlkZSIsImhhbmRsZUV4dGVybmFsVXJsIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiY3VycmVudFRyZWUiLCJjdXJyZW50Q2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsImxlbmd0aCIsImNvbnNvbGUiLCJsb2ciLCJ0cmVlUGF0Y2giLCJuZXdUcmVlIiwiYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQiLCJoYW5kbGVTZWdtZW50TWlzbWF0Y2giLCJpc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQiLCJjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsInVuZGVmaW5lZCIsImFwcGxpZWQiLCJhcHBseUZsaWdodERhdGEiLCJwYXRjaGVkVHJlZSIsImhhbmRsZU11dGFibGUiLCJmYXN0UmVmcmVzaFJlZHVjZXJOb29wIiwiX2FjdGlvbiIsInByb2Nlc3MiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"findHeadInCache\", ({\n enumerable: true,\n get: function() {\n return findHeadInCache;\n }\n}));\nconst _createroutercachekey = __webpack_require__(/*! ../create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\nfunction findHeadInCache(cache, parallelRoutes) {\n return findHeadInCacheImpl(cache, parallelRoutes, \"\");\n}\nfunction findHeadInCacheImpl(cache, parallelRoutes, keyPrefix) {\n const isLastItem = Object.keys(parallelRoutes).length === 0;\n if (isLastItem) {\n // Returns the entire Cache Node of the segment whose head we will render.\n return [\n cache,\n keyPrefix\n ];\n }\n for(const key in parallelRoutes){\n const [segment, childParallelRoutes] = parallelRoutes[key];\n const childSegmentMap = cache.parallelRoutes.get(key);\n if (!childSegmentMap) {\n continue;\n }\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(segment);\n const cacheNode = childSegmentMap.get(cacheKey);\n if (!cacheNode) {\n continue;\n }\n const item = findHeadInCacheImpl(cacheNode, childParallelRoutes, keyPrefix + \"/\" + cacheKey);\n if (item) {\n return item;\n }\n }\n return null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=find-head-in-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2ZpbmQtaGVhZC1pbi1jYWNoZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsbURBQWtEO0lBQzlDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsd0JBQXdCQyxtQkFBT0EsQ0FBQyw4SEFBNEI7QUFDbEUsU0FBU0YsZ0JBQWdCRyxLQUFLLEVBQUVDLGNBQWM7SUFDMUMsT0FBT0Msb0JBQW9CRixPQUFPQyxnQkFBZ0I7QUFDdEQ7QUFDQSxTQUFTQyxvQkFBb0JGLEtBQUssRUFBRUMsY0FBYyxFQUFFRSxTQUFTO0lBQ3pELE1BQU1DLGFBQWFiLE9BQU9jLElBQUksQ0FBQ0osZ0JBQWdCSyxNQUFNLEtBQUs7SUFDMUQsSUFBSUYsWUFBWTtRQUNaLDBFQUEwRTtRQUMxRSxPQUFPO1lBQ0hKO1lBQ0FHO1NBQ0g7SUFDTDtJQUNBLElBQUksTUFBTUksT0FBT04sZUFBZTtRQUM1QixNQUFNLENBQUNPLFNBQVNDLG9CQUFvQixHQUFHUixjQUFjLENBQUNNLElBQUk7UUFDMUQsTUFBTUcsa0JBQWtCVixNQUFNQyxjQUFjLENBQUNMLEdBQUcsQ0FBQ1c7UUFDakQsSUFBSSxDQUFDRyxpQkFBaUI7WUFDbEI7UUFDSjtRQUNBLE1BQU1DLFdBQVcsQ0FBQyxHQUFHYixzQkFBc0JjLG9CQUFvQixFQUFFSjtRQUNqRSxNQUFNSyxZQUFZSCxnQkFBZ0JkLEdBQUcsQ0FBQ2U7UUFDdEMsSUFBSSxDQUFDRSxXQUFXO1lBQ1o7UUFDSjtRQUNBLE1BQU1DLE9BQU9aLG9CQUFvQlcsV0FBV0oscUJBQXFCTixZQUFZLE1BQU1RO1FBQ25GLElBQUlHLE1BQU07WUFDTixPQUFPQTtRQUNYO0lBQ0o7SUFDQSxPQUFPO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT3JCLFFBQVFzQixPQUFPLEtBQUssY0FBZSxPQUFPdEIsUUFBUXNCLE9BQU8sS0FBSyxZQUFZdEIsUUFBUXNCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RCLFFBQVFzQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLekIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0IsT0FBTyxFQUFFLGNBQWM7UUFBRXJCLE9BQU87SUFBSztJQUNuRUgsT0FBTzBCLE1BQU0sQ0FBQ3hCLFFBQVFzQixPQUFPLEVBQUV0QjtJQUMvQnlCLE9BQU96QixPQUFPLEdBQUdBLFFBQVFzQixPQUFPO0FBQ2xDLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZmluZC1oZWFkLWluLWNhY2hlLmpzPzc1YzYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJmaW5kSGVhZEluQ2FjaGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZpbmRIZWFkSW5DYWNoZTtcbiAgICB9XG59KTtcbmNvbnN0IF9jcmVhdGVyb3V0ZXJjYWNoZWtleSA9IHJlcXVpcmUoXCIuLi9jcmVhdGUtcm91dGVyLWNhY2hlLWtleVwiKTtcbmZ1bmN0aW9uIGZpbmRIZWFkSW5DYWNoZShjYWNoZSwgcGFyYWxsZWxSb3V0ZXMpIHtcbiAgICByZXR1cm4gZmluZEhlYWRJbkNhY2hlSW1wbChjYWNoZSwgcGFyYWxsZWxSb3V0ZXMsIFwiXCIpO1xufVxuZnVuY3Rpb24gZmluZEhlYWRJbkNhY2hlSW1wbChjYWNoZSwgcGFyYWxsZWxSb3V0ZXMsIGtleVByZWZpeCkge1xuICAgIGNvbnN0IGlzTGFzdEl0ZW0gPSBPYmplY3Qua2V5cyhwYXJhbGxlbFJvdXRlcykubGVuZ3RoID09PSAwO1xuICAgIGlmIChpc0xhc3RJdGVtKSB7XG4gICAgICAgIC8vIFJldHVybnMgdGhlIGVudGlyZSBDYWNoZSBOb2RlIG9mIHRoZSBzZWdtZW50IHdob3NlIGhlYWQgd2Ugd2lsbCByZW5kZXIuXG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgIGtleVByZWZpeFxuICAgICAgICBdO1xuICAgIH1cbiAgICBmb3IoY29uc3Qga2V5IGluIHBhcmFsbGVsUm91dGVzKXtcbiAgICAgICAgY29uc3QgW3NlZ21lbnQsIGNoaWxkUGFyYWxsZWxSb3V0ZXNdID0gcGFyYWxsZWxSb3V0ZXNba2V5XTtcbiAgICAgICAgY29uc3QgY2hpbGRTZWdtZW50TWFwID0gY2FjaGUucGFyYWxsZWxSb3V0ZXMuZ2V0KGtleSk7XG4gICAgICAgIGlmICghY2hpbGRTZWdtZW50TWFwKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYWNoZUtleSA9ICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHNlZ21lbnQpO1xuICAgICAgICBjb25zdCBjYWNoZU5vZGUgPSBjaGlsZFNlZ21lbnRNYXAuZ2V0KGNhY2hlS2V5KTtcbiAgICAgICAgaWYgKCFjYWNoZU5vZGUpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGl0ZW0gPSBmaW5kSGVhZEluQ2FjaGVJbXBsKGNhY2hlTm9kZSwgY2hpbGRQYXJhbGxlbFJvdXRlcywga2V5UHJlZml4ICsgXCIvXCIgKyBjYWNoZUtleSk7XG4gICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICByZXR1cm4gaXRlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZmluZC1oZWFkLWluLWNhY2hlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJmaW5kSGVhZEluQ2FjaGUiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJyZXF1aXJlIiwiY2FjaGUiLCJwYXJhbGxlbFJvdXRlcyIsImZpbmRIZWFkSW5DYWNoZUltcGwiLCJrZXlQcmVmaXgiLCJpc0xhc3RJdGVtIiwia2V5cyIsImxlbmd0aCIsImtleSIsInNlZ21lbnQiLCJjaGlsZFBhcmFsbGVsUm91dGVzIiwiY2hpbGRTZWdtZW50TWFwIiwiY2FjaGVLZXkiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsImNhY2hlTm9kZSIsIml0ZW0iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js ***! \***********************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentValue\", ({\n enumerable: true,\n get: function() {\n return getSegmentValue;\n }\n}));\nfunction getSegmentValue(segment) {\n return Array.isArray(segment) ? segment[1] : segment;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-segment-value.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxnQkFBZ0JDLE9BQU87SUFDNUIsT0FBT0MsTUFBTUMsT0FBTyxDQUFDRixXQUFXQSxPQUFPLENBQUMsRUFBRSxHQUFHQTtBQUNqRDtBQUVBLElBQUksQ0FBQyxPQUFPTCxRQUFRUSxPQUFPLEtBQUssY0FBZSxPQUFPUixRQUFRUSxPQUFPLEtBQUssWUFBWVIsUUFBUVEsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPUixRQUFRUSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLWCxPQUFPQyxjQUFjLENBQUNDLFFBQVFRLE9BQU8sRUFBRSxjQUFjO1FBQUVQLE9BQU87SUFBSztJQUNuRUgsT0FBT1ksTUFBTSxDQUFDVixRQUFRUSxPQUFPLEVBQUVSO0lBQy9CVyxPQUFPWCxPQUFPLEdBQUdBLFFBQVFRLE9BQU87QUFDbEMsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9nZXQtc2VnbWVudC12YWx1ZS5qcz80ZTYzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0U2VnbWVudFZhbHVlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRTZWdtZW50VmFsdWU7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBnZXRTZWdtZW50VmFsdWUoc2VnbWVudCkge1xuICAgIHJldHVybiBBcnJheS5pc0FycmF5KHNlZ21lbnQpID8gc2VnbWVudFsxXSA6IHNlZ21lbnQ7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1zZWdtZW50LXZhbHVlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRTZWdtZW50VmFsdWUiLCJzZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js": /*!**********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js ***! \**********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n handleExternalUrl: function() {\n return handleExternalUrl;\n },\n navigateReducer: function() {\n return navigateReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _invalidatecachebelowflightsegmentpath = __webpack_require__(/*! ../invalidate-cache-below-flight-segmentpath */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/invalidate-cache-below-flight-segmentpath.js\");\nconst _fillcachewithdataproperty = __webpack_require__(/*! ../fill-cache-with-data-property */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-cache-with-data-property.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _shouldhardnavigate = __webpack_require__(/*! ../should-hard-navigate */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _getprefetchcacheentrystatus = __webpack_require__(/*! ../get-prefetch-cache-entry-status */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js\");\nconst _pruneprefetchcache = __webpack_require__(/*! ./prune-prefetch-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _segment = __webpack_require__(/*! ../../../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nconst _createprefetchcachekey = __webpack_require__(/*! ./create-prefetch-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js\");\nfunction handleExternalUrl(state, mutable, url, pendingPush) {\n mutable.mpaNavigation = true;\n mutable.canonicalUrl = url;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = undefined;\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nfunction generateSegmentsFromPatch(flightRouterPatch) {\n const segments = [];\n const [segment, parallelRoutes] = flightRouterPatch;\n if (Object.keys(parallelRoutes).length === 0) {\n return [\n [\n segment\n ]\n ];\n }\n for (const [parallelRouteKey, parallelRoute] of Object.entries(parallelRoutes)){\n for (const childSegment of generateSegmentsFromPatch(parallelRoute)){\n // If the segment is empty, it means we are at the root of the tree\n if (segment === \"\") {\n segments.push([\n parallelRouteKey,\n ...childSegment\n ]);\n } else {\n segments.push([\n segment,\n parallelRouteKey,\n ...childSegment\n ]);\n }\n }\n }\n return segments;\n}\nfunction addRefetchToLeafSegments(newCache, currentCache, flightSegmentPath, treePatch, data) {\n let appliedPatch = false;\n newCache.rsc = currentCache.rsc;\n newCache.prefetchRsc = currentCache.prefetchRsc;\n newCache.parallelRoutes = new Map(currentCache.parallelRoutes);\n const segmentPathsToFill = generateSegmentsFromPatch(treePatch).map((segment)=>[\n ...flightSegmentPath,\n ...segment\n ]);\n for (const segmentPaths of segmentPathsToFill){\n (0, _fillcachewithdataproperty.fillCacheWithDataProperty)(newCache, currentCache, segmentPaths, data);\n appliedPatch = true;\n }\n return appliedPatch;\n}\nconst navigateReducer = false ? 0 : navigateReducer_noPPR;\n// This is the implementation when PPR is disabled. We can assume its behavior\n// is relatively stable because it's been running in production for a while.\nfunction navigateReducer_noPPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchCacheKey = (0, _createprefetchcachekey.createPrefetchCacheKey)(url, state.nextUrl);\n let prefetchValues = state.prefetchCache.get(prefetchCacheKey);\n // If we don't have a prefetch value, we need to create one\n if (!prefetchValues) {\n const data = (0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, // in order to simulate the behavior of the prefetch cache\n true ? _routerreducertypes.PrefetchKind.AUTO : 0);\n const newPrefetchValue = {\n data,\n // this will make sure that the entry will be discarded after 30s\n kind: true ? _routerreducertypes.PrefetchKind.AUTO : 0,\n prefetchTime: Date.now(),\n treeAtTimeOfPrefetch: state.tree,\n lastUsedTime: null\n };\n state.prefetchCache.set(prefetchCacheKey, newPrefetchValue);\n prefetchValues = newPrefetchValue;\n }\n const prefetchEntryCacheStatus = (0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchValues);\n // The one before last item is the router state tree patch\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride, postponed] = param;\n // we only want to mark this once\n if (prefetchValues && !prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n let scrollableSegments = [];\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, (prefetchValues == null ? void 0 : prefetchValues.kind) === \"auto\" && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.reusable);\n if (!applied && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale || // TODO-APP: If the prefetch was postponed, we don't want to apply it\n // until we land router changes to handle the postponed case.\n postponed) {\n applied = addRefetchToLeafSegments(cache, currentCache, flightSegmentPath, treePatch, ()=>(0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n currentCache = cache;\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\n// This is the experimental PPR implementation. It's closer to the behavior we\n// want, but is likelier to include accidental regressions because it rewrites\n// existing functionality.\nfunction navigateReducer_PPR(state, action) {\n const { url, isExternalUrl, navigateType, shouldScroll } = action;\n const mutable = {};\n const { hash } = url;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const pendingPush = navigateType === \"push\";\n // we want to prune the prefetch cache on every navigation to avoid it growing too large\n (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache);\n mutable.preserveCustomHistoryState = false;\n if (isExternalUrl) {\n return handleExternalUrl(state, mutable, url.toString(), pendingPush);\n }\n const prefetchCacheKey = (0, _createprefetchcachekey.createPrefetchCacheKey)(url, state.nextUrl);\n let prefetchValues = state.prefetchCache.get(prefetchCacheKey);\n // If we don't have a prefetch value, we need to create one\n if (!prefetchValues) {\n const data = (0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, // in order to simulate the behavior of the prefetch cache\n true ? _routerreducertypes.PrefetchKind.AUTO : 0);\n const newPrefetchValue = {\n data,\n // this will make sure that the entry will be discarded after 30s\n kind: true ? _routerreducertypes.PrefetchKind.AUTO : 0,\n prefetchTime: Date.now(),\n treeAtTimeOfPrefetch: state.tree,\n lastUsedTime: null\n };\n state.prefetchCache.set(prefetchCacheKey, newPrefetchValue);\n prefetchValues = newPrefetchValue;\n }\n const prefetchEntryCacheStatus = (0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchValues);\n // The one before last item is the router state tree patch\n const { treeAtTimeOfPrefetch, data } = prefetchValues;\n _prefetchreducer.prefetchQueue.bump(data);\n return data.then((param)=>{\n let [flightData, canonicalUrlOverride, _postponed] = param;\n // we only want to mark this once\n if (prefetchValues && !prefetchValues.lastUsedTime) {\n // important: we should only mark the cache node as dirty after we unsuspend from the call above\n prefetchValues.lastUsedTime = Date.now();\n }\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return handleExternalUrl(state, mutable, flightData, pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n let scrollableSegments = [];\n // TODO: In practice, this is always a single item array. We probably\n // aren't going to every send multiple segments, at least not in this\n // format. So we could remove the extra wrapper for now until\n // that settles.\n for (const flightDataPath of flightData){\n const flightSegmentPath = flightDataPath.slice(0, -4);\n // The one before last item is the router state tree patch\n const treePatch = flightDataPath.slice(-3)[0];\n // TODO-APP: remove ''\n const flightSegmentPathWithLeadingEmpty = [\n \"\",\n ...flightSegmentPath\n ];\n // Create new tree based on the flightSegmentPath and router state patch\n let newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, currentTree, treePatch);\n // If the tree patch can't be applied to the current tree then we use the tree at time of prefetch\n // TODO-APP: This should instead fill in the missing pieces in `currentTree` with the data from `treeAtTimeOfPrefetch`, then apply the patch.\n if (newTree === null) {\n newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)(flightSegmentPathWithLeadingEmpty, treeAtTimeOfPrefetch, treePatch);\n }\n if (newTree !== null) {\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return handleExternalUrl(state, mutable, href, pendingPush);\n }\n if (// will always send back a static response that's rendered from\n // the root. If for some reason it doesn't, we fall back to the\n // non-PPR implementation.\n // TODO: We should get rid of the else branch and do all navigations\n // via updateCacheNodeOnNavigation. The current structure is just\n // an incremental step.\n flightDataPath.length === 3) {\n const prefetchedTree = flightDataPath[0];\n const seedData = flightDataPath[1];\n const head = flightDataPath[2];\n // Check whether the prefetched data is stale. If so, we'll\n // ignore it and wait for the dynamic data to stream in before\n // showing new segments.\n const isPrefetchStale = prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale;\n const task = (0, _pprnavigations.updateCacheNodeOnNavigation)(currentCache, currentTree, prefetchedTree, seedData, head, isPrefetchStale);\n if (task !== null && task.node !== null) {\n // We've created a new Cache Node tree that contains a prefetched\n // version of the next page. This can be rendered instantly.\n // Use the tree computed by updateCacheNodeOnNavigation instead\n // of the one computed by applyRouterStatePatchToTreeSkipDefault.\n // TODO: We should remove applyRouterStatePatchToTreeSkipDefault\n // from the PPR path entirely.\n const patchedRouterState = task.route;\n newTree = patchedRouterState;\n const newCache = task.node;\n // The prefetched tree has dynamic holes in it. We initiate a\n // dynamic request to fill them in.\n //\n // Do not block on the result. We'll immediately render the Cache\n // Node tree and suspend on the dynamic parts. When the request\n // comes in, we'll fill in missing data and ping React to\n // re-render. Unlike the lazy fetching model in the non-PPR\n // implementation, this is modeled as a single React update +\n // streaming, rather than multiple top-level updates. (However,\n // even in the new model, we'll still need to sometimes update the\n // root multiple times per navigation, like if the server sends us\n // a different response than we expected. For now, we revert back\n // to the lazy fetching mechanism in that case.)\n (0, _pprnavigations.listenForDynamicRequest)(task, (0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n mutable.cache = newCache;\n } else {\n // Nothing changed, so reuse the old cache.\n // TODO: What if the head changed but not any of the segment data?\n // Is that possible? If so, we should clone the whole tree and\n // update the head.\n newTree = prefetchedTree;\n }\n } else {\n // The static response does not include any dynamic holes, so\n // there's no need to do a second request.\n // TODO: As an incremental step this just reverts back to the\n // non-PPR implementation. We can simplify this branch further,\n // given that PPR prefetches are always static and return the whole\n // tree. Or in the meantime we could factor it out into a\n // separate function.\n const cache = (0, _approuter.createEmptyCacheNode)();\n let applied = (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath, (prefetchValues == null ? void 0 : prefetchValues.kind) === \"auto\" && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.reusable);\n if (!applied && prefetchEntryCacheStatus === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.stale) {\n applied = addRefetchToLeafSegments(cache, currentCache, flightSegmentPath, treePatch, ()=>(0, _fetchserverresponse.fetchServerResponse)(url, currentTree, state.nextUrl, state.buildId));\n }\n const hardNavigate = (0, _shouldhardnavigate.shouldHardNavigate)(flightSegmentPathWithLeadingEmpty, currentTree);\n if (hardNavigate) {\n // Copy rsc for the root node of the cache.\n cache.rsc = currentCache.rsc;\n cache.prefetchRsc = currentCache.prefetchRsc;\n (0, _invalidatecachebelowflightsegmentpath.invalidateCacheBelowFlightSegmentPath)(cache, currentCache, flightSegmentPath);\n // Ensure the existing cache value is used when the cache was not invalidated.\n mutable.cache = cache;\n } else if (applied) {\n mutable.cache = cache;\n }\n }\n currentTree = newTree;\n for (const subSegment of generateSegmentsFromPatch(treePatch)){\n const scrollableSegmentPath = [\n ...flightSegmentPath,\n ...subSegment\n ];\n // Filter out the __DEFAULT__ paths as they shouldn't be scrolled to in this case.\n if (scrollableSegmentPath[scrollableSegmentPath.length - 1] !== _segment.DEFAULT_SEGMENT_KEY) {\n scrollableSegments.push(scrollableSegmentPath);\n }\n }\n }\n }\n mutable.patchedTree = currentTree;\n mutable.canonicalUrl = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : href;\n mutable.pendingPush = pendingPush;\n mutable.scrollableSegments = scrollableSegments;\n mutable.hashFragment = hash;\n mutable.shouldScroll = shouldScroll;\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigate-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL25hdmlnYXRlLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLG1CQUFtQjtRQUNmLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sdUJBQXVCQyxtQkFBT0EsQ0FBQywwSEFBMEI7QUFDL0QsTUFBTUMscUJBQXFCRCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDNUQsTUFBTUUseUNBQXlDRixtQkFBT0EsQ0FBQyxrS0FBOEM7QUFDckcsTUFBTUcsNkJBQTZCSCxtQkFBT0EsQ0FBQywwSUFBa0M7QUFDN0UsTUFBTUksK0JBQStCSixtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTUssc0JBQXNCTCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDN0QsTUFBTU0sK0JBQStCTixtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTU8sc0JBQXNCUCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDN0QsTUFBTVEsaUJBQWlCUixtQkFBT0EsQ0FBQyw0R0FBbUI7QUFDbEQsTUFBTVMsbUJBQW1CVCxtQkFBT0EsQ0FBQyxrSEFBc0I7QUFDdkQsTUFBTVUsK0JBQStCVixtQkFBT0EsQ0FBQyw4SUFBb0M7QUFDakYsTUFBTVcsc0JBQXNCWCxtQkFBT0EsQ0FBQyxnSUFBd0I7QUFDNUQsTUFBTVksbUJBQW1C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O1FBQ3RCRixRQUFRSyxrQkFBa0IsR0FBR0E7UUFDN0JMLFFBQVFrRyxZQUFZLEdBQUd2RDtRQUN2QjNDLFFBQVEwQyxZQUFZLEdBQUdBO1FBQ3ZCLE9BQU8sQ0FBQyxHQUFHcEQsZUFBZWlCLGFBQWEsRUFBRVIsT0FBT0M7SUFDcEQsR0FBRyxJQUFJRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU83QixRQUFRNEksT0FBTyxLQUFLLGNBQWUsT0FBTzVJLFFBQVE0SSxPQUFPLEtBQUssWUFBWTVJLFFBQVE0SSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81SSxRQUFRNEksT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9JLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRJLE9BQU8sRUFBRSxjQUFjO1FBQUUzSSxPQUFPO0lBQUs7SUFDbkVILE9BQU9nSixNQUFNLENBQUM5SSxRQUFRNEksT0FBTyxFQUFFNUk7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTRJLE9BQU87QUFDbEMsRUFFQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9uYXZpZ2F0ZS1yZWR1Y2VyLmpzP2Q4MTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBoYW5kbGVFeHRlcm5hbFVybDogbnVsbCxcbiAgICBuYXZpZ2F0ZVJlZHVjZXI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaGFuZGxlRXh0ZXJuYWxVcmw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGFuZGxlRXh0ZXJuYWxVcmw7XG4gICAgfSxcbiAgICBuYXZpZ2F0ZVJlZHVjZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbmF2aWdhdGVSZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ZldGNoc2VydmVycmVzcG9uc2UgPSByZXF1aXJlKFwiLi4vZmV0Y2gtc2VydmVyLXJlc3BvbnNlXCIpO1xuY29uc3QgX2NyZWF0ZWhyZWZmcm9tdXJsID0gcmVxdWlyZShcIi4uL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2ludmFsaWRhdGVjYWNoZWJlbG93ZmxpZ2h0c2VnbWVudHBhdGggPSByZXF1aXJlKFwiLi4vaW52YWxpZGF0ZS1jYWNoZS1iZWxvdy1mbGlnaHQtc2VnbWVudHBhdGhcIik7XG5jb25zdCBfZmlsbGNhY2hld2l0aGRhdGFwcm9wZXJ0eSA9IHJlcXVpcmUoXCIuLi9maWxsLWNhY2hlLXdpdGgtZGF0YS1wcm9wZXJ0eVwiKTtcbmNvbnN0IF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUgPSByZXF1aXJlKFwiLi4vYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWVcIik7XG5jb25zdCBfc2hvdWxkaGFyZG5hdmlnYXRlID0gcmVxdWlyZShcIi4uL3Nob3VsZC1oYXJkLW5hdmlnYXRlXCIpO1xuY29uc3QgX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dCA9IHJlcXVpcmUoXCIuLi9pcy1uYXZpZ2F0aW5nLXRvLW5ldy1yb290LWxheW91dFwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi4vcm91dGVyLXJlZHVjZXItdHlwZXNcIik7XG5jb25zdCBfaGFuZGxlbXV0YWJsZSA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtbXV0YWJsZVwiKTtcbmNvbnN0IF9hcHBseWZsaWdodGRhdGEgPSByZXF1aXJlKFwiLi4vYXBwbHktZmxpZ2h0LWRhdGFcIik7XG5jb25zdCBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzID0gcmVxdWlyZShcIi4uL2dldC1wcmVmZXRjaC1jYWNoZS1lbnRyeS1zdGF0dXNcIik7XG5jb25zdCBfcHJ1bmVwcmVmZXRjaGNhY2hlID0gcmVxdWlyZShcIi4vcHJ1bmUtcHJlZmV0Y2gtY2FjaGVcIik7XG5jb25zdCBfcHJlZmV0Y2hyZWR1Y2VyID0gcmVxdWlyZShcIi4vcHJlZmV0Y2gtcmVkdWNlclwiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi4vLi4vYXBwLXJvdXRlclwiKTtcbmNvbnN0IF9zZWdtZW50ID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NoYXJlZC9saWIvc2VnbWVudFwiKTtcbmNvbnN0IF9wcHJuYXZpZ2F0aW9ucyA9IHJlcXVpcmUoXCIuLi9wcHItbmF2aWdhdGlvbnNcIik7XG5jb25zdCBfY3JlYXRlcHJlZmV0Y2hjYWNoZWtleSA9IHJlcXVpcmUoXCIuL2NyZWF0ZS1wcmVmZXRjaC1jYWNoZS1rZXlcIik7XG5mdW5jdGlvbiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgdXJsLCBwZW5kaW5nUHVzaCkge1xuICAgIG11dGFibGUubXBhTmF2aWdhdGlvbiA9IHRydWU7XG4gICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSB1cmw7XG4gICAgbXV0YWJsZS5wZW5kaW5nUHVzaCA9IHBlbmRpbmdQdXNoO1xuICAgIG11dGFibGUuc2Nyb2xsYWJsZVNlZ21lbnRzID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiAoMCwgX2hhbmRsZW11dGFibGUuaGFuZGxlTXV0YWJsZSkoc3RhdGUsIG11dGFibGUpO1xufVxuZnVuY3Rpb24gZ2VuZXJhdGVTZWdtZW50c0Zyb21QYXRjaChmbGlnaHRSb3V0ZXJQYXRjaCkge1xuICAgIGNvbnN0IHNlZ21lbnRzID0gW107XG4gICAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVzXSA9IGZsaWdodFJvdXRlclBhdGNoO1xuICAgIGlmIChPYmplY3Qua2V5cyhwYXJhbGxlbFJvdXRlcykubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgc2VnbWVudFxuICAgICAgICAgICAgXVxuICAgICAgICBdO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IFtwYXJhbGxlbFJvdXRlS2V5LCBwYXJhbGxlbFJvdXRlXSBvZiBPYmplY3QuZW50cmllcyhwYXJhbGxlbFJvdXRlcykpe1xuICAgICAgICBmb3IgKGNvbnN0IGNoaWxkU2VnbWVudCBvZiBnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoKHBhcmFsbGVsUm91dGUpKXtcbiAgICAgICAgICAgIC8vIElmIHRoZSBzZWdtZW50IGlzIGVtcHR5LCBpdCBtZWFucyB3ZSBhcmUgYXQgdGhlIHJvb3Qgb2YgdGhlIHRyZWVcbiAgICAgICAgICAgIGlmIChzZWdtZW50ID09PSBcIlwiKSB7XG4gICAgICAgICAgICAgICAgc2VnbWVudHMucHVzaChbXG4gICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVLZXksXG4gICAgICAgICAgICAgICAgICAgIC4uLmNoaWxkU2VnbWVudFxuICAgICAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZWdtZW50cy5wdXNoKFtcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYWxsZWxSb3V0ZUtleSxcbiAgICAgICAgICAgICAgICAgICAgLi4uY2hpbGRTZWdtZW50XG4gICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNlZ21lbnRzO1xufVxuZnVuY3Rpb24gYWRkUmVmZXRjaFRvTGVhZlNlZ21lbnRzKG5ld0NhY2hlLCBjdXJyZW50Q2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoLCB0cmVlUGF0Y2gsIGRhdGEpIHtcbiAgICBsZXQgYXBwbGllZFBhdGNoID0gZmFsc2U7XG4gICAgbmV3Q2FjaGUucnNjID0gY3VycmVudENhY2hlLnJzYztcbiAgICBuZXdDYWNoZS5wcmVmZXRjaFJzYyA9IGN1cnJlbnRDYWNoZS5wcmVmZXRjaFJzYztcbiAgICBuZXdDYWNoZS5wYXJhbGxlbFJvdXRlcyA9IG5ldyBNYXAoY3VycmVudENhY2hlLnBhcmFsbGVsUm91dGVzKTtcbiAgICBjb25zdCBzZWdtZW50UGF0aHNUb0ZpbGwgPSBnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoKHRyZWVQYXRjaCkubWFwKChzZWdtZW50KT0+W1xuICAgICAgICAgICAgLi4uZmxpZ2h0U2VnbWVudFBhdGgsXG4gICAgICAgICAgICAuLi5zZWdtZW50XG4gICAgICAgIF0pO1xuICAgIGZvciAoY29uc3Qgc2VnbWVudFBhdGhzIG9mIHNlZ21lbnRQYXRoc1RvRmlsbCl7XG4gICAgICAgICgwLCBfZmlsbGNhY2hld2l0aGRhdGFwcm9wZXJ0eS5maWxsQ2FjaGVXaXRoRGF0YVByb3BlcnR5KShuZXdDYWNoZSwgY3VycmVudENhY2hlLCBzZWdtZW50UGF0aHMsIGRhdGEpO1xuICAgICAgICBhcHBsaWVkUGF0Y2ggPSB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gYXBwbGllZFBhdGNoO1xufVxuY29uc3QgbmF2aWdhdGVSZWR1Y2VyID0gcHJvY2Vzcy5lbnYuX19ORVhUX1BQUiA/IG5hdmlnYXRlUmVkdWNlcl9QUFIgOiBuYXZpZ2F0ZVJlZHVjZXJfbm9QUFI7XG4vLyBUaGlzIGlzIHRoZSBpbXBsZW1lbnRhdGlvbiB3aGVuIFBQUiBpcyBkaXNhYmxlZC4gV2UgY2FuIGFzc3VtZSBpdHMgYmVoYXZpb3Jcbi8vIGlzIHJlbGF0aXZlbHkgc3RhYmxlIGJlY2F1c2UgaXQncyBiZWVuIHJ1bm5pbmcgaW4gcHJvZHVjdGlvbiBmb3IgYSB3aGlsZS5cbmZ1bmN0aW9uIG5hdmlnYXRlUmVkdWNlcl9ub1BQUihzdGF0ZSwgYWN0aW9uKSB7XG4gICAgY29uc3QgeyB1cmwsIGlzRXh0ZXJuYWxVcmwsIG5hdmlnYXRlVHlwZSwgc2hvdWxkU2Nyb2xsIH0gPSBhY3Rpb247XG4gICAgY29uc3QgbXV0YWJsZSA9IHt9O1xuICAgIGNvbnN0IHsgaGFzaCB9ID0gdXJsO1xuICAgIGNvbnN0IGhyZWYgPSAoMCwgX2NyZWF0ZWhyZWZmcm9tdXJsLmNyZWF0ZUhyZWZGcm9tVXJsKSh1cmwpO1xuICAgIGNvbnN0IHBlbmRpbmdQdXNoID0gbmF2aWdhdGVUeXBlID09PSBcInB1c2hcIjtcbiAgICAvLyB3ZSB3YW50IHRvIHBydW5lIHRoZSBwcmVmZXRjaCBjYWNoZSBvbiBldmVyeSBuYXZpZ2F0aW9uIHRvIGF2b2lkIGl0IGdyb3dpbmcgdG9vIGxhcmdlXG4gICAgKDAsIF9wcnVuZXByZWZldGNoY2FjaGUucHJ1bmVQcmVmZXRjaENhY2hlKShzdGF0ZS5wcmVmZXRjaENhY2hlKTtcbiAgICBtdXRhYmxlLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlID0gZmFsc2U7XG4gICAgaWYgKGlzRXh0ZXJuYWxVcmwpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCB1cmwudG9TdHJpbmcoKSwgcGVuZGluZ1B1c2gpO1xuICAgIH1cbiAgICBjb25zdCBwcmVmZXRjaENhY2hlS2V5ID0gKDAsIF9jcmVhdGVwcmVmZXRjaGNhY2hla2V5LmNyZWF0ZVByZWZldGNoQ2FjaGVLZXkpKHVybCwgc3RhdGUubmV4dFVybCk7XG4gICAgbGV0IHByZWZldGNoVmFsdWVzID0gc3RhdGUucHJlZmV0Y2hDYWNoZS5nZXQocHJlZmV0Y2hDYWNoZUtleSk7XG4gICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIHByZWZldGNoIHZhbHVlLCB3ZSBuZWVkIHRvIGNyZWF0ZSBvbmVcbiAgICBpZiAoIXByZWZldGNoVmFsdWVzKSB7XG4gICAgICAgIGNvbnN0IGRhdGEgPSAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkodXJsLCBzdGF0ZS50cmVlLCBzdGF0ZS5uZXh0VXJsLCBzdGF0ZS5idWlsZElkLCAvLyBpbiBkZXYsIHRoZXJlJ3MgbmV2ZXIgZ29ubmEgYmUgYSBwcmVmZXRjaCBlbnRyeSBzbyB3ZSB3YW50IHRvIHByZWZldGNoIGhlcmVcbiAgICAgICAgLy8gaW4gb3JkZXIgdG8gc2ltdWxhdGUgdGhlIGJlaGF2aW9yIG9mIHRoZSBwcmVmZXRjaCBjYWNoZVxuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiID8gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuQVVUTyA6IHVuZGVmaW5lZCk7XG4gICAgICAgIGNvbnN0IG5ld1ByZWZldGNoVmFsdWUgPSB7XG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgLy8gdGhpcyB3aWxsIG1ha2Ugc3VyZSB0aGF0IHRoZSBlbnRyeSB3aWxsIGJlIGRpc2NhcmRlZCBhZnRlciAzMHNcbiAgICAgICAgICAgIGtpbmQ6IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIgPyBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5BVVRPIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuVEVNUE9SQVJZLFxuICAgICAgICAgICAgcHJlZmV0Y2hUaW1lOiBEYXRlLm5vdygpLFxuICAgICAgICAgICAgdHJlZUF0VGltZU9mUHJlZmV0Y2g6IHN0YXRlLnRyZWUsXG4gICAgICAgICAgICBsYXN0VXNlZFRpbWU6IG51bGxcbiAgICAgICAgfTtcbiAgICAgICAgc3RhdGUucHJlZmV0Y2hDYWNoZS5zZXQocHJlZmV0Y2hDYWNoZUtleSwgbmV3UHJlZmV0Y2hWYWx1ZSk7XG4gICAgICAgIHByZWZldGNoVmFsdWVzID0gbmV3UHJlZmV0Y2hWYWx1ZTtcbiAgICB9XG4gICAgY29uc3QgcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID0gKDAsIF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMuZ2V0UHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzKShwcmVmZXRjaFZhbHVlcyk7XG4gICAgLy8gVGhlIG9uZSBiZWZvcmUgbGFzdCBpdGVtIGlzIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBwYXRjaFxuICAgIGNvbnN0IHsgdHJlZUF0VGltZU9mUHJlZmV0Y2gsIGRhdGEgfSA9IHByZWZldGNoVmFsdWVzO1xuICAgIF9wcmVmZXRjaHJlZHVjZXIucHJlZmV0Y2hRdWV1ZS5idW1wKGRhdGEpO1xuICAgIHJldHVybiBkYXRhLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2ZsaWdodERhdGEsIGNhbm9uaWNhbFVybE92ZXJyaWRlLCBwb3N0cG9uZWRdID0gcGFyYW07XG4gICAgICAgIC8vIHdlIG9ubHkgd2FudCB0byBtYXJrIHRoaXMgb25jZVxuICAgICAgICBpZiAocHJlZmV0Y2hWYWx1ZXMgJiYgIXByZWZldGNoVmFsdWVzLmxhc3RVc2VkVGltZSkge1xuICAgICAgICAgICAgLy8gaW1wb3J0YW50OiB3ZSBzaG91bGQgb25seSBtYXJrIHRoZSBjYWNoZSBub2RlIGFzIGRpcnR5IGFmdGVyIHdlIHVuc3VzcGVuZCBmcm9tIHRoZSBjYWxsIGFib3ZlXG4gICAgICAgICAgICBwcmVmZXRjaFZhbHVlcy5sYXN0VXNlZFRpbWUgPSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgICAgIC8vIEhhbmRsZSBjYXNlIHdoZW4gbmF2aWdhdGluZyB0byBwYWdlIGluIGBwYWdlc2AgZnJvbSBgYXBwYFxuICAgICAgICBpZiAodHlwZW9mIGZsaWdodERhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgZmxpZ2h0RGF0YSwgcGVuZGluZ1B1c2gpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWU7XG4gICAgICAgIGxldCBjdXJyZW50Q2FjaGUgPSBzdGF0ZS5jYWNoZTtcbiAgICAgICAgbGV0IHNjcm9sbGFibGVTZWdtZW50cyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IGZsaWdodERhdGFQYXRoIG9mIGZsaWdodERhdGEpe1xuICAgICAgICAgICAgY29uc3QgZmxpZ2h0U2VnbWVudFBhdGggPSBmbGlnaHREYXRhUGF0aC5zbGljZSgwLCAtNCk7XG4gICAgICAgICAgICAvLyBUaGUgb25lIGJlZm9yZSBsYXN0IGl0ZW0gaXMgdGhlIHJvdXRlciBzdGF0ZSB0cmVlIHBhdGNoXG4gICAgICAgICAgICBjb25zdCB0cmVlUGF0Y2ggPSBmbGlnaHREYXRhUGF0aC5zbGljZSgtMylbMF07XG4gICAgICAgICAgICAvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICBjb25zdCBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHkgPSBbXG4gICAgICAgICAgICAgICAgXCJcIixcbiAgICAgICAgICAgICAgICAuLi5mbGlnaHRTZWdtZW50UGF0aFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIC8vIENyZWF0ZSBuZXcgdHJlZSBiYXNlZCBvbiB0aGUgZmxpZ2h0U2VnbWVudFBhdGggYW5kIHJvdXRlciBzdGF0ZSBwYXRjaFxuICAgICAgICAgICAgbGV0IG5ld1RyZWUgPSAoMCwgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZS5hcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdCkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5LCBjdXJyZW50VHJlZSwgdHJlZVBhdGNoKTtcbiAgICAgICAgICAgIC8vIElmIHRoZSB0cmVlIHBhdGNoIGNhbid0IGJlIGFwcGxpZWQgdG8gdGhlIGN1cnJlbnQgdHJlZSB0aGVuIHdlIHVzZSB0aGUgdHJlZSBhdCB0aW1lIG9mIHByZWZldGNoXG4gICAgICAgICAgICAvLyBUT0RPLUFQUDogVGhpcyBzaG91bGQgaW5zdGVhZCBmaWxsIGluIHRoZSBtaXNzaW5nIHBpZWNlcyBpbiBgY3VycmVudFRyZWVgIHdpdGggdGhlIGRhdGEgZnJvbSBgdHJlZUF0VGltZU9mUHJlZmV0Y2hgLCB0aGVuIGFwcGx5IHRoZSBwYXRjaC5cbiAgICAgICAgICAgIGlmIChuZXdUcmVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgbmV3VHJlZSA9ICgwLCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlLmFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0KSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5LCB0cmVlQXRUaW1lT2ZQcmVmZXRjaCwgdHJlZVBhdGNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXdUcmVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKCgwLCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0LmlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCkoY3VycmVudFRyZWUsIG5ld1RyZWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgaHJlZiwgcGVuZGluZ1B1c2gpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBjYWNoZSA9ICgwLCBfYXBwcm91dGVyLmNyZWF0ZUVtcHR5Q2FjaGVOb2RlKSgpO1xuICAgICAgICAgICAgICAgIGxldCBhcHBsaWVkID0gKDAsIF9hcHBseWZsaWdodGRhdGEuYXBwbHlGbGlnaHREYXRhKShjdXJyZW50Q2FjaGUsIGNhY2hlLCBmbGlnaHREYXRhUGF0aCwgKHByZWZldGNoVmFsdWVzID09IG51bGwgPyB2b2lkIDAgOiBwcmVmZXRjaFZhbHVlcy5raW5kKSA9PT0gXCJhdXRvXCIgJiYgcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID09PSBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5yZXVzYWJsZSk7XG4gICAgICAgICAgICAgICAgaWYgKCFhcHBsaWVkICYmIHByZWZldGNoRW50cnlDYWNoZVN0YXR1cyA9PT0gX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cy5QcmVmZXRjaENhY2hlRW50cnlTdGF0dXMuc3RhbGUgfHwgLy8gVE9ETy1BUFA6IElmIHRoZSBwcmVmZXRjaCB3YXMgcG9zdHBvbmVkLCB3ZSBkb24ndCB3YW50IHRvIGFwcGx5IGl0XG4gICAgICAgICAgICAgICAgLy8gdW50aWwgd2UgbGFuZCByb3V0ZXIgY2hhbmdlcyB0byBoYW5kbGUgdGhlIHBvc3Rwb25lZCBjYXNlLlxuICAgICAgICAgICAgICAgIHBvc3Rwb25lZCkge1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWVkID0gYWRkUmVmZXRjaFRvTGVhZlNlZ21lbnRzKGNhY2hlLCBjdXJyZW50Q2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoLCB0cmVlUGF0Y2gsIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1sb29wLWZ1bmNcbiAgICAgICAgICAgICAgICAgICAgKCk9PigwLCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZS5mZXRjaFNlcnZlclJlc3BvbnNlKSh1cmwsIGN1cnJlbnRUcmVlLCBzdGF0ZS5uZXh0VXJsLCBzdGF0ZS5idWlsZElkKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGhhcmROYXZpZ2F0ZSA9ICgwLCBfc2hvdWxkaGFyZG5hdmlnYXRlLnNob3VsZEhhcmROYXZpZ2F0ZSkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgICAgIGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSwgY3VycmVudFRyZWUpO1xuICAgICAgICAgICAgICAgIGlmIChoYXJkTmF2aWdhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29weSByc2MgZm9yIHRoZSByb290IG5vZGUgb2YgdGhlIGNhY2hlLlxuICAgICAgICAgICAgICAgICAgICBjYWNoZS5yc2MgPSBjdXJyZW50Q2FjaGUucnNjO1xuICAgICAgICAgICAgICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IGN1cnJlbnRDYWNoZS5wcmVmZXRjaFJzYztcbiAgICAgICAgICAgICAgICAgICAgKDAsIF9pbnZhbGlkYXRlY2FjaGViZWxvd2ZsaWdodHNlZ21lbnRwYXRoLmludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgpKGNhY2hlLCBjdXJyZW50Q2FjaGUsIGZsaWdodFNlZ21lbnRQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSBleGlzdGluZyBjYWNoZSB2YWx1ZSBpcyB1c2VkIHdoZW4gdGhlIGNhY2hlIHdhcyBub3QgaW52YWxpZGF0ZWQuXG4gICAgICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGFwcGxpZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbXV0YWJsZS5jYWNoZSA9IGNhY2hlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjdXJyZW50Q2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICBjdXJyZW50VHJlZSA9IG5ld1RyZWU7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdWJTZWdtZW50IG9mIGdlbmVyYXRlU2VnbWVudHNGcm9tUGF0Y2godHJlZVBhdGNoKSl7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNjcm9sbGFibGVTZWdtZW50UGF0aCA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmZsaWdodFNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgLi4uc3ViU2VnbWVudFxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICAvLyBGaWx0ZXIgb3V0IHRoZSBfX0RFRkFVTFRfXyBwYXRocyBhcyB0aGV5IHNob3VsZG4ndCBiZSBzY3JvbGxlZCB0byBpbiB0aGlzIGNhc2UuXG4gICAgICAgICAgICAgICAgICAgIGlmIChzY3JvbGxhYmxlU2VnbWVudFBhdGhbc2Nyb2xsYWJsZVNlZ21lbnRQYXRoLmxlbmd0aCAtIDFdICE9PSBfc2VnbWVudC5ERUZBVUxUX1NFR01FTlRfS0VZKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxhYmxlU2VnbWVudHMucHVzaChzY3JvbGxhYmxlU2VnbWVudFBhdGgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBjdXJyZW50VHJlZTtcbiAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZSA/ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKGNhbm9uaWNhbFVybE92ZXJyaWRlKSA6IGhyZWY7XG4gICAgICAgIG11dGFibGUucGVuZGluZ1B1c2ggPSBwZW5kaW5nUHVzaDtcbiAgICAgICAgbXV0YWJsZS5zY3JvbGxhYmxlU2VnbWVudHMgPSBzY3JvbGxhYmxlU2VnbWVudHM7XG4gICAgICAgIG11dGFibGUuaGFzaEZyYWdtZW50ID0gaGFzaDtcbiAgICAgICAgbXV0YWJsZS5zaG91bGRTY3JvbGwgPSBzaG91bGRTY3JvbGw7XG4gICAgICAgIHJldHVybiAoMCwgX2hhbmRsZW11dGFibGUuaGFuZGxlTXV0YWJsZSkoc3RhdGUsIG11dGFibGUpO1xuICAgIH0sICgpPT5zdGF0ZSk7XG59XG4vLyBUaGlzIGlzIHRoZSBleHBlcmltZW50YWwgUFBSIGltcGxlbWVudGF0aW9uLiBJdCdzIGNsb3NlciB0byB0aGUgYmVoYXZpb3Igd2Vcbi8vIHdhbnQsIGJ1dCBpcyBsaWtlbGllciB0byBpbmNsdWRlIGFjY2lkZW50YWwgcmVncmVzc2lvbnMgYmVjYXVzZSBpdCByZXdyaXRlc1xuLy8gZXhpc3RpbmcgZnVuY3Rpb25hbGl0eS5cbmZ1bmN0aW9uIG5hdmlnYXRlUmVkdWNlcl9QUFIoc3RhdGUsIGFjdGlvbikge1xuICAgIGNvbnN0IHsgdXJsLCBpc0V4dGVybmFsVXJsLCBuYXZpZ2F0ZVR5cGUsIHNob3VsZFNjcm9sbCB9ID0gYWN0aW9uO1xuICAgIGNvbnN0IG11dGFibGUgPSB7fTtcbiAgICBjb25zdCB7IGhhc2ggfSA9IHVybDtcbiAgICBjb25zdCBocmVmID0gKDAsIF9jcmVhdGVocmVmZnJvbXVybC5jcmVhdGVIcmVmRnJvbVVybCkodXJsKTtcbiAgICBjb25zdCBwZW5kaW5nUHVzaCA9IG5hdmlnYXRlVHlwZSA9PT0gXCJwdXNoXCI7XG4gICAgLy8gd2Ugd2FudCB0byBwcnVuZSB0aGUgcHJlZmV0Y2ggY2FjaGUgb24gZXZlcnkgbmF2aWdhdGlvbiB0byBhdm9pZCBpdCBncm93aW5nIHRvbyBsYXJnZVxuICAgICgwLCBfcHJ1bmVwcmVmZXRjaGNhY2hlLnBydW5lUHJlZmV0Y2hDYWNoZSkoc3RhdGUucHJlZmV0Y2hDYWNoZSk7XG4gICAgbXV0YWJsZS5wcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSA9IGZhbHNlO1xuICAgIGlmIChpc0V4dGVybmFsVXJsKSB7XG4gICAgICAgIHJldHVybiBoYW5kbGVFeHRlcm5hbFVybChzdGF0ZSwgbXV0YWJsZSwgdXJsLnRvU3RyaW5nKCksIHBlbmRpbmdQdXNoKTtcbiAgICB9XG4gICAgY29uc3QgcHJlZmV0Y2hDYWNoZUtleSA9ICgwLCBfY3JlYXRlcHJlZmV0Y2hjYWNoZWtleS5jcmVhdGVQcmVmZXRjaENhY2hlS2V5KSh1cmwsIHN0YXRlLm5leHRVcmwpO1xuICAgIGxldCBwcmVmZXRjaFZhbHVlcyA9IHN0YXRlLnByZWZldGNoQ2FjaGUuZ2V0KHByZWZldGNoQ2FjaGVLZXkpO1xuICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYSBwcmVmZXRjaCB2YWx1ZSwgd2UgbmVlZCB0byBjcmVhdGUgb25lXG4gICAgaWYgKCFwcmVmZXRjaFZhbHVlcykge1xuICAgICAgICBjb25zdCBkYXRhID0gKDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKHVybCwgc3RhdGUudHJlZSwgc3RhdGUubmV4dFVybCwgc3RhdGUuYnVpbGRJZCwgLy8gaW4gZGV2LCB0aGVyZSdzIG5ldmVyIGdvbm5hIGJlIGEgcHJlZmV0Y2ggZW50cnkgc28gd2Ugd2FudCB0byBwcmVmZXRjaCBoZXJlXG4gICAgICAgIC8vIGluIG9yZGVyIHRvIHNpbXVsYXRlIHRoZSBiZWhhdmlvciBvZiB0aGUgcHJlZmV0Y2ggY2FjaGVcbiAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIiA/IF9yb3V0ZXJyZWR1Y2VydHlwZXMuUHJlZmV0Y2hLaW5kLkFVVE8gOiB1bmRlZmluZWQpO1xuICAgICAgICBjb25zdCBuZXdQcmVmZXRjaFZhbHVlID0ge1xuICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgIC8vIHRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCB0aGUgZW50cnkgd2lsbCBiZSBkaXNjYXJkZWQgYWZ0ZXIgMzBzXG4gICAgICAgICAgICBraW5kOiBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiID8gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuQVVUTyA6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuUHJlZmV0Y2hLaW5kLlRFTVBPUkFSWSxcbiAgICAgICAgICAgIHByZWZldGNoVGltZTogRGF0ZS5ub3coKSxcbiAgICAgICAgICAgIHRyZWVBdFRpbWVPZlByZWZldGNoOiBzdGF0ZS50cmVlLFxuICAgICAgICAgICAgbGFzdFVzZWRUaW1lOiBudWxsXG4gICAgICAgIH07XG4gICAgICAgIHN0YXRlLnByZWZldGNoQ2FjaGUuc2V0KHByZWZldGNoQ2FjaGVLZXksIG5ld1ByZWZldGNoVmFsdWUpO1xuICAgICAgICBwcmVmZXRjaFZhbHVlcyA9IG5ld1ByZWZldGNoVmFsdWU7XG4gICAgfVxuICAgIGNvbnN0IHByZWZldGNoRW50cnlDYWNoZVN0YXR1cyA9ICgwLCBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLmdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cykocHJlZmV0Y2hWYWx1ZXMpO1xuICAgIC8vIFRoZSBvbmUgYmVmb3JlIGxhc3QgaXRlbSBpcyB0aGUgcm91dGVyIHN0YXRlIHRyZWUgcGF0Y2hcbiAgICBjb25zdCB7IHRyZWVBdFRpbWVPZlByZWZldGNoLCBkYXRhIH0gPSBwcmVmZXRjaFZhbHVlcztcbiAgICBfcHJlZmV0Y2hyZWR1Y2VyLnByZWZldGNoUXVldWUuYnVtcChkYXRhKTtcbiAgICByZXR1cm4gZGF0YS50aGVuKChwYXJhbSk9PntcbiAgICAgICAgbGV0IFtmbGlnaHREYXRhLCBjYW5vbmljYWxVcmxPdmVycmlkZSwgX3Bvc3Rwb25lZF0gPSBwYXJhbTtcbiAgICAgICAgLy8gd2Ugb25seSB3YW50IHRvIG1hcmsgdGhpcyBvbmNlXG4gICAgICAgIGlmIChwcmVmZXRjaFZhbHVlcyAmJiAhcHJlZmV0Y2hWYWx1ZXMubGFzdFVzZWRUaW1lKSB7XG4gICAgICAgICAgICAvLyBpbXBvcnRhbnQ6IHdlIHNob3VsZCBvbmx5IG1hcmsgdGhlIGNhY2hlIG5vZGUgYXMgZGlydHkgYWZ0ZXIgd2UgdW5zdXNwZW5kIGZyb20gdGhlIGNhbGwgYWJvdmVcbiAgICAgICAgICAgIHByZWZldGNoVmFsdWVzLmxhc3RVc2VkVGltZSA9IERhdGUubm93KCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlbiBuYXZpZ2F0aW5nIHRvIHBhZ2UgaW4gYHBhZ2VzYCBmcm9tIGBhcHBgXG4gICAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCBmbGlnaHREYXRhLCBwZW5kaW5nUHVzaCk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGN1cnJlbnRUcmVlID0gc3RhdGUudHJlZTtcbiAgICAgICAgbGV0IGN1cnJlbnRDYWNoZSA9IHN0YXRlLmNhY2hlO1xuICAgICAgICBsZXQgc2Nyb2xsYWJsZVNlZ21lbnRzID0gW107XG4gICAgICAgIC8vIFRPRE86IEluIHByYWN0aWNlLCB0aGlzIGlzIGFsd2F5cyBhIHNpbmdsZSBpdGVtIGFycmF5LiBXZSBwcm9iYWJseVxuICAgICAgICAvLyBhcmVuJ3QgZ29pbmcgdG8gZXZlcnkgc2VuZCBtdWx0aXBsZSBzZWdtZW50cywgYXQgbGVhc3Qgbm90IGluIHRoaXNcbiAgICAgICAgLy8gZm9ybWF0LiBTbyB3ZSBjb3VsZCByZW1vdmUgdGhlIGV4dHJhIHdyYXBwZXIgZm9yIG5vdyB1bnRpbFxuICAgICAgICAvLyB0aGF0IHNldHRsZXMuXG4gICAgICAgIGZvciAoY29uc3QgZmxpZ2h0RGF0YVBhdGggb2YgZmxpZ2h0RGF0YSl7XG4gICAgICAgICAgICBjb25zdCBmbGlnaHRTZWdtZW50UGF0aCA9IGZsaWdodERhdGFQYXRoLnNsaWNlKDAsIC00KTtcbiAgICAgICAgICAgIC8vIFRoZSBvbmUgYmVmb3JlIGxhc3QgaXRlbSBpcyB0aGUgcm91dGVyIHN0YXRlIHRyZWUgcGF0Y2hcbiAgICAgICAgICAgIGNvbnN0IHRyZWVQYXRjaCA9IGZsaWdodERhdGFQYXRoLnNsaWNlKC0zKVswXTtcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgIGNvbnN0IGZsaWdodFNlZ21lbnRQYXRoV2l0aExlYWRpbmdFbXB0eSA9IFtcbiAgICAgICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgICAgIC4uLmZsaWdodFNlZ21lbnRQYXRoXG4gICAgICAgICAgICBdO1xuICAgICAgICAgICAgLy8gQ3JlYXRlIG5ldyB0cmVlIGJhc2VkIG9uIHRoZSBmbGlnaHRTZWdtZW50UGF0aCBhbmQgcm91dGVyIHN0YXRlIHBhdGNoXG4gICAgICAgICAgICBsZXQgbmV3VHJlZSA9ICgwLCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlLmFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0KSgvLyBUT0RPLUFQUDogcmVtb3ZlICcnXG4gICAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksIGN1cnJlbnRUcmVlLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgLy8gSWYgdGhlIHRyZWUgcGF0Y2ggY2FuJ3QgYmUgYXBwbGllZCB0byB0aGUgY3VycmVudCB0cmVlIHRoZW4gd2UgdXNlIHRoZSB0cmVlIGF0IHRpbWUgb2YgcHJlZmV0Y2hcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBUaGlzIHNob3VsZCBpbnN0ZWFkIGZpbGwgaW4gdGhlIG1pc3NpbmcgcGllY2VzIGluIGBjdXJyZW50VHJlZWAgd2l0aCB0aGUgZGF0YSBmcm9tIGB0cmVlQXRUaW1lT2ZQcmVmZXRjaGAsIHRoZW4gYXBwbHkgdGhlIHBhdGNoLlxuICAgICAgICAgICAgaWYgKG5ld1RyZWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBuZXdUcmVlID0gKDAsIF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUuYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHQpKC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgICAgICBmbGlnaHRTZWdtZW50UGF0aFdpdGhMZWFkaW5nRW1wdHksIHRyZWVBdFRpbWVPZlByZWZldGNoLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5ld1RyZWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBpZiAoKDAsIF9pc25hdmlnYXRpbmd0b25ld3Jvb3RsYXlvdXQuaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0KShjdXJyZW50VHJlZSwgbmV3VHJlZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZUV4dGVybmFsVXJsKHN0YXRlLCBtdXRhYmxlLCBocmVmLCBwZW5kaW5nUHVzaCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgvLyBUaGlzIGlzIGp1c3QgYSBwYXJhbm9pZCBjaGVjay4gV2hlbiBQUFIgaXMgZW5hYmxlZCwgdGhlIHNlcnZlclxuICAgICAgICAgICAgICAgIC8vIHdpbGwgYWx3YXlzIHNlbmQgYmFjayBhIHN0YXRpYyByZXNwb25zZSB0aGF0J3MgcmVuZGVyZWQgZnJvbVxuICAgICAgICAgICAgICAgIC8vIHRoZSByb290LiBJZiBmb3Igc29tZSByZWFzb24gaXQgZG9lc24ndCwgd2UgZmFsbCBiYWNrIHRvIHRoZVxuICAgICAgICAgICAgICAgIC8vIG5vbi1QUFIgaW1wbGVtZW50YXRpb24uXG4gICAgICAgICAgICAgICAgLy8gVE9ETzogV2Ugc2hvdWxkIGdldCByaWQgb2YgdGhlIGVsc2UgYnJhbmNoIGFuZCBkbyBhbGwgbmF2aWdhdGlvbnNcbiAgICAgICAgICAgICAgICAvLyB2aWEgdXBkYXRlQ2FjaGVOb2RlT25OYXZpZ2F0aW9uLiBUaGUgY3VycmVudCBzdHJ1Y3R1cmUgaXMganVzdFxuICAgICAgICAgICAgICAgIC8vIGFuIGluY3JlbWVudGFsIHN0ZXAuXG4gICAgICAgICAgICAgICAgZmxpZ2h0RGF0YVBhdGgubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZWZldGNoZWRUcmVlID0gZmxpZ2h0RGF0YVBhdGhbMF07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlZWREYXRhID0gZmxpZ2h0RGF0YVBhdGhbMV07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGhlYWQgPSBmbGlnaHREYXRhUGF0aFsyXTtcbiAgICAgICAgICAgICAgICAgICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgcHJlZmV0Y2hlZCBkYXRhIGlzIHN0YWxlLiBJZiBzbywgd2UnbGxcbiAgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlIGl0IGFuZCB3YWl0IGZvciB0aGUgZHluYW1pYyBkYXRhIHRvIHN0cmVhbSBpbiBiZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgLy8gc2hvd2luZyBuZXcgc2VnbWVudHMuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzUHJlZmV0Y2hTdGFsZSA9IHByZWZldGNoRW50cnlDYWNoZVN0YXR1cyA9PT0gX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cy5QcmVmZXRjaENhY2hlRW50cnlTdGF0dXMuc3RhbGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhc2sgPSAoMCwgX3Bwcm5hdmlnYXRpb25zLnVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbikoY3VycmVudENhY2hlLCBjdXJyZW50VHJlZSwgcHJlZmV0Y2hlZFRyZWUsIHNlZWREYXRhLCBoZWFkLCBpc1ByZWZldGNoU3RhbGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGFzayAhPT0gbnVsbCAmJiB0YXNrLm5vZGUgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFdlJ3ZlIGNyZWF0ZWQgYSBuZXcgQ2FjaGUgTm9kZSB0cmVlIHRoYXQgY29udGFpbnMgYSBwcmVmZXRjaGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB2ZXJzaW9uIG9mIHRoZSBuZXh0IHBhZ2UuIFRoaXMgY2FuIGJlIHJlbmRlcmVkIGluc3RhbnRseS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVzZSB0aGUgdHJlZSBjb21wdXRlZCBieSB1cGRhdGVDYWNoZU5vZGVPbk5hdmlnYXRpb24gaW5zdGVhZFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gb2YgdGhlIG9uZSBjb21wdXRlZCBieSBhcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdC5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFdlIHNob3VsZCByZW1vdmUgYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9UcmVlU2tpcERlZmF1bHRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZyb20gdGhlIFBQUiBwYXRoIGVudGlyZWx5LlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGF0Y2hlZFJvdXRlclN0YXRlID0gdGFzay5yb3V0ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1RyZWUgPSBwYXRjaGVkUm91dGVyU3RhdGU7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXdDYWNoZSA9IHRhc2subm9kZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZSBwcmVmZXRjaGVkIHRyZWUgaGFzIGR5bmFtaWMgaG9sZXMgaW4gaXQuIFdlIGluaXRpYXRlIGFcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGR5bmFtaWMgcmVxdWVzdCB0byBmaWxsIHRoZW0gaW4uXG4gICAgICAgICAgICAgICAgICAgICAgICAvL1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gRG8gbm90IGJsb2NrIG9uIHRoZSByZXN1bHQuIFdlJ2xsIGltbWVkaWF0ZWx5IHJlbmRlciB0aGUgQ2FjaGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vZGUgdHJlZSBhbmQgc3VzcGVuZCBvbiB0aGUgZHluYW1pYyBwYXJ0cy4gV2hlbiB0aGUgcmVxdWVzdFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29tZXMgaW4sIHdlJ2xsIGZpbGwgaW4gbWlzc2luZyBkYXRhIGFuZCBwaW5nIFJlYWN0IHRvXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyByZS1yZW5kZXIuIFVubGlrZSB0aGUgbGF6eSBmZXRjaGluZyBtb2RlbCBpbiB0aGUgbm9uLVBQUlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW1wbGVtZW50YXRpb24sIHRoaXMgaXMgbW9kZWxlZCBhcyBhIHNpbmdsZSBSZWFjdCB1cGRhdGUgK1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3RyZWFtaW5nLCByYXRoZXIgdGhhbiBtdWx0aXBsZSB0b3AtbGV2ZWwgdXBkYXRlcy4gKEhvd2V2ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBldmVuIGluIHRoZSBuZXcgbW9kZWwsIHdlJ2xsIHN0aWxsIG5lZWQgdG8gc29tZXRpbWVzIHVwZGF0ZSB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJvb3QgbXVsdGlwbGUgdGltZXMgcGVyIG5hdmlnYXRpb24sIGxpa2UgaWYgdGhlIHNlcnZlciBzZW5kcyB1c1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gYSBkaWZmZXJlbnQgcmVzcG9uc2UgdGhhbiB3ZSBleHBlY3RlZC4gRm9yIG5vdywgd2UgcmV2ZXJ0IGJhY2tcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHRvIHRoZSBsYXp5IGZldGNoaW5nIG1lY2hhbmlzbSBpbiB0aGF0IGNhc2UuKVxuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF9wcHJuYXZpZ2F0aW9ucy5saXN0ZW5Gb3JEeW5hbWljUmVxdWVzdCkodGFzaywgKDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKHVybCwgY3VycmVudFRyZWUsIHN0YXRlLm5leHRVcmwsIHN0YXRlLmJ1aWxkSWQpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBuZXdDYWNoZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIE5vdGhpbmcgY2hhbmdlZCwgc28gcmV1c2UgdGhlIG9sZCBjYWNoZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IFdoYXQgaWYgdGhlIGhlYWQgY2hhbmdlZCBidXQgbm90IGFueSBvZiB0aGUgc2VnbWVudCBkYXRhP1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSXMgdGhhdCBwb3NzaWJsZT8gSWYgc28sIHdlIHNob3VsZCBjbG9uZSB0aGUgd2hvbGUgdHJlZSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVwZGF0ZSB0aGUgaGVhZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIG5ld1RyZWUgPSBwcmVmZXRjaGVkVHJlZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZSBzdGF0aWMgcmVzcG9uc2UgZG9lcyBub3QgaW5jbHVkZSBhbnkgZHluYW1pYyBob2xlcywgc29cbiAgICAgICAgICAgICAgICAgICAgLy8gdGhlcmUncyBubyBuZWVkIHRvIGRvIGEgc2Vjb25kIHJlcXVlc3QuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRPRE86IEFzIGFuIGluY3JlbWVudGFsIHN0ZXAgdGhpcyBqdXN0IHJldmVydHMgYmFjayB0byB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9uLVBQUiBpbXBsZW1lbnRhdGlvbi4gV2UgY2FuIHNpbXBsaWZ5IHRoaXMgYnJhbmNoIGZ1cnRoZXIsXG4gICAgICAgICAgICAgICAgICAgIC8vIGdpdmVuIHRoYXQgUFBSIHByZWZldGNoZXMgYXJlIGFsd2F5cyBzdGF0aWMgYW5kIHJldHVybiB0aGUgd2hvbGVcbiAgICAgICAgICAgICAgICAgICAgLy8gdHJlZS4gT3IgaW4gdGhlIG1lYW50aW1lIHdlIGNvdWxkIGZhY3RvciBpdCBvdXQgaW50byBhXG4gICAgICAgICAgICAgICAgICAgIC8vIHNlcGFyYXRlIGZ1bmN0aW9uLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBjYWNoZSA9ICgwLCBfYXBwcm91dGVyLmNyZWF0ZUVtcHR5Q2FjaGVOb2RlKSgpO1xuICAgICAgICAgICAgICAgICAgICBsZXQgYXBwbGllZCA9ICgwLCBfYXBwbHlmbGlnaHRkYXRhLmFwcGx5RmxpZ2h0RGF0YSkoY3VycmVudENhY2hlLCBjYWNoZSwgZmxpZ2h0RGF0YVBhdGgsIChwcmVmZXRjaFZhbHVlcyA9PSBudWxsID8gdm9pZCAwIDogcHJlZmV0Y2hWYWx1ZXMua2luZCkgPT09IFwiYXV0b1wiICYmIHByZWZldGNoRW50cnlDYWNoZVN0YXR1cyA9PT0gX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cy5QcmVmZXRjaENhY2hlRW50cnlTdGF0dXMucmV1c2FibGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWFwcGxpZWQgJiYgcHJlZmV0Y2hFbnRyeUNhY2hlU3RhdHVzID09PSBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzLlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cy5zdGFsZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGllZCA9IGFkZFJlZmV0Y2hUb0xlYWZTZWdtZW50cyhjYWNoZSwgY3VycmVudENhY2hlLCBmbGlnaHRTZWdtZW50UGF0aCwgdHJlZVBhdGNoLCAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbG9vcC1mdW5jXG4gICAgICAgICAgICAgICAgICAgICAgICAoKT0+KDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKHVybCwgY3VycmVudFRyZWUsIHN0YXRlLm5leHRVcmwsIHN0YXRlLmJ1aWxkSWQpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCBoYXJkTmF2aWdhdGUgPSAoMCwgX3Nob3VsZGhhcmRuYXZpZ2F0ZS5zaG91bGRIYXJkTmF2aWdhdGUpKC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgICAgICAgICAgZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5LCBjdXJyZW50VHJlZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXJkTmF2aWdhdGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIENvcHkgcnNjIGZvciB0aGUgcm9vdCBub2RlIG9mIHRoZSBjYWNoZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlLnJzYyA9IGN1cnJlbnRDYWNoZS5yc2M7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IGN1cnJlbnRDYWNoZS5wcmVmZXRjaFJzYztcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCBfaW52YWxpZGF0ZWNhY2hlYmVsb3dmbGlnaHRzZWdtZW50cGF0aC5pbnZhbGlkYXRlQ2FjaGVCZWxvd0ZsaWdodFNlZ21lbnRQYXRoKShjYWNoZSwgY3VycmVudENhY2hlLCBmbGlnaHRTZWdtZW50UGF0aCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBFbnN1cmUgdGhlIGV4aXN0aW5nIGNhY2hlIHZhbHVlIGlzIHVzZWQgd2hlbiB0aGUgY2FjaGUgd2FzIG5vdCBpbnZhbGlkYXRlZC5cbiAgICAgICAgICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhcHBsaWVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY3VycmVudFRyZWUgPSBuZXdUcmVlO1xuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3ViU2VnbWVudCBvZiBnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoKHRyZWVQYXRjaCkpe1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzY3JvbGxhYmxlU2VnbWVudFBhdGggPSBbXG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5mbGlnaHRTZWdtZW50UGF0aCxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLnN1YlNlZ21lbnRcbiAgICAgICAgICAgICAgICAgICAgXTtcbiAgICAgICAgICAgICAgICAgICAgLy8gRmlsdGVyIG91dCB0aGUgX19ERUZBVUxUX18gcGF0aHMgYXMgdGhleSBzaG91bGRuJ3QgYmUgc2Nyb2xsZWQgdG8gaW4gdGhpcyBjYXNlLlxuICAgICAgICAgICAgICAgICAgICBpZiAoc2Nyb2xsYWJsZVNlZ21lbnRQYXRoW3Njcm9sbGFibGVTZWdtZW50UGF0aC5sZW5ndGggLSAxXSAhPT0gX3NlZ21lbnQuREVGQVVMVF9TRUdNRU5UX0tFWSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYWJsZVNlZ21lbnRzLnB1c2goc2Nyb2xsYWJsZVNlZ21lbnRQYXRoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBtdXRhYmxlLnBhdGNoZWRUcmVlID0gY3VycmVudFRyZWU7XG4gICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gY2Fub25pY2FsVXJsT3ZlcnJpZGUgPyAoMCwgX2NyZWF0ZWhyZWZmcm9tdXJsLmNyZWF0ZUhyZWZGcm9tVXJsKShjYW5vbmljYWxVcmxPdmVycmlkZSkgOiBocmVmO1xuICAgICAgICBtdXRhYmxlLnBlbmRpbmdQdXNoID0gcGVuZGluZ1B1c2g7XG4gICAgICAgIG11dGFibGUuc2Nyb2xsYWJsZVNlZ21lbnRzID0gc2Nyb2xsYWJsZVNlZ21lbnRzO1xuICAgICAgICBtdXRhYmxlLmhhc2hGcmFnbWVudCA9IGhhc2g7XG4gICAgICAgIG11dGFibGUuc2hvdWxkU2Nyb2xsID0gc2hvdWxkU2Nyb2xsO1xuICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVtdXRhYmxlLmhhbmRsZU11dGFibGUpKHN0YXRlLCBtdXRhYmxlKTtcbiAgICB9LCAoKT0+c3RhdGUpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1uYXZpZ2F0ZS1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImhhbmRsZUV4dGVybmFsVXJsIiwibmF2aWdhdGVSZWR1Y2VyIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJyZXF1aXJlIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwiX2ludmFsaWRhdGVjYWNoZWJlbG93ZmxpZ2h0c2VnbWVudHBhdGgiLCJfZmlsbGNhY2hld2l0aGRhdGFwcm9wZXJ0eSIsIl9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUiLCJfc2hvdWxkaGFyZG5hdmlnYXRlIiwiX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dCIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJfaGFuZGxlbXV0YWJsZSIsIl9hcHBseWZsaWdodGRhdGEiLCJfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzIiwiX3BydW5lcHJlZmV0Y2hjYWNoZSIsIl9wcmVmZXRjaHJlZHVjZXIiLCJfYXBwcm91dGVyIiwiX3NlZ21lbnQiLCJfcHBybmF2aWdhdGlvbnMiLCJfY3JlYXRlcHJlZmV0Y2hjYWNoZWtleSIsInN0YXRlIiwibXV0YWJsZSIsInVybCIsInBlbmRpbmdQdXNoIiwibXBhTmF2aWdhdGlvbiIsImNhbm9uaWNhbFVybCIsInNjcm9sbGFibGVTZWdtZW50cyIsInVuZGVmaW5lZCIsImhhbmRsZU11dGFibGUiLCJnZW5lcmF0ZVNlZ21lbnRzRnJvbVBhdGNoIiwiZmxpZ2h0Um91dGVyUGF0Y2giLCJzZWdtZW50cyIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlcyIsImtleXMiLCJsZW5ndGgiLCJwYXJhbGxlbFJvdXRlS2V5IiwicGFyYWxsZWxSb3V0ZSIsImVudHJpZXMiLCJjaGlsZFNlZ21lbnQiLCJwdXNoIiwiYWRkUmVmZXRjaFRvTGVhZlNlZ21lbnRzIiwibmV3Q2FjaGUiLCJjdXJyZW50Q2FjaGUiLCJmbGlnaHRTZWdtZW50UGF0aCIsInRyZWVQYXRjaCIsImRhdGEiLCJhcHBsaWVkUGF0Y2giLCJyc2MiLCJwcmVmZXRjaFJzYyIsIk1hcCIsInNlZ21lbnRQYXRoc1RvRmlsbCIsIm1hcCIsInNlZ21lbnRQYXRocyIsImZpbGxDYWNoZVdpdGhEYXRhUHJvcGVydHkiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1BQUiIsIm5hdmlnYXRlUmVkdWNlcl9QUFIiLCJuYXZpZ2F0ZVJlZHVjZXJfbm9QUFIiLCJhY3Rpb24iLCJpc0V4dGVybmFsVXJsIiwibmF2aWdhdGVUeXBlIiwic2hvdWxkU2Nyb2xsIiwiaGFzaCIsImhyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsInBydW5lUHJlZmV0Y2hDYWNoZSIsInByZWZldGNoQ2FjaGUiLCJwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZSIsInRvU3RyaW5nIiwicHJlZmV0Y2hDYWNoZUtleSIsImNyZWF0ZVByZWZldGNoQ2FjaGVLZXkiLCJuZXh0VXJsIiwicHJlZmV0Y2hWYWx1ZXMiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwidHJlZSIsImJ1aWxkSWQiLCJQcmVmZXRjaEtpbmQiLCJBVVRPIiwibmV3UHJlZmV0Y2hWYWx1ZSIsImtpbmQiLCJURU1QT1JBUlkiLCJwcmVmZXRjaFRpbWUiLCJEYXRlIiwibm93IiwidHJlZUF0VGltZU9mUHJlZmV0Y2giLCJsYXN0VXNlZFRpbWUiLCJzZXQiLCJwcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMiLCJnZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMiLCJwcmVmZXRjaFF1ZXVlIiwiYnVtcCIsInRoZW4iLCJwYXJhbSIsImZsaWdodERhdGEiLCJjYW5vbmljYWxVcmxPdmVycmlkZSIsInBvc3Rwb25lZCIsImN1cnJlbnRUcmVlIiwiY2FjaGUiLCJmbGlnaHREYXRhUGF0aCIsInNsaWNlIiwiZmxpZ2h0U2VnbWVudFBhdGhXaXRoTGVhZGluZ0VtcHR5IiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0IiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJhcHBsaWVkIiwiYXBwbHlGbGlnaHREYXRhIiwiUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzIiwicmV1c2FibGUiLCJzdGFsZSIsImhhcmROYXZpZ2F0ZSIsInNob3VsZEhhcmROYXZpZ2F0ZSIsImludmFsaWRhdGVDYWNoZUJlbG93RmxpZ2h0U2VnbWVudFBhdGgiLCJzdWJTZWdtZW50Iiwic2Nyb2xsYWJsZVNlZ21lbnRQYXRoIiwiREVGQVVMVF9TRUdNRU5UX0tFWSIsInBhdGNoZWRUcmVlIiwiaGFzaEZyYWdtZW50IiwiX3Bvc3Rwb25lZCIsInByZWZldGNoZWRUcmVlIiwic2VlZERhdGEiLCJoZWFkIiwiaXNQcmVmZXRjaFN0YWxlIiwidGFzayIsInVwZGF0ZUNhY2hlTm9kZU9uTmF2aWdhdGlvbiIsIm5vZGUiLCJwYXRjaGVkUm91dGVyU3RhdGUiLCJyb3V0ZSIsImxpc3RlbkZvckR5bmFtaWNSZXF1ZXN0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js": /*!**********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js ***! \**********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefetchQueue: function() {\n return prefetchQueue;\n },\n prefetchReducer: function() {\n return prefetchReducer;\n }\n});\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _pruneprefetchcache = __webpack_require__(/*! ./prune-prefetch-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _promisequeue = __webpack_require__(/*! ../../promise-queue */ \"(ssr)/./node_modules/next/dist/client/components/promise-queue.js\");\nconst _createprefetchcachekey = __webpack_require__(/*! ./create-prefetch-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/create-prefetch-cache-key.js\");\nconst prefetchQueue = new _promisequeue.PromiseQueue(5);\nfunction prefetchReducer(state, action) {\n // let's prune the prefetch cache before we do anything else\n (0, _pruneprefetchcache.prunePrefetchCache)(state.prefetchCache);\n const { url } = action;\n url.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n const prefetchCacheKey = (0, _createprefetchcachekey.createPrefetchCacheKey)(url, state.nextUrl);\n const cacheEntry = state.prefetchCache.get(prefetchCacheKey);\n if (cacheEntry) {\n /**\n * If the cache entry present was marked as temporary, it means that we prefetched it from the navigate reducer,\n * where we didn't have the prefetch intent. We want to update it to the new, more accurate, kind here.\n */ if (cacheEntry.kind === _routerreducertypes.PrefetchKind.TEMPORARY) {\n state.prefetchCache.set(prefetchCacheKey, {\n ...cacheEntry,\n kind: action.kind\n });\n }\n /**\n * if the prefetch action was a full prefetch and that the current cache entry wasn't one, we want to re-prefetch,\n * otherwise we can re-use the current cache entry\n **/ if (!(cacheEntry.kind === _routerreducertypes.PrefetchKind.AUTO && action.kind === _routerreducertypes.PrefetchKind.FULL)) {\n return state;\n }\n }\n // fetchServerResponse is intentionally not awaited so that it can be unwrapped in the navigate-reducer\n const serverResponse = prefetchQueue.enqueue(()=>(0, _fetchserverresponse.fetchServerResponse)(url, state.tree, state.nextUrl, state.buildId, action.kind));\n // Create new tree based on the flightSegmentPath and router state patch\n state.prefetchCache.set(prefetchCacheKey, {\n // Create new tree based on the flightSegmentPath and router state patch\n treeAtTimeOfPrefetch: state.tree,\n data: serverResponse,\n kind: action.kind,\n prefetchTime: Date.now(),\n lastUsedTime: null\n });\n return state;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prefetch-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLHVCQUF1QkMsbUJBQU9BLENBQUMsMEhBQTBCO0FBQy9ELE1BQU1DLHNCQUFzQkQsbUJBQU9BLENBQUMsd0hBQXlCO0FBQzdELE1BQU1FLHNCQUFzQkYsbUJBQU9BLENBQUMsZ0lBQXdCO0FBQzVELE1BQU1HLG9CQUFvQkgsbUJBQU9BLENBQUMsd0dBQTBCO0FBQzVELE1BQU1JLGdCQUFnQkosbUJBQU9BLENBQUMsOEZBQXFCO0FBQ25ELE1BQU1LLDBCQUEwQkwsbUJBQU9BLENBQUMsMElBQTZCO0FBQ3JFLE1BQU1ULGdCQUFnQixJQUFJYSxjQUFjRSxZQUFZLENBQUM7QUFDckQsU0FBU2QsZ0JBQWdCZSxLQUFLLEVBQUVDLE1BQU07SUFDbEMsNERBQTREO0lBQzNELElBQUdOLG9CQUFvQk8sa0JBQWtCLEVBQUVGLE1BQU1HLGFBQWE7SUFDL0QsTUFBTSxFQUFFQyxHQUFHLEVBQUUsR0FBR0g7SUFDaEJHLElBQUlDLFlBQVksQ0FBQ0MsTUFBTSxDQUFDVixrQkFBa0JXLG9CQUFvQjtJQUM5RCxNQUFNQyxtQkFBbUIsQ0FBQyxHQUFHVix3QkFBd0JXLHNCQUFzQixFQUFFTCxLQUFLSixNQUFNVSxPQUFPO0lBQy9GLE1BQU1DLGFBQWFYLE1BQU1HLGFBQWEsQ0FBQ1osR0FBRyxDQUFDaUI7SUFDM0MsSUFBSUcsWUFBWTtRQUNaOzs7S0FHSCxHQUFHLElBQUlBLFdBQVdDLElBQUksS0FBS2xCLG9CQUFvQm1CLFlBQVksQ0FBQ0MsU0FBUyxFQUFFO1lBQ2hFZCxNQUFNRyxhQUFhLENBQUNZLEdBQUcsQ0FBQ1Asa0JBQWtCO2dCQUN0QyxHQUFHRyxVQUFVO2dCQUNiQyxNQUFNWCxPQUFPVyxJQUFJO1lBQ3JCO1FBQ0o7UUFDQTs7O01BR0YsR0FBRyxJQUFJLENBQUVELENBQUFBLFdBQVdDLElBQUksS0FBS2xCLG9CQUFvQm1CLFlBQVksQ0FBQ0csSUFBSSxJQUFJZixPQUFPVyxJQUFJLEtBQUtsQixvQkFBb0JtQixZQUFZLENBQUNJLElBQUksR0FBRztZQUN4SCxPQUFPakI7UUFDWDtJQUNKO0lBQ0EsdUdBQXVHO0lBQ3ZHLE1BQU1rQixpQkFBaUJsQyxjQUFjbUMsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHM0IscUJBQXFCNEIsbUJBQW1CLEVBQUVoQixLQUMzRkosTUFBTXFCLElBQUksRUFBRXJCLE1BQU1VLE9BQU8sRUFBRVYsTUFBTXNCLE9BQU8sRUFBRXJCLE9BQU9XLElBQUk7SUFDekQsd0VBQXdFO0lBQ3hFWixNQUFNRyxhQUFhLENBQUNZLEdBQUcsQ0FBQ1Asa0JBQWtCO1FBQ3RDLHdFQUF3RTtRQUN4RWUsc0JBQXNCdkIsTUFBTXFCLElBQUk7UUFDaENHLE1BQU1OO1FBQ05OLE1BQU1YLE9BQU9XLElBQUk7UUFDakJhLGNBQWNDLEtBQUtDLEdBQUc7UUFDdEJDLGNBQWM7SUFDbEI7SUFDQSxPQUFPNUI7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPbkIsUUFBUWdELE9BQU8sS0FBSyxjQUFlLE9BQU9oRCxRQUFRZ0QsT0FBTyxLQUFLLFlBQVloRCxRQUFRZ0QsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPaEQsUUFBUWdELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktuRCxPQUFPQyxjQUFjLENBQUNDLFFBQVFnRCxPQUFPLEVBQUUsY0FBYztRQUFFL0MsT0FBTztJQUFLO0lBQ25FSCxPQUFPb0QsTUFBTSxDQUFDbEQsUUFBUWdELE9BQU8sRUFBRWhEO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFnRCxPQUFPO0FBQ2xDLEVBRUEsNENBQTRDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcHJlZmV0Y2gtcmVkdWNlci5qcz8zYjNiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgcHJlZmV0Y2hRdWV1ZTogbnVsbCxcbiAgICBwcmVmZXRjaFJlZHVjZXI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgcHJlZmV0Y2hRdWV1ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcmVmZXRjaFF1ZXVlO1xuICAgIH0sXG4gICAgcHJlZmV0Y2hSZWR1Y2VyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZWZldGNoUmVkdWNlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9mZXRjaHNlcnZlcnJlc3BvbnNlID0gcmVxdWlyZShcIi4uL2ZldGNoLXNlcnZlci1yZXNwb25zZVwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi4vcm91dGVyLXJlZHVjZXItdHlwZXNcIik7XG5jb25zdCBfcHJ1bmVwcmVmZXRjaGNhY2hlID0gcmVxdWlyZShcIi4vcHJ1bmUtcHJlZmV0Y2gtY2FjaGVcIik7XG5jb25zdCBfYXBwcm91dGVyaGVhZGVycyA9IHJlcXVpcmUoXCIuLi8uLi9hcHAtcm91dGVyLWhlYWRlcnNcIik7XG5jb25zdCBfcHJvbWlzZXF1ZXVlID0gcmVxdWlyZShcIi4uLy4uL3Byb21pc2UtcXVldWVcIik7XG5jb25zdCBfY3JlYXRlcHJlZmV0Y2hjYWNoZWtleSA9IHJlcXVpcmUoXCIuL2NyZWF0ZS1wcmVmZXRjaC1jYWNoZS1rZXlcIik7XG5jb25zdCBwcmVmZXRjaFF1ZXVlID0gbmV3IF9wcm9taXNlcXVldWUuUHJvbWlzZVF1ZXVlKDUpO1xuZnVuY3Rpb24gcHJlZmV0Y2hSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgICAvLyBsZXQncyBwcnVuZSB0aGUgcHJlZmV0Y2ggY2FjaGUgYmVmb3JlIHdlIGRvIGFueXRoaW5nIGVsc2VcbiAgICAoMCwgX3BydW5lcHJlZmV0Y2hjYWNoZS5wcnVuZVByZWZldGNoQ2FjaGUpKHN0YXRlLnByZWZldGNoQ2FjaGUpO1xuICAgIGNvbnN0IHsgdXJsIH0gPSBhY3Rpb247XG4gICAgdXJsLnNlYXJjaFBhcmFtcy5kZWxldGUoX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9SU0NfVU5JT05fUVVFUlkpO1xuICAgIGNvbnN0IHByZWZldGNoQ2FjaGVLZXkgPSAoMCwgX2NyZWF0ZXByZWZldGNoY2FjaGVrZXkuY3JlYXRlUHJlZmV0Y2hDYWNoZUtleSkodXJsLCBzdGF0ZS5uZXh0VXJsKTtcbiAgICBjb25zdCBjYWNoZUVudHJ5ID0gc3RhdGUucHJlZmV0Y2hDYWNoZS5nZXQocHJlZmV0Y2hDYWNoZUtleSk7XG4gICAgaWYgKGNhY2hlRW50cnkpIHtcbiAgICAgICAgLyoqXG4gICAgICogSWYgdGhlIGNhY2hlIGVudHJ5IHByZXNlbnQgd2FzIG1hcmtlZCBhcyB0ZW1wb3JhcnksIGl0IG1lYW5zIHRoYXQgd2UgcHJlZmV0Y2hlZCBpdCBmcm9tIHRoZSBuYXZpZ2F0ZSByZWR1Y2VyLFxuICAgICAqIHdoZXJlIHdlIGRpZG4ndCBoYXZlIHRoZSBwcmVmZXRjaCBpbnRlbnQuIFdlIHdhbnQgdG8gdXBkYXRlIGl0IHRvIHRoZSBuZXcsIG1vcmUgYWNjdXJhdGUsIGtpbmQgaGVyZS5cbiAgICAgKi8gaWYgKGNhY2hlRW50cnkua2luZCA9PT0gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuVEVNUE9SQVJZKSB7XG4gICAgICAgICAgICBzdGF0ZS5wcmVmZXRjaENhY2hlLnNldChwcmVmZXRjaENhY2hlS2V5LCB7XG4gICAgICAgICAgICAgICAgLi4uY2FjaGVFbnRyeSxcbiAgICAgICAgICAgICAgICBraW5kOiBhY3Rpb24ua2luZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLyoqXG4gICAgICogaWYgdGhlIHByZWZldGNoIGFjdGlvbiB3YXMgYSBmdWxsIHByZWZldGNoIGFuZCB0aGF0IHRoZSBjdXJyZW50IGNhY2hlIGVudHJ5IHdhc24ndCBvbmUsIHdlIHdhbnQgdG8gcmUtcHJlZmV0Y2gsXG4gICAgICogb3RoZXJ3aXNlIHdlIGNhbiByZS11c2UgdGhlIGN1cnJlbnQgY2FjaGUgZW50cnlcbiAgICAgKiovIGlmICghKGNhY2hlRW50cnkua2luZCA9PT0gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuQVVUTyAmJiBhY3Rpb24ua2luZCA9PT0gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuRlVMTCkpIHtcbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBmZXRjaFNlcnZlclJlc3BvbnNlIGlzIGludGVudGlvbmFsbHkgbm90IGF3YWl0ZWQgc28gdGhhdCBpdCBjYW4gYmUgdW53cmFwcGVkIGluIHRoZSBuYXZpZ2F0ZS1yZWR1Y2VyXG4gICAgY29uc3Qgc2VydmVyUmVzcG9uc2UgPSBwcmVmZXRjaFF1ZXVlLmVucXVldWUoKCk9PigwLCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZS5mZXRjaFNlcnZlclJlc3BvbnNlKSh1cmwsIC8vIGluaXRpYWxUcmVlIGlzIHVzZWQgd2hlbiBoaXN0b3J5LnN0YXRlLnRyZWUgaXMgbWlzc2luZyBiZWNhdXNlIHRoZSBoaXN0b3J5IHN0YXRlIGlzIHNldCBpbiBgdXNlRWZmZWN0YCBiZWxvdywgaXQgYmVpbmcgbWlzc2luZyBtZWFucyB0aGlzIGlzIHRoZSBoeWRyYXRpb24gY2FzZS5cbiAgICAgICAgc3RhdGUudHJlZSwgc3RhdGUubmV4dFVybCwgc3RhdGUuYnVpbGRJZCwgYWN0aW9uLmtpbmQpKTtcbiAgICAvLyBDcmVhdGUgbmV3IHRyZWUgYmFzZWQgb24gdGhlIGZsaWdodFNlZ21lbnRQYXRoIGFuZCByb3V0ZXIgc3RhdGUgcGF0Y2hcbiAgICBzdGF0ZS5wcmVmZXRjaENhY2hlLnNldChwcmVmZXRjaENhY2hlS2V5LCB7XG4gICAgICAgIC8vIENyZWF0ZSBuZXcgdHJlZSBiYXNlZCBvbiB0aGUgZmxpZ2h0U2VnbWVudFBhdGggYW5kIHJvdXRlciBzdGF0ZSBwYXRjaFxuICAgICAgICB0cmVlQXRUaW1lT2ZQcmVmZXRjaDogc3RhdGUudHJlZSxcbiAgICAgICAgZGF0YTogc2VydmVyUmVzcG9uc2UsXG4gICAgICAgIGtpbmQ6IGFjdGlvbi5raW5kLFxuICAgICAgICBwcmVmZXRjaFRpbWU6IERhdGUubm93KCksXG4gICAgICAgIGxhc3RVc2VkVGltZTogbnVsbFxuICAgIH0pO1xuICAgIHJldHVybiBzdGF0ZTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJlZmV0Y2gtcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJwcmVmZXRjaFF1ZXVlIiwicHJlZmV0Y2hSZWR1Y2VyIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJyZXF1aXJlIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIl9wcnVuZXByZWZldGNoY2FjaGUiLCJfYXBwcm91dGVyaGVhZGVycyIsIl9wcm9taXNlcXVldWUiLCJfY3JlYXRlcHJlZmV0Y2hjYWNoZWtleSIsIlByb21pc2VRdWV1ZSIsInN0YXRlIiwiYWN0aW9uIiwicHJ1bmVQcmVmZXRjaENhY2hlIiwicHJlZmV0Y2hDYWNoZSIsInVybCIsInNlYXJjaFBhcmFtcyIsImRlbGV0ZSIsIk5FWFRfUlNDX1VOSU9OX1FVRVJZIiwicHJlZmV0Y2hDYWNoZUtleSIsImNyZWF0ZVByZWZldGNoQ2FjaGVLZXkiLCJuZXh0VXJsIiwiY2FjaGVFbnRyeSIsImtpbmQiLCJQcmVmZXRjaEtpbmQiLCJURU1QT1JBUlkiLCJzZXQiLCJBVVRPIiwiRlVMTCIsInNlcnZlclJlc3BvbnNlIiwiZW5xdWV1ZSIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJ0cmVlIiwiYnVpbGRJZCIsInRyZWVBdFRpbWVPZlByZWZldGNoIiwiZGF0YSIsInByZWZldGNoVGltZSIsIkRhdGUiLCJub3ciLCJsYXN0VXNlZFRpbWUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"prunePrefetchCache\", ({\n enumerable: true,\n get: function() {\n return prunePrefetchCache;\n }\n}));\nconst _getprefetchcacheentrystatus = __webpack_require__(/*! ../get-prefetch-cache-entry-status */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/get-prefetch-cache-entry-status.js\");\nfunction prunePrefetchCache(prefetchCache) {\n for (const [href, prefetchCacheEntry] of prefetchCache){\n if ((0, _getprefetchcacheentrystatus.getPrefetchEntryCacheStatus)(prefetchCacheEntry) === _getprefetchcacheentrystatus.PrefetchCacheEntryStatus.expired) {\n prefetchCache.delete(href);\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=prune-prefetch-cache.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3BydW5lLXByZWZldGNoLWNhY2hlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywrQkFBK0JDLG1CQUFPQSxDQUFDLDhJQUFvQztBQUNqRixTQUFTRixtQkFBbUJHLGFBQWE7SUFDckMsS0FBSyxNQUFNLENBQUNDLE1BQU1DLG1CQUFtQixJQUFJRixjQUFjO1FBQ25ELElBQUksQ0FBQyxHQUFHRiw2QkFBNkJLLDJCQUEyQixFQUFFRCx3QkFBd0JKLDZCQUE2Qk0sd0JBQXdCLENBQUNDLE9BQU8sRUFBRTtZQUNySkwsY0FBY00sTUFBTSxDQUFDTDtRQUN6QjtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1IsUUFBUWMsT0FBTyxLQUFLLGNBQWUsT0FBT2QsUUFBUWMsT0FBTyxLQUFLLFlBQVlkLFFBQVFjLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2QsUUFBUWMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2pCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWMsT0FBTyxFQUFFLGNBQWM7UUFBRWIsT0FBTztJQUFLO0lBQ25FSCxPQUFPa0IsTUFBTSxDQUFDaEIsUUFBUWMsT0FBTyxFQUFFZDtJQUMvQmlCLE9BQU9qQixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9wcnVuZS1wcmVmZXRjaC1jYWNoZS5qcz8xYmZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicHJ1bmVQcmVmZXRjaENhY2hlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwcnVuZVByZWZldGNoQ2FjaGU7XG4gICAgfVxufSk7XG5jb25zdCBfZ2V0cHJlZmV0Y2hjYWNoZWVudHJ5c3RhdHVzID0gcmVxdWlyZShcIi4uL2dldC1wcmVmZXRjaC1jYWNoZS1lbnRyeS1zdGF0dXNcIik7XG5mdW5jdGlvbiBwcnVuZVByZWZldGNoQ2FjaGUocHJlZmV0Y2hDYWNoZSkge1xuICAgIGZvciAoY29uc3QgW2hyZWYsIHByZWZldGNoQ2FjaGVFbnRyeV0gb2YgcHJlZmV0Y2hDYWNoZSl7XG4gICAgICAgIGlmICgoMCwgX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cy5nZXRQcmVmZXRjaEVudHJ5Q2FjaGVTdGF0dXMpKHByZWZldGNoQ2FjaGVFbnRyeSkgPT09IF9nZXRwcmVmZXRjaGNhY2hlZW50cnlzdGF0dXMuUHJlZmV0Y2hDYWNoZUVudHJ5U3RhdHVzLmV4cGlyZWQpIHtcbiAgICAgICAgICAgIHByZWZldGNoQ2FjaGUuZGVsZXRlKGhyZWYpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wcnVuZS1wcmVmZXRjaC1jYWNoZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicHJ1bmVQcmVmZXRjaENhY2hlIiwiX2dldHByZWZldGNoY2FjaGVlbnRyeXN0YXR1cyIsInJlcXVpcmUiLCJwcmVmZXRjaENhY2hlIiwiaHJlZiIsInByZWZldGNoQ2FjaGVFbnRyeSIsImdldFByZWZldGNoRW50cnlDYWNoZVN0YXR1cyIsIlByZWZldGNoQ2FjaGVFbnRyeVN0YXR1cyIsImV4cGlyZWQiLCJkZWxldGUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prune-prefetch-cache.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js ***! \*********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"refreshReducer\", ({\n enumerable: true,\n get: function() {\n return refreshReducer;\n }\n}));\nconst _fetchserverresponse = __webpack_require__(/*! ../fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nfunction refreshReducer(state, action) {\n const { origin } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n const cache = (0, _approuter.createEmptyCacheNode)();\n // TODO-APP: verify that `href` is not an external url.\n // Fetch data from the root of the tree.\n cache.lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(href, origin), [\n currentTree[0],\n currentTree[1],\n currentTree[2],\n \"refetch\"\n ], state.nextUrl, state.buildId);\n return cache.lazyData.then((param)=>{\n let [flightData, canonicalUrlOverride] = param;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.lazyData as it has been resolved at this point.\n cache.lazyData = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"REFRESH FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToFullTree)([\n \"\"\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = canonicalUrlOverride ? (0, _createhreffromurl.createHrefFromUrl)(canonicalUrlOverride) : undefined;\n if (canonicalUrlOverride) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (cacheNodeSeedData !== null) {\n const rsc = cacheNodeSeedData[2];\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n mutable.cache = cache;\n mutable.prefetchCache = new Map();\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, ()=>state);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=refresh-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3JlZnJlc2gtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsdUJBQXVCQyxtQkFBT0EsQ0FBQywwSEFBMEI7QUFDL0QsTUFBTUMscUJBQXFCRCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDNUQsTUFBTUUsK0JBQStCRixtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTUcsK0JBQStCSCxtQkFBT0EsQ0FBQyxnSkFBcUM7QUFDbEYsTUFBTUksbUJBQW1CSixtQkFBT0EsQ0FBQyx3SEFBb0I7QUFDckQsTUFBTUssaUJBQWlCTCxtQkFBT0EsQ0FBQyw0R0FBbUI7QUFDbEQsTUFBTU0saUNBQWlDTixtQkFBT0EsQ0FBQyxzSkFBd0M7QUFDdkYsTUFBTU8sYUFBYVAsbUJBQU9BLENBQUMsd0ZBQWtCO0FBQzdDLE1BQU1RLHlCQUF5QlIsbUJBQU9BLENBQUMsOEhBQTRCO0FBQ25FLFNBQVNGLGVBQWVXLEtBQUssRUFBRUMsTUFBTTtJQUNqQyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHRDtJQUNuQixNQUFNRSxVQUFVLENBQUM7SUFDakIsTUFBTUMsT0FBT0osTUFBTUssWUFBWTtJQUMvQixJQUFJQyxjQUFjTixNQUFNTyxJQUFJO0lBQzVCSixRQUFRSywwQkFBMEIsR0FBRztJQUNyQyxNQUFNQyxRQUFRLENBQUMsR0FBR1gsV0FBV1ksb0JBQW9CO0lBQ2pELHVEQUF1RDtJQUN2RCx3Q0FBd0M7SUFDeENELE1BQU1FLFFBQVEsR0FBRyxDQUFDLEdBQUdyQixxQkFBcUJzQixtQkFBbUIsRUFBRSxJQUFJQyxJQUFJVCxNQUFNRixT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dC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9yZWZyZXNoLXJlZHVjZXIuanM/MjkzYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlZnJlc2hSZWR1Y2VyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZWZyZXNoUmVkdWNlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9mZXRjaHNlcnZlcnJlc3BvbnNlID0gcmVxdWlyZShcIi4uL2ZldGNoLXNlcnZlci1yZXNwb25zZVwiKTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuLi9jcmVhdGUtaHJlZi1mcm9tLXVybFwiKTtcbmNvbnN0IF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUgPSByZXF1aXJlKFwiLi4vYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWVcIik7XG5jb25zdCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0ID0gcmVxdWlyZShcIi4uL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0XCIpO1xuY29uc3QgX25hdmlnYXRlcmVkdWNlciA9IHJlcXVpcmUoXCIuL25hdmlnYXRlLXJlZHVjZXJcIik7XG5jb25zdCBfaGFuZGxlbXV0YWJsZSA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtbXV0YWJsZVwiKTtcbmNvbnN0IF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZCA9IHJlcXVpcmUoXCIuLi9maWxsLWxhenktaXRlbXMtdGlsbC1sZWFmLXdpdGgtaGVhZFwiKTtcbmNvbnN0IF9hcHByb3V0ZXIgPSByZXF1aXJlKFwiLi4vLi4vYXBwLXJvdXRlclwiKTtcbmNvbnN0IF9oYW5kbGVzZWdtZW50bWlzbWF0Y2ggPSByZXF1aXJlKFwiLi4vaGFuZGxlLXNlZ21lbnQtbWlzbWF0Y2hcIik7XG5mdW5jdGlvbiByZWZyZXNoUmVkdWNlcihzdGF0ZSwgYWN0aW9uKSB7XG4gICAgY29uc3QgeyBvcmlnaW4gfSA9IGFjdGlvbjtcbiAgICBjb25zdCBtdXRhYmxlID0ge307XG4gICAgY29uc3QgaHJlZiA9IHN0YXRlLmNhbm9uaWNhbFVybDtcbiAgICBsZXQgY3VycmVudFRyZWUgPSBzdGF0ZS50cmVlO1xuICAgIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZTtcbiAgICBjb25zdCBjYWNoZSA9ICgwLCBfYXBwcm91dGVyLmNyZWF0ZUVtcHR5Q2FjaGVOb2RlKSgpO1xuICAgIC8vIFRPRE8tQVBQOiB2ZXJpZnkgdGhhdCBgaHJlZmAgaXMgbm90IGFuIGV4dGVybmFsIHVybC5cbiAgICAvLyBGZXRjaCBkYXRhIGZyb20gdGhlIHJvb3Qgb2YgdGhlIHRyZWUuXG4gICAgY2FjaGUubGF6eURhdGEgPSAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkobmV3IFVSTChocmVmLCBvcmlnaW4pLCBbXG4gICAgICAgIGN1cnJlbnRUcmVlWzBdLFxuICAgICAgICBjdXJyZW50VHJlZVsxXSxcbiAgICAgICAgY3VycmVudFRyZWVbMl0sXG4gICAgICAgIFwicmVmZXRjaFwiXG4gICAgXSwgc3RhdGUubmV4dFVybCwgc3RhdGUuYnVpbGRJZCk7XG4gICAgcmV0dXJuIGNhY2hlLmxhenlEYXRhLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2ZsaWdodERhdGEsIGNhbm9uaWNhbFVybE92ZXJyaWRlXSA9IHBhcmFtO1xuICAgICAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICAgICAgaWYgKHR5cGVvZiBmbGlnaHREYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBmbGlnaHREYXRhLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZW1vdmUgY2FjaGUubGF6eURhdGEgYXMgaXQgaGFzIGJlZW4gcmVzb2x2ZWQgYXQgdGhpcyBwb2ludC5cbiAgICAgICAgY2FjaGUubGF6eURhdGEgPSBudWxsO1xuICAgICAgICBmb3IgKGNvbnN0IGZsaWdodERhdGFQYXRoIG9mIGZsaWdodERhdGEpe1xuICAgICAgICAgICAgLy8gRmxpZ2h0RGF0YVBhdGggd2l0aCBtb3JlIHRoYW4gdHdvIGl0ZW1zIG1lYW5zIHVuZXhwZWN0ZWQgRmxpZ2h0IGRhdGEgd2FzIHJldHVybmVkXG4gICAgICAgICAgICBpZiAoZmxpZ2h0RGF0YVBhdGgubGVuZ3RoICE9PSAzKSB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETy1BUFA6IGhhbmRsZSB0aGlzIGNhc2UgYmV0dGVyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coXCJSRUZSRVNIIEZBSUxFRFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBHaXZlbiB0aGUgcGF0aCBjYW4gb25seSBoYXZlIHR3byBpdGVtcyB0aGUgaXRlbXMgYXJlIG9ubHkgdGhlIHJvdXRlciBzdGF0ZSBhbmQgcnNjIGZvciB0aGUgcm9vdC5cbiAgICAgICAgICAgIGNvbnN0IFt0cmVlUGF0Y2hdID0gZmxpZ2h0RGF0YVBhdGg7XG4gICAgICAgICAgICBjb25zdCBuZXdUcmVlID0gKDAsIF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUuYXBwbHlSb3V0ZXJTdGF0ZVBhdGNoVG9GdWxsVHJlZSkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIFwiXCJcbiAgICAgICAgICAgIF0sIGN1cnJlbnRUcmVlLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgaWYgKG5ld1RyZWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVzZWdtZW50bWlzbWF0Y2guaGFuZGxlU2VnbWVudE1pc21hdGNoKShzdGF0ZSwgYWN0aW9uLCB0cmVlUGF0Y2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCgwLCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0LmlzTmF2aWdhdGluZ1RvTmV3Um9vdExheW91dCkoY3VycmVudFRyZWUsIG5ld1RyZWUpKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLmhhbmRsZUV4dGVybmFsVXJsKShzdGF0ZSwgbXV0YWJsZSwgaHJlZiwgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYgPSBjYW5vbmljYWxVcmxPdmVycmlkZSA/ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKGNhbm9uaWNhbFVybE92ZXJyaWRlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGlmIChjYW5vbmljYWxVcmxPdmVycmlkZSkge1xuICAgICAgICAgICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGhlIG9uZSBiZWZvcmUgbGFzdCBpdGVtIGlzIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBwYXRjaFxuICAgICAgICAgICAgY29uc3QgW2NhY2hlTm9kZVNlZWREYXRhLCBoZWFkXSA9IGZsaWdodERhdGFQYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgICAgIC8vIEhhbmRsZXMgY2FzZSB3aGVyZSBwcmVmZXRjaCBvbmx5IHJldHVybnMgdGhlIHJvdXRlciB0cmVlIHBhdGNoIHdpdGhvdXQgcmVuZGVyZWQgY29tcG9uZW50cy5cbiAgICAgICAgICAgIGlmIChjYWNoZU5vZGVTZWVkRGF0YSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJzYyA9IGNhY2hlTm9kZVNlZWREYXRhWzJdO1xuICAgICAgICAgICAgICAgIGNhY2hlLnJzYyA9IHJzYztcbiAgICAgICAgICAgICAgICBjYWNoZS5wcmVmZXRjaFJzYyA9IG51bGw7XG4gICAgICAgICAgICAgICAgKDAsIF9maWxsbGF6eWl0ZW1zdGlsbGxlYWZ3aXRoaGVhZC5maWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCkoY2FjaGUsIC8vIEV4aXN0aW5nIGNhY2hlIGlzIG5vdCBwYXNzZWQgaW4gYXMgYHJvdXRlci5yZWZyZXNoKClgIGhhcyB0byBpbnZhbGlkYXRlIHRoZSBlbnRpcmUgY2FjaGUuXG4gICAgICAgICAgICAgICAgdW5kZWZpbmVkLCB0cmVlUGF0Y2gsIGNhY2hlTm9kZVNlZWREYXRhLCBoZWFkKTtcbiAgICAgICAgICAgICAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGU7XG4gICAgICAgICAgICAgICAgbXV0YWJsZS5wcmVmZXRjaENhY2hlID0gbmV3IE1hcCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbXV0YWJsZS5wYXRjaGVkVHJlZSA9IG5ld1RyZWU7XG4gICAgICAgICAgICBtdXRhYmxlLmNhbm9uaWNhbFVybCA9IGhyZWY7XG4gICAgICAgICAgICBjdXJyZW50VHJlZSA9IG5ld1RyZWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgwLCBfaGFuZGxlbXV0YWJsZS5oYW5kbGVNdXRhYmxlKShzdGF0ZSwgbXV0YWJsZSk7XG4gICAgfSwgKCk9PnN0YXRlKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVmcmVzaC1yZWR1Y2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZWZyZXNoUmVkdWNlciIsIl9mZXRjaHNlcnZlcnJlc3BvbnNlIiwicmVxdWlyZSIsIl9jcmVhdGVocmVmZnJvbXVybCIsIl9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUiLCJfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0IiwiX25hdmlnYXRlcmVkdWNlciIsIl9oYW5kbGVtdXRhYmxlIiwiX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkIiwiX2FwcHJvdXRlciIsIl9oYW5kbGVzZWdtZW50bWlzbWF0Y2giLCJzdGF0ZSIsImFjdGlvbiIsIm9yaWdpbiIsIm11dGFibGUiLCJocmVmIiwiY2Fub25pY2FsVXJsIiwiY3VycmVudFRyZWUiLCJ0cmVlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwibGF6eURhdGEiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwiVVJMIiwibmV4dFVybCIsImJ1aWxkSWQiLCJ0aGVuIiwicGFyYW0iLCJmbGlnaHREYXRhIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImZsaWdodERhdGFQYXRoIiwibGVuZ3RoIiwiY29uc29sZSIsImxvZyIsInRyZWVQYXRjaCIsIm5ld1RyZWUiLCJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb0Z1bGxUcmVlIiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJ1bmRlZmluZWQiLCJjYWNoZU5vZGVTZWVkRGF0YSIsImhlYWQiLCJzbGljZSIsInJzYyIsInByZWZldGNoUnNjIiwiZmlsbExhenlJdGVtc1RpbGxMZWFmV2l0aEhlYWQiLCJwcmVmZXRjaENhY2hlIiwiTWFwIiwicGF0Y2hlZFRyZWUiLCJoYW5kbGVNdXRhYmxlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js": /*!*********************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js ***! \*********************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"restoreReducer\", ({\n enumerable: true,\n get: function() {\n return restoreReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _pprnavigations = __webpack_require__(/*! ../ppr-navigations */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/ppr-navigations.js\");\nfunction restoreReducer(state, action) {\n const { url, tree } = action;\n const href = (0, _createhreffromurl.createHrefFromUrl)(url);\n const oldCache = state.cache;\n const newCache = false ? // prevents an unnecessary flash back to PPR state during a\n // back/forward navigation.\n 0 : oldCache;\n var _extractPathFromFlightRouterState;\n return {\n buildId: state.buildId,\n // Set canonical url\n canonicalUrl: href,\n pushRef: {\n pendingPush: false,\n mpaNavigation: false,\n // Ensures that the custom history state that was set is preserved when applying this update.\n preserveCustomHistoryState: true\n },\n focusAndScrollRef: state.focusAndScrollRef,\n cache: newCache,\n prefetchCache: state.prefetchCache,\n // Restore provided tree\n tree: tree,\n nextUrl: (_extractPathFromFlightRouterState = (0, _computechangedpath.extractPathFromFlightRouterState)(tree)) != null ? _extractPathFromFlightRouterState : url.pathname\n };\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=restore-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3Jlc3RvcmUtcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMscUJBQXFCQyxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDNUQsTUFBTUMsc0JBQXNCRCxtQkFBT0EsQ0FBQyx3SEFBeUI7QUFDN0QsTUFBTUUsa0JBQWtCRixtQkFBT0EsQ0FBQyw4R0FBb0I7QUFDcEQsU0FBU0YsZUFBZUssS0FBSyxFQUFFQyxNQUFNO0lBQ2pDLE1BQU0sRUFBRUMsR0FBRyxFQUFFQyxJQUFJLEVBQUUsR0FBR0Y7SUFDdEIsTUFBTUcsT0FBTyxDQUFDLEdBQUdSLG1CQUFtQlMsaUJBQWlCLEVBQUVIO0lBQ3ZELE1BQU1JLFdBQVdOLE1BQU1PLEtBQUs7SUFDNUIsTUFBTUMsV0FBV0MsTUFBc0IsR0FHdkMsMkRBRjJEO0lBQzNELDJCQUEyQjtJQUMxQixDQUF3RU4sR0FBR0c7SUFDNUUsSUFBSU87SUFDSixPQUFPO1FBQ0hDLFNBQVNkLE1BQU1jLE9BQU87UUFDdEIsb0JBQW9CO1FBQ3BCQyxjQUFjWDtRQUNkWSxTQUFTO1lBQ0xDLGFBQWE7WUFDYkMsZUFBZTtZQUNmLDZGQUE2RjtZQUM3RkMsNEJBQTRCO1FBQ2hDO1FBQ0FDLG1CQUFtQnBCLE1BQU1vQixpQkFBaUI7UUFDMUNiLE9BQU9DO1FBQ1BhLGVBQWVyQixNQUFNcUIsYUFBYTtRQUNsQyx3QkFBd0I7UUFDeEJsQixNQUFNQTtRQUNObUIsU0FBUyxDQUFDVCxvQ0FBb0MsQ0FBQyxHQUFHZixvQkFBb0J5QixnQ0FBZ0MsRUFBRXBCLEtBQUksS0FBTSxPQUFPVSxvQ0FBb0NYLElBQUlzQixRQUFRO0lBQzdLO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2pDLFFBQVFrQyxPQUFPLEtBQUssY0FBZSxPQUFPbEMsUUFBUWtDLE9BQU8sS0FBSyxZQUFZbEMsUUFBUWtDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2xDLFFBQVFrQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLckMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRa0MsT0FBTyxFQUFFLGNBQWM7UUFBRWpDLE9BQU87SUFBSztJQUNuRUgsT0FBT3NDLE1BQU0sQ0FBQ3BDLFFBQVFrQyxPQUFPLEVBQUVsQztJQUMvQnFDLE9BQU9yQyxPQUFPLEdBQUdBLFFBQVFrQyxPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvcmVzdG9yZS1yZWR1Y2VyLmpzPzc5M2YiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZXN0b3JlUmVkdWNlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVzdG9yZVJlZHVjZXI7XG4gICAgfVxufSk7XG5jb25zdCBfY3JlYXRlaHJlZmZyb211cmwgPSByZXF1aXJlKFwiLi4vY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5jb25zdCBfY29tcHV0ZWNoYW5nZWRwYXRoID0gcmVxdWlyZShcIi4uL2NvbXB1dGUtY2hhbmdlZC1wYXRoXCIpO1xuY29uc3QgX3Bwcm5hdmlnYXRpb25zID0gcmVxdWlyZShcIi4uL3Bwci1uYXZpZ2F0aW9uc1wiKTtcbmZ1bmN0aW9uIHJlc3RvcmVSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBjb25zdCB7IHVybCwgdHJlZSB9ID0gYWN0aW9uO1xuICAgIGNvbnN0IGhyZWYgPSAoMCwgX2NyZWF0ZWhyZWZmcm9tdXJsLmNyZWF0ZUhyZWZGcm9tVXJsKSh1cmwpO1xuICAgIGNvbnN0IG9sZENhY2hlID0gc3RhdGUuY2FjaGU7XG4gICAgY29uc3QgbmV3Q2FjaGUgPSBwcm9jZXNzLmVudi5fX05FWFRfUFBSID8gLy8gZGF0YSBmb3IgYW55IHNlZ21lbnQgd2hvc2UgZHluYW1pYyBkYXRhIHdhcyBhbHJlYWR5IHJlY2VpdmVkLiBUaGlzXG4gICAgLy8gcHJldmVudHMgYW4gdW5uZWNlc3NhcnkgZmxhc2ggYmFjayB0byBQUFIgc3RhdGUgZHVyaW5nIGFcbiAgICAvLyBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbi5cbiAgICAoMCwgX3Bwcm5hdmlnYXRpb25zLnVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbikob2xkQ2FjaGUsIHRyZWUpIDogb2xkQ2FjaGU7XG4gICAgdmFyIF9leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZTtcbiAgICByZXR1cm4ge1xuICAgICAgICBidWlsZElkOiBzdGF0ZS5idWlsZElkLFxuICAgICAgICAvLyBTZXQgY2Fub25pY2FsIHVybFxuICAgICAgICBjYW5vbmljYWxVcmw6IGhyZWYsXG4gICAgICAgIHB1c2hSZWY6IHtcbiAgICAgICAgICAgIHBlbmRpbmdQdXNoOiBmYWxzZSxcbiAgICAgICAgICAgIG1wYU5hdmlnYXRpb246IGZhbHNlLFxuICAgICAgICAgICAgLy8gRW5zdXJlcyB0aGF0IHRoZSBjdXN0b20gaGlzdG9yeSBzdGF0ZSB0aGF0IHdhcyBzZXQgaXMgcHJlc2VydmVkIHdoZW4gYXBwbHlpbmcgdGhpcyB1cGRhdGUuXG4gICAgICAgICAgICBwcmVzZXJ2ZUN1c3RvbUhpc3RvcnlTdGF0ZTogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZjogc3RhdGUuZm9jdXNBbmRTY3JvbGxSZWYsXG4gICAgICAgIGNhY2hlOiBuZXdDYWNoZSxcbiAgICAgICAgcHJlZmV0Y2hDYWNoZTogc3RhdGUucHJlZmV0Y2hDYWNoZSxcbiAgICAgICAgLy8gUmVzdG9yZSBwcm92aWRlZCB0cmVlXG4gICAgICAgIHRyZWU6IHRyZWUsXG4gICAgICAgIG5leHRVcmw6IChfZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUgPSAoMCwgX2NvbXB1dGVjaGFuZ2VkcGF0aC5leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSkodHJlZSkpICE9IG51bGwgPyBfZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUgOiB1cmwucGF0aG5hbWVcbiAgICB9O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZXN0b3JlLXJlZHVjZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInJlc3RvcmVSZWR1Y2VyIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwicmVxdWlyZSIsIl9jb21wdXRlY2hhbmdlZHBhdGgiLCJfcHBybmF2aWdhdGlvbnMiLCJzdGF0ZSIsImFjdGlvbiIsInVybCIsInRyZWUiLCJocmVmIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJvbGRDYWNoZSIsImNhY2hlIiwibmV3Q2FjaGUiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1BQUiIsInVwZGF0ZUNhY2hlTm9kZU9uUG9wc3RhdGVSZXN0b3JhdGlvbiIsIl9leHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSIsImJ1aWxkSWQiLCJjYW5vbmljYWxVcmwiLCJwdXNoUmVmIiwicGVuZGluZ1B1c2giLCJtcGFOYXZpZ2F0aW9uIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJmb2N1c0FuZFNjcm9sbFJlZiIsInByZWZldGNoQ2FjaGUiLCJuZXh0VXJsIiwiZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUiLCJwYXRobmFtZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js": /*!***************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js ***! \***************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverActionReducer\", ({\n enumerable: true,\n get: function() {\n return serverActionReducer;\n }\n}));\nconst _appcallserver = __webpack_require__(/*! ../../../app-call-server */ \"(ssr)/./node_modules/next/dist/client/app-call-server.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _addbasepath = __webpack_require__(/*! ../../../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _filllazyitemstillleafwithhead = __webpack_require__(/*! ../fill-lazy-items-till-leaf-with-head */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fill-lazy-items-till-leaf-with-head.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _computechangedpath = __webpack_require__(/*! ../compute-changed-path */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/compute-changed-path.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { createFromFetch } from 'react-server-dom-webpack/client'\n// // eslint-disable-next-line import/no-extraneous-dependencies\n// import { encodeReply } from 'react-server-dom-webpack/client'\nconst { createFromFetch, encodeReply } = true ? __webpack_require__(/*! react-server-dom-webpack/client.edge */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\") : 0;\nasync function fetchServerAction(state, param) {\n let { actionId, actionArgs } = param;\n const body = await encodeReply(actionArgs);\n const newNextUrl = (0, _computechangedpath.extractPathFromFlightRouterState)(state.tree);\n // only pass along the `nextUrl` param (used for interception routes) if it exists and\n // if it's different from the current `nextUrl`. This indicates the route has already been intercepted,\n // and so the action should be as well. Otherwise the server action might be intercepted\n // with the wrong action id (ie, one that corresponds with the intercepted route)\n const includeNextUrl = state.nextUrl && state.nextUrl !== newNextUrl;\n const res = await fetch(\"\", {\n method: \"POST\",\n headers: {\n Accept: _approuterheaders.RSC_CONTENT_TYPE_HEADER,\n [_approuterheaders.ACTION]: actionId,\n [_approuterheaders.NEXT_ROUTER_STATE_TREE]: encodeURIComponent(JSON.stringify(state.tree)),\n ... false ? 0 : {},\n ...includeNextUrl ? {\n [_approuterheaders.NEXT_URL]: state.nextUrl\n } : {}\n },\n body\n });\n const location = res.headers.get(\"x-action-redirect\");\n let revalidatedParts;\n try {\n const revalidatedHeader = JSON.parse(res.headers.get(\"x-action-revalidated\") || \"[[],0,0]\");\n revalidatedParts = {\n paths: revalidatedHeader[0] || [],\n tag: !!revalidatedHeader[1],\n cookie: revalidatedHeader[2]\n };\n } catch (e) {\n revalidatedParts = {\n paths: [],\n tag: false,\n cookie: false\n };\n }\n const redirectLocation = location ? new URL((0, _addbasepath.addBasePath)(location), new URL(state.canonicalUrl, window.location.href)) : undefined;\n let isFlightResponse = res.headers.get(\"content-type\") === _approuterheaders.RSC_CONTENT_TYPE_HEADER;\n if (isFlightResponse) {\n const response = await createFromFetch(Promise.resolve(res), {\n callServer: _appcallserver.callServer\n });\n if (location) {\n // if it was a redirection, then result is just a regular RSC payload\n const [, actionFlightData] = response != null ? response : [];\n return {\n actionFlightData: actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n // otherwise it's a tuple of [actionResult, actionFlightData]\n const [actionResult, [, actionFlightData]] = response != null ? response : [];\n return {\n actionResult,\n actionFlightData,\n redirectLocation,\n revalidatedParts\n };\n }\n return {\n redirectLocation,\n revalidatedParts\n };\n}\nfunction serverActionReducer(state, action) {\n const { resolve, reject } = action;\n const mutable = {};\n const href = state.canonicalUrl;\n let currentTree = state.tree;\n mutable.preserveCustomHistoryState = false;\n mutable.inFlightServerAction = fetchServerAction(state, action);\n // suspends until the server action is resolved.\n return mutable.inFlightServerAction.then((param)=>{\n let { actionResult, actionFlightData: flightData, redirectLocation } = param;\n // Make sure the redirection is a push instead of a replace.\n // Issue: https://github.com/vercel/next.js/issues/53911\n if (redirectLocation) {\n state.pushRef.pendingPush = true;\n mutable.pendingPush = true;\n }\n if (!flightData) {\n if (!mutable.actionResultResolved) {\n resolve(actionResult);\n mutable.actionResultResolved = true;\n }\n // If there is a redirect but no flight data we need to do a mpaNavigation.\n if (redirectLocation) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, redirectLocation.href, state.pushRef.pendingPush);\n }\n return state;\n }\n if (typeof flightData === \"string\") {\n // Handle case when navigating to page in `pages` from `app`\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n // Remove cache.data as it has been resolved at this point.\n mutable.inFlightServerAction = null;\n for (const flightDataPath of flightData){\n // FlightDataPath with more than two items means unexpected Flight data was returned\n if (flightDataPath.length !== 3) {\n // TODO-APP: handle this case better\n console.log(\"SERVER ACTION APPLY FAILED\");\n return state;\n }\n // Given the path can only have two items the items are only the router state and rsc for the root.\n const [treePatch] = flightDataPath;\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToFullTree)([\n \"\"\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, href, state.pushRef.pendingPush);\n }\n // The one before last item is the router state tree patch\n const [cacheNodeSeedData, head] = flightDataPath.slice(-2);\n const rsc = cacheNodeSeedData !== null ? cacheNodeSeedData[2] : null;\n // Handles case where prefetch only returns the router tree patch without rendered components.\n if (rsc !== null) {\n const cache = (0, _approuter.createEmptyCacheNode)();\n cache.rsc = rsc;\n cache.prefetchRsc = null;\n (0, _filllazyitemstillleafwithhead.fillLazyItemsTillLeafWithHead)(cache, undefined, treePatch, cacheNodeSeedData, head);\n mutable.cache = cache;\n mutable.prefetchCache = new Map();\n }\n mutable.patchedTree = newTree;\n mutable.canonicalUrl = href;\n currentTree = newTree;\n }\n if (redirectLocation) {\n const newHref = (0, _createhreffromurl.createHrefFromUrl)(redirectLocation, false);\n mutable.canonicalUrl = newHref;\n }\n if (!mutable.actionResultResolved) {\n resolve(actionResult);\n mutable.actionResultResolved = true;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n }, (e)=>{\n if (e.status === \"rejected\") {\n if (!mutable.actionResultResolved) {\n reject(e.reason);\n mutable.actionResultResolved = true;\n }\n // When the server action is rejected we don't update the state and instead call the reject handler of the promise.\n return state;\n }\n throw e;\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-action-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1hY3Rpb24tcmVkdWNlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsdURBQXNEO0lBQ2xESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQywwRkFBMEI7QUFDekQsTUFBTUMsb0JBQW9CRCxtQkFBT0EsQ0FBQyx3R0FBMEI7QUFDNUQsTUFBTUUsZUFBZUYsbUJBQU9BLENBQUMsc0ZBQXdCO0FBQ3JELE1BQU1HLHFCQUFxQkgsbUJBQU9BLENBQUMsd0hBQXlCO0FBQzVELE1BQU1JLG1CQUFtQkosbUJBQU9BLENBQUMsd0hBQW9CO0FBQ3JELE1BQU1LLCtCQUErQkwsbUJBQU9BLENBQUMsZ0pBQXFDO0FBQ2xGLE1BQU1NLCtCQUErQk4sbUJBQU9BLENBQUMsZ0pBQXFDO0FBQ2xGLE1BQU1PLGlCQUFpQlAsbUJBQU9BLENBQUMsNEdBQW1CO0FBQ2xELE1BQU1RLGlDQUFpQ1IsbUJBQU9BLENBQUMsc0pBQXdDO0FBQ3ZGLE1BQU1TLGFBQWFULG1CQUFPQSxDQUFDLHdGQUFrQjtBQUM3QyxNQUFNVSxzQkFBc0JWLG1CQUFPQSxDQUFDLHdIQUF5QjtBQUM3RCxNQUFNVyx5QkFBeUJYLG1CQUFPQSxDQUFDLDhIQUE0QjtBQUNuRSxnRUFBZ0U7QUFDaEUsb0VBQW9FO0FBQ3BFLGdFQUFnRTtBQUNoRSxnRUFBZ0U7QUFDaEUsTUFBTSxFQUFFWSxlQUFlLEVBQUVDLFdBQVcsRUFBRSxHQUFHLEtBQTBCLEdBQUdiLG1CQUFPQSxDQUFDLHNLQUFzQyxJQUFJQSxDQUEwQztBQUNsSyxlQUFlaUIsa0JBQWtCQyxLQUFLLEVBQUVDLEtBQUs7SUFDekMsSUFBSSxFQUFFQyxR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SUFDcEQsR0FBRyxDQUFDakI7UUFDQSxJQUFJQSxFQUFFa0QsTUFBTSxLQUFLLFlBQVk7WUFDekIsSUFBSSxDQUFDakMsUUFBUVEsb0JBQW9CLEVBQUU7Z0JBQy9CVCxPQUFPaEIsRUFBRW1ELE1BQU07Z0JBQ2ZsQyxRQUFRUSxvQkFBb0IsR0FBRztZQUNuQztZQUNBLG1IQUFtSDtZQUNuSCxPQUFPeEQ7UUFDWDtRQUNBLE1BQU0rQjtJQUNWO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3ZELFFBQVEyRyxPQUFPLEtBQUssY0FBZSxPQUFPM0csUUFBUTJHLE9BQU8sS0FBSyxZQUFZM0csUUFBUTJHLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNHLFFBQVEyRyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUcsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkcsT0FBTyxFQUFFLGNBQWM7UUFBRTFHLE9BQU87SUFBSztJQUNuRUgsT0FBTytHLE1BQU0sQ0FBQzdHLFFBQVEyRyxPQUFPLEVBQUUzRztJQUMvQjhHLE9BQU85RyxPQUFPLEdBQUdBLFFBQVEyRyxPQUFPO0FBQ2xDLEVBRUEsaURBQWlEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvc2VydmVyLWFjdGlvbi1yZWR1Y2VyLmpzPzA2MTYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzZXJ2ZXJBY3Rpb25SZWR1Y2VyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzZXJ2ZXJBY3Rpb25SZWR1Y2VyO1xuICAgIH1cbn0pO1xuY29uc3QgX2FwcGNhbGxzZXJ2ZXIgPSByZXF1aXJlKFwiLi4vLi4vLi4vYXBwLWNhbGwtc2VydmVyXCIpO1xuY29uc3QgX2FwcHJvdXRlcmhlYWRlcnMgPSByZXF1aXJlKFwiLi4vLi4vYXBwLXJvdXRlci1oZWFkZXJzXCIpO1xuY29uc3QgX2FkZGJhc2VwYXRoID0gcmVxdWlyZShcIi4uLy4uLy4uL2FkZC1iYXNlLXBhdGhcIik7XG5jb25zdCBfY3JlYXRlaHJlZmZyb211cmwgPSByZXF1aXJlKFwiLi4vY3JlYXRlLWhyZWYtZnJvbS11cmxcIik7XG5jb25zdCBfbmF2aWdhdGVyZWR1Y2VyID0gcmVxdWlyZShcIi4vbmF2aWdhdGUtcmVkdWNlclwiKTtcbmNvbnN0IF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUgPSByZXF1aXJlKFwiLi4vYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWVcIik7XG5jb25zdCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0ID0gcmVxdWlyZShcIi4uL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0XCIpO1xuY29uc3QgX2hhbmRsZW11dGFibGUgPSByZXF1aXJlKFwiLi4vaGFuZGxlLW11dGFibGVcIik7XG5jb25zdCBfZmlsbGxhenlpdGVtc3RpbGxsZWFmd2l0aGhlYWQgPSByZXF1aXJlKFwiLi4vZmlsbC1sYXp5LWl0ZW1zLXRpbGwtbGVhZi13aXRoLWhlYWRcIik7XG5jb25zdCBfYXBwcm91dGVyID0gcmVxdWlyZShcIi4uLy4uL2FwcC1yb3V0ZXJcIik7XG5jb25zdCBfY29tcHV0ZWNoYW5nZWRwYXRoID0gcmVxdWlyZShcIi4uL2NvbXB1dGUtY2hhbmdlZC1wYXRoXCIpO1xuY29uc3QgX2hhbmRsZXNlZ21lbnRtaXNtYXRjaCA9IHJlcXVpcmUoXCIuLi9oYW5kbGUtc2VnbWVudC1taXNtYXRjaFwiKTtcbi8vIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXNcbi8vIGltcG9ydCB7IGNyZWF0ZUZyb21GZXRjaCB9IGZyb20gJ3JlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQnXG4vLyAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG4vLyBpbXBvcnQgeyBlbmNvZGVSZXBseSB9IGZyb20gJ3JlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQnXG5jb25zdCB7IGNyZWF0ZUZyb21GZXRjaCwgZW5jb2RlUmVwbHkgfSA9ICEhcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID8gcmVxdWlyZShcInJlYWN0LXNlcnZlci1kb20td2VicGFjay9jbGllbnQuZWRnZVwiKSA6IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svY2xpZW50XCIpO1xuYXN5bmMgZnVuY3Rpb24gZmV0Y2hTZXJ2ZXJBY3Rpb24oc3RhdGUsIHBhcmFtKSB7XG4gICAgbGV0IHsgYWN0aW9uSWQsIGFjdGlvbkFyZ3MgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGJvZHkgPSBhd2FpdCBlbmNvZGVSZXBseShhY3Rpb25BcmdzKTtcbiAgICBjb25zdCBuZXdOZXh0VXJsID0gKDAsIF9jb21wdXRlY2hhbmdlZHBhdGguZXh0cmFjdFBhdGhGcm9tRmxpZ2h0Um91dGVyU3RhdGUpKHN0YXRlLnRyZWUpO1xuICAgIC8vIG9ubHkgcGFzcyBhbG9uZyB0aGUgYG5leHRVcmxgIHBhcmFtICh1c2VkIGZvciBpbnRlcmNlcHRpb24gcm91dGVzKSBpZiBpdCBleGlzdHMgYW5kXG4gICAgLy8gaWYgaXQncyBkaWZmZXJlbnQgZnJvbSB0aGUgY3VycmVudCBgbmV4dFVybGAuIFRoaXMgaW5kaWNhdGVzIHRoZSByb3V0ZSBoYXMgYWxyZWFkeSBiZWVuIGludGVyY2VwdGVkLFxuICAgIC8vIGFuZCBzbyB0aGUgYWN0aW9uIHNob3VsZCBiZSBhcyB3ZWxsLiBPdGhlcndpc2UgdGhlIHNlcnZlciBhY3Rpb24gbWlnaHQgYmUgaW50ZXJjZXB0ZWRcbiAgICAvLyB3aXRoIHRoZSB3cm9uZyBhY3Rpb24gaWQgKGllLCBvbmUgdGhhdCBjb3JyZXNwb25kcyB3aXRoIHRoZSBpbnRlcmNlcHRlZCByb3V0ZSlcbiAgICBjb25zdCBpbmNsdWRlTmV4dFVybCA9IHN0YXRlLm5leHRVcmwgJiYgc3RhdGUubmV4dFVybCAhPT0gbmV3TmV4dFVybDtcbiAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChcIlwiLCB7XG4gICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIEFjY2VwdDogX2FwcHJvdXRlcmhlYWRlcnMuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIsXG4gICAgICAgICAgICBbX2FwcHJvdXRlcmhlYWRlcnMuQUNUSU9OXTogYWN0aW9uSWQsXG4gICAgICAgICAgICBbX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9ST1VURVJfU1RBVEVfVFJFRV06IGVuY29kZVVSSUNvbXBvbmVudChKU09OLnN0cmluZ2lmeShzdGF0ZS50cmVlKSksXG4gICAgICAgICAgICAuLi5wcm9jZXNzLmVudi5fX05FWFRfQUNUSU9OU19ERVBMT1lNRU5UX0lEICYmIHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRCA/IHtcbiAgICAgICAgICAgICAgICBcIngtZGVwbG95bWVudC1pZFwiOiBwcm9jZXNzLmVudi5ORVhUX0RFUExPWU1FTlRfSURcbiAgICAgICAgICAgIH0gOiB7fSxcbiAgICAgICAgICAgIC4uLmluY2x1ZGVOZXh0VXJsID8ge1xuICAgICAgICAgICAgICAgIFtfYXBwcm91dGVyaGVhZGVycy5ORVhUX1VSTF06IHN0YXRlLm5leHRVcmxcbiAgICAgICAgICAgIH0gOiB7fVxuICAgICAgICB9LFxuICAgICAgICBib2R5XG4gICAgfSk7XG4gICAgY29uc3QgbG9jYXRpb24gPSByZXMuaGVhZGVycy5nZXQoXCJ4LWFjdGlvbi1yZWRpcmVjdFwiKTtcbiAgICBsZXQgcmV2YWxpZGF0ZWRQYXJ0cztcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXZhbGlkYXRlZEhlYWRlciA9IEpTT04ucGFyc2UocmVzLmhlYWRlcnMuZ2V0KFwieC1hY3Rpb24tcmV2YWxpZGF0ZWRcIikgfHwgXCJbW10sMCwwXVwiKTtcbiAgICAgICAgcmV2YWxpZGF0ZWRQYXJ0cyA9IHtcbiAgICAgICAgICAgIHBhdGhzOiByZXZhbGlkYXRlZEhlYWRlclswXSB8fCBbXSxcbiAgICAgICAgICAgIHRhZzogISFyZXZhbGlkYXRlZEhlYWRlclsxXSxcbiAgICAgICAgICAgIGNvb2tpZTogcmV2YWxpZGF0ZWRIZWFkZXJbMl1cbiAgICAgICAgfTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHJldmFsaWRhdGVkUGFydHMgPSB7XG4gICAgICAgICAgICBwYXRoczogW10sXG4gICAgICAgICAgICB0YWc6IGZhbHNlLFxuICAgICAgICAgICAgY29va2llOiBmYWxzZVxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCByZWRpcmVjdExvY2F0aW9uID0gbG9jYXRpb24gPyBuZXcgVVJMKCgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKGxvY2F0aW9uKSwgLy8gRW5zdXJlIHJlbGF0aXZlIHJlZGlyZWN0cyBpbiBTZXJ2ZXIgQWN0aW9ucyB3b3JrLCBlLmcuIHJlZGlyZWN0KCcuL3NvbWV3aGVyZS1lbHNlJylcbiAgICBuZXcgVVJMKHN0YXRlLmNhbm9uaWNhbFVybCwgd2luZG93LmxvY2F0aW9uLmhyZWYpKSA6IHVuZGVmaW5lZDtcbiAgICBsZXQgaXNGbGlnaHRSZXNwb25zZSA9IHJlcy5oZWFkZXJzLmdldChcImNvbnRlbnQtdHlwZVwiKSA9PT0gX2FwcHJvdXRlcmhlYWRlcnMuUlNDX0NPTlRFTlRfVFlQRV9IRUFERVI7XG4gICAgaWYgKGlzRmxpZ2h0UmVzcG9uc2UpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBjcmVhdGVGcm9tRmV0Y2goUHJvbWlzZS5yZXNvbHZlKHJlcyksIHtcbiAgICAgICAgICAgIGNhbGxTZXJ2ZXI6IF9hcHBjYWxsc2VydmVyLmNhbGxTZXJ2ZXJcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChsb2NhdGlvbikge1xuICAgICAgICAgICAgLy8gaWYgaXQgd2FzIGEgcmVkaXJlY3Rpb24sIHRoZW4gcmVzdWx0IGlzIGp1c3QgYSByZWd1bGFyIFJTQyBwYXlsb2FkXG4gICAgICAgICAgICBjb25zdCBbLCBhY3Rpb25GbGlnaHREYXRhXSA9IHJlc3BvbnNlICE9IG51bGwgPyByZXNwb25zZSA6IFtdO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBhY3Rpb25GbGlnaHREYXRhOiBhY3Rpb25GbGlnaHREYXRhLFxuICAgICAgICAgICAgICAgIHJlZGlyZWN0TG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcmV2YWxpZGF0ZWRQYXJ0c1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICAvLyBvdGhlcndpc2UgaXQncyBhIHR1cGxlIG9mIFthY3Rpb25SZXN1bHQsIGFjdGlvbkZsaWdodERhdGFdXG4gICAgICAgIGNvbnN0IFthY3Rpb25SZXN1bHQsIFssIGFjdGlvbkZsaWdodERhdGFdXSA9IHJlc3BvbnNlICE9IG51bGwgPyByZXNwb25zZSA6IFtdO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgYWN0aW9uUmVzdWx0LFxuICAgICAgICAgICAgYWN0aW9uRmxpZ2h0RGF0YSxcbiAgICAgICAgICAgIHJlZGlyZWN0TG9jYXRpb24sXG4gICAgICAgICAgICByZXZhbGlkYXRlZFBhcnRzXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIHJlZGlyZWN0TG9jYXRpb24sXG4gICAgICAgIHJldmFsaWRhdGVkUGFydHNcbiAgICB9O1xufVxuZnVuY3Rpb24gc2VydmVyQWN0aW9uUmVkdWNlcihzdGF0ZSwgYWN0aW9uKSB7XG4gICAgY29uc3QgeyByZXNvbHZlLCByZWplY3QgfSA9IGFjdGlvbjtcbiAgICBjb25zdCBtdXRhYmxlID0ge307XG4gICAgY29uc3QgaHJlZiA9IHN0YXRlLmNhbm9uaWNhbFVybDtcbiAgICBsZXQgY3VycmVudFRyZWUgPSBzdGF0ZS50cmVlO1xuICAgIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZTtcbiAgICBtdXRhYmxlLmluRmxpZ2h0U2VydmVyQWN0aW9uID0gZmV0Y2hTZXJ2ZXJBY3Rpb24oc3RhdGUsIGFjdGlvbik7XG4gICAgLy8gc3VzcGVuZHMgdW50aWwgdGhlIHNlcnZlciBhY3Rpb24gaXMgcmVzb2x2ZWQuXG4gICAgcmV0dXJuIG11dGFibGUuaW5GbGlnaHRTZXJ2ZXJBY3Rpb24udGhlbigocGFyYW0pPT57XG4gICAgICAgIGxldCB7IGFjdGlvblJlc3VsdCwgYWN0aW9uRmxpZ2h0RGF0YTogZmxpZ2h0RGF0YSwgcmVkaXJlY3RMb2NhdGlvbiB9ID0gcGFyYW07XG4gICAgICAgIC8vIE1ha2Ugc3VyZSB0aGUgcmVkaXJlY3Rpb24gaXMgYSBwdXNoIGluc3RlYWQgb2YgYSByZXBsYWNlLlxuICAgICAgICAvLyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2lzc3Vlcy81MzkxMVxuICAgICAgICBpZiAocmVkaXJlY3RMb2NhdGlvbikge1xuICAgICAgICAgICAgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCA9IHRydWU7XG4gICAgICAgICAgICBtdXRhYmxlLnBlbmRpbmdQdXNoID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWZsaWdodERhdGEpIHtcbiAgICAgICAgICAgIGlmICghbXV0YWJsZS5hY3Rpb25SZXN1bHRSZXNvbHZlZCkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUoYWN0aW9uUmVzdWx0KTtcbiAgICAgICAgICAgICAgICBtdXRhYmxlLmFjdGlvblJlc3VsdFJlc29sdmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIGEgcmVkaXJlY3QgYnV0IG5vIGZsaWdodCBkYXRhIHdlIG5lZWQgdG8gZG8gYSBtcGFOYXZpZ2F0aW9uLlxuICAgICAgICAgICAgaWYgKHJlZGlyZWN0TG9jYXRpb24pIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCByZWRpcmVjdExvY2F0aW9uLmhyZWYsIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgZmxpZ2h0RGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgLy8gSGFuZGxlIGNhc2Ugd2hlbiBuYXZpZ2F0aW5nIHRvIHBhZ2UgaW4gYHBhZ2VzYCBmcm9tIGBhcHBgXG4gICAgICAgICAgICByZXR1cm4gKDAsIF9uYXZpZ2F0ZXJlZHVjZXIuaGFuZGxlRXh0ZXJuYWxVcmwpKHN0YXRlLCBtdXRhYmxlLCBmbGlnaHREYXRhLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBSZW1vdmUgY2FjaGUuZGF0YSBhcyBpdCBoYXMgYmVlbiByZXNvbHZlZCBhdCB0aGlzIHBvaW50LlxuICAgICAgICBtdXRhYmxlLmluRmxpZ2h0U2VydmVyQWN0aW9uID0gbnVsbDtcbiAgICAgICAgZm9yIChjb25zdCBmbGlnaHREYXRhUGF0aCBvZiBmbGlnaHREYXRhKXtcbiAgICAgICAgICAgIC8vIEZsaWdodERhdGFQYXRoIHdpdGggbW9yZSB0aGFuIHR3byBpdGVtcyBtZWFucyB1bmV4cGVjdGVkIEZsaWdodCBkYXRhIHdhcyByZXR1cm5lZFxuICAgICAgICAgICAgaWYgKGZsaWdodERhdGFQYXRoLmxlbmd0aCAhPT0gMykge1xuICAgICAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgdGhpcyBjYXNlIGJldHRlclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiU0VSVkVSIEFDVElPTiBBUFBMWSBGQUlMRURcIik7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gR2l2ZW4gdGhlIHBhdGggY2FuIG9ubHkgaGF2ZSB0d28gaXRlbXMgdGhlIGl0ZW1zIGFyZSBvbmx5IHRoZSByb3V0ZXIgc3RhdGUgYW5kIHJzYyBmb3IgdGhlIHJvb3QuXG4gICAgICAgICAgICBjb25zdCBbdHJlZVBhdGNoXSA9IGZsaWdodERhdGFQYXRoO1xuICAgICAgICAgICAgY29uc3QgbmV3VHJlZSA9ICgwLCBfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlLmFwcGx5Um91dGVyU3RhdGVQYXRjaFRvRnVsbFRyZWUpKC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBcIlwiXG4gICAgICAgICAgICBdLCBjdXJyZW50VHJlZSwgdHJlZVBhdGNoKTtcbiAgICAgICAgICAgIGlmIChuZXdUcmVlID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfaGFuZGxlc2VnbWVudG1pc21hdGNoLmhhbmRsZVNlZ21lbnRNaXNtYXRjaCkoc3RhdGUsIGFjdGlvbiwgdHJlZVBhdGNoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoMCwgX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGN1cnJlbnRUcmVlLCBuZXdUcmVlKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5oYW5kbGVFeHRlcm5hbFVybCkoc3RhdGUsIG11dGFibGUsIGhyZWYsIHN0YXRlLnB1c2hSZWYucGVuZGluZ1B1c2gpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gVGhlIG9uZSBiZWZvcmUgbGFzdCBpdGVtIGlzIHRoZSByb3V0ZXIgc3RhdGUgdHJlZSBwYXRjaFxuICAgICAgICAgICAgY29uc3QgW2NhY2hlTm9kZVNlZWREYXRhLCBoZWFkXSA9IGZsaWdodERhdGFQYXRoLnNsaWNlKC0yKTtcbiAgICAgICAgICAgIGNvbnN0IHJzYyA9IGNhY2hlTm9kZVNlZWREYXRhICE9PSBudWxsID8gY2FjaGVOb2RlU2VlZERhdGFbMl0gOiBudWxsO1xuICAgICAgICAgICAgLy8gSGFuZGxlcyBjYXNlIHdoZXJlIHByZWZldGNoIG9ubHkgcmV0dXJucyB0aGUgcm91dGVyIHRyZWUgcGF0Y2ggd2l0aG91dCByZW5kZXJlZCBjb21wb25lbnRzLlxuICAgICAgICAgICAgaWYgKHJzYyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlID0gKDAsIF9hcHByb3V0ZXIuY3JlYXRlRW1wdHlDYWNoZU5vZGUpKCk7XG4gICAgICAgICAgICAgICAgY2FjaGUucnNjID0gcnNjO1xuICAgICAgICAgICAgICAgIGNhY2hlLnByZWZldGNoUnNjID0gbnVsbDtcbiAgICAgICAgICAgICAgICAoMCwgX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkLmZpbGxMYXp5SXRlbXNUaWxsTGVhZldpdGhIZWFkKShjYWNoZSwgLy8gRXhpc3RpbmcgY2FjaGUgaXMgbm90IHBhc3NlZCBpbiBhcyBgcm91dGVyLnJlZnJlc2goKWAgaGFzIHRvIGludmFsaWRhdGUgdGhlIGVudGlyZSBjYWNoZS5cbiAgICAgICAgICAgICAgICB1bmRlZmluZWQsIHRyZWVQYXRjaCwgY2FjaGVOb2RlU2VlZERhdGEsIGhlYWQpO1xuICAgICAgICAgICAgICAgIG11dGFibGUuY2FjaGUgPSBjYWNoZTtcbiAgICAgICAgICAgICAgICBtdXRhYmxlLnByZWZldGNoQ2FjaGUgPSBuZXcgTWFwKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtdXRhYmxlLnBhdGNoZWRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gaHJlZjtcbiAgICAgICAgICAgIGN1cnJlbnRUcmVlID0gbmV3VHJlZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVkaXJlY3RMb2NhdGlvbikge1xuICAgICAgICAgICAgY29uc3QgbmV3SHJlZiA9ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKHJlZGlyZWN0TG9jYXRpb24sIGZhbHNlKTtcbiAgICAgICAgICAgIG11dGFibGUuY2Fub25pY2FsVXJsID0gbmV3SHJlZjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW11dGFibGUuYWN0aW9uUmVzdWx0UmVzb2x2ZWQpIHtcbiAgICAgICAgICAgIHJlc29sdmUoYWN0aW9uUmVzdWx0KTtcbiAgICAgICAgICAgIG11dGFibGUuYWN0aW9uUmVzdWx0UmVzb2x2ZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoMCwgX2hhbmRsZW11dGFibGUuaGFuZGxlTXV0YWJsZSkoc3RhdGUsIG11dGFibGUpO1xuICAgIH0sIChlKT0+e1xuICAgICAgICBpZiAoZS5zdGF0dXMgPT09IFwicmVqZWN0ZWRcIikge1xuICAgICAgICAgICAgaWYgKCFtdXRhYmxlLmFjdGlvblJlc3VsdFJlc29sdmVkKSB7XG4gICAgICAgICAgICAgICAgcmVqZWN0KGUucmVhc29uKTtcbiAgICAgICAgICAgICAgICBtdXRhYmxlLmFjdGlvblJlc3VsdFJlc29sdmVkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFdoZW4gdGhlIHNlcnZlciBhY3Rpb24gaXMgcmVqZWN0ZWQgd2UgZG9uJ3QgdXBkYXRlIHRoZSBzdGF0ZSBhbmQgaW5zdGVhZCBjYWxsIHRoZSByZWplY3QgaGFuZGxlciBvZiB0aGUgcHJvbWlzZS5cbiAgICAgICAgICAgIHJldHVybiBzdGF0ZTtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlO1xuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXJ2ZXItYWN0aW9uLXJlZHVjZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInNlcnZlckFjdGlvblJlZHVjZXIiLCJfYXBwY2FsbHNlcnZlciIsInJlcXVpcmUiLCJfYXBwcm91dGVyaGVhZGVycyIsIl9hZGRiYXNlcGF0aCIsIl9jcmVhdGVocmVmZnJvbXVybCIsIl9uYXZpZ2F0ZXJlZHVjZXIiLCJfYXBwbHlyb3V0ZXJzdGF0ZXBhdGNodG90cmVlIiwiX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dCIsIl9oYW5kbGVtdXRhYmxlIiwiX2ZpbGxsYXp5aXRlbXN0aWxsbGVhZndpdGhoZWFkIiwiX2FwcHJvdXRlciIsIl9jb21wdXRlY2hhbmdlZHBhdGgiLCJfaGFuZGxlc2VnbWVudG1pc21hdGNoIiwiY3JlYXRlRnJvbUZldGNoIiwiZW5jb2RlUmVwbHkiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwiZmV0Y2hTZXJ2ZXJBY3Rpb24iLCJzdGF0ZSIsInBhcmFtIiwiYWN0aW9uSWQiLCJhY3Rpb25BcmdzIiwiYm9keSIsIm5ld05leHRVcmwiLCJleHRyYWN0UGF0aEZyb21GbGlnaHRSb3V0ZXJTdGF0ZSIsInRyZWUiLCJpbmNsdWRlTmV4dFVybCIsIm5leHRVcmwiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJBY2NlcHQiLCJSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiIsIkFDVElPTiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJlbmNvZGVVUklDb21wb25lbnQiLCJKU09OIiwic3RyaW5naWZ5IiwiX19ORVhUX0FDVElPTlNfREVQTE9ZTUVOVF9JRCIsIk5FWFRfREVQTE9ZTUVOVF9JRCIsIk5FWFRfVVJMIiwibG9jYXRpb24iLCJyZXZhbGlkYXRlZFBhcnRzIiwicmV2YWxpZGF0ZWRIZWFkZXIiLCJwYXJzZSIsInBhdGhzIiwidGFnIiwiY29va2llIiwiZSIsInJlZGlyZWN0TG9jYXRpb24iLCJVUkwiLCJhZGRCYXNlUGF0aCIsImNhbm9uaWNhbFVybCIsIndpbmRvdyIsImhyZWYiLCJ1bmRlZmluZWQiLCJpc0ZsaWdodFJlc3BvbnNlIiwicmVzcG9uc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNhbGxTZXJ2ZXIiLCJhY3Rpb25GbGlnaHREYXRhIiwiYWN0aW9uUmVzdWx0IiwiYWN0aW9uIiwicmVqZWN0IiwibXV0YWJsZSIsImN1cnJlbnRUcmVlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJpbkZsaWdodFNlcnZlckFjdGlvbiIsInRoZW4iLCJmbGlnaHREYXRhIiwicHVzaFJlZiIsInBlbmRpbmdQdXNoIiwiYWN0aW9uUmVzdWx0UmVzb2x2ZWQiLCJoYW5kbGVFeHRlcm5hbFVybCIsImZsaWdodERhdGFQYXRoIiwibGVuZ3RoIiwiY29uc29sZSIsImxvZyIsInRyZWVQYXRjaCIsIm5ld1RyZWUiLCJhcHBseVJvdXRlclN0YXRlUGF0Y2hUb0Z1bGxUcmVlIiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY2FjaGVOb2RlU2VlZERhdGEiLCJoZWFkIiwic2xpY2UiLCJyc2MiLCJjYWNoZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwicHJlZmV0Y2hSc2MiLCJmaWxsTGF6eUl0ZW1zVGlsbExlYWZXaXRoSGVhZCIsInByZWZldGNoQ2FjaGUiLCJNYXAiLCJwYXRjaGVkVHJlZSIsIm5ld0hyZWYiLCJjcmVhdGVIcmVmRnJvbVVybCIsImhhbmRsZU11dGFibGUiLCJzdGF0dXMiLCJyZWFzb24iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js": /*!**************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js ***! \**************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"serverPatchReducer\", ({\n enumerable: true,\n get: function() {\n return serverPatchReducer;\n }\n}));\nconst _createhreffromurl = __webpack_require__(/*! ../create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _applyrouterstatepatchtotree = __webpack_require__(/*! ../apply-router-state-patch-to-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-router-state-patch-to-tree.js\");\nconst _isnavigatingtonewrootlayout = __webpack_require__(/*! ../is-navigating-to-new-root-layout */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/is-navigating-to-new-root-layout.js\");\nconst _navigatereducer = __webpack_require__(/*! ./navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _applyflightdata = __webpack_require__(/*! ../apply-flight-data */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/apply-flight-data.js\");\nconst _handlemutable = __webpack_require__(/*! ../handle-mutable */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-mutable.js\");\nconst _approuter = __webpack_require__(/*! ../../app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nconst _handlesegmentmismatch = __webpack_require__(/*! ../handle-segment-mismatch */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/handle-segment-mismatch.js\");\nfunction serverPatchReducer(state, action) {\n const { flightData, overrideCanonicalUrl } = action;\n const mutable = {};\n mutable.preserveCustomHistoryState = false;\n // Handle case when navigating to page in `pages` from `app`\n if (typeof flightData === \"string\") {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, flightData, state.pushRef.pendingPush);\n }\n let currentTree = state.tree;\n let currentCache = state.cache;\n for (const flightDataPath of flightData){\n // Slices off the last segment (which is at -4) as it doesn't exist in the tree yet\n const flightSegmentPath = flightDataPath.slice(0, -4);\n const [treePatch] = flightDataPath.slice(-3, -2);\n const newTree = (0, _applyrouterstatepatchtotree.applyRouterStatePatchToTreeSkipDefault)([\n \"\",\n ...flightSegmentPath\n ], currentTree, treePatch);\n if (newTree === null) {\n return (0, _handlesegmentmismatch.handleSegmentMismatch)(state, action, treePatch);\n }\n if ((0, _isnavigatingtonewrootlayout.isNavigatingToNewRootLayout)(currentTree, newTree)) {\n return (0, _navigatereducer.handleExternalUrl)(state, mutable, state.canonicalUrl, state.pushRef.pendingPush);\n }\n const canonicalUrlOverrideHref = overrideCanonicalUrl ? (0, _createhreffromurl.createHrefFromUrl)(overrideCanonicalUrl) : undefined;\n if (canonicalUrlOverrideHref) {\n mutable.canonicalUrl = canonicalUrlOverrideHref;\n }\n const cache = (0, _approuter.createEmptyCacheNode)();\n (0, _applyflightdata.applyFlightData)(currentCache, cache, flightDataPath);\n mutable.patchedTree = newTree;\n mutable.cache = cache;\n currentCache = cache;\n currentTree = newTree;\n }\n return (0, _handlemutable.handleMutable)(state, mutable);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=server-patch-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxxQkFBcUJDLG1CQUFPQSxDQUFDLHdIQUF5QjtBQUM1RCxNQUFNQywrQkFBK0JELG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNRSwrQkFBK0JGLG1CQUFPQSxDQUFDLGdKQUFxQztBQUNsRixNQUFNRyxtQkFBbUJILG1CQUFPQSxDQUFDLHdIQUFvQjtBQUNyRCxNQUFNSSxtQkFBbUJKLG1CQUFPQSxDQUFDLGtIQUFzQjtBQUN2RCxNQUFNSyxpQkFBaUJMLG1CQUFPQSxDQUFDLDRHQUFtQjtBQUNsRCxNQUFNTSxhQUFhTixtQkFBT0EsQ0FBQyx3RkFBa0I7QUFDN0MsTUFBTU8seUJBQXlCUCxtQkFBT0EsQ0FBQyw4SEFBNEI7QUFDbkUsU0FBU0YsbUJBQW1CVSxLQUFLLEVBQUVDLE1BQU07SUFDckMsTUFBTSxFQUFFQyxVQUFVLEVBQUVDLG9CQUFvQixFQUFFLEdBQUdGO0lBQzdDLE1BQU1HLFVBQVUsQ0FBQztJQUNqQkEsUUFBUUMsMEJBQTBCLEdBQUc7SUFDckMsNERBQTREO0lBQzVELElBQUksT0FBT0gsZUFBZSxVQUFVO1FBQ2hDLE9BQU8sQ0FBQyxHQUFHUCxpQkFBaUJXLGlCQUFpQixFQUFFTixPQUFPSSxTQUFTRixZQUFZRixNQUFNTyxPQUFPLENBQUNDLFdBQVc7SUFDeEc7SUFDQSxJQUFJQyxjQUFjVCxNQUFNVSxJQUFJO0lBQzVCLElBQUlDLGVBQWVYLE1BQU1ZLEtBQUs7SUFDOUIsS0FBSyxNQUFNQyxrQkFBa0JYLFdBQVc7UUFDcEMsbUZBQW1GO1FBQ25GLE1BQU1ZLG9CQUFvQkQsZUFBZUUsS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUNuRCxNQUFNLENBQUNDLFVBQVUsR0FBR0gsZUFBZUUsS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDO1FBQzlDLE1BQU1FLFVBQVUsQ0FBQyxHQUFHeEIsNkJBQTZCeUIsc0NBQXNDLEVBQ3ZGO1lBQ0k7ZUFDR0o7U0FDTixFQUFFTCxhQUFhTztRQUNoQixJQUFJQyxZQUFZLE1BQU07WUFDbEIsT0FBTyxDQUFDLEdBQUdsQix1QkFBdUJvQixxQkFBcUIsRUFBRW5CLE9BQU9DLFFBQVFlO1FBQzVFO1FBQ0EsSUFBSSxDQUFDLEdBQUd0Qiw2QkFBNkIwQiwyQkFBMkIsRUFBRVgsYUFBYVEsVUFBVTtZQUNyRixPQUFPLENBQUMsR0FBR3RCLGlCQUFpQlcsaUJBQWlCLEVBQUVOLE9BQU9JLFNBQVNKLE1BQU1xQixZQUFZLEVBQUVyQixNQUFNTyxPQUFPLENBQUNDLFdBQVc7UUFDaEg7UUFDQSxNQUFNYywyQkFBMkJuQix1QkFBdUIsQ0FBQyxHQUFHWixtQkFBbUJnQyxpQkFBaUIsRUFBRXBCLHdCQUF3QnFCO1FBQzFILElBQUlGLDBCQUEwQjtZQUMxQmxCLFFBQVFpQixZQUFZLEdBQUdDO1FBQzNCO1FBQ0EsTUFBTVYsUUFBUSxDQUFDLEdBQUdkLFdBQVcyQixvQkFBb0I7UUFDaEQsSUFBRzdCLGlCQUFpQjhCLGVBQWUsRUFBRWYsY0FBY0MsT0FBT0M7UUFDM0RULFFBQVF1QixXQUFXLEdBQUdWO1FBQ3RCYixRQUFRUSxLQUFLLEdBQUdBO1FBQ2hCRCxlQUFlQztRQUNmSCxjQUFjUTtJQUNsQjtJQUNBLE9BQU8sQ0FBQyxHQUFHcEIsZUFBZStCLGFBQWEsRUFBRTVCLE9BQU9JO0FBQ3BEO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRMkMsT0FBTyxLQUFLLGNBQWUsT0FBTzNDLFFBQVEyQyxPQUFPLEtBQUssWUFBWTNDLFFBQVEyQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8zQyxRQUFRMkMsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzlDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTJDLE9BQU8sRUFBRSxjQUFjO1FBQUUxQyxPQUFPO0lBQUs7SUFDbkVILE9BQU8rQyxNQUFNLENBQUM3QyxRQUFRMkMsT0FBTyxFQUFFM0M7SUFDL0I4QyxPQUFPOUMsT0FBTyxHQUFHQSxRQUFRMkMsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyLmpzP2RhZjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzZXJ2ZXJQYXRjaFJlZHVjZXJcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHNlcnZlclBhdGNoUmVkdWNlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuLi9jcmVhdGUtaHJlZi1mcm9tLXVybFwiKTtcbmNvbnN0IF9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUgPSByZXF1aXJlKFwiLi4vYXBwbHktcm91dGVyLXN0YXRlLXBhdGNoLXRvLXRyZWVcIik7XG5jb25zdCBfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0ID0gcmVxdWlyZShcIi4uL2lzLW5hdmlnYXRpbmctdG8tbmV3LXJvb3QtbGF5b3V0XCIpO1xuY29uc3QgX25hdmlnYXRlcmVkdWNlciA9IHJlcXVpcmUoXCIuL25hdmlnYXRlLXJlZHVjZXJcIik7XG5jb25zdCBfYXBwbHlmbGlnaHRkYXRhID0gcmVxdWlyZShcIi4uL2FwcGx5LWZsaWdodC1kYXRhXCIpO1xuY29uc3QgX2hhbmRsZW11dGFibGUgPSByZXF1aXJlKFwiLi4vaGFuZGxlLW11dGFibGVcIik7XG5jb25zdCBfYXBwcm91dGVyID0gcmVxdWlyZShcIi4uLy4uL2FwcC1yb3V0ZXJcIik7XG5jb25zdCBfaGFuZGxlc2VnbWVudG1pc21hdGNoID0gcmVxdWlyZShcIi4uL2hhbmRsZS1zZWdtZW50LW1pc21hdGNoXCIpO1xuZnVuY3Rpb24gc2VydmVyUGF0Y2hSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBjb25zdCB7IGZsaWdodERhdGEsIG92ZXJyaWRlQ2Fub25pY2FsVXJsIH0gPSBhY3Rpb247XG4gICAgY29uc3QgbXV0YWJsZSA9IHt9O1xuICAgIG11dGFibGUucHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUgPSBmYWxzZTtcbiAgICAvLyBIYW5kbGUgY2FzZSB3aGVuIG5hdmlnYXRpbmcgdG8gcGFnZSBpbiBgcGFnZXNgIGZyb20gYGFwcGBcbiAgICBpZiAodHlwZW9mIGZsaWdodERhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLmhhbmRsZUV4dGVybmFsVXJsKShzdGF0ZSwgbXV0YWJsZSwgZmxpZ2h0RGF0YSwgc3RhdGUucHVzaFJlZi5wZW5kaW5nUHVzaCk7XG4gICAgfVxuICAgIGxldCBjdXJyZW50VHJlZSA9IHN0YXRlLnRyZWU7XG4gICAgbGV0IGN1cnJlbnRDYWNoZSA9IHN0YXRlLmNhY2hlO1xuICAgIGZvciAoY29uc3QgZmxpZ2h0RGF0YVBhdGggb2YgZmxpZ2h0RGF0YSl7XG4gICAgICAgIC8vIFNsaWNlcyBvZmYgdGhlIGxhc3Qgc2VnbWVudCAod2hpY2ggaXMgYXQgLTQpIGFzIGl0IGRvZXNuJ3QgZXhpc3QgaW4gdGhlIHRyZWUgeWV0XG4gICAgICAgIGNvbnN0IGZsaWdodFNlZ21lbnRQYXRoID0gZmxpZ2h0RGF0YVBhdGguc2xpY2UoMCwgLTQpO1xuICAgICAgICBjb25zdCBbdHJlZVBhdGNoXSA9IGZsaWdodERhdGFQYXRoLnNsaWNlKC0zLCAtMik7XG4gICAgICAgIGNvbnN0IG5ld1RyZWUgPSAoMCwgX2FwcGx5cm91dGVyc3RhdGVwYXRjaHRvdHJlZS5hcHBseVJvdXRlclN0YXRlUGF0Y2hUb1RyZWVTa2lwRGVmYXVsdCkoLy8gVE9ETy1BUFA6IHJlbW92ZSAnJ1xuICAgICAgICBbXG4gICAgICAgICAgICBcIlwiLFxuICAgICAgICAgICAgLi4uZmxpZ2h0U2VnbWVudFBhdGhcbiAgICAgICAgXSwgY3VycmVudFRyZWUsIHRyZWVQYXRjaCk7XG4gICAgICAgIGlmIChuZXdUcmVlID09PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIF9oYW5kbGVzZWdtZW50bWlzbWF0Y2guaGFuZGxlU2VnbWVudE1pc21hdGNoKShzdGF0ZSwgYWN0aW9uLCB0cmVlUGF0Y2gpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgoMCwgX2lzbmF2aWdhdGluZ3RvbmV3cm9vdGxheW91dC5pc05hdmlnYXRpbmdUb05ld1Jvb3RMYXlvdXQpKGN1cnJlbnRUcmVlLCBuZXdUcmVlKSkge1xuICAgICAgICAgICAgcmV0dXJuICgwLCBfbmF2aWdhdGVyZWR1Y2VyLmhhbmRsZUV4dGVybmFsVXJsKShzdGF0ZSwgbXV0YWJsZSwgc3RhdGUuY2Fub25pY2FsVXJsLCBzdGF0ZS5wdXNoUmVmLnBlbmRpbmdQdXNoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWYgPSBvdmVycmlkZUNhbm9uaWNhbFVybCA/ICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKG92ZXJyaWRlQ2Fub25pY2FsVXJsKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKGNhbm9uaWNhbFVybE92ZXJyaWRlSHJlZikge1xuICAgICAgICAgICAgbXV0YWJsZS5jYW5vbmljYWxVcmwgPSBjYW5vbmljYWxVcmxPdmVycmlkZUhyZWY7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgY2FjaGUgPSAoMCwgX2FwcHJvdXRlci5jcmVhdGVFbXB0eUNhY2hlTm9kZSkoKTtcbiAgICAgICAgKDAsIF9hcHBseWZsaWdodGRhdGEuYXBwbHlGbGlnaHREYXRhKShjdXJyZW50Q2FjaGUsIGNhY2hlLCBmbGlnaHREYXRhUGF0aCk7XG4gICAgICAgIG11dGFibGUucGF0Y2hlZFRyZWUgPSBuZXdUcmVlO1xuICAgICAgICBtdXRhYmxlLmNhY2hlID0gY2FjaGU7XG4gICAgICAgIGN1cnJlbnRDYWNoZSA9IGNhY2hlO1xuICAgICAgICBjdXJyZW50VHJlZSA9IG5ld1RyZWU7XG4gICAgfVxuICAgIHJldHVybiAoMCwgX2hhbmRsZW11dGFibGUuaGFuZGxlTXV0YWJsZSkoc3RhdGUsIG11dGFibGUpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zZXJ2ZXItcGF0Y2gtcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VydmVyUGF0Y2hSZWR1Y2VyIiwiX2NyZWF0ZWhyZWZmcm9tdXJsIiwicmVxdWlyZSIsIl9hcHBseXJvdXRlcnN0YXRlcGF0Y2h0b3RyZWUiLCJfaXNuYXZpZ2F0aW5ndG9uZXdyb290bGF5b3V0IiwiX25hdmlnYXRlcmVkdWNlciIsIl9hcHBseWZsaWdodGRhdGEiLCJfaGFuZGxlbXV0YWJsZSIsIl9hcHByb3V0ZXIiLCJfaGFuZGxlc2VnbWVudG1pc21hdGNoIiwic3RhdGUiLCJhY3Rpb24iLCJmbGlnaHREYXRhIiwib3ZlcnJpZGVDYW5vbmljYWxVcmwiLCJtdXRhYmxlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJoYW5kbGVFeHRlcm5hbFVybCIsInB1c2hSZWYiLCJwZW5kaW5nUHVzaCIsImN1cnJlbnRUcmVlIiwidHJlZSIsImN1cnJlbnRDYWNoZSIsImNhY2hlIiwiZmxpZ2h0RGF0YVBhdGgiLCJmbGlnaHRTZWdtZW50UGF0aCIsInNsaWNlIiwidHJlZVBhdGNoIiwibmV3VHJlZSIsImFwcGx5Um91dGVyU3RhdGVQYXRjaFRvVHJlZVNraXBEZWZhdWx0IiwiaGFuZGxlU2VnbWVudE1pc21hdGNoIiwiaXNOYXZpZ2F0aW5nVG9OZXdSb290TGF5b3V0IiwiY2Fub25pY2FsVXJsIiwiY2Fub25pY2FsVXJsT3ZlcnJpZGVIcmVmIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJ1bmRlZmluZWQiLCJjcmVhdGVFbXB0eUNhY2hlTm9kZSIsImFwcGx5RmxpZ2h0RGF0YSIsInBhdGNoZWRUcmVlIiwiaGFuZGxlTXV0YWJsZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js ***! \*****************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PrefetchKind: function() {\n return PrefetchKind;\n },\n ACTION_REFRESH: function() {\n return ACTION_REFRESH;\n },\n ACTION_NAVIGATE: function() {\n return ACTION_NAVIGATE;\n },\n ACTION_RESTORE: function() {\n return ACTION_RESTORE;\n },\n ACTION_SERVER_PATCH: function() {\n return ACTION_SERVER_PATCH;\n },\n ACTION_PREFETCH: function() {\n return ACTION_PREFETCH;\n },\n ACTION_FAST_REFRESH: function() {\n return ACTION_FAST_REFRESH;\n },\n ACTION_SERVER_ACTION: function() {\n return ACTION_SERVER_ACTION;\n },\n isThenable: function() {\n return isThenable;\n }\n});\nconst ACTION_REFRESH = \"refresh\";\nconst ACTION_NAVIGATE = \"navigate\";\nconst ACTION_RESTORE = \"restore\";\nconst ACTION_SERVER_PATCH = \"server-patch\";\nconst ACTION_PREFETCH = \"prefetch\";\nconst ACTION_FAST_REFRESH = \"fast-refresh\";\nconst ACTION_SERVER_ACTION = \"server-action\";\nvar PrefetchKind;\n(function(PrefetchKind) {\n PrefetchKind[\"AUTO\"] = \"auto\";\n PrefetchKind[\"FULL\"] = \"full\";\n PrefetchKind[\"TEMPORARY\"] = \"temporary\";\n})(PrefetchKind || (PrefetchKind = {}));\nfunction isThenable(value) {\n // TODO: We don't gain anything from this abstraction. It's unsound, and only\n // makes sense in the specific places where we use it. So it's better to keep\n // the type coercion inline, instead of leaking this to other places in\n // the codebase.\n return value && (typeof value === \"object\" || typeof value === \"function\") && typeof value.then === \"function\";\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer-types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBVU47QUFDQSxTQUFTVSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJaEIsT0FBT0MsY0FBYyxDQUFDYyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFaLFNBQVM7SUFDYkcsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxZQUFZO1FBQ1IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVAsaUJBQWlCO0FBQ3ZCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxpQkFBaUI7QUFDdkIsTUFBTUMsc0JBQXNCO0FBQzVCLE1BQU1DLGtCQUFrQjtBQUN4QixNQUFNQyxzQkFBc0I7QUFDNUIsTUFBTUMsdUJBQXVCO0FBQzdCLElBQUlQO0FBQ0gsVUFBU0EsWUFBWTtJQUNsQkEsWUFBWSxDQUFDLE9BQU8sR0FBRztJQUN2QkEsWUFBWSxDQUFDLE9BQU8sR0FBRztJQUN2QkEsWUFBWSxDQUFDLFlBQVksR0FBRztBQUNoQyxHQUFHQSxnQkFBaUJBLENBQUFBLGVBQWUsQ0FBQztBQUNwQyxTQUFTUSxXQUFXVixLQUFLO0lBQ3JCLDZFQUE2RTtJQUM3RSw2RUFBNkU7SUFDN0UsdUVBQXVFO0lBQ3ZFLGdCQUFnQjtJQUNoQixPQUFPQSxTQUFVLFFBQU9BLFVBQVUsWUFBWSxPQUFPQSxVQUFVLFVBQVMsS0FBTSxPQUFPQSxNQUFNaUIsSUFBSSxLQUFLO0FBQ3hHO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW1CLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlcy5qcz82NTdkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgUHJlZmV0Y2hLaW5kOiBudWxsLFxuICAgIEFDVElPTl9SRUZSRVNIOiBudWxsLFxuICAgIEFDVElPTl9OQVZJR0FURTogbnVsbCxcbiAgICBBQ1RJT05fUkVTVE9SRTogbnVsbCxcbiAgICBBQ1RJT05fU0VSVkVSX1BBVENIOiBudWxsLFxuICAgIEFDVElPTl9QUkVGRVRDSDogbnVsbCxcbiAgICBBQ1RJT05fRkFTVF9SRUZSRVNIOiBudWxsLFxuICAgIEFDVElPTl9TRVJWRVJfQUNUSU9OOiBudWxsLFxuICAgIGlzVGhlbmFibGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUHJlZmV0Y2hLaW5kOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFByZWZldGNoS2luZDtcbiAgICB9LFxuICAgIEFDVElPTl9SRUZSRVNIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9SRUZSRVNIO1xuICAgIH0sXG4gICAgQUNUSU9OX05BVklHQVRFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9OQVZJR0FURTtcbiAgICB9LFxuICAgIEFDVElPTl9SRVNUT1JFOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9SRVNUT1JFO1xuICAgIH0sXG4gICAgQUNUSU9OX1NFUlZFUl9QQVRDSDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBQ1RJT05fU0VSVkVSX1BBVENIO1xuICAgIH0sXG4gICAgQUNUSU9OX1BSRUZFVENIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9QUkVGRVRDSDtcbiAgICB9LFxuICAgIEFDVElPTl9GQVNUX1JFRlJFU0g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQUNUSU9OX0ZBU1RfUkVGUkVTSDtcbiAgICB9LFxuICAgIEFDVElPTl9TRVJWRVJfQUNUSU9OOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTl9TRVJWRVJfQUNUSU9OO1xuICAgIH0sXG4gICAgaXNUaGVuYWJsZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc1RoZW5hYmxlO1xuICAgIH1cbn0pO1xuY29uc3QgQUNUSU9OX1JFRlJFU0ggPSBcInJlZnJlc2hcIjtcbmNvbnN0IEFDVElPTl9OQVZJR0FURSA9IFwibmF2aWdhdGVcIjtcbmNvbnN0IEFDVElPTl9SRVNUT1JFID0gXCJyZXN0b3JlXCI7XG5jb25zdCBBQ1RJT05fU0VSVkVSX1BBVENIID0gXCJzZXJ2ZXItcGF0Y2hcIjtcbmNvbnN0IEFDVElPTl9QUkVGRVRDSCA9IFwicHJlZmV0Y2hcIjtcbmNvbnN0IEFDVElPTl9GQVNUX1JFRlJFU0ggPSBcImZhc3QtcmVmcmVzaFwiO1xuY29uc3QgQUNUSU9OX1NFUlZFUl9BQ1RJT04gPSBcInNlcnZlci1hY3Rpb25cIjtcbnZhciBQcmVmZXRjaEtpbmQ7XG4oZnVuY3Rpb24oUHJlZmV0Y2hLaW5kKSB7XG4gICAgUHJlZmV0Y2hLaW5kW1wiQVVUT1wiXSA9IFwiYXV0b1wiO1xuICAgIFByZWZldGNoS2luZFtcIkZVTExcIl0gPSBcImZ1bGxcIjtcbiAgICBQcmVmZXRjaEtpbmRbXCJURU1QT1JBUllcIl0gPSBcInRlbXBvcmFyeVwiO1xufSkoUHJlZmV0Y2hLaW5kIHx8IChQcmVmZXRjaEtpbmQgPSB7fSkpO1xuZnVuY3Rpb24gaXNUaGVuYWJsZSh2YWx1ZSkge1xuICAgIC8vIFRPRE86IFdlIGRvbid0IGdhaW4gYW55dGhpbmcgZnJvbSB0aGlzIGFic3RyYWN0aW9uLiBJdCdzIHVuc291bmQsIGFuZCBvbmx5XG4gICAgLy8gbWFrZXMgc2Vuc2UgaW4gdGhlIHNwZWNpZmljIHBsYWNlcyB3aGVyZSB3ZSB1c2UgaXQuIFNvIGl0J3MgYmV0dGVyIHRvIGtlZXBcbiAgICAvLyB0aGUgdHlwZSBjb2VyY2lvbiBpbmxpbmUsIGluc3RlYWQgb2YgbGVha2luZyB0aGlzIHRvIG90aGVyIHBsYWNlcyBpblxuICAgIC8vIHRoZSBjb2RlYmFzZS5cbiAgICByZXR1cm4gdmFsdWUgJiYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikgJiYgdHlwZW9mIHZhbHVlLnRoZW4gPT09IFwiZnVuY3Rpb25cIjtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGVyLXJlZHVjZXItdHlwZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUHJlZmV0Y2hLaW5kIiwiQUNUSU9OX1JFRlJFU0giLCJBQ1RJT05fTkFWSUdBVEUiLCJBQ1RJT05fUkVTVE9SRSIsIkFDVElPTl9TRVJWRVJfUEFUQ0giLCJBQ1RJT05fUFJFRkVUQ0giLCJBQ1RJT05fRkFTVF9SRUZSRVNIIiwiQUNUSU9OX1NFUlZFUl9BQ1RJT04iLCJpc1RoZW5hYmxlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwidGhlbiIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js": /*!***********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/router-reducer.js ***! \***********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"reducer\", ({\n enumerable: true,\n get: function() {\n return reducer;\n }\n}));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _navigatereducer = __webpack_require__(/*! ./reducers/navigate-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/navigate-reducer.js\");\nconst _serverpatchreducer = __webpack_require__(/*! ./reducers/server-patch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-patch-reducer.js\");\nconst _restorereducer = __webpack_require__(/*! ./reducers/restore-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/restore-reducer.js\");\nconst _refreshreducer = __webpack_require__(/*! ./reducers/refresh-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/refresh-reducer.js\");\nconst _prefetchreducer = __webpack_require__(/*! ./reducers/prefetch-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/prefetch-reducer.js\");\nconst _fastrefreshreducer = __webpack_require__(/*! ./reducers/fast-refresh-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/fast-refresh-reducer.js\");\nconst _serveractionreducer = __webpack_require__(/*! ./reducers/server-action-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/server-action-reducer.js\");\n/**\n * Reducer that handles the app-router state updates.\n */ function clientReducer(state, action) {\n switch(action.type){\n case _routerreducertypes.ACTION_NAVIGATE:\n {\n return (0, _navigatereducer.navigateReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_PATCH:\n {\n return (0, _serverpatchreducer.serverPatchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_RESTORE:\n {\n return (0, _restorereducer.restoreReducer)(state, action);\n }\n case _routerreducertypes.ACTION_REFRESH:\n {\n return (0, _refreshreducer.refreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_FAST_REFRESH:\n {\n return (0, _fastrefreshreducer.fastRefreshReducer)(state, action);\n }\n case _routerreducertypes.ACTION_PREFETCH:\n {\n return (0, _prefetchreducer.prefetchReducer)(state, action);\n }\n case _routerreducertypes.ACTION_SERVER_ACTION:\n {\n return (0, _serveractionreducer.serverActionReducer)(state, action);\n }\n // This case should never be hit as dispatch is strongly typed.\n default:\n throw new Error(\"Unknown action\");\n }\n}\nfunction serverReducer(state, _action) {\n return state;\n}\nconst reducer = true ? serverReducer : 0;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=router-reducer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxzQkFBc0JDLG1CQUFPQSxDQUFDLHVIQUF3QjtBQUM1RCxNQUFNQyxtQkFBbUJELG1CQUFPQSxDQUFDLGlJQUE2QjtBQUM5RCxNQUFNRSxzQkFBc0JGLG1CQUFPQSxDQUFDLHlJQUFpQztBQUNyRSxNQUFNRyxrQkFBa0JILG1CQUFPQSxDQUFDLCtIQUE0QjtBQUM1RCxNQUFNSSxrQkFBa0JKLG1CQUFPQSxDQUFDLCtIQUE0QjtBQUM1RCxNQUFNSyxtQkFBbUJMLG1CQUFPQSxDQUFDLGlJQUE2QjtBQUM5RCxNQUFNTSxzQkFBc0JOLG1CQUFPQSxDQUFDLHlJQUFpQztBQUNyRSxNQUFNTyx1QkFBdUJQLG1CQUFPQSxDQUFDLDJJQUFrQztBQUN2RTs7Q0FFQyxHQUFHLFNBQVNRLGNBQWNDLEtBQUssRUFBRUMsTUFBTTtJQUNwQyxPQUFPQSxPQUFPQyxJQUFJO1FBQ2QsS0FBS1osb0JBQW9CYSxlQUFlO1lBQ3BDO2dCQUNJLE9BQU8sQ0FBQyxHQUFHWCxpQkFBaUJZLGVBQWUsRUFBRUosT0FBT0M7WUFDeEQ7UUFDSixLQUFLWCxvQkFBb0JlLG1CQUFtQjtZQUN4QztnQkFDSSxPQUFPLENBQUMsR0FBR1osb0JBQW9CYSxrQkFBa0IsRUFBRU4sT0FBT0M7WUFDOUQ7UUFDSixLQUFLWCxvQkFBb0JpQixjQUFjO1lBQ25DO2dCQUNJLE9BQU8sQ0FBQyxHQUFHYixnQkFBZ0JjLGNBQWMsRUFBRVIsT0FBT0M7WUFDdEQ7UUFDSixLQUFLWCxvQkFBb0JtQixjQUFjO1lBQ25DO2dCQUNJLE9BQU8sQ0FBQyxHQUFHZCxnQkFBZ0JlLGNBQWMsRUFBRVYsT0FBT0M7WUFDdEQ7UUFDSixLQUFLWCxvQkFBb0JxQixtQkFBbUI7WUFDeEM7Z0JBQ0ksT0FBTyxDQUFDLEdBQUdkLG9CQUFvQmUsa0JBQWtCLEVBQUVaLE9BQU9DO1lBQzlEO1FBQ0osS0FBS1gsb0JBQW9CdUIsZUFBZTtZQUNwQztnQkFDSSxPQUFPLENBQUMsR0FBR2pCLGlCQUFpQmtCLGVBQWUsRUFBRWQsT0FBT0M7WUFDeEQ7UUFDSixLQUFLWCxvQkFBb0J5QixvQkFBb0I7WUFDekM7Z0JBQ0ksT0FBTyxDQUFDLEdBQUdqQixxQkFBcUJrQixtQkFBbUIsRUFBRWhCLE9BQU9DO1lBQ2hFO1FBQ0osK0RBQStEO1FBQy9EO1lBQ0ksTUFBTSxJQUFJZ0IsTUFBTTtJQUN4QjtBQUNKO0FBQ0EsU0FBU0MsY0FBY2xCLEtBQUssRUFBRW1CLE9BQU87SUFDakMsT0FBT25CO0FBQ1g7QUFDQSxNQUFNWCxVQUFVLEtBQTZCLEdBQUc2QixnQkFBZ0JuQixDQUFhQTtBQUU3RSxJQUFJLENBQUMsT0FBT2QsUUFBUW1DLE9BQU8sS0FBSyxjQUFlLE9BQU9uQyxRQUFRbUMsT0FBTyxLQUFLLFlBQVluQyxRQUFRbUMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbkMsUUFBUW1DLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckt0QyxPQUFPQyxjQUFjLENBQUNDLFFBQVFtQyxPQUFPLEVBQUUsY0FBYztRQUFFbEMsT0FBTztJQUFLO0lBQ25FSCxPQUFPdUMsTUFBTSxDQUFDckMsUUFBUW1DLE9BQU8sRUFBRW5DO0lBQy9Cc0MsT0FBT3RDLE9BQU8sR0FBR0EsUUFBUW1DLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci5qcz8xZGRjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVkdWNlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVkdWNlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9uYXZpZ2F0ZXJlZHVjZXIgPSByZXF1aXJlKFwiLi9yZWR1Y2Vycy9uYXZpZ2F0ZS1yZWR1Y2VyXCIpO1xuY29uc3QgX3NlcnZlcnBhdGNocmVkdWNlciA9IHJlcXVpcmUoXCIuL3JlZHVjZXJzL3NlcnZlci1wYXRjaC1yZWR1Y2VyXCIpO1xuY29uc3QgX3Jlc3RvcmVyZWR1Y2VyID0gcmVxdWlyZShcIi4vcmVkdWNlcnMvcmVzdG9yZS1yZWR1Y2VyXCIpO1xuY29uc3QgX3JlZnJlc2hyZWR1Y2VyID0gcmVxdWlyZShcIi4vcmVkdWNlcnMvcmVmcmVzaC1yZWR1Y2VyXCIpO1xuY29uc3QgX3ByZWZldGNocmVkdWNlciA9IHJlcXVpcmUoXCIuL3JlZHVjZXJzL3ByZWZldGNoLXJlZHVjZXJcIik7XG5jb25zdCBfZmFzdHJlZnJlc2hyZWR1Y2VyID0gcmVxdWlyZShcIi4vcmVkdWNlcnMvZmFzdC1yZWZyZXNoLXJlZHVjZXJcIik7XG5jb25zdCBfc2VydmVyYWN0aW9ucmVkdWNlciA9IHJlcXVpcmUoXCIuL3JlZHVjZXJzL3NlcnZlci1hY3Rpb24tcmVkdWNlclwiKTtcbi8qKlxuICogUmVkdWNlciB0aGF0IGhhbmRsZXMgdGhlIGFwcC1yb3V0ZXIgc3RhdGUgdXBkYXRlcy5cbiAqLyBmdW5jdGlvbiBjbGllbnRSZWR1Y2VyKHN0YXRlLCBhY3Rpb24pIHtcbiAgICBzd2l0Y2goYWN0aW9uLnR5cGUpe1xuICAgICAgICBjYXNlIF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX05BVklHQVRFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX25hdmlnYXRlcmVkdWNlci5uYXZpZ2F0ZVJlZHVjZXIpKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9QQVRDSDpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9zZXJ2ZXJwYXRjaHJlZHVjZXIuc2VydmVyUGF0Y2hSZWR1Y2VyKShzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRVNUT1JFOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX3Jlc3RvcmVyZWR1Y2VyLnJlc3RvcmVSZWR1Y2VyKShzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRUZSRVNIOlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIHJldHVybiAoMCwgX3JlZnJlc2hyZWR1Y2VyLnJlZnJlc2hSZWR1Y2VyKShzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9GQVNUX1JFRlJFU0g6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfZmFzdHJlZnJlc2hyZWR1Y2VyLmZhc3RSZWZyZXNoUmVkdWNlcikoc3RhdGUsIGFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUFJFRkVUQ0g6XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBfcHJlZmV0Y2hyZWR1Y2VyLnByZWZldGNoUmVkdWNlcikoc3RhdGUsIGFjdGlvbik7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fU0VSVkVSX0FDVElPTjpcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIF9zZXJ2ZXJhY3Rpb25yZWR1Y2VyLnNlcnZlckFjdGlvblJlZHVjZXIpKHN0YXRlLCBhY3Rpb24pO1xuICAgICAgICAgICAgfVxuICAgICAgICAvLyBUaGlzIGNhc2Ugc2hvdWxkIG5ldmVyIGJlIGhpdCBhcyBkaXNwYXRjaCBpcyBzdHJvbmdseSB0eXBlZC5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gYWN0aW9uXCIpO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHNlcnZlclJlZHVjZXIoc3RhdGUsIF9hY3Rpb24pIHtcbiAgICByZXR1cm4gc3RhdGU7XG59XG5jb25zdCByZWR1Y2VyID0gdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IHNlcnZlclJlZHVjZXIgOiBjbGllbnRSZWR1Y2VyO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZXItcmVkdWNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVkdWNlciIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJyZXF1aXJlIiwiX25hdmlnYXRlcmVkdWNlciIsIl9zZXJ2ZXJwYXRjaHJlZHVjZXIiLCJfcmVzdG9yZXJlZHVjZXIiLCJfcmVmcmVzaHJlZHVjZXIiLCJfcHJlZmV0Y2hyZWR1Y2VyIiwiX2Zhc3RyZWZyZXNocmVkdWNlciIsIl9zZXJ2ZXJhY3Rpb25yZWR1Y2VyIiwiY2xpZW50UmVkdWNlciIsInN0YXRlIiwiYWN0aW9uIiwidHlwZSIsIkFDVElPTl9OQVZJR0FURSIsIm5hdmlnYXRlUmVkdWNlciIsIkFDVElPTl9TRVJWRVJfUEFUQ0giLCJzZXJ2ZXJQYXRjaFJlZHVjZXIiLCJBQ1RJT05fUkVTVE9SRSIsInJlc3RvcmVSZWR1Y2VyIiwiQUNUSU9OX1JFRlJFU0giLCJyZWZyZXNoUmVkdWNlciIsIkFDVElPTl9GQVNUX1JFRlJFU0giLCJmYXN0UmVmcmVzaFJlZHVjZXIiLCJBQ1RJT05fUFJFRkVUQ0giLCJwcmVmZXRjaFJlZHVjZXIiLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsInNlcnZlckFjdGlvblJlZHVjZXIiLCJFcnJvciIsInNlcnZlclJlZHVjZXIiLCJfYWN0aW9uIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js ***! \*****************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"shouldHardNavigate\", ({\n enumerable: true,\n get: function() {\n return shouldHardNavigate;\n }\n}));\nconst _matchsegments = __webpack_require__(/*! ../match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nfunction shouldHardNavigate(flightSegmentPath, flightRouterState) {\n const [segment, parallelRoutes] = flightRouterState;\n // TODO-APP: Check if `as` can be replaced.\n const [currentSegment, parallelRouteKey] = flightSegmentPath;\n // Check if current segment matches the existing segment.\n if (!(0, _matchsegments.matchSegment)(currentSegment, segment)) {\n // If dynamic parameter in tree doesn't match up with segment path a hard navigation is triggered.\n if (Array.isArray(currentSegment)) {\n return true;\n }\n // If the existing segment did not match soft navigation is triggered.\n return false;\n }\n const lastSegment = flightSegmentPath.length <= 2;\n if (lastSegment) {\n return false;\n }\n return shouldHardNavigate(flightSegmentPath.slice(2), parallelRoutes[parallelRouteKey]);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=should-hard-navigate.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3Nob3VsZC1oYXJkLW5hdmlnYXRlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZGQUFtQjtBQUNsRCxTQUFTRixtQkFBbUJHLGlCQUFpQixFQUFFQyxpQkFBaUI7SUFDNUQsTUFBTSxDQUFDQyxTQUFTQyxlQUFlLEdBQUdGO0lBQ2xDLDJDQUEyQztJQUMzQyxNQUFNLENBQUNHLGdCQUFnQkMsaUJBQWlCLEdBQUdMO0lBQzNDLHlEQUF5RDtJQUN6RCxJQUFJLENBQUMsQ0FBQyxHQUFHRixlQUFlUSxZQUFZLEVBQUVGLGdCQUFnQkYsVUFBVTtRQUM1RCxrR0FBa0c7UUFDbEcsSUFBSUssTUFBTUMsT0FBTyxDQUFDSixpQkFBaUI7WUFDL0IsT0FBTztRQUNYO1FBQ0Esc0VBQXNFO1FBQ3RFLE9BQU87SUFDWDtJQUNBLE1BQU1LLGNBQWNULGtCQUFrQlUsTUFBTSxJQUFJO0lBQ2hELElBQUlELGFBQWE7UUFDYixPQUFPO0lBQ1g7SUFDQSxPQUFPWixtQkFBbUJHLGtCQUFrQlcsS0FBSyxDQUFDLElBQUlSLGNBQWMsQ0FBQ0UsaUJBQWlCO0FBQzFGO0FBRUEsSUFBSSxDQUFDLE9BQU9aLFFBQVFtQixPQUFPLEtBQUssY0FBZSxPQUFPbkIsUUFBUW1CLE9BQU8sS0FBSyxZQUFZbkIsUUFBUW1CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT25CLFFBQVFtQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRbUIsT0FBTyxFQUFFLGNBQWM7UUFBRWxCLE9BQU87SUFBSztJQUNuRUgsT0FBT3VCLE1BQU0sQ0FBQ3JCLFFBQVFtQixPQUFPLEVBQUVuQjtJQUMvQnNCLE9BQU90QixPQUFPLEdBQUdBLFFBQVFtQixPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvc2hvdWxkLWhhcmQtbmF2aWdhdGUuanM/NjYzMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInNob3VsZEhhcmROYXZpZ2F0ZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2hvdWxkSGFyZE5hdmlnYXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX21hdGNoc2VnbWVudHMgPSByZXF1aXJlKFwiLi4vbWF0Y2gtc2VnbWVudHNcIik7XG5mdW5jdGlvbiBzaG91bGRIYXJkTmF2aWdhdGUoZmxpZ2h0U2VnbWVudFBhdGgsIGZsaWdodFJvdXRlclN0YXRlKSB7XG4gICAgY29uc3QgW3NlZ21lbnQsIHBhcmFsbGVsUm91dGVzXSA9IGZsaWdodFJvdXRlclN0YXRlO1xuICAgIC8vIFRPRE8tQVBQOiBDaGVjayBpZiBgYXNgIGNhbiBiZSByZXBsYWNlZC5cbiAgICBjb25zdCBbY3VycmVudFNlZ21lbnQsIHBhcmFsbGVsUm91dGVLZXldID0gZmxpZ2h0U2VnbWVudFBhdGg7XG4gICAgLy8gQ2hlY2sgaWYgY3VycmVudCBzZWdtZW50IG1hdGNoZXMgdGhlIGV4aXN0aW5nIHNlZ21lbnQuXG4gICAgaWYgKCEoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShjdXJyZW50U2VnbWVudCwgc2VnbWVudCkpIHtcbiAgICAgICAgLy8gSWYgZHluYW1pYyBwYXJhbWV0ZXIgaW4gdHJlZSBkb2Vzbid0IG1hdGNoIHVwIHdpdGggc2VnbWVudCBwYXRoIGEgaGFyZCBuYXZpZ2F0aW9uIGlzIHRyaWdnZXJlZC5cbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoY3VycmVudFNlZ21lbnQpKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGUgZXhpc3Rpbmcgc2VnbWVudCBkaWQgbm90IG1hdGNoIHNvZnQgbmF2aWdhdGlvbiBpcyB0cmlnZ2VyZWQuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbGFzdFNlZ21lbnQgPSBmbGlnaHRTZWdtZW50UGF0aC5sZW5ndGggPD0gMjtcbiAgICBpZiAobGFzdFNlZ21lbnQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gc2hvdWxkSGFyZE5hdmlnYXRlKGZsaWdodFNlZ21lbnRQYXRoLnNsaWNlKDIpLCBwYXJhbGxlbFJvdXRlc1twYXJhbGxlbFJvdXRlS2V5XSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNob3VsZC1oYXJkLW5hdmlnYXRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJzaG91bGRIYXJkTmF2aWdhdGUiLCJfbWF0Y2hzZWdtZW50cyIsInJlcXVpcmUiLCJmbGlnaHRTZWdtZW50UGF0aCIsImZsaWdodFJvdXRlclN0YXRlIiwic2VnbWVudCIsInBhcmFsbGVsUm91dGVzIiwiY3VycmVudFNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlS2V5IiwibWF0Y2hTZWdtZW50IiwiQXJyYXkiLCJpc0FycmF5IiwibGFzdFNlZ21lbnQiLCJsZW5ndGgiLCJzbGljZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/router-reducer/should-hard-navigate.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/searchparams-bailout-proxy.js ***! \********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createSearchParamsBailoutProxy\", ({\n enumerable: true,\n get: function() {\n return createSearchParamsBailoutProxy;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nfunction createSearchParamsBailoutProxy() {\n return new Proxy({}, {\n get (_target, prop) {\n // React adds some properties on the object when serializing for client components\n if (typeof prop === \"string\") {\n (0, _staticgenerationbailout.staticGenerationBailout)(\"searchParams.\" + prop);\n }\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=searchparams-bailout-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrRUFBaUU7SUFDN0RJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUE2QjtBQUN0RSxTQUFTRjtJQUNMLE9BQU8sSUFBSUcsTUFBTSxDQUFDLEdBQUc7UUFDakJKLEtBQUtLLE9BQU8sRUFBRUMsSUFBSTtZQUNkLGtGQUFrRjtZQUNsRixJQUFJLE9BQU9BLFNBQVMsVUFBVTtnQkFDekIsSUFBR0oseUJBQXlCSyx1QkFBdUIsRUFBRSxrQkFBa0JEO1lBQzVFO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktkLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVcsT0FBTyxFQUFFLGNBQWM7UUFBRVYsT0FBTztJQUFLO0lBQ25FSCxPQUFPZSxNQUFNLENBQUNiLFFBQVFXLE9BQU8sRUFBRVg7SUFDL0JjLE9BQU9kLE9BQU8sR0FBR0EsUUFBUVcsT0FBTztBQUNsQyxFQUVBLHNEQUFzRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5LmpzP2I2ZGUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eTtcbiAgICB9XG59KTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCA9IHJlcXVpcmUoXCIuL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXRcIik7XG5mdW5jdGlvbiBjcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHkoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm94eSh7fSwge1xuICAgICAgICBnZXQgKF90YXJnZXQsIHByb3ApIHtcbiAgICAgICAgICAgIC8vIFJlYWN0IGFkZHMgc29tZSBwcm9wZXJ0aWVzIG9uIHRoZSBvYmplY3Qgd2hlbiBzZXJpYWxpemluZyBmb3IgY2xpZW50IGNvbXBvbmVudHNcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICgwLCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQpKFwic2VhcmNoUGFyYW1zLlwiICsgcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VhcmNocGFyYW1zLWJhaWxvdXQtcHJveHkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSIsIl9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCIsInJlcXVpcmUiLCJQcm94eSIsIl90YXJnZXQiLCJwcm9wIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n },\n staticGenerationBailout: function() {\n return staticGenerationBailout;\n }\n});\nconst _hooksservercontext = __webpack_require__(/*! ./hooks-server-context */ \"(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nfunction formatErrorMessage(reason, opts) {\n const { dynamic, link } = opts || {};\n const suffix = link ? \" See more info here: \" + link : \"\";\n return \"Page\" + (dynamic ? ' with `dynamic = \"' + dynamic + '\"`' : \"\") + \" couldn't be rendered statically because it used `\" + reason + \"`.\" + suffix;\n}\nconst staticGenerationBailout = (reason, param)=>{\n let { dynamic, link } = param === void 0 ? {} : param;\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!staticGenerationStore) return false;\n if (staticGenerationStore.forceStatic) {\n return true;\n }\n if (staticGenerationStore.dynamicShouldError) {\n throw new StaticGenBailoutError(formatErrorMessage(reason, {\n link,\n dynamic: dynamic != null ? dynamic : \"error\"\n }));\n }\n const message = formatErrorMessage(reason, {\n dynamic,\n // this error should be caught by Next to bail out of static generation\n // in case it's uncaught, this link provides some additional context as to why\n link: \"https://nextjs.org/docs/messages/dynamic-server-error\"\n });\n // If postpone is available, we should postpone the render.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason);\n // As this is a bailout, we don't want to revalidate, so set the revalidate\n // to 0.\n staticGenerationStore.revalidate = 0;\n if (staticGenerationStore.isStaticGeneration) {\n const err = new _hooksservercontext.DynamicServerError(message);\n staticGenerationStore.dynamicUsageDescription = reason;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n }\n return false;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHdHQUF3QjtBQUM1RCxNQUFNQyx3Q0FBd0NELG1CQUFPQSxDQUFDLDhGQUE0QztBQUNsRyxNQUFNRSwwQkFBMEI7QUFDaEMsTUFBTUMsOEJBQThCQztJQUNoQ0MsWUFBWSxHQUFHQyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJQTtRQUNULElBQUksQ0FBQ0MsSUFBSSxHQUFHTDtJQUNoQjtBQUNKO0FBQ0EsU0FBU1gsd0JBQXdCaUIsS0FBSztJQUNsQyxJQUFJLE9BQU9BLFVBQVUsWUFBWUEsVUFBVSxRQUFRLENBQUUsV0FBVUEsS0FBSSxHQUFJO1FBQ25FLE9BQU87SUFDWDtJQUNBLE9BQU9BLE1BQU1ELElBQUksS0FBS0w7QUFDMUI7QUFDQSxTQUFTTyxtQkFBbUJDLE1BQU0sRUFBRUMsSUFBSTtJQUNwQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdGLFFBQVEsQ0FBQztJQUNuQyxNQUFNRyxTQUFTRCxPQUFPLDBCQUEwQkEsT0FBTztJQUN2RCxPQUFPLFNBQVVELENBQUFBLFVBQVUsdUJBQXVCQSxVQUFVLE9BQU8sRUFBQyxJQUFLLHVEQUF1REYsU0FBUyxPQUFPSTtBQUNwSjtBQUNBLE1BQU10QiwwQkFBMEIsQ0FBQ2tCLFFBQVFLO0lBQ3JDLElBQUksRUFBRUgsT0FBTyxFQUFFQyxJQUFJLEVBQUUsR0FBR0UsVUFBVSxLQUFLLElBQUksQ0FBQyxJQUFJQTtJQUNoRCxNQUFNQyx3QkFBd0JmLHNDQUFzQ2dCLDRCQUE0QixDQUFDQyxRQUFRO0lBQ3pHLElBQUksQ0FBQ0YsdUJBQXVCLE9BQU87SUFDbkMsSUFBSUEsc0JBQXNCRyxXQUFXLEVBQUU7UUFDbkMsT0FBTztJQUNYO0lBQ0EsSUFBSUgsc0JBQXNCSSxrQkFBa0IsRUFBRTtRQUMxQyxNQUFNLElBQUlqQixzQkFBc0JNLG1CQUFtQkMsUUFBUTtZQUN2REc7WUFDQUQsU0FBU0EsV0FBVyxPQUFPQSxVQUFVO1FBQ3pDO0lBQ0o7SUFDQSxNQUFNUyxVQUFVWixtQkFBbUJDLFFBQVE7UUFDdkNFO1FBQ0EsdUVBQXVFO1FBQ3ZFLDhFQUE4RTtRQUM5RUMsTUFBTTtJQUNWO0lBQ0EsMkRBQTJEO0lBQzNERyxzQkFBc0JNLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSU4sc0JBQXNCTSxRQUFRLENBQUNDLElBQUksQ0FBQ1AsdUJBQXVCTjtJQUM3RywyRUFBMkU7SUFDM0UsUUFBUTtJQUNSTSxzQkFBc0JRLFVBQVUsR0FBRztJQUNuQyxJQUFJUixzQkFBc0JTLGtCQUFrQixFQUFFO1FBQzFDLE1BQU1DLE1BQU0sSUFBSTNCLG9CQUFvQjRCLGtCQUFrQixDQUFDTjtRQUN2REwsc0JBQXNCWSx1QkFBdUIsR0FBR2xCO1FBQ2hETSxzQkFBc0JhLGlCQUFpQixHQUFHSCxJQUFJSSxLQUFLO1FBQ25ELE1BQU1KO0lBQ1Y7SUFDQSxPQUFPO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT3RDLFFBQVEyQyxPQUFPLEtBQUssY0FBZSxPQUFPM0MsUUFBUTJDLE9BQU8sS0FBSyxZQUFZM0MsUUFBUTJDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNDLFFBQVEyQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkMsT0FBTyxFQUFFLGNBQWM7UUFBRTFDLE9BQU87SUFBSztJQUNuRUgsT0FBTytDLE1BQU0sQ0FBQzdDLFFBQVEyQyxPQUFPLEVBQUUzQztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMkMsT0FBTztBQUNsQyxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanM/MDQ2YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlzU3RhdGljR2VuQmFpbG91dEVycm9yOiBudWxsLFxuICAgIHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGlzU3RhdGljR2VuQmFpbG91dEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzU3RhdGljR2VuQmFpbG91dEVycm9yO1xuICAgIH0sXG4gICAgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ7XG4gICAgfVxufSk7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gcmVxdWlyZShcIi4vaG9va3Mtc2VydmVyLWNvbnRleHRcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUID0gXCJORVhUX1NUQVRJQ19HRU5fQkFJTE9VVFwiO1xuY2xhc3MgU3RhdGljR2VuQmFpbG91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3Mpe1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgdGhpcy5jb2RlID0gTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQ7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAodHlwZW9mIGVycm9yICE9PSBcIm9iamVjdFwiIHx8IGVycm9yID09PSBudWxsIHx8ICEoXCJjb2RlXCIgaW4gZXJyb3IpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yLmNvZGUgPT09IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUO1xufVxuZnVuY3Rpb24gZm9ybWF0RXJyb3JNZXNzYWdlKHJlYXNvbiwgb3B0cykge1xuICAgIGNvbnN0IHsgZHluYW1pYywgbGluayB9ID0gb3B0cyB8fCB7fTtcbiAgICBjb25zdCBzdWZmaXggPSBsaW5rID8gXCIgU2VlIG1vcmUgaW5mbyBoZXJlOiBcIiArIGxpbmsgOiBcIlwiO1xuICAgIHJldHVybiBcIlBhZ2VcIiArIChkeW5hbWljID8gJyB3aXRoIGBkeW5hbWljID0gXCInICsgZHluYW1pYyArICdcImAnIDogXCJcIikgKyBcIiBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBgXCIgKyByZWFzb24gKyBcImAuXCIgKyBzdWZmaXg7XG59XG5jb25zdCBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCA9IChyZWFzb24sIHBhcmFtKT0+e1xuICAgIGxldCB7IGR5bmFtaWMsIGxpbmsgfSA9IHBhcmFtID09PSB2b2lkIDAgPyB7fSA6IHBhcmFtO1xuICAgIGNvbnN0IHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljU2hvdWxkRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFN0YXRpY0dlbkJhaWxvdXRFcnJvcihmb3JtYXRFcnJvck1lc3NhZ2UocmVhc29uLCB7XG4gICAgICAgICAgICBsaW5rLFxuICAgICAgICAgICAgZHluYW1pYzogZHluYW1pYyAhPSBudWxsID8gZHluYW1pYyA6IFwiZXJyb3JcIlxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGNvbnN0IG1lc3NhZ2UgPSBmb3JtYXRFcnJvck1lc3NhZ2UocmVhc29uLCB7XG4gICAgICAgIGR5bmFtaWMsXG4gICAgICAgIC8vIHRoaXMgZXJyb3Igc2hvdWxkIGJlIGNhdWdodCBieSBOZXh0IHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uXG4gICAgICAgIC8vIGluIGNhc2UgaXQncyB1bmNhdWdodCwgdGhpcyBsaW5rIHByb3ZpZGVzIHNvbWUgYWRkaXRpb25hbCBjb250ZXh0IGFzIHRvIHdoeVxuICAgICAgICBsaW5rOiBcImh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yXCJcbiAgICB9KTtcbiAgICAvLyBJZiBwb3N0cG9uZSBpcyBhdmFpbGFibGUsIHdlIHNob3VsZCBwb3N0cG9uZSB0aGUgcmVuZGVyLlxuICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lLmNhbGwoc3RhdGljR2VuZXJhdGlvblN0b3JlLCByZWFzb24pO1xuICAgIC8vIEFzIHRoaXMgaXMgYSBiYWlsb3V0LCB3ZSBkb24ndCB3YW50IHRvIHJldmFsaWRhdGUsIHNvIHNldCB0aGUgcmV2YWxpZGF0ZVxuICAgIC8vIHRvIDAuXG4gICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPSAwO1xuICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBfaG9va3NzZXJ2ZXJjb250ZXh0LkR5bmFtaWNTZXJ2ZXJFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gcmVhc29uO1xuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlU3RhY2sgPSBlcnIuc3RhY2s7XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RhdGljLWdlbmVyYXRpb24tYmFpbG91dC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJpc1N0YXRpY0dlbkJhaWxvdXRFcnJvciIsInN0YXRpY0dlbmVyYXRpb25CYWlsb3V0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2hvb2tzc2VydmVyY29udGV4dCIsInJlcXVpcmUiLCJfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwiTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQiLCJTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsImNvZGUiLCJlcnJvciIsImZvcm1hdEVycm9yTWVzc2FnZSIsInJlYXNvbiIsIm9wdHMiLCJkeW5hbWljIiwibGluayIsInN1ZmZpeCIsInBhcmFtIiwic3RhdGljR2VuZXJhdGlvblN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJkeW5hbWljU2hvdWxkRXJyb3IiLCJtZXNzYWdlIiwicG9zdHBvbmUiLCJjYWxsIiwicmV2YWxpZGF0ZSIsImlzU3RhdGljR2VuZXJhdGlvbiIsImVyciIsIkR5bmFtaWNTZXJ2ZXJFcnJvciIsImR5bmFtaWNVc2FnZURlc2NyaXB0aW9uIiwiZHluYW1pY1VzYWdlU3RhY2siLCJzdGFjayIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js ***! \*****************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return StaticGenerationSearchParamsBailoutProvider;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _searchparamsbailoutproxy = __webpack_require__(/*! ./searchparams-bailout-proxy */ \"(ssr)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\");\nfunction StaticGenerationSearchParamsBailoutProvider(param) {\n let { Component, propsForComponent, isStaticGeneration } = param;\n if (isStaticGeneration) {\n const searchParams = (0, _searchparamsbailoutproxy.createSearchParamsBailoutProxy)();\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n searchParams: searchParams,\n ...propsForComponent\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...propsForComponent\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksNEJBQTRCSixtQkFBT0EsQ0FBQyxvSEFBOEI7QUFDeEUsU0FBU0YsNENBQTRDTyxLQUFLO0lBQ3RELElBQUksRUFBRUMsU0FBUyxFQUFFQyxpQkFBaUIsRUFBRUMsa0JBQWtCLEVBQUUsR0FBR0g7SUFDM0QsSUFBSUcsb0JBQW9CO1FBQ3BCLE1BQU1DLGVBQWUsQ0FBQyxHQUFHTCwwQkFBMEJNLDhCQUE4QjtRQUNqRixPQUFxQixXQUFILEdBQUksSUFBR1QsWUFBWVUsR0FBRyxFQUFFTCxXQUFXO1lBQ2pERyxjQUFjQTtZQUNkLEdBQUdGLGlCQUFpQjtRQUN4QjtJQUNKO0lBQ0EsT0FBcUIsV0FBSCxHQUFJLElBQUdOLFlBQVlVLEdBQUcsRUFBRUwsV0FBVztRQUNqRCxHQUFHQyxpQkFBaUI7SUFDeEI7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLDJFQUEyRSIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzPzk3MWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3RhdGljR2VuZXJhdGlvblNlYXJjaFBhcmFtc0JhaWxvdXRQcm92aWRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkgPSByZXF1aXJlKFwiLi9zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm94eVwiKTtcbmZ1bmN0aW9uIFN0YXRpY0dlbmVyYXRpb25TZWFyY2hQYXJhbXNCYWlsb3V0UHJvdmlkZXIocGFyYW0pIHtcbiAgICBsZXQgeyBDb21wb25lbnQsIHByb3BzRm9yQ29tcG9uZW50LCBpc1N0YXRpY0dlbmVyYXRpb24gfSA9IHBhcmFtO1xuICAgIGlmIChpc1N0YXRpY0dlbmVyYXRpb24pIHtcbiAgICAgICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gKDAsIF9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkuY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5KSgpO1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShDb21wb25lbnQsIHtcbiAgICAgICAgICAgIHNlYXJjaFBhcmFtczogc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgLi4ucHJvcHNGb3JDb21wb25lbnRcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKENvbXBvbmVudCwge1xuICAgICAgICAuLi5wcm9wc0ZvckNvbXBvbmVudFxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdGF0aWMtZ2VuZXJhdGlvbi1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm92aWRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiU3RhdGljR2VuZXJhdGlvblNlYXJjaFBhcmFtc0JhaWxvdXRQcm92aWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJfc2VhcmNocGFyYW1zYmFpbG91dHByb3h5IiwicGFyYW0iLCJDb21wb25lbnQiLCJwcm9wc0ZvckNvbXBvbmVudCIsImlzU3RhdGljR2VuZXJhdGlvbiIsInNlYXJjaFBhcmFtcyIsImNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSIsImpzeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/use-reducer-with-devtools.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n useUnwrapState: function() {\n return useUnwrapState;\n },\n useReducerWithReduxDevtools: function() {\n return useReducerWithReduxDevtools;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _actionqueue = __webpack_require__(/*! ../../shared/lib/router/action-queue */ \"(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js\");\nfunction normalizeRouterState(val) {\n if (val instanceof Map) {\n const obj = {};\n for (const [key, value] of val.entries()){\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value._bundlerConfig) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (typeof val === \"object\" && val !== null) {\n const obj = {};\n for(const key in val){\n const value = val[key];\n if (typeof value === \"function\") {\n obj[key] = \"fn()\";\n continue;\n }\n if (typeof value === \"object\" && value !== null) {\n if (value.$$typeof) {\n obj[key] = value.$$typeof.toString();\n continue;\n }\n if (value.hasOwnProperty(\"_bundlerConfig\")) {\n obj[key] = \"FlightData\";\n continue;\n }\n }\n obj[key] = normalizeRouterState(value);\n }\n return obj;\n }\n if (Array.isArray(val)) {\n return val.map(normalizeRouterState);\n }\n return val;\n}\nfunction useUnwrapState(state) {\n // reducer actions can be async, so sometimes we need to suspend until the state is resolved\n if ((0, _routerreducertypes.isThenable)(state)) {\n const result = (0, _react.use)(state);\n return result;\n }\n return state;\n}\nfunction useReducerWithReduxDevtoolsNoop(initialState) {\n return [\n initialState,\n ()=>{},\n ()=>{}\n ];\n}\nfunction useReducerWithReduxDevtoolsImpl(initialState) {\n const [state, setState] = _react.default.useState(initialState);\n const actionQueue = (0, _react.useContext)(_actionqueue.ActionQueueContext);\n if (!actionQueue) {\n throw new Error(\"Invariant: Missing ActionQueueContext\");\n }\n const devtoolsConnectionRef = (0, _react.useRef)();\n const enabledRef = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n if (devtoolsConnectionRef.current || enabledRef.current === false) {\n return;\n }\n if (enabledRef.current === undefined && typeof window.__REDUX_DEVTOOLS_EXTENSION__ === \"undefined\") {\n enabledRef.current = false;\n return;\n }\n devtoolsConnectionRef.current = window.__REDUX_DEVTOOLS_EXTENSION__.connect({\n instanceId: 8000,\n name: \"next-router\"\n });\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.init(normalizeRouterState(initialState));\n if (actionQueue) {\n actionQueue.devToolsInstance = devtoolsConnectionRef.current;\n }\n }\n return ()=>{\n devtoolsConnectionRef.current = undefined;\n };\n }, [\n initialState,\n actionQueue\n ]);\n const dispatch = (0, _react.useCallback)((action)=>{\n if (!actionQueue.state) {\n // we lazy initialize the mutable action queue state since the data needed\n // to generate the state is not available when the actionQueue context is created\n actionQueue.state = initialState;\n }\n actionQueue.dispatch(action, setState);\n }, [\n actionQueue,\n initialState\n ]);\n // Sync is called after a state update in the HistoryUpdater,\n // for debugging purposes. Since the reducer state may be a Promise,\n // we let the app router use() it and sync on the resolved value if\n // something changed.\n // Using the `state` here would be referentially unstable and cause\n // undesirable re-renders and history updates.\n const sync = (0, _react.useCallback)((resolvedState)=>{\n if (devtoolsConnectionRef.current) {\n devtoolsConnectionRef.current.send({\n type: \"RENDER_SYNC\"\n }, normalizeRouterState(resolvedState));\n }\n }, []);\n return [\n state,\n dispatch,\n sync\n ];\n}\nconst useReducerWithReduxDevtools = false ? 0 : useReducerWithReduxDevtoolsNoop;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-reducer-with-devtools.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3VzZS1yZWR1Y2VyLXdpdGgtZGV2dG9vbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRiwwQkFBMEJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUcsc0JBQXNCSCxtQkFBT0EsQ0FBQyxzSUFBdUM7QUFDM0UsTUFBTUksZUFBZUosbUJBQU9BLENBQUMsOEdBQXNDO0FBQ25FLFNBQVNLLHFCQUFxQkMsR0FBRztJQUM3QixJQUFJQSxlQUFlQyxLQUFLO1FBQ3BCLE1BQU1DLE1BQU0sQ0FBQztRQUNiLEtBQUssTUFBTSxDQUFDQyxLQUFLcEIsTUFBTSxJQUFJaUIsSUFBSUksT0FBTyxHQUFHO1lBQ3JDLElBQUksT0FBT3JCLFVBQVUsWUFBWTtnQkFDN0JtQixHQUFHLENBQUNDLElBQUksR0FBRztnQkFDWDtZQUNKO1lBQ0EsSUFBSSxPQUFPcEIsVUFBVSxZQUFZQSxVQUFVLE1BQU07Z0JBQzdDLElBQUlBLE1BQU1zQixRQUFRLEVBQUU7b0JBQ2hCSCxHQUFHLENBQUNDLElBQUksR0FBR3BCLE1BQU1zQixRQUFRLENBQUNDLFFBQVE7b0JB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QzFFLGlGQUFpRjtZQUNqRlUsWUFBWVYsS0FBSyxHQUFHSztRQUN4QjtRQUNBSyxZQUFZZ0IsUUFBUSxDQUFDRSxRQUFRckI7SUFDakMsR0FBRztRQUNDRztRQUNBTDtLQUNIO0lBQ0QsNkRBQTZEO0lBQzdELG9FQUFvRTtJQUNwRSxtRUFBbUU7SUFDbkUscUJBQXFCO0lBQ3JCLG1FQUFtRTtJQUNuRSw4Q0FBOEM7SUFDOUMsTUFBTXdCLE9BQU8sQ0FBQyxHQUFHOUMsT0FBTzRDLFdBQVcsRUFBRSxDQUFDRztRQUNsQyxJQUFJaEIsc0JBQXNCSSxPQUFPLEVBQUU7WUFDL0JKLHNCQUFzQkksT0FBTyxDQUFDYSxJQUFJLENBQUM7Z0JBQy9CQyxNQUFNO1lBQ1YsR0FBRzdDLHFCQUFxQjJDO1FBQzVCO0lBQ0osR0FBRyxFQUFFO0lBQ0wsT0FBTztRQUNIOUI7UUFDQTBCO1FBQ0FHO0tBQ0g7QUFDTDtBQUNBLE1BQU12RCw4QkFBOEIsTUFBNkIsR0FBR2dDLENBQStCQSxHQUFHRjtBQUV0RyxJQUFJLENBQUMsT0FBT2xDLFFBQVFzQyxPQUFPLEtBQUssY0FBZSxPQUFPdEMsUUFBUXNDLE9BQU8sS0FBSyxZQUFZdEMsUUFBUXNDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3RDLFFBQVFzQyxPQUFPLENBQUN5QixVQUFVLEtBQUssYUFBYTtJQUNyS2pFLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXNDLE9BQU8sRUFBRSxjQUFjO1FBQUVyQyxPQUFPO0lBQUs7SUFDbkVILE9BQU9rRSxNQUFNLENBQUNoRSxRQUFRc0MsT0FBTyxFQUFFdEM7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXNDLE9BQU87QUFDbEMsRUFFQSxxREFBcUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy91c2UtcmVkdWNlci13aXRoLWRldnRvb2xzLmpzPzQ1MDAiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICB1c2VVbndyYXBTdGF0ZTogbnVsbCxcbiAgICB1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgdXNlVW53cmFwU3RhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlVW53cmFwU3RhdGU7XG4gICAgfSxcbiAgICB1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9hY3Rpb25xdWV1ZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3JvdXRlci9hY3Rpb24tcXVldWVcIik7XG5mdW5jdGlvbiBub3JtYWxpemVSb3V0ZXJTdGF0ZSh2YWwpIHtcbiAgICBpZiAodmFsIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgIGNvbnN0IG9iaiA9IHt9O1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiB2YWwuZW50cmllcygpKXtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9ialtrZXldID0gXCJmbigpXCI7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIHZhbHVlICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLiQkdHlwZW9mKSB7XG4gICAgICAgICAgICAgICAgICAgIG9ialtrZXldID0gdmFsdWUuJCR0eXBlb2YudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5fYnVuZGxlckNvbmZpZykge1xuICAgICAgICAgICAgICAgICAgICBvYmpba2V5XSA9IFwiRmxpZ2h0RGF0YVwiO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvYmpba2V5XSA9IG5vcm1hbGl6ZVJvdXRlclN0YXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJvYmplY3RcIiAmJiB2YWwgIT09IG51bGwpIHtcbiAgICAgICAgY29uc3Qgb2JqID0ge307XG4gICAgICAgIGZvcihjb25zdCBrZXkgaW4gdmFsKXtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gdmFsW2tleV07XG4gICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBvYmpba2V5XSA9IFwiZm4oKVwiO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIiAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS4kJHR5cGVvZikge1xuICAgICAgICAgICAgICAgICAgICBvYmpba2V5XSA9IHZhbHVlLiQkdHlwZW9mLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUuaGFzT3duUHJvcGVydHkoXCJfYnVuZGxlckNvbmZpZ1wiKSkge1xuICAgICAgICAgICAgICAgICAgICBvYmpba2V5XSA9IFwiRmxpZ2h0RGF0YVwiO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvYmpba2V5XSA9IG5vcm1hbGl6ZVJvdXRlclN0YXRlKHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgIHJldHVybiB2YWwubWFwKG5vcm1hbGl6ZVJvdXRlclN0YXRlKTtcbiAgICB9XG4gICAgcmV0dXJuIHZhbDtcbn1cbmZ1bmN0aW9uIHVzZVVud3JhcFN0YXRlKHN0YXRlKSB7XG4gICAgLy8gcmVkdWNlciBhY3Rpb25zIGNhbiBiZSBhc3luYywgc28gc29tZXRpbWVzIHdlIG5lZWQgdG8gc3VzcGVuZCB1bnRpbCB0aGUgc3RhdGUgaXMgcmVzb2x2ZWRcbiAgICBpZiAoKDAsIF9yb3V0ZXJyZWR1Y2VydHlwZXMuaXNUaGVuYWJsZSkoc3RhdGUpKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9ICgwLCBfcmVhY3QudXNlKShzdGF0ZSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiBzdGF0ZTtcbn1cbmZ1bmN0aW9uIHVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sc05vb3AoaW5pdGlhbFN0YXRlKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICAoKT0+e30sXG4gICAgICAgICgpPT57fVxuICAgIF07XG59XG5mdW5jdGlvbiB1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHNJbXBsKGluaXRpYWxTdGF0ZSkge1xuICAgIGNvbnN0IFtzdGF0ZSwgc2V0U3RhdGVdID0gX3JlYWN0LmRlZmF1bHQudXNlU3RhdGUoaW5pdGlhbFN0YXRlKTtcbiAgICBjb25zdCBhY3Rpb25RdWV1ZSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FjdGlvbnF1ZXVlLkFjdGlvblF1ZXVlQ29udGV4dCk7XG4gICAgaWYgKCFhY3Rpb25RdWV1ZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhcmlhbnQ6IE1pc3NpbmcgQWN0aW9uUXVldWVDb250ZXh0XCIpO1xuICAgIH1cbiAgICBjb25zdCBkZXZ0b29sc0Nvbm5lY3Rpb25SZWYgPSAoMCwgX3JlYWN0LnVzZVJlZikoKTtcbiAgICBjb25zdCBlbmFibGVkUmVmID0gKDAsIF9yZWFjdC51c2VSZWYpKCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIGlmIChkZXZ0b29sc0Nvbm5lY3Rpb25SZWYuY3VycmVudCB8fCBlbmFibGVkUmVmLmN1cnJlbnQgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuYWJsZWRSZWYuY3VycmVudCA9PT0gdW5kZWZpbmVkICYmIHR5cGVvZiB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgZW5hYmxlZFJlZi5jdXJyZW50ID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgZGV2dG9vbHNDb25uZWN0aW9uUmVmLmN1cnJlbnQgPSB3aW5kb3cuX19SRURVWF9ERVZUT09MU19FWFRFTlNJT05fXy5jb25uZWN0KHtcbiAgICAgICAgICAgIGluc3RhbmNlSWQ6IDgwMDAsXG4gICAgICAgICAgICBuYW1lOiBcIm5leHQtcm91dGVyXCJcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChkZXZ0b29sc0Nvbm5lY3Rpb25SZWYuY3VycmVudCkge1xuICAgICAgICAgICAgZGV2dG9vbHNDb25uZWN0aW9uUmVmLmN1cnJlbnQuaW5pdChub3JtYWxpemVSb3V0ZXJTdGF0ZShpbml0aWFsU3RhdGUpKTtcbiAgICAgICAgICAgIGlmIChhY3Rpb25RdWV1ZSkge1xuICAgICAgICAgICAgICAgIGFjdGlvblF1ZXVlLmRldlRvb2xzSW5zdGFuY2UgPSBkZXZ0b29sc0Nvbm5lY3Rpb25SZWYuY3VycmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGRldnRvb2xzQ29ubmVjdGlvblJlZi5jdXJyZW50ID0gdW5kZWZpbmVkO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBhY3Rpb25RdWV1ZVxuICAgIF0pO1xuICAgIGNvbnN0IGRpc3BhdGNoID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGFjdGlvbik9PntcbiAgICAgICAgaWYgKCFhY3Rpb25RdWV1ZS5zdGF0ZSkge1xuICAgICAgICAgICAgLy8gd2UgbGF6eSBpbml0aWFsaXplIHRoZSBtdXRhYmxlIGFjdGlvbiBxdWV1ZSBzdGF0ZSBzaW5jZSB0aGUgZGF0YSBuZWVkZWRcbiAgICAgICAgICAgIC8vIHRvIGdlbmVyYXRlIHRoZSBzdGF0ZSBpcyBub3QgYXZhaWxhYmxlIHdoZW4gdGhlIGFjdGlvblF1ZXVlIGNvbnRleHQgaXMgY3JlYXRlZFxuICAgICAgICAgICAgYWN0aW9uUXVldWUuc3RhdGUgPSBpbml0aWFsU3RhdGU7XG4gICAgICAgIH1cbiAgICAgICAgYWN0aW9uUXVldWUuZGlzcGF0Y2goYWN0aW9uLCBzZXRTdGF0ZSk7XG4gICAgfSwgW1xuICAgICAgICBhY3Rpb25RdWV1ZSxcbiAgICAgICAgaW5pdGlhbFN0YXRlXG4gICAgXSk7XG4gICAgLy8gU3luYyBpcyBjYWxsZWQgYWZ0ZXIgYSBzdGF0ZSB1cGRhdGUgaW4gdGhlIEhpc3RvcnlVcGRhdGVyLFxuICAgIC8vIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIFNpbmNlIHRoZSByZWR1Y2VyIHN0YXRlIG1heSBiZSBhIFByb21pc2UsXG4gICAgLy8gd2UgbGV0IHRoZSBhcHAgcm91dGVyIHVzZSgpIGl0IGFuZCBzeW5jIG9uIHRoZSByZXNvbHZlZCB2YWx1ZSBpZlxuICAgIC8vIHNvbWV0aGluZyBjaGFuZ2VkLlxuICAgIC8vIFVzaW5nIHRoZSBgc3RhdGVgIGhlcmUgd291bGQgYmUgcmVmZXJlbnRpYWxseSB1bnN0YWJsZSBhbmQgY2F1c2VcbiAgICAvLyB1bmRlc2lyYWJsZSByZS1yZW5kZXJzIGFuZCBoaXN0b3J5IHVwZGF0ZXMuXG4gICAgY29uc3Qgc3luYyA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChyZXNvbHZlZFN0YXRlKT0+e1xuICAgICAgICBpZiAoZGV2dG9vbHNDb25uZWN0aW9uUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIGRldnRvb2xzQ29ubmVjdGlvblJlZi5jdXJyZW50LnNlbmQoe1xuICAgICAgICAgICAgICAgIHR5cGU6IFwiUkVOREVSX1NZTkNcIlxuICAgICAgICAgICAgfSwgbm9ybWFsaXplUm91dGVyU3RhdGUocmVzb2x2ZWRTdGF0ZSkpO1xuICAgICAgICB9XG4gICAgfSwgW10pO1xuICAgIHJldHVybiBbXG4gICAgICAgIHN0YXRlLFxuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgc3luY1xuICAgIF07XG59XG5jb25zdCB1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHMgPSB0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gdXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzSW1wbCA6IHVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29sc05vb3A7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXVzZS1yZWR1Y2VyLXdpdGgtZGV2dG9vbHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwidXNlVW53cmFwU3RhdGUiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfcm91dGVycmVkdWNlcnR5cGVzIiwiX2FjdGlvbnF1ZXVlIiwibm9ybWFsaXplUm91dGVyU3RhdGUiLCJ2YWwiLCJNYXAiLCJvYmoiLCJrZXkiLCJlbnRyaWVzIiwiJCR0eXBlb2YiLCJ0b1N0cmluZyIsIl9idW5kbGVyQ29uZmlnIiwiaGFzT3duUHJvcGVydHkiLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJzdGF0ZSIsImlzVGhlbmFibGUiLCJyZXN1bHQiLCJ1c2UiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHNOb29wIiwiaW5pdGlhbFN0YXRlIiwidXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzSW1wbCIsInNldFN0YXRlIiwiZGVmYXVsdCIsInVzZVN0YXRlIiwiYWN0aW9uUXVldWUiLCJ1c2VDb250ZXh0IiwiQWN0aW9uUXVldWVDb250ZXh0IiwiRXJyb3IiLCJkZXZ0b29sc0Nvbm5lY3Rpb25SZWYiLCJ1c2VSZWYiLCJlbmFibGVkUmVmIiwidXNlRWZmZWN0IiwiY3VycmVudCIsInVuZGVmaW5lZCIsIndpbmRvdyIsIl9fUkVEVVhfREVWVE9PTFNfRVhURU5TSU9OX18iLCJjb25uZWN0IiwiaW5zdGFuY2VJZCIsImluaXQiLCJkZXZUb29sc0luc3RhbmNlIiwiZGlzcGF0Y2giLCJ1c2VDYWxsYmFjayIsImFjdGlvbiIsInN5bmMiLCJyZXNvbHZlZFN0YXRlIiwic2VuZCIsInR5cGUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js": /*!************************************************************************************!*\ !*** ./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js ***! \************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/**\nMIT License\n\nCopyright (c) 2015-present, Facebook, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return formatWebpackMessages;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\n// This file is based on https://github.com/facebook/create-react-app/blob/7b1a32be6ec9f99a6c9a3c66813f3ac09c4736b9/packages/react-dev-utils/formatWebpackMessages.js\n// It's been edited to remove chalk and CRA-specific logic\nconst friendlySyntaxErrorLabel = \"Syntax error:\";\nconst WEBPACK_BREAKING_CHANGE_POLYFILLS = \"\\n\\nBREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.\";\nfunction isLikelyASyntaxError(message) {\n return (0, _stripansi.default)(message).includes(friendlySyntaxErrorLabel);\n}\nlet hadMissingSassError = false;\n// Cleans up webpack error messages.\nfunction formatMessage(message, verbose, importTraceNote) {\n // TODO: Replace this once webpack 5 is stable\n if (typeof message === \"object\" && message.message) {\n const filteredModuleTrace = message.moduleTrace && message.moduleTrace.filter((trace)=>!/next-(middleware|client-pages|route|edge-function)-loader\\.js/.test(trace.originName));\n let body = message.message;\n const breakingChangeIndex = body.indexOf(WEBPACK_BREAKING_CHANGE_POLYFILLS);\n if (breakingChangeIndex >= 0) {\n body = body.slice(0, breakingChangeIndex);\n }\n message = (message.moduleName ? (0, _stripansi.default)(message.moduleName) + \"\\n\" : \"\") + (message.file ? (0, _stripansi.default)(message.file) + \"\\n\" : \"\") + body + (message.details && verbose ? \"\\n\" + message.details : \"\") + (filteredModuleTrace && filteredModuleTrace.length ? (importTraceNote || \"\\n\\nImport trace for requested module:\") + filteredModuleTrace.map((trace)=>\"\\n\" + trace.moduleName).join(\"\") : \"\") + (message.stack && verbose ? \"\\n\" + message.stack : \"\");\n }\n let lines = message.split(\"\\n\");\n // Strip Webpack-added headers off errors/warnings\n // https://github.com/webpack/webpack/blob/master/lib/ModuleError.js\n lines = lines.filter((line)=>!/Module [A-z ]+\\(from/.test(line));\n // Transform parsing error into syntax error\n // TODO: move this to our ESLint formatter?\n lines = lines.map((line)=>{\n const parsingError = /Line (\\d+):(?:(\\d+):)?\\s*Parsing error: (.+)$/.exec(line);\n if (!parsingError) {\n return line;\n }\n const [, errorLine, errorColumn, errorMessage] = parsingError;\n return friendlySyntaxErrorLabel + \" \" + errorMessage + \" (\" + errorLine + \":\" + errorColumn + \")\";\n });\n message = lines.join(\"\\n\");\n // Smoosh syntax errors (commonly found in CSS)\n message = message.replace(/SyntaxError\\s+\\((\\d+):(\\d+)\\)\\s*(.+?)\\n/g, \"\" + friendlySyntaxErrorLabel + \" $3 ($1:$2)\\n\");\n // Clean up export errors\n message = message.replace(/^.*export '(.+?)' was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$2'.\");\n message = message.replace(/^.*export 'default' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$2' does not contain a default export (imported as '$1').\");\n message = message.replace(/^.*export '(.+?)' \\(imported as '(.+?)'\\) was not found in '(.+?)'.*$/gm, \"Attempted import error: '$1' is not exported from '$3' (imported as '$2').\");\n lines = message.split(\"\\n\");\n // Remove leading newline\n if (lines.length > 2 && lines[1].trim() === \"\") {\n lines.splice(1, 1);\n }\n // Cleans up verbose \"module not found\" messages for files and packages.\n if (lines[1] && lines[1].indexOf(\"Module not found: \") === 0) {\n lines = [\n lines[0],\n lines[1].replace(\"Error: \", \"\").replace(\"Module not found: Cannot find file:\", \"Cannot find file:\"),\n ...lines.slice(2)\n ];\n }\n // Add helpful message for users trying to use Sass for the first time\n if (lines[1] && lines[1].match(/Cannot find module.+sass/)) {\n // ./file.module.scss (<<loader info>>) => ./file.module.scss\n const firstLine = lines[0].split(\"!\");\n lines[0] = firstLine[firstLine.length - 1];\n lines[1] = \"To use Next.js' built-in Sass support, you first need to install `sass`.\\n\";\n lines[1] += \"Run `npm i sass` or `yarn add sass` inside your workspace.\\n\";\n lines[1] += \"\\nLearn more: https://nextjs.org/docs/messages/install-sass\";\n // dispose of unhelpful stack trace\n lines = lines.slice(0, 2);\n hadMissingSassError = true;\n } else if (hadMissingSassError && message.match(/(sass-loader|resolve-url-loader: CSS error)/)) {\n // dispose of unhelpful stack trace following missing sass module\n lines = [];\n }\n if (!verbose) {\n message = lines.join(\"\\n\");\n // Internal stacks are generally useless so we strip them... with the\n // exception of stacks containing `webpack:` because they're normally\n // from user code generated by Webpack. For more information see\n // https://github.com/facebook/create-react-app/pull/1050\n message = message.replace(/^\\s*at\\s((?!webpack:).)*:\\d+:\\d+[\\s)]*(\\n|$)/gm, \"\") // at ... ...:x:y\n ;\n message = message.replace(/^\\s*at\\s<anonymous>(\\n|$)/gm, \"\") // at <anonymous>\n ;\n message = message.replace(/File was processed with these loaders:\\n(.+[\\\\/](next[\\\\/]dist[\\\\/].+|@next[\\\\/]react-refresh-utils[\\\\/]loader)\\.js\\n)*You may need an additional loader to handle the result of these loaders.\\n/g, \"\");\n lines = message.split(\"\\n\");\n }\n // Remove duplicated newlines\n lines = lines.filter((line, index, arr)=>index === 0 || line.trim() !== \"\" || line.trim() !== arr[index - 1].trim());\n // Reassemble the message\n message = lines.join(\"\\n\");\n return message.trim();\n}\nfunction formatWebpackMessages(json, verbose) {\n const formattedErrors = json.errors.map((message)=>{\n const isUnknownNextFontError = message.message.includes(\"An error occured in `next/font`.\");\n return formatMessage(message, isUnknownNextFontError || verbose);\n });\n const formattedWarnings = json.warnings.map((message)=>{\n return formatMessage(message, verbose);\n });\n // Reorder errors to put the most relevant ones first.\n let reactServerComponentsError = -1;\n for(let i = 0; i < formattedErrors.length; i++){\n const error = formattedErrors[i];\n if (error.includes(\"ReactServerComponentsError\")) {\n reactServerComponentsError = i;\n break;\n }\n }\n // Move the reactServerComponentsError to the top if it exists\n if (reactServerComponentsError !== -1) {\n const error = formattedErrors.splice(reactServerComponentsError, 1);\n formattedErrors.unshift(error[0]);\n }\n const result = {\n ...json,\n errors: formattedErrors,\n warnings: formattedWarnings\n };\n if (!verbose && result.errors.some(isLikelyASyntaxError)) {\n // If there are any syntax errors, show just them.\n result.errors = result.errors.filter(isLikelyASyntaxError);\n result.warnings = [];\n }\n return result;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=format-webpack-messages.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS9mb3JtYXQtd2VicGFjay1tZXNzYWdlcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCQSxHQUFnQjtBQUNoQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsa0hBQXlDO0FBQ2xGLE1BQU1DLGFBQWEsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsa0dBQStCO0FBQ25HLHFLQUFxSztBQUNySywwREFBMEQ7QUFDMUQsTUFBTUcsMkJBQTJCO0FBQ2pDLE1BQU1DLG9DQUFvQztBQUMxQyxTQUFTQyxxQkFBcUJDLE9BQU87SUFDakMsT0FBTyxDQUFDLEdBQUdMLFdBQVdNLE9BQU8sRUFBRUQsU0FBU0UsUUFBUSxDQUFDTDtBQUNyRDtBQUNBLElBQUlNLHNCQUFzQjtBQUMxQixvQ0FBb0M7QUFDcEMsU0FBU0MsY0FBY0osT0FBTyxFQUFFSyxPQUFPLEVBQUVDLGVBQWU7SUFDcEQsOENBQThDO0lBQzlDLElBQUksT0FBT04sWUFBWSxZQUFZQSxRQUFRQSxPQUFPLEVBQUU7UUFDaEQsTUFBTU8sc0JBQXNCUCxRQUFRUSxXQUFXLElBQUlSLFFBQVFRLFdBQVcsQ0FBQ0MsTUFBTSxDQUFDLENBQUNDLFFBQVEsQ0FBQyxnRUFBZ0VDLElBQUksQ0FBQ0QsTUFBTUUsVUFBVTtRQUM3SyxJQUFJQyxPQUFPYixRQUFRQSxPQUFPO1FBQzFCLE1BQU1jLHNCQUFzQkQsS0FBS0UsT0FBTyxDQUFDakI7UUFDekMsSUFBSWdCLHVCQUF1QixHQUFHO1lBQzFCRCxPQUFPQSxLQUFLRyxLQUFLLENBQUMsR0FBR0Y7UUFDekI7UUFDQWQs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TUMsUUFBUVAsZUFBZSxDQUFDTSxFQUFFO1FBQ2hDLElBQUlDLE1BQU03QyxRQUFRLENBQUMsK0JBQStCO1lBQzlDMkMsNkJBQTZCQztZQUM3QjtRQUNKO0lBQ0o7SUFDQSw4REFBOEQ7SUFDOUQsSUFBSUQsK0JBQStCLENBQUMsR0FBRztRQUNuQyxNQUFNRSxRQUFRUCxnQkFBZ0JOLE1BQU0sQ0FBQ1csNEJBQTRCO1FBQ2pFTCxnQkFBZ0JRLE9BQU8sQ0FBQ0QsS0FBSyxDQUFDLEVBQUU7SUFDcEM7SUFDQSxNQUFNRSxTQUFTO1FBQ1gsR0FBR1YsSUFBSTtRQUNQRSxRQUFRRDtRQUNSSSxVQUFVRDtJQUNkO0lBQ0EsSUFBSSxDQUFDdEMsV0FBVzRDLE9BQU9SLE1BQU0sQ0FBQ1MsSUFBSSxDQUFDbkQsdUJBQXVCO1FBQ3RELGtEQUFrRDtRQUNsRGtELE9BQU9SLE1BQU0sR0FBR1EsT0FBT1IsTUFBTSxDQUFDaEMsTUFBTSxDQUFDVjtRQUNyQ2tELE9BQU9MLFFBQVEsR0FBRyxFQUFFO0lBQ3hCO0lBQ0EsT0FBT0s7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPN0QsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDa0QsVUFBVSxLQUFLLGFBQWE7SUFDcktqRSxPQUFPQyxjQUFjLENBQUNDLFFBQVFhLE9BQU8sRUFBRSxjQUFjO1FBQUVaLE9BQU87SUFBSztJQUNuRUgsT0FBT2tFLE1BQU0sQ0FBQ2hFLFFBQVFhLE9BQU8sRUFBRWI7SUFDL0JpRSxPQUFPakUsT0FBTyxHQUFHQSxRQUFRYSxPQUFPO0FBQ2xDLEVBRUEsbURBQW1EIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9lcnJvci1vdmVybGF5L2Zvcm1hdC13ZWJwYWNrLW1lc3NhZ2VzLmpzPzc1ZWMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG5NSVQgTGljZW5zZVxuXG5Db3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgRmFjZWJvb2ssIEluYy5cblxuUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGEgY29weVxub2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbFxuaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0c1xudG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbFxuY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzXG5mdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOlxuXG5UaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGxcbmNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG5cblRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsIEVYUFJFU1MgT1JcbklNUExJRUQsIElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gVEhFIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZLFxuRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdFTUVOVC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFXG5BVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSXG5MSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLFxuT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEVcblNPRlRXQVJFLlxuKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXZWJwYWNrTWVzc2FnZXM7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3N0cmlwYW5zaSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpXCIpKTtcbi8vIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svY3JlYXRlLXJlYWN0LWFwcC9ibG9iLzdiMWEzMmJlNmVjOWY5OWE2YzlhM2M2NjgxM2YzYWMwOWM0NzM2YjkvcGFja2FnZXMvcmVhY3QtZGV2LXV0aWxzL2Zvcm1hdFdlYnBhY2tNZXNzYWdlcy5qc1xuLy8gSXQncyBiZWVuIGVkaXRlZCB0byByZW1vdmUgY2hhbGsgYW5kIENSQS1zcGVjaWZpYyBsb2dpY1xuY29uc3QgZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsID0gXCJTeW50YXggZXJyb3I6XCI7XG5jb25zdCBXRUJQQUNLX0JSRUFLSU5HX0NIQU5HRV9QT0xZRklMTFMgPSBcIlxcblxcbkJSRUFLSU5HIENIQU5HRTogd2VicGFjayA8IDUgdXNlZCB0byBpbmNsdWRlIHBvbHlmaWxscyBmb3Igbm9kZS5qcyBjb3JlIG1vZHVsZXMgYnkgZGVmYXVsdC5cIjtcbmZ1bmN0aW9uIGlzTGlrZWx5QVN5bnRheEVycm9yKG1lc3NhZ2UpIHtcbiAgICByZXR1cm4gKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkobWVzc2FnZSkuaW5jbHVkZXMoZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsKTtcbn1cbmxldCBoYWRNaXNzaW5nU2Fzc0Vycm9yID0gZmFsc2U7XG4vLyBDbGVhbnMgdXAgd2VicGFjayBlcnJvciBtZXNzYWdlcy5cbmZ1bmN0aW9uIGZvcm1hdE1lc3NhZ2UobWVzc2FnZSwgdmVyYm9zZSwgaW1wb3J0VHJhY2VOb3RlKSB7XG4gICAgLy8gVE9ETzogUmVwbGFjZSB0aGlzIG9uY2Ugd2VicGFjayA1IGlzIHN0YWJsZVxuICAgIGlmICh0eXBlb2YgbWVzc2FnZSA9PT0gXCJvYmplY3RcIiAmJiBtZXNzYWdlLm1lc3NhZ2UpIHtcbiAgICAgICAgY29uc3QgZmlsdGVyZWRNb2R1bGVUcmFjZSA9IG1lc3NhZ2UubW9kdWxlVHJhY2UgJiYgbWVzc2FnZS5tb2R1bGVUcmFjZS5maWx0ZXIoKHRyYWNlKT0+IS9uZXh0LShtaWRkbGV3YXJlfGNsaWVudC1wYWdlc3xyb3V0ZXxlZGdlLWZ1bmN0aW9uKS1sb2FkZXJcXC5qcy8udGVzdCh0cmFjZS5vcmlnaW5OYW1lKSk7XG4gICAgICAgIGxldCBib2R5ID0gbWVzc2FnZS5tZXNzYWdlO1xuICAgICAgICBjb25zdCBicmVha2luZ0NoYW5nZUluZGV4ID0gYm9keS5pbmRleE9mKFdFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyk7XG4gICAgICAgIGlmIChicmVha2luZ0NoYW5nZUluZGV4ID49IDApIHtcbiAgICAgICAgICAgIGJvZHkgPSBib2R5LnNsaWNlKDAsIGJyZWFraW5nQ2hhbmdlSW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIG1lc3NhZ2UgPSAobWVzc2FnZS5tb2R1bGVOYW1lID8gKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkobWVzc2FnZS5tb2R1bGVOYW1lKSArIFwiXFxuXCIgOiBcIlwiKSArIChtZXNzYWdlLmZpbGUgPyAoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShtZXNzYWdlLmZpbGUpICsgXCJcXG5cIiA6IFwiXCIpICsgYm9keSArIChtZXNzYWdlLmRldGFpbHMgJiYgdmVyYm9zZSA/IFwiXFxuXCIgKyBtZXNzYWdlLmRldGFpbHMgOiBcIlwiKSArIChmaWx0ZXJlZE1vZHVsZVRyYWNlICYmIGZpbHRlcmVkTW9kdWxlVHJhY2UubGVuZ3RoID8gKGltcG9ydFRyYWNlTm90ZSB8fCBcIlxcblxcbkltcG9ydCB0cmFjZSBmb3IgcmVxdWVzdGVkIG1vZHVsZTpcIikgKyBmaWx0ZXJlZE1vZHVsZVRyYWNlLm1hcCgodHJhY2UpPT5cIlxcblwiICsgdHJhY2UubW9kdWxlTmFtZSkuam9pbihcIlwiKSA6IFwiXCIpICsgKG1lc3NhZ2Uuc3RhY2sgJiYgdmVyYm9zZSA/IFwiXFxuXCIgKyBtZXNzYWdlLnN0YWNrIDogXCJcIik7XG4gICAgfVxuICAgIGxldCBsaW5lcyA9IG1lc3NhZ2Uuc3BsaXQoXCJcXG5cIik7XG4gICAgLy8gU3RyaXAgV2VicGFjay1hZGRlZCBoZWFkZXJzIG9mZiBlcnJvcnMvd2FybmluZ3NcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrL2Jsb2IvbWFzdGVyL2xpYi9Nb2R1bGVFcnJvci5qc1xuICAgIGxpbmVzID0gbGluZXMuZmlsdGVyKChsaW5lKT0+IS9Nb2R1bGUgW0EteiBdK1xcKGZyb20vLnRlc3QobGluZSkpO1xuICAgIC8vIFRyYW5zZm9ybSBwYXJzaW5nIGVycm9yIGludG8gc3ludGF4IGVycm9yXG4gICAgLy8gVE9ETzogbW92ZSB0aGlzIHRvIG91ciBFU0xpbnQgZm9ybWF0dGVyP1xuICAgIGxpbmVzID0gbGluZXMubWFwKChsaW5lKT0+e1xuICAgICAgICBjb25zdCBwYXJzaW5nRXJyb3IgPSAvTGluZSAoXFxkKyk6KD86KFxcZCspOik/XFxzKlBhcnNpbmcgZXJyb3I6ICguKykkLy5leGVjKGxpbmUpO1xuICAgICAgICBpZiAoIXBhcnNpbmdFcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGxpbmU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgWywgZXJyb3JMaW5lLCBlcnJvckNvbHVtbiwgZXJyb3JNZXNzYWdlXSA9IHBhcnNpbmdFcnJvcjtcbiAgICAgICAgcmV0dXJuIGZyaWVuZGx5U3ludGF4RXJyb3JMYWJlbCArIFwiIFwiICsgZXJyb3JNZXNzYWdlICsgXCIgKFwiICsgZXJyb3JMaW5lICsgXCI6XCIgKyBlcnJvckNvbHVtbiArIFwiKVwiO1xuICAgIH0pO1xuICAgIG1lc3NhZ2UgPSBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIC8vIFNtb29zaCBzeW50YXggZXJyb3JzIChjb21tb25seSBmb3VuZCBpbiBDU1MpXG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvU3ludGF4RXJyb3JcXHMrXFwoKFxcZCspOihcXGQrKVxcKVxccyooLis/KVxcbi9nLCBcIlwiICsgZnJpZW5kbHlTeW50YXhFcnJvckxhYmVsICsgXCIgJDMgKCQxOiQyKVxcblwiKTtcbiAgICAvLyBDbGVhbiB1cCBleHBvcnQgZXJyb3JzXG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvXi4qZXhwb3J0ICcoLis/KScgd2FzIG5vdCBmb3VuZCBpbiAnKC4rPyknLiokL2dtLCBcIkF0dGVtcHRlZCBpbXBvcnQgZXJyb3I6ICckMScgaXMgbm90IGV4cG9ydGVkIGZyb20gJyQyJy5cIik7XG4gICAgbWVzc2FnZSA9IG1lc3NhZ2UucmVwbGFjZSgvXi4qZXhwb3J0ICdkZWZhdWx0JyBcXChpbXBvcnRlZCBhcyAnKC4rPyknXFwpIHdhcyBub3QgZm91bmQgaW4gJyguKz8pJy4qJC9nbSwgXCJBdHRlbXB0ZWQgaW1wb3J0IGVycm9yOiAnJDInIGRvZXMgbm90IGNvbnRhaW4gYSBkZWZhdWx0IGV4cG9ydCAoaW1wb3J0ZWQgYXMgJyQxJykuXCIpO1xuICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL14uKmV4cG9ydCAnKC4rPyknIFxcKGltcG9ydGVkIGFzICcoLis/KSdcXCkgd2FzIG5vdCBmb3VuZCBpbiAnKC4rPyknLiokL2dtLCBcIkF0dGVtcHRlZCBpbXBvcnQgZXJyb3I6ICckMScgaXMgbm90IGV4cG9ydGVkIGZyb20gJyQzJyAoaW1wb3J0ZWQgYXMgJyQyJykuXCIpO1xuICAgIGxpbmVzID0gbWVzc2FnZS5zcGxpdChcIlxcblwiKTtcbiAgICAvLyBSZW1vdmUgbGVhZGluZyBuZXdsaW5lXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA+IDIgJiYgbGluZXNbMV0udHJpbSgpID09PSBcIlwiKSB7XG4gICAgICAgIGxpbmVzLnNwbGljZSgxLCAxKTtcbiAgICB9XG4gICAgLy8gQ2xlYW5zIHVwIHZlcmJvc2UgXCJtb2R1bGUgbm90IGZvdW5kXCIgbWVzc2FnZXMgZm9yIGZpbGVzIGFuZCBwYWNrYWdlcy5cbiAgICBpZiAobGluZXNbMV0gJiYgbGluZXNbMV0uaW5kZXhPZihcIk1vZHVsZSBub3QgZm91bmQ6IFwiKSA9PT0gMCkge1xuICAgICAgICBsaW5lcyA9IFtcbiAgICAgICAgICAgIGxpbmVzWzBdLFxuICAgICAgICAgICAgbGluZXNbMV0ucmVwbGFjZShcIkVycm9yOiBcIiwgXCJcIikucmVwbGFjZShcIk1vZHVsZSBub3QgZm91bmQ6IENhbm5vdCBmaW5kIGZpbGU6XCIsIFwiQ2Fubm90IGZpbmQgZmlsZTpcIiksXG4gICAgICAgICAgICAuLi5saW5lcy5zbGljZSgyKVxuICAgICAgICBdO1xuICAgIH1cbiAgICAvLyBBZGQgaGVscGZ1bCBtZXNzYWdlIGZvciB1c2VycyB0cnlpbmcgdG8gdXNlIFNhc3MgZm9yIHRoZSBmaXJzdCB0aW1lXG4gICAgaWYgKGxpbmVzWzFdICYmIGxpbmVzWzFdLm1hdGNoKC9DYW5ub3QgZmluZCBtb2R1bGUuK3Nhc3MvKSkge1xuICAgICAgICAvLyAuL2ZpbGUubW9kdWxlLnNjc3MgKDw8bG9hZGVyIGluZm8+PikgPT4gLi9maWxlLm1vZHVsZS5zY3NzXG4gICAgICAgIGNvbnN0IGZpcnN0TGluZSA9IGxpbmVzWzBdLnNwbGl0KFwiIVwiKTtcbiAgICAgICAgbGluZXNbMF0gPSBmaXJzdExpbmVbZmlyc3RMaW5lLmxlbmd0aCAtIDFdO1xuICAgICAgICBsaW5lc1sxXSA9IFwiVG8gdXNlIE5leHQuanMnIGJ1aWx0LWluIFNhc3Mgc3VwcG9ydCwgeW91IGZpcnN0IG5lZWQgdG8gaW5zdGFsbCBgc2Fzc2AuXFxuXCI7XG4gICAgICAgIGxpbmVzWzFdICs9IFwiUnVuIGBucG0gaSBzYXNzYCBvciBgeWFybiBhZGQgc2Fzc2AgaW5zaWRlIHlvdXIgd29ya3NwYWNlLlxcblwiO1xuICAgICAgICBsaW5lc1sxXSArPSBcIlxcbkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2luc3RhbGwtc2Fzc1wiO1xuICAgICAgICAvLyBkaXNwb3NlIG9mIHVuaGVscGZ1bCBzdGFjayB0cmFjZVxuICAgICAgICBsaW5lcyA9IGxpbmVzLnNsaWNlKDAsIDIpO1xuICAgICAgICBoYWRNaXNzaW5nU2Fzc0Vycm9yID0gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGhhZE1pc3NpbmdTYXNzRXJyb3IgJiYgbWVzc2FnZS5tYXRjaCgvKHNhc3MtbG9hZGVyfHJlc29sdmUtdXJsLWxvYWRlcjogQ1NTIGVycm9yKS8pKSB7XG4gICAgICAgIC8vIGRpc3Bvc2Ugb2YgdW5oZWxwZnVsIHN0YWNrIHRyYWNlIGZvbGxvd2luZyBtaXNzaW5nIHNhc3MgbW9kdWxlXG4gICAgICAgIGxpbmVzID0gW107XG4gICAgfVxuICAgIGlmICghdmVyYm9zZSkge1xuICAgICAgICBtZXNzYWdlID0gbGluZXMuam9pbihcIlxcblwiKTtcbiAgICAgICAgLy8gSW50ZXJuYWwgc3RhY2tzIGFyZSBnZW5lcmFsbHkgdXNlbGVzcyBzbyB3ZSBzdHJpcCB0aGVtLi4uIHdpdGggdGhlXG4gICAgICAgIC8vIGV4Y2VwdGlvbiBvZiBzdGFja3MgY29udGFpbmluZyBgd2VicGFjazpgIGJlY2F1c2UgdGhleSdyZSBub3JtYWxseVxuICAgICAgICAvLyBmcm9tIHVzZXIgY29kZSBnZW5lcmF0ZWQgYnkgV2VicGFjay4gRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9jcmVhdGUtcmVhY3QtYXBwL3B1bGwvMTA1MFxuICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9eXFxzKmF0XFxzKCg/IXdlYnBhY2s6KS4pKjpcXGQrOlxcZCtbXFxzKV0qKFxcbnwkKS9nbSwgXCJcIikgLy8gYXQgLi4uIC4uLjp4OnlcbiAgICAgICAgO1xuICAgICAgICBtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9eXFxzKmF0XFxzPGFub255bW91cz4oXFxufCQpL2dtLCBcIlwiKSAvLyBhdCA8YW5vbnltb3VzPlxuICAgICAgICA7XG4gICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlLnJlcGxhY2UoL0ZpbGUgd2FzIHByb2Nlc3NlZCB3aXRoIHRoZXNlIGxvYWRlcnM6XFxuKC4rW1xcXFwvXShuZXh0W1xcXFwvXWRpc3RbXFxcXC9dLit8QG5leHRbXFxcXC9dcmVhY3QtcmVmcmVzaC11dGlsc1tcXFxcL11sb2FkZXIpXFwuanNcXG4pKllvdSBtYXkgbmVlZCBhbiBhZGRpdGlvbmFsIGxvYWRlciB0byBoYW5kbGUgdGhlIHJlc3VsdCBvZiB0aGVzZSBsb2FkZXJzLlxcbi9nLCBcIlwiKTtcbiAgICAgICAgbGluZXMgPSBtZXNzYWdlLnNwbGl0KFwiXFxuXCIpO1xuICAgIH1cbiAgICAvLyBSZW1vdmUgZHVwbGljYXRlZCBuZXdsaW5lc1xuICAgIGxpbmVzID0gbGluZXMuZmlsdGVyKChsaW5lLCBpbmRleCwgYXJyKT0+aW5kZXggPT09IDAgfHwgbGluZS50cmltKCkgIT09IFwiXCIgfHwgbGluZS50cmltKCkgIT09IGFycltpbmRleCAtIDFdLnRyaW0oKSk7XG4gICAgLy8gUmVhc3NlbWJsZSB0aGUgbWVzc2FnZVxuICAgIG1lc3NhZ2UgPSBsaW5lcy5qb2luKFwiXFxuXCIpO1xuICAgIHJldHVybiBtZXNzYWdlLnRyaW0oKTtcbn1cbmZ1bmN0aW9uIGZvcm1hdFdlYnBhY2tNZXNzYWdlcyhqc29uLCB2ZXJib3NlKSB7XG4gICAgY29uc3QgZm9ybWF0dGVkRXJyb3JzID0ganNvbi5lcnJvcnMubWFwKChtZXNzYWdlKT0+e1xuICAgICAgICBjb25zdCBpc1Vua25vd25OZXh0Rm9udEVycm9yID0gbWVzc2FnZS5tZXNzYWdlLmluY2x1ZGVzKFwiQW4gZXJyb3Igb2NjdXJlZCBpbiBgbmV4dC9mb250YC5cIik7XG4gICAgICAgIHJldHVybiBmb3JtYXRNZXNzYWdlKG1lc3NhZ2UsIGlzVW5rbm93bk5leHRGb250RXJyb3IgfHwgdmVyYm9zZSk7XG4gICAgfSk7XG4gICAgY29uc3QgZm9ybWF0dGVkV2FybmluZ3MgPSBqc29uLndhcm5pbmdzLm1hcCgobWVzc2FnZSk9PntcbiAgICAgICAgcmV0dXJuIGZvcm1hdE1lc3NhZ2UobWVzc2FnZSwgdmVyYm9zZSk7XG4gICAgfSk7XG4gICAgLy8gUmVvcmRlciBlcnJvcnMgdG8gcHV0IHRoZSBtb3N0IHJlbGV2YW50IG9uZXMgZmlyc3QuXG4gICAgbGV0IHJlYWN0U2VydmVyQ29tcG9uZW50c0Vycm9yID0gLTE7XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IGZvcm1hdHRlZEVycm9ycy5sZW5ndGg7IGkrKyl7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZm9ybWF0dGVkRXJyb3JzW2ldO1xuICAgICAgICBpZiAoZXJyb3IuaW5jbHVkZXMoXCJSZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvclwiKSkge1xuICAgICAgICAgICAgcmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgPSBpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gTW92ZSB0aGUgcmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgdG8gdGhlIHRvcCBpZiBpdCBleGlzdHNcbiAgICBpZiAocmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IgIT09IC0xKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gZm9ybWF0dGVkRXJyb3JzLnNwbGljZShyZWFjdFNlcnZlckNvbXBvbmVudHNFcnJvciwgMSk7XG4gICAgICAgIGZvcm1hdHRlZEVycm9ycy51bnNoaWZ0KGVycm9yWzBdKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0ge1xuICAgICAgICAuLi5qc29uLFxuICAgICAgICBlcnJvcnM6IGZvcm1hdHRlZEVycm9ycyxcbiAgICAgICAgd2FybmluZ3M6IGZvcm1hdHRlZFdhcm5pbmdzXG4gICAgfTtcbiAgICBpZiAoIXZlcmJvc2UgJiYgcmVzdWx0LmVycm9ycy5zb21lKGlzTGlrZWx5QVN5bnRheEVycm9yKSkge1xuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgYW55IHN5bnRheCBlcnJvcnMsIHNob3cganVzdCB0aGVtLlxuICAgICAgICByZXN1bHQuZXJyb3JzID0gcmVzdWx0LmVycm9ycy5maWx0ZXIoaXNMaWtlbHlBU3ludGF4RXJyb3IpO1xuICAgICAgICByZXN1bHQud2FybmluZ3MgPSBbXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm9ybWF0LXdlYnBhY2stbWVzc2FnZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZvcm1hdFdlYnBhY2tNZXNzYWdlcyIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfc3RyaXBhbnNpIiwiXyIsImZyaWVuZGx5U3ludGF4RXJyb3JMYWJlbCIsIldFQlBBQ0tfQlJFQUtJTkdfQ0hBTkdFX1BPTFlGSUxMUyIsImlzTGlrZWx5QVN5bnRheEVycm9yIiwibWVzc2FnZSIsImRlZmF1bHQiLCJpbmNsdWRlcyIsImhhZE1pc3NpbmdTYXNzRXJyb3IiLCJmb3JtYXRNZXNzYWdlIiwidmVyYm9zZSIsImltcG9ydFRyYWNlTm90ZSIsImZpbHRlcmVkTW9kdWxlVHJhY2UiLCJtb2R1bGVUcmFjZSIsImZpbHRlciIsInRyYWNlIiwidGVzdCIsIm9yaWdpbk5hbWUiLCJib2R5IiwiYnJlYWtpbmdDaGFuZ2VJbmRleCIsImluZGV4T2YiLCJzbGljZSIsIm1vZHVsZU5hbWUiLCJmaWxlIiwiZGV0YWlscyIsImxlbmd0aCIsIm1hcCIsImpvaW4iLCJzdGFjayIsImxpbmVzIiwic3BsaXQiLCJsaW5lIiwicGFyc2luZ0Vycm9yIiwiZXhlYyIsImVycm9yTGluZSIsImVycm9yQ29sdW1uIiwiZXJyb3JNZXNzYWdlIiwicmVwbGFjZSIsInRyaW0iLCJzcGxpY2UiLCJtYXRjaCIsImZpcnN0TGluZSIsImluZGV4IiwiYXJyIiwianNvbiIsImZvcm1hdHRlZEVycm9ycyIsImVycm9ycyIsImlzVW5rbm93bk5leHRGb250RXJyb3IiLCJmb3JtYXR0ZWRXYXJuaW5ncyIsIndhcm5pbmdzIiwicmVhY3RTZXJ2ZXJDb21wb25lbnRzRXJyb3IiLCJpIiwiZXJyb3IiLCJ1bnNoaWZ0IiwicmVzdWx0Iiwic29tZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/client/dev/noop-turbopack-hmr.js ***! \*****************************************************************/ /***/ ((module, exports) => { "use strict"; eval("// The Turbopack HMR client can't be properly omitted at the moment (WEB-1589),\n// so instead we remap its import to this file in webpack builds.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"connect\", ({\n enumerable: true,\n get: function() {\n return connect;\n }\n}));\nfunction connect() {}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=noop-turbopack-hmr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvbm9vcC10dXJib3BhY2staG1yLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtFQUErRTtBQUMvRSxpRUFBaUU7QUFDcEQ7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFdBQVc7QUFFcEIsSUFBSSxDQUFDLE9BQU9KLFFBQVFLLE9BQU8sS0FBSyxjQUFlLE9BQU9MLFFBQVFLLE9BQU8sS0FBSyxZQUFZTCxRQUFRSyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9MLFFBQVFLLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktSLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUUssT0FBTyxFQUFFLGNBQWM7UUFBRUosT0FBTztJQUFLO0lBQ25FSCxPQUFPUyxNQUFNLENBQUNQLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JRLE9BQU9SLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxFQUVBLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvbm9vcC10dXJib3BhY2staG1yLmpzPzQxNGMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhlIFR1cmJvcGFjayBITVIgY2xpZW50IGNhbid0IGJlIHByb3Blcmx5IG9taXR0ZWQgYXQgdGhlIG1vbWVudCAoV0VCLTE1ODkpLFxuLy8gc28gaW5zdGVhZCB3ZSByZW1hcCBpdHMgaW1wb3J0IHRvIHRoaXMgZmlsZSBpbiB3ZWJwYWNrIGJ1aWxkcy5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiY29ubmVjdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29ubmVjdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGNvbm5lY3QoKSB7fVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub29wLXR1cmJvcGFjay1obXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNvbm5lY3QiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/dev/noop-turbopack-hmr.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/get-domain-locale.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/client/get-domain-locale.js ***! \************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getDomainLocale\", ({\n enumerable: true,\n get: function() {\n return getDomainLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (false) {} else {\n return false;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=get-domain-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9nZXQtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsbURBQWtEO0lBQzlDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMEJBQTBCQyxtQkFBT0EsQ0FBQyxxR0FBNEI7QUFDcEUsTUFBTUMsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTSixnQkFBZ0JPLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLGFBQWE7SUFDekQsSUFBSU4sS0FBK0IsRUFBRSxFQVdwQyxNQUFNO1FBQ0gsT0FBTztJQUNYO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT1IsUUFBUTJCLE9BQU8sS0FBSyxjQUFlLE9BQU8zQixRQUFRMkIsT0FBTyxLQUFLLFlBQVkzQixRQUFRMkIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPM0IsUUFBUTJCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks5QixPQUFPQyxjQUFjLENBQUNDLFFBQVEyQixPQUFPLEVBQUUsY0FBYztRQUFFMUIsT0FBTztJQUFLO0lBQ25FSCxPQUFPK0IsTUFBTSxDQUFDN0IsUUFBUTJCLE9BQU8sRUFBRTNCO0lBQy9COEIsT0FBTzlCLE9BQU8sR0FBR0EsUUFBUTJCLE9BQU87QUFDbEMsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZ2V0LWRvbWFpbi1sb2NhbGUuanM/NWMyNyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldERvbWFpbkxvY2FsZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RG9tYWluTG9jYWxlO1xuICAgIH1cbn0pO1xuY29uc3QgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2ggPSByZXF1aXJlKFwiLi9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2hcIik7XG5jb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIjtcbmZ1bmN0aW9uIGdldERvbWFpbkxvY2FsZShwYXRoLCBsb2NhbGUsIGxvY2FsZXMsIGRvbWFpbkxvY2FsZXMpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICBjb25zdCBub3JtYWxpemVMb2NhbGVQYXRoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLWxvY2FsZS1wYXRoXCIpLm5vcm1hbGl6ZUxvY2FsZVBhdGg7XG4gICAgICAgIGNvbnN0IGRldGVjdERvbWFpbkxvY2FsZSA9IHJlcXVpcmUoXCIuL2RldGVjdC1kb21haW4tbG9jYWxlXCIpLmRldGVjdERvbWFpbkxvY2FsZTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gbG9jYWxlIHx8IG5vcm1hbGl6ZUxvY2FsZVBhdGgocGF0aCwgbG9jYWxlcykuZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgIGNvbnN0IGRvbWFpbiA9IGRldGVjdERvbWFpbkxvY2FsZShkb21haW5Mb2NhbGVzLCB1bmRlZmluZWQsIHRhcmdldCk7XG4gICAgICAgIGlmIChkb21haW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHByb3RvID0gXCJodHRwXCIgKyAoZG9tYWluLmh0dHAgPyBcIlwiIDogXCJzXCIpICsgXCI6Ly9cIjtcbiAgICAgICAgICAgIGNvbnN0IGZpbmFsTG9jYWxlID0gdGFyZ2V0ID09PSBkb21haW4uZGVmYXVsdExvY2FsZSA/IFwiXCIgOiBcIi9cIiArIHRhcmdldDtcbiAgICAgICAgICAgIHJldHVybiBcIlwiICsgcHJvdG8gKyBkb21haW4uZG9tYWluICsgKDAsIF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoLm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoKShcIlwiICsgYmFzZVBhdGggKyBmaW5hbExvY2FsZSArIHBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtZG9tYWluLWxvY2FsZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0RG9tYWluTG9jYWxlIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJyZXF1aXJlIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJsb2NhbGUiLCJsb2NhbGVzIiwiZG9tYWluTG9jYWxlcyIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwidGFyZ2V0IiwiZGV0ZWN0ZWRMb2NhbGUiLCJkb21haW4iLCJ1bmRlZmluZWQiLCJwcm90byIsImh0dHAiLCJmaW5hbExvY2FsZSIsImRlZmF1bHRMb2NhbGUiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/get-domain-locale.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/has-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/has-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"hasBasePath\", ({\n enumerable: true,\n get: function() {\n return hasBasePath;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ../shared/lib/router/utils/path-has-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nconst basePath = false || \"\";\nfunction hasBasePath(path) {\n return (0, _pathhasprefix.pathHasPrefix)(path, basePath);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=has-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZIQUE0QztBQUMzRSxNQUFNQyxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNKLFlBQVlPLElBQUk7SUFDckIsT0FBTyxDQUFDLEdBQUdOLGVBQWVPLGFBQWEsRUFBRUQsTUFBTUo7QUFDbkQ7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWEsT0FBTyxFQUFFLGNBQWM7UUFBRVosT0FBTztJQUFLO0lBQ25FSCxPQUFPaUIsTUFBTSxDQUFDZixRQUFRYSxPQUFPLEVBQUViO0lBQy9CZ0IsT0FBT2hCLE9BQU8sR0FBR0EsUUFBUWEsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzPzVhNDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYXNCYXNlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGFzQmFzZVBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfcGF0aGhhc3ByZWZpeCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXRoLWhhcy1wcmVmaXhcIik7XG5jb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIjtcbmZ1bmN0aW9uIGhhc0Jhc2VQYXRoKHBhdGgpIHtcbiAgICByZXR1cm4gKDAsIF9wYXRoaGFzcHJlZml4LnBhdGhIYXNQcmVmaXgpKHBhdGgsIGJhc2VQYXRoKTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFzLWJhc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaGFzQmFzZVBhdGgiLCJfcGF0aGhhc3ByZWZpeCIsInJlcXVpcmUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInBhdGhIYXNQcmVmaXgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/has-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/image-component.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/client/image-component.js ***! \**********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Image\", ({\n enumerable: true,\n get: function() {\n return Image;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _head = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/head */ \"(ssr)/./node_modules/next/dist/shared/lib/head.js\"));\nconst _getimgprops = __webpack_require__(/*! ../shared/lib/get-img-props */ \"(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imageconfig = __webpack_require__(/*! ../shared/lib/image-config */ \"(ssr)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst _imageconfigcontextsharedruntime = __webpack_require__(/*! ../shared/lib/image-config-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js\");\nconst _warnonce = __webpack_require__(/*! ../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(ssr)/./node_modules/next/dist/shared/lib/image-loader.js\"));\n// This is replaced by webpack define plugin\nconst configEnv = {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image/\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[\"lh3.googleusercontent.com\"],\"remotePatterns\":[]};\nif (true) {\n globalThis.__NEXT_IMAGE_IMPORTED = true;\n}\n// See https://stackoverflow.com/q/39777833/266535 for why we use this ref\n// handler instead of the img's onLoad attribute.\nfunction handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized) {\n const src = img == null ? void 0 : img.src;\n if (!img || img[\"data-loaded-src\"] === src) {\n return;\n }\n img[\"data-loaded-src\"] = src;\n const p = \"decode\" in img ? img.decode() : Promise.resolve();\n p.catch(()=>{}).then(()=>{\n if (!img.parentElement || !img.isConnected) {\n // Exit early in case of race condition:\n // - onload() is called\n // - decode() is called but incomplete\n // - unmount is called\n // - decode() completes\n return;\n }\n if (placeholder !== \"empty\") {\n setBlurComplete(true);\n }\n if (onLoadRef == null ? void 0 : onLoadRef.current) {\n // Since we don't have the SyntheticEvent here,\n // we must create one with the same shape.\n // See https://reactjs.org/docs/events.html\n const event = new Event(\"load\");\n Object.defineProperty(event, \"target\", {\n writable: false,\n value: img\n });\n let prevented = false;\n let stopped = false;\n onLoadRef.current({\n ...event,\n nativeEvent: event,\n currentTarget: img,\n target: img,\n isDefaultPrevented: ()=>prevented,\n isPropagationStopped: ()=>stopped,\n persist: ()=>{},\n preventDefault: ()=>{\n prevented = true;\n event.preventDefault();\n },\n stopPropagation: ()=>{\n stopped = true;\n event.stopPropagation();\n }\n });\n }\n if (onLoadingCompleteRef == null ? void 0 : onLoadingCompleteRef.current) {\n onLoadingCompleteRef.current(img);\n }\n if (true) {\n const origSrc = new URL(src, \"http://n\").searchParams.get(\"url\") || src;\n if (img.getAttribute(\"data-nimg\") === \"fill\") {\n if (!unoptimized && (!img.getAttribute(\"sizes\") || img.getAttribute(\"sizes\") === \"100vw\")) {\n let widthViewportRatio = img.getBoundingClientRect().width / window.innerWidth;\n if (widthViewportRatio < 0.6) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" but is missing \"sizes\" prop. Please add it to improve page performance. Read more: https://nextjs.org/docs/api-reference/next/image#sizes');\n }\n }\n if (img.parentElement) {\n const { position } = window.getComputedStyle(img.parentElement);\n const valid = [\n \"absolute\",\n \"fixed\",\n \"relative\"\n ];\n if (!valid.includes(position)) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and parent element with invalid \"position\". Provided \"' + position + '\" should be one of ' + valid.map(String).join(\",\") + \".\");\n }\n }\n if (img.height === 0) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has \"fill\" and a height value of 0. This is likely because the parent element of the image has not been styled to have a set height.');\n }\n }\n const heightModified = img.height.toString() !== img.getAttribute(\"height\");\n const widthModified = img.width.toString() !== img.getAttribute(\"width\");\n if (heightModified && !widthModified || !heightModified && widthModified) {\n (0, _warnonce.warnOnce)('Image with src \"' + origSrc + '\" has either width or height modified, but not the other. If you use CSS to change the size of your image, also include the styles \\'width: \"auto\"\\' or \\'height: \"auto\"\\' to maintain the aspect ratio.');\n }\n }\n });\n}\nfunction getDynamicProps(fetchPriority) {\n const [majorStr, minorStr] = _react.version.split(\".\", 2);\n const major = parseInt(majorStr, 10);\n const minor = parseInt(minorStr, 10);\n if (major > 18 || major === 18 && minor >= 3) {\n // In React 18.3.0 or newer, we must use camelCase\n // prop to avoid \"Warning: Invalid DOM property\".\n // See https://github.com/facebook/react/pull/25927\n return {\n fetchPriority\n };\n }\n // In React 18.2.0 or older, we must use lowercase prop\n // to avoid \"Warning: Invalid DOM property\".\n return {\n fetchpriority: fetchPriority\n };\n}\nconst ImageElement = /*#__PURE__*/ (0, _react.forwardRef)((param, forwardedRef)=>{\n let { src, srcSet, sizes, height, width, decoding, className, style, fetchPriority, placeholder, loading, unoptimized, fill, onLoadRef, onLoadingCompleteRef, setBlurComplete, setShowAltText, onLoad, onError, ...rest } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"img\", {\n ...rest,\n ...getDynamicProps(fetchPriority),\n // It's intended to keep `loading` before `src` because React updates\n // props in order which causes Safari/Firefox to not lazy load properly.\n // See https://github.com/facebook/react/issues/25883\n loading: loading,\n width: width,\n height: height,\n decoding: decoding,\n \"data-nimg\": fill ? \"fill\" : \"1\",\n className: className,\n style: style,\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n sizes: sizes,\n srcSet: srcSet,\n src: src,\n ref: (0, _react.useCallback)((img)=>{\n if (forwardedRef) {\n if (typeof forwardedRef === \"function\") forwardedRef(img);\n else if (typeof forwardedRef === \"object\") {\n // @ts-ignore - .current is read only it's usually assigned by react internally\n forwardedRef.current = img;\n }\n }\n if (!img) {\n return;\n }\n if (onError) {\n // If the image has an error before react hydrates, then the error is lost.\n // The workaround is to wait until the image is mounted which is after hydration,\n // then we set the src again to trigger the error handler (if there was an error).\n // eslint-disable-next-line no-self-assign\n img.src = img.src;\n }\n if (true) {\n if (!src) {\n console.error('Image is missing required \"src\" property:', img);\n }\n if (img.getAttribute(\"alt\") === null) {\n console.error('Image is missing required \"alt\" property. Please add Alternative Text to describe the image for screen readers and search engines.');\n }\n }\n if (img.complete) {\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized);\n }\n }, [\n src,\n placeholder,\n onLoadRef,\n onLoadingCompleteRef,\n setBlurComplete,\n onError,\n unoptimized,\n forwardedRef\n ]),\n onLoad: (event)=>{\n const img = event.currentTarget;\n handleLoading(img, placeholder, onLoadRef, onLoadingCompleteRef, setBlurComplete, unoptimized);\n },\n onError: (event)=>{\n // if the real image fails to load, this will ensure \"alt\" is visible\n setShowAltText(true);\n if (placeholder !== \"empty\") {\n // If the real image fails to load, this will still remove the placeholder.\n setBlurComplete(true);\n }\n if (onError) {\n onError(event);\n }\n }\n });\n});\nfunction ImagePreload(param) {\n let { isAppRouter, imgAttributes } = param;\n const opts = {\n as: \"image\",\n imageSrcSet: imgAttributes.srcSet,\n imageSizes: imgAttributes.sizes,\n crossOrigin: imgAttributes.crossOrigin,\n referrerPolicy: imgAttributes.referrerPolicy,\n ...getDynamicProps(imgAttributes.fetchPriority)\n };\n if (isAppRouter && _reactdom.default.preload) {\n // See https://github.com/facebook/react/pull/26940\n _reactdom.default.preload(imgAttributes.src, opts);\n return null;\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_head.default, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"link\", {\n rel: \"preload\",\n // Note how we omit the `href` attribute, as it would only be relevant\n // for browsers that do not support `imagesrcset`, and in those cases\n // it would cause the incorrect image to be preloaded.\n //\n // https://html.spec.whatwg.org/multipage/semantics.html#attr-link-imagesrcset\n href: imgAttributes.srcSet ? undefined : imgAttributes.src,\n ...opts\n }, \"__nimg-\" + imgAttributes.src + imgAttributes.srcSet + imgAttributes.sizes)\n });\n}\nconst Image = /*#__PURE__*/ (0, _react.forwardRef)((props, forwardedRef)=>{\n const pagesRouter = (0, _react.useContext)(_routercontextsharedruntime.RouterContext);\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const configContext = (0, _react.useContext)(_imageconfigcontextsharedruntime.ImageConfigContext);\n const config = (0, _react.useMemo)(()=>{\n const c = configEnv || configContext || _imageconfig.imageConfigDefault;\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n return {\n ...c,\n allSizes,\n deviceSizes\n };\n }, [\n configContext\n ]);\n const { onLoad, onLoadingComplete } = props;\n const onLoadRef = (0, _react.useRef)(onLoad);\n (0, _react.useEffect)(()=>{\n onLoadRef.current = onLoad;\n }, [\n onLoad\n ]);\n const onLoadingCompleteRef = (0, _react.useRef)(onLoadingComplete);\n (0, _react.useEffect)(()=>{\n onLoadingCompleteRef.current = onLoadingComplete;\n }, [\n onLoadingComplete\n ]);\n const [blurComplete, setBlurComplete] = (0, _react.useState)(false);\n const [showAltText, setShowAltText] = (0, _react.useState)(false);\n const { props: imgAttributes, meta: imgMeta } = (0, _getimgprops.getImgProps)(props, {\n defaultLoader: _imageloader.default,\n imgConf: config,\n blurComplete,\n showAltText\n });\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(ImageElement, {\n ...imgAttributes,\n unoptimized: imgMeta.unoptimized,\n placeholder: imgMeta.placeholder,\n fill: imgMeta.fill,\n onLoadRef: onLoadRef,\n onLoadingCompleteRef: onLoadingCompleteRef,\n setBlurComplete: setBlurComplete,\n setShowAltText: setShowAltText,\n ref: forwardedRef\n }),\n imgMeta.priority ? /*#__PURE__*/ (0, _jsxruntime.jsx)(ImagePreload, {\n isAppRouter: isAppRouter,\n imgAttributes: imgAttributes\n }) : null\n ]\n });\n});\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=image-component.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5Q0FBd0M7SUFDcENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxZQUFZLFdBQVcsR0FBR04seUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLGdIQUFXO0FBQzlFLE1BQU1NLFFBQVEsV0FBVyxHQUFHUCx5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsNkVBQW9CO0FBQ25GLE1BQU1PLGVBQWVQLG1CQUFPQSxDQUFDLCtGQUE2QjtBQUMxRCxNQUFNUSxlQUFlUixtQkFBT0EsQ0FBQyw2RkFBNEI7QUFDekQsTUFBTVMsbUNBQW1DVCxtQkFBT0EsQ0FBQyx3S0FBbUQ7QUFDcEcsTUFBTVUsWUFBWVYsbUJBQU9BLENBQUMsbUdBQStCO0FBQ3pELE1BQU1XLDhCQUE4QlgsbUJBQU9BLENBQUMsNEpBQTZDO0FBQ3pGLE1BQU1ZLGVBQWUsV0FBVyxHQUFHYix5QkFBeUJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsb0dBQW1DO0FBQ3pHLDRDQUE0QztBQUM1QyxNQUFNYSxZQUFZQyxzUEFBNkI7QUFDL0MsSUFBSSxJQUE2QixFQUFFO0lBQy9CRyxXQUFXQyxxQkFBcUIsR0FBRztBQUN2QztBQUNBLDBFQUEwRTtBQUMxRSxpREFBaUQ7QUFDakQsU0FBU0MsY0FB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QU0sT0FBT3BILFFBQVFvSCxPQUFPLENBQUNtQyxVQUFVLEtBQUssYUFBYTtJQUNyS3pKLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9ILE9BQU8sRUFBRSxjQUFjO1FBQUVuSCxPQUFPO0lBQUs7SUFDbkVILE9BQU8wSixNQUFNLENBQUN4SixRQUFRb0gsT0FBTyxFQUFFcEg7SUFDL0J5SixPQUFPekosT0FBTyxHQUFHQSxRQUFRb0gsT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9pbWFnZS1jb21wb25lbnQuanM/YWM0MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJJbWFnZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSW1hZ2U7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3JlYWN0ZG9tID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3QtZG9tXCIpKTtcbmNvbnN0IF9oZWFkID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9oZWFkXCIpKTtcbmNvbnN0IF9nZXRpbWdwcm9wcyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2dldC1pbWctcHJvcHNcIik7XG5jb25zdCBfaW1hZ2Vjb25maWcgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9pbWFnZS1jb25maWdcIik7XG5jb25zdCBfaW1hZ2Vjb25maWdjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3dhcm5vbmNlID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlXCIpO1xuY29uc3QgX3JvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfaW1hZ2Vsb2FkZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1sb2FkZXJcIikpO1xuLy8gVGhpcyBpcyByZXBsYWNlZCBieSB3ZWJwYWNrIGRlZmluZSBwbHVnaW5cbmNvbnN0IGNvbmZpZ0VudiA9IHByb2Nlc3MuZW52Ll9fTkVYVF9JTUFHRV9PUFRTO1xuaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBnbG9iYWxUaGlzLl9fTkVYVF9JTUFHRV9JTVBPUlRFRCA9IHRydWU7XG59XG4vLyBTZWUgaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xLzM5Nzc3ODMzLzI2NjUzNSBmb3Igd2h5IHdlIHVzZSB0aGlzIHJlZlxuLy8gaGFuZGxlciBpbnN0ZWFkIG9mIHRoZSBpbWcncyBvbkxvYWQgYXR0cmlidXRlLlxuZnVuY3Rpb24gaGFuZGxlTG9hZGluZyhpbWcsIHBsYWNlaG9sZGVyLCBvbkxvYWRSZWYsIG9uTG9hZGluZ0NvbXBsZXRlUmVmLCBzZXRCbHVyQ29tcGxldGUsIHVub3B0aW1pemVkKSB7XG4gICAgY29uc3Qgc3JjID0gaW1nID09IG51bGwgPyB2b2lkIDAgOiBpbWcuc3JjO1xuICAgIGlmICghaW1nIHx8IGltZ1tcImRhdGEtbG9hZGVkLXNyY1wiXSA9PT0gc3JjKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaW1nW1wiZGF0YS1sb2FkZWQtc3JjXCJdID0gc3JjO1xuICAgIGNvbnN0IHAgPSBcImRlY29kZVwiIGluIGltZyA/IGltZy5kZWNvZGUoKSA6IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIHAuY2F0Y2goKCk9Pnt9KS50aGVuKCgpPT57XG4gICAgICAgIGlmICghaW1nLnBhcmVudEVsZW1lbnQgfHwgIWltZy5pc0Nvbm5lY3RlZCkge1xuICAgICAgICAgICAgLy8gRXhpdCBlYXJseSBpbiBjYXNlIG9mIHJhY2UgY29uZGl0aW9uOlxuICAgICAgICAgICAgLy8gLSBvbmxvYWQoKSBpcyBjYWxsZWRcbiAgICAgICAgICAgIC8vIC0gZGVjb2RlKCkgaXMgY2FsbGVkIGJ1dCBpbmNvbXBsZXRlXG4gICAgICAgICAgICAvLyAtIHVubW91bnQgaXMgY2FsbGVkXG4gICAgICAgICAgICAvLyAtIGRlY29kZSgpIGNvbXBsZXRlc1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwbGFjZWhvbGRlciAhPT0gXCJlbXB0eVwiKSB7XG4gICAgICAgICAgICBzZXRCbHVyQ29tcGxldGUodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9uTG9hZFJlZiA9PSBudWxsID8gdm9pZCAwIDogb25Mb2FkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgICAgIC8vIFNpbmNlIHdlIGRvbid0IGhhdmUgdGhlIFN5bnRoZXRpY0V2ZW50IGhlcmUsXG4gICAgICAgICAgICAvLyB3ZSBtdXN0IGNyZWF0ZSBvbmUgd2l0aCB0aGUgc2FtZSBzaGFwZS5cbiAgICAgICAgICAgIC8vIFNlZSBodHRwczovL3JlYWN0anMub3JnL2RvY3MvZXZlbnRzLmh0bWxcbiAgICAgICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KFwibG9hZFwiKTtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShldmVudCwgXCJ0YXJnZXRcIiwge1xuICAgICAgICAgICAgICAgIHdyaXRhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaW1nXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGxldCBwcmV2ZW50ZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIGxldCBzdG9wcGVkID0gZmFsc2U7XG4gICAgICAgICAgICBvbkxvYWRSZWYuY3VycmVudCh7XG4gICAgICAgICAgICAgICAgLi4uZXZlbnQsXG4gICAgICAgICAgICAgICAgbmF0aXZlRXZlbnQ6IGV2ZW50LFxuICAgICAgICAgICAgICAgIGN1cnJlbnRUYXJnZXQ6IGltZyxcbiAgICAgICAgICAgICAgICB0YXJnZXQ6IGltZyxcbiAgICAgICAgICAgICAgICBpc0RlZmF1bHRQcmV2ZW50ZWQ6ICgpPT5wcmV2ZW50ZWQsXG4gICAgICAgICAgICAgICAgaXNQcm9wYWdhdGlvblN0b3BwZWQ6ICgpPT5zdG9wcGVkLFxuICAgICAgICAgICAgICAgIHBlcnNpc3Q6ICgpPT57fSxcbiAgICAgICAgICAgICAgICBwcmV2ZW50RGVmYXVsdDogKCk9PntcbiAgICAgICAgICAgICAgICAgICAgcHJldmVudGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHN0b3BQcm9wYWdhdGlvbjogKCk9PntcbiAgICAgICAgICAgICAgICAgICAgc3RvcHBlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvbkxvYWRpbmdDb21wbGV0ZVJlZiA9PSBudWxsID8gdm9pZCAwIDogb25Mb2FkaW5nQ29tcGxldGVSZWYuY3VycmVudCkge1xuICAgICAgICAgICAgb25Mb2FkaW5nQ29tcGxldGVSZWYuY3VycmVudChpbWcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IG9yaWdTcmMgPSBuZXcgVVJMKHNyYywgXCJodHRwOi8vblwiKS5zZWFyY2hQYXJhbXMuZ2V0KFwidXJsXCIpIHx8IHNyYztcbiAgICAgICAgICAgIGlmIChpbWcuZ2V0QXR0cmlidXRlKFwiZGF0YS1uaW1nXCIpID09PSBcImZpbGxcIikge1xuICAgICAgICAgICAgICAgIGlmICghdW5vcHRpbWl6ZWQgJiYgKCFpbWcuZ2V0QXR0cmlidXRlKFwic2l6ZXNcIikgfHwgaW1nLmdldEF0dHJpYnV0ZShcInNpemVzXCIpID09PSBcIjEwMHZ3XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCB3aWR0aFZpZXdwb3J0UmF0aW8gPSBpbWcuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGggLyB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHdpZHRoVmlld3BvcnRSYXRpbyA8IDAuNikge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0ltYWdlIHdpdGggc3JjIFwiJyArIG9yaWdTcmMgKyAnXCIgaGFzIFwiZmlsbFwiIGJ1dCBpcyBtaXNzaW5nIFwic2l6ZXNcIiBwcm9wLiBQbGVhc2UgYWRkIGl0IHRvIGltcHJvdmUgcGFnZSBwZXJmb3JtYW5jZS4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcGktcmVmZXJlbmNlL25leHQvaW1hZ2Ujc2l6ZXMnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaW1nLnBhcmVudEVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgeyBwb3NpdGlvbiB9ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUoaW1nLnBhcmVudEVsZW1lbnQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWxpZCA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiYWJzb2x1dGVcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwiZml4ZWRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicmVsYXRpdmVcIlxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbGlkLmluY2x1ZGVzKHBvc2l0aW9uKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0ltYWdlIHdpdGggc3JjIFwiJyArIG9yaWdTcmMgKyAnXCIgaGFzIFwiZmlsbFwiIGFuZCBwYXJlbnQgZWxlbWVudCB3aXRoIGludmFsaWQgXCJwb3NpdGlvblwiLiBQcm92aWRlZCBcIicgKyBwb3NpdGlvbiArICdcIiBzaG91bGQgYmUgb25lIG9mICcgKyB2YWxpZC5tYXAoU3RyaW5nKS5qb2luKFwiLFwiKSArIFwiLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaW1nLmhlaWdodCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKSgnSW1hZ2Ugd2l0aCBzcmMgXCInICsgb3JpZ1NyYyArICdcIiBoYXMgXCJmaWxsXCIgYW5kIGEgaGVpZ2h0IHZhbHVlIG9mIDAuIFRoaXMgaXMgbGlrZWx5IGJlY2F1c2UgdGhlIHBhcmVudCBlbGVtZW50IG9mIHRoZSBpbWFnZSBoYXMgbm90IGJlZW4gc3R5bGVkIHRvIGhhdmUgYSBzZXQgaGVpZ2h0LicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vZGlmaWVkID0gaW1nLmhlaWdodC50b1N0cmluZygpICE9PSBpbWcuZ2V0QXR0cmlidXRlKFwiaGVpZ2h0XCIpO1xuICAgICAgICAgICAgY29uc3Qgd2lkdGhNb2RpZmllZCA9IGltZy53aWR0aC50b1N0cmluZygpICE9PSBpbWcuZ2V0QXR0cmlidXRlKFwid2lkdGhcIik7XG4gICAgICAgICAgICBpZiAoaGVpZ2h0TW9kaWZpZWQgJiYgIXdpZHRoTW9kaWZpZWQgfHwgIWhlaWdodE1vZGlmaWVkICYmIHdpZHRoTW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKSgnSW1hZ2Ugd2l0aCBzcmMgXCInICsgb3JpZ1NyYyArICdcIiBoYXMgZWl0aGVyIHdpZHRoIG9yIGhlaWdodCBtb2RpZmllZCwgYnV0IG5vdCB0aGUgb3RoZXIuIElmIHlvdSB1c2UgQ1NTIHRvIGNoYW5nZSB0aGUgc2l6ZSBvZiB5b3VyIGltYWdlLCBhbHNvIGluY2x1ZGUgdGhlIHN0eWxlcyBcXCd3aWR0aDogXCJhdXRvXCJcXCcgb3IgXFwnaGVpZ2h0OiBcImF1dG9cIlxcJyB0byBtYWludGFpbiB0aGUgYXNwZWN0IHJhdGlvLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBnZXREeW5hbWljUHJvcHMoZmV0Y2hQcmlvcml0eSkge1xuICAgIGNvbnN0IFttYWpvclN0ciwgbWlub3JTdHJdID0gX3JlYWN0LnZlcnNpb24uc3BsaXQoXCIuXCIsIDIpO1xuICAgIGNvbnN0IG1ham9yID0gcGFyc2VJbnQobWFqb3JTdHIsIDEwKTtcbiAgICBjb25zdCBtaW5vciA9IHBhcnNlSW50KG1pbm9yU3RyLCAxMCk7XG4gICAgaWYgKG1ham9yID4gMTggfHwgbWFqb3IgPT09IDE4ICYmIG1pbm9yID49IDMpIHtcbiAgICAgICAgLy8gSW4gUmVhY3QgMTguMy4wIG9yIG5ld2VyLCB3ZSBtdXN0IHVzZSBjYW1lbENhc2VcbiAgICAgICAgLy8gcHJvcCB0byBhdm9pZCBcIldhcm5pbmc6IEludmFsaWQgRE9NIHByb3BlcnR5XCIuXG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yNTkyN1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZmV0Y2hQcmlvcml0eVxuICAgICAgICB9O1xuICAgIH1cbiAgICAvLyBJbiBSZWFjdCAxOC4yLjAgb3Igb2xkZXIsIHdlIG11c3QgdXNlIGxvd2VyY2FzZSBwcm9wXG4gICAgLy8gdG8gYXZvaWQgXCJXYXJuaW5nOiBJbnZhbGlkIERPTSBwcm9wZXJ0eVwiLlxuICAgIHJldHVybiB7XG4gICAgICAgIGZldGNocHJpb3JpdHk6IGZldGNoUHJpb3JpdHlcbiAgICB9O1xufVxuY29uc3QgSW1hZ2VFbGVtZW50ID0gLyojX19QVVJFX18qLyAoMCwgX3JlYWN0LmZvcndhcmRSZWYpKChwYXJhbSwgZm9yd2FyZGVkUmVmKT0+e1xuICAgIGxldCB7IHNyYywgc3JjU2V0LCBzaXplcywgaGVpZ2h0LCB3aWR0aCwgZGVjb2RpbmcsIGNsYXNzTmFtZSwgc3R5bGUsIGZldGNoUHJpb3JpdHksIHBsYWNlaG9sZGVyLCBsb2FkaW5nLCB1bm9wdGltaXplZCwgZmlsbCwgb25Mb2FkUmVmLCBvbkxvYWRpbmdDb21wbGV0ZVJlZiwgc2V0Qmx1ckNvbXBsZXRlLCBzZXRTaG93QWx0VGV4dCwgb25Mb2FkLCBvbkVycm9yLCAuLi5yZXN0IH0gPSBwYXJhbTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImltZ1wiLCB7XG4gICAgICAgIC4uLnJlc3QsXG4gICAgICAgIC4uLmdldER5bmFtaWNQcm9wcyhmZXRjaFByaW9yaXR5KSxcbiAgICAgICAgLy8gSXQncyBpbnRlbmRlZCB0byBrZWVwIGBsb2FkaW5nYCBiZWZvcmUgYHNyY2AgYmVjYXVzZSBSZWFjdCB1cGRhdGVzXG4gICAgICAgIC8vIHByb3BzIGluIG9yZGVyIHdoaWNoIGNhdXNlcyBTYWZhcmkvRmlyZWZveCB0byBub3QgbGF6eSBsb2FkIHByb3Blcmx5LlxuICAgICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy8yNTg4M1xuICAgICAgICBsb2FkaW5nOiBsb2FkaW5nLFxuICAgICAgICB3aWR0aDogd2lkdGgsXG4gICAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgICBkZWNvZGluZzogZGVjb2RpbmcsXG4gICAgICAgIFwiZGF0YS1uaW1nXCI6IGZpbGwgPyBcImZpbGxcIiA6IFwiMVwiLFxuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZSxcbiAgICAgICAgc3R5bGU6IHN0eWxlLFxuICAgICAgICAvLyBJdCdzIGludGVuZGVkIHRvIGtlZXAgYHNyY2AgdGhlIGxhc3QgYXR0cmlidXRlIGJlY2F1c2UgUmVhY3QgdXBkYXRlc1xuICAgICAgICAvLyBhdHRyaWJ1dGVzIGluIG9yZGVyLiBJZiB3ZSBrZWVwIGBzcmNgIHRoZSBmaXJzdCBvbmUsIFNhZmFyaSB3aWxsXG4gICAgICAgIC8vIGltbWVkaWF0ZWx5IHN0YXJ0IHRvIGZldGNoIGBzcmNgLCBiZWZvcmUgYHNpemVzYCBhbmQgYHNyY1NldGAgYXJlIGV2ZW5cbiAgICAgICAgLy8gdXBkYXRlZCBieSBSZWFjdC4gVGhhdCBjYXVzZXMgbXVsdGlwbGUgdW5uZWNlc3NhcnkgcmVxdWVzdHMgaWYgYHNyY1NldGBcbiAgICAgICAgLy8gYW5kIGBzaXplc2AgYXJlIGRlZmluZWQuXG4gICAgICAgIC8vIFRoaXMgYnVnIGNhbm5vdCBiZSByZXByb2R1Y2VkIGluIENocm9tZSBvciBGaXJlZm94LlxuICAgICAgICBzaXplczogc2l6ZXMsXG4gICAgICAgIHNyY1NldDogc3JjU2V0LFxuICAgICAgICBzcmM6IHNyYyxcbiAgICAgICAgcmVmOiAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoaW1nKT0+e1xuICAgICAgICAgICAgaWYgKGZvcndhcmRlZFJlZikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgZm9yd2FyZGVkUmVmID09PSBcImZ1bmN0aW9uXCIpIGZvcndhcmRlZFJlZihpbWcpO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHR5cGVvZiBmb3J3YXJkZWRSZWYgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSAtIC5jdXJyZW50IGlzIHJlYWQgb25seSBpdCdzIHVzdWFsbHkgYXNzaWduZWQgYnkgcmVhY3QgaW50ZXJuYWxseVxuICAgICAgICAgICAgICAgICAgICBmb3J3YXJkZWRSZWYuY3VycmVudCA9IGltZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWltZykge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvbkVycm9yKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlIGltYWdlIGhhcyBhbiBlcnJvciBiZWZvcmUgcmVhY3QgaHlkcmF0ZXMsIHRoZW4gdGhlIGVycm9yIGlzIGxvc3QuXG4gICAgICAgICAgICAgICAgLy8gVGhlIHdvcmthcm91bmQgaXMgdG8gd2FpdCB1bnRpbCB0aGUgaW1hZ2UgaXMgbW91bnRlZCB3aGljaCBpcyBhZnRlciBoeWRyYXRpb24sXG4gICAgICAgICAgICAgICAgLy8gdGhlbiB3ZSBzZXQgdGhlIHNyYyBhZ2FpbiB0byB0cmlnZ2VyIHRoZSBlcnJvciBoYW5kbGVyIChpZiB0aGVyZSB3YXMgYW4gZXJyb3IpLlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWFzc2lnblxuICAgICAgICAgICAgICAgIGltZy5zcmMgPSBpbWcuc3JjO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGlmICghc3JjKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ltYWdlIGlzIG1pc3NpbmcgcmVxdWlyZWQgXCJzcmNcIiBwcm9wZXJ0eTonLCBpbWcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoaW1nLmdldEF0dHJpYnV0ZShcImFsdFwiKSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdJbWFnZSBpcyBtaXNzaW5nIHJlcXVpcmVkIFwiYWx0XCIgcHJvcGVydHkuIFBsZWFzZSBhZGQgQWx0ZXJuYXRpdmUgVGV4dCB0byBkZXNjcmliZSB0aGUgaW1hZ2UgZm9yIHNjcmVlbiByZWFkZXJzIGFuZCBzZWFyY2ggZW5naW5lcy4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaW1nLmNvbXBsZXRlKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlTG9hZGluZyhpbWcsIHBsYWNlaG9sZGVyLCBvbkxvYWRSZWYsIG9uTG9hZGluZ0NvbXBsZXRlUmVmLCBzZXRCbHVyQ29tcGxldGUsIHVub3B0aW1pemVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgW1xuICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgICBvbkxvYWRSZWYsXG4gICAgICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZixcbiAgICAgICAgICAgIHNldEJsdXJDb21wbGV0ZSxcbiAgICAgICAgICAgIG9uRXJyb3IsXG4gICAgICAgICAgICB1bm9wdGltaXplZCxcbiAgICAgICAgICAgIGZvcndhcmRlZFJlZlxuICAgICAgICBdKSxcbiAgICAgICAgb25Mb2FkOiAoZXZlbnQpPT57XG4gICAgICAgICAgICBjb25zdCBpbWcgPSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgICAgICAgICAgaGFuZGxlTG9hZGluZyhpbWcsIHBsYWNlaG9sZGVyLCBvbkxvYWRSZWYsIG9uTG9hZGluZ0NvbXBsZXRlUmVmLCBzZXRCbHVyQ29tcGxldGUsIHVub3B0aW1pemVkKTtcbiAgICAgICAgfSxcbiAgICAgICAgb25FcnJvcjogKGV2ZW50KT0+e1xuICAgICAgICAgICAgLy8gaWYgdGhlIHJlYWwgaW1hZ2UgZmFpbHMgdG8gbG9hZCwgdGhpcyB3aWxsIGVuc3VyZSBcImFsdFwiIGlzIHZpc2libGVcbiAgICAgICAgICAgIHNldFNob3dBbHRUZXh0KHRydWUpO1xuICAgICAgICAgICAgaWYgKHBsYWNlaG9sZGVyICE9PSBcImVtcHR5XCIpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgcmVhbCBpbWFnZSBmYWlscyB0byBsb2FkLCB0aGlzIHdpbGwgc3RpbGwgcmVtb3ZlIHRoZSBwbGFjZWhvbGRlci5cbiAgICAgICAgICAgICAgICBzZXRCbHVyQ29tcGxldGUodHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob25FcnJvcikge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IoZXZlbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59KTtcbmZ1bmN0aW9uIEltYWdlUHJlbG9hZChwYXJhbSkge1xuICAgIGxldCB7IGlzQXBwUm91dGVyLCBpbWdBdHRyaWJ1dGVzIH0gPSBwYXJhbTtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgICBhczogXCJpbWFnZVwiLFxuICAgICAgICBpbWFnZVNyY1NldDogaW1nQXR0cmlidXRlcy5zcmNTZXQsXG4gICAgICAgIGltYWdlU2l6ZXM6IGltZ0F0dHJpYnV0ZXMuc2l6ZXMsXG4gICAgICAgIGNyb3NzT3JpZ2luOiBpbWdBdHRyaWJ1dGVzLmNyb3NzT3JpZ2luLFxuICAgICAgICByZWZlcnJlclBvbGljeTogaW1nQXR0cmlidXRlcy5yZWZlcnJlclBvbGljeSxcbiAgICAgICAgLi4uZ2V0RHluYW1pY1Byb3BzKGltZ0F0dHJpYnV0ZXMuZmV0Y2hQcmlvcml0eSlcbiAgICB9O1xuICAgIGlmIChpc0FwcFJvdXRlciAmJiBfcmVhY3Rkb20uZGVmYXVsdC5wcmVsb2FkKSB7XG4gICAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QvcHVsbC8yNjk0MFxuICAgICAgICBfcmVhY3Rkb20uZGVmYXVsdC5wcmVsb2FkKGltZ0F0dHJpYnV0ZXMuc3JjLCAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IHVwZ3JhZGUgdG8gYEB0eXBlcy9yZWFjdC1kb21AMTguMy54YFxuICAgICAgICBvcHRzKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9oZWFkLmRlZmF1bHQsIHtcbiAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJsaW5rXCIsIHtcbiAgICAgICAgICAgIHJlbDogXCJwcmVsb2FkXCIsXG4gICAgICAgICAgICAvLyBOb3RlIGhvdyB3ZSBvbWl0IHRoZSBgaHJlZmAgYXR0cmlidXRlLCBhcyBpdCB3b3VsZCBvbmx5IGJlIHJlbGV2YW50XG4gICAgICAgICAgICAvLyBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBgaW1hZ2VzcmNzZXRgLCBhbmQgaW4gdGhvc2UgY2FzZXNcbiAgICAgICAgICAgIC8vIGl0IHdvdWxkIGNhdXNlIHRoZSBpbmNvcnJlY3QgaW1hZ2UgdG8gYmUgcHJlbG9hZGVkLlxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlL3NlbWFudGljcy5odG1sI2F0dHItbGluay1pbWFnZXNyY3NldFxuICAgICAgICAgICAgaHJlZjogaW1nQXR0cmlidXRlcy5zcmNTZXQgPyB1bmRlZmluZWQgOiBpbWdBdHRyaWJ1dGVzLnNyYyxcbiAgICAgICAgICAgIC4uLm9wdHNcbiAgICAgICAgfSwgXCJfX25pbWctXCIgKyBpbWdBdHRyaWJ1dGVzLnNyYyArIGltZ0F0dHJpYnV0ZXMuc3JjU2V0ICsgaW1nQXR0cmlidXRlcy5zaXplcylcbiAgICB9KTtcbn1cbmNvbnN0IEltYWdlID0gLyojX19QVVJFX18qLyAoMCwgX3JlYWN0LmZvcndhcmRSZWYpKChwcm9wcywgZm9yd2FyZGVkUmVmKT0+e1xuICAgIGNvbnN0IHBhZ2VzUm91dGVyID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuUm91dGVyQ29udGV4dCk7XG4gICAgLy8gV2UncmUgaW4gdGhlIGFwcCBkaXJlY3RvcnkgaWYgdGhlcmUgaXMgbm8gcGFnZXMgcm91dGVyLlxuICAgIGNvbnN0IGlzQXBwUm91dGVyID0gIXBhZ2VzUm91dGVyO1xuICAgIGNvbnN0IGNvbmZpZ0NvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9pbWFnZWNvbmZpZ2NvbnRleHRzaGFyZWRydW50aW1lLkltYWdlQ29uZmlnQ29udGV4dCk7XG4gICAgY29uc3QgY29uZmlnID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICBjb25zdCBjID0gY29uZmlnRW52IHx8IGNvbmZpZ0NvbnRleHQgfHwgX2ltYWdlY29uZmlnLmltYWdlQ29uZmlnRGVmYXVsdDtcbiAgICAgICAgY29uc3QgYWxsU2l6ZXMgPSBbXG4gICAgICAgICAgICAuLi5jLmRldmljZVNpemVzLFxuICAgICAgICAgICAgLi4uYy5pbWFnZVNpemVzXG4gICAgICAgIF0uc29ydCgoYSwgYik9PmEgLSBiKTtcbiAgICAgICAgY29uc3QgZGV2aWNlU2l6ZXMgPSBjLmRldmljZVNpemVzLnNvcnQoKGEsIGIpPT5hIC0gYik7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAuLi5jLFxuICAgICAgICAgICAgYWxsU2l6ZXMsXG4gICAgICAgICAgICBkZXZpY2VTaXplc1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgY29uZmlnQ29udGV4dFxuICAgIF0pO1xuICAgIGNvbnN0IHsgb25Mb2FkLCBvbkxvYWRpbmdDb21wbGV0ZSB9ID0gcHJvcHM7XG4gICAgY29uc3Qgb25Mb2FkUmVmID0gKDAsIF9yZWFjdC51c2VSZWYpKG9uTG9hZCk7XG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgIG9uTG9hZFJlZi5jdXJyZW50ID0gb25Mb2FkO1xuICAgIH0sIFtcbiAgICAgICAgb25Mb2FkXG4gICAgXSk7XG4gICAgY29uc3Qgb25Mb2FkaW5nQ29tcGxldGVSZWYgPSAoMCwgX3JlYWN0LnVzZVJlZikob25Mb2FkaW5nQ29tcGxldGUpO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZi5jdXJyZW50ID0gb25Mb2FkaW5nQ29tcGxldGU7XG4gICAgfSwgW1xuICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVxuICAgIF0pO1xuICAgIGNvbnN0IFtibHVyQ29tcGxldGUsIHNldEJsdXJDb21wbGV0ZV0gPSAoMCwgX3JlYWN0LnVzZVN0YXRlKShmYWxzZSk7XG4gICAgY29uc3QgW3Nob3dBbHRUZXh0LCBzZXRTaG93QWx0VGV4dF0gPSAoMCwgX3JlYWN0LnVzZVN0YXRlKShmYWxzZSk7XG4gICAgY29uc3QgeyBwcm9wczogaW1nQXR0cmlidXRlcywgbWV0YTogaW1nTWV0YSB9ID0gKDAsIF9nZXRpbWdwcm9wcy5nZXRJbWdQcm9wcykocHJvcHMsIHtcbiAgICAgICAgZGVmYXVsdExvYWRlcjogX2ltYWdlbG9hZGVyLmRlZmF1bHQsXG4gICAgICAgIGltZ0NvbmY6IGNvbmZpZyxcbiAgICAgICAgYmx1ckNvbXBsZXRlLFxuICAgICAgICBzaG93QWx0VGV4dFxuICAgIH0pO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShJbWFnZUVsZW1lbnQsIHtcbiAgICAgICAgICAgICAgICAuLi5pbWdBdHRyaWJ1dGVzLFxuICAgICAgICAgICAgICAgIHVub3B0aW1pemVkOiBpbWdNZXRhLnVub3B0aW1pemVkLFxuICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyOiBpbWdNZXRhLnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgICAgIGZpbGw6IGltZ01ldGEuZmlsbCxcbiAgICAgICAgICAgICAgICBvbkxvYWRSZWY6IG9uTG9hZFJlZixcbiAgICAgICAgICAgICAgICBvbkxvYWRpbmdDb21wbGV0ZVJlZjogb25Mb2FkaW5nQ29tcGxldGVSZWYsXG4gICAgICAgICAgICAgICAgc2V0Qmx1ckNvbXBsZXRlOiBzZXRCbHVyQ29tcGxldGUsXG4gICAgICAgICAgICAgICAgc2V0U2hvd0FsdFRleHQ6IHNldFNob3dBbHRUZXh0LFxuICAgICAgICAgICAgICAgIHJlZjogZm9yd2FyZGVkUmVmXG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGltZ01ldGEucHJpb3JpdHkgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEltYWdlUHJlbG9hZCwge1xuICAgICAgICAgICAgICAgIGlzQXBwUm91dGVyOiBpc0FwcFJvdXRlcixcbiAgICAgICAgICAgICAgICBpbWdBdHRyaWJ1dGVzOiBpbWdBdHRyaWJ1dGVzXG4gICAgICAgICAgICB9KSA6IG51bGxcbiAgICAgICAgXVxuICAgIH0pO1xufSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWNvbXBvbmVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiSW1hZ2UiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9yZWFjdGRvbSIsIl9oZWFkIiwiX2dldGltZ3Byb3BzIiwiX2ltYWdlY29uZmlnIiwiX2ltYWdlY29uZmlnY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfd2Fybm9uY2UiLCJfcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfaW1hZ2Vsb2FkZXIiLCJjb25maWdFbnYiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX0lNQUdFX09QVFMiLCJnbG9iYWxUaGlzIiwiX19ORVhUX0lNQUdFX0lNUE9SVEVEIiwiaGFuZGxlTG9hZGluZyIsImltZyIsInBsYWNlaG9sZGVyIiwib25Mb2FkUmVmIiwib25Mb2FkaW5nQ29tcGxldGVSZWYiLCJzZXRCbHVyQ29tcGxldGUiLCJ1bm9wdGltaXplZCIsInNyYyIsInAiLCJkZWNvZGUiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNhdGNoIiwidGhlbiIsInBhcmVudEVsZW1lbnQiLCJpc0Nvbm5lY3RlZCIsImN1cnJlbnQiLCJldmVudCIsIkV2ZW50Iiwid3JpdGFibGUiLCJwcmV2ZW50ZWQiLCJzdG9wcGVkIiwibmF0aXZlRXZlbnQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiaXNEZWZhdWx0UHJldmVudGVkIiwiaXNQcm9wYWdhdGlvblN0b3BwZWQiLCJwZXJzaXN0IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJvcmlnU3JjIiwiVVJMIiwic2VhcmNoUGFyYW1zIiwiZ2V0QXR0cmlidXRlIiwid2lkdGhWaWV3cG9ydFJhdGlvIiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0Iiwid2lkdGgiLCJ3aW5kb3ciLCJpbm5lcldpZHRoIiwid2Fybk9uY2UiLCJwb3NpdGlvbiIsImdldENvbXB1dGVkU3R5bGUiLCJ2YWxpZCIsImluY2x1ZGVzIiwibWFwIiwiU3RyaW5nIiwiam9pbiIsImhlaWdodCIsImhlaWdodE1vZGlmaWVkIiwidG9TdHJpbmciLCJ3aWR0aE1vZGlmaWVkIiwiZ2V0RHluYW1pY1Byb3BzIiwiZmV0Y2hQcmlvcml0eSIsIm1ham9yU3RyIiwibWlub3JTdHIiLCJ2ZXJzaW9uIiwic3BsaXQiLCJtYWpvciIsInBhcnNlSW50IiwibWlub3IiLCJmZXRjaHByaW9yaXR5IiwiSW1hZ2VFbGVtZW50IiwiZm9yd2FyZFJlZiIsInBhcmFtIiwiZm9yd2FyZGVkUmVmIiwic3JjU2V0Iiwic2l6ZXMiLCJkZWNvZGluZyIsImNsYXNzTmFtZSIsInN0eWxlIiwibG9hZGluZyIsImZpbGwiLCJzZXRTaG93QWx0VGV4dCIsIm9uTG9hZCIsIm9uRXJyb3IiLCJyZXN0IiwianN4IiwicmVmIiwidXNlQ2FsbGJhY2siLCJjb25zb2xlIiwiZXJyb3IiLCJjb21wbGV0ZSIsIkltYWdlUHJlbG9hZCIsImlzQXBwUm91dGVyIiwiaW1nQXR0cmlidXRlcyIsIm9wdHMiLCJhcyIsImltYWdlU3JjU2V0IiwiaW1hZ2VTaXplcyIsImNyb3NzT3JpZ2luIiwicmVmZXJyZXJQb2xpY3kiLCJkZWZhdWx0IiwicHJlbG9hZCIsImNoaWxkcmVuIiwicmVsIiwiaHJlZiIsInVuZGVmaW5lZCIsInByb3BzIiwicGFnZXNSb3V0ZXIiLCJ1c2VDb250ZXh0IiwiUm91dGVyQ29udGV4dCIsImNvbmZpZ0NvbnRleHQiLCJJbWFnZUNvbmZpZ0NvbnRleHQiLCJjb25maWciLCJ1c2VNZW1vIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImFsbFNpemVzIiwiZGV2aWNlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInVzZVJlZiIsInVzZUVmZmVjdCIsImJsdXJDb21wbGV0ZSIsInVzZVN0YXRlIiwic2hvd0FsdFRleHQiLCJtZXRhIiwiaW1nTWV0YSIsImdldEltZ1Byb3BzIiwiZGVmYXVsdExvYWRlciIsImltZ0NvbmYiLCJqc3hzIiwiRnJhZ21lbnQiLCJwcmlvcml0eSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/image-component.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/link.js": /*!***********************************************!*\ !*** ./node_modules/next/dist/client/link.js ***! \***********************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _resolvehref = __webpack_require__(/*! ./resolve-href */ \"(ssr)/./node_modules/next/dist/client/resolve-href.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(ssr)/./node_modules/next/dist/client/add-locale.js\");\nconst _routercontextsharedruntime = __webpack_require__(/*! ../shared/lib/router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _useintersection = __webpack_require__(/*! ./use-intersection */ \"(ssr)/./node_modules/next/dist/client/use-intersection.js\");\nconst _getdomainlocale = __webpack_require__(/*! ./get-domain-locale */ \"(ssr)/./node_modules/next/dist/client/get-domain-locale.js\");\nconst _addbasepath = __webpack_require__(/*! ./add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst prefetched = new Set();\nfunction prefetch(router, href, as, options, appOptions, isAppRouter) {\n if (true) {\n return;\n }\n // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n if (!isAppRouter && !(0, _islocalurl.isLocalURL)(href)) {\n return;\n }\n // We should only dedupe requests when experimental.optimisticClientCache is\n // disabled.\n if (!options.bypassPrefetchedCheck) {\n const locale = typeof options.locale !== \"undefined\" ? options.locale : \"locale\" in router ? router.locale : undefined;\n const prefetchedKey = href + \"%\" + as + \"%\" + locale;\n // If we've already fetched the key, then don't prefetch it again!\n if (prefetched.has(prefetchedKey)) {\n return;\n }\n // Mark this URL as prefetched.\n prefetched.add(prefetchedKey);\n }\n const prefetchPromise = isAppRouter ? router.prefetch(href, appOptions) : router.prefetch(href, as, options);\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(prefetchPromise).catch((err)=>{\n if (true) {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n}\nfunction isModifiedEvent(event) {\n const eventTarget = event.currentTarget;\n const target = eventTarget.getAttribute(\"target\");\n return target && target !== \"_self\" || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || // triggers resource download\n event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === \"A\";\n if (isAnchorNodeName && (isModifiedEvent(e) || // app-router supports external urls out of the box so it shouldn't short-circuit here as support for e.g. `replace` is added in the app-router.\n !isAppRouter && !(0, _islocalurl.isLocalURL)(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n const routerScroll = scroll != null ? scroll : true;\n if (\"beforePopState\" in router) {\n router[replace ? \"replace\" : \"push\"](href, as, {\n shallow,\n locale,\n scroll: routerScroll\n });\n } else {\n router[replace ? \"replace\" : \"push\"](as || href, {\n scroll: routerScroll\n });\n }\n };\n if (isAppRouter) {\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nfunction formatStringOrUrl(urlObjOrString) {\n if (typeof urlObjOrString === \"string\") {\n return urlObjOrString;\n }\n return (0, _formaturl.formatUrl)(urlObjOrString);\n}\n/**\n * React Component that enables client-side transitions between routes.\n */ const Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n let children;\n const { href: hrefProp, as: asProp, children: childrenProp, prefetch: prefetchProp = null, passHref, replace, shallow, scroll, locale, onClick, onMouseEnter: onMouseEnterProp, onTouchStart: onTouchStartProp, legacyBehavior = false, ...restProps } = props;\n children = childrenProp;\n if (legacyBehavior && (typeof children === \"string\" || typeof children === \"number\")) {\n children = /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n children: children\n });\n }\n const pagesRouter = _react.default.useContext(_routercontextsharedruntime.RouterContext);\n const appRouter = _react.default.useContext(_approutercontextsharedruntime.AppRouterContext);\n const router = pagesRouter != null ? pagesRouter : appRouter;\n // We're in the app directory if there is no pages router.\n const isAppRouter = !pagesRouter;\n const prefetchEnabled = prefetchProp !== false;\n /**\n * The possible states for prefetch are:\n * - null: this is the default \"auto\" mode, where we will prefetch partially if the link is in the viewport\n * - true: we will prefetch if the link is visible and prefetch the full page, not just partially\n * - false: we will not prefetch if in the viewport at all\n */ const appPrefetchKind = prefetchProp === null ? _routerreducertypes.PrefetchKind.AUTO : _routerreducertypes.PrefetchKind.FULL;\n if (true) {\n function createPropError(args) {\n return new Error(\"Failed prop type: The prop `\" + args.key + \"` expects a \" + args.expected + \" in `<Link>`, but got `\" + args.actual + \"` instead.\" + ( false ? 0 : \"\"));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === \"href\") {\n if (props[key] == null || typeof props[key] !== \"string\" && typeof props[key] !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: props[key] === null ? \"null\" : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === \"as\") {\n if (props[key] && valType !== \"string\" && valType !== \"object\") {\n throw createPropError({\n key,\n expected: \"`string` or `object`\",\n actual: valType\n });\n }\n } else if (key === \"locale\") {\n if (props[key] && valType !== \"string\") {\n throw createPropError({\n key,\n expected: \"`string`\",\n actual: valType\n });\n }\n } else if (key === \"onClick\" || key === \"onMouseEnter\" || key === \"onTouchStart\") {\n if (props[key] && valType !== \"function\") {\n throw createPropError({\n key,\n expected: \"`function`\",\n actual: valType\n });\n }\n } else if (key === \"replace\" || key === \"scroll\" || key === \"shallow\" || key === \"passHref\" || key === \"prefetch\" || key === \"legacyBehavior\") {\n if (props[key] != null && valType !== \"boolean\") {\n throw createPropError({\n key,\n expected: \"`boolean`\",\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current && !isAppRouter) {\n hasWarned.current = true;\n console.warn(\"Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated\");\n }\n }\n if (true) {\n if (isAppRouter && !asProp) {\n let href;\n if (typeof hrefProp === \"string\") {\n href = hrefProp;\n } else if (typeof hrefProp === \"object\" && typeof hrefProp.pathname === \"string\") {\n href = hrefProp.pathname;\n }\n if (href) {\n const hasDynamicSegment = href.split(\"/\").some((segment)=>segment.startsWith(\"[\") && segment.endsWith(\"]\"));\n if (hasDynamicSegment) {\n throw new Error(\"Dynamic href `\" + href + \"` found in <Link> while using the `/app` router, this is not supported. Read more: https://nextjs.org/docs/messages/app-dir-dynamic-href\");\n }\n }\n }\n }\n const { href, as } = _react.default.useMemo(()=>{\n if (!pagesRouter) {\n const resolvedHref = formatStringOrUrl(hrefProp);\n return {\n href: resolvedHref,\n as: asProp ? formatStringOrUrl(asProp) : resolvedHref\n };\n }\n const [resolvedHref, resolvedAs] = (0, _resolvehref.resolveHref)(pagesRouter, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _resolvehref.resolveHref)(pagesRouter, asProp) : resolvedAs || resolvedHref\n };\n }, [\n pagesRouter,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (true) {\n if (onClick) {\n console.warn('\"onClick\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link');\n }\n if (onMouseEnterProp) {\n console.warn('\"onMouseEnter\" was passed to <Link> with `href` of `' + hrefProp + '` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link');\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(\"No children were passed to <Link> with `href` of `\" + hrefProp + \"` but one child is required https://nextjs.org/docs/messages/link-no-children\");\n }\n throw new Error(\"Multiple children were passed to <Link> with `href` of `\" + hrefProp + \"` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children\" + ( false ? 0 : \"\"));\n }\n } else {}\n } else {\n if (true) {\n if ((children == null ? void 0 : children.type) === \"a\") {\n throw new Error(\"Invalid <Link> with <a> child. Please remove <a> or use <Link legacyBehavior>.\\nLearn more: https://nextjs.org/docs/messages/invalid-new-link-with-extra-anchor\");\n }\n }\n }\n const childRef = legacyBehavior ? child && typeof child === \"object\" && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useintersection.useIntersection)({\n rootMargin: \"200px\"\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === \"function\") childRef(el);\n else if (typeof childRef === \"object\") {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n // Prefetch the URL if we haven't already and it's visible.\n _react.default.useEffect(()=>{\n // in dev, we only prefetch on hover to avoid wasting resources as the prefetch will trigger compiling the page.\n if (true) {\n return;\n }\n if (!router) {\n return;\n }\n // If we don't need to prefetch the URL, don't do prefetch.\n if (!isVisible || !prefetchEnabled) {\n return;\n }\n // Prefetch the URL.\n prefetch(router, href, as, {\n locale\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }, [\n as,\n href,\n isVisible,\n locale,\n prefetchEnabled,\n pagesRouter == null ? void 0 : pagesRouter.locale,\n router,\n isAppRouter,\n appPrefetchKind\n ]);\n const childProps = {\n ref: setRef,\n onClick (e) {\n if (true) {\n if (!e) {\n throw new Error('Component rendered inside next/link has to pass click event to \"onClick\" prop.');\n }\n }\n if (!legacyBehavior && typeof onClick === \"function\") {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === \"function\") {\n child.props.onClick(e);\n }\n if (!router) {\n return;\n }\n if (e.defaultPrevented) {\n return;\n }\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter);\n },\n onMouseEnter (e) {\n if (!legacyBehavior && typeof onMouseEnterProp === \"function\") {\n onMouseEnterProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === \"function\") {\n child.props.onMouseEnter(e);\n }\n if (!router) {\n return;\n }\n if ((!prefetchEnabled || \"development\" === \"development\") && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n },\n onTouchStart (e) {\n if (!legacyBehavior && typeof onTouchStartProp === \"function\") {\n onTouchStartProp(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === \"function\") {\n child.props.onTouchStart(e);\n }\n if (!router) {\n return;\n }\n if (!prefetchEnabled && isAppRouter) {\n return;\n }\n prefetch(router, href, as, {\n locale,\n priority: true,\n // @see {https://github.com/vercel/next.js/discussions/40268?sort=top#discussioncomment-3572642}\n bypassPrefetchedCheck: true\n }, {\n kind: appPrefetchKind\n }, isAppRouter);\n }\n };\n // If child is an <a> tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user.\n // If the url is absolute, we can bypass the logic to prepend the domain and locale.\n if ((0, _utils.isAbsoluteUrl)(as)) {\n childProps.href = as;\n } else if (!legacyBehavior || passHref || child.type === \"a\" && !(\"href\" in child.props)) {\n const curLocale = typeof locale !== \"undefined\" ? locale : pagesRouter == null ? void 0 : pagesRouter.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = (pagesRouter == null ? void 0 : pagesRouter.isLocaleDomain) && (0, _getdomainlocale.getDomainLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.locales, pagesRouter == null ? void 0 : pagesRouter.domainLocales);\n childProps.href = localeDomain || (0, _addbasepath.addBasePath)((0, _addlocale.addLocale)(as, curLocale, pagesRouter == null ? void 0 : pagesRouter.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ (0, _jsxruntime.jsx)(\"a\", {\n ...restProps,\n ...childProps,\n children: children\n });\n});\nconst _default = Link;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksZUFBZUosbUJBQU9BLENBQUMsNkVBQWdCO0FBQzdDLE1BQU1LLGNBQWNMLG1CQUFPQSxDQUFDLHVIQUF5QztBQUNyRSxNQUFNTSxhQUFhTixtQkFBT0EsQ0FBQyxtSEFBdUM7QUFDbEUsTUFBTU8sU0FBU1AsbUJBQU9BLENBQUMsK0VBQXFCO0FBQzVDLE1BQU1RLGFBQWFSLG1CQUFPQSxDQUFDLHlFQUFjO0FBQ3pDLE1BQU1TLDhCQUE4QlQsbUJBQU9BLENBQUMsNEpBQTZDO0FBQ3pGLE1BQU1VLGlDQUFpQ1YsbUJBQU9BLENBQUMsb0tBQWlEO0FBQ2hHLE1BQU1XLG1CQUFtQlgsbUJBQU9BLENBQUMscUZBQW9CO0FBQ3JELE1BQU1ZLG1CQUFtQlosbUJBQU9BLENBQUMsdUZBQXFCO0FBQ3RELE1BQU1hLGVBQWViLG1CQUFPQSxDQUFDLCtFQUFpQjtBQUM5QyxNQUFNYyxzQkFBc0JkLG1CQUFPQSxDQUFDLGlKQUFrRDtBQUN0RixNQUFNZSxhQUFhLElBQUlDO0FBQ3ZCLFNBQVNDLFNBQVNDLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxFQUFFLEVBQUVDLE9BQU8sRUFBRUMsVUFBVSxFQUFFQyxXQUFXO0lBQ2hFLElBQUksSUFBNkIsRUFBRTtRQUMvQjtJQUNKO0lBQ0EsZ0pBQWdKO0lBQ2hK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LGNBQWM7UUFBRWpFLE9BQU87SUFBSztJQUNuRUgsT0FBT29LLE1BQU0sQ0FBQ2xLLFFBQVFrRSxPQUFPLEVBQUVsRTtJQUMvQm1LLE9BQU9uSyxPQUFPLEdBQUdBLFFBQVFrRSxPQUFPO0FBQ2xDLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2xpbmsuanM/ZTRmOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9yZXNvbHZlaHJlZiA9IHJlcXVpcmUoXCIuL3Jlc29sdmUtaHJlZlwiKTtcbmNvbnN0IF9pc2xvY2FsdXJsID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybFwiKTtcbmNvbnN0IF9mb3JtYXR1cmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3V0aWxzXCIpO1xuY29uc3QgX2FkZGxvY2FsZSA9IHJlcXVpcmUoXCIuL2FkZC1sb2NhbGVcIik7XG5jb25zdCBfcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF91c2VpbnRlcnNlY3Rpb24gPSByZXF1aXJlKFwiLi91c2UtaW50ZXJzZWN0aW9uXCIpO1xuY29uc3QgX2dldGRvbWFpbmxvY2FsZSA9IHJlcXVpcmUoXCIuL2dldC1kb21haW4tbG9jYWxlXCIpO1xuY29uc3QgX2FkZGJhc2VwYXRoID0gcmVxdWlyZShcIi4vYWRkLWJhc2UtcGF0aFwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi9jb21wb25lbnRzL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyLXR5cGVzXCIpO1xuY29uc3QgcHJlZmV0Y2hlZCA9IG5ldyBTZXQoKTtcbmZ1bmN0aW9uIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIG9wdGlvbnMsIGFwcE9wdGlvbnMsIGlzQXBwUm91dGVyKSB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBhcHAtcm91dGVyIHN1cHBvcnRzIGV4dGVybmFsIHVybHMgb3V0IG9mIHRoZSBib3ggc28gaXQgc2hvdWxkbid0IHNob3J0LWNpcmN1aXQgaGVyZSBhcyBzdXBwb3J0IGZvciBlLmcuIGByZXBsYWNlYCBpcyBhZGRlZCBpbiB0aGUgYXBwLXJvdXRlci5cbiAgICBpZiAoIWlzQXBwUm91dGVyICYmICEoMCwgX2lzbG9jYWx1cmwuaXNMb2NhbFVSTCkoaHJlZikpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBXZSBzaG91bGQgb25seSBkZWR1cGUgcmVxdWVzdHMgd2hlbiBleHBlcmltZW50YWwub3B0aW1pc3RpY0NsaWVudENhY2hlIGlzXG4gICAgLy8gZGlzYWJsZWQuXG4gICAgaWYgKCFvcHRpb25zLmJ5cGFzc1ByZWZldGNoZWRDaGVjaykge1xuICAgICAgICBjb25zdCBsb2NhbGUgPSAvLyBMZXQgdGhlIGxpbmsncyBsb2NhbGUgcHJvcCBvdmVycmlkZSB0aGUgZGVmYXVsdCByb3V0ZXIgbG9jYWxlLlxuICAgICAgICB0eXBlb2Ygb3B0aW9ucy5sb2NhbGUgIT09IFwidW5kZWZpbmVkXCIgPyBvcHRpb25zLmxvY2FsZSA6IFwibG9jYWxlXCIgaW4gcm91dGVyID8gcm91dGVyLmxvY2FsZSA6IHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgcHJlZmV0Y2hlZEtleSA9IGhyZWYgKyBcIiVcIiArIGFzICsgXCIlXCIgKyBsb2NhbGU7XG4gICAgICAgIC8vIElmIHdlJ3ZlIGFscmVhZHkgZmV0Y2hlZCB0aGUga2V5LCB0aGVuIGRvbid0IHByZWZldGNoIGl0IGFnYWluIVxuICAgICAgICBpZiAocHJlZmV0Y2hlZC5oYXMocHJlZmV0Y2hlZEtleSkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBNYXJrIHRoaXMgVVJMIGFzIHByZWZldGNoZWQuXG4gICAgICAgIHByZWZldGNoZWQuYWRkKHByZWZldGNoZWRLZXkpO1xuICAgIH1cbiAgICBjb25zdCBwcmVmZXRjaFByb21pc2UgPSBpc0FwcFJvdXRlciA/IHJvdXRlci5wcmVmZXRjaChocmVmLCBhcHBPcHRpb25zKSA6IHJvdXRlci5wcmVmZXRjaChocmVmLCBhcywgb3B0aW9ucyk7XG4gICAgLy8gUHJlZmV0Y2ggdGhlIEpTT04gcGFnZSBpZiBhc2tlZCAob25seSBpbiB0aGUgY2xpZW50KVxuICAgIC8vIFdlIG5lZWQgdG8gaGFuZGxlIGEgcHJlZmV0Y2ggZXJyb3IgaGVyZSBzaW5jZSB3ZSBtYXkgYmVcbiAgICAvLyBsb2FkaW5nIHdpdGggcHJpb3JpdHkgd2hpY2ggY2FuIHJlamVjdCBidXQgd2UgZG9uJ3RcbiAgICAvLyB3YW50IHRvIGZvcmNlIG5hdmlnYXRpb24gc2luY2UgdGhpcyBpcyBvbmx5IGEgcHJlZmV0Y2hcbiAgICBQcm9taXNlLnJlc29sdmUocHJlZmV0Y2hQcm9taXNlKS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICAvLyByZXRocm93IHRvIHNob3cgaW52YWxpZCBVUkwgZXJyb3JzXG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGlzTW9kaWZpZWRFdmVudChldmVudCkge1xuICAgIGNvbnN0IGV2ZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldDtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudFRhcmdldC5nZXRBdHRyaWJ1dGUoXCJ0YXJnZXRcIik7XG4gICAgcmV0dXJuIHRhcmdldCAmJiB0YXJnZXQgIT09IFwiX3NlbGZcIiB8fCBldmVudC5tZXRhS2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IC8vIHRyaWdnZXJzIHJlc291cmNlIGRvd25sb2FkXG4gICAgZXZlbnQubmF0aXZlRXZlbnQgJiYgZXZlbnQubmF0aXZlRXZlbnQud2hpY2ggPT09IDI7XG59XG5mdW5jdGlvbiBsaW5rQ2xpY2tlZChlLCByb3V0ZXIsIGhyZWYsIGFzLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwsIGxvY2FsZSwgaXNBcHBSb3V0ZXIpIHtcbiAgICBjb25zdCB7IG5vZGVOYW1lIH0gPSBlLmN1cnJlbnRUYXJnZXQ7XG4gICAgLy8gYW5jaG9ycyBpbnNpZGUgYW4gc3ZnIGhhdmUgYSBsb3dlcmNhc2Ugbm9kZU5hbWVcbiAgICBjb25zdCBpc0FuY2hvck5vZGVOYW1lID0gbm9kZU5hbWUudG9VcHBlckNhc2UoKSA9PT0gXCJBXCI7XG4gICAgaWYgKGlzQW5jaG9yTm9kZU5hbWUgJiYgKGlzTW9kaWZpZWRFdmVudChlKSB8fCAvLyBhcHAtcm91dGVyIHN1cHBvcnRzIGV4dGVybmFsIHVybHMgb3V0IG9mIHRoZSBib3ggc28gaXQgc2hvdWxkbid0IHNob3J0LWNpcmN1aXQgaGVyZSBhcyBzdXBwb3J0IGZvciBlLmcuIGByZXBsYWNlYCBpcyBhZGRlZCBpbiB0aGUgYXBwLXJvdXRlci5cbiAgICAhaXNBcHBSb3V0ZXIgJiYgISgwLCBfaXNsb2NhbHVybC5pc0xvY2FsVVJMKShocmVmKSkpIHtcbiAgICAgICAgLy8gaWdub3JlIGNsaWNrIGZvciBicm93c2Vy4oCZcyBkZWZhdWx0IGJlaGF2aW9yXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGNvbnN0IG5hdmlnYXRlID0gKCk9PntcbiAgICAgICAgLy8gSWYgdGhlIHJvdXRlciBpcyBhbiBOZXh0Um91dGVyIGluc3RhbmNlIGl0IHdpbGwgaGF2ZSBgYmVmb3JlUG9wU3RhdGVgXG4gICAgICAgIGNvbnN0IHJvdXRlclNjcm9sbCA9IHNjcm9sbCAhPSBudWxsID8gc2Nyb2xsIDogdHJ1ZTtcbiAgICAgICAgaWYgKFwiYmVmb3JlUG9wU3RhdGVcIiBpbiByb3V0ZXIpIHtcbiAgICAgICAgICAgIHJvdXRlcltyZXBsYWNlID8gXCJyZXBsYWNlXCIgOiBcInB1c2hcIl0oaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICBzaGFsbG93LFxuICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBzY3JvbGw6IHJvdXRlclNjcm9sbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByb3V0ZXJbcmVwbGFjZSA/IFwicmVwbGFjZVwiIDogXCJwdXNoXCJdKGFzIHx8IGhyZWYsIHtcbiAgICAgICAgICAgICAgICBzY3JvbGw6IHJvdXRlclNjcm9sbFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIGlmIChpc0FwcFJvdXRlcikge1xuICAgICAgICBfcmVhY3QuZGVmYXVsdC5zdGFydFRyYW5zaXRpb24obmF2aWdhdGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG5hdmlnYXRlKCk7XG4gICAgfVxufVxuZnVuY3Rpb24gZm9ybWF0U3RyaW5nT3JVcmwodXJsT2JqT3JTdHJpbmcpIHtcbiAgICBpZiAodHlwZW9mIHVybE9iak9yU3RyaW5nID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiB1cmxPYmpPclN0cmluZztcbiAgICB9XG4gICAgcmV0dXJuICgwLCBfZm9ybWF0dXJsLmZvcm1hdFVybCkodXJsT2JqT3JTdHJpbmcpO1xufVxuLyoqXG4gKiBSZWFjdCBDb21wb25lbnQgdGhhdCBlbmFibGVzIGNsaWVudC1zaWRlIHRyYW5zaXRpb25zIGJldHdlZW4gcm91dGVzLlxuICovIGNvbnN0IExpbmsgPSAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmZvcndhcmRSZWYoZnVuY3Rpb24gTGlua0NvbXBvbmVudChwcm9wcywgZm9yd2FyZGVkUmVmKSB7XG4gICAgbGV0IGNoaWxkcmVuO1xuICAgIGNvbnN0IHsgaHJlZjogaHJlZlByb3AsIGFzOiBhc1Byb3AsIGNoaWxkcmVuOiBjaGlsZHJlblByb3AsIHByZWZldGNoOiBwcmVmZXRjaFByb3AgPSBudWxsLCBwYXNzSHJlZiwgcmVwbGFjZSwgc2hhbGxvdywgc2Nyb2xsLCBsb2NhbGUsIG9uQ2xpY2ssIG9uTW91c2VFbnRlcjogb25Nb3VzZUVudGVyUHJvcCwgb25Ub3VjaFN0YXJ0OiBvblRvdWNoU3RhcnRQcm9wLCBsZWdhY3lCZWhhdmlvciA9IGZhbHNlLCAuLi5yZXN0UHJvcHMgfSA9IHByb3BzO1xuICAgIGNoaWxkcmVuID0gY2hpbGRyZW5Qcm9wO1xuICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiAodHlwZW9mIGNoaWxkcmVuID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBjaGlsZHJlbiA9PT0gXCJudW1iZXJcIikpIHtcbiAgICAgICAgY2hpbGRyZW4gPSAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYVwiLCB7XG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGNvbnN0IHBhZ2VzUm91dGVyID0gX3JlYWN0LmRlZmF1bHQudXNlQ29udGV4dChfcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuUm91dGVyQ29udGV4dCk7XG4gICAgY29uc3QgYXBwUm91dGVyID0gX3JlYWN0LmRlZmF1bHQudXNlQ29udGV4dChfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuQXBwUm91dGVyQ29udGV4dCk7XG4gICAgY29uc3Qgcm91dGVyID0gcGFnZXNSb3V0ZXIgIT0gbnVsbCA/IHBhZ2VzUm91dGVyIDogYXBwUm91dGVyO1xuICAgIC8vIFdlJ3JlIGluIHRoZSBhcHAgZGlyZWN0b3J5IGlmIHRoZXJlIGlzIG5vIHBhZ2VzIHJvdXRlci5cbiAgICBjb25zdCBpc0FwcFJvdXRlciA9ICFwYWdlc1JvdXRlcjtcbiAgICBjb25zdCBwcmVmZXRjaEVuYWJsZWQgPSBwcmVmZXRjaFByb3AgIT09IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFRoZSBwb3NzaWJsZSBzdGF0ZXMgZm9yIHByZWZldGNoIGFyZTpcbiAgICAgKiAtIG51bGw6IHRoaXMgaXMgdGhlIGRlZmF1bHQgXCJhdXRvXCIgbW9kZSwgd2hlcmUgd2Ugd2lsbCBwcmVmZXRjaCBwYXJ0aWFsbHkgaWYgdGhlIGxpbmsgaXMgaW4gdGhlIHZpZXdwb3J0XG4gICAgICogLSB0cnVlOiB3ZSB3aWxsIHByZWZldGNoIGlmIHRoZSBsaW5rIGlzIHZpc2libGUgYW5kIHByZWZldGNoIHRoZSBmdWxsIHBhZ2UsIG5vdCBqdXN0IHBhcnRpYWxseVxuICAgICAqIC0gZmFsc2U6IHdlIHdpbGwgbm90IHByZWZldGNoIGlmIGluIHRoZSB2aWV3cG9ydCBhdCBhbGxcbiAgICAgKi8gY29uc3QgYXBwUHJlZmV0Y2hLaW5kID0gcHJlZmV0Y2hQcm9wID09PSBudWxsID8gX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuQVVUTyA6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuUHJlZmV0Y2hLaW5kLkZVTEw7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBmdW5jdGlvbiBjcmVhdGVQcm9wRXJyb3IoYXJncykge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcihcIkZhaWxlZCBwcm9wIHR5cGU6IFRoZSBwcm9wIGBcIiArIGFyZ3Mua2V5ICsgXCJgIGV4cGVjdHMgYSBcIiArIGFyZ3MuZXhwZWN0ZWQgKyBcIiBpbiBgPExpbms+YCwgYnV0IGdvdCBgXCIgKyBhcmdzLmFjdHVhbCArIFwiYCBpbnN0ZWFkLlwiICsgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgPyBcIlxcbk9wZW4geW91ciBicm93c2VyJ3MgY29uc29sZSB0byB2aWV3IHRoZSBDb21wb25lbnQgc3RhY2sgdHJhY2UuXCIgOiBcIlwiKSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgY29uc3QgcmVxdWlyZWRQcm9wc0d1YXJkID0ge1xuICAgICAgICAgICAgaHJlZjogdHJ1ZVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXF1aXJlZFByb3BzID0gT2JqZWN0LmtleXMocmVxdWlyZWRQcm9wc0d1YXJkKTtcbiAgICAgICAgcmVxdWlyZWRQcm9wcy5mb3JFYWNoKChrZXkpPT57XG4gICAgICAgICAgICBpZiAoa2V5ID09PSBcImhyZWZcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldID09IG51bGwgfHwgdHlwZW9mIHByb3BzW2tleV0gIT09IFwic3RyaW5nXCIgJiYgdHlwZW9mIHByb3BzW2tleV0gIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBcImBzdHJpbmdgIG9yIGBvYmplY3RgXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHByb3BzW2tleV0gPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiBwcm9wc1trZXldXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgICAgICAgY29uc3QgXyA9IGtleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgIGNvbnN0IG9wdGlvbmFsUHJvcHNHdWFyZCA9IHtcbiAgICAgICAgICAgIGFzOiB0cnVlLFxuICAgICAgICAgICAgcmVwbGFjZTogdHJ1ZSxcbiAgICAgICAgICAgIHNjcm9sbDogdHJ1ZSxcbiAgICAgICAgICAgIHNoYWxsb3c6IHRydWUsXG4gICAgICAgICAgICBwYXNzSHJlZjogdHJ1ZSxcbiAgICAgICAgICAgIHByZWZldGNoOiB0cnVlLFxuICAgICAgICAgICAgbG9jYWxlOiB0cnVlLFxuICAgICAgICAgICAgb25DbGljazogdHJ1ZSxcbiAgICAgICAgICAgIG9uTW91c2VFbnRlcjogdHJ1ZSxcbiAgICAgICAgICAgIG9uVG91Y2hTdGFydDogdHJ1ZSxcbiAgICAgICAgICAgIGxlZ2FjeUJlaGF2aW9yOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG9wdGlvbmFsUHJvcHMgPSBPYmplY3Qua2V5cyhvcHRpb25hbFByb3BzR3VhcmQpO1xuICAgICAgICBvcHRpb25hbFByb3BzLmZvckVhY2goKGtleSk9PntcbiAgICAgICAgICAgIGNvbnN0IHZhbFR5cGUgPSB0eXBlb2YgcHJvcHNba2V5XTtcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiYXNcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09IFwic3RyaW5nXCIgJiYgdmFsVHlwZSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYHN0cmluZ2Agb3IgYG9iamVjdGBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJsb2NhbGVcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBcImBzdHJpbmdgXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3R1YWw6IHZhbFR5cGVcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChrZXkgPT09IFwib25DbGlja1wiIHx8IGtleSA9PT0gXCJvbk1vdXNlRW50ZXJcIiB8fCBrZXkgPT09IFwib25Ub3VjaFN0YXJ0XCIpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAmJiB2YWxUeXBlICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBcImBmdW5jdGlvbmBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJyZXBsYWNlXCIgfHwga2V5ID09PSBcInNjcm9sbFwiIHx8IGtleSA9PT0gXCJzaGFsbG93XCIgfHwga2V5ID09PSBcInBhc3NIcmVmXCIgfHwga2V5ID09PSBcInByZWZldGNoXCIgfHwga2V5ID09PSBcImxlZ2FjeUJlaGF2aW9yXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJvcHNba2V5XSAhPSBudWxsICYmIHZhbFR5cGUgIT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJgYm9vbGVhbmBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIC8vIFR5cGVTY3JpcHQgdHJpY2sgZm9yIHR5cGUtZ3VhcmRpbmc6XG4gICAgICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgIGNvbnN0IF8gPSBrZXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAvLyBUaGlzIGhvb2sgaXMgaW4gYSBjb25kaXRpb25hbCBidXQgdGhhdCBpcyBvayBiZWNhdXNlIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgbmV2ZXIgY2hhbmdlc1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgY29uc3QgaGFzV2FybmVkID0gX3JlYWN0LmRlZmF1bHQudXNlUmVmKGZhbHNlKTtcbiAgICAgICAgaWYgKHByb3BzLnByZWZldGNoICYmICFoYXNXYXJuZWQuY3VycmVudCAmJiAhaXNBcHBSb3V0ZXIpIHtcbiAgICAgICAgICAgIGhhc1dhcm5lZC5jdXJyZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIk5leHQuanMgYXV0by1wcmVmZXRjaGVzIGF1dG9tYXRpY2FsbHkgYmFzZWQgb24gdmlld3BvcnQuIFRoZSBwcmVmZXRjaCBhdHRyaWJ1dGUgaXMgbm8gbG9uZ2VyIG5lZWRlZC4gTW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHJlZmV0Y2gtdHJ1ZS1kZXByZWNhdGVkXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKGlzQXBwUm91dGVyICYmICFhc1Byb3ApIHtcbiAgICAgICAgICAgIGxldCBocmVmO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBocmVmUHJvcCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIGhyZWYgPSBocmVmUHJvcDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGhyZWZQcm9wID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBocmVmUHJvcC5wYXRobmFtZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgIGhyZWYgPSBocmVmUHJvcC5wYXRobmFtZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChocmVmKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRHluYW1pY1NlZ21lbnQgPSBocmVmLnNwbGl0KFwiL1wiKS5zb21lKChzZWdtZW50KT0+c2VnbWVudC5zdGFydHNXaXRoKFwiW1wiKSAmJiBzZWdtZW50LmVuZHNXaXRoKFwiXVwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc0R5bmFtaWNTZWdtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkR5bmFtaWMgaHJlZiBgXCIgKyBocmVmICsgXCJgIGZvdW5kIGluIDxMaW5rPiB3aGlsZSB1c2luZyB0aGUgYC9hcHBgIHJvdXRlciwgdGhpcyBpcyBub3Qgc3VwcG9ydGVkLiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2FwcC1kaXItZHluYW1pYy1ocmVmXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCB7IGhyZWYsIGFzIH0gPSBfcmVhY3QuZGVmYXVsdC51c2VNZW1vKCgpPT57XG4gICAgICAgIGlmICghcGFnZXNSb3V0ZXIpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdmVkSHJlZiA9IGZvcm1hdFN0cmluZ09yVXJsKGhyZWZQcm9wKTtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgaHJlZjogcmVzb2x2ZWRIcmVmLFxuICAgICAgICAgICAgICAgIGFzOiBhc1Byb3AgPyBmb3JtYXRTdHJpbmdPclVybChhc1Byb3ApIDogcmVzb2x2ZWRIcmVmXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtyZXNvbHZlZEhyZWYsIHJlc29sdmVkQXNdID0gKDAsIF9yZXNvbHZlaHJlZi5yZXNvbHZlSHJlZikocGFnZXNSb3V0ZXIsIGhyZWZQcm9wLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhyZWY6IHJlc29sdmVkSHJlZixcbiAgICAgICAgICAgIGFzOiBhc1Byb3AgPyAoMCwgX3Jlc29sdmVocmVmLnJlc29sdmVIcmVmKShwYWdlc1JvdXRlciwgYXNQcm9wKSA6IHJlc29sdmVkQXMgfHwgcmVzb2x2ZWRIcmVmXG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBwYWdlc1JvdXRlcixcbiAgICAgICAgaHJlZlByb3AsXG4gICAgICAgIGFzUHJvcFxuICAgIF0pO1xuICAgIGNvbnN0IHByZXZpb3VzSHJlZiA9IF9yZWFjdC5kZWZhdWx0LnVzZVJlZihocmVmKTtcbiAgICBjb25zdCBwcmV2aW91c0FzID0gX3JlYWN0LmRlZmF1bHQudXNlUmVmKGFzKTtcbiAgICAvLyBUaGlzIHdpbGwgcmV0dXJuIHRoZSBmaXJzdCBjaGlsZCwgaWYgbXVsdGlwbGUgYXJlIHByb3ZpZGVkIGl0IHdpbGwgdGhyb3cgYW4gZXJyb3JcbiAgICBsZXQgY2hpbGQ7XG4gICAgaWYgKGxlZ2FjeUJlaGF2aW9yKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICBpZiAob25DbGljaykge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignXCJvbkNsaWNrXCIgd2FzIHBhc3NlZCB0byA8TGluaz4gd2l0aCBgaHJlZmAgb2YgYCcgKyBocmVmUHJvcCArICdgIGJ1dCBcImxlZ2FjeUJlaGF2aW9yXCIgd2FzIHNldC4gVGhlIGxlZ2FjeSBiZWhhdmlvciByZXF1aXJlcyBvbkNsaWNrIGJlIHNldCBvbiB0aGUgY2hpbGQgb2YgbmV4dC9saW5rJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAob25Nb3VzZUVudGVyUHJvcCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybignXCJvbk1vdXNlRW50ZXJcIiB3YXMgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgJyArIGhyZWZQcm9wICsgJ2AgYnV0IFwibGVnYWN5QmVoYXZpb3JcIiB3YXMgc2V0LiBUaGUgbGVnYWN5IGJlaGF2aW9yIHJlcXVpcmVzIG9uTW91c2VFbnRlciBiZSBzZXQgb24gdGhlIGNoaWxkIG9mIG5leHQvbGluaycpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjaGlsZCA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjaGlsZHJlbikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJObyBjaGlsZHJlbiB3ZXJlIHBhc3NlZCB0byA8TGluaz4gd2l0aCBgaHJlZmAgb2YgYFwiICsgaHJlZlByb3AgKyBcImAgYnV0IG9uZSBjaGlsZCBpcyByZXF1aXJlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW5vLWNoaWxkcmVuXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJNdWx0aXBsZSBjaGlsZHJlbiB3ZXJlIHBhc3NlZCB0byA8TGluaz4gd2l0aCBgaHJlZmAgb2YgYFwiICsgaHJlZlByb3AgKyBcImAgYnV0IG9ubHkgb25lIGNoaWxkIGlzIHN1cHBvcnRlZCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9saW5rLW11bHRpcGxlLWNoaWxkcmVuXCIgKyAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IFwiIFxcbk9wZW4geW91ciBicm93c2VyJ3MgY29uc29sZSB0byB2aWV3IHRoZSBDb21wb25lbnQgc3RhY2sgdHJhY2UuXCIgOiBcIlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjaGlsZCA9IF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLm9ubHkoY2hpbGRyZW4pO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIGlmICgoY2hpbGRyZW4gPT0gbnVsbCA/IHZvaWQgMCA6IGNoaWxkcmVuLnR5cGUpID09PSBcImFcIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgPExpbms+IHdpdGggPGE+IGNoaWxkLiBQbGVhc2UgcmVtb3ZlIDxhPiBvciB1c2UgPExpbmsgbGVnYWN5QmVoYXZpb3I+LlxcbkxlYXJuIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2ludmFsaWQtbmV3LWxpbmstd2l0aC1leHRyYS1hbmNob3JcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY2hpbGRSZWYgPSBsZWdhY3lCZWhhdmlvciA/IGNoaWxkICYmIHR5cGVvZiBjaGlsZCA9PT0gXCJvYmplY3RcIiAmJiBjaGlsZC5yZWYgOiBmb3J3YXJkZWRSZWY7XG4gICAgY29uc3QgW3NldEludGVyc2VjdGlvblJlZiwgaXNWaXNpYmxlLCByZXNldFZpc2libGVdID0gKDAsIF91c2VpbnRlcnNlY3Rpb24udXNlSW50ZXJzZWN0aW9uKSh7XG4gICAgICAgIHJvb3RNYXJnaW46IFwiMjAwcHhcIlxuICAgIH0pO1xuICAgIGNvbnN0IHNldFJlZiA9IF9yZWFjdC5kZWZhdWx0LnVzZUNhbGxiYWNrKChlbCk9PntcbiAgICAgICAgLy8gQmVmb3JlIHRoZSBsaW5rIGdldHRpbmcgb2JzZXJ2ZWQsIGNoZWNrIGlmIHZpc2libGUgc3RhdGUgbmVlZCB0byBiZSByZXNldFxuICAgICAgICBpZiAocHJldmlvdXNBcy5jdXJyZW50ICE9PSBhcyB8fCBwcmV2aW91c0hyZWYuY3VycmVudCAhPT0gaHJlZikge1xuICAgICAgICAgICAgcmVzZXRWaXNpYmxlKCk7XG4gICAgICAgICAgICBwcmV2aW91c0FzLmN1cnJlbnQgPSBhcztcbiAgICAgICAgICAgIHByZXZpb3VzSHJlZi5jdXJyZW50ID0gaHJlZjtcbiAgICAgICAgfVxuICAgICAgICBzZXRJbnRlcnNlY3Rpb25SZWYoZWwpO1xuICAgICAgICBpZiAoY2hpbGRSZWYpIHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY2hpbGRSZWYgPT09IFwiZnVuY3Rpb25cIikgY2hpbGRSZWYoZWwpO1xuICAgICAgICAgICAgZWxzZSBpZiAodHlwZW9mIGNoaWxkUmVmID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGRSZWYuY3VycmVudCA9IGVsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBhcyxcbiAgICAgICAgY2hpbGRSZWYsXG4gICAgICAgIGhyZWYsXG4gICAgICAgIHJlc2V0VmlzaWJsZSxcbiAgICAgICAgc2V0SW50ZXJzZWN0aW9uUmVmXG4gICAgXSk7XG4gICAgLy8gUHJlZmV0Y2ggdGhlIFVSTCBpZiB3ZSBoYXZlbid0IGFscmVhZHkgYW5kIGl0J3MgdmlzaWJsZS5cbiAgICBfcmVhY3QuZGVmYXVsdC51c2VFZmZlY3QoKCk9PntcbiAgICAgICAgLy8gaW4gZGV2LCB3ZSBvbmx5IHByZWZldGNoIG9uIGhvdmVyIHRvIGF2b2lkIHdhc3RpbmcgcmVzb3VyY2VzIGFzIHRoZSBwcmVmZXRjaCB3aWxsIHRyaWdnZXIgY29tcGlsaW5nIHRoZSBwYWdlLlxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB3ZSBkb24ndCBuZWVkIHRvIHByZWZldGNoIHRoZSBVUkwsIGRvbid0IGRvIHByZWZldGNoLlxuICAgICAgICBpZiAoIWlzVmlzaWJsZSB8fCAhcHJlZmV0Y2hFbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gUHJlZmV0Y2ggdGhlIFVSTC5cbiAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywge1xuICAgICAgICAgICAgbG9jYWxlXG4gICAgICAgIH0sIHtcbiAgICAgICAgICAgIGtpbmQ6IGFwcFByZWZldGNoS2luZFxuICAgICAgICB9LCBpc0FwcFJvdXRlcik7XG4gICAgfSwgW1xuICAgICAgICBhcyxcbiAgICAgICAgaHJlZixcbiAgICAgICAgaXNWaXNpYmxlLFxuICAgICAgICBsb2NhbGUsXG4gICAgICAgIHByZWZldGNoRW5hYmxlZCxcbiAgICAgICAgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmxvY2FsZSxcbiAgICAgICAgcm91dGVyLFxuICAgICAgICBpc0FwcFJvdXRlcixcbiAgICAgICAgYXBwUHJlZmV0Y2hLaW5kXG4gICAgXSk7XG4gICAgY29uc3QgY2hpbGRQcm9wcyA9IHtcbiAgICAgICAgcmVmOiBzZXRSZWYsXG4gICAgICAgIG9uQ2xpY2sgKGUpIHtcbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb21wb25lbnQgcmVuZGVyZWQgaW5zaWRlIG5leHQvbGluayBoYXMgdG8gcGFzcyBjbGljayBldmVudCB0byBcIm9uQ2xpY2tcIiBwcm9wLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uQ2xpY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9uQ2xpY2soZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgY2hpbGQucHJvcHMgJiYgdHlwZW9mIGNoaWxkLnByb3BzLm9uQ2xpY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGNoaWxkLnByb3BzLm9uQ2xpY2soZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChlLmRlZmF1bHRQcmV2ZW50ZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaW5rQ2xpY2tlZChlLCByb3V0ZXIsIGhyZWYsIGFzLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwsIGxvY2FsZSwgaXNBcHBSb3V0ZXIpO1xuICAgICAgICB9LFxuICAgICAgICBvbk1vdXNlRW50ZXIgKGUpIHtcbiAgICAgICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uTW91c2VFbnRlclByb3AgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9uTW91c2VFbnRlclByb3AoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgY2hpbGQucHJvcHMgJiYgdHlwZW9mIGNoaWxkLnByb3BzLm9uTW91c2VFbnRlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQucHJvcHMub25Nb3VzZUVudGVyKGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKCFwcmVmZXRjaEVuYWJsZWQgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikgJiYgaXNBcHBSb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIGFzLCB7XG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIHByaW9yaXR5OiB0cnVlLFxuICAgICAgICAgICAgICAgIC8vIEBzZWUge2h0dHBzOi8vZ2l0aHViLmNvbS92ZXJjZWwvbmV4dC5qcy9kaXNjdXNzaW9ucy80MDI2OD9zb3J0PXRvcCNkaXNjdXNzaW9uY29tbWVudC0zNTcyNjQyfVxuICAgICAgICAgICAgICAgIGJ5cGFzc1ByZWZldGNoZWRDaGVjazogdHJ1ZVxuICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgIGtpbmQ6IGFwcFByZWZldGNoS2luZFxuICAgICAgICAgICAgfSwgaXNBcHBSb3V0ZXIpO1xuICAgICAgICB9LFxuICAgICAgICBvblRvdWNoU3RhcnQgKGUpIHtcbiAgICAgICAgICAgIGlmICghbGVnYWN5QmVoYXZpb3IgJiYgdHlwZW9mIG9uVG91Y2hTdGFydFByb3AgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIG9uVG91Y2hTdGFydFByb3AoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobGVnYWN5QmVoYXZpb3IgJiYgY2hpbGQucHJvcHMgJiYgdHlwZW9mIGNoaWxkLnByb3BzLm9uVG91Y2hTdGFydCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQucHJvcHMub25Ub3VjaFN0YXJ0KGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFyb3V0ZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXByZWZldGNoRW5hYmxlZCAmJiBpc0FwcFJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgLy8gQHNlZSB7aHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2Rpc2N1c3Npb25zLzQwMjY4P3NvcnQ9dG9wI2Rpc2N1c3Npb25jb21tZW50LTM1NzI2NDJ9XG4gICAgICAgICAgICAgICAgYnlwYXNzUHJlZmV0Y2hlZENoZWNrOiB0cnVlXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kXG4gICAgICAgICAgICB9LCBpc0FwcFJvdXRlcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIC8vIElmIGNoaWxkIGlzIGFuIDxhPiB0YWcgYW5kIGRvZXNuJ3QgaGF2ZSBhIGhyZWYgYXR0cmlidXRlLCBvciBpZiB0aGUgJ3Bhc3NIcmVmJyBwcm9wZXJ0eSBpc1xuICAgIC8vIGRlZmluZWQsIHdlIHNwZWNpZnkgdGhlIGN1cnJlbnQgJ2hyZWYnLCBzbyB0aGF0IHJlcGV0aXRpb24gaXMgbm90IG5lZWRlZCBieSB0aGUgdXNlci5cbiAgICAvLyBJZiB0aGUgdXJsIGlzIGFic29sdXRlLCB3ZSBjYW4gYnlwYXNzIHRoZSBsb2dpYyB0byBwcmVwZW5kIHRoZSBkb21haW4gYW5kIGxvY2FsZS5cbiAgICBpZiAoKDAsIF91dGlscy5pc0Fic29sdXRlVXJsKShhcykpIHtcbiAgICAgICAgY2hpbGRQcm9wcy5ocmVmID0gYXM7XG4gICAgfSBlbHNlIGlmICghbGVnYWN5QmVoYXZpb3IgfHwgcGFzc0hyZWYgfHwgY2hpbGQudHlwZSA9PT0gXCJhXCIgJiYgIShcImhyZWZcIiBpbiBjaGlsZC5wcm9wcykpIHtcbiAgICAgICAgY29uc3QgY3VyTG9jYWxlID0gdHlwZW9mIGxvY2FsZSAhPT0gXCJ1bmRlZmluZWRcIiA/IGxvY2FsZSA6IHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5sb2NhbGU7XG4gICAgICAgIC8vIHdlIG9ubHkgcmVuZGVyIGRvbWFpbiBsb2NhbGVzIGlmIHdlIGFyZSBjdXJyZW50bHkgb24gYSBkb21haW4gbG9jYWxlXG4gICAgICAgIC8vIHNvIHRoYXQgbG9jYWxlIGxpbmtzIGFyZSBzdGlsbCB2aXNpdGFibGUgaW4gZGV2ZWxvcG1lbnQvcHJldmlldyBlbnZzXG4gICAgICAgIGNvbnN0IGxvY2FsZURvbWFpbiA9IChwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIuaXNMb2NhbGVEb21haW4pICYmICgwLCBfZ2V0ZG9tYWlubG9jYWxlLmdldERvbWFpbkxvY2FsZSkoYXMsIGN1ckxvY2FsZSwgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmxvY2FsZXMsIHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5kb21haW5Mb2NhbGVzKTtcbiAgICAgICAgY2hpbGRQcm9wcy5ocmVmID0gbG9jYWxlRG9tYWluIHx8ICgwLCBfYWRkYmFzZXBhdGguYWRkQmFzZVBhdGgpKCgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkoYXMsIGN1ckxvY2FsZSwgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmRlZmF1bHRMb2NhbGUpKTtcbiAgICB9XG4gICAgcmV0dXJuIGxlZ2FjeUJlaGF2aW9yID8gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jbG9uZUVsZW1lbnQoY2hpbGQsIGNoaWxkUHJvcHMpIDogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImFcIiwge1xuICAgICAgICAuLi5yZXN0UHJvcHMsXG4gICAgICAgIC4uLmNoaWxkUHJvcHMsXG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufSk7XG5jb25zdCBfZGVmYXVsdCA9IExpbms7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpbmsuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9qc3hydW50aW1lIiwiX3JlYWN0IiwiXyIsIl9yZXNvbHZlaHJlZiIsIl9pc2xvY2FsdXJsIiwiX2Zvcm1hdHVybCIsIl91dGlscyIsIl9hZGRsb2NhbGUiLCJfcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfdXNlaW50ZXJzZWN0aW9uIiwiX2dldGRvbWFpbmxvY2FsZSIsIl9hZGRiYXNlcGF0aCIsIl9yb3V0ZXJyZWR1Y2VydHlwZXMiLCJwcmVmZXRjaGVkIiwiU2V0IiwicHJlZmV0Y2giLCJyb3V0ZXIiLCJocmVmIiwiYXMiLCJvcHRpb25zIiwiYXBwT3B0aW9ucyIsImlzQXBwUm91dGVyIiwiaXNMb2NhbFVSTCIsImJ5cGFzc1ByZWZldGNoZWRDaGVjayIsImxvY2FsZSIsInVuZGVmaW5lZCIsInByZWZldGNoZWRLZXkiLCJoYXMiLCJhZGQiLCJwcmVmZXRjaFByb21pc2UiLCJQcm9taXNlIiwicmVzb2x2ZSIsImNhdGNoIiwiZXJyIiwicHJvY2VzcyIsImlzTW9kaWZpZWRFdmVudCIsImV2ZW50IiwiZXZlbnRUYXJnZXQiLCJjdXJyZW50VGFyZ2V0IiwidGFyZ2V0IiwiZ2V0QXR0cmlidXRlIiwibWV0YUtleSIsImN0cmxLZXkiLCJzaGlmdEtleSIsImFsdEtleSIsIm5hdGl2ZUV2ZW50Iiwid2hpY2giLCJsaW5rQ2xpY2tlZCIsImUiLCJyZXBsYWNlIiwic2hhbGxvdyIsInNjcm9sbCIsIm5vZGVOYW1lIiwiaXNBbmNob3JOb2RlTmFtZSIsInRvVXBwZXJDYXNlIiwicHJldmVudERlZmF1bHQiLCJuYXZpZ2F0ZSIsInJvdXRlclNjcm9sbCIsImRlZmF1bHQiLCJzdGFydFRyYW5zaXRpb24iLCJmb3JtYXRTdHJpbmdPclVybCIsInVybE9iak9yU3RyaW5nIiwiZm9ybWF0VXJsIiwiTGluayIsImZvcndhcmRSZWYiLCJMaW5rQ29tcG9uZW50IiwicHJvcHMiLCJmb3J3YXJkZWRSZWYiLCJjaGlsZHJlbiIsImhyZWZQcm9wIiwiYXNQcm9wIiwiY2hpbGRyZW5Qcm9wIiwicHJlZmV0Y2hQcm9wIiwicGFzc0hyZWYiLCJvbkNsaWNrIiwib25Nb3VzZUVudGVyIiwib25Nb3VzZUVudGVyUHJvcCIsIm9uVG91Y2hTdGFydCIsIm9uVG91Y2hTdGFydFByb3AiLCJsZWdhY3lCZWhhdmlvciIsInJlc3RQcm9wcyIsImpzeCIsInBhZ2VzUm91dGVyIiwidXNlQ29udGV4dCIsIlJvdXRlckNvbnRleHQiLCJhcHBSb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwicHJlZmV0Y2hFbmFibGVkIiwiYXBwUHJlZmV0Y2hLaW5kIiwiUHJlZmV0Y2hLaW5kIiwiQVVUTyIsIkZVTEwiLCJjcmVhdGVQcm9wRXJyb3IiLCJhcmdzIiwiRXJyb3IiLCJrZXkiLCJleHBlY3RlZCIsImFjdHVhbCIsInJlcXVpcmVkUHJvcHNHdWFyZCIsInJlcXVpcmVkUHJvcHMiLCJrZXlzIiwiZm9yRWFjaCIsIm9wdGlvbmFsUHJvcHNHdWFyZCIsIm9wdGlvbmFsUHJvcHMiLCJ2YWxUeXBlIiwiaGFzV2FybmVkIiwidXNlUmVmIiwiY3VycmVudCIsImNvbnNvbGUiLCJ3YXJuIiwicGF0aG5hbWUiLCJoYXNEeW5hbWljU2VnbWVudCIsInNwbGl0Iiwic29tZSIsInNlZ21lbnQiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJ1c2VNZW1vIiwicmVzb2x2ZWRIcmVmIiwicmVzb2x2ZWRBcyIsInJlc29sdmVIcmVmIiwicHJldmlvdXNIcmVmIiwicHJldmlvdXNBcyIsImNoaWxkIiwiQ2hpbGRyZW4iLCJvbmx5IiwidHlwZSIsImNoaWxkUmVmIiwicmVmIiwic2V0SW50ZXJzZWN0aW9uUmVmIiwiaXNWaXNpYmxlIiwicmVzZXRWaXNpYmxlIiwidXNlSW50ZXJzZWN0aW9uIiwicm9vdE1hcmdpbiIsInNldFJlZiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJraW5kIiwiY2hpbGRQcm9wcyIsImRlZmF1bHRQcmV2ZW50ZWQiLCJwcmlvcml0eSIsImlzQWJzb2x1dGVVcmwiLCJjdXJMb2NhbGUiLCJsb2NhbGVEb21haW4iLCJpc0xvY2FsZURvbWFpbiIsImdldERvbWFpbkxvY2FsZSIsImxvY2FsZXMiLCJkb21haW5Mb2NhbGVzIiwiYWRkQmFzZVBhdGgiLCJhZGRMb2NhbGUiLCJkZWZhdWx0TG9jYWxlIiwiY2xvbmVFbGVtZW50IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/link.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return normalizePathTrailingSlash;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nconst normalizePathTrailingSlash = (path)=>{\n if (!path.startsWith(\"/\") || undefined) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n if (true) {\n if (/\\.[^/]+\\/?$/.test(pathname)) {\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n } else if (pathname.endsWith(\"/\")) {\n return \"\" + pathname + query + hash;\n } else {\n return pathname + \"/\" + query + hash;\n }\n }\n return \"\" + (0, _removetrailingslash.removeTrailingSlash)(pathname) + query + hash;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=normalize-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhEQUE2RDtJQUN6REksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMseUlBQWtEO0FBQ3ZGLE1BQU1DLGFBQWFELG1CQUFPQSxDQUFDLG1IQUF1QztBQUNsRSxNQUFNRiw2QkFBNkIsQ0FBQ0k7SUFDaEMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNuRSxPQUFPRjtJQUNYO0lBQ0EsTUFBTSxFQUFFSyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUixXQUFXUyxTQUFTLEVBQUVSO0lBQzVELElBQUlFLElBQWlDLEVBQUU7UUFDbkMsSUFBSSxjQUFjUSxJQUFJLENBQUNMLFdBQVc7WUFDOUIsT0FBTyxLQUFLLENBQUMsR0FBR1IscUJBQXFCYyxtQkFBbUIsRUFBRU4sWUFBWUMsUUFBUUM7UUFDbEYsT0FBTyxJQUFJRixTQUFTTyxRQUFRLENBQUMsTUFBTTtZQUMvQixPQUFPLEtBQUtQLFdBQVdDLFFBQVFDO1FBQ25DLE9BQU87WUFDSCxPQUFPRixXQUFXLE1BQU1DLFFBQVFDO1FBQ3BDO0lBQ0o7SUFDQSxPQUFPLEtBQUssQ0FBQyxHQUFHVixxQkFBcUJjLG1CQUFtQixFQUFFTixZQUFZQyxRQUFRQztBQUNsRjtBQUVBLElBQUksQ0FBQyxPQUFPZixRQUFRcUIsT0FBTyxLQUFLLGNBQWUsT0FBT3JCLFFBQVFxQixPQUFPLEtBQUssWUFBWXJCLFFBQVFxQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9yQixRQUFRcUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUXFCLE9BQU8sRUFBRSxjQUFjO1FBQUVwQixPQUFPO0lBQUs7SUFDbkVILE9BQU95QixNQUFNLENBQUN2QixRQUFRcUIsT0FBTyxFQUFFckI7SUFDL0J3QixPQUFPeEIsT0FBTyxHQUFHQSxRQUFRcUIsT0FBTztBQUNsQyxFQUVBLG9EQUFvRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanM/NGMyZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aFwiKTtcbmNvbnN0IG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoID0gKHBhdGgpPT57XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8IHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUsIHF1ZXJ5LCBoYXNoIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICAgICAgaWYgKC9cXC5bXi9dK1xcLz8kLy50ZXN0KHBhdGhuYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkocGF0aG5hbWUpICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9IGVsc2UgaWYgKHBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyBwYXRobmFtZSArIHF1ZXJ5ICsgaGFzaDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZSArIFwiL1wiICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcIlwiICsgKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHBhdGhuYW1lKSArIHF1ZXJ5ICsgaGFzaDtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsInJlcXVpcmUiLCJfcGFyc2VwYXRoIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX01BTlVBTF9UUkFJTElOR19TTEFTSCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwidGVzdCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJlbmRzV2l0aCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/remove-base-path.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/client/remove-base-path.js ***! \***********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeBasePath\", ({\n enumerable: true,\n get: function() {\n return removeBasePath;\n }\n}));\nconst _hasbasepath = __webpack_require__(/*! ./has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\n // Can't trim the basePath if it has zero length!\n if (basePath.length === 0) return path;\n path = path.slice(basePath.length);\n if (!path.startsWith(\"/\")) path = \"/\" + path;\n return path;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=remove-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrREFBaUQ7SUFDN0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxlQUFlQyxtQkFBT0EsQ0FBQywrRUFBaUI7QUFDOUMsTUFBTUMsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTSixlQUFlTyxJQUFJO0lBQ3hCLElBQUlILEtBQTBDLEVBQUUsRUFJL0M7SUFDRCxpREFBaUQ7SUFDakQsSUFBSUQsU0FBU08sTUFBTSxLQUFLLEdBQUcsT0FBT0g7SUFDbENBLE9BQU9BLEtBQUtJLEtBQUssQ0FBQ1IsU0FBU08sTUFBTTtJQUNqQyxJQUFJLENBQUNILEtBQUtLLFVBQVUsQ0FBQyxNQUFNTCxPQUFPLE1BQU1BO0lBQ3hDLE9BQU9BO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWlCLE9BQU8sS0FBSyxjQUFlLE9BQU9qQixRQUFRaUIsT0FBTyxLQUFLLFlBQVlqQixRQUFRaUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPakIsUUFBUWlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktwQixPQUFPQyxjQUFjLENBQUNDLFFBQVFpQixPQUFPLEVBQUUsY0FBYztRQUFFaEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9Cb0IsT0FBT3BCLE9BQU8sR0FBR0EsUUFBUWlCLE9BQU87QUFDbEMsRUFFQSw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC5qcz9iNGYxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVtb3ZlQmFzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZUJhc2VQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2hhc2Jhc2VwYXRoID0gcmVxdWlyZShcIi4vaGFzLWJhc2UtcGF0aFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiO1xuZnVuY3Rpb24gcmVtb3ZlQmFzZVBhdGgocGF0aCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgpIHtcbiAgICAgICAgaWYgKCEoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShwYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQ2FuJ3QgdHJpbSB0aGUgYmFzZVBhdGggaWYgaXQgaGFzIHplcm8gbGVuZ3RoIVxuICAgIGlmIChiYXNlUGF0aC5sZW5ndGggPT09IDApIHJldHVybiBwYXRoO1xuICAgIHBhdGggPSBwYXRoLnNsaWNlKGJhc2VQYXRoLmxlbmd0aCk7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpKSBwYXRoID0gXCIvXCIgKyBwYXRoO1xuICAgIHJldHVybiBwYXRoO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZW1vdmUtYmFzZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJyZW1vdmVCYXNlUGF0aCIsIl9oYXNiYXNlcGF0aCIsInJlcXVpcmUiLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsImhhc0Jhc2VQYXRoIiwibGVuZ3RoIiwic2xpY2UiLCJzdGFydHNXaXRoIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/remove-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/request-idle-callback.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/request-idle-callback.js ***! \****************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n requestIdleCallback: function() {\n return requestIdleCallback;\n },\n cancelIdleCallback: function() {\n return cancelIdleCallback;\n }\n});\nconst requestIdleCallback = typeof self !== \"undefined\" && self.requestIdleCallback && self.requestIdleCallback.bind(window) || function(cb) {\n let start = Date.now();\n return self.setTimeout(function() {\n cb({\n didTimeout: false,\n timeRemaining: function() {\n return Math.max(0, 50 - (Date.now() - start));\n }\n });\n }, 1);\n};\nconst cancelIdleCallback = typeof self !== \"undefined\" && self.cancelIdleCallback && self.cancelIdleCallback.bind(window) || function(id) {\n return clearTimeout(id);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=request-idle-callback.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNRCxzQkFBc0IsT0FBT1EsU0FBUyxlQUFlQSxLQUFLUixtQkFBbUIsSUFBSVEsS0FBS1IsbUJBQW1CLENBQUNTLElBQUksQ0FBQ0MsV0FBVyxTQUFTQyxFQUFFO0lBQ3ZJLElBQUlDLFFBQVFDLEtBQUtDLEdBQUc7SUFDcEIsT0FBT04sS0FBS08sVUFBVSxDQUFDO1FBQ25CSixHQUFHO1lBQ0NLLFlBQVk7WUFDWkMsZUFBZTtnQkFDWCxPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUk7WUFDOUM7UUFDSjtJQUNKLEdBQUc7QUFDUDtBQUNBLE1BQU1YLHFCQUFxQixPQUFPTyxTQUFTLGVBQWVBLEtBQUtQLGtCQUFrQixJQUFJTyxLQUFLUCxrQkFBa0IsQ0FBQ1EsSUFBSSxDQUFDQyxXQUFXLFNBQVNVLEVBQUU7SUFDcEksT0FBT0MsYUFBYUQ7QUFDeEI7QUFFQSxJQUFJLENBQUMsT0FBT3ZCLFFBQVF5QixPQUFPLEtBQUssY0FBZSxPQUFPekIsUUFBUXlCLE9BQU8sS0FBSyxZQUFZekIsUUFBUXlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3pCLFFBQVF5QixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLNUIsT0FBT0MsY0FBYyxDQUFDQyxRQUFReUIsT0FBTyxFQUFFLGNBQWM7UUFBRXhCLE9BQU87SUFBSztJQUNuRUgsT0FBTzZCLE1BQU0sQ0FBQzNCLFFBQVF5QixPQUFPLEVBQUV6QjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFReUIsT0FBTztBQUNsQyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanM/MWUyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IG51bGwsXG4gICAgY2FuY2VsSWRsZUNhbGxiYWNrOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVxdWVzdElkbGVDYWxsYmFjaztcbiAgICB9LFxuICAgIGNhbmNlbElkbGVDYWxsYmFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjYW5jZWxJZGxlQ2FsbGJhY2s7XG4gICAgfVxufSk7XG5jb25zdCByZXF1ZXN0SWRsZUNhbGxiYWNrID0gdHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrICYmIHNlbGYucmVxdWVzdElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oY2IpIHtcbiAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgIHJldHVybiBzZWxmLnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgIGNiKHtcbiAgICAgICAgICAgIGRpZFRpbWVvdXQ6IGZhbHNlLFxuICAgICAgICAgICAgdGltZVJlbWFpbmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIDUwIC0gKERhdGUubm93KCkgLSBzdGFydCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCAxKTtcbn07XG5jb25zdCBjYW5jZWxJZGxlQ2FsbGJhY2sgPSB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjayAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oaWQpIHtcbiAgICByZXR1cm4gY2xlYXJUaW1lb3V0KGlkKTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3QtaWRsZS1jYWxsYmFjay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VsZiIsImJpbmQiLCJ3aW5kb3ciLCJjYiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJkaWRUaW1lb3V0IiwidGltZVJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJpZCIsImNsZWFyVGltZW91dCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/request-idle-callback.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/resolve-href.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/client/resolve-href.js ***! \*******************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"resolveHref\", ({\n enumerable: true,\n get: function() {\n return resolveHref;\n }\n}));\nconst _querystring = __webpack_require__(/*! ../shared/lib/router/utils/querystring */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _formaturl = __webpack_require__(/*! ../shared/lib/router/utils/format-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\");\nconst _omit = __webpack_require__(/*! ../shared/lib/router/utils/omit */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js\");\nconst _utils = __webpack_require__(/*! ../shared/lib/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst _islocalurl = __webpack_require__(/*! ../shared/lib/router/utils/is-local-url */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\");\nconst _utils1 = __webpack_require__(/*! ../shared/lib/router/utils */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js\");\nconst _interpolateas = __webpack_require__(/*! ../shared/lib/router/utils/interpolate-as */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\");\nfunction resolveHref(router, href, resolveAs) {\n // we use a dummy base url for relative urls\n let base;\n let urlAsString = typeof href === \"string\" ? href : (0, _formaturl.formatWithValidation)(href);\n // repeated slashes and backslashes in the URL are considered\n // invalid and will never match a Next.js page/file\n const urlProtoMatch = urlAsString.match(/^[a-zA-Z]{1,}:\\/\\//);\n const urlAsStringNoProto = urlProtoMatch ? urlAsString.slice(urlProtoMatch[0].length) : urlAsString;\n const urlParts = urlAsStringNoProto.split(\"?\", 1);\n if ((urlParts[0] || \"\").match(/(\\/\\/|\\\\)/)) {\n console.error(\"Invalid href '\" + urlAsString + \"' passed to next/router in page: '\" + router.pathname + \"'. Repeated forward-slashes (//) or backslashes \\\\ are not valid in the href.\");\n const normalizedUrl = (0, _utils.normalizeRepeatedSlashes)(urlAsStringNoProto);\n urlAsString = (urlProtoMatch ? urlProtoMatch[0] : \"\") + normalizedUrl;\n }\n // Return because it cannot be routed by the Next.js router\n if (!(0, _islocalurl.isLocalURL)(urlAsString)) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n try {\n base = new URL(urlAsString.startsWith(\"#\") ? router.asPath : router.pathname, \"http://n\");\n } catch (_) {\n // fallback to / for invalid asPath values e.g. //\n base = new URL(\"/\", \"http://n\");\n }\n try {\n const finalUrl = new URL(urlAsString, base);\n finalUrl.pathname = (0, _normalizetrailingslash.normalizePathTrailingSlash)(finalUrl.pathname);\n let interpolatedAs = \"\";\n if ((0, _utils1.isDynamicRoute)(finalUrl.pathname) && finalUrl.searchParams && resolveAs) {\n const query = (0, _querystring.searchParamsToUrlQuery)(finalUrl.searchParams);\n const { result, params } = (0, _interpolateas.interpolateAs)(finalUrl.pathname, finalUrl.pathname, query);\n if (result) {\n interpolatedAs = (0, _formaturl.formatWithValidation)({\n pathname: result,\n hash: finalUrl.hash,\n query: (0, _omit.omit)(query, params)\n });\n }\n }\n // if the origin didn't change, it means we received a relative href\n const resolvedHref = finalUrl.origin === base.origin ? finalUrl.href.slice(finalUrl.origin.length) : finalUrl.href;\n return resolveAs ? [\n resolvedHref,\n interpolatedAs || resolvedHref\n ] : resolvedHref;\n } catch (_) {\n return resolveAs ? [\n urlAsString\n ] : urlAsString;\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=resolve-href.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGVBQWVDLG1CQUFPQSxDQUFDLHFIQUF3QztBQUNyRSxNQUFNQyxhQUFhRCxtQkFBT0EsQ0FBQyxtSEFBdUM7QUFDbEUsTUFBTUUsUUFBUUYsbUJBQU9BLENBQUMsdUdBQWlDO0FBQ3ZELE1BQU1HLFNBQVNILG1CQUFPQSxDQUFDLCtFQUFxQjtBQUM1QyxNQUFNSSwwQkFBMEJKLG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNSyxjQUFjTCxtQkFBT0EsQ0FBQyx1SEFBeUM7QUFDckUsTUFBTU0sVUFBVU4sbUJBQU9BLENBQUMsbUdBQTRCO0FBQ3BELE1BQU1PLGlCQUFpQlAsbUJBQU9BLENBQUMsMkhBQTJDO0FBQzFFLFNBQVNGLFlBQVlVLE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxTQUFTO0lBQ3hDLDRDQUE0QztJQUM1QyxJQUFJQztJQUNKLElBQUlDLGNBQWMsT0FBT0gsU0FBUyxXQUFXQSxPQUFPLENBQUMsR0FBR1IsV0FBV1ksb0JBQW9CLEVBQUVKO0lBQ3pGLDZEQUE2RDtJQUM3RCxtREFBbUQ7SUFDbkQsTUFBTUssZ0JBQWdCRixZQUFZRyxLQUFLLENBQUM7SUFDeEMsTUFBTUMscUJBQXFCRixnQkFBZ0JGLFlBQVlLLEtBQUssQ0FBQ0gsYUFBYSxDQUFDLEVBQUUsQ0FBQ0ksTUFBTSxJQUFJTjtJQUN4RixNQUFNTyxXQUFXSCxtQkFBbUJJLEtBQUssQ0FBQyxLQUFLO0lBQy9DLElBQUksQ0FBQ0QsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFDLEVBQUdKLEtBQUssQ0FBQyxjQUFjO1FBQ3hDTSxRQUFRQyxLQUFLLENBQUMsbUJBQW1CVixjQUFjLHVDQUF1Q0osT0FBT2UsUUFBUSxHQUFHO1FBQ3hHLE1BQU1DLGdCQUFnQixDQUFDLEdBQUdyQixPQUFPc0Isd0JBQXdCLEVBQUVUO1FBQzNESixjQUFjLENBQUNFLGdCQUFnQkEsYUFBYSxDQUFDLEVBQUUsR0FBRyxFQUFDLElBQUtVO0lBQzVEO0lBQ0EsMkRBQTJEO0lBQzNELElBQUksQ0FBQyxDQUFDLEdBQUduQixZQUFZcUIsVUFBVSxFQUFFZCxjQUFjO1FBQzNDLE9BQU9GLFlBQVk7WUFDZkU7U0FDSCxHQUFHQTtJQUNSO0lBQ0EsSUFBSTtRQUNBRCxPQUFPLElBQUlnQixJQUFJZixZQUFZZ0IsVUFBVSxDQUFDLE9BQU9wQixPQUFPcUIsTUFBTSxHQUFHckIsT0FBT2UsUUFBUSxFQUFFO0lBQ2xGLEVBQUUsT0FBT08sR0FBRztRQUNSLGtEQUFrRDtRQUNsRG5CLE9BQU8sSUFBSWdCLElBQUksS0FBSztJQUN4QjtJQUNBLElBQUk7UUFDQSxNQUFNSSxXQUFXLElBQUlKLElBQUlmLGFBQWFEO1FBQ3RDb0IsU0FBU1IsUUFBUSxHQUFHLENBQUMsR0FBR25CLHdCQUF3QjRCLDBCQUEwQixFQUFFRCxTQUFTUixRQUFRO1FBQzdGLElBQUlVLGlCQUFpQjtRQUNyQixJQUFJLENBQUMsR0FBRzNCLFFBQVE0QixjQUFjLEVBQUVILFNBQVNSLFFBQVEsS0FBS1EsU0FBU0ksWUFBWSxJQUFJekIsV0FBVztZQUN0RixNQUFNMEIsUUFBUSxDQUFDLEdBQUdyQyxhQUFhc0Msc0JBQXNCLEVBQUVOLFNBQVNJLFlBQVk7WUFDNUUsTUFBTSxFQUFFRyxNQUFNLEVBQUVDLE1BQU0sRUFBRSxHQUFHLENBQUMsR0FBR2hDLGVBQWVpQyxhQUFhLEVBQUVULFNBQVNSLFFBQVEsRUFBRVEsU0FBU1IsUUFBUSxFQUFFYTtZQUNuRyxJQUFJRSxRQUFRO2dCQUNSTCxpQkFBaUIsQ0FBQyxHQUFHaEMsV0FBV1ksb0JBQW9CLEVBQUU7b0JBQ2xEVSxVQUFVZTtvQkFDVkcsTUFBTVYsU0FBU1UsSUFBSTtvQkFDbkJMLE9BQU8sQ0FBQyxHQUFHbEMsTUFBTXdDLElBQUksRUFBRU4sT0FBT0c7Z0JBQ2xDO1lBQ0o7UUFDSjtRQUNBLG9FQUFvRTtRQUNwRSxNQUFNSSxlQUFlWixTQUFTYSxNQUFNLEtBQUtqQyxLQUFLaUMsTUFBTSxHQUFHYixTQUFTdEIsSUFBSSxDQUFDUSxLQUFLLENBQUNjLFNBQVNhLE1BQU0sQ0FBQzFCLE1BQU0sSUFBSWEsU0FBU3RCLElBQUk7UUFDbEgsT0FBT0MsWUFBWTtZQUNmaUM7WUFDQVYsa0JBQWtCVTtTQUNyQixHQUFHQTtJQUNSLEVBQUUsT0FBT2IsR0FBRztRQUNSLE9BQU9wQixZQUFZO1lBQ2ZFO1NBQ0gsR0FBR0E7SUFDUjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9sQixRQUFRbUQsT0FBTyxLQUFLLGNBQWUsT0FBT25ELFFBQVFtRCxPQUFPLEtBQUssWUFBWW5ELFFBQVFtRCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uRCxRQUFRbUQsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1ELE9BQU8sRUFBRSxjQUFjO1FBQUVsRCxPQUFPO0lBQUs7SUFDbkVILE9BQU91RCxNQUFNLENBQUNyRCxRQUFRbUQsT0FBTyxFQUFFbkQ7SUFDL0JzRCxPQUFPdEQsT0FBTyxHQUFHQSxRQUFRbUQsT0FBTztBQUNsQyxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXNvbHZlLWhyZWYuanM/MmY5ZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlc29sdmVIcmVmXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZXNvbHZlSHJlZjtcbiAgICB9XG59KTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9xdWVyeXN0cmluZ1wiKTtcbmNvbnN0IF9mb3JtYXR1cmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybFwiKTtcbmNvbnN0IF9vbWl0ID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXRcIik7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi91dGlsc1wiKTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgX2lzbG9jYWx1cmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsXCIpO1xuY29uc3QgX3V0aWxzMSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlsc1wiKTtcbmNvbnN0IF9pbnRlcnBvbGF0ZWFzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzXCIpO1xuZnVuY3Rpb24gcmVzb2x2ZUhyZWYocm91dGVyLCBocmVmLCByZXNvbHZlQXMpIHtcbiAgICAvLyB3ZSB1c2UgYSBkdW1teSBiYXNlIHVybCBmb3IgcmVsYXRpdmUgdXJsc1xuICAgIGxldCBiYXNlO1xuICAgIGxldCB1cmxBc1N0cmluZyA9IHR5cGVvZiBocmVmID09PSBcInN0cmluZ1wiID8gaHJlZiA6ICgwLCBfZm9ybWF0dXJsLmZvcm1hdFdpdGhWYWxpZGF0aW9uKShocmVmKTtcbiAgICAvLyByZXBlYXRlZCBzbGFzaGVzIGFuZCBiYWNrc2xhc2hlcyBpbiB0aGUgVVJMIGFyZSBjb25zaWRlcmVkXG4gICAgLy8gaW52YWxpZCBhbmQgd2lsbCBuZXZlciBtYXRjaCBhIE5leHQuanMgcGFnZS9maWxlXG4gICAgY29uc3QgdXJsUHJvdG9NYXRjaCA9IHVybEFzU3RyaW5nLm1hdGNoKC9eW2EtekEtWl17MSx9OlxcL1xcLy8pO1xuICAgIGNvbnN0IHVybEFzU3RyaW5nTm9Qcm90byA9IHVybFByb3RvTWF0Y2ggPyB1cmxBc1N0cmluZy5zbGljZSh1cmxQcm90b01hdGNoWzBdLmxlbmd0aCkgOiB1cmxBc1N0cmluZztcbiAgICBjb25zdCB1cmxQYXJ0cyA9IHVybEFzU3RyaW5nTm9Qcm90by5zcGxpdChcIj9cIiwgMSk7XG4gICAgaWYgKCh1cmxQYXJ0c1swXSB8fCBcIlwiKS5tYXRjaCgvKFxcL1xcL3xcXFxcKS8pKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJJbnZhbGlkIGhyZWYgJ1wiICsgdXJsQXNTdHJpbmcgKyBcIicgcGFzc2VkIHRvIG5leHQvcm91dGVyIGluIHBhZ2U6ICdcIiArIHJvdXRlci5wYXRobmFtZSArIFwiJy4gUmVwZWF0ZWQgZm9yd2FyZC1zbGFzaGVzICgvLykgb3IgYmFja3NsYXNoZXMgXFxcXCBhcmUgbm90IHZhbGlkIGluIHRoZSBocmVmLlwiKTtcbiAgICAgICAgY29uc3Qgbm9ybWFsaXplZFVybCA9ICgwLCBfdXRpbHMubm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzKSh1cmxBc1N0cmluZ05vUHJvdG8pO1xuICAgICAgICB1cmxBc1N0cmluZyA9ICh1cmxQcm90b01hdGNoID8gdXJsUHJvdG9NYXRjaFswXSA6IFwiXCIpICsgbm9ybWFsaXplZFVybDtcbiAgICB9XG4gICAgLy8gUmV0dXJuIGJlY2F1c2UgaXQgY2Fubm90IGJlIHJvdXRlZCBieSB0aGUgTmV4dC5qcyByb3V0ZXJcbiAgICBpZiAoISgwLCBfaXNsb2NhbHVybC5pc0xvY2FsVVJMKSh1cmxBc1N0cmluZykpIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBcyA/IFtcbiAgICAgICAgICAgIHVybEFzU3RyaW5nXG4gICAgICAgIF0gOiB1cmxBc1N0cmluZztcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgYmFzZSA9IG5ldyBVUkwodXJsQXNTdHJpbmcuc3RhcnRzV2l0aChcIiNcIikgPyByb3V0ZXIuYXNQYXRoIDogcm91dGVyLnBhdGhuYW1lLCBcImh0dHA6Ly9uXCIpO1xuICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gLyBmb3IgaW52YWxpZCBhc1BhdGggdmFsdWVzIGUuZy4gLy9cbiAgICAgICAgYmFzZSA9IG5ldyBVUkwoXCIvXCIsIFwiaHR0cDovL25cIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGZpbmFsVXJsID0gbmV3IFVSTCh1cmxBc1N0cmluZywgYmFzZSk7XG4gICAgICAgIGZpbmFsVXJsLnBhdGhuYW1lID0gKDAsIF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoLm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoKShmaW5hbFVybC5wYXRobmFtZSk7XG4gICAgICAgIGxldCBpbnRlcnBvbGF0ZWRBcyA9IFwiXCI7XG4gICAgICAgIGlmICgoMCwgX3V0aWxzMS5pc0R5bmFtaWNSb3V0ZSkoZmluYWxVcmwucGF0aG5hbWUpICYmIGZpbmFsVXJsLnNlYXJjaFBhcmFtcyAmJiByZXNvbHZlQXMpIHtcbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5ID0gKDAsIF9xdWVyeXN0cmluZy5zZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KShmaW5hbFVybC5zZWFyY2hQYXJhbXMpO1xuICAgICAgICAgICAgY29uc3QgeyByZXN1bHQsIHBhcmFtcyB9ID0gKDAsIF9pbnRlcnBvbGF0ZWFzLmludGVycG9sYXRlQXMpKGZpbmFsVXJsLnBhdGhuYW1lLCBmaW5hbFVybC5wYXRobmFtZSwgcXVlcnkpO1xuICAgICAgICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICAgICAgICAgIGludGVycG9sYXRlZEFzID0gKDAsIF9mb3JtYXR1cmwuZm9ybWF0V2l0aFZhbGlkYXRpb24pKHtcbiAgICAgICAgICAgICAgICAgICAgcGF0aG5hbWU6IHJlc3VsdCxcbiAgICAgICAgICAgICAgICAgICAgaGFzaDogZmluYWxVcmwuaGFzaCxcbiAgICAgICAgICAgICAgICAgICAgcXVlcnk6ICgwLCBfb21pdC5vbWl0KShxdWVyeSwgcGFyYW1zKVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHRoZSBvcmlnaW4gZGlkbid0IGNoYW5nZSwgaXQgbWVhbnMgd2UgcmVjZWl2ZWQgYSByZWxhdGl2ZSBocmVmXG4gICAgICAgIGNvbnN0IHJlc29sdmVkSHJlZiA9IGZpbmFsVXJsLm9yaWdpbiA9PT0gYmFzZS5vcmlnaW4gPyBmaW5hbFVybC5ocmVmLnNsaWNlKGZpbmFsVXJsLm9yaWdpbi5sZW5ndGgpIDogZmluYWxVcmwuaHJlZjtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBcyA/IFtcbiAgICAgICAgICAgIHJlc29sdmVkSHJlZixcbiAgICAgICAgICAgIGludGVycG9sYXRlZEFzIHx8IHJlc29sdmVkSHJlZlxuICAgICAgICBdIDogcmVzb2x2ZWRIcmVmO1xuICAgIH0gY2F0Y2ggKF8pIHtcbiAgICAgICAgcmV0dXJuIHJlc29sdmVBcyA/IFtcbiAgICAgICAgICAgIHVybEFzU3RyaW5nXG4gICAgICAgIF0gOiB1cmxBc1N0cmluZztcbiAgICB9XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlc29sdmUtaHJlZi5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVzb2x2ZUhyZWYiLCJfcXVlcnlzdHJpbmciLCJyZXF1aXJlIiwiX2Zvcm1hdHVybCIsIl9vbWl0IiwiX3V0aWxzIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJfaXNsb2NhbHVybCIsIl91dGlsczEiLCJfaW50ZXJwb2xhdGVhcyIsInJvdXRlciIsImhyZWYiLCJyZXNvbHZlQXMiLCJiYXNlIiwidXJsQXNTdHJpbmciLCJmb3JtYXRXaXRoVmFsaWRhdGlvbiIsInVybFByb3RvTWF0Y2giLCJtYXRjaCIsInVybEFzU3RyaW5nTm9Qcm90byIsInNsaWNlIiwibGVuZ3RoIiwidXJsUGFydHMiLCJzcGxpdCIsImNvbnNvbGUiLCJlcnJvciIsInBhdGhuYW1lIiwibm9ybWFsaXplZFVybCIsIm5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyIsImlzTG9jYWxVUkwiLCJVUkwiLCJzdGFydHNXaXRoIiwiYXNQYXRoIiwiXyIsImZpbmFsVXJsIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJpbnRlcnBvbGF0ZWRBcyIsImlzRHluYW1pY1JvdXRlIiwic2VhcmNoUGFyYW1zIiwicXVlcnkiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwicmVzdWx0IiwicGFyYW1zIiwiaW50ZXJwb2xhdGVBcyIsImhhc2giLCJvbWl0IiwicmVzb2x2ZWRIcmVmIiwib3JpZ2luIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/resolve-href.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/use-intersection.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/client/use-intersection.js ***! \***********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"useIntersection\", ({\n enumerable: true,\n get: function() {\n return useIntersection;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"(ssr)/./node_modules/next/dist/client/request-idle-callback.js\");\nconst hasIntersectionObserver = typeof IntersectionObserver === \"function\";\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || \"\"\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id, observer, elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection(param) {\n let { rootRef, rootMargin, disabled } = param;\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react.useState)(false);\n const elementRef = (0, _react.useRef)(null);\n const setElement = (0, _react.useCallback)((element)=>{\n elementRef.current = element;\n }, []);\n (0, _react.useEffect)(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n const element = elementRef.current;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestidlecallback.requestIdleCallback)(()=>setVisible(true));\n return ()=>(0, _requestidlecallback.cancelIdleCallback)(idleCallback);\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled,\n rootMargin,\n rootRef,\n visible,\n elementRef.current\n ]);\n const resetVisible = (0, _react.useCallback)(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=use-intersection.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC91c2UtaW50ZXJzZWN0aW9uLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixNQUFNQyx1QkFBdUJELG1CQUFPQSxDQUFDLCtGQUF5QjtBQUM5RCxNQUFNRSwwQkFBMEIsT0FBT0MseUJBQXlCO0FBQ2hFLE1BQU1DLFlBQVksSUFBSUM7QUFDdEIsTUFBTUMsU0FBUyxFQUFFO0FBQ2pCLFNBQVNDLGVBQWVDLE9BQU87SUFDM0IsTUFBTUMsS0FBSztRQUNQQyxNQUFNRixRQUFRRSxJQUFJLElBQUk7UUFDdEJDLFFBQVFILFFBQVFJLFVBQVUsSUFBSTtJQUNsQztJQUNBLE1BQU1DLFdBQVdQLE9BQU9RLElBQUksQ0FBQyxDQUFDQyxNQUFNQSxJQUFJTCxJQUFJLEtBQUtELEdBQUdDLElBQUksSUFBSUssSUFBSUosTUFBTSxLQUFLRixHQUFHRSxNQUFNO0lBQ3BGLElBQUlLO0lBQ0osSUFBSUgsVUFBVTtRQUNWRyxXQUFXWixVQUFVUCxHQUFHLENBQUNnQjtRQUN6QixJQUFJRyxVQUFVO1lBQ1YsT0FBT0E7UUFDWDtJQUNKO0lBQ0EsTUFBTUMsV0FBVyxJQUFJWjtJQUNyQixNQUFNYSxXQUFXLElBQUlmLHFCQUFxQixDQUFDZ0I7UUFDdkNBLFFBQVFDLE9BQU8sQ0FBQyxDQUFDQztZQUNiLE1BQU1DLFdBQVdMLFNBQVNwQixHQUFHLENBQUN3QixNQUFNRSxNQUFNO1lBQzFDLE1BQU1DLFlBQVlILE1BQU1JLGNBQWMsSUFBSUosTUFBTUssaUJBQWlCLEdBQUc7WUFDcEUsSUFBSUosWUFBWUUsV0FBVztnQkFDdkJGLFNBQVNFO1lBQ2I7UUFDSjtJQUNK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QUFFOUQ7SUFDL0JpRSxPQUFPakUsT0FBTyxHQUFHQSxRQUFROEQsT0FBTztBQUNsQyxFQUVBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC91c2UtaW50ZXJzZWN0aW9uLmpzP2ZkOTQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJ1c2VJbnRlcnNlY3Rpb25cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZUludGVyc2VjdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbmNvbnN0IF9yZXF1ZXN0aWRsZWNhbGxiYWNrID0gcmVxdWlyZShcIi4vcmVxdWVzdC1pZGxlLWNhbGxiYWNrXCIpO1xuY29uc3QgaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPSB0eXBlb2YgSW50ZXJzZWN0aW9uT2JzZXJ2ZXIgPT09IFwiZnVuY3Rpb25cIjtcbmNvbnN0IG9ic2VydmVycyA9IG5ldyBNYXAoKTtcbmNvbnN0IGlkTGlzdCA9IFtdO1xuZnVuY3Rpb24gY3JlYXRlT2JzZXJ2ZXIob3B0aW9ucykge1xuICAgIGNvbnN0IGlkID0ge1xuICAgICAgICByb290OiBvcHRpb25zLnJvb3QgfHwgbnVsbCxcbiAgICAgICAgbWFyZ2luOiBvcHRpb25zLnJvb3RNYXJnaW4gfHwgXCJcIlxuICAgIH07XG4gICAgY29uc3QgZXhpc3RpbmcgPSBpZExpc3QuZmluZCgob2JqKT0+b2JqLnJvb3QgPT09IGlkLnJvb3QgJiYgb2JqLm1hcmdpbiA9PT0gaWQubWFyZ2luKTtcbiAgICBsZXQgaW5zdGFuY2U7XG4gICAgaWYgKGV4aXN0aW5nKSB7XG4gICAgICAgIGluc3RhbmNlID0gb2JzZXJ2ZXJzLmdldChleGlzdGluZyk7XG4gICAgICAgIGlmIChpbnN0YW5jZSkge1xuICAgICAgICAgICAgcmV0dXJuIGluc3RhbmNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGVsZW1lbnRzID0gbmV3IE1hcCgpO1xuICAgIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzKT0+e1xuICAgICAgICBlbnRyaWVzLmZvckVhY2goKGVudHJ5KT0+e1xuICAgICAgICAgICAgY29uc3QgY2FsbGJhY2sgPSBlbGVtZW50cy5nZXQoZW50cnkudGFyZ2V0KTtcbiAgICAgICAgICAgIGNvbnN0IGlzVmlzaWJsZSA9IGVudHJ5LmlzSW50ZXJzZWN0aW5nIHx8IGVudHJ5LmludGVyc2VjdGlvblJhdGlvID4gMDtcbiAgICAgICAgICAgIGlmIChjYWxsYmFjayAmJiBpc1Zpc2libGUpIHtcbiAgICAgICAgICAgICAgICBjYWxsYmFjayhpc1Zpc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCBvcHRpb25zKTtcbiAgICBpbnN0YW5jZSA9IHtcbiAgICAgICAgaWQsXG4gICAgICAgIG9ic2VydmVyLFxuICAgICAgICBlbGVtZW50c1xuICAgIH07XG4gICAgaWRMaXN0LnB1c2goaWQpO1xuICAgIG9ic2VydmVycy5zZXQoaWQsIGluc3RhbmNlKTtcbiAgICByZXR1cm4gaW5zdGFuY2U7XG59XG5mdW5jdGlvbiBvYnNlcnZlKGVsZW1lbnQsIGNhbGxiYWNrLCBvcHRpb25zKSB7XG4gICAgY29uc3QgeyBpZCwgb2JzZXJ2ZXIsIGVsZW1lbnRzIH0gPSBjcmVhdGVPYnNlcnZlcihvcHRpb25zKTtcbiAgICBlbGVtZW50cy5zZXQoZWxlbWVudCwgY2FsbGJhY2spO1xuICAgIG9ic2VydmVyLm9ic2VydmUoZWxlbWVudCk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIHVub2JzZXJ2ZSgpIHtcbiAgICAgICAgZWxlbWVudHMuZGVsZXRlKGVsZW1lbnQpO1xuICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZWxlbWVudCk7XG4gICAgICAgIC8vIERlc3Ryb3kgb2JzZXJ2ZXIgd2hlbiB0aGVyZSdzIG5vdGhpbmcgbGVmdCB0byB3YXRjaDpcbiAgICAgICAgaWYgKGVsZW1lbnRzLnNpemUgPT09IDApIHtcbiAgICAgICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIG9ic2VydmVycy5kZWxldGUoaWQpO1xuICAgICAgICAgICAgY29uc3QgaW5kZXggPSBpZExpc3QuZmluZEluZGV4KChvYmopPT5vYmoucm9vdCA9PT0gaWQucm9vdCAmJiBvYmoubWFyZ2luID09PSBpZC5tYXJnaW4pO1xuICAgICAgICAgICAgaWYgKGluZGV4ID4gLTEpIHtcbiAgICAgICAgICAgICAgICBpZExpc3Quc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH07XG59XG5mdW5jdGlvbiB1c2VJbnRlcnNlY3Rpb24ocGFyYW0pIHtcbiAgICBsZXQgeyByb290UmVmLCByb290TWFyZ2luLCBkaXNhYmxlZCB9ID0gcGFyYW07XG4gICAgY29uc3QgaXNEaXNhYmxlZCA9IGRpc2FibGVkIHx8ICFoYXNJbnRlcnNlY3Rpb25PYnNlcnZlcjtcbiAgICBjb25zdCBbdmlzaWJsZSwgc2V0VmlzaWJsZV0gPSAoMCwgX3JlYWN0LnVzZVN0YXRlKShmYWxzZSk7XG4gICAgY29uc3QgZWxlbWVudFJlZiA9ICgwLCBfcmVhY3QudXNlUmVmKShudWxsKTtcbiAgICBjb25zdCBzZXRFbGVtZW50ID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGVsZW1lbnQpPT57XG4gICAgICAgIGVsZW1lbnRSZWYuY3VycmVudCA9IGVsZW1lbnQ7XG4gICAgfSwgW10pO1xuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBpZiAoaGFzSW50ZXJzZWN0aW9uT2JzZXJ2ZXIpIHtcbiAgICAgICAgICAgIGlmIChpc0Rpc2FibGVkIHx8IHZpc2libGUpIHJldHVybjtcbiAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBlbGVtZW50UmVmLmN1cnJlbnQ7XG4gICAgICAgICAgICBpZiAoZWxlbWVudCAmJiBlbGVtZW50LnRhZ05hbWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB1bm9ic2VydmUgPSBvYnNlcnZlKGVsZW1lbnQsIChpc1Zpc2libGUpPT5pc1Zpc2libGUgJiYgc2V0VmlzaWJsZShpc1Zpc2libGUpLCB7XG4gICAgICAgICAgICAgICAgICAgIHJvb3Q6IHJvb3RSZWYgPT0gbnVsbCA/IHZvaWQgMCA6IHJvb3RSZWYuY3VycmVudCxcbiAgICAgICAgICAgICAgICAgICAgcm9vdE1hcmdpblxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybiB1bm9ic2VydmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIXZpc2libGUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBpZGxlQ2FsbGJhY2sgPSAoMCwgX3JlcXVlc3RpZGxlY2FsbGJhY2sucmVxdWVzdElkbGVDYWxsYmFjaykoKCk9PnNldFZpc2libGUodHJ1ZSkpO1xuICAgICAgICAgICAgICAgIHJldHVybiAoKT0+KDAsIF9yZXF1ZXN0aWRsZWNhbGxiYWNrLmNhbmNlbElkbGVDYWxsYmFjaykoaWRsZUNhbGxiYWNrKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgICB9LCBbXG4gICAgICAgIGlzRGlzYWJsZWQsXG4gICAgICAgIHJvb3RNYXJnaW4sXG4gICAgICAgIHJvb3RSZWYsXG4gICAgICAgIHZpc2libGUsXG4gICAgICAgIGVsZW1lbnRSZWYuY3VycmVudFxuICAgIF0pO1xuICAgIGNvbnN0IHJlc2V0VmlzaWJsZSA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKCgpPT57XG4gICAgICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgIH0sIFtdKTtcbiAgICByZXR1cm4gW1xuICAgICAgICBzZXRFbGVtZW50LFxuICAgICAgICB2aXNpYmxlLFxuICAgICAgICByZXNldFZpc2libGVcbiAgICBdO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD11c2UtaW50ZXJzZWN0aW9uLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJ1c2VJbnRlcnNlY3Rpb24iLCJfcmVhY3QiLCJyZXF1aXJlIiwiX3JlcXVlc3RpZGxlY2FsbGJhY2siLCJoYXNJbnRlcnNlY3Rpb25PYnNlcnZlciIsIkludGVyc2VjdGlvbk9ic2VydmVyIiwib2JzZXJ2ZXJzIiwiTWFwIiwiaWRMaXN0IiwiY3JlYXRlT2JzZXJ2ZXIiLCJvcHRpb25zIiwiaWQiLCJyb290IiwibWFyZ2luIiwicm9vdE1hcmdpbiIsImV4aXN0aW5nIiwiZmluZCIsIm9iaiIsImluc3RhbmNlIiwiZWxlbWVudHMiLCJvYnNlcnZlciIsImVudHJpZXMiLCJmb3JFYWNoIiwiZW50cnkiLCJjYWxsYmFjayIsInRhcmdldCIsImlzVmlzaWJsZSIsImlzSW50ZXJzZWN0aW5nIiwiaW50ZXJzZWN0aW9uUmF0aW8iLCJwdXNoIiwic2V0Iiwib2JzZXJ2ZSIsImVsZW1lbnQiLCJ1bm9ic2VydmUiLCJkZWxldGUiLCJzaXplIiwiZGlzY29ubmVjdCIsImluZGV4IiwiZmluZEluZGV4Iiwic3BsaWNlIiwicGFyYW0iLCJyb290UmVmIiwiZGlzYWJsZWQiLCJpc0Rpc2FibGVkIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJ1c2VTdGF0ZSIsImVsZW1lbnRSZWYiLCJ1c2VSZWYiLCJzZXRFbGVtZW50IiwidXNlQ2FsbGJhY2siLCJjdXJyZW50IiwidXNlRWZmZWN0IiwidGFnTmFtZSIsImlkbGVDYWxsYmFjayIsInJlcXVlc3RJZGxlQ2FsbGJhY2siLCJjYW5jZWxJZGxlQ2FsbGJhY2siLCJyZXNldFZpc2libGUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/use-intersection.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/anser/index.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/compiled/anser/index.js ***! \********************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 211: (e)=>{\n var r = function() {\n function defineProperties(e, r) {\n for(var n = 0; n < r.length; n++){\n var s = r[n];\n s.enumerable = s.enumerable || false;\n s.configurable = true;\n if (\"value\" in s) s.writable = true;\n Object.defineProperty(e, s.key, s);\n }\n }\n return function(e, r, n) {\n if (r) defineProperties(e.prototype, r);\n if (n) defineProperties(e, n);\n return e;\n };\n }();\n function _classCallCheck(e, r) {\n if (!(e instanceof r)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n }\n var n = [\n [\n {\n color: \"0, 0, 0\",\n class: \"ansi-black\"\n },\n {\n color: \"187, 0, 0\",\n class: \"ansi-red\"\n },\n {\n color: \"0, 187, 0\",\n class: \"ansi-green\"\n },\n {\n color: \"187, 187, 0\",\n class: \"ansi-yellow\"\n },\n {\n color: \"0, 0, 187\",\n class: \"ansi-blue\"\n },\n {\n color: \"187, 0, 187\",\n class: \"ansi-magenta\"\n },\n {\n color: \"0, 187, 187\",\n class: \"ansi-cyan\"\n },\n {\n color: \"255,255,255\",\n class: \"ansi-white\"\n }\n ],\n [\n {\n color: \"85, 85, 85\",\n class: \"ansi-bright-black\"\n },\n {\n color: \"255, 85, 85\",\n class: \"ansi-bright-red\"\n },\n {\n color: \"0, 255, 0\",\n class: \"ansi-bright-green\"\n },\n {\n color: \"255, 255, 85\",\n class: \"ansi-bright-yellow\"\n },\n {\n color: \"85, 85, 255\",\n class: \"ansi-bright-blue\"\n },\n {\n color: \"255, 85, 255\",\n class: \"ansi-bright-magenta\"\n },\n {\n color: \"85, 255, 255\",\n class: \"ansi-bright-cyan\"\n },\n {\n color: \"255, 255, 255\",\n class: \"ansi-bright-white\"\n }\n ]\n ];\n var s = function() {\n r(Anser, null, [\n {\n key: \"escapeForHtml\",\n value: function escapeForHtml(e) {\n return (new Anser).escapeForHtml(e);\n }\n },\n {\n key: \"linkify\",\n value: function linkify(e) {\n return (new Anser).linkify(e);\n }\n },\n {\n key: \"ansiToHtml\",\n value: function ansiToHtml(e, r) {\n return (new Anser).ansiToHtml(e, r);\n }\n },\n {\n key: \"ansiToJson\",\n value: function ansiToJson(e, r) {\n return (new Anser).ansiToJson(e, r);\n }\n },\n {\n key: \"ansiToText\",\n value: function ansiToText(e) {\n return (new Anser).ansiToText(e);\n }\n }\n ]);\n function Anser() {\n _classCallCheck(this, Anser);\n this.fg = this.bg = this.fg_truecolor = this.bg_truecolor = null;\n this.bright = 0;\n }\n r(Anser, [\n {\n key: \"setupPalette\",\n value: function setupPalette() {\n this.PALETTE_COLORS = [];\n for(var e = 0; e < 2; ++e){\n for(var r = 0; r < 8; ++r){\n this.PALETTE_COLORS.push(n[e][r].color);\n }\n }\n var s = [\n 0,\n 95,\n 135,\n 175,\n 215,\n 255\n ];\n var i = function format(e, r, n) {\n return s[e] + \", \" + s[r] + \", \" + s[n];\n };\n var t = void 0, o = void 0, a = void 0;\n for(var l = 0; l < 6; ++l){\n for(var c = 0; c < 6; ++c){\n for(var u = 0; u < 6; ++u){\n this.PALETTE_COLORS.push(i(l, c, u));\n }\n }\n }\n var f = 8;\n for(var h = 0; h < 24; ++h, f += 10){\n this.PALETTE_COLORS.push(i(f, f, f));\n }\n }\n },\n {\n key: \"escapeForHtml\",\n value: function escapeForHtml(e) {\n return e.replace(/[&<>]/gm, function(e) {\n return e == \"&\" ? \"&\" : e == \"<\" ? \"<\" : e == \">\" ? \">\" : \"\";\n });\n }\n },\n {\n key: \"linkify\",\n value: function linkify(e) {\n return e.replace(/(https?:\\/\\/[^\\s]+)/gm, function(e) {\n return '<a href=\"' + e + '\">' + e + \"</a>\";\n });\n }\n },\n {\n key: \"ansiToHtml\",\n value: function ansiToHtml(e, r) {\n return this.process(e, r, true);\n }\n },\n {\n key: \"ansiToJson\",\n value: function ansiToJson(e, r) {\n r = r || {};\n r.json = true;\n r.clearLine = false;\n return this.process(e, r, true);\n }\n },\n {\n key: \"ansiToText\",\n value: function ansiToText(e) {\n return this.process(e, {}, false);\n }\n },\n {\n key: \"process\",\n value: function process(e, r, n) {\n var s = this;\n var i = this;\n var t = e.split(/\\033\\[/);\n var o = t.shift();\n if (r === undefined || r === null) {\n r = {};\n }\n r.clearLine = /\\r/.test(e);\n var a = t.map(function(e) {\n return s.processChunk(e, r, n);\n });\n if (r && r.json) {\n var l = i.processChunkJson(\"\");\n l.content = o;\n l.clearLine = r.clearLine;\n a.unshift(l);\n if (r.remove_empty) {\n a = a.filter(function(e) {\n return !e.isEmpty();\n });\n }\n return a;\n } else {\n a.unshift(o);\n }\n return a.join(\"\");\n }\n },\n {\n key: \"processChunkJson\",\n value: function processChunkJson(e, r, s) {\n r = typeof r == \"undefined\" ? {} : r;\n var i = r.use_classes = typeof r.use_classes != \"undefined\" && r.use_classes;\n var t = r.key = i ? \"class\" : \"color\";\n var o = {\n content: e,\n fg: null,\n bg: null,\n fg_truecolor: null,\n bg_truecolor: null,\n clearLine: r.clearLine,\n decoration: null,\n was_processed: false,\n isEmpty: function isEmpty() {\n return !o.content;\n }\n };\n var a = e.match(/^([!\\x3c-\\x3f]*)([\\d;]*)([\\x20-\\x2c]*[\\x40-\\x7e])([\\s\\S]*)/m);\n if (!a) return o;\n var l = o.content = a[4];\n var c = a[2].split(\";\");\n if (a[1] !== \"\" || a[3] !== \"m\") {\n return o;\n }\n if (!s) {\n return o;\n }\n var u = this;\n u.decoration = null;\n while(c.length > 0){\n var f = c.shift();\n var h = parseInt(f);\n if (isNaN(h) || h === 0) {\n u.fg = u.bg = u.decoration = null;\n } else if (h === 1) {\n u.decoration = \"bold\";\n } else if (h === 2) {\n u.decoration = \"dim\";\n } else if (h == 3) {\n u.decoration = \"italic\";\n } else if (h == 4) {\n u.decoration = \"underline\";\n } else if (h == 5) {\n u.decoration = \"blink\";\n } else if (h === 7) {\n u.decoration = \"reverse\";\n } else if (h === 8) {\n u.decoration = \"hidden\";\n } else if (h === 9) {\n u.decoration = \"strikethrough\";\n } else if (h == 39) {\n u.fg = null;\n } else if (h == 49) {\n u.bg = null;\n } else if (h >= 30 && h < 38) {\n u.fg = n[0][h % 10][t];\n } else if (h >= 90 && h < 98) {\n u.fg = n[1][h % 10][t];\n } else if (h >= 40 && h < 48) {\n u.bg = n[0][h % 10][t];\n } else if (h >= 100 && h < 108) {\n u.bg = n[1][h % 10][t];\n } else if (h === 38 || h === 48) {\n var p = h === 38;\n if (c.length >= 1) {\n var g = c.shift();\n if (g === \"5\" && c.length >= 1) {\n var v = parseInt(c.shift());\n if (v >= 0 && v <= 255) {\n if (!i) {\n if (!this.PALETTE_COLORS) {\n u.setupPalette();\n }\n if (p) {\n u.fg = this.PALETTE_COLORS[v];\n } else {\n u.bg = this.PALETTE_COLORS[v];\n }\n } else {\n var d = v >= 16 ? \"ansi-palette-\" + v : n[v > 7 ? 1 : 0][v % 8][\"class\"];\n if (p) {\n u.fg = d;\n } else {\n u.bg = d;\n }\n }\n }\n } else if (g === \"2\" && c.length >= 3) {\n var _ = parseInt(c.shift());\n var b = parseInt(c.shift());\n var y = parseInt(c.shift());\n if (_ >= 0 && _ <= 255 && b >= 0 && b <= 255 && y >= 0 && y <= 255) {\n var k = _ + \", \" + b + \", \" + y;\n if (!i) {\n if (p) {\n u.fg = k;\n } else {\n u.bg = k;\n }\n } else {\n if (p) {\n u.fg = \"ansi-truecolor\";\n u.fg_truecolor = k;\n } else {\n u.bg = \"ansi-truecolor\";\n u.bg_truecolor = k;\n }\n }\n }\n }\n }\n }\n }\n if (u.fg === null && u.bg === null && u.decoration === null) {\n return o;\n } else {\n var T = [];\n var m = [];\n var w = {};\n o.fg = u.fg;\n o.bg = u.bg;\n o.fg_truecolor = u.fg_truecolor;\n o.bg_truecolor = u.bg_truecolor;\n o.decoration = u.decoration;\n o.was_processed = true;\n return o;\n }\n }\n },\n {\n key: \"processChunk\",\n value: function processChunk(e, r, n) {\n var s = this;\n var i = this;\n r = r || {};\n var t = this.processChunkJson(e, r, n);\n if (r.json) {\n return t;\n }\n if (t.isEmpty()) {\n return \"\";\n }\n if (!t.was_processed) {\n return t.content;\n }\n var o = r.use_classes;\n var a = [];\n var l = [];\n var c = {};\n var u = function render_data(e) {\n var r = [];\n var n = void 0;\n for(n in e){\n if (e.hasOwnProperty(n)) {\n r.push(\"data-\" + n + '=\"' + s.escapeForHtml(e[n]) + '\"');\n }\n }\n return r.length > 0 ? \" \" + r.join(\" \") : \"\";\n };\n if (t.fg) {\n if (o) {\n l.push(t.fg + \"-fg\");\n if (t.fg_truecolor !== null) {\n c[\"ansi-truecolor-fg\"] = t.fg_truecolor;\n t.fg_truecolor = null;\n }\n } else {\n a.push(\"color:rgb(\" + t.fg + \")\");\n }\n }\n if (t.bg) {\n if (o) {\n l.push(t.bg + \"-bg\");\n if (t.bg_truecolor !== null) {\n c[\"ansi-truecolor-bg\"] = t.bg_truecolor;\n t.bg_truecolor = null;\n }\n } else {\n a.push(\"background-color:rgb(\" + t.bg + \")\");\n }\n }\n if (t.decoration) {\n if (o) {\n l.push(\"ansi-\" + t.decoration);\n } else if (t.decoration === \"bold\") {\n a.push(\"font-weight:bold\");\n } else if (t.decoration === \"dim\") {\n a.push(\"opacity:0.5\");\n } else if (t.decoration === \"italic\") {\n a.push(\"font-style:italic\");\n } else if (t.decoration === \"reverse\") {\n a.push(\"filter:invert(100%)\");\n } else if (t.decoration === \"hidden\") {\n a.push(\"visibility:hidden\");\n } else if (t.decoration === \"strikethrough\") {\n a.push(\"text-decoration:line-through\");\n } else {\n a.push(\"text-decoration:\" + t.decoration);\n }\n }\n if (o) {\n return '<span class=\"' + l.join(\" \") + '\"' + u(c) + \">\" + t.content + \"</span>\";\n } else {\n return '<span style=\"' + a.join(\";\") + '\"' + u(c) + \">\" + t.content + \"</span>\";\n }\n }\n }\n ]);\n return Anser;\n }();\n e.exports = s;\n }\n };\n var r = {};\n function __nccwpck_require__(n) {\n var s = r[n];\n if (s !== undefined) {\n return s.exports;\n }\n var i = r[n] = {\n exports: {}\n };\n var t = true;\n try {\n e[n](i, i.exports, __nccwpck_require__);\n t = false;\n } finally{\n if (t) delete r[n];\n }\n return i.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var n = __nccwpck_require__(211);\n module.exports = n;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7QUFBQztJQUFLO0lBQWEsSUFBSUEsSUFBRTtRQUFDLEtBQUlBLENBQUFBO1lBQUksSUFBSUMsSUFBRTtnQkFBVyxTQUFTQyxpQkFBaUJGLENBQUMsRUFBQ0MsQ0FBQztvQkFBRSxJQUFJLElBQUlFLElBQUUsR0FBRUEsSUFBRUYsRUFBRUcsTUFBTSxFQUFDRCxJQUFJO3dCQUFDLElBQUlFLElBQUVKLENBQUMsQ0FBQ0UsRUFBRTt3QkFBQ0UsRUFBRUMsVUFBVSxHQUFDRCxFQUFFQyxVQUFVLElBQUU7d0JBQU1ELEVBQUVFLFlBQVksR0FBQzt3QkFBSyxJQUFHLFdBQVVGLEdBQUVBLEVBQUVHLFFBQVEsR0FBQzt3QkFBS0MsT0FBT0MsY0FBYyxDQUFDVixHQUFFSyxFQUFFTSxHQUFHLEVBQUNOO29CQUFFO2dCQUFDO2dCQUFDLE9BQU8sU0FBU0wsQ0FBQyxFQUFDQyxDQUFDLEVBQUNFLENBQUM7b0JBQUUsSUFBR0YsR0FBRUMsaUJBQWlCRixFQUFFWSxTQUFTLEVBQUNYO29CQUFHLElBQUdFLEdBQUVELGlCQUFpQkYsR0FBRUc7b0JBQUcsT0FBT0g7Z0JBQUM7WUFBQztZQUFJLFNBQVNhLGdCQUFnQmIsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFLElBQUcsQ0FBRUQsQ0FBQUEsYUFBYUMsQ0FBQUEsR0FBRztvQkFBQyxNQUFNLElBQUlhLFVBQVU7Z0JBQW9DO1lBQUM7WUFBQyxJQUFJWCxJQUFFO2dCQUFDO29CQUFDO3dCQUFDWSxPQUFNO3dCQUFVQyxPQUFNO29CQUFZO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFZQyxPQUFNO29CQUFVO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFZQyxPQUFNO29CQUFZO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFjQyxPQUFNO29CQUFhO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFZQyxPQUFNO29CQUFXO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFjQyxPQUFNO29CQUFjO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFjQyxPQUFNO29CQUFXO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFjQyxPQUFNO29CQUFZO2lCQUFFO2dCQUFDO29CQUFDO3dCQUFDRCxPQUFNO3dCQUFhQyxPQUFNO29CQUFtQjtvQkFBRTt3QkFBQ0QsT0FBTTt3QkFBY0MsT0FBTTtvQkFBaUI7b0JBQUU7d0JBQUNELE9BQU07d0JBQVlDLE9BQU07b0JBQW1CO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFlQyxPQUFNO29CQUFvQjtvQkFBRTt3QkFBQ0QsT0FBTTt3QkFBY0MsT0FBTTtvQkFBa0I7b0JBQUU7d0JBQUNELE9BQU07d0JBQWVDLE9BQU07b0JBQXFCO29CQUFFO3dCQUFDRCxPQUFNO3dCQUFlQyxPQUFNO29CQUFrQjtvQkFBRTt3QkFBQ0QsT0FBTTt3QkFBZ0JDLE9BQU07b0JBQW1CO2lCQUFFO2FBQUM7WUFBQyxJQUFJWCxJQUFFO2dCQUFXSixFQUFFZ0IsT0FBTSxNQUFLO29CQUFDO3dCQUFDTixLQUFJO3dCQUFnQk8sT0FBTSxTQUFTQyxjQUFjbkIsQ0FBQzs0QkFBRSxPQUFNLENBQUMsSUFBSWlCLEtBQUksRUFBR0UsYUFBYSxDQUFDbkI7d0JBQUU7b0JBQUM7b0JBQUU7d0JBQUNXLEtBQUk7d0JBQVVPLE9BQU0sU0FBU0UsUUFBUXBCLENBQUM7NEJBQUUsT0FBTSxDQUFDLElBQUlpQixLQUFJLEVBQUdHLE9BQU8sQ0FBQ3BCO3dCQUFFO29CQUFDO29CQUFFO3dCQUFDVyxLQUFJO3dCQUFhTyxPQUFNLFNBQVNHLFdBQVdyQixDQUFDLEVBQUNDLENBQUM7NEJBQUUsT0FBTSxDQUFDLElBQUlnQixLQUFJLEVBQUdJLFVBQVUsQ0FBQ3JCLEdBQUVDO3dCQUFFO29CQUFDO29CQUFFO3dCQUFDVSxLQUFJO3dCQUFhTyxPQUFNLFNBQVNJLFdBQVd0QixDQUFDLEVBQUNDLENBQUM7NEJBQUUsT0FBTSxDQUFDLElBQUlnQixLQUFJLEVBQUdLLFVBQVUsQ0FBQ3RCLEdBQUVDO3dCQUFFO29CQUFDO29CQUFFO3dCQUFDVSxLQUFJO3dCQUFhTyxPQUFNLFNBQVNLLFdBQVd2QixDQUFDOzRCQUFFLE9BQU0sQ0FBQyxJQUFJaUIsS0FBSSxFQUFHTSxVQUFVLENBQUN2Qjt3QkFBRTtvQkFBQztpQkFBRTtnQkFBRSxTQUFTaUI7b0JBQVFKLGdCQUFnQixJQUFJLEVBQUNJO29CQUFPLElBQUksQ0FBQ08sRUFBRSxHQUFDLElBQUksQ0FBQ0MsRUFBRSxHQUFDLElBQUksQ0FBQ0MsWUFBWSxHQUFDLElBQUksQ0FBQ0MsWUFBWSxHQUFDO29CQUFLLElBQUksQ0FBQ0MsTUFBTSxHQUFDO2dCQUFDO2dCQUFDM0IsRUFBRWdCLE9BQU07b0JBQUM7d0JBQUNOLEtBQUk7d0JBQWVPLE9BQU0sU0FBU1c7NEJBQWUsSUFBSSxDQUFDQyxjQUFjLEdBQUMsRUFBRTs0QkFBQyxJQUFJLElBQUk5QixJQUFFLEdBQUVBLElBQUUsR0FBRSxFQUFFQSxFQUFFO2dDQUFDLElBQUksSUFBSUMsSUFBRSxHQUFFQSxJQUFFLEdBQUUsRUFBRUEsRUFBRTtvQ0FBQyxJQUFJLENBQUM2QixjQUFjLENBQUNDLElBQUksQ0FBQzVCLENBQUMsQ0FBQ0gsRUFBRSxDQUFDQyxFQUFFLENBQUNjLEtBQUs7Z0NBQUM7NEJBQUM7NEJBQUMsSUFBSVYsSUFBRTtnQ0FBQztnQ0FBRTtnQ0FBRztnQ0FBSTtnQ0FBSTtnQ0FBSTs2QkFBSTs0QkFBQyxJQUFJMkIsSUFBRSxTQUFTQyxPQUFPakMsQ0FBQyxFQUFDQyxDQUFDLEVBQUNFLENBQUM7Z0NBQUUsT0FBT0UsQ0FBQyxDQUFDTCxFQUFFLEdBQUMsT0FBS0ssQ0FBQyxDQUFDSixFQUFFLEdBQUMsT0FBS0ksQ0FBQyxDQUFDRixFQUFFOzRCQUFBOzRCQUFFLElBQUkrQixJQUFFLEtBQUssR0FBRUMsSUFBRSxLQUFLLEdBQUVDLElBQUUsS0FBSzs0QkFBRSxJQUFJLElBQUlDLElBQUUsR0FBRUEsSUFBRSxHQUFFLEVBQUVBLEVBQUU7Z0NBQUMsSUFBSSxJQUFJQyxJQUFFLEdBQUVBLElBQUUsR0FBRSxFQUFFQSxFQUFFO29DQUFDLElBQUksSUFBSUMsSUFBRSxHQUFFQSxJQUFFLEdBQUUsRUFBRUEsRUFBRTt3Q0FBQyxJQUFJLENBQUNULGNBQWMsQ0FBQ0MsSUFBSSxDQUFDQyxFQUFFSyxHQUFFQyxHQUFFQztvQ0FBRztnQ0FBQzs0QkFBQzs0QkFBQyxJQUFJQyxJQUFFOzRCQUFFLElBQUksSUFBSUMsSUFBRSxHQUFFQSxJQUFFLElBQUcsRUFBRUEsR0FBRUQsS0FBRyxHQUFHO2dDQUFDLElBQUksQ0FBQ1YsY0FBYyxDQUFDQyxJQUFJLENBQUNDLEVBQUVRLEdBQUVBLEdBQUVBOzRCQUFHO3dCQUFDO29CQUFDO29CQUFFO3dCQUFDN0IsS0FBSTt3QkFBZ0JPLE9BQU0sU0FBU0MsY0FBY25CLENBQUM7NEJBQUUsT0FBT0EsRUFBRTBDLE9BQU8sQ0FBQyxXQUFXLFNBQVMxQyxDQUFDO2dDQUFFLE9BQU9BLEtBQUcsTUFBSSxVQUFRQSxLQUFHLE1BQUksU0FBT0EsS0FBRyxNQUFJLFNBQU87NEJBQUU7d0JBQUc7b0JBQUM7b0JBQUU7d0JBQUNXLEtBQUk7d0JBQVVPLE9BQU0sU0FBU0UsUUFBUXBCLENBQUM7NEJBQUUsT0FBT0EsRUFBRTBDLE9BQU8sQ0FBQyx5QkFBeUIsU0FBUzFDLENBQUM7Z0NBQUUsT0FBTSxjQUFZQSxJQUFFLE9BQUtBLElBQUU7NEJBQU07d0JBQUc7b0JBQUM7b0JBQUU7d0JBQUNXLEtBQUk7d0JBQWFPLE9BQU0sU0FBU0csV0FBV3JCLENBQUMsRUFBQ0MsQ0FBQzs0QkFBRSxPQUFPLElBQUksQ0FBQzBDLE9BQU8sQ0FBQzNDLEdBQUVDLEdBQUU7d0JBQUs7b0JBQUM7b0JBQUU7d0JBQUNVLEtBQUk7d0JBQWFPLE9BQU0sU0FBU0ksV0FBV3RCLENBQUMsRUFBQ0MsQ0FBQzs0QkFBRUEsSUFBRUEsS0FBRyxDQUFDOzRCQUFFQSxFQUFFMkMsSUFBSSxHQUFDOzRCQUFLM0MsRUFBRTRDLFNBQVMsR0FBQzs0QkFBTSxPQUFPLElBQUksQ0FBQ0YsT0FBTyxDQUFDM0MsR0FBRUMsR0FBRTt3QkFBSztvQkFBQztvQkFBRTt3QkFBQ1UsS0FBSTt3QkFBYU8sT0FBTSxTQUFTSyxXQUFXdkIsQ0FBQzs0QkFBRSxPQUFPLElBQUksQ0FBQzJDLE9BQU8sQ0FBQzNDLEdBQUUsQ0FBQyxHQUFFO3dCQUFNO29CQUFDO29CQUFFO3dCQUFDVyxLQUFJO3dCQUFVTyxPQUFNLFNBQVN5QixRQUFRM0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUNFLENBQUM7NEJBQUUsSUFBSUUsSUFBRSxJQUFJOzRCQUFDLElBQUkyQixJQUFFLElBQUk7NEJBQUMsSUFBSUUsSUFBRWxDLEVBQUU4QyxLQUFLLENBQUM7NEJBQVUsSUFBSVgsSUFBRUQsRUFBRWEsS0FBSzs0QkFBRyxJQUFHOUMsTUFBSStDLGFBQVcvQyxNQUFJLE1BQUs7Z0NBQUNBLElBQUUsQ0FBQzs0QkFBQzs0QkFBQ0EsRUFBRTRDLFNBQVMsR0FBQyxLQUFLSSxJQUFJLENBQUNqRDs0QkFBRyxJQUFJb0MsSUFBRUYsRUFBRWdCLEdBQUcsQ0FBRSxTQUFTbEQsQ0FBQztnQ0FBRSxPQUFPSyxFQUFFOEMsWUFBWSxDQUFDbkQsR0FBRUMsR0FBRUU7NEJBQUU7NEJBQUksSUFBR0YsS0FBR0EsRUFBRTJDLElBQUksRUFBQztnQ0FBQyxJQUFJUCxJQUFFTCxFQUFFb0IsZ0JBQWdCLENBQUM7Z0NBQUlmLEVBQUVnQixPQUFPLEdBQUNsQjtnQ0FBRUUsRUFBRVEsU0FBUyxHQUFDNUMsRUFBRTRDLFNBQVM7Z0NBQUNULEVBQUVrQixPQUFPLENBQUNqQjtnQ0FBRyxJQUFHcEMsRUFBRXNELFlBQVksRUFBQztvQ0FBQ25CLElBQUVBLEVBQUVvQixNQUFNLENBQUUsU0FBU3hELENBQUM7d0NBQUUsT0FBTSxDQUFDQSxFQUFFeUQsT0FBTztvQ0FBRTtnQ0FBRztnQ0FBQyxPQUFPckI7NEJBQUMsT0FBSztnQ0FBQ0EsRUFBRWtCLE9BQU8sQ0FBQ25COzRCQUFFOzRCQUFDLE9BQU9DLEVBQUVzQixJQUFJLENBQUM7d0JBQUc7b0JBQUM7b0JBQUU7d0JBQUMvQyxLQUFJO3dCQUFtQk8sT0FBTSxTQUFTa0MsaUJBQWlCcEQsQ0FBQyxFQUFDQyxDQUFDLEVBQUNJLENBQUM7NEJBQUVKLElBQUUsT0FBT0EsS0FBRyxjQUFZLENBQUMsSUFBRUE7NEJBQUUsSUFBSStCLElBQUUvQixFQUFFMEQsV0FBVyxHQUFDLE9BQU8xRCxFQUFFMEQsV0FBVyxJQUFFLGVBQWExRCxFQUFFMEQsV0FBVzs0QkFBQyxJQUFJekIsSUFBRWpDLEVBQUVVLEdBQUcsR0FBQ3FCLElBQUUsVUFBUTs0QkFBUSxJQUFJRyxJQUFFO2dDQUFDa0IsU0FBUXJEO2dDQUFFd0IsSUFBRztnQ0FBS0MsSUFBRztnQ0FBS0MsY0FBYTtnQ0FBS0MsY0FBYTtnQ0FBS2tCLFdBQVU1QyxFQUFFNEMsU0FBUztnQ0FBQ2UsWUFBVztnQ0FBS0MsZUFBYztnQ0FBTUosU0FBUSxTQUFTQTtvQ0FBVSxPQUFNLENBQUN0QixFQUFFa0IsT0FBTztnQ0FBQTs0QkFBQzs0QkFBRSxJQUFJakIsSUFBRXBDLEVBQUU4RCxLQUFLLENBQUM7NEJBQStELElBQUcsQ0FBQzFCLEdBQUUsT0FBT0Q7NEJBQUUsSUFBSUUsSUFBRUYsRUFBRWtCLE9BQU8sR0FBQ2pCLENBQUMsQ0FBQyxFQUFFOzRCQUFDLElBQUlFLElBQUVGLENBQUMsQ0FBQyxFQUFFLENBQUNVLEtBQUssQ0FBQzs0QkFBSyxJQUFHVixDQUFDLENBQUMsRUFBRSxLQUFHLE1BQUlBLENBQUMsQ0FBQyxFQUFFLEtBQUcsS0FBSTtnQ0FBQyxPQUFPRDs0QkFBQzs0QkFBQyxJQUFHLENBQUM5QixHQUFFO2dDQUFDLE9BQU84Qjs0QkFBQzs0QkFBQyxJQUFJSSxJQUFFLElBQUk7NEJBQUNBLEVBQUVxQixVQUFVLEdBQUM7NEJBQUssTUFBTXRCLEVBQUVsQyxNQUFNLEdBQUMsRUFBRTtnQ0FBQyxJQUFJb0MsSUFBRUYsRUFBRVMsS0FBSztnQ0FBRyxJQUFJTixJQUFFc0IsU0FBU3ZCO2dDQUFHLElBQUd3QixNQUFNdkIsTUFBSUEsTUFBSSxHQUFFO29DQUFDRixFQUFFZixFQUFFLEdBQUNlLEVBQUVkLEVBQUUsR0FBQ2MsRUFBRXFCLFVBQVUsR0FBQztnQ0FBSSxPQUFNLElBQUduQixNQUFJLEdBQUU7b0NBQUNGLEVBQUVxQixVQUFVLEdBQUM7Z0NBQU0sT0FBTSxJQUFHbkIsTUFBSSxHQUFFO29DQUFDRixFQUFFcUIsVUFBVSxHQUFDO2dDQUFLLE9BQU0sSUFBR25CLEtBQUcsR0FBRTtvQ0FBQ0YsRUFBRXFCLFVBQVUsR0FBQztnQ0FBUSxPQUFNLElBQUduQixLQUFHLEdBQUU7b0NBQUNGLEVBQUVxQixVQUFVLEdBQUM7Z0NBQVcsT0FBTSxJQUFHbkIsS0FBRyxHQUFFO29DQUFDRixFQUFFcUIsVUFBVSxHQUFDO2dDQUFPLE9BQU0sSUFBR25CLE1BQUksR0FBRTtvQ0FBQ0YsRUFBRXFCLFVBQVUsR0FBQztnQ0FBUyxPQUFNLElBQUduQixNQUFJLEdBQUU7b0NBQUNGLEVBQUVxQixVQUFVLEdBQUM7Z0NBQVEsT0FBTSxJQUFHbkIsTUFBSSxHQUFFO29DQUFDRixFQUFFcUIsVUFBVSxHQUFDO2dDQUFlLE9BQU0sSUFBR25CLEtBQUcsSUFBRztvQ0FBQ0YsRUFBRWYsRUFBRSxHQUFDO2dDQUFJLE9BQU0sSUFBR2lCLEtBQUcsSUFBRztvQ0FBQ0YsRUFBRWQsRUFBRSxHQUFDO2dDQUFJLE9BQU0sSUFBR2dCLEtBQUcsTUFBSUEsSUFBRSxJQUFHO29DQUFDRixFQUFFZixFQUFFLEdBQUNyQixDQUFDLENBQUMsRUFBRSxDQUFDc0MsSUFBRSxHQUFHLENBQUNQLEVBQUU7Z0NBQUEsT0FBTSxJQUFHTyxLQUFHLE1BQUlBLElBQUUsSUFBRztvQ0FBQ0YsRUFBRWYsRUFBRSxHQUFDckIsQ0FBQyxDQUFDLEVBQUUsQ0FBQ3NDLElBQUUsR0FBRyxDQUFDUCxFQUFFO2dDQUFBLE9BQU0sSUFBR08sS0FBRyxNQUFJQSxJQUFFLElBQUc7b0NBQUNGLEVBQUVkLEVBQUUsR0FBQ3RCLENBQUMsQ0FBQyxFQUFFLENBQUNzQyxJQUFFLEdBQUcsQ0FBQ1AsRUFBRTtnQ0FBQSxPQUFNLElBQUdPLEtBQUcsT0FBS0EsSUFBRSxLQUFJO29DQUFDRixFQUFFZCxFQUFFLEdBQUN0QixDQUFDLENBQUMsRUFBRSxDQUFDc0MsSUFBRSxHQUFHLENBQUNQLEVBQUU7Z0NBQUEsT0FBTSxJQUFHTyxNQUFJLE1BQUlBLE1BQUksSUFBRztvQ0FBQyxJQUFJd0IsSUFBRXhCLE1BQUk7b0NBQUcsSUFBR0gsRUFBRWxDLE1BQU0sSUFBRSxHQUFFO3dDQUFDLElBQUk4RCxJQUFFNUIsRUFBRVMsS0FBSzt3Q0FBRyxJQUFHbUIsTUFBSSxPQUFLNUIsRUFBRWxDLE1BQU0sSUFBRSxHQUFFOzRDQUFDLElBQUkrRCxJQUFFSixTQUFTekIsRUFBRVMsS0FBSzs0Q0FBSSxJQUFHb0IsS0FBRyxLQUFHQSxLQUFHLEtBQUk7Z0RBQUMsSUFBRyxDQUFDbkMsR0FBRTtvREFBQyxJQUFHLENBQUMsSUFBSSxDQUFDRixjQUFjLEVBQUM7d0RBQUNTLEVBQUVWLFlBQVk7b0RBQUU7b0RBQUMsSUFBR29DLEdBQUU7d0RBQUMxQixFQUFFZixFQUFFLEdBQUMsSUFBSSxDQUFDTSxjQUFjLENBQUNxQyxFQUFFO29EQUFBLE9BQUs7d0RBQUM1QixFQUFFZCxFQUFFLEdBQUMsSUFBSSxDQUFDSyxjQUFjLENBQUNxQyxFQUFFO29EQUFBO2dEQUFDLE9BQUs7b0RBQUMsSUFBSUMsSUFBRUQsS0FBRyxLQUFHLGtCQUFnQkEsSUFBRWhFLENBQUMsQ0FBQ2dFLElBQUUsSUFBRSxJQUFFLEVBQUUsQ0FBQ0EsSUFBRSxFQUFFLENBQUMsUUFBUTtvREFBQyxJQUFHRixHQUFFO3dEQUFDMUIsRUFBRWYsRUFBRSxHQUFDNEM7b0RBQUMsT0FBSzt3REFBQzdCLEVBQUVkLEVBQUUsR0FBQzJDO29EQUFDO2dEQUFDOzRDQUFDO3dDQUFDLE9BQU0sSUFBR0YsTUFBSSxPQUFLNUIsRUFBRWxDLE1BQU0sSUFBRSxHQUFFOzRDQUFDLElBQUlpRSxJQUFFTixTQUFTekIsRUFBRVMsS0FBSzs0Q0FBSSxJQUFJdUIsSUFBRVAsU0FBU3pCLEVBQUVTLEtBQUs7NENBQUksSUFBSXdCLElBQUVSLFNBQVN6QixFQUFFUyxLQUFLOzRDQUFJLElBQUdzQixLQUFHLEtBQUdBLEtBQUcsT0FBS0MsS0FBRyxLQUFHQSxLQUFHLE9BQUtDLEtBQUcsS0FBR0EsS0FBRyxLQUFJO2dEQUFDLElBQUlDLElBQUVILElBQUUsT0FBS0MsSUFBRSxPQUFLQztnREFBRSxJQUFHLENBQUN2QyxHQUFFO29EQUFDLElBQUdpQyxHQUFFO3dEQUFDMUIsRUFBRWYsRUFBRSxHQUFDZ0Q7b0RBQUMsT0FBSzt3REFBQ2pDLEVBQUVkLEVBQUUsR0FBQytDO29EQUFDO2dEQUFDLE9BQUs7b0RBQUMsSUFBR1AsR0FBRTt3REFBQzFCLEVBQUVmLEVBQUUsR0FBQzt3REFBaUJlLEVBQUViLFlBQVksR0FBQzhDO29EQUFDLE9BQUs7d0RBQUNqQyxFQUFFZCxFQUFFLEdBQUM7d0RBQWlCYyxFQUFFWixZQUFZLEdBQUM2QztvREFBQztnREFBQzs0Q0FBQzt3Q0FBQztvQ0FBQztnQ0FBQzs0QkFBQzs0QkFBQyxJQUFHakMsRUFBRWYsRUFBRSxLQUFHLFFBQU1lLEVBQUVkLEVBQUUsS0FBRyxRQUFNYyxFQUFFcUIsVUFBVSxLQUFHLE1BQUs7Z0NBQUMsT0FBT3pCOzRCQUFDLE9BQUs7Z0NBQUMsSUFBSXNDLElBQUUsRUFBRTtnQ0FBQyxJQUFJQyxJQUFFLEVBQUU7Z0NBQUMsSUFBSUMsSUFBRSxDQUFDO2dDQUFFeEMsRUFBRVgsRUFBRSxHQUFDZSxFQUFFZixFQUFFO2dDQUFDVyxFQUFFVixFQUFFLEdBQUNjLEVBQUVkLEVBQUU7Z0NBQUNVLEVBQUVULFlBQVksR0FBQ2EsRUFBRWIsWUFBWTtnQ0FBQ1MsRUFBRVIsWUFBWSxHQUFDWSxFQUFFWixZQUFZO2dDQUFDUSxFQUFFeUIsVUFBVSxHQUFDckIsRUFBRXFCLFVBQVU7Z0NBQUN6QixFQUFFMEIsYUFBYSxHQUFDO2dDQUFLLE9BQU8xQjs0QkFBQzt3QkFBQztvQkFBQztvQkFBRTt3QkFBQ3hCLEtBQUk7d0JBQWVPLE9BQU0sU0FBU2lDLGFBQWFuRCxDQUFDLEVBQUNDLENBQUMsRUFBQ0UsQ0FBQzs0QkFBRSxJQUFJRSxJQUFFLElBQUk7NEJBQUMsSUFBSTJCLElBQUUsSUFBSTs0QkFBQy9CLElBQUVBLEtBQUcsQ0FBQzs0QkFBRSxJQUFJaUMsSUFBRSxJQUFJLENBQUNrQixnQkFBZ0IsQ0FBQ3BELEdBQUVDLEdBQUVFOzRCQUFHLElBQUdGLEVBQUUyQyxJQUFJLEVBQUM7Z0NBQUMsT0FBT1Y7NEJBQUM7NEJBQUMsSUFBR0EsRUFBRXVCLE9BQU8sSUFBRztnQ0FBQyxPQUFNOzRCQUFFOzRCQUFDLElBQUcsQ0FBQ3ZCLEVBQUUyQixhQUFhLEVBQUM7Z0NBQUMsT0FBTzNCLEVBQUVtQixPQUFPOzRCQUFBOzRCQUFDLElBQUlsQixJQUFFbEMsRUFBRTBELFdBQVc7NEJBQUMsSUFBSXZCLElBQUUsRUFBRTs0QkFBQyxJQUFJQyxJQUFFLEVBQUU7NEJBQUMsSUFBSUMsSUFBRSxDQUFDOzRCQUFFLElBQUlDLElBQUUsU0FBU3FDLFlBQVk1RSxDQUFDO2dDQUFFLElBQUlDLElBQUUsRUFBRTtnQ0FBQyxJQUFJRSxJQUFFLEtBQUs7Z0NBQUUsSUFBSUEsS0FBS0gsRUFBRTtvQ0FBQyxJQUFHQSxFQUFFNkUsY0FBYyxDQUFDMUUsSUFBRzt3Q0FBQ0YsRUFBRThCLElBQUksQ0FBQyxVQUFRNUIsSUFBRSxPQUFLRSxFQUFFYyxhQUFhLENBQUNuQixDQUFDLENBQUNHLEVBQUUsSUFBRTtvQ0FBSTtnQ0FBQztnQ0FBQyxPQUFPRixFQUFFRyxNQUFNLEdBQUMsSUFBRSxNQUFJSCxFQUFFeUQsSUFBSSxDQUFDLE9BQUs7NEJBQUU7NEJBQUUsSUFBR3hCLEVBQUVWLEVBQUUsRUFBQztnQ0FBQyxJQUFHVyxHQUFFO29DQUFDRSxFQUFFTixJQUFJLENBQUNHLEVBQUVWLEVBQUUsR0FBQztvQ0FBTyxJQUFHVSxFQUFFUixZQUFZLEtBQUcsTUFBSzt3Q0FBQ1ksQ0FBQyxDQUFDLG9CQUFvQixHQUFDSixFQUFFUixZQUFZO3dDQUFDUSxFQUFFUixZQUFZLEdBQUM7b0NBQUk7Z0NBQUMsT0FBSztvQ0FBQ1UsRUFBRUwsSUFBSSxDQUFDLGVBQWFHLEVBQUVWLEVBQUUsR0FBQztnQ0FBSTs0QkFBQzs0QkFBQyxJQUFHVSxFQUFFVCxFQUFFLEVBQUM7Z0NBQUMsSUFBR1UsR0FBRTtvQ0FBQ0UsRUFBRU4sSUFBSSxDQUFDRyxFQUFFVCxFQUFFLEdBQUM7b0NBQU8sSUFBR1MsRUFBRVAsWUFBWSxLQUFHLE1BQUs7d0NBQUNXLENBQUMsQ0FBQyxvQkFBb0IsR0FBQ0osRUFBRVAsWUFBWTt3Q0FBQ08sRUFBRVAsWUFBWSxHQUFDO29DQUFJO2dDQUFDLE9BQUs7b0NBQUNTLEVBQUVMLElBQUksQ0FBQywwQkFBd0JHLEVBQUVULEVBQUUsR0FBQztnQ0FBSTs0QkFBQzs0QkFBQyxJQUFHUyxFQUFFMEIsVUFBVSxFQUFDO2dDQUFDLElBQUd6QixHQUFFO29DQUFDRSxFQUFFTixJQUFJLENBQUMsVUFBUUcsRUFBRTBCLFVBQVU7Z0NBQUMsT0FBTSxJQUFHMUIsRUFBRTBCLFVBQVUsS0FBRyxRQUFPO29DQUFDeEIsRUFBRUwsSUFBSSxDQUFDO2dDQUFtQixPQUFNLElBQUdHLEVBQUUwQixVQUFVLEtBQUcsT0FBTTtvQ0FBQ3hCLEVBQUVMLElBQUksQ0FBQztnQ0FBYyxPQUFNLElBQUdHLEVBQUUwQixVQUFVLEtBQUcsVUFBUztvQ0FBQ3hCLEVBQUVMLElBQUksQ0FBQztnQ0FBb0IsT0FBTSxJQUFHRyxFQUFFMEIsVUFBVSxLQUFHLFdBQVU7b0NBQUN4QixFQUFFTCxJQUFJLENBQUM7Z0NBQXNCLE9BQU0sSUFBR0csRUFBRTBCLFVBQVUsS0FBRyxVQUFTO29DQUFDeEIsRUFBRUwsSUFBSSxDQUFDO2dDQUFvQixPQUFNLElBQUdHLEVBQUUwQixVQUFVLEtBQUcsaUJBQWdCO29DQUFDeEIsRUFBRUwsSUFBSSxDQUFDO2dDQUErQixPQUFLO29DQUFDSyxFQUFFTCxJQUFJLENBQUMscUJBQW1CRyxFQUFFMEIsVUFBVTtnQ0FBQzs0QkFBQzs0QkFBQyxJQUFHekIsR0FBRTtnQ0FBQyxPQUFNLGtCQUFnQkUsRUFBRXFCLElBQUksQ0FBQyxPQUFLLE1BQUluQixFQUFFRCxLQUFHLE1BQUlKLEVBQUVtQixPQUFPLEdBQUM7NEJBQVMsT0FBSztnQ0FBQyxPQUFNLGtCQUFnQmpCLEVBQUVzQixJQUFJLENBQUMsT0FBSyxNQUFJbkIsRUFBRUQsS0FBRyxNQUFJSixFQUFFbUIsT0FBTyxHQUFDOzRCQUFTO3dCQUFDO29CQUFDO2lCQUFFO2dCQUFFLE9BQU9wQztZQUFLO1lBQUlqQixFQUFFOEUsT0FBTyxHQUFDekU7UUFBQztJQUFDO0lBQUUsSUFBSUosSUFBRSxDQUFDO0lBQUUsU0FBUzhFLG9CQUFvQjVFLENBQUM7UUFBRSxJQUFJRSxJQUFFSixDQUFDLENBQUNFLEVBQUU7UUFBQyxJQUFHRSxNQUFJMkMsV0FBVTtZQUFDLE9BQU8zQyxFQUFFeUUsT0FBTztRQUFBO1FBQUMsSUFBSTlDLElBQUUvQixDQUFDLENBQUNFLEVBQUUsR0FBQztZQUFDMkUsU0FBUSxDQUFDO1FBQUM7UUFBRSxJQUFJNUMsSUFBRTtRQUFLLElBQUc7WUFBQ2xDLENBQUMsQ0FBQ0csRUFBRSxDQUFDNkIsR0FBRUEsRUFBRThDLE9BQU8sRUFBQ0M7WUFBcUI3QyxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT2pDLENBQUMsQ0FBQ0UsRUFBRTtRQUFBO1FBQUMsT0FBTzZCLEVBQUU4QyxPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9DLHdCQUFzQixhQUFZQSxvQkFBb0JDLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUk5RSxJQUFFNEUsb0JBQW9CO0lBQUtHLE9BQU9KLE9BQU8sR0FBQzNFO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9hbnNlci9pbmRleC5qcz80MmRkIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO3ZhciBlPXsyMTE6ZT0+e3ZhciByPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZGVmaW5lUHJvcGVydGllcyhlLHIpe2Zvcih2YXIgbj0wO248ci5sZW5ndGg7bisrKXt2YXIgcz1yW25dO3MuZW51bWVyYWJsZT1zLmVudW1lcmFibGV8fGZhbHNlO3MuY29uZmlndXJhYmxlPXRydWU7aWYoXCJ2YWx1ZVwiaW4gcylzLndyaXRhYmxlPXRydWU7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUscy5rZXkscyl9fXJldHVybiBmdW5jdGlvbihlLHIsbil7aWYocilkZWZpbmVQcm9wZXJ0aWVzKGUucHJvdG90eXBlLHIpO2lmKG4pZGVmaW5lUHJvcGVydGllcyhlLG4pO3JldHVybiBlfX0oKTtmdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soZSxyKXtpZighKGUgaW5zdGFuY2VvZiByKSl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX19dmFyIG49W1t7Y29sb3I6XCIwLCAwLCAwXCIsY2xhc3M6XCJhbnNpLWJsYWNrXCJ9LHtjb2xvcjpcIjE4NywgMCwgMFwiLGNsYXNzOlwiYW5zaS1yZWRcIn0se2NvbG9yOlwiMCwgMTg3LCAwXCIsY2xhc3M6XCJhbnNpLWdyZWVuXCJ9LHtjb2xvcjpcIjE4NywgMTg3LCAwXCIsY2xhc3M6XCJhbnNpLXllbGxvd1wifSx7Y29sb3I6XCIwLCAwLCAxODdcIixjbGFzczpcImFuc2ktYmx1ZVwifSx7Y29sb3I6XCIxODcsIDAsIDE4N1wiLGNsYXNzOlwiYW5zaS1tYWdlbnRhXCJ9LHtjb2xvcjpcIjAsIDE4NywgMTg3XCIsY2xhc3M6XCJhbnNpLWN5YW5cIn0se2NvbG9yOlwiMjU1LDI1NSwyNTVcIixjbGFzczpcImFuc2ktd2hpdGVcIn1dLFt7Y29sb3I6XCI4NSwgODUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1ibGFja1wifSx7Y29sb3I6XCIyNTUsIDg1LCA4NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtcmVkXCJ9LHtjb2xvcjpcIjAsIDI1NSwgMFwiLGNsYXNzOlwiYW5zaS1icmlnaHQtZ3JlZW5cIn0se2NvbG9yOlwiMjU1LCAyNTUsIDg1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC15ZWxsb3dcIn0se2NvbG9yOlwiODUsIDg1LCAyNTVcIixjbGFzczpcImFuc2ktYnJpZ2h0LWJsdWVcIn0se2NvbG9yOlwiMjU1LCA4NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC1tYWdlbnRhXCJ9LHtjb2xvcjpcIjg1LCAyNTUsIDI1NVwiLGNsYXNzOlwiYW5zaS1icmlnaHQtY3lhblwifSx7Y29sb3I6XCIyNTUsIDI1NSwgMjU1XCIsY2xhc3M6XCJhbnNpLWJyaWdodC13aGl0ZVwifV1dO3ZhciBzPWZ1bmN0aW9uKCl7cihBbnNlcixudWxsLFt7a2V5OlwiZXNjYXBlRm9ySHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGVzY2FwZUZvckh0bWwoZSl7cmV0dXJuKG5ldyBBbnNlcikuZXNjYXBlRm9ySHRtbChlKX19LHtrZXk6XCJsaW5raWZ5XCIsdmFsdWU6ZnVuY3Rpb24gbGlua2lmeShlKXtyZXR1cm4obmV3IEFuc2VyKS5saW5raWZ5KGUpfX0se2tleTpcImFuc2lUb0h0bWxcIix2YWx1ZTpmdW5jdGlvbiBhbnNpVG9IdG1sKGUscil7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvSHRtbChlLHIpfX0se2tleTpcImFuc2lUb0pzb25cIix2YWx1ZTpmdW5jdGlvbiBhbnNpVG9Kc29uKGUscil7cmV0dXJuKG5ldyBBbnNlcikuYW5zaVRvSnNvbihlLHIpfX0se2tleTpcImFuc2lUb1RleHRcIix2YWx1ZTpmdW5jdGlvbiBhbnNpVG9UZXh0KGUpe3JldHVybihuZXcgQW5zZXIpLmFuc2lUb1RleHQoZSl9fV0pO2Z1bmN0aW9uIEFuc2VyKCl7X2NsYXNzQ2FsbENoZWNrKHRoaXMsQW5zZXIpO3RoaXMuZmc9dGhpcy5iZz10aGlzLmZnX3RydWVjb2xvcj10aGlzLmJnX3RydWVjb2xvcj1udWxsO3RoaXMuYnJpZ2h0PTB9cihBbnNlcixbe2tleTpcInNldHVwUGFsZXR0ZVwiLHZhbHVlOmZ1bmN0aW9uIHNldHVwUGFsZXR0ZSgpe3RoaXMuUEFMRVRURV9DT0xPUlM9W107Zm9yKHZhciBlPTA7ZTwyOysrZSl7Zm9yKHZhciByPTA7cjw4Oysrcil7dGhpcy5QQUxFVFRFX0NPTE9SUy5wdXNoKG5bZV1bcl0uY29sb3IpfX12YXIgcz1bMCw5NSwxMzUsMTc1LDIxNSwyNTVdO3ZhciBpPWZ1bmN0aW9uIGZvcm1hdChlLHIsbil7cmV0dXJuIHNbZV0rXCIsIFwiK3Nbcl0rXCIsIFwiK3Nbbl19O3ZhciB0PXZvaWQgMCxvPXZvaWQgMCxhPXZvaWQgMDtmb3IodmFyIGw9MDtsPDY7KytsKXtmb3IodmFyIGM9MDtjPDY7KytjKXtmb3IodmFyIHU9MDt1PDY7Kyt1KXt0aGlzLlBBTEVUVEVfQ09MT1JTLnB1c2goaShsLGMsdSkpfX19dmFyIGY9ODtmb3IodmFyIGg9MDtoPDI0OysraCxmKz0xMCl7dGhpcy5QQUxFVFRFX0NPTE9SUy5wdXNoKGkoZixmLGYpKX19fSx7a2V5OlwiZXNjYXBlRm9ySHRtbFwiLHZhbHVlOmZ1bmN0aW9uIGVzY2FwZUZvckh0bWwoZSl7cmV0dXJuIGUucmVwbGFjZSgvWyY8Pl0vZ20sKGZ1bmN0aW9uKGUpe3JldHVybiBlPT1cIiZcIj9cIiZhbXA7XCI6ZT09XCI8XCI/XCImbHQ7XCI6ZT09XCI+XCI/XCImZ3Q7XCI6XCJcIn0pKX19LHtrZXk6XCJsaW5raWZ5XCIsdmFsdWU6ZnVuY3Rpb24gbGlua2lmeShlKXtyZXR1cm4gZS5yZXBsYWNlKC8oaHR0cHM/OlxcL1xcL1teXFxzXSspL2dtLChmdW5jdGlvbihlKXtyZXR1cm4nPGEgaHJlZj1cIicrZSsnXCI+JytlK1wiPC9hPlwifSkpfX0se2tleTpcImFuc2lUb0h0bWxcIix2YWx1ZTpmdW5jdGlvbiBhbnNpVG9IdG1sKGUscil7cmV0dXJuIHRoaXMucHJvY2VzcyhlLHIsdHJ1ZSl9fSx7a2V5OlwiYW5zaVRvSnNvblwiLHZhbHVlOmZ1bmN0aW9uIGFuc2lUb0pzb24oZSxyKXtyPXJ8fHt9O3IuanNvbj10cnVlO3IuY2xlYXJMaW5lPWZhbHNlO3JldHVybiB0aGlzLnByb2Nlc3MoZSxyLHRydWUpfX0se2tleTpcImFuc2lUb1RleHRcIix2YWx1ZTpmdW5jdGlvbiBhbnNpVG9UZXh0KGUpe3JldHVybiB0aGlzLnByb2Nlc3MoZSx7fSxmYWxzZSl9fSx7a2V5OlwicHJvY2Vzc1wiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3MoZSxyLG4pe3ZhciBzPXRoaXM7dmFyIGk9dGhpczt2YXIgdD1lLnNwbGl0KC9cXDAzM1xcWy8pO3ZhciBvPXQuc2hpZnQoKTtpZihyPT09dW5kZWZpbmVkfHxyPT09bnVsbCl7cj17fX1yLmNsZWFyTGluZT0vXFxyLy50ZXN0KGUpO3ZhciBhPXQubWFwKChmdW5jdGlvbihlKXtyZXR1cm4gcy5wcm9jZXNzQ2h1bmsoZSxyLG4pfSkpO2lmKHImJnIuanNvbil7dmFyIGw9aS5wcm9jZXNzQ2h1bmtKc29uKFwiXCIpO2wuY29udGVudD1vO2wuY2xlYXJMaW5lPXIuY2xlYXJMaW5lO2EudW5zaGlmdChsKTtpZihyLnJlbW92ZV9lbXB0eSl7YT1hLmZpbHRlcigoZnVuY3Rpb24oZSl7cmV0dXJuIWUuaXNFbXB0eSgpfSkpfXJldHVybiBhfWVsc2V7YS51bnNoaWZ0KG8pfXJldHVybiBhLmpvaW4oXCJcIil9fSx7a2V5OlwicHJvY2Vzc0NodW5rSnNvblwiLHZhbHVlOmZ1bmN0aW9uIHByb2Nlc3NDaHVua0pzb24oZSxyLHMpe3I9dHlwZW9mIHI9PVwidW5kZWZpbmVkXCI/e306cjt2YXIgaT1yLnVzZV9jbGFzc2VzPXR5cGVvZiByLnVzZV9jbGFzc2VzIT1cInVuZGVmaW5lZFwiJiZyLnVzZV9jbGFzc2VzO3ZhciB0PXIua2V5PWk/XCJjbGFzc1wiOlwiY29sb3JcIjt2YXIgbz17Y29udGVudDplLGZnOm51bGwsYmc6bnVsbCxmZ190cnVlY29sb3I6bnVsbCxiZ190cnVlY29sb3I6bnVsbCxjbGVhckxpbmU6ci5jbGVhckxpbmUsZGVjb3JhdGlvbjpudWxsLHdhc19wcm9jZXNzZWQ6ZmFsc2UsaXNFbXB0eTpmdW5jdGlvbiBpc0VtcHR5KCl7cmV0dXJuIW8uY29udGVudH19O3ZhciBhPWUubWF0Y2goL14oWyFcXHgzYy1cXHgzZl0qKShbXFxkO10qKShbXFx4MjAtXFx4MmNdKltcXHg0MC1cXHg3ZV0pKFtcXHNcXFNdKikvbSk7aWYoIWEpcmV0dXJuIG87dmFyIGw9by5jb250ZW50PWFbNF07dmFyIGM9YVsyXS5zcGxpdChcIjtcIik7aWYoYVsxXSE9PVwiXCJ8fGFbM10hPT1cIm1cIil7cmV0dXJuIG99aWYoIXMpe3JldHVybiBvfXZhciB1PXRoaXM7dS5kZWNvcmF0aW9uPW51bGw7d2hpbGUoYy5sZW5ndGg+MCl7dmFyIGY9Yy5zaGlmdCgpO3ZhciBoPXBhcnNlSW50KGYpO2lmKGlzTmFOKGgpfHxoPT09MCl7dS5mZz11LmJnPXUuZGVjb3JhdGlvbj1udWxsfWVsc2UgaWYoaD09PTEpe3UuZGVjb3JhdGlvbj1cImJvbGRcIn1lbHNlIGlmKGg9PT0yKXt1LmRlY29yYXRpb249XCJkaW1cIn1lbHNlIGlmKGg9PTMpe3UuZGVjb3JhdGlvbj1cIml0YWxpY1wifWVsc2UgaWYoaD09NCl7dS5kZWNvcmF0aW9uPVwidW5kZXJsaW5lXCJ9ZWxzZSBpZihoPT01KXt1LmRlY29yYXRpb249XCJibGlua1wifWVsc2UgaWYoaD09PTcpe3UuZGVjb3JhdGlvbj1cInJldmVyc2VcIn1lbHNlIGlmKGg9PT04KXt1LmRlY29yYXRpb249XCJoaWRkZW5cIn1lbHNlIGlmKGg9PT05KXt1LmRlY29yYXRpb249XCJzdHJpa2V0aHJvdWdoXCJ9ZWxzZSBpZihoPT0zOSl7dS5mZz1udWxsfWVsc2UgaWYoaD09NDkpe3UuYmc9bnVsbH1lbHNlIGlmKGg+PTMwJiZoPDM4KXt1LmZnPW5bMF1baCUxMF1bdF19ZWxzZSBpZihoPj05MCYmaDw5OCl7dS5mZz1uWzFdW2glMTBdW3RdfWVsc2UgaWYoaD49NDAmJmg8NDgpe3UuYmc9blswXVtoJTEwXVt0XX1lbHNlIGlmKGg+PTEwMCYmaDwxMDgpe3UuYmc9blsxXVtoJTEwXVt0XX1lbHNlIGlmKGg9PT0zOHx8aD09PTQ4KXt2YXIgcD1oPT09Mzg7aWYoYy5sZW5ndGg+PTEpe3ZhciBnPWMuc2hpZnQoKTtpZihnPT09XCI1XCImJmMubGVuZ3RoPj0xKXt2YXIgdj1wYXJzZUludChjLnNoaWZ0KCkpO2lmKHY+PTAmJnY8PTI1NSl7aWYoIWkpe2lmKCF0aGlzLlBBTEVUVEVfQ09MT1JTKXt1LnNldHVwUGFsZXR0ZSgpfWlmKHApe3UuZmc9dGhpcy5QQUxFVFRFX0NPTE9SU1t2XX1lbHNle3UuYmc9dGhpcy5QQUxFVFRFX0NPTE9SU1t2XX19ZWxzZXt2YXIgZD12Pj0xNj9cImFuc2ktcGFsZXR0ZS1cIit2Om5bdj43PzE6MF1bdiU4XVtcImNsYXNzXCJdO2lmKHApe3UuZmc9ZH1lbHNle3UuYmc9ZH19fX1lbHNlIGlmKGc9PT1cIjJcIiYmYy5sZW5ndGg+PTMpe3ZhciBfPXBhcnNlSW50KGMuc2hpZnQoKSk7dmFyIGI9cGFyc2VJbnQoYy5zaGlmdCgpKTt2YXIgeT1wYXJzZUludChjLnNoaWZ0KCkpO2lmKF8+PTAmJl88PTI1NSYmYj49MCYmYjw9MjU1JiZ5Pj0wJiZ5PD0yNTUpe3ZhciBrPV8rXCIsIFwiK2IrXCIsIFwiK3k7aWYoIWkpe2lmKHApe3UuZmc9a31lbHNle3UuYmc9a319ZWxzZXtpZihwKXt1LmZnPVwiYW5zaS10cnVlY29sb3JcIjt1LmZnX3RydWVjb2xvcj1rfWVsc2V7dS5iZz1cImFuc2ktdHJ1ZWNvbG9yXCI7dS5iZ190cnVlY29sb3I9a319fX19fX1pZih1LmZnPT09bnVsbCYmdS5iZz09PW51bGwmJnUuZGVjb3JhdGlvbj09PW51bGwpe3JldHVybiBvfWVsc2V7dmFyIFQ9W107dmFyIG09W107dmFyIHc9e307by5mZz11LmZnO28uYmc9dS5iZztvLmZnX3RydWVjb2xvcj11LmZnX3RydWVjb2xvcjtvLmJnX3RydWVjb2xvcj11LmJnX3RydWVjb2xvcjtvLmRlY29yYXRpb249dS5kZWNvcmF0aW9uO28ud2FzX3Byb2Nlc3NlZD10cnVlO3JldHVybiBvfX19LHtrZXk6XCJwcm9jZXNzQ2h1bmtcIix2YWx1ZTpmdW5jdGlvbiBwcm9jZXNzQ2h1bmsoZSxyLG4pe3ZhciBzPXRoaXM7dmFyIGk9dGhpcztyPXJ8fHt9O3ZhciB0PXRoaXMucHJvY2Vzc0NodW5rSnNvbihlLHIsbik7aWYoci5qc29uKXtyZXR1cm4gdH1pZih0LmlzRW1wdHkoKSl7cmV0dXJuXCJcIn1pZighdC53YXNfcHJvY2Vzc2VkKXtyZXR1cm4gdC5jb250ZW50fXZhciBvPXIudXNlX2NsYXNzZXM7dmFyIGE9W107dmFyIGw9W107dmFyIGM9e307dmFyIHU9ZnVuY3Rpb24gcmVuZGVyX2RhdGEoZSl7dmFyIHI9W107dmFyIG49dm9pZCAwO2ZvcihuIGluIGUpe2lmKGUuaGFzT3duUHJvcGVydHkobikpe3IucHVzaChcImRhdGEtXCIrbisnPVwiJytzLmVzY2FwZUZvckh0bWwoZVtuXSkrJ1wiJyl9fXJldHVybiByLmxlbmd0aD4wP1wiIFwiK3Iuam9pbihcIiBcIik6XCJcIn07aWYodC5mZyl7aWYobyl7bC5wdXNoKHQuZmcrXCItZmdcIik7aWYodC5mZ190cnVlY29sb3IhPT1udWxsKXtjW1wiYW5zaS10cnVlY29sb3ItZmdcIl09dC5mZ190cnVlY29sb3I7dC5mZ190cnVlY29sb3I9bnVsbH19ZWxzZXthLnB1c2goXCJjb2xvcjpyZ2IoXCIrdC5mZytcIilcIil9fWlmKHQuYmcpe2lmKG8pe2wucHVzaCh0LmJnK1wiLWJnXCIpO2lmKHQuYmdfdHJ1ZWNvbG9yIT09bnVsbCl7Y1tcImFuc2ktdHJ1ZWNvbG9yLWJnXCJdPXQuYmdfdHJ1ZWNvbG9yO3QuYmdfdHJ1ZWNvbG9yPW51bGx9fWVsc2V7YS5wdXNoKFwiYmFja2dyb3VuZC1jb2xvcjpyZ2IoXCIrdC5iZytcIilcIil9fWlmKHQuZGVjb3JhdGlvbil7aWYobyl7bC5wdXNoKFwiYW5zaS1cIit0LmRlY29yYXRpb24pfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJib2xkXCIpe2EucHVzaChcImZvbnQtd2VpZ2h0OmJvbGRcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImRpbVwiKXthLnB1c2goXCJvcGFjaXR5OjAuNVwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwiaXRhbGljXCIpe2EucHVzaChcImZvbnQtc3R5bGU6aXRhbGljXCIpfWVsc2UgaWYodC5kZWNvcmF0aW9uPT09XCJyZXZlcnNlXCIpe2EucHVzaChcImZpbHRlcjppbnZlcnQoMTAwJSlcIil9ZWxzZSBpZih0LmRlY29yYXRpb249PT1cImhpZGRlblwiKXthLnB1c2goXCJ2aXNpYmlsaXR5OmhpZGRlblwiKX1lbHNlIGlmKHQuZGVjb3JhdGlvbj09PVwic3RyaWtldGhyb3VnaFwiKXthLnB1c2goXCJ0ZXh0LWRlY29yYXRpb246bGluZS10aHJvdWdoXCIpfWVsc2V7YS5wdXNoKFwidGV4dC1kZWNvcmF0aW9uOlwiK3QuZGVjb3JhdGlvbil9fWlmKG8pe3JldHVybic8c3BhbiBjbGFzcz1cIicrbC5qb2luKFwiIFwiKSsnXCInK3UoYykrXCI+XCIrdC5jb250ZW50K1wiPC9zcGFuPlwifWVsc2V7cmV0dXJuJzxzcGFuIHN0eWxlPVwiJythLmpvaW4oXCI7XCIpKydcIicrdShjKStcIj5cIit0LmNvbnRlbnQrXCI8L3NwYW4+XCJ9fX1dKTtyZXR1cm4gQW5zZXJ9KCk7ZS5leHBvcnRzPXN9fTt2YXIgcj17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKG4pe3ZhciBzPXJbbl07aWYocyE9PXVuZGVmaW5lZCl7cmV0dXJuIHMuZXhwb3J0c312YXIgaT1yW25dPXtleHBvcnRzOnt9fTt2YXIgdD10cnVlO3RyeXtlW25dKGksaS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3Q9ZmFsc2V9ZmluYWxseXtpZih0KWRlbGV0ZSByW25dfXJldHVybiBpLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciBuPV9fbmNjd3Bja19yZXF1aXJlX18oMjExKTttb2R1bGUuZXhwb3J0cz1ufSkoKTsiXSwibmFtZXMiOlsiZSIsInIiLCJkZWZpbmVQcm9wZXJ0aWVzIiwibiIsImxlbmd0aCIsInMiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImtleSIsInByb3RvdHlwZSIsIl9jbGFzc0NhbGxDaGVjayIsIlR5cGVFcnJvciIsImNvbG9yIiwiY2xhc3MiLCJBbnNlciIsInZhbHVlIiwiZXNjYXBlRm9ySHRtbCIsImxpbmtpZnkiLCJhbnNpVG9IdG1sIiwiYW5zaVRvSnNvbiIsImFuc2lUb1RleHQiLCJmZyIsImJnIiwiZmdfdHJ1ZWNvbG9yIiwiYmdfdHJ1ZWNvbG9yIiwiYnJpZ2h0Iiwic2V0dXBQYWxldHRlIiwiUEFMRVRURV9DT0xPUlMiLCJwdXNoIiwiaSIsImZvcm1hdCIsInQiLCJvIiwiYSIsImwiLCJjIiwidSIsImYiLCJoIiwicmVwbGFjZSIsInByb2Nlc3MiLCJqc29uIiwiY2xlYXJMaW5lIiwic3BsaXQiLCJzaGlmdCIsInVuZGVmaW5lZCIsInRlc3QiLCJtYXAiLCJwcm9jZXNzQ2h1bmsiLCJwcm9jZXNzQ2h1bmtKc29uIiwiY29udGVudCIsInVuc2hpZnQiLCJyZW1vdmVfZW1wdHkiLCJmaWx0ZXIiLCJpc0VtcHR5Iiwiam9pbiIsInVzZV9jbGFzc2VzIiwiZGVjb3JhdGlvbiIsIndhc19wcm9jZXNzZWQiLCJtYXRjaCIsInBhcnNlSW50IiwiaXNOYU4iLCJwIiwiZyIsInYiLCJkIiwiXyIsImIiLCJ5IiwiayIsIlQiLCJtIiwidyIsInJlbmRlcl9kYXRhIiwiaGFzT3duUHJvcGVydHkiLCJleHBvcnRzIiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsImFiIiwiX19kaXJuYW1lIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/anser/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/compiled/css.escape/css.escape.js ***! \******************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n var e = {\n 553: function(e) {\n (function(r, t) {\n if (true) {\n e.exports = t(r);\n } else {}\n })(typeof global != \"undefined\" ? global : this, function(e) {\n if (e.CSS && e.CSS.escape) {\n return e.CSS.escape;\n }\n var cssEscape = function(e) {\n if (arguments.length == 0) {\n throw new TypeError(\"`CSS.escape` requires an argument.\");\n }\n var r = String(e);\n var t = r.length;\n var n = -1;\n var a;\n var i = \"\";\n var u = r.charCodeAt(0);\n while(++n < t){\n a = r.charCodeAt(n);\n if (a == 0) {\n i += \"�\";\n continue;\n }\n if (a >= 1 && a <= 31 || a == 127 || n == 0 && a >= 48 && a <= 57 || n == 1 && a >= 48 && a <= 57 && u == 45) {\n i += \"\\\\\" + a.toString(16) + \" \";\n continue;\n }\n if (n == 0 && t == 1 && a == 45) {\n i += \"\\\\\" + r.charAt(n);\n continue;\n }\n if (a >= 128 || a == 45 || a == 95 || a >= 48 && a <= 57 || a >= 65 && a <= 90 || a >= 97 && a <= 122) {\n i += r.charAt(n);\n continue;\n }\n i += \"\\\\\" + r.charAt(n);\n }\n return i;\n };\n if (!e.CSS) {\n e.CSS = {};\n }\n e.CSS.escape = cssEscape;\n return cssEscape;\n });\n }\n };\n var r = {};\n function __nccwpck_require__(t) {\n var n = r[t];\n if (n !== undefined) {\n return n.exports;\n }\n var a = r[t] = {\n exports: {}\n };\n var i = true;\n try {\n e[t].call(a.exports, a, a.exports, __nccwpck_require__);\n i = false;\n } finally{\n if (i) delete r[t];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var t = __nccwpck_require__(553);\n module.exports = t;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nzcy5lc2NhcGUvY3NzLmVzY2FwZS5qcyIsIm1hcHBpbmdzIjoiO0FBQUM7SUFBSyxJQUFJQSxJQUFFO1FBQUMsS0FBSSxTQUFTQSxDQUFDO1lBQUcsVUFBU0MsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFLElBQUcsSUFBSSxFQUFDO29CQUFDRixFQUFFRyxPQUFPLEdBQUNELEVBQUVEO2dCQUFFLE9BQUssRUFBRTtZQUFBLEdBQUcsT0FBT0csVUFBUSxjQUFZQSxTQUFPLElBQUksRUFBRSxTQUFTSixDQUFDO2dCQUFFLElBQUdBLEVBQUVLLEdBQUcsSUFBRUwsRUFBRUssR0FBRyxDQUFDQyxNQUFNLEVBQUM7b0JBQUMsT0FBT04sRUFBRUssR0FBRyxDQUFDQyxNQUFNO2dCQUFBO2dCQUFDLElBQUlDLFlBQVUsU0FBU1AsQ0FBQztvQkFBRSxJQUFHUSxVQUFVQyxNQUFNLElBQUUsR0FBRTt3QkFBQyxNQUFNLElBQUlDLFVBQVU7b0JBQXFDO29CQUFDLElBQUlULElBQUVVLE9BQU9YO29CQUFHLElBQUlFLElBQUVELEVBQUVRLE1BQU07b0JBQUMsSUFBSUcsSUFBRSxDQUFDO29CQUFFLElBQUlDO29CQUFFLElBQUlDLElBQUU7b0JBQUcsSUFBSUMsSUFBRWQsRUFBRWUsVUFBVSxDQUFDO29CQUFHLE1BQU0sRUFBRUosSUFBRVYsRUFBRTt3QkFBQ1csSUFBRVosRUFBRWUsVUFBVSxDQUFDSjt3QkFBRyxJQUFHQyxLQUFHLEdBQUU7NEJBQUNDLEtBQUc7NEJBQUk7d0JBQVE7d0JBQUMsSUFBR0QsS0FBRyxLQUFHQSxLQUFHLE1BQUlBLEtBQUcsT0FBS0QsS0FBRyxLQUFHQyxLQUFHLE1BQUlBLEtBQUcsTUFBSUQsS0FBRyxLQUFHQyxLQUFHLE1BQUlBLEtBQUcsTUFBSUUsS0FBRyxJQUFHOzRCQUFDRCxLQUFHLE9BQUtELEVBQUVJLFFBQVEsQ0FBQyxNQUFJOzRCQUFJO3dCQUFRO3dCQUFDLElBQUdMLEtBQUcsS0FBR1YsS0FBRyxLQUFHVyxLQUFHLElBQUc7NEJBQUNDLEtBQUcsT0FBS2IsRUFBRWlCLE1BQU0sQ0FBQ047NEJBQUc7d0JBQVE7d0JBQUMsSUFBR0MsS0FBRyxPQUFLQSxLQUFHLE1BQUlBLEtBQUcsTUFBSUEsS0FBRyxNQUFJQSxLQUFHLE1BQUlBLEtBQUcsTUFBSUEsS0FBRyxNQUFJQSxLQUFHLE1BQUlBLEtBQUcsS0FBSTs0QkFBQ0MsS0FBR2IsRUFBRWlCLE1BQU0sQ0FBQ047NEJBQUc7d0JBQVE7d0JBQUNFLEtBQUcsT0FBS2IsRUFBRWlCLE1BQU0sQ0FBQ047b0JBQUU7b0JBQUMsT0FBT0U7Z0JBQUM7Z0JBQUUsSUFBRyxDQUFDZCxFQUFFSyxHQUFHLEVBQUM7b0JBQUNMLEVBQUVLLEdBQUcsR0FBQyxDQUFDO2dCQUFDO2dCQUFDTCxFQUFFSyxHQUFHLENBQUNDLE1BQU0sR0FBQ0M7Z0JBQVUsT0FBT0E7WUFBUztRQUFHO0lBQUM7SUFBRSxJQUFJTixJQUFFLENBQUM7SUFBRSxTQUFTa0Isb0JBQW9CakIsQ0FBQztRQUFFLElBQUlVLElBQUVYLENBQUMsQ0FBQ0MsRUFBRTtRQUFDLElBQUdVLE1BQUlRLFdBQVU7WUFBQyxPQUFPUixFQUFFVCxPQUFPO1FBQUE7UUFBQyxJQUFJVSxJQUFFWixDQUFDLENBQUNDLEVBQUUsR0FBQztZQUFDQyxTQUFRLENBQUM7UUFBQztRQUFFLElBQUlXLElBQUU7UUFBSyxJQUFHO1lBQUNkLENBQUMsQ0FBQ0UsRUFBRSxDQUFDbUIsSUFBSSxDQUFDUixFQUFFVixPQUFPLEVBQUNVLEdBQUVBLEVBQUVWLE9BQU8sRUFBQ2dCO1lBQXFCTCxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT2IsQ0FBQyxDQUFDQyxFQUFFO1FBQUE7UUFBQyxPQUFPVyxFQUFFVixPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9nQix3QkFBc0IsYUFBWUEsb0JBQW9CRyxFQUFFLEdBQUNDLFlBQVU7SUFBSSxJQUFJckIsSUFBRWlCLG9CQUFvQjtJQUFLSyxPQUFPckIsT0FBTyxHQUFDRDtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvY3NzLmVzY2FwZS9jc3MuZXNjYXBlLmpzPzQ3MzMiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57dmFyIGU9ezU1MzpmdW5jdGlvbihlKXsoZnVuY3Rpb24ocix0KXtpZih0cnVlKXtlLmV4cG9ydHM9dChyKX1lbHNle319KSh0eXBlb2YgZ2xvYmFsIT1cInVuZGVmaW5lZFwiP2dsb2JhbDp0aGlzLChmdW5jdGlvbihlKXtpZihlLkNTUyYmZS5DU1MuZXNjYXBlKXtyZXR1cm4gZS5DU1MuZXNjYXBlfXZhciBjc3NFc2NhcGU9ZnVuY3Rpb24oZSl7aWYoYXJndW1lbnRzLmxlbmd0aD09MCl7dGhyb3cgbmV3IFR5cGVFcnJvcihcImBDU1MuZXNjYXBlYCByZXF1aXJlcyBhbiBhcmd1bWVudC5cIil9dmFyIHI9U3RyaW5nKGUpO3ZhciB0PXIubGVuZ3RoO3ZhciBuPS0xO3ZhciBhO3ZhciBpPVwiXCI7dmFyIHU9ci5jaGFyQ29kZUF0KDApO3doaWxlKCsrbjx0KXthPXIuY2hhckNvZGVBdChuKTtpZihhPT0wKXtpKz1cIu+/vVwiO2NvbnRpbnVlfWlmKGE+PTEmJmE8PTMxfHxhPT0xMjd8fG49PTAmJmE+PTQ4JiZhPD01N3x8bj09MSYmYT49NDgmJmE8PTU3JiZ1PT00NSl7aSs9XCJcXFxcXCIrYS50b1N0cmluZygxNikrXCIgXCI7Y29udGludWV9aWYobj09MCYmdD09MSYmYT09NDUpe2krPVwiXFxcXFwiK3IuY2hhckF0KG4pO2NvbnRpbnVlfWlmKGE+PTEyOHx8YT09NDV8fGE9PTk1fHxhPj00OCYmYTw9NTd8fGE+PTY1JiZhPD05MHx8YT49OTcmJmE8PTEyMil7aSs9ci5jaGFyQXQobik7Y29udGludWV9aSs9XCJcXFxcXCIrci5jaGFyQXQobil9cmV0dXJuIGl9O2lmKCFlLkNTUyl7ZS5DU1M9e319ZS5DU1MuZXNjYXBlPWNzc0VzY2FwZTtyZXR1cm4gY3NzRXNjYXBlfSkpfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyh0KXt2YXIgbj1yW3RdO2lmKG4hPT11bmRlZmluZWQpe3JldHVybiBuLmV4cG9ydHN9dmFyIGE9clt0XT17ZXhwb3J0czp7fX07dmFyIGk9dHJ1ZTt0cnl7ZVt0XS5jYWxsKGEuZXhwb3J0cyxhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtpPWZhbHNlfWZpbmFsbHl7aWYoaSlkZWxldGUgclt0XX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgdD1fX25jY3dwY2tfcmVxdWlyZV9fKDU1Myk7bW9kdWxlLmV4cG9ydHM9dH0pKCk7Il0sIm5hbWVzIjpbImUiLCJyIiwidCIsImV4cG9ydHMiLCJnbG9iYWwiLCJDU1MiLCJlc2NhcGUiLCJjc3NFc2NhcGUiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJUeXBlRXJyb3IiLCJTdHJpbmciLCJuIiwiYSIsImkiLCJ1IiwiY2hhckNvZGVBdCIsInRvU3RyaW5nIiwiY2hhckF0IiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsInVuZGVmaW5lZCIsImNhbGwiLCJhYiIsIl9fZGlybmFtZSIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/micromatch/index.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/compiled/micromatch/index.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 333: (e, t, r)=>{\n const n = r(137);\n const u = r(179);\n const s = r(13);\n const o = r(719);\n const braces = (e, t = {})=>{\n let r = [];\n if (Array.isArray(e)) {\n for (let n of e){\n let e = braces.create(n, t);\n if (Array.isArray(e)) {\n r.push(...e);\n } else {\n r.push(e);\n }\n }\n } else {\n r = [].concat(braces.create(e, t));\n }\n if (t && t.expand === true && t.nodupes === true) {\n r = [\n ...new Set(r)\n ];\n }\n return r;\n };\n braces.parse = (e, t = {})=>o(e, t);\n braces.stringify = (e, t = {})=>{\n if (typeof e === \"string\") {\n return n(braces.parse(e, t), t);\n }\n return n(e, t);\n };\n braces.compile = (e, t = {})=>{\n if (typeof e === \"string\") {\n e = braces.parse(e, t);\n }\n return u(e, t);\n };\n braces.expand = (e, t = {})=>{\n if (typeof e === \"string\") {\n e = braces.parse(e, t);\n }\n let r = s(e, t);\n if (t.noempty === true) {\n r = r.filter(Boolean);\n }\n if (t.nodupes === true) {\n r = [\n ...new Set(r)\n ];\n }\n return r;\n };\n braces.create = (e, t = {})=>{\n if (e === \"\" || e.length < 3) {\n return [\n e\n ];\n }\n return t.expand !== true ? braces.compile(e, t) : braces.expand(e, t);\n };\n e.exports = braces;\n },\n 179: (e, t, r)=>{\n const n = r(783);\n const u = r(617);\n const compile = (e, t = {})=>{\n let walk = (e, r = {})=>{\n let s = u.isInvalidBrace(r);\n let o = e.invalid === true && t.escapeInvalid === true;\n let i = s === true || o === true;\n let a = t.escapeInvalid === true ? \"\\\\\" : \"\";\n let l = \"\";\n if (e.isOpen === true) {\n return a + e.value;\n }\n if (e.isClose === true) {\n return a + e.value;\n }\n if (e.type === \"open\") {\n return i ? a + e.value : \"(\";\n }\n if (e.type === \"close\") {\n return i ? a + e.value : \")\";\n }\n if (e.type === \"comma\") {\n return e.prev.type === \"comma\" ? \"\" : i ? e.value : \"|\";\n }\n if (e.value) {\n return e.value;\n }\n if (e.nodes && e.ranges > 0) {\n let r = u.reduce(e.nodes);\n let s = n(...r, {\n ...t,\n wrap: false,\n toRegex: true\n });\n if (s.length !== 0) {\n return r.length > 1 && s.length > 1 ? `(${s})` : s;\n }\n }\n if (e.nodes) {\n for (let t of e.nodes){\n l += walk(t, e);\n }\n }\n return l;\n };\n return walk(e);\n };\n e.exports = compile;\n },\n 457: (e)=>{\n e.exports = {\n MAX_LENGTH: 1024 * 64,\n CHAR_0: \"0\",\n CHAR_9: \"9\",\n CHAR_UPPERCASE_A: \"A\",\n CHAR_LOWERCASE_A: \"a\",\n CHAR_UPPERCASE_Z: \"Z\",\n CHAR_LOWERCASE_Z: \"z\",\n CHAR_LEFT_PARENTHESES: \"(\",\n CHAR_RIGHT_PARENTHESES: \")\",\n CHAR_ASTERISK: \"*\",\n CHAR_AMPERSAND: \"&\",\n CHAR_AT: \"@\",\n CHAR_BACKSLASH: \"\\\\\",\n CHAR_BACKTICK: \"`\",\n CHAR_CARRIAGE_RETURN: \"\\r\",\n CHAR_CIRCUMFLEX_ACCENT: \"^\",\n CHAR_COLON: \":\",\n CHAR_COMMA: \",\",\n CHAR_DOLLAR: \"$\",\n CHAR_DOT: \".\",\n CHAR_DOUBLE_QUOTE: '\"',\n CHAR_EQUAL: \"=\",\n CHAR_EXCLAMATION_MARK: \"!\",\n CHAR_FORM_FEED: \"\\f\",\n CHAR_FORWARD_SLASH: \"/\",\n CHAR_HASH: \"#\",\n CHAR_HYPHEN_MINUS: \"-\",\n CHAR_LEFT_ANGLE_BRACKET: \"<\",\n CHAR_LEFT_CURLY_BRACE: \"{\",\n CHAR_LEFT_SQUARE_BRACKET: \"[\",\n CHAR_LINE_FEED: \"\\n\",\n CHAR_NO_BREAK_SPACE: \"\\xa0\",\n CHAR_PERCENT: \"%\",\n CHAR_PLUS: \"+\",\n CHAR_QUESTION_MARK: \"?\",\n CHAR_RIGHT_ANGLE_BRACKET: \">\",\n CHAR_RIGHT_CURLY_BRACE: \"}\",\n CHAR_RIGHT_SQUARE_BRACKET: \"]\",\n CHAR_SEMICOLON: \";\",\n CHAR_SINGLE_QUOTE: \"'\",\n CHAR_SPACE: \" \",\n CHAR_TAB: \"\t\",\n CHAR_UNDERSCORE: \"_\",\n CHAR_VERTICAL_LINE: \"|\",\n CHAR_ZERO_WIDTH_NOBREAK_SPACE: \"\\uFEFF\"\n };\n },\n 13: (e, t, r)=>{\n const n = r(783);\n const u = r(137);\n const s = r(617);\n const append = (e = \"\", t = \"\", r = false)=>{\n let n = [];\n e = [].concat(e);\n t = [].concat(t);\n if (!t.length) return e;\n if (!e.length) {\n return r ? s.flatten(t).map((e)=>`{${e}}`) : t;\n }\n for (let u of e){\n if (Array.isArray(u)) {\n for (let e of u){\n n.push(append(e, t, r));\n }\n } else {\n for (let e of t){\n if (r === true && typeof e === \"string\") e = `{${e}}`;\n n.push(Array.isArray(e) ? append(u, e, r) : u + e);\n }\n }\n }\n return s.flatten(n);\n };\n const expand = (e, t = {})=>{\n let r = t.rangeLimit === void 0 ? 1e3 : t.rangeLimit;\n let walk = (e, o = {})=>{\n e.queue = [];\n let i = o;\n let a = o.queue;\n while(i.type !== \"brace\" && i.type !== \"root\" && i.parent){\n i = i.parent;\n a = i.queue;\n }\n if (e.invalid || e.dollar) {\n a.push(append(a.pop(), u(e, t)));\n return;\n }\n if (e.type === \"brace\" && e.invalid !== true && e.nodes.length === 2) {\n a.push(append(a.pop(), [\n \"{}\"\n ]));\n return;\n }\n if (e.nodes && e.ranges > 0) {\n let o = s.reduce(e.nodes);\n if (s.exceedsLimit(...o, t.step, r)) {\n throw new RangeError(\"expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.\");\n }\n let i = n(...o, t);\n if (i.length === 0) {\n i = u(e, t);\n }\n a.push(append(a.pop(), i));\n e.nodes = [];\n return;\n }\n let l = s.encloseBrace(e);\n let c = e.queue;\n let p = e;\n while(p.type !== \"brace\" && p.type !== \"root\" && p.parent){\n p = p.parent;\n c = p.queue;\n }\n for(let t = 0; t < e.nodes.length; t++){\n let r = e.nodes[t];\n if (r.type === \"comma\" && e.type === \"brace\") {\n if (t === 1) c.push(\"\");\n c.push(\"\");\n continue;\n }\n if (r.type === \"close\") {\n a.push(append(a.pop(), c, l));\n continue;\n }\n if (r.value && r.type !== \"open\") {\n c.push(append(c.pop(), r.value));\n continue;\n }\n if (r.nodes) {\n walk(r, e);\n }\n }\n return c;\n };\n return s.flatten(walk(e));\n };\n e.exports = expand;\n },\n 719: (e, t, r)=>{\n const n = r(137);\n const { MAX_LENGTH: u, CHAR_BACKSLASH: s, CHAR_BACKTICK: o, CHAR_COMMA: i, CHAR_DOT: a, CHAR_LEFT_PARENTHESES: l, CHAR_RIGHT_PARENTHESES: c, CHAR_LEFT_CURLY_BRACE: p, CHAR_RIGHT_CURLY_BRACE: f, CHAR_LEFT_SQUARE_BRACKET: A, CHAR_RIGHT_SQUARE_BRACKET: R, CHAR_DOUBLE_QUOTE: _, CHAR_SINGLE_QUOTE: h, CHAR_NO_BREAK_SPACE: g, CHAR_ZERO_WIDTH_NOBREAK_SPACE: E } = r(457);\n const parse = (e, t = {})=>{\n if (typeof e !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n let r = t || {};\n let C = typeof r.maxLength === \"number\" ? Math.min(u, r.maxLength) : u;\n if (e.length > C) {\n throw new SyntaxError(`Input length (${e.length}), exceeds max characters (${C})`);\n }\n let y = {\n type: \"root\",\n input: e,\n nodes: []\n };\n let d = [\n y\n ];\n let x = y;\n let b = y;\n let S = 0;\n let H = e.length;\n let v = 0;\n let $ = 0;\n let m;\n let T = {};\n const advance = ()=>e[v++];\n const push = (e)=>{\n if (e.type === \"text\" && b.type === \"dot\") {\n b.type = \"text\";\n }\n if (b && b.type === \"text\" && e.type === \"text\") {\n b.value += e.value;\n return;\n }\n x.nodes.push(e);\n e.parent = x;\n e.prev = b;\n b = e;\n return e;\n };\n push({\n type: \"bos\"\n });\n while(v < H){\n x = d[d.length - 1];\n m = advance();\n if (m === E || m === g) {\n continue;\n }\n if (m === s) {\n push({\n type: \"text\",\n value: (t.keepEscaping ? m : \"\") + advance()\n });\n continue;\n }\n if (m === R) {\n push({\n type: \"text\",\n value: \"\\\\\" + m\n });\n continue;\n }\n if (m === A) {\n S++;\n let e = true;\n let t;\n while(v < H && (t = advance())){\n m += t;\n if (t === A) {\n S++;\n continue;\n }\n if (t === s) {\n m += advance();\n continue;\n }\n if (t === R) {\n S--;\n if (S === 0) {\n break;\n }\n }\n }\n push({\n type: \"text\",\n value: m\n });\n continue;\n }\n if (m === l) {\n x = push({\n type: \"paren\",\n nodes: []\n });\n d.push(x);\n push({\n type: \"text\",\n value: m\n });\n continue;\n }\n if (m === c) {\n if (x.type !== \"paren\") {\n push({\n type: \"text\",\n value: m\n });\n continue;\n }\n x = d.pop();\n push({\n type: \"text\",\n value: m\n });\n x = d[d.length - 1];\n continue;\n }\n if (m === _ || m === h || m === o) {\n let e = m;\n let r;\n if (t.keepQuotes !== true) {\n m = \"\";\n }\n while(v < H && (r = advance())){\n if (r === s) {\n m += r + advance();\n continue;\n }\n if (r === e) {\n if (t.keepQuotes === true) m += r;\n break;\n }\n m += r;\n }\n push({\n type: \"text\",\n value: m\n });\n continue;\n }\n if (m === p) {\n $++;\n let e = b.value && b.value.slice(-1) === \"$\" || x.dollar === true;\n let t = {\n type: \"brace\",\n open: true,\n close: false,\n dollar: e,\n depth: $,\n commas: 0,\n ranges: 0,\n nodes: []\n };\n x = push(t);\n d.push(x);\n push({\n type: \"open\",\n value: m\n });\n continue;\n }\n if (m === f) {\n if (x.type !== \"brace\") {\n push({\n type: \"text\",\n value: m\n });\n continue;\n }\n let e = \"close\";\n x = d.pop();\n x.close = true;\n push({\n type: e,\n value: m\n });\n $--;\n x = d[d.length - 1];\n continue;\n }\n if (m === i && $ > 0) {\n if (x.ranges > 0) {\n x.ranges = 0;\n let e = x.nodes.shift();\n x.nodes = [\n e,\n {\n type: \"text\",\n value: n(x)\n }\n ];\n }\n push({\n type: \"comma\",\n value: m\n });\n x.commas++;\n continue;\n }\n if (m === a && $ > 0 && x.commas === 0) {\n let e = x.nodes;\n if ($ === 0 || e.length === 0) {\n push({\n type: \"text\",\n value: m\n });\n continue;\n }\n if (b.type === \"dot\") {\n x.range = [];\n b.value += m;\n b.type = \"range\";\n if (x.nodes.length !== 3 && x.nodes.length !== 5) {\n x.invalid = true;\n x.ranges = 0;\n b.type = \"text\";\n continue;\n }\n x.ranges++;\n x.args = [];\n continue;\n }\n if (b.type === \"range\") {\n e.pop();\n let t = e[e.length - 1];\n t.value += b.value + m;\n b = t;\n x.ranges--;\n continue;\n }\n push({\n type: \"dot\",\n value: m\n });\n continue;\n }\n push({\n type: \"text\",\n value: m\n });\n }\n do {\n x = d.pop();\n if (x.type !== \"root\") {\n x.nodes.forEach((e)=>{\n if (!e.nodes) {\n if (e.type === \"open\") e.isOpen = true;\n if (e.type === \"close\") e.isClose = true;\n if (!e.nodes) e.type = \"text\";\n e.invalid = true;\n }\n });\n let e = d[d.length - 1];\n let t = e.nodes.indexOf(x);\n e.nodes.splice(t, 1, ...x.nodes);\n }\n }while (d.length > 0);\n push({\n type: \"eos\"\n });\n return y;\n };\n e.exports = parse;\n },\n 137: (e, t, r)=>{\n const n = r(617);\n e.exports = (e, t = {})=>{\n let stringify = (e, r = {})=>{\n let u = t.escapeInvalid && n.isInvalidBrace(r);\n let s = e.invalid === true && t.escapeInvalid === true;\n let o = \"\";\n if (e.value) {\n if ((u || s) && n.isOpenOrClose(e)) {\n return \"\\\\\" + e.value;\n }\n return e.value;\n }\n if (e.value) {\n return e.value;\n }\n if (e.nodes) {\n for (let t of e.nodes){\n o += stringify(t);\n }\n }\n return o;\n };\n return stringify(e);\n };\n },\n 617: (e, t)=>{\n t.isInteger = (e)=>{\n if (typeof e === \"number\") {\n return Number.isInteger(e);\n }\n if (typeof e === \"string\" && e.trim() !== \"\") {\n return Number.isInteger(Number(e));\n }\n return false;\n };\n t.find = (e, t)=>e.nodes.find((e)=>e.type === t);\n t.exceedsLimit = (e, r, n = 1, u)=>{\n if (u === false) return false;\n if (!t.isInteger(e) || !t.isInteger(r)) return false;\n return (Number(r) - Number(e)) / Number(n) >= u;\n };\n t.escapeNode = (e, t = 0, r)=>{\n let n = e.nodes[t];\n if (!n) return;\n if (r && n.type === r || n.type === \"open\" || n.type === \"close\") {\n if (n.escaped !== true) {\n n.value = \"\\\\\" + n.value;\n n.escaped = true;\n }\n }\n };\n t.encloseBrace = (e)=>{\n if (e.type !== \"brace\") return false;\n if (e.commas >> 0 + e.ranges >> 0 === 0) {\n e.invalid = true;\n return true;\n }\n return false;\n };\n t.isInvalidBrace = (e)=>{\n if (e.type !== \"brace\") return false;\n if (e.invalid === true || e.dollar) return true;\n if (e.commas >> 0 + e.ranges >> 0 === 0) {\n e.invalid = true;\n return true;\n }\n if (e.open !== true || e.close !== true) {\n e.invalid = true;\n return true;\n }\n return false;\n };\n t.isOpenOrClose = (e)=>{\n if (e.type === \"open\" || e.type === \"close\") {\n return true;\n }\n return e.open === true || e.close === true;\n };\n t.reduce = (e)=>e.reduce((e, t)=>{\n if (t.type === \"text\") e.push(t.value);\n if (t.type === \"range\") t.type = \"text\";\n return e;\n }, []);\n t.flatten = (...e)=>{\n const t = [];\n const flat = (e)=>{\n for(let r = 0; r < e.length; r++){\n let n = e[r];\n Array.isArray(n) ? flat(n, t) : n !== void 0 && t.push(n);\n }\n return t;\n };\n flat(e);\n return t;\n };\n },\n 783: (e, t, r)=>{\n /*!\n * fill-range <https://github.com/jonschlinkert/fill-range>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Licensed under the MIT License.\n */ const n = r(837);\n const u = r(492);\n const isObject = (e)=>e !== null && typeof e === \"object\" && !Array.isArray(e);\n const transform = (e)=>(t)=>e === true ? Number(t) : String(t);\n const isValidValue = (e)=>typeof e === \"number\" || typeof e === \"string\" && e !== \"\";\n const isNumber = (e)=>Number.isInteger(+e);\n const zeros = (e)=>{\n let t = `${e}`;\n let r = -1;\n if (t[0] === \"-\") t = t.slice(1);\n if (t === \"0\") return false;\n while(t[++r] === \"0\");\n return r > 0;\n };\n const stringify = (e, t, r)=>{\n if (typeof e === \"string\" || typeof t === \"string\") {\n return true;\n }\n return r.stringify === true;\n };\n const pad = (e, t, r)=>{\n if (t > 0) {\n let r = e[0] === \"-\" ? \"-\" : \"\";\n if (r) e = e.slice(1);\n e = r + e.padStart(r ? t - 1 : t, \"0\");\n }\n if (r === false) {\n return String(e);\n }\n return e;\n };\n const toMaxLen = (e, t)=>{\n let r = e[0] === \"-\" ? \"-\" : \"\";\n if (r) {\n e = e.slice(1);\n t--;\n }\n while(e.length < t)e = \"0\" + e;\n return r ? \"-\" + e : e;\n };\n const toSequence = (e, t)=>{\n e.negatives.sort((e, t)=>e < t ? -1 : e > t ? 1 : 0);\n e.positives.sort((e, t)=>e < t ? -1 : e > t ? 1 : 0);\n let r = t.capture ? \"\" : \"?:\";\n let n = \"\";\n let u = \"\";\n let s;\n if (e.positives.length) {\n n = e.positives.join(\"|\");\n }\n if (e.negatives.length) {\n u = `-(${r}${e.negatives.join(\"|\")})`;\n }\n if (n && u) {\n s = `${n}|${u}`;\n } else {\n s = n || u;\n }\n if (t.wrap) {\n return `(${r}${s})`;\n }\n return s;\n };\n const toRange = (e, t, r, n)=>{\n if (r) {\n return u(e, t, {\n wrap: false,\n ...n\n });\n }\n let s = String.fromCharCode(e);\n if (e === t) return s;\n let o = String.fromCharCode(t);\n return `[${s}-${o}]`;\n };\n const toRegex = (e, t, r)=>{\n if (Array.isArray(e)) {\n let t = r.wrap === true;\n let n = r.capture ? \"\" : \"?:\";\n return t ? `(${n}${e.join(\"|\")})` : e.join(\"|\");\n }\n return u(e, t, r);\n };\n const rangeError = (...e)=>new RangeError(\"Invalid range arguments: \" + n.inspect(...e));\n const invalidRange = (e, t, r)=>{\n if (r.strictRanges === true) throw rangeError([\n e,\n t\n ]);\n return [];\n };\n const invalidStep = (e, t)=>{\n if (t.strictRanges === true) {\n throw new TypeError(`Expected step \"${e}\" to be a number`);\n }\n return [];\n };\n const fillNumbers = (e, t, r = 1, n = {})=>{\n let u = Number(e);\n let s = Number(t);\n if (!Number.isInteger(u) || !Number.isInteger(s)) {\n if (n.strictRanges === true) throw rangeError([\n e,\n t\n ]);\n return [];\n }\n if (u === 0) u = 0;\n if (s === 0) s = 0;\n let o = u > s;\n let i = String(e);\n let a = String(t);\n let l = String(r);\n r = Math.max(Math.abs(r), 1);\n let c = zeros(i) || zeros(a) || zeros(l);\n let p = c ? Math.max(i.length, a.length, l.length) : 0;\n let f = c === false && stringify(e, t, n) === false;\n let A = n.transform || transform(f);\n if (n.toRegex && r === 1) {\n return toRange(toMaxLen(e, p), toMaxLen(t, p), true, n);\n }\n let R = {\n negatives: [],\n positives: []\n };\n let push = (e)=>R[e < 0 ? \"negatives\" : \"positives\"].push(Math.abs(e));\n let _ = [];\n let h = 0;\n while(o ? u >= s : u <= s){\n if (n.toRegex === true && r > 1) {\n push(u);\n } else {\n _.push(pad(A(u, h), p, f));\n }\n u = o ? u - r : u + r;\n h++;\n }\n if (n.toRegex === true) {\n return r > 1 ? toSequence(R, n) : toRegex(_, null, {\n wrap: false,\n ...n\n });\n }\n return _;\n };\n const fillLetters = (e, t, r = 1, n = {})=>{\n if (!isNumber(e) && e.length > 1 || !isNumber(t) && t.length > 1) {\n return invalidRange(e, t, n);\n }\n let u = n.transform || ((e)=>String.fromCharCode(e));\n let s = `${e}`.charCodeAt(0);\n let o = `${t}`.charCodeAt(0);\n let i = s > o;\n let a = Math.min(s, o);\n let l = Math.max(s, o);\n if (n.toRegex && r === 1) {\n return toRange(a, l, false, n);\n }\n let c = [];\n let p = 0;\n while(i ? s >= o : s <= o){\n c.push(u(s, p));\n s = i ? s - r : s + r;\n p++;\n }\n if (n.toRegex === true) {\n return toRegex(c, null, {\n wrap: false,\n options: n\n });\n }\n return c;\n };\n const fill = (e, t, r, n = {})=>{\n if (t == null && isValidValue(e)) {\n return [\n e\n ];\n }\n if (!isValidValue(e) || !isValidValue(t)) {\n return invalidRange(e, t, n);\n }\n if (typeof r === \"function\") {\n return fill(e, t, 1, {\n transform: r\n });\n }\n if (isObject(r)) {\n return fill(e, t, 0, r);\n }\n let u = {\n ...n\n };\n if (u.capture === true) u.wrap = true;\n r = r || u.step || 1;\n if (!isNumber(r)) {\n if (r != null && !isObject(r)) return invalidStep(r, u);\n return fill(e, t, 1, r);\n }\n if (isNumber(e) && isNumber(t)) {\n return fillNumbers(e, t, r, u);\n }\n return fillLetters(e, t, Math.max(Math.abs(r), 1), u);\n };\n e.exports = fill;\n },\n 357: (e)=>{\n /*!\n * is-number <https://github.com/jonschlinkert/is-number>\n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */ e.exports = function(e) {\n if (typeof e === \"number\") {\n return e - e === 0;\n }\n if (typeof e === \"string\" && e.trim() !== \"\") {\n return Number.isFinite ? Number.isFinite(+e) : isFinite(+e);\n }\n return false;\n };\n },\n 971: (e, t, r)=>{\n const n = r(837);\n const u = r(333);\n const s = r(251);\n const o = r(513);\n const isEmptyString = (e)=>e === \"\" || e === \"./\";\n const micromatch = (e, t, r)=>{\n t = [].concat(t);\n e = [].concat(e);\n let n = new Set;\n let u = new Set;\n let o = new Set;\n let i = 0;\n let onResult = (e)=>{\n o.add(e.output);\n if (r && r.onResult) {\n r.onResult(e);\n }\n };\n for(let o = 0; o < t.length; o++){\n let a = s(String(t[o]), {\n ...r,\n onResult: onResult\n }, true);\n let l = a.state.negated || a.state.negatedExtglob;\n if (l) i++;\n for (let t of e){\n let e = a(t, true);\n let r = l ? !e.isMatch : e.isMatch;\n if (!r) continue;\n if (l) {\n n.add(e.output);\n } else {\n n.delete(e.output);\n u.add(e.output);\n }\n }\n }\n let a = i === t.length ? [\n ...o\n ] : [\n ...u\n ];\n let l = a.filter((e)=>!n.has(e));\n if (r && l.length === 0) {\n if (r.failglob === true) {\n throw new Error(`No matches found for \"${t.join(\", \")}\"`);\n }\n if (r.nonull === true || r.nullglob === true) {\n return r.unescape ? t.map((e)=>e.replace(/\\\\/g, \"\")) : t;\n }\n }\n return l;\n };\n micromatch.match = micromatch;\n micromatch.matcher = (e, t)=>s(e, t);\n micromatch.isMatch = (e, t, r)=>s(t, r)(e);\n micromatch.any = micromatch.isMatch;\n micromatch.not = (e, t, r = {})=>{\n t = [].concat(t).map(String);\n let n = new Set;\n let u = [];\n let onResult = (e)=>{\n if (r.onResult) r.onResult(e);\n u.push(e.output);\n };\n let s = micromatch(e, t, {\n ...r,\n onResult: onResult\n });\n for (let e of u){\n if (!s.includes(e)) {\n n.add(e);\n }\n }\n return [\n ...n\n ];\n };\n micromatch.contains = (e, t, r)=>{\n if (typeof e !== \"string\") {\n throw new TypeError(`Expected a string: \"${n.inspect(e)}\"`);\n }\n if (Array.isArray(t)) {\n return t.some((t)=>micromatch.contains(e, t, r));\n }\n if (typeof t === \"string\") {\n if (isEmptyString(e) || isEmptyString(t)) {\n return false;\n }\n if (e.includes(t) || e.startsWith(\"./\") && e.slice(2).includes(t)) {\n return true;\n }\n }\n return micromatch.isMatch(e, t, {\n ...r,\n contains: true\n });\n };\n micromatch.matchKeys = (e, t, r)=>{\n if (!o.isObject(e)) {\n throw new TypeError(\"Expected the first argument to be an object\");\n }\n let n = micromatch(Object.keys(e), t, r);\n let u = {};\n for (let t of n)u[t] = e[t];\n return u;\n };\n micromatch.some = (e, t, r)=>{\n let n = [].concat(e);\n for (let e of [].concat(t)){\n let t = s(String(e), r);\n if (n.some((e)=>t(e))) {\n return true;\n }\n }\n return false;\n };\n micromatch.every = (e, t, r)=>{\n let n = [].concat(e);\n for (let e of [].concat(t)){\n let t = s(String(e), r);\n if (!n.every((e)=>t(e))) {\n return false;\n }\n }\n return true;\n };\n micromatch.all = (e, t, r)=>{\n if (typeof e !== \"string\") {\n throw new TypeError(`Expected a string: \"${n.inspect(e)}\"`);\n }\n return [].concat(t).every((t)=>s(t, r)(e));\n };\n micromatch.capture = (e, t, r)=>{\n let n = o.isWindows(r);\n let u = s.makeRe(String(e), {\n ...r,\n capture: true\n });\n let i = u.exec(n ? o.toPosixSlashes(t) : t);\n if (i) {\n return i.slice(1).map((e)=>e === void 0 ? \"\" : e);\n }\n };\n micromatch.makeRe = (...e)=>s.makeRe(...e);\n micromatch.scan = (...e)=>s.scan(...e);\n micromatch.parse = (e, t)=>{\n let r = [];\n for (let n of [].concat(e || [])){\n for (let e of u(String(n), t)){\n r.push(s.parse(e, t));\n }\n }\n return r;\n };\n micromatch.braces = (e, t)=>{\n if (typeof e !== \"string\") throw new TypeError(\"Expected a string\");\n if (t && t.nobrace === true || !/\\{.*\\}/.test(e)) {\n return [\n e\n ];\n }\n return u(e, t);\n };\n micromatch.braceExpand = (e, t)=>{\n if (typeof e !== \"string\") throw new TypeError(\"Expected a string\");\n return micromatch.braces(e, {\n ...t,\n expand: true\n });\n };\n e.exports = micromatch;\n },\n 251: (e, t, r)=>{\n e.exports = r(683);\n },\n 356: (e, t, r)=>{\n const n = r(17);\n const u = \"\\\\\\\\/\";\n const s = `[^${u}]`;\n const o = \"\\\\.\";\n const i = \"\\\\+\";\n const a = \"\\\\?\";\n const l = \"\\\\/\";\n const c = \"(?=.)\";\n const p = \"[^/]\";\n const f = `(?:${l}|$)`;\n const A = `(?:^|${l})`;\n const R = `${o}{1,2}${f}`;\n const _ = `(?!${o})`;\n const h = `(?!${A}${R})`;\n const g = `(?!${o}{0,1}${f})`;\n const E = `(?!${R})`;\n const C = `[^.${l}]`;\n const y = `${p}*?`;\n const d = {\n DOT_LITERAL: o,\n PLUS_LITERAL: i,\n QMARK_LITERAL: a,\n SLASH_LITERAL: l,\n ONE_CHAR: c,\n QMARK: p,\n END_ANCHOR: f,\n DOTS_SLASH: R,\n NO_DOT: _,\n NO_DOTS: h,\n NO_DOT_SLASH: g,\n NO_DOTS_SLASH: E,\n QMARK_NO_DOT: C,\n STAR: y,\n START_ANCHOR: A\n };\n const x = {\n ...d,\n SLASH_LITERAL: `[${u}]`,\n QMARK: s,\n STAR: `${s}*?`,\n DOTS_SLASH: `${o}{1,2}(?:[${u}]|$)`,\n NO_DOT: `(?!${o})`,\n NO_DOTS: `(?!(?:^|[${u}])${o}{1,2}(?:[${u}]|$))`,\n NO_DOT_SLASH: `(?!${o}{0,1}(?:[${u}]|$))`,\n NO_DOTS_SLASH: `(?!${o}{1,2}(?:[${u}]|$))`,\n QMARK_NO_DOT: `[^.${u}]`,\n START_ANCHOR: `(?:^|[${u}])`,\n END_ANCHOR: `(?:[${u}]|$)`\n };\n const b = {\n alnum: \"a-zA-Z0-9\",\n alpha: \"a-zA-Z\",\n ascii: \"\\\\x00-\\\\x7F\",\n blank: \" \\\\t\",\n cntrl: \"\\\\x00-\\\\x1F\\\\x7F\",\n digit: \"0-9\",\n graph: \"\\\\x21-\\\\x7E\",\n lower: \"a-z\",\n print: \"\\\\x20-\\\\x7E \",\n punct: \"\\\\-!\\\"#$%&'()\\\\*+,./:;<=>?@[\\\\]^_`{|}~\",\n space: \" \\\\t\\\\r\\\\n\\\\v\\\\f\",\n upper: \"A-Z\",\n word: \"A-Za-z0-9_\",\n xdigit: \"A-Fa-f0-9\"\n };\n e.exports = {\n MAX_LENGTH: 1024 * 64,\n POSIX_REGEX_SOURCE: b,\n REGEX_BACKSLASH: /\\\\(?![*+?^${}(|)[\\]])/g,\n REGEX_NON_SPECIAL_CHARS: /^[^@![\\].,$*+?^{}()|\\\\/]+/,\n REGEX_SPECIAL_CHARS: /[-*+?.^${}(|)[\\]]/,\n REGEX_SPECIAL_CHARS_BACKREF: /(\\\\?)((\\W)(\\3*))/g,\n REGEX_SPECIAL_CHARS_GLOBAL: /([-*+?.^${}(|)[\\]])/g,\n REGEX_REMOVE_BACKSLASH: /(?:\\[.*?[^\\\\]\\]|\\\\(?=.))/g,\n REPLACEMENTS: {\n \"***\": \"*\",\n \"**/**\": \"**\",\n \"**/**/**\": \"**\"\n },\n CHAR_0: 48,\n CHAR_9: 57,\n CHAR_UPPERCASE_A: 65,\n CHAR_LOWERCASE_A: 97,\n CHAR_UPPERCASE_Z: 90,\n CHAR_LOWERCASE_Z: 122,\n CHAR_LEFT_PARENTHESES: 40,\n CHAR_RIGHT_PARENTHESES: 41,\n CHAR_ASTERISK: 42,\n CHAR_AMPERSAND: 38,\n CHAR_AT: 64,\n CHAR_BACKWARD_SLASH: 92,\n CHAR_CARRIAGE_RETURN: 13,\n CHAR_CIRCUMFLEX_ACCENT: 94,\n CHAR_COLON: 58,\n CHAR_COMMA: 44,\n CHAR_DOT: 46,\n CHAR_DOUBLE_QUOTE: 34,\n CHAR_EQUAL: 61,\n CHAR_EXCLAMATION_MARK: 33,\n CHAR_FORM_FEED: 12,\n CHAR_FORWARD_SLASH: 47,\n CHAR_GRAVE_ACCENT: 96,\n CHAR_HASH: 35,\n CHAR_HYPHEN_MINUS: 45,\n CHAR_LEFT_ANGLE_BRACKET: 60,\n CHAR_LEFT_CURLY_BRACE: 123,\n CHAR_LEFT_SQUARE_BRACKET: 91,\n CHAR_LINE_FEED: 10,\n CHAR_NO_BREAK_SPACE: 160,\n CHAR_PERCENT: 37,\n CHAR_PLUS: 43,\n CHAR_QUESTION_MARK: 63,\n CHAR_RIGHT_ANGLE_BRACKET: 62,\n CHAR_RIGHT_CURLY_BRACE: 125,\n CHAR_RIGHT_SQUARE_BRACKET: 93,\n CHAR_SEMICOLON: 59,\n CHAR_SINGLE_QUOTE: 39,\n CHAR_SPACE: 32,\n CHAR_TAB: 9,\n CHAR_UNDERSCORE: 95,\n CHAR_VERTICAL_LINE: 124,\n CHAR_ZERO_WIDTH_NOBREAK_SPACE: 65279,\n SEP: n.sep,\n extglobChars (e) {\n return {\n \"!\": {\n type: \"negate\",\n open: \"(?:(?!(?:\",\n close: `))${e.STAR})`\n },\n \"?\": {\n type: \"qmark\",\n open: \"(?:\",\n close: \")?\"\n },\n \"+\": {\n type: \"plus\",\n open: \"(?:\",\n close: \")+\"\n },\n \"*\": {\n type: \"star\",\n open: \"(?:\",\n close: \")*\"\n },\n \"@\": {\n type: \"at\",\n open: \"(?:\",\n close: \")\"\n }\n };\n },\n globChars (e) {\n return e === true ? x : d;\n }\n };\n },\n 754: (e, t, r)=>{\n const n = r(356);\n const u = r(513);\n const { MAX_LENGTH: s, POSIX_REGEX_SOURCE: o, REGEX_NON_SPECIAL_CHARS: i, REGEX_SPECIAL_CHARS_BACKREF: a, REPLACEMENTS: l } = n;\n const expandRange = (e, t)=>{\n if (typeof t.expandRange === \"function\") {\n return t.expandRange(...e, t);\n }\n e.sort();\n const r = `[${e.join(\"-\")}]`;\n try {\n new RegExp(r);\n } catch (t) {\n return e.map((e)=>u.escapeRegex(e)).join(\"..\");\n }\n return r;\n };\n const syntaxError = (e, t)=>`Missing ${e}: \"${t}\" - use \"\\\\\\\\${t}\" to match literal characters`;\n const parse = (e, t)=>{\n if (typeof e !== \"string\") {\n throw new TypeError(\"Expected a string\");\n }\n e = l[e] || e;\n const r = {\n ...t\n };\n const c = typeof r.maxLength === \"number\" ? Math.min(s, r.maxLength) : s;\n let p = e.length;\n if (p > c) {\n throw new SyntaxError(`Input length: ${p}, exceeds maximum allowed length: ${c}`);\n }\n const f = {\n type: \"bos\",\n value: \"\",\n output: r.prepend || \"\"\n };\n const A = [\n f\n ];\n const R = r.capture ? \"\" : \"?:\";\n const _ = u.isWindows(t);\n const h = n.globChars(_);\n const g = n.extglobChars(h);\n const { DOT_LITERAL: E, PLUS_LITERAL: C, SLASH_LITERAL: y, ONE_CHAR: d, DOTS_SLASH: x, NO_DOT: b, NO_DOT_SLASH: S, NO_DOTS_SLASH: H, QMARK: v, QMARK_NO_DOT: $, STAR: m, START_ANCHOR: T } = h;\n const globstar = (e)=>`(${R}(?:(?!${T}${e.dot ? x : E}).)*?)`;\n const L = r.dot ? \"\" : b;\n const O = r.dot ? v : $;\n let w = r.bash === true ? globstar(r) : m;\n if (r.capture) {\n w = `(${w})`;\n }\n if (typeof r.noext === \"boolean\") {\n r.noextglob = r.noext;\n }\n const N = {\n input: e,\n index: -1,\n start: 0,\n dot: r.dot === true,\n consumed: \"\",\n output: \"\",\n prefix: \"\",\n backtrack: false,\n negated: false,\n brackets: 0,\n braces: 0,\n parens: 0,\n quotes: 0,\n globstar: false,\n tokens: A\n };\n e = u.removePrefix(e, N);\n p = e.length;\n const k = [];\n const I = [];\n const M = [];\n let P = f;\n let B;\n const eos = ()=>N.index === p - 1;\n const G = N.peek = (t = 1)=>e[N.index + t];\n const D = N.advance = ()=>e[++N.index];\n const remaining = ()=>e.slice(N.index + 1);\n const consume = (e = \"\", t = 0)=>{\n N.consumed += e;\n N.index += t;\n };\n const append = (e)=>{\n N.output += e.output != null ? e.output : e.value;\n consume(e.value);\n };\n const negate = ()=>{\n let e = 1;\n while(G() === \"!\" && (G(2) !== \"(\" || G(3) === \"?\")){\n D();\n N.start++;\n e++;\n }\n if (e % 2 === 0) {\n return false;\n }\n N.negated = true;\n N.start++;\n return true;\n };\n const increment = (e)=>{\n N[e]++;\n M.push(e);\n };\n const decrement = (e)=>{\n N[e]--;\n M.pop();\n };\n const push = (e)=>{\n if (P.type === \"globstar\") {\n const t = N.braces > 0 && (e.type === \"comma\" || e.type === \"brace\");\n const r = e.extglob === true || k.length && (e.type === \"pipe\" || e.type === \"paren\");\n if (e.type !== \"slash\" && e.type !== \"paren\" && !t && !r) {\n N.output = N.output.slice(0, -P.output.length);\n P.type = \"star\";\n P.value = \"*\";\n P.output = w;\n N.output += P.output;\n }\n }\n if (k.length && e.type !== \"paren\" && !g[e.value]) {\n k[k.length - 1].inner += e.value;\n }\n if (e.value || e.output) append(e);\n if (P && P.type === \"text\" && e.type === \"text\") {\n P.value += e.value;\n P.output = (P.output || \"\") + e.value;\n return;\n }\n e.prev = P;\n A.push(e);\n P = e;\n };\n const extglobOpen = (e, t)=>{\n const n = {\n ...g[t],\n conditions: 1,\n inner: \"\"\n };\n n.prev = P;\n n.parens = N.parens;\n n.output = N.output;\n const u = (r.capture ? \"(\" : \"\") + n.open;\n increment(\"parens\");\n push({\n type: e,\n value: t,\n output: N.output ? \"\" : d\n });\n push({\n type: \"paren\",\n extglob: true,\n value: D(),\n output: u\n });\n k.push(n);\n };\n const extglobClose = (e)=>{\n let t = e.close + (r.capture ? \")\" : \"\");\n if (e.type === \"negate\") {\n let n = w;\n if (e.inner && e.inner.length > 1 && e.inner.includes(\"/\")) {\n n = globstar(r);\n }\n if (n !== w || eos() || /^\\)+$/.test(remaining())) {\n t = e.close = `)$))${n}`;\n }\n if (e.prev.type === \"bos\") {\n N.negatedExtglob = true;\n }\n }\n push({\n type: \"paren\",\n extglob: true,\n value: B,\n output: t\n });\n decrement(\"parens\");\n };\n if (r.fastpaths !== false && !/(^[*!]|[/()[\\]{}\"])/.test(e)) {\n let n = false;\n let s = e.replace(a, (e, t, r, u, s, o)=>{\n if (u === \"\\\\\") {\n n = true;\n return e;\n }\n if (u === \"?\") {\n if (t) {\n return t + u + (s ? v.repeat(s.length) : \"\");\n }\n if (o === 0) {\n return O + (s ? v.repeat(s.length) : \"\");\n }\n return v.repeat(r.length);\n }\n if (u === \".\") {\n return E.repeat(r.length);\n }\n if (u === \"*\") {\n if (t) {\n return t + u + (s ? w : \"\");\n }\n return w;\n }\n return t ? e : `\\\\${e}`;\n });\n if (n === true) {\n if (r.unescape === true) {\n s = s.replace(/\\\\/g, \"\");\n } else {\n s = s.replace(/\\\\+/g, (e)=>e.length % 2 === 0 ? \"\\\\\\\\\" : e ? \"\\\\\" : \"\");\n }\n }\n if (s === e && r.contains === true) {\n N.output = e;\n return N;\n }\n N.output = u.wrapOutput(s, N, t);\n return N;\n }\n while(!eos()){\n B = D();\n if (B === \"\\x00\") {\n continue;\n }\n if (B === \"\\\\\") {\n const e = G();\n if (e === \"/\" && r.bash !== true) {\n continue;\n }\n if (e === \".\" || e === \";\") {\n continue;\n }\n if (!e) {\n B += \"\\\\\";\n push({\n type: \"text\",\n value: B\n });\n continue;\n }\n const t = /^\\\\+/.exec(remaining());\n let n = 0;\n if (t && t[0].length > 2) {\n n = t[0].length;\n N.index += n;\n if (n % 2 !== 0) {\n B += \"\\\\\";\n }\n }\n if (r.unescape === true) {\n B = D() || \"\";\n } else {\n B += D() || \"\";\n }\n if (N.brackets === 0) {\n push({\n type: \"text\",\n value: B\n });\n continue;\n }\n }\n if (N.brackets > 0 && (B !== \"]\" || P.value === \"[\" || P.value === \"[^\")) {\n if (r.posix !== false && B === \":\") {\n const e = P.value.slice(1);\n if (e.includes(\"[\")) {\n P.posix = true;\n if (e.includes(\":\")) {\n const e = P.value.lastIndexOf(\"[\");\n const t = P.value.slice(0, e);\n const r = P.value.slice(e + 2);\n const n = o[r];\n if (n) {\n P.value = t + n;\n N.backtrack = true;\n D();\n if (!f.output && A.indexOf(P) === 1) {\n f.output = d;\n }\n continue;\n }\n }\n }\n }\n if (B === \"[\" && G() !== \":\" || B === \"-\" && G() === \"]\") {\n B = `\\\\${B}`;\n }\n if (B === \"]\" && (P.value === \"[\" || P.value === \"[^\")) {\n B = `\\\\${B}`;\n }\n if (r.posix === true && B === \"!\" && P.value === \"[\") {\n B = \"^\";\n }\n P.value += B;\n append({\n value: B\n });\n continue;\n }\n if (N.quotes === 1 && B !== '\"') {\n B = u.escapeRegex(B);\n P.value += B;\n append({\n value: B\n });\n continue;\n }\n if (B === '\"') {\n N.quotes = N.quotes === 1 ? 0 : 1;\n if (r.keepQuotes === true) {\n push({\n type: \"text\",\n value: B\n });\n }\n continue;\n }\n if (B === \"(\") {\n increment(\"parens\");\n push({\n type: \"paren\",\n value: B\n });\n continue;\n }\n if (B === \")\") {\n if (N.parens === 0 && r.strictBrackets === true) {\n throw new SyntaxError(syntaxError(\"opening\", \"(\"));\n }\n const e = k[k.length - 1];\n if (e && N.parens === e.parens + 1) {\n extglobClose(k.pop());\n continue;\n }\n push({\n type: \"paren\",\n value: B,\n output: N.parens ? \")\" : \"\\\\)\"\n });\n decrement(\"parens\");\n continue;\n }\n if (B === \"[\") {\n if (r.nobracket === true || !remaining().includes(\"]\")) {\n if (r.nobracket !== true && r.strictBrackets === true) {\n throw new SyntaxError(syntaxError(\"closing\", \"]\"));\n }\n B = `\\\\${B}`;\n } else {\n increment(\"brackets\");\n }\n push({\n type: \"bracket\",\n value: B\n });\n continue;\n }\n if (B === \"]\") {\n if (r.nobracket === true || P && P.type === \"bracket\" && P.value.length === 1) {\n push({\n type: \"text\",\n value: B,\n output: `\\\\${B}`\n });\n continue;\n }\n if (N.brackets === 0) {\n if (r.strictBrackets === true) {\n throw new SyntaxError(syntaxError(\"opening\", \"[\"));\n }\n push({\n type: \"text\",\n value: B,\n output: `\\\\${B}`\n });\n continue;\n }\n decrement(\"brackets\");\n const e = P.value.slice(1);\n if (P.posix !== true && e[0] === \"^\" && !e.includes(\"/\")) {\n B = `/${B}`;\n }\n P.value += B;\n append({\n value: B\n });\n if (r.literalBrackets === false || u.hasRegexChars(e)) {\n continue;\n }\n const t = u.escapeRegex(P.value);\n N.output = N.output.slice(0, -P.value.length);\n if (r.literalBrackets === true) {\n N.output += t;\n P.value = t;\n continue;\n }\n P.value = `(${R}${t}|${P.value})`;\n N.output += P.value;\n continue;\n }\n if (B === \"{\" && r.nobrace !== true) {\n increment(\"braces\");\n const e = {\n type: \"brace\",\n value: B,\n output: \"(\",\n outputIndex: N.output.length,\n tokensIndex: N.tokens.length\n };\n I.push(e);\n push(e);\n continue;\n }\n if (B === \"}\") {\n const e = I[I.length - 1];\n if (r.nobrace === true || !e) {\n push({\n type: \"text\",\n value: B,\n output: B\n });\n continue;\n }\n let t = \")\";\n if (e.dots === true) {\n const e = A.slice();\n const n = [];\n for(let t = e.length - 1; t >= 0; t--){\n A.pop();\n if (e[t].type === \"brace\") {\n break;\n }\n if (e[t].type !== \"dots\") {\n n.unshift(e[t].value);\n }\n }\n t = expandRange(n, r);\n N.backtrack = true;\n }\n if (e.comma !== true && e.dots !== true) {\n const r = N.output.slice(0, e.outputIndex);\n const n = N.tokens.slice(e.tokensIndex);\n e.value = e.output = \"\\\\{\";\n B = t = \"\\\\}\";\n N.output = r;\n for (const e of n){\n N.output += e.output || e.value;\n }\n }\n push({\n type: \"brace\",\n value: B,\n output: t\n });\n decrement(\"braces\");\n I.pop();\n continue;\n }\n if (B === \"|\") {\n if (k.length > 0) {\n k[k.length - 1].conditions++;\n }\n push({\n type: \"text\",\n value: B\n });\n continue;\n }\n if (B === \",\") {\n let e = B;\n const t = I[I.length - 1];\n if (t && M[M.length - 1] === \"braces\") {\n t.comma = true;\n e = \"|\";\n }\n push({\n type: \"comma\",\n value: B,\n output: e\n });\n continue;\n }\n if (B === \"/\") {\n if (P.type === \"dot\" && N.index === N.start + 1) {\n N.start = N.index + 1;\n N.consumed = \"\";\n N.output = \"\";\n A.pop();\n P = f;\n continue;\n }\n push({\n type: \"slash\",\n value: B,\n output: y\n });\n continue;\n }\n if (B === \".\") {\n if (N.braces > 0 && P.type === \"dot\") {\n if (P.value === \".\") P.output = E;\n const e = I[I.length - 1];\n P.type = \"dots\";\n P.output += B;\n P.value += B;\n e.dots = true;\n continue;\n }\n if (N.braces + N.parens === 0 && P.type !== \"bos\" && P.type !== \"slash\") {\n push({\n type: \"text\",\n value: B,\n output: E\n });\n continue;\n }\n push({\n type: \"dot\",\n value: B,\n output: E\n });\n continue;\n }\n if (B === \"?\") {\n const e = P && P.value === \"(\";\n if (!e && r.noextglob !== true && G() === \"(\" && G(2) !== \"?\") {\n extglobOpen(\"qmark\", B);\n continue;\n }\n if (P && P.type === \"paren\") {\n const e = G();\n let t = B;\n if (e === \"<\" && !u.supportsLookbehinds()) {\n throw new Error(\"Node.js v10 or higher is required for regex lookbehinds\");\n }\n if (P.value === \"(\" && !/[!=<:]/.test(e) || e === \"<\" && !/<([!=]|\\w+>)/.test(remaining())) {\n t = `\\\\${B}`;\n }\n push({\n type: \"text\",\n value: B,\n output: t\n });\n continue;\n }\n if (r.dot !== true && (P.type === \"slash\" || P.type === \"bos\")) {\n push({\n type: \"qmark\",\n value: B,\n output: $\n });\n continue;\n }\n push({\n type: \"qmark\",\n value: B,\n output: v\n });\n continue;\n }\n if (B === \"!\") {\n if (r.noextglob !== true && G() === \"(\") {\n if (G(2) !== \"?\" || !/[!=<:]/.test(G(3))) {\n extglobOpen(\"negate\", B);\n continue;\n }\n }\n if (r.nonegate !== true && N.index === 0) {\n negate();\n continue;\n }\n }\n if (B === \"+\") {\n if (r.noextglob !== true && G() === \"(\" && G(2) !== \"?\") {\n extglobOpen(\"plus\", B);\n continue;\n }\n if (P && P.value === \"(\" || r.regex === false) {\n push({\n type: \"plus\",\n value: B,\n output: C\n });\n continue;\n }\n if (P && (P.type === \"bracket\" || P.type === \"paren\" || P.type === \"brace\") || N.parens > 0) {\n push({\n type: \"plus\",\n value: B\n });\n continue;\n }\n push({\n type: \"plus\",\n value: C\n });\n continue;\n }\n if (B === \"@\") {\n if (r.noextglob !== true && G() === \"(\" && G(2) !== \"?\") {\n push({\n type: \"at\",\n extglob: true,\n value: B,\n output: \"\"\n });\n continue;\n }\n push({\n type: \"text\",\n value: B\n });\n continue;\n }\n if (B !== \"*\") {\n if (B === \"$\" || B === \"^\") {\n B = `\\\\${B}`;\n }\n const e = i.exec(remaining());\n if (e) {\n B += e[0];\n N.index += e[0].length;\n }\n push({\n type: \"text\",\n value: B\n });\n continue;\n }\n if (P && (P.type === \"globstar\" || P.star === true)) {\n P.type = \"star\";\n P.star = true;\n P.value += B;\n P.output = w;\n N.backtrack = true;\n N.globstar = true;\n consume(B);\n continue;\n }\n let t = remaining();\n if (r.noextglob !== true && /^\\([^?]/.test(t)) {\n extglobOpen(\"star\", B);\n continue;\n }\n if (P.type === \"star\") {\n if (r.noglobstar === true) {\n consume(B);\n continue;\n }\n const n = P.prev;\n const u = n.prev;\n const s = n.type === \"slash\" || n.type === \"bos\";\n const o = u && (u.type === \"star\" || u.type === \"globstar\");\n if (r.bash === true && (!s || t[0] && t[0] !== \"/\")) {\n push({\n type: \"star\",\n value: B,\n output: \"\"\n });\n continue;\n }\n const i = N.braces > 0 && (n.type === \"comma\" || n.type === \"brace\");\n const a = k.length && (n.type === \"pipe\" || n.type === \"paren\");\n if (!s && n.type !== \"paren\" && !i && !a) {\n push({\n type: \"star\",\n value: B,\n output: \"\"\n });\n continue;\n }\n while(t.slice(0, 3) === \"/**\"){\n const r = e[N.index + 4];\n if (r && r !== \"/\") {\n break;\n }\n t = t.slice(3);\n consume(\"/**\", 3);\n }\n if (n.type === \"bos\" && eos()) {\n P.type = \"globstar\";\n P.value += B;\n P.output = globstar(r);\n N.output = P.output;\n N.globstar = true;\n consume(B);\n continue;\n }\n if (n.type === \"slash\" && n.prev.type !== \"bos\" && !o && eos()) {\n N.output = N.output.slice(0, -(n.output + P.output).length);\n n.output = `(?:${n.output}`;\n P.type = \"globstar\";\n P.output = globstar(r) + (r.strictSlashes ? \")\" : \"|$)\");\n P.value += B;\n N.globstar = true;\n N.output += n.output + P.output;\n consume(B);\n continue;\n }\n if (n.type === \"slash\" && n.prev.type !== \"bos\" && t[0] === \"/\") {\n const e = t[1] !== void 0 ? \"|$\" : \"\";\n N.output = N.output.slice(0, -(n.output + P.output).length);\n n.output = `(?:${n.output}`;\n P.type = \"globstar\";\n P.output = `${globstar(r)}${y}|${y}${e})`;\n P.value += B;\n N.output += n.output + P.output;\n N.globstar = true;\n consume(B + D());\n push({\n type: \"slash\",\n value: \"/\",\n output: \"\"\n });\n continue;\n }\n if (n.type === \"bos\" && t[0] === \"/\") {\n P.type = \"globstar\";\n P.value += B;\n P.output = `(?:^|${y}|${globstar(r)}${y})`;\n N.output = P.output;\n N.globstar = true;\n consume(B + D());\n push({\n type: \"slash\",\n value: \"/\",\n output: \"\"\n });\n continue;\n }\n N.output = N.output.slice(0, -P.output.length);\n P.type = \"globstar\";\n P.output = globstar(r);\n P.value += B;\n N.output += P.output;\n N.globstar = true;\n consume(B);\n continue;\n }\n const n = {\n type: \"star\",\n value: B,\n output: w\n };\n if (r.bash === true) {\n n.output = \".*?\";\n if (P.type === \"bos\" || P.type === \"slash\") {\n n.output = L + n.output;\n }\n push(n);\n continue;\n }\n if (P && (P.type === \"bracket\" || P.type === \"paren\") && r.regex === true) {\n n.output = B;\n push(n);\n continue;\n }\n if (N.index === N.start || P.type === \"slash\" || P.type === \"dot\") {\n if (P.type === \"dot\") {\n N.output += S;\n P.output += S;\n } else if (r.dot === true) {\n N.output += H;\n P.output += H;\n } else {\n N.output += L;\n P.output += L;\n }\n if (G() !== \"*\") {\n N.output += d;\n P.output += d;\n }\n }\n push(n);\n }\n while(N.brackets > 0){\n if (r.strictBrackets === true) throw new SyntaxError(syntaxError(\"closing\", \"]\"));\n N.output = u.escapeLast(N.output, \"[\");\n decrement(\"brackets\");\n }\n while(N.parens > 0){\n if (r.strictBrackets === true) throw new SyntaxError(syntaxError(\"closing\", \")\"));\n N.output = u.escapeLast(N.output, \"(\");\n decrement(\"parens\");\n }\n while(N.braces > 0){\n if (r.strictBrackets === true) throw new SyntaxError(syntaxError(\"closing\", \"}\"));\n N.output = u.escapeLast(N.output, \"{\");\n decrement(\"braces\");\n }\n if (r.strictSlashes !== true && (P.type === \"star\" || P.type === \"bracket\")) {\n push({\n type: \"maybe_slash\",\n value: \"\",\n output: `${y}?`\n });\n }\n if (N.backtrack === true) {\n N.output = \"\";\n for (const e of N.tokens){\n N.output += e.output != null ? e.output : e.value;\n if (e.suffix) {\n N.output += e.suffix;\n }\n }\n }\n return N;\n };\n parse.fastpaths = (e, t)=>{\n const r = {\n ...t\n };\n const o = typeof r.maxLength === \"number\" ? Math.min(s, r.maxLength) : s;\n const i = e.length;\n if (i > o) {\n throw new SyntaxError(`Input length: ${i}, exceeds maximum allowed length: ${o}`);\n }\n e = l[e] || e;\n const a = u.isWindows(t);\n const { DOT_LITERAL: c, SLASH_LITERAL: p, ONE_CHAR: f, DOTS_SLASH: A, NO_DOT: R, NO_DOTS: _, NO_DOTS_SLASH: h, STAR: g, START_ANCHOR: E } = n.globChars(a);\n const C = r.dot ? _ : R;\n const y = r.dot ? h : R;\n const d = r.capture ? \"\" : \"?:\";\n const x = {\n negated: false,\n prefix: \"\"\n };\n let b = r.bash === true ? \".*?\" : g;\n if (r.capture) {\n b = `(${b})`;\n }\n const globstar = (e)=>{\n if (e.noglobstar === true) return b;\n return `(${d}(?:(?!${E}${e.dot ? A : c}).)*?)`;\n };\n const create = (e)=>{\n switch(e){\n case \"*\":\n return `${C}${f}${b}`;\n case \".*\":\n return `${c}${f}${b}`;\n case \"*.*\":\n return `${C}${b}${c}${f}${b}`;\n case \"*/*\":\n return `${C}${b}${p}${f}${y}${b}`;\n case \"**\":\n return C + globstar(r);\n case \"**/*\":\n return `(?:${C}${globstar(r)}${p})?${y}${f}${b}`;\n case \"**/*.*\":\n return `(?:${C}${globstar(r)}${p})?${y}${b}${c}${f}${b}`;\n case \"**/.*\":\n return `(?:${C}${globstar(r)}${p})?${c}${f}${b}`;\n default:\n {\n const t = /^(.*?)\\.(\\w+)$/.exec(e);\n if (!t) return;\n const r = create(t[1]);\n if (!r) return;\n return r + c + t[2];\n }\n }\n };\n const S = u.removePrefix(e, x);\n let H = create(S);\n if (H && r.strictSlashes !== true) {\n H += `${p}?`;\n }\n return H;\n };\n e.exports = parse;\n },\n 683: (e, t, r)=>{\n const n = r(17);\n const u = r(700);\n const s = r(754);\n const o = r(513);\n const i = r(356);\n const isObject = (e)=>e && typeof e === \"object\" && !Array.isArray(e);\n const picomatch = (e, t, r = false)=>{\n if (Array.isArray(e)) {\n const n = e.map((e)=>picomatch(e, t, r));\n const arrayMatcher = (e)=>{\n for (const t of n){\n const r = t(e);\n if (r) return r;\n }\n return false;\n };\n return arrayMatcher;\n }\n const n = isObject(e) && e.tokens && e.input;\n if (e === \"\" || typeof e !== \"string\" && !n) {\n throw new TypeError(\"Expected pattern to be a non-empty string\");\n }\n const u = t || {};\n const s = o.isWindows(t);\n const i = n ? picomatch.compileRe(e, t) : picomatch.makeRe(e, t, false, true);\n const a = i.state;\n delete i.state;\n let isIgnored = ()=>false;\n if (u.ignore) {\n const e = {\n ...t,\n ignore: null,\n onMatch: null,\n onResult: null\n };\n isIgnored = picomatch(u.ignore, e, r);\n }\n const matcher = (r, n = false)=>{\n const { isMatch: o, match: l, output: c } = picomatch.test(r, i, t, {\n glob: e,\n posix: s\n });\n const p = {\n glob: e,\n state: a,\n regex: i,\n posix: s,\n input: r,\n output: c,\n match: l,\n isMatch: o\n };\n if (typeof u.onResult === \"function\") {\n u.onResult(p);\n }\n if (o === false) {\n p.isMatch = false;\n return n ? p : false;\n }\n if (isIgnored(r)) {\n if (typeof u.onIgnore === \"function\") {\n u.onIgnore(p);\n }\n p.isMatch = false;\n return n ? p : false;\n }\n if (typeof u.onMatch === \"function\") {\n u.onMatch(p);\n }\n return n ? p : true;\n };\n if (r) {\n matcher.state = a;\n }\n return matcher;\n };\n picomatch.test = (e, t, r, { glob: n, posix: u } = {})=>{\n if (typeof e !== \"string\") {\n throw new TypeError(\"Expected input to be a string\");\n }\n if (e === \"\") {\n return {\n isMatch: false,\n output: \"\"\n };\n }\n const s = r || {};\n const i = s.format || (u ? o.toPosixSlashes : null);\n let a = e === n;\n let l = a && i ? i(e) : e;\n if (a === false) {\n l = i ? i(e) : e;\n a = l === n;\n }\n if (a === false || s.capture === true) {\n if (s.matchBase === true || s.basename === true) {\n a = picomatch.matchBase(e, t, r, u);\n } else {\n a = t.exec(l);\n }\n }\n return {\n isMatch: Boolean(a),\n match: a,\n output: l\n };\n };\n picomatch.matchBase = (e, t, r, u = o.isWindows(r))=>{\n const s = t instanceof RegExp ? t : picomatch.makeRe(t, r);\n return s.test(n.basename(e));\n };\n picomatch.isMatch = (e, t, r)=>picomatch(t, r)(e);\n picomatch.parse = (e, t)=>{\n if (Array.isArray(e)) return e.map((e)=>picomatch.parse(e, t));\n return s(e, {\n ...t,\n fastpaths: false\n });\n };\n picomatch.scan = (e, t)=>u(e, t);\n picomatch.compileRe = (e, t, r = false, n = false)=>{\n if (r === true) {\n return e.output;\n }\n const u = t || {};\n const s = u.contains ? \"\" : \"^\";\n const o = u.contains ? \"\" : \"$\";\n let i = `${s}(?:${e.output})${o}`;\n if (e && e.negated === true) {\n i = `^(?!${i}).*$`;\n }\n const a = picomatch.toRegex(i, t);\n if (n === true) {\n a.state = e;\n }\n return a;\n };\n picomatch.makeRe = (e, t, r = false, n = false)=>{\n if (!e || typeof e !== \"string\") {\n throw new TypeError(\"Expected a non-empty string\");\n }\n const u = t || {};\n let o = {\n negated: false,\n fastpaths: true\n };\n let i = \"\";\n let a;\n if (e.startsWith(\"./\")) {\n e = e.slice(2);\n i = o.prefix = \"./\";\n }\n if (u.fastpaths !== false && (e[0] === \".\" || e[0] === \"*\")) {\n a = s.fastpaths(e, t);\n }\n if (a === undefined) {\n o = s(e, t);\n o.prefix = i + (o.prefix || \"\");\n } else {\n o.output = a;\n }\n return picomatch.compileRe(o, t, r, n);\n };\n picomatch.toRegex = (e, t)=>{\n try {\n const r = t || {};\n return new RegExp(e, r.flags || (r.nocase ? \"i\" : \"\"));\n } catch (e) {\n if (t && t.debug === true) throw e;\n return /$^/;\n }\n };\n picomatch.constants = i;\n e.exports = picomatch;\n },\n 700: (e, t, r)=>{\n const n = r(513);\n const { CHAR_ASTERISK: u, CHAR_AT: s, CHAR_BACKWARD_SLASH: o, CHAR_COMMA: i, CHAR_DOT: a, CHAR_EXCLAMATION_MARK: l, CHAR_FORWARD_SLASH: c, CHAR_LEFT_CURLY_BRACE: p, CHAR_LEFT_PARENTHESES: f, CHAR_LEFT_SQUARE_BRACKET: A, CHAR_PLUS: R, CHAR_QUESTION_MARK: _, CHAR_RIGHT_CURLY_BRACE: h, CHAR_RIGHT_PARENTHESES: g, CHAR_RIGHT_SQUARE_BRACKET: E } = r(356);\n const isPathSeparator = (e)=>e === c || e === o;\n const depth = (e)=>{\n if (e.isPrefix !== true) {\n e.depth = e.isGlobstar ? Infinity : 1;\n }\n };\n const scan = (e, t)=>{\n const r = t || {};\n const C = e.length - 1;\n const y = r.parts === true || r.scanToEnd === true;\n const d = [];\n const x = [];\n const b = [];\n let S = e;\n let H = -1;\n let v = 0;\n let $ = 0;\n let m = false;\n let T = false;\n let L = false;\n let O = false;\n let w = false;\n let N = false;\n let k = false;\n let I = false;\n let M = false;\n let P = 0;\n let B;\n let G;\n let D = {\n value: \"\",\n depth: 0,\n isGlob: false\n };\n const eos = ()=>H >= C;\n const peek = ()=>S.charCodeAt(H + 1);\n const advance = ()=>{\n B = G;\n return S.charCodeAt(++H);\n };\n while(H < C){\n G = advance();\n let e;\n if (G === o) {\n k = D.backslashes = true;\n G = advance();\n if (G === p) {\n N = true;\n }\n continue;\n }\n if (N === true || G === p) {\n P++;\n while(eos() !== true && (G = advance())){\n if (G === o) {\n k = D.backslashes = true;\n advance();\n continue;\n }\n if (G === p) {\n P++;\n continue;\n }\n if (N !== true && G === a && (G = advance()) === a) {\n m = D.isBrace = true;\n L = D.isGlob = true;\n M = true;\n if (y === true) {\n continue;\n }\n break;\n }\n if (N !== true && G === i) {\n m = D.isBrace = true;\n L = D.isGlob = true;\n M = true;\n if (y === true) {\n continue;\n }\n break;\n }\n if (G === h) {\n P--;\n if (P === 0) {\n N = false;\n m = D.isBrace = true;\n M = true;\n break;\n }\n }\n }\n if (y === true) {\n continue;\n }\n break;\n }\n if (G === c) {\n d.push(H);\n x.push(D);\n D = {\n value: \"\",\n depth: 0,\n isGlob: false\n };\n if (M === true) continue;\n if (B === a && H === v + 1) {\n v += 2;\n continue;\n }\n $ = H + 1;\n continue;\n }\n if (r.noext !== true) {\n const e = G === R || G === s || G === u || G === _ || G === l;\n if (e === true && peek() === f) {\n L = D.isGlob = true;\n O = D.isExtglob = true;\n M = true;\n if (y === true) {\n while(eos() !== true && (G = advance())){\n if (G === o) {\n k = D.backslashes = true;\n G = advance();\n continue;\n }\n if (G === g) {\n L = D.isGlob = true;\n M = true;\n break;\n }\n }\n continue;\n }\n break;\n }\n }\n if (G === u) {\n if (B === u) w = D.isGlobstar = true;\n L = D.isGlob = true;\n M = true;\n if (y === true) {\n continue;\n }\n break;\n }\n if (G === _) {\n L = D.isGlob = true;\n M = true;\n if (y === true) {\n continue;\n }\n break;\n }\n if (G === A) {\n while(eos() !== true && (e = advance())){\n if (e === o) {\n k = D.backslashes = true;\n advance();\n continue;\n }\n if (e === E) {\n T = D.isBracket = true;\n L = D.isGlob = true;\n M = true;\n break;\n }\n }\n if (y === true) {\n continue;\n }\n break;\n }\n if (r.nonegate !== true && G === l && H === v) {\n I = D.negated = true;\n v++;\n continue;\n }\n if (r.noparen !== true && G === f) {\n L = D.isGlob = true;\n if (y === true) {\n while(eos() !== true && (G = advance())){\n if (G === f) {\n k = D.backslashes = true;\n G = advance();\n continue;\n }\n if (G === g) {\n M = true;\n break;\n }\n }\n continue;\n }\n break;\n }\n if (L === true) {\n M = true;\n if (y === true) {\n continue;\n }\n break;\n }\n }\n if (r.noext === true) {\n O = false;\n L = false;\n }\n let U = S;\n let K = \"\";\n let F = \"\";\n if (v > 0) {\n K = S.slice(0, v);\n S = S.slice(v);\n $ -= v;\n }\n if (U && L === true && $ > 0) {\n U = S.slice(0, $);\n F = S.slice($);\n } else if (L === true) {\n U = \"\";\n F = S;\n } else {\n U = S;\n }\n if (U && U !== \"\" && U !== \"/\" && U !== S) {\n if (isPathSeparator(U.charCodeAt(U.length - 1))) {\n U = U.slice(0, -1);\n }\n }\n if (r.unescape === true) {\n if (F) F = n.removeBackslashes(F);\n if (U && k === true) {\n U = n.removeBackslashes(U);\n }\n }\n const Q = {\n prefix: K,\n input: e,\n start: v,\n base: U,\n glob: F,\n isBrace: m,\n isBracket: T,\n isGlob: L,\n isExtglob: O,\n isGlobstar: w,\n negated: I\n };\n if (r.tokens === true) {\n Q.maxDepth = 0;\n if (!isPathSeparator(G)) {\n x.push(D);\n }\n Q.tokens = x;\n }\n if (r.parts === true || r.tokens === true) {\n let t;\n for(let n = 0; n < d.length; n++){\n const u = t ? t + 1 : v;\n const s = d[n];\n const o = e.slice(u, s);\n if (r.tokens) {\n if (n === 0 && v !== 0) {\n x[n].isPrefix = true;\n x[n].value = K;\n } else {\n x[n].value = o;\n }\n depth(x[n]);\n Q.maxDepth += x[n].depth;\n }\n if (n !== 0 || o !== \"\") {\n b.push(o);\n }\n t = s;\n }\n if (t && t + 1 < e.length) {\n const n = e.slice(t + 1);\n b.push(n);\n if (r.tokens) {\n x[x.length - 1].value = n;\n depth(x[x.length - 1]);\n Q.maxDepth += x[x.length - 1].depth;\n }\n }\n Q.slashes = d;\n Q.parts = b;\n }\n return Q;\n };\n e.exports = scan;\n },\n 513: (e, t, r)=>{\n const n = r(17);\n const u = process.platform === \"win32\";\n const { REGEX_BACKSLASH: s, REGEX_REMOVE_BACKSLASH: o, REGEX_SPECIAL_CHARS: i, REGEX_SPECIAL_CHARS_GLOBAL: a } = r(356);\n t.isObject = (e)=>e !== null && typeof e === \"object\" && !Array.isArray(e);\n t.hasRegexChars = (e)=>i.test(e);\n t.isRegexChar = (e)=>e.length === 1 && t.hasRegexChars(e);\n t.escapeRegex = (e)=>e.replace(a, \"\\\\$1\");\n t.toPosixSlashes = (e)=>e.replace(s, \"/\");\n t.removeBackslashes = (e)=>e.replace(o, (e)=>e === \"\\\\\" ? \"\" : e);\n t.supportsLookbehinds = ()=>{\n const e = process.version.slice(1).split(\".\").map(Number);\n if (e.length === 3 && e[0] >= 9 || e[0] === 8 && e[1] >= 10) {\n return true;\n }\n return false;\n };\n t.isWindows = (e)=>{\n if (e && typeof e.windows === \"boolean\") {\n return e.windows;\n }\n return u === true || n.sep === \"\\\\\";\n };\n t.escapeLast = (e, r, n)=>{\n const u = e.lastIndexOf(r, n);\n if (u === -1) return e;\n if (e[u - 1] === \"\\\\\") return t.escapeLast(e, r, u - 1);\n return `${e.slice(0, u)}\\\\${e.slice(u)}`;\n };\n t.removePrefix = (e, t = {})=>{\n let r = e;\n if (r.startsWith(\"./\")) {\n r = r.slice(2);\n t.prefix = \"./\";\n }\n return r;\n };\n t.wrapOutput = (e, t = {}, r = {})=>{\n const n = r.contains ? \"\" : \"^\";\n const u = r.contains ? \"\" : \"$\";\n let s = `${n}(?:${e})${u}`;\n if (t.negated === true) {\n s = `(?:^(?!${s}).*$)`;\n }\n return s;\n };\n },\n 492: (e, t, r)=>{\n /*!\n * to-regex-range <https://github.com/micromatch/to-regex-range>\n *\n * Copyright (c) 2015-present, Jon Schlinkert.\n * Released under the MIT License.\n */ const n = r(357);\n const toRegexRange = (e, t, r)=>{\n if (n(e) === false) {\n throw new TypeError(\"toRegexRange: expected the first argument to be a number\");\n }\n if (t === void 0 || e === t) {\n return String(e);\n }\n if (n(t) === false) {\n throw new TypeError(\"toRegexRange: expected the second argument to be a number.\");\n }\n let u = {\n relaxZeros: true,\n ...r\n };\n if (typeof u.strictZeros === \"boolean\") {\n u.relaxZeros = u.strictZeros === false;\n }\n let s = String(u.relaxZeros);\n let o = String(u.shorthand);\n let i = String(u.capture);\n let a = String(u.wrap);\n let l = e + \":\" + t + \"=\" + s + o + i + a;\n if (toRegexRange.cache.hasOwnProperty(l)) {\n return toRegexRange.cache[l].result;\n }\n let c = Math.min(e, t);\n let p = Math.max(e, t);\n if (Math.abs(c - p) === 1) {\n let r = e + \"|\" + t;\n if (u.capture) {\n return `(${r})`;\n }\n if (u.wrap === false) {\n return r;\n }\n return `(?:${r})`;\n }\n let f = hasPadding(e) || hasPadding(t);\n let A = {\n min: e,\n max: t,\n a: c,\n b: p\n };\n let R = [];\n let _ = [];\n if (f) {\n A.isPadded = f;\n A.maxLen = String(A.max).length;\n }\n if (c < 0) {\n let e = p < 0 ? Math.abs(p) : 1;\n _ = splitToPatterns(e, Math.abs(c), A, u);\n c = A.a = 0;\n }\n if (p >= 0) {\n R = splitToPatterns(c, p, A, u);\n }\n A.negatives = _;\n A.positives = R;\n A.result = collatePatterns(_, R, u);\n if (u.capture === true) {\n A.result = `(${A.result})`;\n } else if (u.wrap !== false && R.length + _.length > 1) {\n A.result = `(?:${A.result})`;\n }\n toRegexRange.cache[l] = A;\n return A.result;\n };\n function collatePatterns(e, t, r) {\n let n = filterPatterns(e, t, \"-\", false, r) || [];\n let u = filterPatterns(t, e, \"\", false, r) || [];\n let s = filterPatterns(e, t, \"-?\", true, r) || [];\n let o = n.concat(s).concat(u);\n return o.join(\"|\");\n }\n function splitToRanges(e, t) {\n let r = 1;\n let n = 1;\n let u = countNines(e, r);\n let s = new Set([\n t\n ]);\n while(e <= u && u <= t){\n s.add(u);\n r += 1;\n u = countNines(e, r);\n }\n u = countZeros(t + 1, n) - 1;\n while(e < u && u <= t){\n s.add(u);\n n += 1;\n u = countZeros(t + 1, n) - 1;\n }\n s = [\n ...s\n ];\n s.sort(compare);\n return s;\n }\n function rangeToPattern(e, t, r) {\n if (e === t) {\n return {\n pattern: e,\n count: [],\n digits: 0\n };\n }\n let n = zip(e, t);\n let u = n.length;\n let s = \"\";\n let o = 0;\n for(let e = 0; e < u; e++){\n let [t, u] = n[e];\n if (t === u) {\n s += t;\n } else if (t !== \"0\" || u !== \"9\") {\n s += toCharacterClass(t, u, r);\n } else {\n o++;\n }\n }\n if (o) {\n s += r.shorthand === true ? \"\\\\d\" : \"[0-9]\";\n }\n return {\n pattern: s,\n count: [\n o\n ],\n digits: u\n };\n }\n function splitToPatterns(e, t, r, n) {\n let u = splitToRanges(e, t);\n let s = [];\n let o = e;\n let i;\n for(let e = 0; e < u.length; e++){\n let t = u[e];\n let a = rangeToPattern(String(o), String(t), n);\n let l = \"\";\n if (!r.isPadded && i && i.pattern === a.pattern) {\n if (i.count.length > 1) {\n i.count.pop();\n }\n i.count.push(a.count[0]);\n i.string = i.pattern + toQuantifier(i.count);\n o = t + 1;\n continue;\n }\n if (r.isPadded) {\n l = padZeros(t, r, n);\n }\n a.string = l + a.pattern + toQuantifier(a.count);\n s.push(a);\n o = t + 1;\n i = a;\n }\n return s;\n }\n function filterPatterns(e, t, r, n, u) {\n let s = [];\n for (let u of e){\n let { string: e } = u;\n if (!n && !contains(t, \"string\", e)) {\n s.push(r + e);\n }\n if (n && contains(t, \"string\", e)) {\n s.push(r + e);\n }\n }\n return s;\n }\n function zip(e, t) {\n let r = [];\n for(let n = 0; n < e.length; n++)r.push([\n e[n],\n t[n]\n ]);\n return r;\n }\n function compare(e, t) {\n return e > t ? 1 : t > e ? -1 : 0;\n }\n function contains(e, t, r) {\n return e.some((e)=>e[t] === r);\n }\n function countNines(e, t) {\n return Number(String(e).slice(0, -t) + \"9\".repeat(t));\n }\n function countZeros(e, t) {\n return e - e % Math.pow(10, t);\n }\n function toQuantifier(e) {\n let [t = 0, r = \"\"] = e;\n if (r || t > 1) {\n return `{${t + (r ? \",\" + r : \"\")}}`;\n }\n return \"\";\n }\n function toCharacterClass(e, t, r) {\n return `[${e}${t - e === 1 ? \"\" : \"-\"}${t}]`;\n }\n function hasPadding(e) {\n return /^-?(0+)\\d/.test(e);\n }\n function padZeros(e, t, r) {\n if (!t.isPadded) {\n return e;\n }\n let n = Math.abs(t.maxLen - String(e).length);\n let u = r.relaxZeros !== false;\n switch(n){\n case 0:\n return \"\";\n case 1:\n return u ? \"0?\" : \"0\";\n case 2:\n return u ? \"0{0,2}\" : \"00\";\n default:\n {\n return u ? `0{0,${n}}` : `0{${n}}`;\n }\n }\n }\n toRegexRange.cache = {};\n toRegexRange.clearCache = ()=>toRegexRange.cache = {};\n e.exports = toRegexRange;\n },\n 17: (e)=>{\n e.exports = __webpack_require__(/*! path */ \"path\");\n },\n 837: (e)=>{\n e.exports = __webpack_require__(/*! util */ \"util\");\n }\n };\n var t = {};\n function __nccwpck_require__(r) {\n var n = t[r];\n if (n !== undefined) {\n return n.exports;\n }\n var u = t[r] = {\n exports: {}\n };\n var s = true;\n try {\n e[r](u, u.exports, __nccwpck_require__);\n s = false;\n } finally{\n if (s) delete t[r];\n }\n return u.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var r = __nccwpck_require__(971);\n module.exports = r;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL21pY3JvbWF0Y2gvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUs7SUFBYSxJQUFJQSxJQUFFO1FBQUMsS0FBSSxDQUFDQSxHQUFFQyxHQUFFQztZQUFLLE1BQU1DLElBQUVELEVBQUU7WUFBSyxNQUFNRSxJQUFFRixFQUFFO1lBQUssTUFBTUcsSUFBRUgsRUFBRTtZQUFJLE1BQU1JLElBQUVKLEVBQUU7WUFBSyxNQUFNSyxTQUFPLENBQUNQLEdBQUVDLElBQUUsQ0FBQyxDQUFDO2dCQUFJLElBQUlDLElBQUUsRUFBRTtnQkFBQyxJQUFHTSxNQUFNQyxPQUFPLENBQUNULElBQUc7b0JBQUMsS0FBSSxJQUFJRyxLQUFLSCxFQUFFO3dCQUFDLElBQUlBLElBQUVPLE9BQU9HLE1BQU0sQ0FBQ1AsR0FBRUY7d0JBQUcsSUFBR08sTUFBTUMsT0FBTyxDQUFDVCxJQUFHOzRCQUFDRSxFQUFFUyxJQUFJLElBQUlYO3dCQUFFLE9BQUs7NEJBQUNFLEVBQUVTLElBQUksQ0FBQ1g7d0JBQUU7b0JBQUM7Z0JBQUMsT0FBSztvQkFBQ0UsSUFBRSxFQUFFLENBQUNVLE1BQU0sQ0FBQ0wsT0FBT0csTUFBTSxDQUFDVixHQUFFQztnQkFBRztnQkFBQyxJQUFHQSxLQUFHQSxFQUFFWSxNQUFNLEtBQUcsUUFBTVosRUFBRWEsT0FBTyxLQUFHLE1BQUs7b0JBQUNaLElBQUU7MkJBQUksSUFBSWEsSUFBSWI7cUJBQUc7Z0JBQUE7Z0JBQUMsT0FBT0E7WUFBQztZQUFFSyxPQUFPUyxLQUFLLEdBQUMsQ0FBQ2hCLEdBQUVDLElBQUUsQ0FBQyxDQUFDLEdBQUdLLEVBQUVOLEdBQUVDO1lBQUdNLE9BQU9VLFNBQVMsR0FBQyxDQUFDakIsR0FBRUMsSUFBRSxDQUFDLENBQUM7Z0JBQUksSUFBRyxPQUFPRCxNQUFJLFVBQVM7b0JBQUMsT0FBT0csRUFBRUksT0FBT1MsS0FBSyxDQUFDaEIsR0FBRUMsSUFBR0E7Z0JB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T0FBTyxHQUFDckI7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL21pY3JvbWF0Y2gvaW5kZXguanM/M2NlZCJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17MzMzOihlLHQscik9Pntjb25zdCBuPXIoMTM3KTtjb25zdCB1PXIoMTc5KTtjb25zdCBzPXIoMTMpO2NvbnN0IG89cig3MTkpO2NvbnN0IGJyYWNlcz0oZSx0PXt9KT0+e2xldCByPVtdO2lmKEFycmF5LmlzQXJyYXkoZSkpe2ZvcihsZXQgbiBvZiBlKXtsZXQgZT1icmFjZXMuY3JlYXRlKG4sdCk7aWYoQXJyYXkuaXNBcnJheShlKSl7ci5wdXNoKC4uLmUpfWVsc2V7ci5wdXNoKGUpfX19ZWxzZXtyPVtdLmNvbmNhdChicmFjZXMuY3JlYXRlKGUsdCkpfWlmKHQmJnQuZXhwYW5kPT09dHJ1ZSYmdC5ub2R1cGVzPT09dHJ1ZSl7cj1bLi4ubmV3IFNldChyKV19cmV0dXJuIHJ9O2JyYWNlcy5wYXJzZT0oZSx0PXt9KT0+byhlLHQpO2JyYWNlcy5zdHJpbmdpZnk9KGUsdD17fSk9PntpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe3JldHVybiBuKGJyYWNlcy5wYXJzZShlLHQpLHQpfXJldHVybiBuKGUsdCl9O2JyYWNlcy5jb21waWxlPShlLHQ9e30pPT57aWYodHlwZW9mIGU9PT1cInN0cmluZ1wiKXtlPWJyYWNlcy5wYXJzZShlLHQpfXJldHVybiB1KGUsdCl9O2JyYWNlcy5leHBhbmQ9KGUsdD17fSk9PntpZih0eXBlb2YgZT09PVwic3RyaW5nXCIpe2U9YnJhY2VzLnBhcnNlKGUsdCl9bGV0IHI9cyhlLHQpO2lmKHQubm9lbXB0eT09PXRydWUpe3I9ci5maWx0ZXIoQm9vbGVhbil9aWYodC5ub2R1cGVzPT09dHJ1ZSl7cj1bLi4ubmV3IFNldChyKV19cmV0dXJuIHJ9O2JyYWNlcy5jcmVhdGU9KGUsdD17fSk9PntpZihlPT09XCJcInx8ZS5sZW5ndGg8Myl7cmV0dXJuW2VdfXJldHVybiB0LmV4cGFuZCE9PXRydWU/YnJhY2VzLmNvbXBpbGUoZSx0KTpicmFjZXMuZXhwYW5kKGUsdCl9O2UuZXhwb3J0cz1icmFjZXN9LDE3OTooZSx0LHIpPT57Y29uc3Qgbj1yKDc4Myk7Y29uc3QgdT1yKDYxNyk7Y29uc3QgY29tcGlsZT0oZSx0PXt9KT0+e2xldCB3YWxrPShlLHI9e30pPT57bGV0IHM9dS5pc0ludmFsaWRCcmFjZShyKTtsZXQgbz1lLmludmFsaWQ9PT10cnVlJiZ0LmVzY2FwZUludmFsaWQ9PT10cnVlO2xldCBpPXM9PT10cnVlfHxvPT09dHJ1ZTtsZXQgYT10LmVzY2FwZUludmFsaWQ9PT10cnVlP1wiXFxcXFwiOlwiXCI7bGV0IGw9XCJcIjtpZihlLmlzT3Blbj09PXRydWUpe3JldHVybiBhK2UudmFsdWV9aWYoZS5pc0Nsb3NlPT09dHJ1ZSl7cmV0dXJuIGErZS52YWx1ZX1pZihlLnR5cGU9PT1cIm9wZW5cIil7cmV0dXJuIGk/YStlLnZhbHVlOlwiKFwifWlmKGUudHlwZT09PVwiY2xvc2VcIil7cmV0dXJuIGk/YStlLnZhbHVlOlwiKVwifWlmKGUudHlwZT09PVwiY29tbWFcIil7cmV0dXJuIGUucHJldi50eXBlPT09XCJjb21tYVwiP1wiXCI6aT9lLnZhbHVlOlwifFwifWlmKGUudmFsdWUpe3JldHVybiBlLnZhbHVlfWlmKGUubm9kZXMmJmUucmFuZ2VzPjApe2xldCByPXUucmVkdWNlKGUubm9kZXMpO2xldCBzPW4oLi4ucix7Li4udCx3cmFwOmZhbHNlLHRvUmVnZXg6dHJ1ZX0pO2lmKHMubGVuZ3RoIT09MCl7cmV0dXJuIHIubGVuZ3RoPjEmJnMubGVuZ3RoPjE/YCgke3N9KWA6c319aWYoZS5ub2Rlcyl7Zm9yKGxldCB0IG9mIGUubm9kZXMpe2wrPXdhbGsodCxlKX19cmV0dXJuIGx9O3JldHVybiB3YWxrKGUpfTtlLmV4cG9ydHM9Y29tcGlsZX0sNDU3OmU9PntlLmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxDSEFSXzA6XCIwXCIsQ0hBUl85OlwiOVwiLENIQVJfVVBQRVJDQVNFX0E6XCJBXCIsQ0hBUl9MT1dFUkNBU0VfQTpcImFcIixDSEFSX1VQUEVSQ0FTRV9aOlwiWlwiLENIQVJfTE9XRVJDQVNFX1o6XCJ6XCIsQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOlwiKFwiLENIQVJfUklHSFRfUEFSRU5USEVTRVM6XCIpXCIsQ0hBUl9BU1RFUklTSzpcIipcIixDSEFSX0FNUEVSU0FORDpcIiZcIixDSEFSX0FUOlwiQFwiLENIQVJfQkFDS1NMQVNIOlwiXFxcXFwiLENIQVJfQkFDS1RJQ0s6XCJgXCIsQ0hBUl9DQVJSSUFHRV9SRVRVUk46XCJcXHJcIixDSEFSX0NJUkNVTUZMRVhfQUNDRU5UOlwiXlwiLENIQVJfQ09MT046XCI6XCIsQ0hBUl9DT01NQTpcIixcIixDSEFSX0RPTExBUjpcIiRcIixDSEFSX0RPVDpcIi5cIixDSEFSX0RPVUJMRV9RVU9URTonXCInLENIQVJfRVFVQUw6XCI9XCIsQ0hBUl9FWENMQU1BVElPTl9NQVJLOlwiIVwiLENIQVJfRk9STV9GRUVEOlwiXFxmXCIsQ0hBUl9GT1JXQVJEX1NMQVNIOlwiL1wiLENIQVJfSEFTSDpcIiNcIixDSEFSX0hZUEhFTl9NSU5VUzpcIi1cIixDSEFSX0xFRlRfQU5HTEVfQlJBQ0tFVDpcIjxcIixDSEFSX0xFRlRfQ1VSTFlfQlJBQ0U6XCJ7XCIsQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUOlwiW1wiLENIQVJfTElORV9GRUVEOlwiXFxuXCIsQ0hBUl9OT19CUkVBS19TUEFDRTpcIsKgXCIsQ0hBUl9QRVJDRU5UOlwiJVwiLENIQVJfUExVUzpcIitcIixDSEFSX1FVRVNUSU9OX01BUks6XCI/XCIsQ0hBUl9SSUdIVF9BTkdMRV9CUkFDS0VUOlwiPlwiLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6XCJ9XCIsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpcIl1cIixDSEFSX1NFTUlDT0xPTjpcIjtcIixDSEFSX1NJTkdMRV9RVU9URTpcIidcIixDSEFSX1NQQUNFOlwiIFwiLENIQVJfVEFCOlwiXFx0XCIsQ0hBUl9VTkRFUlNDT1JFOlwiX1wiLENIQVJfVkVSVElDQUxfTElORTpcInxcIixDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRTpcIlxcdWZlZmZcIn19LDEzOihlLHQscik9Pntjb25zdCBuPXIoNzgzKTtjb25zdCB1PXIoMTM3KTtjb25zdCBzPXIoNjE3KTtjb25zdCBhcHBlbmQ9KGU9XCJcIix0PVwiXCIscj1mYWxzZSk9PntsZXQgbj1bXTtlPVtdLmNvbmNhdChlKTt0PVtdLmNvbmNhdCh0KTtpZighdC5sZW5ndGgpcmV0dXJuIGU7aWYoIWUubGVuZ3RoKXtyZXR1cm4gcj9zLmZsYXR0ZW4odCkubWFwKChlPT5geyR7ZX19YCkpOnR9Zm9yKGxldCB1IG9mIGUpe2lmKEFycmF5LmlzQXJyYXkodSkpe2ZvcihsZXQgZSBvZiB1KXtuLnB1c2goYXBwZW5kKGUsdCxyKSl9fWVsc2V7Zm9yKGxldCBlIG9mIHQpe2lmKHI9PT10cnVlJiZ0eXBlb2YgZT09PVwic3RyaW5nXCIpZT1geyR7ZX19YDtuLnB1c2goQXJyYXkuaXNBcnJheShlKT9hcHBlbmQodSxlLHIpOnUrZSl9fX1yZXR1cm4gcy5mbGF0dGVuKG4pfTtjb25zdCBleHBhbmQ9KGUsdD17fSk9PntsZXQgcj10LnJhbmdlTGltaXQ9PT12b2lkIDA/MWUzOnQucmFuZ2VMaW1pdDtsZXQgd2Fsaz0oZSxvPXt9KT0+e2UucXVldWU9W107bGV0IGk9bztsZXQgYT1vLnF1ZXVlO3doaWxlKGkudHlwZSE9PVwiYnJhY2VcIiYmaS50eXBlIT09XCJyb290XCImJmkucGFyZW50KXtpPWkucGFyZW50O2E9aS5xdWV1ZX1pZihlLmludmFsaWR8fGUuZG9sbGFyKXthLnB1c2goYXBwZW5kKGEucG9wKCksdShlLHQpKSk7cmV0dXJufWlmKGUudHlwZT09PVwiYnJhY2VcIiYmZS5pbnZhbGlkIT09dHJ1ZSYmZS5ub2Rlcy5sZW5ndGg9PT0yKXthLnB1c2goYXBwZW5kKGEucG9wKCksW1wie31cIl0pKTtyZXR1cm59aWYoZS5ub2RlcyYmZS5yYW5nZXM+MCl7bGV0IG89cy5yZWR1Y2UoZS5ub2Rlcyk7aWYocy5leGNlZWRzTGltaXQoLi4ubyx0LnN0ZXAscikpe3Rocm93IG5ldyBSYW5nZUVycm9yKFwiZXhwYW5kZWQgYXJyYXkgbGVuZ3RoIGV4Y2VlZHMgcmFuZ2UgbGltaXQuIFVzZSBvcHRpb25zLnJhbmdlTGltaXQgdG8gaW5jcmVhc2Ugb3IgZGlzYWJsZSB0aGUgbGltaXQuXCIpfWxldCBpPW4oLi4ubyx0KTtpZihpLmxlbmd0aD09PTApe2k9dShlLHQpfWEucHVzaChhcHBlbmQoYS5wb3AoKSxpKSk7ZS5ub2Rlcz1bXTtyZXR1cm59bGV0IGw9cy5lbmNsb3NlQnJhY2UoZSk7bGV0IGM9ZS5xdWV1ZTtsZXQgcD1lO3doaWxlKHAudHlwZSE9PVwiYnJhY2VcIiYmcC50eXBlIT09XCJyb290XCImJnAucGFyZW50KXtwPXAucGFyZW50O2M9cC5xdWV1ZX1mb3IobGV0IHQ9MDt0PGUubm9kZXMubGVuZ3RoO3QrKyl7bGV0IHI9ZS5ub2Rlc1t0XTtpZihyLnR5cGU9PT1cImNvbW1hXCImJmUudHlwZT09PVwiYnJhY2VcIil7aWYodD09PTEpYy5wdXNoKFwiXCIpO2MucHVzaChcIlwiKTtjb250aW51ZX1pZihyLnR5cGU9PT1cImNsb3NlXCIpe2EucHVzaChhcHBlbmQoYS5wb3AoKSxjLGwpKTtjb250aW51ZX1pZihyLnZhbHVlJiZyLnR5cGUhPT1cIm9wZW5cIil7Yy5wdXNoKGFwcGVuZChjLnBvcCgpLHIudmFsdWUpKTtjb250aW51ZX1pZihyLm5vZGVzKXt3YWxrKHIsZSl9fXJldHVybiBjfTtyZXR1cm4gcy5mbGF0dGVuKHdhbGsoZSkpfTtlLmV4cG9ydHM9ZXhwYW5kfSw3MTk6KGUsdCxyKT0+e2NvbnN0IG49cigxMzcpO2NvbnN0e01BWF9MRU5HVEg6dSxDSEFSX0JBQ0tTTEFTSDpzLENIQVJfQkFDS1RJQ0s6byxDSEFSX0NPTU1BOmksQ0hBUl9ET1Q6YSxDSEFSX0xFRlRfUEFSRU5USEVTRVM6bCxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmMsQ0hBUl9MRUZUX0NVUkxZX0JSQUNFOnAsQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRTpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6UixDSEFSX0RPVUJMRV9RVU9URTpfLENIQVJfU0lOR0xFX1FVT1RFOmgsQ0hBUl9OT19CUkVBS19TUEFDRTpnLENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOkV9PXIoNDU3KTtjb25zdCBwYXJzZT0oZSx0PXt9KT0+e2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgc3RyaW5nXCIpfWxldCByPXR8fHt9O2xldCBDPXR5cGVvZiByLm1heExlbmd0aD09PVwibnVtYmVyXCI/TWF0aC5taW4odSxyLm1heExlbmd0aCk6dTtpZihlLmxlbmd0aD5DKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aCAoJHtlLmxlbmd0aH0pLCBleGNlZWRzIG1heCBjaGFyYWN0ZXJzICgke0N9KWApfWxldCB5PXt0eXBlOlwicm9vdFwiLGlucHV0OmUsbm9kZXM6W119O2xldCBkPVt5XTtsZXQgeD15O2xldCBiPXk7bGV0IFM9MDtsZXQgSD1lLmxlbmd0aDtsZXQgdj0wO2xldCAkPTA7bGV0IG07bGV0IFQ9e307Y29uc3QgYWR2YW5jZT0oKT0+ZVt2KytdO2NvbnN0IHB1c2g9ZT0+e2lmKGUudHlwZT09PVwidGV4dFwiJiZiLnR5cGU9PT1cImRvdFwiKXtiLnR5cGU9XCJ0ZXh0XCJ9aWYoYiYmYi50eXBlPT09XCJ0ZXh0XCImJmUudHlwZT09PVwidGV4dFwiKXtiLnZhbHVlKz1lLnZhbHVlO3JldHVybn14Lm5vZGVzLnB1c2goZSk7ZS5wYXJlbnQ9eDtlLnByZXY9YjtiPWU7cmV0dXJuIGV9O3B1c2goe3R5cGU6XCJib3NcIn0pO3doaWxlKHY8SCl7eD1kW2QubGVuZ3RoLTFdO209YWR2YW5jZSgpO2lmKG09PT1FfHxtPT09Zyl7Y29udGludWV9aWYobT09PXMpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6KHQua2VlcEVzY2FwaW5nP206XCJcIikrYWR2YW5jZSgpfSk7Y29udGludWV9aWYobT09PVIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6XCJcXFxcXCIrbX0pO2NvbnRpbnVlfWlmKG09PT1BKXtTKys7bGV0IGU9dHJ1ZTtsZXQgdDt3aGlsZSh2PEgmJih0PWFkdmFuY2UoKSkpe20rPXQ7aWYodD09PUEpe1MrKztjb250aW51ZX1pZih0PT09cyl7bSs9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKHQ9PT1SKXtTLS07aWYoUz09PTApe2JyZWFrfX19cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTptfSk7Y29udGludWV9aWYobT09PWwpe3g9cHVzaCh7dHlwZTpcInBhcmVuXCIsbm9kZXM6W119KTtkLnB1c2goeCk7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTptfSk7Y29udGludWV9aWYobT09PWMpe2lmKHgudHlwZSE9PVwicGFyZW5cIil7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTptfSk7Y29udGludWV9eD1kLnBvcCgpO3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6bX0pO3g9ZFtkLmxlbmd0aC0xXTtjb250aW51ZX1pZihtPT09X3x8bT09PWh8fG09PT1vKXtsZXQgZT1tO2xldCByO2lmKHQua2VlcFF1b3RlcyE9PXRydWUpe209XCJcIn13aGlsZSh2PEgmJihyPWFkdmFuY2UoKSkpe2lmKHI9PT1zKXttKz1yK2FkdmFuY2UoKTtjb250aW51ZX1pZihyPT09ZSl7aWYodC5rZWVwUXVvdGVzPT09dHJ1ZSltKz1yO2JyZWFrfW0rPXJ9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTptfSk7Y29udGludWV9aWYobT09PXApeyQrKztsZXQgZT1iLnZhbHVlJiZiLnZhbHVlLnNsaWNlKC0xKT09PVwiJFwifHx4LmRvbGxhcj09PXRydWU7bGV0IHQ9e3R5cGU6XCJicmFjZVwiLG9wZW46dHJ1ZSxjbG9zZTpmYWxzZSxkb2xsYXI6ZSxkZXB0aDokLGNvbW1hczowLHJhbmdlczowLG5vZGVzOltdfTt4PXB1c2godCk7ZC5wdXNoKHgpO3B1c2goe3R5cGU6XCJvcGVuXCIsdmFsdWU6bX0pO2NvbnRpbnVlfWlmKG09PT1mKXtpZih4LnR5cGUhPT1cImJyYWNlXCIpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6bX0pO2NvbnRpbnVlfWxldCBlPVwiY2xvc2VcIjt4PWQucG9wKCk7eC5jbG9zZT10cnVlO3B1c2goe3R5cGU6ZSx2YWx1ZTptfSk7JC0tO3g9ZFtkLmxlbmd0aC0xXTtjb250aW51ZX1pZihtPT09aSYmJD4wKXtpZih4LnJhbmdlcz4wKXt4LnJhbmdlcz0wO2xldCBlPXgubm9kZXMuc2hpZnQoKTt4Lm5vZGVzPVtlLHt0eXBlOlwidGV4dFwiLHZhbHVlOm4oeCl9XX1wdXNoKHt0eXBlOlwiY29tbWFcIix2YWx1ZTptfSk7eC5jb21tYXMrKztjb250aW51ZX1pZihtPT09YSYmJD4wJiZ4LmNvbW1hcz09PTApe2xldCBlPXgubm9kZXM7aWYoJD09PTB8fGUubGVuZ3RoPT09MCl7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTptfSk7Y29udGludWV9aWYoYi50eXBlPT09XCJkb3RcIil7eC5yYW5nZT1bXTtiLnZhbHVlKz1tO2IudHlwZT1cInJhbmdlXCI7aWYoeC5ub2Rlcy5sZW5ndGghPT0zJiZ4Lm5vZGVzLmxlbmd0aCE9PTUpe3guaW52YWxpZD10cnVlO3gucmFuZ2VzPTA7Yi50eXBlPVwidGV4dFwiO2NvbnRpbnVlfXgucmFuZ2VzKys7eC5hcmdzPVtdO2NvbnRpbnVlfWlmKGIudHlwZT09PVwicmFuZ2VcIil7ZS5wb3AoKTtsZXQgdD1lW2UubGVuZ3RoLTFdO3QudmFsdWUrPWIudmFsdWUrbTtiPXQ7eC5yYW5nZXMtLTtjb250aW51ZX1wdXNoKHt0eXBlOlwiZG90XCIsdmFsdWU6bX0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6bX0pfWRve3g9ZC5wb3AoKTtpZih4LnR5cGUhPT1cInJvb3RcIil7eC5ub2Rlcy5mb3JFYWNoKChlPT57aWYoIWUubm9kZXMpe2lmKGUudHlwZT09PVwib3BlblwiKWUuaXNPcGVuPXRydWU7aWYoZS50eXBlPT09XCJjbG9zZVwiKWUuaXNDbG9zZT10cnVlO2lmKCFlLm5vZGVzKWUudHlwZT1cInRleHRcIjtlLmludmFsaWQ9dHJ1ZX19KSk7bGV0IGU9ZFtkLmxlbmd0aC0xXTtsZXQgdD1lLm5vZGVzLmluZGV4T2YoeCk7ZS5ub2Rlcy5zcGxpY2UodCwxLC4uLngubm9kZXMpfX13aGlsZShkLmxlbmd0aD4wKTtwdXNoKHt0eXBlOlwiZW9zXCJ9KTtyZXR1cm4geX07ZS5leHBvcnRzPXBhcnNlfSwxMzc6KGUsdCxyKT0+e2NvbnN0IG49cig2MTcpO2UuZXhwb3J0cz0oZSx0PXt9KT0+e2xldCBzdHJpbmdpZnk9KGUscj17fSk9PntsZXQgdT10LmVzY2FwZUludmFsaWQmJm4uaXNJbnZhbGlkQnJhY2Uocik7bGV0IHM9ZS5pbnZhbGlkPT09dHJ1ZSYmdC5lc2NhcGVJbnZhbGlkPT09dHJ1ZTtsZXQgbz1cIlwiO2lmKGUudmFsdWUpe2lmKCh1fHxzKSYmbi5pc09wZW5PckNsb3NlKGUpKXtyZXR1cm5cIlxcXFxcIitlLnZhbHVlfXJldHVybiBlLnZhbHVlfWlmKGUudmFsdWUpe3JldHVybiBlLnZhbHVlfWlmKGUubm9kZXMpe2ZvcihsZXQgdCBvZiBlLm5vZGVzKXtvKz1zdHJpbmdpZnkodCl9fXJldHVybiBvfTtyZXR1cm4gc3RyaW5naWZ5KGUpfX0sNjE3OihlLHQpPT57dC5pc0ludGVnZXI9ZT0+e2lmKHR5cGVvZiBlPT09XCJudW1iZXJcIil7cmV0dXJuIE51bWJlci5pc0ludGVnZXIoZSl9aWYodHlwZW9mIGU9PT1cInN0cmluZ1wiJiZlLnRyaW0oKSE9PVwiXCIpe3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKE51bWJlcihlKSl9cmV0dXJuIGZhbHNlfTt0LmZpbmQ9KGUsdCk9PmUubm9kZXMuZmluZCgoZT0+ZS50eXBlPT09dCkpO3QuZXhjZWVkc0xpbWl0PShlLHIsbj0xLHUpPT57aWYodT09PWZhbHNlKXJldHVybiBmYWxzZTtpZighdC5pc0ludGVnZXIoZSl8fCF0LmlzSW50ZWdlcihyKSlyZXR1cm4gZmFsc2U7cmV0dXJuKE51bWJlcihyKS1OdW1iZXIoZSkpL051bWJlcihuKT49dX07dC5lc2NhcGVOb2RlPShlLHQ9MCxyKT0+e2xldCBuPWUubm9kZXNbdF07aWYoIW4pcmV0dXJuO2lmKHImJm4udHlwZT09PXJ8fG4udHlwZT09PVwib3BlblwifHxuLnR5cGU9PT1cImNsb3NlXCIpe2lmKG4uZXNjYXBlZCE9PXRydWUpe24udmFsdWU9XCJcXFxcXCIrbi52YWx1ZTtuLmVzY2FwZWQ9dHJ1ZX19fTt0LmVuY2xvc2VCcmFjZT1lPT57aWYoZS50eXBlIT09XCJicmFjZVwiKXJldHVybiBmYWxzZTtpZihlLmNvbW1hcz4+MCtlLnJhbmdlcz4+MD09PTApe2UuaW52YWxpZD10cnVlO3JldHVybiB0cnVlfXJldHVybiBmYWxzZX07dC5pc0ludmFsaWRCcmFjZT1lPT57aWYoZS50eXBlIT09XCJicmFjZVwiKXJldHVybiBmYWxzZTtpZihlLmludmFsaWQ9PT10cnVlfHxlLmRvbGxhcilyZXR1cm4gdHJ1ZTtpZihlLmNvbW1hcz4+MCtlLnJhbmdlcz4+MD09PTApe2UuaW52YWxpZD10cnVlO3JldHVybiB0cnVlfWlmKGUub3BlbiE9PXRydWV8fGUuY2xvc2UhPT10cnVlKXtlLmludmFsaWQ9dHJ1ZTtyZXR1cm4gdHJ1ZX1yZXR1cm4gZmFsc2V9O3QuaXNPcGVuT3JDbG9zZT1lPT57aWYoZS50eXBlPT09XCJvcGVuXCJ8fGUudHlwZT09PVwiY2xvc2VcIil7cmV0dXJuIHRydWV9cmV0dXJuIGUub3Blbj09PXRydWV8fGUuY2xvc2U9PT10cnVlfTt0LnJlZHVjZT1lPT5lLnJlZHVjZSgoKGUsdCk9PntpZih0LnR5cGU9PT1cInRleHRcIillLnB1c2godC52YWx1ZSk7aWYodC50eXBlPT09XCJyYW5nZVwiKXQudHlwZT1cInRleHRcIjtyZXR1cm4gZX0pLFtdKTt0LmZsYXR0ZW49KC4uLmUpPT57Y29uc3QgdD1bXTtjb25zdCBmbGF0PWU9Pntmb3IobGV0IHI9MDtyPGUubGVuZ3RoO3IrKyl7bGV0IG49ZVtyXTtBcnJheS5pc0FycmF5KG4pP2ZsYXQobix0KTpuIT09dm9pZCAwJiZ0LnB1c2gobil9cmV0dXJuIHR9O2ZsYXQoZSk7cmV0dXJuIHR9fSw3ODM6KGUsdCxyKT0+e1xuLyohXG4gKiBmaWxsLXJhbmdlIDxodHRwczovL2dpdGh1Yi5jb20vam9uc2NobGlua2VydC9maWxsLXJhbmdlPlxuICpcbiAqIENvcHlyaWdodCAoYykgMjAxNC1wcmVzZW50LCBKb24gU2NobGlua2VydC5cbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS5cbiAqL1xuY29uc3Qgbj1yKDgzNyk7Y29uc3QgdT1yKDQ5Mik7Y29uc3QgaXNPYmplY3Q9ZT0+ZSE9PW51bGwmJnR5cGVvZiBlPT09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkoZSk7Y29uc3QgdHJhbnNmb3JtPWU9PnQ9PmU9PT10cnVlP051bWJlcih0KTpTdHJpbmcodCk7Y29uc3QgaXNWYWxpZFZhbHVlPWU9PnR5cGVvZiBlPT09XCJudW1iZXJcInx8dHlwZW9mIGU9PT1cInN0cmluZ1wiJiZlIT09XCJcIjtjb25zdCBpc051bWJlcj1lPT5OdW1iZXIuaXNJbnRlZ2VyKCtlKTtjb25zdCB6ZXJvcz1lPT57bGV0IHQ9YCR7ZX1gO2xldCByPS0xO2lmKHRbMF09PT1cIi1cIil0PXQuc2xpY2UoMSk7aWYodD09PVwiMFwiKXJldHVybiBmYWxzZTt3aGlsZSh0Wysrcl09PT1cIjBcIik7cmV0dXJuIHI+MH07Y29uc3Qgc3RyaW5naWZ5PShlLHQscik9PntpZih0eXBlb2YgZT09PVwic3RyaW5nXCJ8fHR5cGVvZiB0PT09XCJzdHJpbmdcIil7cmV0dXJuIHRydWV9cmV0dXJuIHIuc3RyaW5naWZ5PT09dHJ1ZX07Y29uc3QgcGFkPShlLHQscik9PntpZih0PjApe2xldCByPWVbMF09PT1cIi1cIj9cIi1cIjpcIlwiO2lmKHIpZT1lLnNsaWNlKDEpO2U9citlLnBhZFN0YXJ0KHI/dC0xOnQsXCIwXCIpfWlmKHI9PT1mYWxzZSl7cmV0dXJuIFN0cmluZyhlKX1yZXR1cm4gZX07Y29uc3QgdG9NYXhMZW49KGUsdCk9PntsZXQgcj1lWzBdPT09XCItXCI/XCItXCI6XCJcIjtpZihyKXtlPWUuc2xpY2UoMSk7dC0tfXdoaWxlKGUubGVuZ3RoPHQpZT1cIjBcIitlO3JldHVybiByP1wiLVwiK2U6ZX07Y29uc3QgdG9TZXF1ZW5jZT0oZSx0KT0+e2UubmVnYXRpdmVzLnNvcnQoKChlLHQpPT5lPHQ/LTE6ZT50PzE6MCkpO2UucG9zaXRpdmVzLnNvcnQoKChlLHQpPT5lPHQ/LTE6ZT50PzE6MCkpO2xldCByPXQuY2FwdHVyZT9cIlwiOlwiPzpcIjtsZXQgbj1cIlwiO2xldCB1PVwiXCI7bGV0IHM7aWYoZS5wb3NpdGl2ZXMubGVuZ3RoKXtuPWUucG9zaXRpdmVzLmpvaW4oXCJ8XCIpfWlmKGUubmVnYXRpdmVzLmxlbmd0aCl7dT1gLSgke3J9JHtlLm5lZ2F0aXZlcy5qb2luKFwifFwiKX0pYH1pZihuJiZ1KXtzPWAke259fCR7dX1gfWVsc2V7cz1ufHx1fWlmKHQud3JhcCl7cmV0dXJuYCgke3J9JHtzfSlgfXJldHVybiBzfTtjb25zdCB0b1JhbmdlPShlLHQscixuKT0+e2lmKHIpe3JldHVybiB1KGUsdCx7d3JhcDpmYWxzZSwuLi5ufSl9bGV0IHM9U3RyaW5nLmZyb21DaGFyQ29kZShlKTtpZihlPT09dClyZXR1cm4gcztsZXQgbz1TdHJpbmcuZnJvbUNoYXJDb2RlKHQpO3JldHVybmBbJHtzfS0ke299XWB9O2NvbnN0IHRvUmVnZXg9KGUsdCxyKT0+e2lmKEFycmF5LmlzQXJyYXkoZSkpe2xldCB0PXIud3JhcD09PXRydWU7bGV0IG49ci5jYXB0dXJlP1wiXCI6XCI/OlwiO3JldHVybiB0P2AoJHtufSR7ZS5qb2luKFwifFwiKX0pYDplLmpvaW4oXCJ8XCIpfXJldHVybiB1KGUsdCxyKX07Y29uc3QgcmFuZ2VFcnJvcj0oLi4uZSk9Pm5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCByYW5nZSBhcmd1bWVudHM6IFwiK24uaW5zcGVjdCguLi5lKSk7Y29uc3QgaW52YWxpZFJhbmdlPShlLHQscik9PntpZihyLnN0cmljdFJhbmdlcz09PXRydWUpdGhyb3cgcmFuZ2VFcnJvcihbZSx0XSk7cmV0dXJuW119O2NvbnN0IGludmFsaWRTdGVwPShlLHQpPT57aWYodC5zdHJpY3RSYW5nZXM9PT10cnVlKXt0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBzdGVwIFwiJHtlfVwiIHRvIGJlIGEgbnVtYmVyYCl9cmV0dXJuW119O2NvbnN0IGZpbGxOdW1iZXJzPShlLHQscj0xLG49e30pPT57bGV0IHU9TnVtYmVyKGUpO2xldCBzPU51bWJlcih0KTtpZighTnVtYmVyLmlzSW50ZWdlcih1KXx8IU51bWJlci5pc0ludGVnZXIocykpe2lmKG4uc3RyaWN0UmFuZ2VzPT09dHJ1ZSl0aHJvdyByYW5nZUVycm9yKFtlLHRdKTtyZXR1cm5bXX1pZih1PT09MCl1PTA7aWYocz09PTApcz0wO2xldCBvPXU+cztsZXQgaT1TdHJpbmcoZSk7bGV0IGE9U3RyaW5nKHQpO2xldCBsPVN0cmluZyhyKTtyPU1hdGgubWF4KE1hdGguYWJzKHIpLDEpO2xldCBjPXplcm9zKGkpfHx6ZXJvcyhhKXx8emVyb3MobCk7bGV0IHA9Yz9NYXRoLm1heChpLmxlbmd0aCxhLmxlbmd0aCxsLmxlbmd0aCk6MDtsZXQgZj1jPT09ZmFsc2UmJnN0cmluZ2lmeShlLHQsbik9PT1mYWxzZTtsZXQgQT1uLnRyYW5zZm9ybXx8dHJhbnNmb3JtKGYpO2lmKG4udG9SZWdleCYmcj09PTEpe3JldHVybiB0b1JhbmdlKHRvTWF4TGVuKGUscCksdG9NYXhMZW4odCxwKSx0cnVlLG4pfWxldCBSPXtuZWdhdGl2ZXM6W10scG9zaXRpdmVzOltdfTtsZXQgcHVzaD1lPT5SW2U8MD9cIm5lZ2F0aXZlc1wiOlwicG9zaXRpdmVzXCJdLnB1c2goTWF0aC5hYnMoZSkpO2xldCBfPVtdO2xldCBoPTA7d2hpbGUobz91Pj1zOnU8PXMpe2lmKG4udG9SZWdleD09PXRydWUmJnI+MSl7cHVzaCh1KX1lbHNle18ucHVzaChwYWQoQSh1LGgpLHAsZikpfXU9bz91LXI6dStyO2grK31pZihuLnRvUmVnZXg9PT10cnVlKXtyZXR1cm4gcj4xP3RvU2VxdWVuY2UoUixuKTp0b1JlZ2V4KF8sbnVsbCx7d3JhcDpmYWxzZSwuLi5ufSl9cmV0dXJuIF99O2NvbnN0IGZpbGxMZXR0ZXJzPShlLHQscj0xLG49e30pPT57aWYoIWlzTnVtYmVyKGUpJiZlLmxlbmd0aD4xfHwhaXNOdW1iZXIodCkmJnQubGVuZ3RoPjEpe3JldHVybiBpbnZhbGlkUmFuZ2UoZSx0LG4pfWxldCB1PW4udHJhbnNmb3JtfHwoZT0+U3RyaW5nLmZyb21DaGFyQ29kZShlKSk7bGV0IHM9YCR7ZX1gLmNoYXJDb2RlQXQoMCk7bGV0IG89YCR7dH1gLmNoYXJDb2RlQXQoMCk7bGV0IGk9cz5vO2xldCBhPU1hdGgubWluKHMsbyk7bGV0IGw9TWF0aC5tYXgocyxvKTtpZihuLnRvUmVnZXgmJnI9PT0xKXtyZXR1cm4gdG9SYW5nZShhLGwsZmFsc2Usbil9bGV0IGM9W107bGV0IHA9MDt3aGlsZShpP3M+PW86czw9byl7Yy5wdXNoKHUocyxwKSk7cz1pP3MtcjpzK3I7cCsrfWlmKG4udG9SZWdleD09PXRydWUpe3JldHVybiB0b1JlZ2V4KGMsbnVsbCx7d3JhcDpmYWxzZSxvcHRpb25zOm59KX1yZXR1cm4gY307Y29uc3QgZmlsbD0oZSx0LHIsbj17fSk9PntpZih0PT1udWxsJiZpc1ZhbGlkVmFsdWUoZSkpe3JldHVybltlXX1pZighaXNWYWxpZFZhbHVlKGUpfHwhaXNWYWxpZFZhbHVlKHQpKXtyZXR1cm4gaW52YWxpZFJhbmdlKGUsdCxuKX1pZih0eXBlb2Ygcj09PVwiZnVuY3Rpb25cIil7cmV0dXJuIGZpbGwoZSx0LDEse3RyYW5zZm9ybTpyfSl9aWYoaXNPYmplY3Qocikpe3JldHVybiBmaWxsKGUsdCwwLHIpfWxldCB1PXsuLi5ufTtpZih1LmNhcHR1cmU9PT10cnVlKXUud3JhcD10cnVlO3I9cnx8dS5zdGVwfHwxO2lmKCFpc051bWJlcihyKSl7aWYociE9bnVsbCYmIWlzT2JqZWN0KHIpKXJldHVybiBpbnZhbGlkU3RlcChyLHUpO3JldHVybiBmaWxsKGUsdCwxLHIpfWlmKGlzTnVtYmVyKGUpJiZpc051bWJlcih0KSl7cmV0dXJuIGZpbGxOdW1iZXJzKGUsdCxyLHUpfXJldHVybiBmaWxsTGV0dGVycyhlLHQsTWF0aC5tYXgoTWF0aC5hYnMociksMSksdSl9O2UuZXhwb3J0cz1maWxsfSwzNTc6ZT0+e1xuLyohXG4gKiBpcy1udW1iZXIgPGh0dHBzOi8vZ2l0aHViLmNvbS9qb25zY2hsaW5rZXJ0L2lzLW51bWJlcj5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTQtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbmUuZXhwb3J0cz1mdW5jdGlvbihlKXtpZih0eXBlb2YgZT09PVwibnVtYmVyXCIpe3JldHVybiBlLWU9PT0wfWlmKHR5cGVvZiBlPT09XCJzdHJpbmdcIiYmZS50cmltKCkhPT1cIlwiKXtyZXR1cm4gTnVtYmVyLmlzRmluaXRlP051bWJlci5pc0Zpbml0ZSgrZSk6aXNGaW5pdGUoK2UpfXJldHVybiBmYWxzZX19LDk3MTooZSx0LHIpPT57Y29uc3Qgbj1yKDgzNyk7Y29uc3QgdT1yKDMzMyk7Y29uc3Qgcz1yKDI1MSk7Y29uc3Qgbz1yKDUxMyk7Y29uc3QgaXNFbXB0eVN0cmluZz1lPT5lPT09XCJcInx8ZT09PVwiLi9cIjtjb25zdCBtaWNyb21hdGNoPShlLHQscik9Pnt0PVtdLmNvbmNhdCh0KTtlPVtdLmNvbmNhdChlKTtsZXQgbj1uZXcgU2V0O2xldCB1PW5ldyBTZXQ7bGV0IG89bmV3IFNldDtsZXQgaT0wO2xldCBvblJlc3VsdD1lPT57by5hZGQoZS5vdXRwdXQpO2lmKHImJnIub25SZXN1bHQpe3Iub25SZXN1bHQoZSl9fTtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7bGV0IGE9cyhTdHJpbmcodFtvXSksey4uLnIsb25SZXN1bHQ6b25SZXN1bHR9LHRydWUpO2xldCBsPWEuc3RhdGUubmVnYXRlZHx8YS5zdGF0ZS5uZWdhdGVkRXh0Z2xvYjtpZihsKWkrKztmb3IobGV0IHQgb2YgZSl7bGV0IGU9YSh0LHRydWUpO2xldCByPWw/IWUuaXNNYXRjaDplLmlzTWF0Y2g7aWYoIXIpY29udGludWU7aWYobCl7bi5hZGQoZS5vdXRwdXQpfWVsc2V7bi5kZWxldGUoZS5vdXRwdXQpO3UuYWRkKGUub3V0cHV0KX19fWxldCBhPWk9PT10Lmxlbmd0aD9bLi4ub106Wy4uLnVdO2xldCBsPWEuZmlsdGVyKChlPT4hbi5oYXMoZSkpKTtpZihyJiZsLmxlbmd0aD09PTApe2lmKHIuZmFpbGdsb2I9PT10cnVlKXt0aHJvdyBuZXcgRXJyb3IoYE5vIG1hdGNoZXMgZm91bmQgZm9yIFwiJHt0LmpvaW4oXCIsIFwiKX1cImApfWlmKHIubm9udWxsPT09dHJ1ZXx8ci5udWxsZ2xvYj09PXRydWUpe3JldHVybiByLnVuZXNjYXBlP3QubWFwKChlPT5lLnJlcGxhY2UoL1xcXFwvZyxcIlwiKSkpOnR9fXJldHVybiBsfTttaWNyb21hdGNoLm1hdGNoPW1pY3JvbWF0Y2g7bWljcm9tYXRjaC5tYXRjaGVyPShlLHQpPT5zKGUsdCk7bWljcm9tYXRjaC5pc01hdGNoPShlLHQscik9PnModCxyKShlKTttaWNyb21hdGNoLmFueT1taWNyb21hdGNoLmlzTWF0Y2g7bWljcm9tYXRjaC5ub3Q9KGUsdCxyPXt9KT0+e3Q9W10uY29uY2F0KHQpLm1hcChTdHJpbmcpO2xldCBuPW5ldyBTZXQ7bGV0IHU9W107bGV0IG9uUmVzdWx0PWU9PntpZihyLm9uUmVzdWx0KXIub25SZXN1bHQoZSk7dS5wdXNoKGUub3V0cHV0KX07bGV0IHM9bWljcm9tYXRjaChlLHQsey4uLnIsb25SZXN1bHQ6b25SZXN1bHR9KTtmb3IobGV0IGUgb2YgdSl7aWYoIXMuaW5jbHVkZXMoZSkpe24uYWRkKGUpfX1yZXR1cm5bLi4ubl19O21pY3JvbWF0Y2guY29udGFpbnM9KGUsdCxyKT0+e2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYSBzdHJpbmc6IFwiJHtuLmluc3BlY3QoZSl9XCJgKX1pZihBcnJheS5pc0FycmF5KHQpKXtyZXR1cm4gdC5zb21lKCh0PT5taWNyb21hdGNoLmNvbnRhaW5zKGUsdCxyKSkpfWlmKHR5cGVvZiB0PT09XCJzdHJpbmdcIil7aWYoaXNFbXB0eVN0cmluZyhlKXx8aXNFbXB0eVN0cmluZyh0KSl7cmV0dXJuIGZhbHNlfWlmKGUuaW5jbHVkZXModCl8fGUuc3RhcnRzV2l0aChcIi4vXCIpJiZlLnNsaWNlKDIpLmluY2x1ZGVzKHQpKXtyZXR1cm4gdHJ1ZX19cmV0dXJuIG1pY3JvbWF0Y2guaXNNYXRjaChlLHQsey4uLnIsY29udGFpbnM6dHJ1ZX0pfTttaWNyb21hdGNoLm1hdGNoS2V5cz0oZSx0LHIpPT57aWYoIW8uaXNPYmplY3QoZSkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCB0aGUgZmlyc3QgYXJndW1lbnQgdG8gYmUgYW4gb2JqZWN0XCIpfWxldCBuPW1pY3JvbWF0Y2goT2JqZWN0LmtleXMoZSksdCxyKTtsZXQgdT17fTtmb3IobGV0IHQgb2Ygbil1W3RdPWVbdF07cmV0dXJuIHV9O21pY3JvbWF0Y2guc29tZT0oZSx0LHIpPT57bGV0IG49W10uY29uY2F0KGUpO2ZvcihsZXQgZSBvZltdLmNvbmNhdCh0KSl7bGV0IHQ9cyhTdHJpbmcoZSkscik7aWYobi5zb21lKChlPT50KGUpKSkpe3JldHVybiB0cnVlfX1yZXR1cm4gZmFsc2V9O21pY3JvbWF0Y2guZXZlcnk9KGUsdCxyKT0+e2xldCBuPVtdLmNvbmNhdChlKTtmb3IobGV0IGUgb2ZbXS5jb25jYXQodCkpe2xldCB0PXMoU3RyaW5nKGUpLHIpO2lmKCFuLmV2ZXJ5KChlPT50KGUpKSkpe3JldHVybiBmYWxzZX19cmV0dXJuIHRydWV9O21pY3JvbWF0Y2guYWxsPShlLHQscik9PntpZih0eXBlb2YgZSE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIGEgc3RyaW5nOiBcIiR7bi5pbnNwZWN0KGUpfVwiYCl9cmV0dXJuW10uY29uY2F0KHQpLmV2ZXJ5KCh0PT5zKHQscikoZSkpKX07bWljcm9tYXRjaC5jYXB0dXJlPShlLHQscik9PntsZXQgbj1vLmlzV2luZG93cyhyKTtsZXQgdT1zLm1ha2VSZShTdHJpbmcoZSksey4uLnIsY2FwdHVyZTp0cnVlfSk7bGV0IGk9dS5leGVjKG4/by50b1Bvc2l4U2xhc2hlcyh0KTp0KTtpZihpKXtyZXR1cm4gaS5zbGljZSgxKS5tYXAoKGU9PmU9PT12b2lkIDA/XCJcIjplKSl9fTttaWNyb21hdGNoLm1ha2VSZT0oLi4uZSk9PnMubWFrZVJlKC4uLmUpO21pY3JvbWF0Y2guc2Nhbj0oLi4uZSk9PnMuc2NhbiguLi5lKTttaWNyb21hdGNoLnBhcnNlPShlLHQpPT57bGV0IHI9W107Zm9yKGxldCBuIG9mW10uY29uY2F0KGV8fFtdKSl7Zm9yKGxldCBlIG9mIHUoU3RyaW5nKG4pLHQpKXtyLnB1c2gocy5wYXJzZShlLHQpKX19cmV0dXJuIHJ9O21pY3JvbWF0Y2guYnJhY2VzPShlLHQpPT57aWYodHlwZW9mIGUhPT1cInN0cmluZ1wiKXRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKTtpZih0JiZ0Lm5vYnJhY2U9PT10cnVlfHwhL1xcey4qXFx9Ly50ZXN0KGUpKXtyZXR1cm5bZV19cmV0dXJuIHUoZSx0KX07bWljcm9tYXRjaC5icmFjZUV4cGFuZD0oZSx0KT0+e2lmKHR5cGVvZiBlIT09XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIik7cmV0dXJuIG1pY3JvbWF0Y2guYnJhY2VzKGUsey4uLnQsZXhwYW5kOnRydWV9KX07ZS5leHBvcnRzPW1pY3JvbWF0Y2h9LDI1MTooZSx0LHIpPT57ZS5leHBvcnRzPXIoNjgzKX0sMzU2OihlLHQscik9Pntjb25zdCBuPXIoMTcpO2NvbnN0IHU9XCJcXFxcXFxcXC9cIjtjb25zdCBzPWBbXiR7dX1dYDtjb25zdCBvPVwiXFxcXC5cIjtjb25zdCBpPVwiXFxcXCtcIjtjb25zdCBhPVwiXFxcXD9cIjtjb25zdCBsPVwiXFxcXC9cIjtjb25zdCBjPVwiKD89LilcIjtjb25zdCBwPVwiW14vXVwiO2NvbnN0IGY9YCg/OiR7bH18JClgO2NvbnN0IEE9YCg/Ol58JHtsfSlgO2NvbnN0IFI9YCR7b317MSwyfSR7Zn1gO2NvbnN0IF89YCg/ISR7b30pYDtjb25zdCBoPWAoPyEke0F9JHtSfSlgO2NvbnN0IGc9YCg/ISR7b317MCwxfSR7Zn0pYDtjb25zdCBFPWAoPyEke1J9KWA7Y29uc3QgQz1gW14uJHtsfV1gO2NvbnN0IHk9YCR7cH0qP2A7Y29uc3QgZD17RE9UX0xJVEVSQUw6byxQTFVTX0xJVEVSQUw6aSxRTUFSS19MSVRFUkFMOmEsU0xBU0hfTElURVJBTDpsLE9ORV9DSEFSOmMsUU1BUks6cCxFTkRfQU5DSE9SOmYsRE9UU19TTEFTSDpSLE5PX0RPVDpfLE5PX0RPVFM6aCxOT19ET1RfU0xBU0g6ZyxOT19ET1RTX1NMQVNIOkUsUU1BUktfTk9fRE9UOkMsU1RBUjp5LFNUQVJUX0FOQ0hPUjpBfTtjb25zdCB4PXsuLi5kLFNMQVNIX0xJVEVSQUw6YFske3V9XWAsUU1BUks6cyxTVEFSOmAke3N9Kj9gLERPVFNfU0xBU0g6YCR7b317MSwyfSg/Olske3V9XXwkKWAsTk9fRE9UOmAoPyEke299KWAsTk9fRE9UUzpgKD8hKD86XnxbJHt1fV0pJHtvfXsxLDJ9KD86WyR7dX1dfCQpKWAsTk9fRE9UX1NMQVNIOmAoPyEke299ezAsMX0oPzpbJHt1fV18JCkpYCxOT19ET1RTX1NMQVNIOmAoPyEke299ezEsMn0oPzpbJHt1fV18JCkpYCxRTUFSS19OT19ET1Q6YFteLiR7dX1dYCxTVEFSVF9BTkNIT1I6YCg/Ol58WyR7dX1dKWAsRU5EX0FOQ0hPUjpgKD86WyR7dX1dfCQpYH07Y29uc3QgYj17YWxudW06XCJhLXpBLVowLTlcIixhbHBoYTpcImEtekEtWlwiLGFzY2lpOlwiXFxcXHgwMC1cXFxceDdGXCIsYmxhbms6XCIgXFxcXHRcIixjbnRybDpcIlxcXFx4MDAtXFxcXHgxRlxcXFx4N0ZcIixkaWdpdDpcIjAtOVwiLGdyYXBoOlwiXFxcXHgyMS1cXFxceDdFXCIsbG93ZXI6XCJhLXpcIixwcmludDpcIlxcXFx4MjAtXFxcXHg3RSBcIixwdW5jdDpcIlxcXFwtIVxcXCIjJCUmJygpXFxcXCorLC4vOjs8PT4/QFtcXFxcXV5fYHt8fX5cIixzcGFjZTpcIiBcXFxcdFxcXFxyXFxcXG5cXFxcdlxcXFxmXCIsdXBwZXI6XCJBLVpcIix3b3JkOlwiQS1aYS16MC05X1wiLHhkaWdpdDpcIkEtRmEtZjAtOVwifTtlLmV4cG9ydHM9e01BWF9MRU5HVEg6MTAyNCo2NCxQT1NJWF9SRUdFWF9TT1VSQ0U6YixSRUdFWF9CQUNLU0xBU0g6L1xcXFwoPyFbKis/XiR7fSh8KVtcXF1dKS9nLFJFR0VYX05PTl9TUEVDSUFMX0NIQVJTOi9eW15AIVtcXF0uLCQqKz9ee30oKXxcXFxcL10rLyxSRUdFWF9TUEVDSUFMX0NIQVJTOi9bLSorPy5eJHt9KHwpW1xcXV0vLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjovKFxcXFw/KSgoXFxXKShcXDMqKSkvZyxSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDovKFstKis/Ll4ke30ofClbXFxdXSkvZyxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOi8oPzpcXFsuKj9bXlxcXFxdXFxdfFxcXFwoPz0uKSkvZyxSRVBMQUNFTUVOVFM6e1wiKioqXCI6XCIqXCIsXCIqKi8qKlwiOlwiKipcIixcIioqLyoqLyoqXCI6XCIqKlwifSxDSEFSXzA6NDgsQ0hBUl85OjU3LENIQVJfVVBQRVJDQVNFX0E6NjUsQ0hBUl9MT1dFUkNBU0VfQTo5NyxDSEFSX1VQUEVSQ0FTRV9aOjkwLENIQVJfTE9XRVJDQVNFX1o6MTIyLENIQVJfTEVGVF9QQVJFTlRIRVNFUzo0MCxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOjQxLENIQVJfQVNURVJJU0s6NDIsQ0hBUl9BTVBFUlNBTkQ6MzgsQ0hBUl9BVDo2NCxDSEFSX0JBQ0tXQVJEX1NMQVNIOjkyLENIQVJfQ0FSUklBR0VfUkVUVVJOOjEzLENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6OTQsQ0hBUl9DT0xPTjo1OCxDSEFSX0NPTU1BOjQ0LENIQVJfRE9UOjQ2LENIQVJfRE9VQkxFX1FVT1RFOjM0LENIQVJfRVFVQUw6NjEsQ0hBUl9FWENMQU1BVElPTl9NQVJLOjMzLENIQVJfRk9STV9GRUVEOjEyLENIQVJfRk9SV0FSRF9TTEFTSDo0NyxDSEFSX0dSQVZFX0FDQ0VOVDo5NixDSEFSX0hBU0g6MzUsQ0hBUl9IWVBIRU5fTUlOVVM6NDUsQ0hBUl9MRUZUX0FOR0xFX0JSQUNLRVQ6NjAsQ0hBUl9MRUZUX0NVUkxZX0JSQUNFOjEyMyxDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6OTEsQ0hBUl9MSU5FX0ZFRUQ6MTAsQ0hBUl9OT19CUkVBS19TUEFDRToxNjAsQ0hBUl9QRVJDRU5UOjM3LENIQVJfUExVUzo0MyxDSEFSX1FVRVNUSU9OX01BUks6NjMsQ0hBUl9SSUdIVF9BTkdMRV9CUkFDS0VUOjYyLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6MTI1LENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6OTMsQ0hBUl9TRU1JQ09MT046NTksQ0hBUl9TSU5HTEVfUVVPVEU6MzksQ0hBUl9TUEFDRTozMixDSEFSX1RBQjo5LENIQVJfVU5ERVJTQ09SRTo5NSxDSEFSX1ZFUlRJQ0FMX0xJTkU6MTI0LENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOjY1Mjc5LFNFUDpuLnNlcCxleHRnbG9iQ2hhcnMoZSl7cmV0dXJue1wiIVwiOnt0eXBlOlwibmVnYXRlXCIsb3BlbjpcIig/Oig/ISg/OlwiLGNsb3NlOmApKSR7ZS5TVEFSfSlgfSxcIj9cIjp7dHlwZTpcInFtYXJrXCIsb3BlbjpcIig/OlwiLGNsb3NlOlwiKT9cIn0sXCIrXCI6e3R5cGU6XCJwbHVzXCIsb3BlbjpcIig/OlwiLGNsb3NlOlwiKStcIn0sXCIqXCI6e3R5cGU6XCJzdGFyXCIsb3BlbjpcIig/OlwiLGNsb3NlOlwiKSpcIn0sXCJAXCI6e3R5cGU6XCJhdFwiLG9wZW46XCIoPzpcIixjbG9zZTpcIilcIn19fSxnbG9iQ2hhcnMoZSl7cmV0dXJuIGU9PT10cnVlP3g6ZH19fSw3NTQ6KGUsdCxyKT0+e2NvbnN0IG49cigzNTYpO2NvbnN0IHU9cig1MTMpO2NvbnN0e01BWF9MRU5HVEg6cyxQT1NJWF9SRUdFWF9TT1VSQ0U6byxSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUzppLFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjphLFJFUExBQ0VNRU5UUzpsfT1uO2NvbnN0IGV4cGFuZFJhbmdlPShlLHQpPT57aWYodHlwZW9mIHQuZXhwYW5kUmFuZ2U9PT1cImZ1bmN0aW9uXCIpe3JldHVybiB0LmV4cGFuZFJhbmdlKC4uLmUsdCl9ZS5zb3J0KCk7Y29uc3Qgcj1gWyR7ZS5qb2luKFwiLVwiKX1dYDt0cnl7bmV3IFJlZ0V4cChyKX1jYXRjaCh0KXtyZXR1cm4gZS5tYXAoKGU9PnUuZXNjYXBlUmVnZXgoZSkpKS5qb2luKFwiLi5cIil9cmV0dXJuIHJ9O2NvbnN0IHN5bnRheEVycm9yPShlLHQpPT5gTWlzc2luZyAke2V9OiBcIiR7dH1cIiAtIHVzZSBcIlxcXFxcXFxcJHt0fVwiIHRvIG1hdGNoIGxpdGVyYWwgY2hhcmFjdGVyc2A7Y29uc3QgcGFyc2U9KGUsdCk9PntpZih0eXBlb2YgZSE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKX1lPWxbZV18fGU7Y29uc3Qgcj17Li4udH07Y29uc3QgYz10eXBlb2Ygci5tYXhMZW5ndGg9PT1cIm51bWJlclwiP01hdGgubWluKHMsci5tYXhMZW5ndGgpOnM7bGV0IHA9ZS5sZW5ndGg7aWYocD5jKXt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtwfSwgZXhjZWVkcyBtYXhpbXVtIGFsbG93ZWQgbGVuZ3RoOiAke2N9YCl9Y29uc3QgZj17dHlwZTpcImJvc1wiLHZhbHVlOlwiXCIsb3V0cHV0OnIucHJlcGVuZHx8XCJcIn07Y29uc3QgQT1bZl07Y29uc3QgUj1yLmNhcHR1cmU/XCJcIjpcIj86XCI7Y29uc3QgXz11LmlzV2luZG93cyh0KTtjb25zdCBoPW4uZ2xvYkNoYXJzKF8pO2NvbnN0IGc9bi5leHRnbG9iQ2hhcnMoaCk7Y29uc3R7RE9UX0xJVEVSQUw6RSxQTFVTX0xJVEVSQUw6QyxTTEFTSF9MSVRFUkFMOnksT05FX0NIQVI6ZCxET1RTX1NMQVNIOngsTk9fRE9UOmIsTk9fRE9UX1NMQVNIOlMsTk9fRE9UU19TTEFTSDpILFFNQVJLOnYsUU1BUktfTk9fRE9UOiQsU1RBUjptLFNUQVJUX0FOQ0hPUjpUfT1oO2NvbnN0IGdsb2JzdGFyPWU9PmAoJHtSfSg/Oig/ISR7VH0ke2UuZG90P3g6RX0pLikqPylgO2NvbnN0IEw9ci5kb3Q/XCJcIjpiO2NvbnN0IE89ci5kb3Q/djokO2xldCB3PXIuYmFzaD09PXRydWU/Z2xvYnN0YXIocik6bTtpZihyLmNhcHR1cmUpe3c9YCgke3d9KWB9aWYodHlwZW9mIHIubm9leHQ9PT1cImJvb2xlYW5cIil7ci5ub2V4dGdsb2I9ci5ub2V4dH1jb25zdCBOPXtpbnB1dDplLGluZGV4Oi0xLHN0YXJ0OjAsZG90OnIuZG90PT09dHJ1ZSxjb25zdW1lZDpcIlwiLG91dHB1dDpcIlwiLHByZWZpeDpcIlwiLGJhY2t0cmFjazpmYWxzZSxuZWdhdGVkOmZhbHNlLGJyYWNrZXRzOjAsYnJhY2VzOjAscGFyZW5zOjAscXVvdGVzOjAsZ2xvYnN0YXI6ZmFsc2UsdG9rZW5zOkF9O2U9dS5yZW1vdmVQcmVmaXgoZSxOKTtwPWUubGVuZ3RoO2NvbnN0IGs9W107Y29uc3QgST1bXTtjb25zdCBNPVtdO2xldCBQPWY7bGV0IEI7Y29uc3QgZW9zPSgpPT5OLmluZGV4PT09cC0xO2NvbnN0IEc9Ti5wZWVrPSh0PTEpPT5lW04uaW5kZXgrdF07Y29uc3QgRD1OLmFkdmFuY2U9KCk9PmVbKytOLmluZGV4XTtjb25zdCByZW1haW5pbmc9KCk9PmUuc2xpY2UoTi5pbmRleCsxKTtjb25zdCBjb25zdW1lPShlPVwiXCIsdD0wKT0+e04uY29uc3VtZWQrPWU7Ti5pbmRleCs9dH07Y29uc3QgYXBwZW5kPWU9PntOLm91dHB1dCs9ZS5vdXRwdXQhPW51bGw/ZS5vdXRwdXQ6ZS52YWx1ZTtjb25zdW1lKGUudmFsdWUpfTtjb25zdCBuZWdhdGU9KCk9PntsZXQgZT0xO3doaWxlKEcoKT09PVwiIVwiJiYoRygyKSE9PVwiKFwifHxHKDMpPT09XCI/XCIpKXtEKCk7Ti5zdGFydCsrO2UrK31pZihlJTI9PT0wKXtyZXR1cm4gZmFsc2V9Ti5uZWdhdGVkPXRydWU7Ti5zdGFydCsrO3JldHVybiB0cnVlfTtjb25zdCBpbmNyZW1lbnQ9ZT0+e05bZV0rKztNLnB1c2goZSl9O2NvbnN0IGRlY3JlbWVudD1lPT57TltlXS0tO00ucG9wKCl9O2NvbnN0IHB1c2g9ZT0+e2lmKFAudHlwZT09PVwiZ2xvYnN0YXJcIil7Y29uc3QgdD1OLmJyYWNlcz4wJiYoZS50eXBlPT09XCJjb21tYVwifHxlLnR5cGU9PT1cImJyYWNlXCIpO2NvbnN0IHI9ZS5leHRnbG9iPT09dHJ1ZXx8ay5sZW5ndGgmJihlLnR5cGU9PT1cInBpcGVcInx8ZS50eXBlPT09XCJwYXJlblwiKTtpZihlLnR5cGUhPT1cInNsYXNoXCImJmUudHlwZSE9PVwicGFyZW5cIiYmIXQmJiFyKXtOLm91dHB1dD1OLm91dHB1dC5zbGljZSgwLC1QLm91dHB1dC5sZW5ndGgpO1AudHlwZT1cInN0YXJcIjtQLnZhbHVlPVwiKlwiO1Aub3V0cHV0PXc7Ti5vdXRwdXQrPVAub3V0cHV0fX1pZihrLmxlbmd0aCYmZS50eXBlIT09XCJwYXJlblwiJiYhZ1tlLnZhbHVlXSl7a1trLmxlbmd0aC0xXS5pbm5lcis9ZS52YWx1ZX1pZihlLnZhbHVlfHxlLm91dHB1dClhcHBlbmQoZSk7aWYoUCYmUC50eXBlPT09XCJ0ZXh0XCImJmUudHlwZT09PVwidGV4dFwiKXtQLnZhbHVlKz1lLnZhbHVlO1Aub3V0cHV0PShQLm91dHB1dHx8XCJcIikrZS52YWx1ZTtyZXR1cm59ZS5wcmV2PVA7QS5wdXNoKGUpO1A9ZX07Y29uc3QgZXh0Z2xvYk9wZW49KGUsdCk9Pntjb25zdCBuPXsuLi5nW3RdLGNvbmRpdGlvbnM6MSxpbm5lcjpcIlwifTtuLnByZXY9UDtuLnBhcmVucz1OLnBhcmVucztuLm91dHB1dD1OLm91dHB1dDtjb25zdCB1PShyLmNhcHR1cmU/XCIoXCI6XCJcIikrbi5vcGVuO2luY3JlbWVudChcInBhcmVuc1wiKTtwdXNoKHt0eXBlOmUsdmFsdWU6dCxvdXRwdXQ6Ti5vdXRwdXQ/XCJcIjpkfSk7cHVzaCh7dHlwZTpcInBhcmVuXCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkQoKSxvdXRwdXQ6dX0pO2sucHVzaChuKX07Y29uc3QgZXh0Z2xvYkNsb3NlPWU9PntsZXQgdD1lLmNsb3NlKyhyLmNhcHR1cmU/XCIpXCI6XCJcIik7aWYoZS50eXBlPT09XCJuZWdhdGVcIil7bGV0IG49dztpZihlLmlubmVyJiZlLmlubmVyLmxlbmd0aD4xJiZlLmlubmVyLmluY2x1ZGVzKFwiL1wiKSl7bj1nbG9ic3RhcihyKX1pZihuIT09d3x8ZW9zKCl8fC9eXFwpKyQvLnRlc3QocmVtYWluaW5nKCkpKXt0PWUuY2xvc2U9YCkkKSkke259YH1pZihlLnByZXYudHlwZT09PVwiYm9zXCIpe04ubmVnYXRlZEV4dGdsb2I9dHJ1ZX19cHVzaCh7dHlwZTpcInBhcmVuXCIsZXh0Z2xvYjp0cnVlLHZhbHVlOkIsb3V0cHV0OnR9KTtkZWNyZW1lbnQoXCJwYXJlbnNcIil9O2lmKHIuZmFzdHBhdGhzIT09ZmFsc2UmJiEvKF5bKiFdfFsvKClbXFxde31cIl0pLy50ZXN0KGUpKXtsZXQgbj1mYWxzZTtsZXQgcz1lLnJlcGxhY2UoYSwoKGUsdCxyLHUscyxvKT0+e2lmKHU9PT1cIlxcXFxcIil7bj10cnVlO3JldHVybiBlfWlmKHU9PT1cIj9cIil7aWYodCl7cmV0dXJuIHQrdSsocz92LnJlcGVhdChzLmxlbmd0aCk6XCJcIil9aWYobz09PTApe3JldHVybiBPKyhzP3YucmVwZWF0KHMubGVuZ3RoKTpcIlwiKX1yZXR1cm4gdi5yZXBlYXQoci5sZW5ndGgpfWlmKHU9PT1cIi5cIil7cmV0dXJuIEUucmVwZWF0KHIubGVuZ3RoKX1pZih1PT09XCIqXCIpe2lmKHQpe3JldHVybiB0K3UrKHM/dzpcIlwiKX1yZXR1cm4gd31yZXR1cm4gdD9lOmBcXFxcJHtlfWB9KSk7aWYobj09PXRydWUpe2lmKHIudW5lc2NhcGU9PT10cnVlKXtzPXMucmVwbGFjZSgvXFxcXC9nLFwiXCIpfWVsc2V7cz1zLnJlcGxhY2UoL1xcXFwrL2csKGU9PmUubGVuZ3RoJTI9PT0wP1wiXFxcXFxcXFxcIjplP1wiXFxcXFwiOlwiXCIpKX19aWYocz09PWUmJnIuY29udGFpbnM9PT10cnVlKXtOLm91dHB1dD1lO3JldHVybiBOfU4ub3V0cHV0PXUud3JhcE91dHB1dChzLE4sdCk7cmV0dXJuIE59d2hpbGUoIWVvcygpKXtCPUQoKTtpZihCPT09XCJcXDBcIil7Y29udGludWV9aWYoQj09PVwiXFxcXFwiKXtjb25zdCBlPUcoKTtpZihlPT09XCIvXCImJnIuYmFzaCE9PXRydWUpe2NvbnRpbnVlfWlmKGU9PT1cIi5cInx8ZT09PVwiO1wiKXtjb250aW51ZX1pZighZSl7Qis9XCJcXFxcXCI7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpCfSk7Y29udGludWV9Y29uc3QgdD0vXlxcXFwrLy5leGVjKHJlbWFpbmluZygpKTtsZXQgbj0wO2lmKHQmJnRbMF0ubGVuZ3RoPjIpe249dFswXS5sZW5ndGg7Ti5pbmRleCs9bjtpZihuJTIhPT0wKXtCKz1cIlxcXFxcIn19aWYoci51bmVzY2FwZT09PXRydWUpe0I9RCgpfHxcIlwifWVsc2V7Qis9RCgpfHxcIlwifWlmKE4uYnJhY2tldHM9PT0wKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkJ9KTtjb250aW51ZX19aWYoTi5icmFja2V0cz4wJiYoQiE9PVwiXVwifHxQLnZhbHVlPT09XCJbXCJ8fFAudmFsdWU9PT1cIlteXCIpKXtpZihyLnBvc2l4IT09ZmFsc2UmJkI9PT1cIjpcIil7Y29uc3QgZT1QLnZhbHVlLnNsaWNlKDEpO2lmKGUuaW5jbHVkZXMoXCJbXCIpKXtQLnBvc2l4PXRydWU7aWYoZS5pbmNsdWRlcyhcIjpcIikpe2NvbnN0IGU9UC52YWx1ZS5sYXN0SW5kZXhPZihcIltcIik7Y29uc3QgdD1QLnZhbHVlLnNsaWNlKDAsZSk7Y29uc3Qgcj1QLnZhbHVlLnNsaWNlKGUrMik7Y29uc3Qgbj1vW3JdO2lmKG4pe1AudmFsdWU9dCtuO04uYmFja3RyYWNrPXRydWU7RCgpO2lmKCFmLm91dHB1dCYmQS5pbmRleE9mKFApPT09MSl7Zi5vdXRwdXQ9ZH1jb250aW51ZX19fX1pZihCPT09XCJbXCImJkcoKSE9PVwiOlwifHxCPT09XCItXCImJkcoKT09PVwiXVwiKXtCPWBcXFxcJHtCfWB9aWYoQj09PVwiXVwiJiYoUC52YWx1ZT09PVwiW1wifHxQLnZhbHVlPT09XCJbXlwiKSl7Qj1gXFxcXCR7Qn1gfWlmKHIucG9zaXg9PT10cnVlJiZCPT09XCIhXCImJlAudmFsdWU9PT1cIltcIil7Qj1cIl5cIn1QLnZhbHVlKz1CO2FwcGVuZCh7dmFsdWU6Qn0pO2NvbnRpbnVlfWlmKE4ucXVvdGVzPT09MSYmQiE9PSdcIicpe0I9dS5lc2NhcGVSZWdleChCKTtQLnZhbHVlKz1CO2FwcGVuZCh7dmFsdWU6Qn0pO2NvbnRpbnVlfWlmKEI9PT0nXCInKXtOLnF1b3Rlcz1OLnF1b3Rlcz09PTE/MDoxO2lmKHIua2VlcFF1b3Rlcz09PXRydWUpe3B1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6Qn0pfWNvbnRpbnVlfWlmKEI9PT1cIihcIil7aW5jcmVtZW50KFwicGFyZW5zXCIpO3B1c2goe3R5cGU6XCJwYXJlblwiLHZhbHVlOkJ9KTtjb250aW51ZX1pZihCPT09XCIpXCIpe2lmKE4ucGFyZW5zPT09MCYmci5zdHJpY3RCcmFja2V0cz09PXRydWUpe3Rocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcIm9wZW5pbmdcIixcIihcIikpfWNvbnN0IGU9a1trLmxlbmd0aC0xXTtpZihlJiZOLnBhcmVucz09PWUucGFyZW5zKzEpe2V4dGdsb2JDbG9zZShrLnBvcCgpKTtjb250aW51ZX1wdXNoKHt0eXBlOlwicGFyZW5cIix2YWx1ZTpCLG91dHB1dDpOLnBhcmVucz9cIilcIjpcIlxcXFwpXCJ9KTtkZWNyZW1lbnQoXCJwYXJlbnNcIik7Y29udGludWV9aWYoQj09PVwiW1wiKXtpZihyLm5vYnJhY2tldD09PXRydWV8fCFyZW1haW5pbmcoKS5pbmNsdWRlcyhcIl1cIikpe2lmKHIubm9icmFja2V0IT09dHJ1ZSYmci5zdHJpY3RCcmFja2V0cz09PXRydWUpe3Rocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcImNsb3NpbmdcIixcIl1cIikpfUI9YFxcXFwke0J9YH1lbHNle2luY3JlbWVudChcImJyYWNrZXRzXCIpfXB1c2goe3R5cGU6XCJicmFja2V0XCIsdmFsdWU6Qn0pO2NvbnRpbnVlfWlmKEI9PT1cIl1cIil7aWYoci5ub2JyYWNrZXQ9PT10cnVlfHxQJiZQLnR5cGU9PT1cImJyYWNrZXRcIiYmUC52YWx1ZS5sZW5ndGg9PT0xKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkIsb3V0cHV0OmBcXFxcJHtCfWB9KTtjb250aW51ZX1pZihOLmJyYWNrZXRzPT09MCl7aWYoci5zdHJpY3RCcmFja2V0cz09PXRydWUpe3Rocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcihcIm9wZW5pbmdcIixcIltcIikpfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6QixvdXRwdXQ6YFxcXFwke0J9YH0pO2NvbnRpbnVlfWRlY3JlbWVudChcImJyYWNrZXRzXCIpO2NvbnN0IGU9UC52YWx1ZS5zbGljZSgxKTtpZihQLnBvc2l4IT09dHJ1ZSYmZVswXT09PVwiXlwiJiYhZS5pbmNsdWRlcyhcIi9cIikpe0I9YC8ke0J9YH1QLnZhbHVlKz1CO2FwcGVuZCh7dmFsdWU6Qn0pO2lmKHIubGl0ZXJhbEJyYWNrZXRzPT09ZmFsc2V8fHUuaGFzUmVnZXhDaGFycyhlKSl7Y29udGludWV9Y29uc3QgdD11LmVzY2FwZVJlZ2V4KFAudmFsdWUpO04ub3V0cHV0PU4ub3V0cHV0LnNsaWNlKDAsLVAudmFsdWUubGVuZ3RoKTtpZihyLmxpdGVyYWxCcmFja2V0cz09PXRydWUpe04ub3V0cHV0Kz10O1AudmFsdWU9dDtjb250aW51ZX1QLnZhbHVlPWAoJHtSfSR7dH18JHtQLnZhbHVlfSlgO04ub3V0cHV0Kz1QLnZhbHVlO2NvbnRpbnVlfWlmKEI9PT1cIntcIiYmci5ub2JyYWNlIT09dHJ1ZSl7aW5jcmVtZW50KFwiYnJhY2VzXCIpO2NvbnN0IGU9e3R5cGU6XCJicmFjZVwiLHZhbHVlOkIsb3V0cHV0OlwiKFwiLG91dHB1dEluZGV4Ok4ub3V0cHV0Lmxlbmd0aCx0b2tlbnNJbmRleDpOLnRva2Vucy5sZW5ndGh9O0kucHVzaChlKTtwdXNoKGUpO2NvbnRpbnVlfWlmKEI9PT1cIn1cIil7Y29uc3QgZT1JW0kubGVuZ3RoLTFdO2lmKHIubm9icmFjZT09PXRydWV8fCFlKXtwdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkIsb3V0cHV0OkJ9KTtjb250aW51ZX1sZXQgdD1cIilcIjtpZihlLmRvdHM9PT10cnVlKXtjb25zdCBlPUEuc2xpY2UoKTtjb25zdCBuPVtdO2ZvcihsZXQgdD1lLmxlbmd0aC0xO3Q+PTA7dC0tKXtBLnBvcCgpO2lmKGVbdF0udHlwZT09PVwiYnJhY2VcIil7YnJlYWt9aWYoZVt0XS50eXBlIT09XCJkb3RzXCIpe24udW5zaGlmdChlW3RdLnZhbHVlKX19dD1leHBhbmRSYW5nZShuLHIpO04uYmFja3RyYWNrPXRydWV9aWYoZS5jb21tYSE9PXRydWUmJmUuZG90cyE9PXRydWUpe2NvbnN0IHI9Ti5vdXRwdXQuc2xpY2UoMCxlLm91dHB1dEluZGV4KTtjb25zdCBuPU4udG9rZW5zLnNsaWNlKGUudG9rZW5zSW5kZXgpO2UudmFsdWU9ZS5vdXRwdXQ9XCJcXFxce1wiO0I9dD1cIlxcXFx9XCI7Ti5vdXRwdXQ9cjtmb3IoY29uc3QgZSBvZiBuKXtOLm91dHB1dCs9ZS5vdXRwdXR8fGUudmFsdWV9fXB1c2goe3R5cGU6XCJicmFjZVwiLHZhbHVlOkIsb3V0cHV0OnR9KTtkZWNyZW1lbnQoXCJicmFjZXNcIik7SS5wb3AoKTtjb250aW51ZX1pZihCPT09XCJ8XCIpe2lmKGsubGVuZ3RoPjApe2tbay5sZW5ndGgtMV0uY29uZGl0aW9ucysrfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6Qn0pO2NvbnRpbnVlfWlmKEI9PT1cIixcIil7bGV0IGU9Qjtjb25zdCB0PUlbSS5sZW5ndGgtMV07aWYodCYmTVtNLmxlbmd0aC0xXT09PVwiYnJhY2VzXCIpe3QuY29tbWE9dHJ1ZTtlPVwifFwifXB1c2goe3R5cGU6XCJjb21tYVwiLHZhbHVlOkIsb3V0cHV0OmV9KTtjb250aW51ZX1pZihCPT09XCIvXCIpe2lmKFAudHlwZT09PVwiZG90XCImJk4uaW5kZXg9PT1OLnN0YXJ0KzEpe04uc3RhcnQ9Ti5pbmRleCsxO04uY29uc3VtZWQ9XCJcIjtOLm91dHB1dD1cIlwiO0EucG9wKCk7UD1mO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJzbGFzaFwiLHZhbHVlOkIsb3V0cHV0Onl9KTtjb250aW51ZX1pZihCPT09XCIuXCIpe2lmKE4uYnJhY2VzPjAmJlAudHlwZT09PVwiZG90XCIpe2lmKFAudmFsdWU9PT1cIi5cIilQLm91dHB1dD1FO2NvbnN0IGU9SVtJLmxlbmd0aC0xXTtQLnR5cGU9XCJkb3RzXCI7UC5vdXRwdXQrPUI7UC52YWx1ZSs9QjtlLmRvdHM9dHJ1ZTtjb250aW51ZX1pZihOLmJyYWNlcytOLnBhcmVucz09PTAmJlAudHlwZSE9PVwiYm9zXCImJlAudHlwZSE9PVwic2xhc2hcIil7cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpCLG91dHB1dDpFfSk7Y29udGludWV9cHVzaCh7dHlwZTpcImRvdFwiLHZhbHVlOkIsb3V0cHV0OkV9KTtjb250aW51ZX1pZihCPT09XCI/XCIpe2NvbnN0IGU9UCYmUC52YWx1ZT09PVwiKFwiO2lmKCFlJiZyLm5vZXh0Z2xvYiE9PXRydWUmJkcoKT09PVwiKFwiJiZHKDIpIT09XCI/XCIpe2V4dGdsb2JPcGVuKFwicW1hcmtcIixCKTtjb250aW51ZX1pZihQJiZQLnR5cGU9PT1cInBhcmVuXCIpe2NvbnN0IGU9RygpO2xldCB0PUI7aWYoZT09PVwiPFwiJiYhdS5zdXBwb3J0c0xvb2tiZWhpbmRzKCkpe3Rocm93IG5ldyBFcnJvcihcIk5vZGUuanMgdjEwIG9yIGhpZ2hlciBpcyByZXF1aXJlZCBmb3IgcmVnZXggbG9va2JlaGluZHNcIil9aWYoUC52YWx1ZT09PVwiKFwiJiYhL1shPTw6XS8udGVzdChlKXx8ZT09PVwiPFwiJiYhLzwoWyE9XXxcXHcrPikvLnRlc3QocmVtYWluaW5nKCkpKXt0PWBcXFxcJHtCfWB9cHVzaCh7dHlwZTpcInRleHRcIix2YWx1ZTpCLG91dHB1dDp0fSk7Y29udGludWV9aWYoci5kb3QhPT10cnVlJiYoUC50eXBlPT09XCJzbGFzaFwifHxQLnR5cGU9PT1cImJvc1wiKSl7cHVzaCh7dHlwZTpcInFtYXJrXCIsdmFsdWU6QixvdXRwdXQ6JH0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJxbWFya1wiLHZhbHVlOkIsb3V0cHV0OnZ9KTtjb250aW51ZX1pZihCPT09XCIhXCIpe2lmKHIubm9leHRnbG9iIT09dHJ1ZSYmRygpPT09XCIoXCIpe2lmKEcoMikhPT1cIj9cInx8IS9bIT08Ol0vLnRlc3QoRygzKSkpe2V4dGdsb2JPcGVuKFwibmVnYXRlXCIsQik7Y29udGludWV9fWlmKHIubm9uZWdhdGUhPT10cnVlJiZOLmluZGV4PT09MCl7bmVnYXRlKCk7Y29udGludWV9fWlmKEI9PT1cIitcIil7aWYoci5ub2V4dGdsb2IhPT10cnVlJiZHKCk9PT1cIihcIiYmRygyKSE9PVwiP1wiKXtleHRnbG9iT3BlbihcInBsdXNcIixCKTtjb250aW51ZX1pZihQJiZQLnZhbHVlPT09XCIoXCJ8fHIucmVnZXg9PT1mYWxzZSl7cHVzaCh7dHlwZTpcInBsdXNcIix2YWx1ZTpCLG91dHB1dDpDfSk7Y29udGludWV9aWYoUCYmKFAudHlwZT09PVwiYnJhY2tldFwifHxQLnR5cGU9PT1cInBhcmVuXCJ8fFAudHlwZT09PVwiYnJhY2VcIil8fE4ucGFyZW5zPjApe3B1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6Qn0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJwbHVzXCIsdmFsdWU6Q30pO2NvbnRpbnVlfWlmKEI9PT1cIkBcIil7aWYoci5ub2V4dGdsb2IhPT10cnVlJiZHKCk9PT1cIihcIiYmRygyKSE9PVwiP1wiKXtwdXNoKHt0eXBlOlwiYXRcIixleHRnbG9iOnRydWUsdmFsdWU6QixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfXB1c2goe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6Qn0pO2NvbnRpbnVlfWlmKEIhPT1cIipcIil7aWYoQj09PVwiJFwifHxCPT09XCJeXCIpe0I9YFxcXFwke0J9YH1jb25zdCBlPWkuZXhlYyhyZW1haW5pbmcoKSk7aWYoZSl7Qis9ZVswXTtOLmluZGV4Kz1lWzBdLmxlbmd0aH1wdXNoKHt0eXBlOlwidGV4dFwiLHZhbHVlOkJ9KTtjb250aW51ZX1pZihQJiYoUC50eXBlPT09XCJnbG9ic3RhclwifHxQLnN0YXI9PT10cnVlKSl7UC50eXBlPVwic3RhclwiO1Auc3Rhcj10cnVlO1AudmFsdWUrPUI7UC5vdXRwdXQ9dztOLmJhY2t0cmFjaz10cnVlO04uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEIpO2NvbnRpbnVlfWxldCB0PXJlbWFpbmluZygpO2lmKHIubm9leHRnbG9iIT09dHJ1ZSYmL15cXChbXj9dLy50ZXN0KHQpKXtleHRnbG9iT3BlbihcInN0YXJcIixCKTtjb250aW51ZX1pZihQLnR5cGU9PT1cInN0YXJcIil7aWYoci5ub2dsb2JzdGFyPT09dHJ1ZSl7Y29uc3VtZShCKTtjb250aW51ZX1jb25zdCBuPVAucHJldjtjb25zdCB1PW4ucHJldjtjb25zdCBzPW4udHlwZT09PVwic2xhc2hcInx8bi50eXBlPT09XCJib3NcIjtjb25zdCBvPXUmJih1LnR5cGU9PT1cInN0YXJcInx8dS50eXBlPT09XCJnbG9ic3RhclwiKTtpZihyLmJhc2g9PT10cnVlJiYoIXN8fHRbMF0mJnRbMF0hPT1cIi9cIikpe3B1c2goe3R5cGU6XCJzdGFyXCIsdmFsdWU6QixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfWNvbnN0IGk9Ti5icmFjZXM+MCYmKG4udHlwZT09PVwiY29tbWFcInx8bi50eXBlPT09XCJicmFjZVwiKTtjb25zdCBhPWsubGVuZ3RoJiYobi50eXBlPT09XCJwaXBlXCJ8fG4udHlwZT09PVwicGFyZW5cIik7aWYoIXMmJm4udHlwZSE9PVwicGFyZW5cIiYmIWkmJiFhKXtwdXNoKHt0eXBlOlwic3RhclwiLHZhbHVlOkIsb3V0cHV0OlwiXCJ9KTtjb250aW51ZX13aGlsZSh0LnNsaWNlKDAsMyk9PT1cIi8qKlwiKXtjb25zdCByPWVbTi5pbmRleCs0XTtpZihyJiZyIT09XCIvXCIpe2JyZWFrfXQ9dC5zbGljZSgzKTtjb25zdW1lKFwiLyoqXCIsMyl9aWYobi50eXBlPT09XCJib3NcIiYmZW9zKCkpe1AudHlwZT1cImdsb2JzdGFyXCI7UC52YWx1ZSs9QjtQLm91dHB1dD1nbG9ic3RhcihyKTtOLm91dHB1dD1QLm91dHB1dDtOLmdsb2JzdGFyPXRydWU7Y29uc3VtZShCKTtjb250aW51ZX1pZihuLnR5cGU9PT1cInNsYXNoXCImJm4ucHJldi50eXBlIT09XCJib3NcIiYmIW8mJmVvcygpKXtOLm91dHB1dD1OLm91dHB1dC5zbGljZSgwLC0obi5vdXRwdXQrUC5vdXRwdXQpLmxlbmd0aCk7bi5vdXRwdXQ9YCg/OiR7bi5vdXRwdXR9YDtQLnR5cGU9XCJnbG9ic3RhclwiO1Aub3V0cHV0PWdsb2JzdGFyKHIpKyhyLnN0cmljdFNsYXNoZXM/XCIpXCI6XCJ8JClcIik7UC52YWx1ZSs9QjtOLmdsb2JzdGFyPXRydWU7Ti5vdXRwdXQrPW4ub3V0cHV0K1Aub3V0cHV0O2NvbnN1bWUoQik7Y29udGludWV9aWYobi50eXBlPT09XCJzbGFzaFwiJiZuLnByZXYudHlwZSE9PVwiYm9zXCImJnRbMF09PT1cIi9cIil7Y29uc3QgZT10WzFdIT09dm9pZCAwP1wifCRcIjpcIlwiO04ub3V0cHV0PU4ub3V0cHV0LnNsaWNlKDAsLShuLm91dHB1dCtQLm91dHB1dCkubGVuZ3RoKTtuLm91dHB1dD1gKD86JHtuLm91dHB1dH1gO1AudHlwZT1cImdsb2JzdGFyXCI7UC5vdXRwdXQ9YCR7Z2xvYnN0YXIocil9JHt5fXwke3l9JHtlfSlgO1AudmFsdWUrPUI7Ti5vdXRwdXQrPW4ub3V0cHV0K1Aub3V0cHV0O04uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEIrRCgpKTtwdXNoKHt0eXBlOlwic2xhc2hcIix2YWx1ZTpcIi9cIixvdXRwdXQ6XCJcIn0pO2NvbnRpbnVlfWlmKG4udHlwZT09PVwiYm9zXCImJnRbMF09PT1cIi9cIil7UC50eXBlPVwiZ2xvYnN0YXJcIjtQLnZhbHVlKz1CO1Aub3V0cHV0PWAoPzpefCR7eX18JHtnbG9ic3RhcihyKX0ke3l9KWA7Ti5vdXRwdXQ9UC5vdXRwdXQ7Ti5nbG9ic3Rhcj10cnVlO2NvbnN1bWUoQitEKCkpO3B1c2goe3R5cGU6XCJzbGFzaFwiLHZhbHVlOlwiL1wiLG91dHB1dDpcIlwifSk7Y29udGludWV9Ti5vdXRwdXQ9Ti5vdXRwdXQuc2xpY2UoMCwtUC5vdXRwdXQubGVuZ3RoKTtQLnR5cGU9XCJnbG9ic3RhclwiO1Aub3V0cHV0PWdsb2JzdGFyKHIpO1AudmFsdWUrPUI7Ti5vdXRwdXQrPVAub3V0cHV0O04uZ2xvYnN0YXI9dHJ1ZTtjb25zdW1lKEIpO2NvbnRpbnVlfWNvbnN0IG49e3R5cGU6XCJzdGFyXCIsdmFsdWU6QixvdXRwdXQ6d307aWYoci5iYXNoPT09dHJ1ZSl7bi5vdXRwdXQ9XCIuKj9cIjtpZihQLnR5cGU9PT1cImJvc1wifHxQLnR5cGU9PT1cInNsYXNoXCIpe24ub3V0cHV0PUwrbi5vdXRwdXR9cHVzaChuKTtjb250aW51ZX1pZihQJiYoUC50eXBlPT09XCJicmFja2V0XCJ8fFAudHlwZT09PVwicGFyZW5cIikmJnIucmVnZXg9PT10cnVlKXtuLm91dHB1dD1CO3B1c2gobik7Y29udGludWV9aWYoTi5pbmRleD09PU4uc3RhcnR8fFAudHlwZT09PVwic2xhc2hcInx8UC50eXBlPT09XCJkb3RcIil7aWYoUC50eXBlPT09XCJkb3RcIil7Ti5vdXRwdXQrPVM7UC5vdXRwdXQrPVN9ZWxzZSBpZihyLmRvdD09PXRydWUpe04ub3V0cHV0Kz1IO1Aub3V0cHV0Kz1IfWVsc2V7Ti5vdXRwdXQrPUw7UC5vdXRwdXQrPUx9aWYoRygpIT09XCIqXCIpe04ub3V0cHV0Kz1kO1Aub3V0cHV0Kz1kfX1wdXNoKG4pfXdoaWxlKE4uYnJhY2tldHM+MCl7aWYoci5zdHJpY3RCcmFja2V0cz09PXRydWUpdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yKFwiY2xvc2luZ1wiLFwiXVwiKSk7Ti5vdXRwdXQ9dS5lc2NhcGVMYXN0KE4ub3V0cHV0LFwiW1wiKTtkZWNyZW1lbnQoXCJicmFja2V0c1wiKX13aGlsZShOLnBhcmVucz4wKXtpZihyLnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCIpXCIpKTtOLm91dHB1dD11LmVzY2FwZUxhc3QoTi5vdXRwdXQsXCIoXCIpO2RlY3JlbWVudChcInBhcmVuc1wiKX13aGlsZShOLmJyYWNlcz4wKXtpZihyLnN0cmljdEJyYWNrZXRzPT09dHJ1ZSl0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IoXCJjbG9zaW5nXCIsXCJ9XCIpKTtOLm91dHB1dD11LmVzY2FwZUxhc3QoTi5vdXRwdXQsXCJ7XCIpO2RlY3JlbWVudChcImJyYWNlc1wiKX1pZihyLnN0cmljdFNsYXNoZXMhPT10cnVlJiYoUC50eXBlPT09XCJzdGFyXCJ8fFAudHlwZT09PVwiYnJhY2tldFwiKSl7cHVzaCh7dHlwZTpcIm1heWJlX3NsYXNoXCIsdmFsdWU6XCJcIixvdXRwdXQ6YCR7eX0/YH0pfWlmKE4uYmFja3RyYWNrPT09dHJ1ZSl7Ti5vdXRwdXQ9XCJcIjtmb3IoY29uc3QgZSBvZiBOLnRva2Vucyl7Ti5vdXRwdXQrPWUub3V0cHV0IT1udWxsP2Uub3V0cHV0OmUudmFsdWU7aWYoZS5zdWZmaXgpe04ub3V0cHV0Kz1lLnN1ZmZpeH19fXJldHVybiBOfTtwYXJzZS5mYXN0cGF0aHM9KGUsdCk9Pntjb25zdCByPXsuLi50fTtjb25zdCBvPXR5cGVvZiByLm1heExlbmd0aD09PVwibnVtYmVyXCI/TWF0aC5taW4ocyxyLm1heExlbmd0aCk6cztjb25zdCBpPWUubGVuZ3RoO2lmKGk+byl7dGhyb3cgbmV3IFN5bnRheEVycm9yKGBJbnB1dCBsZW5ndGg6ICR7aX0sIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIGxlbmd0aDogJHtvfWApfWU9bFtlXXx8ZTtjb25zdCBhPXUuaXNXaW5kb3dzKHQpO2NvbnN0e0RPVF9MSVRFUkFMOmMsU0xBU0hfTElURVJBTDpwLE9ORV9DSEFSOmYsRE9UU19TTEFTSDpBLE5PX0RPVDpSLE5PX0RPVFM6XyxOT19ET1RTX1NMQVNIOmgsU1RBUjpnLFNUQVJUX0FOQ0hPUjpFfT1uLmdsb2JDaGFycyhhKTtjb25zdCBDPXIuZG90P186Ujtjb25zdCB5PXIuZG90P2g6Ujtjb25zdCBkPXIuY2FwdHVyZT9cIlwiOlwiPzpcIjtjb25zdCB4PXtuZWdhdGVkOmZhbHNlLHByZWZpeDpcIlwifTtsZXQgYj1yLmJhc2g9PT10cnVlP1wiLio/XCI6ZztpZihyLmNhcHR1cmUpe2I9YCgke2J9KWB9Y29uc3QgZ2xvYnN0YXI9ZT0+e2lmKGUubm9nbG9ic3Rhcj09PXRydWUpcmV0dXJuIGI7cmV0dXJuYCgke2R9KD86KD8hJHtFfSR7ZS5kb3Q/QTpjfSkuKSo/KWB9O2NvbnN0IGNyZWF0ZT1lPT57c3dpdGNoKGUpe2Nhc2VcIipcIjpyZXR1cm5gJHtDfSR7Zn0ke2J9YDtjYXNlXCIuKlwiOnJldHVybmAke2N9JHtmfSR7Yn1gO2Nhc2VcIiouKlwiOnJldHVybmAke0N9JHtifSR7Y30ke2Z9JHtifWA7Y2FzZVwiKi8qXCI6cmV0dXJuYCR7Q30ke2J9JHtwfSR7Zn0ke3l9JHtifWA7Y2FzZVwiKipcIjpyZXR1cm4gQytnbG9ic3RhcihyKTtjYXNlXCIqKi8qXCI6cmV0dXJuYCg/OiR7Q30ke2dsb2JzdGFyKHIpfSR7cH0pPyR7eX0ke2Z9JHtifWA7Y2FzZVwiKiovKi4qXCI6cmV0dXJuYCg/OiR7Q30ke2dsb2JzdGFyKHIpfSR7cH0pPyR7eX0ke2J9JHtjfSR7Zn0ke2J9YDtjYXNlXCIqKi8uKlwiOnJldHVybmAoPzoke0N9JHtnbG9ic3RhcihyKX0ke3B9KT8ke2N9JHtmfSR7Yn1gO2RlZmF1bHQ6e2NvbnN0IHQ9L14oLio/KVxcLihcXHcrKSQvLmV4ZWMoZSk7aWYoIXQpcmV0dXJuO2NvbnN0IHI9Y3JlYXRlKHRbMV0pO2lmKCFyKXJldHVybjtyZXR1cm4gcitjK3RbMl19fX07Y29uc3QgUz11LnJlbW92ZVByZWZpeChlLHgpO2xldCBIPWNyZWF0ZShTKTtpZihIJiZyLnN0cmljdFNsYXNoZXMhPT10cnVlKXtIKz1gJHtwfT9gfXJldHVybiBIfTtlLmV4cG9ydHM9cGFyc2V9LDY4MzooZSx0LHIpPT57Y29uc3Qgbj1yKDE3KTtjb25zdCB1PXIoNzAwKTtjb25zdCBzPXIoNzU0KTtjb25zdCBvPXIoNTEzKTtjb25zdCBpPXIoMzU2KTtjb25zdCBpc09iamVjdD1lPT5lJiZ0eXBlb2YgZT09PVwib2JqZWN0XCImJiFBcnJheS5pc0FycmF5KGUpO2NvbnN0IHBpY29tYXRjaD0oZSx0LHI9ZmFsc2UpPT57aWYoQXJyYXkuaXNBcnJheShlKSl7Y29uc3Qgbj1lLm1hcCgoZT0+cGljb21hdGNoKGUsdCxyKSkpO2NvbnN0IGFycmF5TWF0Y2hlcj1lPT57Zm9yKGNvbnN0IHQgb2Ygbil7Y29uc3Qgcj10KGUpO2lmKHIpcmV0dXJuIHJ9cmV0dXJuIGZhbHNlfTtyZXR1cm4gYXJyYXlNYXRjaGVyfWNvbnN0IG49aXNPYmplY3QoZSkmJmUudG9rZW5zJiZlLmlucHV0O2lmKGU9PT1cIlwifHx0eXBlb2YgZSE9PVwic3RyaW5nXCImJiFuKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgcGF0dGVybiB0byBiZSBhIG5vbi1lbXB0eSBzdHJpbmdcIil9Y29uc3QgdT10fHx7fTtjb25zdCBzPW8uaXNXaW5kb3dzKHQpO2NvbnN0IGk9bj9waWNvbWF0Y2guY29tcGlsZVJlKGUsdCk6cGljb21hdGNoLm1ha2VSZShlLHQsZmFsc2UsdHJ1ZSk7Y29uc3QgYT1pLnN0YXRlO2RlbGV0ZSBpLnN0YXRlO2xldCBpc0lnbm9yZWQ9KCk9PmZhbHNlO2lmKHUuaWdub3JlKXtjb25zdCBlPXsuLi50LGlnbm9yZTpudWxsLG9uTWF0Y2g6bnVsbCxvblJlc3VsdDpudWxsfTtpc0lnbm9yZWQ9cGljb21hdGNoKHUuaWdub3JlLGUscil9Y29uc3QgbWF0Y2hlcj0ocixuPWZhbHNlKT0+e2NvbnN0e2lzTWF0Y2g6byxtYXRjaDpsLG91dHB1dDpjfT1waWNvbWF0Y2gudGVzdChyLGksdCx7Z2xvYjplLHBvc2l4OnN9KTtjb25zdCBwPXtnbG9iOmUsc3RhdGU6YSxyZWdleDppLHBvc2l4OnMsaW5wdXQ6cixvdXRwdXQ6YyxtYXRjaDpsLGlzTWF0Y2g6b307aWYodHlwZW9mIHUub25SZXN1bHQ9PT1cImZ1bmN0aW9uXCIpe3Uub25SZXN1bHQocCl9aWYobz09PWZhbHNlKXtwLmlzTWF0Y2g9ZmFsc2U7cmV0dXJuIG4/cDpmYWxzZX1pZihpc0lnbm9yZWQocikpe2lmKHR5cGVvZiB1Lm9uSWdub3JlPT09XCJmdW5jdGlvblwiKXt1Lm9uSWdub3JlKHApfXAuaXNNYXRjaD1mYWxzZTtyZXR1cm4gbj9wOmZhbHNlfWlmKHR5cGVvZiB1Lm9uTWF0Y2g9PT1cImZ1bmN0aW9uXCIpe3Uub25NYXRjaChwKX1yZXR1cm4gbj9wOnRydWV9O2lmKHIpe21hdGNoZXIuc3RhdGU9YX1yZXR1cm4gbWF0Y2hlcn07cGljb21hdGNoLnRlc3Q9KGUsdCxyLHtnbG9iOm4scG9zaXg6dX09e30pPT57aWYodHlwZW9mIGUhPT1cInN0cmluZ1wiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgaW5wdXQgdG8gYmUgYSBzdHJpbmdcIil9aWYoZT09PVwiXCIpe3JldHVybntpc01hdGNoOmZhbHNlLG91dHB1dDpcIlwifX1jb25zdCBzPXJ8fHt9O2NvbnN0IGk9cy5mb3JtYXR8fCh1P28udG9Qb3NpeFNsYXNoZXM6bnVsbCk7bGV0IGE9ZT09PW47bGV0IGw9YSYmaT9pKGUpOmU7aWYoYT09PWZhbHNlKXtsPWk/aShlKTplO2E9bD09PW59aWYoYT09PWZhbHNlfHxzLmNhcHR1cmU9PT10cnVlKXtpZihzLm1hdGNoQmFzZT09PXRydWV8fHMuYmFzZW5hbWU9PT10cnVlKXthPXBpY29tYXRjaC5tYXRjaEJhc2UoZSx0LHIsdSl9ZWxzZXthPXQuZXhlYyhsKX19cmV0dXJue2lzTWF0Y2g6Qm9vbGVhbihhKSxtYXRjaDphLG91dHB1dDpsfX07cGljb21hdGNoLm1hdGNoQmFzZT0oZSx0LHIsdT1vLmlzV2luZG93cyhyKSk9Pntjb25zdCBzPXQgaW5zdGFuY2VvZiBSZWdFeHA/dDpwaWNvbWF0Y2gubWFrZVJlKHQscik7cmV0dXJuIHMudGVzdChuLmJhc2VuYW1lKGUpKX07cGljb21hdGNoLmlzTWF0Y2g9KGUsdCxyKT0+cGljb21hdGNoKHQscikoZSk7cGljb21hdGNoLnBhcnNlPShlLHQpPT57aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gZS5tYXAoKGU9PnBpY29tYXRjaC5wYXJzZShlLHQpKSk7cmV0dXJuIHMoZSx7Li4udCxmYXN0cGF0aHM6ZmFsc2V9KX07cGljb21hdGNoLnNjYW49KGUsdCk9PnUoZSx0KTtwaWNvbWF0Y2guY29tcGlsZVJlPShlLHQscj1mYWxzZSxuPWZhbHNlKT0+e2lmKHI9PT10cnVlKXtyZXR1cm4gZS5vdXRwdXR9Y29uc3QgdT10fHx7fTtjb25zdCBzPXUuY29udGFpbnM/XCJcIjpcIl5cIjtjb25zdCBvPXUuY29udGFpbnM/XCJcIjpcIiRcIjtsZXQgaT1gJHtzfSg/OiR7ZS5vdXRwdXR9KSR7b31gO2lmKGUmJmUubmVnYXRlZD09PXRydWUpe2k9YF4oPyEke2l9KS4qJGB9Y29uc3QgYT1waWNvbWF0Y2gudG9SZWdleChpLHQpO2lmKG49PT10cnVlKXthLnN0YXRlPWV9cmV0dXJuIGF9O3BpY29tYXRjaC5tYWtlUmU9KGUsdCxyPWZhbHNlLG49ZmFsc2UpPT57aWYoIWV8fHR5cGVvZiBlIT09XCJzdHJpbmdcIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgbm9uLWVtcHR5IHN0cmluZ1wiKX1jb25zdCB1PXR8fHt9O2xldCBvPXtuZWdhdGVkOmZhbHNlLGZhc3RwYXRoczp0cnVlfTtsZXQgaT1cIlwiO2xldCBhO2lmKGUuc3RhcnRzV2l0aChcIi4vXCIpKXtlPWUuc2xpY2UoMik7aT1vLnByZWZpeD1cIi4vXCJ9aWYodS5mYXN0cGF0aHMhPT1mYWxzZSYmKGVbMF09PT1cIi5cInx8ZVswXT09PVwiKlwiKSl7YT1zLmZhc3RwYXRocyhlLHQpfWlmKGE9PT11bmRlZmluZWQpe289cyhlLHQpO28ucHJlZml4PWkrKG8ucHJlZml4fHxcIlwiKX1lbHNle28ub3V0cHV0PWF9cmV0dXJuIHBpY29tYXRjaC5jb21waWxlUmUobyx0LHIsbil9O3BpY29tYXRjaC50b1JlZ2V4PShlLHQpPT57dHJ5e2NvbnN0IHI9dHx8e307cmV0dXJuIG5ldyBSZWdFeHAoZSxyLmZsYWdzfHwoci5ub2Nhc2U/XCJpXCI6XCJcIikpfWNhdGNoKGUpe2lmKHQmJnQuZGVidWc9PT10cnVlKXRocm93IGU7cmV0dXJuLyReL319O3BpY29tYXRjaC5jb25zdGFudHM9aTtlLmV4cG9ydHM9cGljb21hdGNofSw3MDA6KGUsdCxyKT0+e2NvbnN0IG49cig1MTMpO2NvbnN0e0NIQVJfQVNURVJJU0s6dSxDSEFSX0FUOnMsQ0hBUl9CQUNLV0FSRF9TTEFTSDpvLENIQVJfQ09NTUE6aSxDSEFSX0RPVDphLENIQVJfRVhDTEFNQVRJT05fTUFSSzpsLENIQVJfRk9SV0FSRF9TTEFTSDpjLENIQVJfTEVGVF9DVVJMWV9CUkFDRTpwLENIQVJfTEVGVF9QQVJFTlRIRVNFUzpmLENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVDpBLENIQVJfUExVUzpSLENIQVJfUVVFU1RJT05fTUFSSzpfLENIQVJfUklHSFRfQ1VSTFlfQlJBQ0U6aCxDSEFSX1JJR0hUX1BBUkVOVEhFU0VTOmcsQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDpFfT1yKDM1Nik7Y29uc3QgaXNQYXRoU2VwYXJhdG9yPWU9PmU9PT1jfHxlPT09bztjb25zdCBkZXB0aD1lPT57aWYoZS5pc1ByZWZpeCE9PXRydWUpe2UuZGVwdGg9ZS5pc0dsb2JzdGFyP0luZmluaXR5OjF9fTtjb25zdCBzY2FuPShlLHQpPT57Y29uc3Qgcj10fHx7fTtjb25zdCBDPWUubGVuZ3RoLTE7Y29uc3QgeT1yLnBhcnRzPT09dHJ1ZXx8ci5zY2FuVG9FbmQ9PT10cnVlO2NvbnN0IGQ9W107Y29uc3QgeD1bXTtjb25zdCBiPVtdO2xldCBTPWU7bGV0IEg9LTE7bGV0IHY9MDtsZXQgJD0wO2xldCBtPWZhbHNlO2xldCBUPWZhbHNlO2xldCBMPWZhbHNlO2xldCBPPWZhbHNlO2xldCB3PWZhbHNlO2xldCBOPWZhbHNlO2xldCBrPWZhbHNlO2xldCBJPWZhbHNlO2xldCBNPWZhbHNlO2xldCBQPTA7bGV0IEI7bGV0IEc7bGV0IEQ9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2NvbnN0IGVvcz0oKT0+SD49Qztjb25zdCBwZWVrPSgpPT5TLmNoYXJDb2RlQXQoSCsxKTtjb25zdCBhZHZhbmNlPSgpPT57Qj1HO3JldHVybiBTLmNoYXJDb2RlQXQoKytIKX07d2hpbGUoSDxDKXtHPWFkdmFuY2UoKTtsZXQgZTtpZihHPT09byl7az1ELmJhY2tzbGFzaGVzPXRydWU7Rz1hZHZhbmNlKCk7aWYoRz09PXApe049dHJ1ZX1jb250aW51ZX1pZihOPT09dHJ1ZXx8Rz09PXApe1ArKzt3aGlsZShlb3MoKSE9PXRydWUmJihHPWFkdmFuY2UoKSkpe2lmKEc9PT1vKXtrPUQuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoRz09PXApe1ArKztjb250aW51ZX1pZihOIT09dHJ1ZSYmRz09PWEmJihHPWFkdmFuY2UoKSk9PT1hKXttPUQuaXNCcmFjZT10cnVlO0w9RC5pc0dsb2I9dHJ1ZTtNPXRydWU7aWYoeT09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKE4hPT10cnVlJiZHPT09aSl7bT1ELmlzQnJhY2U9dHJ1ZTtMPUQuaXNHbG9iPXRydWU7TT10cnVlO2lmKHk9PT10cnVlKXtjb250aW51ZX1icmVha31pZihHPT09aCl7UC0tO2lmKFA9PT0wKXtOPWZhbHNlO209RC5pc0JyYWNlPXRydWU7TT10cnVlO2JyZWFrfX19aWYoeT09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKEc9PT1jKXtkLnB1c2goSCk7eC5wdXNoKEQpO0Q9e3ZhbHVlOlwiXCIsZGVwdGg6MCxpc0dsb2I6ZmFsc2V9O2lmKE09PT10cnVlKWNvbnRpbnVlO2lmKEI9PT1hJiZIPT09disxKXt2Kz0yO2NvbnRpbnVlfSQ9SCsxO2NvbnRpbnVlfWlmKHIubm9leHQhPT10cnVlKXtjb25zdCBlPUc9PT1SfHxHPT09c3x8Rz09PXV8fEc9PT1ffHxHPT09bDtpZihlPT09dHJ1ZSYmcGVlaygpPT09Zil7TD1ELmlzR2xvYj10cnVlO089RC5pc0V4dGdsb2I9dHJ1ZTtNPXRydWU7aWYoeT09PXRydWUpe3doaWxlKGVvcygpIT09dHJ1ZSYmKEc9YWR2YW5jZSgpKSl7aWYoRz09PW8pe2s9RC5iYWNrc2xhc2hlcz10cnVlO0c9YWR2YW5jZSgpO2NvbnRpbnVlfWlmKEc9PT1nKXtMPUQuaXNHbG9iPXRydWU7TT10cnVlO2JyZWFrfX1jb250aW51ZX1icmVha319aWYoRz09PXUpe2lmKEI9PT11KXc9RC5pc0dsb2JzdGFyPXRydWU7TD1ELmlzR2xvYj10cnVlO009dHJ1ZTtpZih5PT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoRz09PV8pe0w9RC5pc0dsb2I9dHJ1ZTtNPXRydWU7aWYoeT09PXRydWUpe2NvbnRpbnVlfWJyZWFrfWlmKEc9PT1BKXt3aGlsZShlb3MoKSE9PXRydWUmJihlPWFkdmFuY2UoKSkpe2lmKGU9PT1vKXtrPUQuYmFja3NsYXNoZXM9dHJ1ZTthZHZhbmNlKCk7Y29udGludWV9aWYoZT09PUUpe1Q9RC5pc0JyYWNrZXQ9dHJ1ZTtMPUQuaXNHbG9iPXRydWU7TT10cnVlO2JyZWFrfX1pZih5PT09dHJ1ZSl7Y29udGludWV9YnJlYWt9aWYoci5ub25lZ2F0ZSE9PXRydWUmJkc9PT1sJiZIPT09dil7ST1ELm5lZ2F0ZWQ9dHJ1ZTt2Kys7Y29udGludWV9aWYoci5ub3BhcmVuIT09dHJ1ZSYmRz09PWYpe0w9RC5pc0dsb2I9dHJ1ZTtpZih5PT09dHJ1ZSl7d2hpbGUoZW9zKCkhPT10cnVlJiYoRz1hZHZhbmNlKCkpKXtpZihHPT09Zil7az1ELmJhY2tzbGFzaGVzPXRydWU7Rz1hZHZhbmNlKCk7Y29udGludWV9aWYoRz09PWcpe009dHJ1ZTticmVha319Y29udGludWV9YnJlYWt9aWYoTD09PXRydWUpe009dHJ1ZTtpZih5PT09dHJ1ZSl7Y29udGludWV9YnJlYWt9fWlmKHIubm9leHQ9PT10cnVlKXtPPWZhbHNlO0w9ZmFsc2V9bGV0IFU9UztsZXQgSz1cIlwiO2xldCBGPVwiXCI7aWYodj4wKXtLPVMuc2xpY2UoMCx2KTtTPVMuc2xpY2Uodik7JC09dn1pZihVJiZMPT09dHJ1ZSYmJD4wKXtVPVMuc2xpY2UoMCwkKTtGPVMuc2xpY2UoJCl9ZWxzZSBpZihMPT09dHJ1ZSl7VT1cIlwiO0Y9U31lbHNle1U9U31pZihVJiZVIT09XCJcIiYmVSE9PVwiL1wiJiZVIT09Uyl7aWYoaXNQYXRoU2VwYXJhdG9yKFUuY2hhckNvZGVBdChVLmxlbmd0aC0xKSkpe1U9VS5zbGljZSgwLC0xKX19aWYoci51bmVzY2FwZT09PXRydWUpe2lmKEYpRj1uLnJlbW92ZUJhY2tzbGFzaGVzKEYpO2lmKFUmJms9PT10cnVlKXtVPW4ucmVtb3ZlQmFja3NsYXNoZXMoVSl9fWNvbnN0IFE9e3ByZWZpeDpLLGlucHV0OmUsc3RhcnQ6dixiYXNlOlUsZ2xvYjpGLGlzQnJhY2U6bSxpc0JyYWNrZXQ6VCxpc0dsb2I6TCxpc0V4dGdsb2I6Tyxpc0dsb2JzdGFyOncsbmVnYXRlZDpJfTtpZihyLnRva2Vucz09PXRydWUpe1EubWF4RGVwdGg9MDtpZighaXNQYXRoU2VwYXJhdG9yKEcpKXt4LnB1c2goRCl9US50b2tlbnM9eH1pZihyLnBhcnRzPT09dHJ1ZXx8ci50b2tlbnM9PT10cnVlKXtsZXQgdDtmb3IobGV0IG49MDtuPGQubGVuZ3RoO24rKyl7Y29uc3QgdT10P3QrMTp2O2NvbnN0IHM9ZFtuXTtjb25zdCBvPWUuc2xpY2UodSxzKTtpZihyLnRva2Vucyl7aWYobj09PTAmJnYhPT0wKXt4W25dLmlzUHJlZml4PXRydWU7eFtuXS52YWx1ZT1LfWVsc2V7eFtuXS52YWx1ZT1vfWRlcHRoKHhbbl0pO1EubWF4RGVwdGgrPXhbbl0uZGVwdGh9aWYobiE9PTB8fG8hPT1cIlwiKXtiLnB1c2gobyl9dD1zfWlmKHQmJnQrMTxlLmxlbmd0aCl7Y29uc3Qgbj1lLnNsaWNlKHQrMSk7Yi5wdXNoKG4pO2lmKHIudG9rZW5zKXt4W3gubGVuZ3RoLTFdLnZhbHVlPW47ZGVwdGgoeFt4Lmxlbmd0aC0xXSk7US5tYXhEZXB0aCs9eFt4Lmxlbmd0aC0xXS5kZXB0aH19US5zbGFzaGVzPWQ7US5wYXJ0cz1ifXJldHVybiBRfTtlLmV4cG9ydHM9c2Nhbn0sNTEzOihlLHQscik9Pntjb25zdCBuPXIoMTcpO2NvbnN0IHU9cHJvY2Vzcy5wbGF0Zm9ybT09PVwid2luMzJcIjtjb25zdHtSRUdFWF9CQUNLU0xBU0g6cyxSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOm8sUkVHRVhfU1BFQ0lBTF9DSEFSUzppLFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMOmF9PXIoMzU2KTt0LmlzT2JqZWN0PWU9PmUhPT1udWxsJiZ0eXBlb2YgZT09PVwib2JqZWN0XCImJiFBcnJheS5pc0FycmF5KGUpO3QuaGFzUmVnZXhDaGFycz1lPT5pLnRlc3QoZSk7dC5pc1JlZ2V4Q2hhcj1lPT5lLmxlbmd0aD09PTEmJnQuaGFzUmVnZXhDaGFycyhlKTt0LmVzY2FwZVJlZ2V4PWU9PmUucmVwbGFjZShhLFwiXFxcXCQxXCIpO3QudG9Qb3NpeFNsYXNoZXM9ZT0+ZS5yZXBsYWNlKHMsXCIvXCIpO3QucmVtb3ZlQmFja3NsYXNoZXM9ZT0+ZS5yZXBsYWNlKG8sKGU9PmU9PT1cIlxcXFxcIj9cIlwiOmUpKTt0LnN1cHBvcnRzTG9va2JlaGluZHM9KCk9Pntjb25zdCBlPXByb2Nlc3MudmVyc2lvbi5zbGljZSgxKS5zcGxpdChcIi5cIikubWFwKE51bWJlcik7aWYoZS5sZW5ndGg9PT0zJiZlWzBdPj05fHxlWzBdPT09OCYmZVsxXT49MTApe3JldHVybiB0cnVlfXJldHVybiBmYWxzZX07dC5pc1dpbmRvd3M9ZT0+e2lmKGUmJnR5cGVvZiBlLndpbmRvd3M9PT1cImJvb2xlYW5cIil7cmV0dXJuIGUud2luZG93c31yZXR1cm4gdT09PXRydWV8fG4uc2VwPT09XCJcXFxcXCJ9O3QuZXNjYXBlTGFzdD0oZSxyLG4pPT57Y29uc3QgdT1lLmxhc3RJbmRleE9mKHIsbik7aWYodT09PS0xKXJldHVybiBlO2lmKGVbdS0xXT09PVwiXFxcXFwiKXJldHVybiB0LmVzY2FwZUxhc3QoZSxyLHUtMSk7cmV0dXJuYCR7ZS5zbGljZSgwLHUpfVxcXFwke2Uuc2xpY2UodSl9YH07dC5yZW1vdmVQcmVmaXg9KGUsdD17fSk9PntsZXQgcj1lO2lmKHIuc3RhcnRzV2l0aChcIi4vXCIpKXtyPXIuc2xpY2UoMik7dC5wcmVmaXg9XCIuL1wifXJldHVybiByfTt0LndyYXBPdXRwdXQ9KGUsdD17fSxyPXt9KT0+e2NvbnN0IG49ci5jb250YWlucz9cIlwiOlwiXlwiO2NvbnN0IHU9ci5jb250YWlucz9cIlwiOlwiJFwiO2xldCBzPWAke259KD86JHtlfSkke3V9YDtpZih0Lm5lZ2F0ZWQ9PT10cnVlKXtzPWAoPzpeKD8hJHtzfSkuKiQpYH1yZXR1cm4gc319LDQ5MjooZSx0LHIpPT57XG4vKiFcbiAqIHRvLXJlZ2V4LXJhbmdlIDxodHRwczovL2dpdGh1Yi5jb20vbWljcm9tYXRjaC90by1yZWdleC1yYW5nZT5cbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTUtcHJlc2VudCwgSm9uIFNjaGxpbmtlcnQuXG4gKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuXG4gKi9cbmNvbnN0IG49cigzNTcpO2NvbnN0IHRvUmVnZXhSYW5nZT0oZSx0LHIpPT57aWYobihlKT09PWZhbHNlKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwidG9SZWdleFJhbmdlOiBleHBlY3RlZCB0aGUgZmlyc3QgYXJndW1lbnQgdG8gYmUgYSBudW1iZXJcIil9aWYodD09PXZvaWQgMHx8ZT09PXQpe3JldHVybiBTdHJpbmcoZSl9aWYobih0KT09PWZhbHNlKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwidG9SZWdleFJhbmdlOiBleHBlY3RlZCB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIGJlIGEgbnVtYmVyLlwiKX1sZXQgdT17cmVsYXhaZXJvczp0cnVlLC4uLnJ9O2lmKHR5cGVvZiB1LnN0cmljdFplcm9zPT09XCJib29sZWFuXCIpe3UucmVsYXhaZXJvcz11LnN0cmljdFplcm9zPT09ZmFsc2V9bGV0IHM9U3RyaW5nKHUucmVsYXhaZXJvcyk7bGV0IG89U3RyaW5nKHUuc2hvcnRoYW5kKTtsZXQgaT1TdHJpbmcodS5jYXB0dXJlKTtsZXQgYT1TdHJpbmcodS53cmFwKTtsZXQgbD1lK1wiOlwiK3QrXCI9XCIrcytvK2krYTtpZih0b1JlZ2V4UmFuZ2UuY2FjaGUuaGFzT3duUHJvcGVydHkobCkpe3JldHVybiB0b1JlZ2V4UmFuZ2UuY2FjaGVbbF0ucmVzdWx0fWxldCBjPU1hdGgubWluKGUsdCk7bGV0IHA9TWF0aC5tYXgoZSx0KTtpZihNYXRoLmFicyhjLXApPT09MSl7bGV0IHI9ZStcInxcIit0O2lmKHUuY2FwdHVyZSl7cmV0dXJuYCgke3J9KWB9aWYodS53cmFwPT09ZmFsc2Upe3JldHVybiByfXJldHVybmAoPzoke3J9KWB9bGV0IGY9aGFzUGFkZGluZyhlKXx8aGFzUGFkZGluZyh0KTtsZXQgQT17bWluOmUsbWF4OnQsYTpjLGI6cH07bGV0IFI9W107bGV0IF89W107aWYoZil7QS5pc1BhZGRlZD1mO0EubWF4TGVuPVN0cmluZyhBLm1heCkubGVuZ3RofWlmKGM8MCl7bGV0IGU9cDwwP01hdGguYWJzKHApOjE7Xz1zcGxpdFRvUGF0dGVybnMoZSxNYXRoLmFicyhjKSxBLHUpO2M9QS5hPTB9aWYocD49MCl7Uj1zcGxpdFRvUGF0dGVybnMoYyxwLEEsdSl9QS5uZWdhdGl2ZXM9XztBLnBvc2l0aXZlcz1SO0EucmVzdWx0PWNvbGxhdGVQYXR0ZXJucyhfLFIsdSk7aWYodS5jYXB0dXJlPT09dHJ1ZSl7QS5yZXN1bHQ9YCgke0EucmVzdWx0fSlgfWVsc2UgaWYodS53cmFwIT09ZmFsc2UmJlIubGVuZ3RoK18ubGVuZ3RoPjEpe0EucmVzdWx0PWAoPzoke0EucmVzdWx0fSlgfXRvUmVnZXhSYW5nZS5jYWNoZVtsXT1BO3JldHVybiBBLnJlc3VsdH07ZnVuY3Rpb24gY29sbGF0ZVBhdHRlcm5zKGUsdCxyKXtsZXQgbj1maWx0ZXJQYXR0ZXJucyhlLHQsXCItXCIsZmFsc2Uscil8fFtdO2xldCB1PWZpbHRlclBhdHRlcm5zKHQsZSxcIlwiLGZhbHNlLHIpfHxbXTtsZXQgcz1maWx0ZXJQYXR0ZXJucyhlLHQsXCItP1wiLHRydWUscil8fFtdO2xldCBvPW4uY29uY2F0KHMpLmNvbmNhdCh1KTtyZXR1cm4gby5qb2luKFwifFwiKX1mdW5jdGlvbiBzcGxpdFRvUmFuZ2VzKGUsdCl7bGV0IHI9MTtsZXQgbj0xO2xldCB1PWNvdW50TmluZXMoZSxyKTtsZXQgcz1uZXcgU2V0KFt0XSk7d2hpbGUoZTw9dSYmdTw9dCl7cy5hZGQodSk7cis9MTt1PWNvdW50TmluZXMoZSxyKX11PWNvdW50WmVyb3ModCsxLG4pLTE7d2hpbGUoZTx1JiZ1PD10KXtzLmFkZCh1KTtuKz0xO3U9Y291bnRaZXJvcyh0KzEsbiktMX1zPVsuLi5zXTtzLnNvcnQoY29tcGFyZSk7cmV0dXJuIHN9ZnVuY3Rpb24gcmFuZ2VUb1BhdHRlcm4oZSx0LHIpe2lmKGU9PT10KXtyZXR1cm57cGF0dGVybjplLGNvdW50OltdLGRpZ2l0czowfX1sZXQgbj16aXAoZSx0KTtsZXQgdT1uLmxlbmd0aDtsZXQgcz1cIlwiO2xldCBvPTA7Zm9yKGxldCBlPTA7ZTx1O2UrKyl7bGV0W3QsdV09bltlXTtpZih0PT09dSl7cys9dH1lbHNlIGlmKHQhPT1cIjBcInx8dSE9PVwiOVwiKXtzKz10b0NoYXJhY3RlckNsYXNzKHQsdSxyKX1lbHNle28rK319aWYobyl7cys9ci5zaG9ydGhhbmQ9PT10cnVlP1wiXFxcXGRcIjpcIlswLTldXCJ9cmV0dXJue3BhdHRlcm46cyxjb3VudDpbb10sZGlnaXRzOnV9fWZ1bmN0aW9uIHNwbGl0VG9QYXR0ZXJucyhlLHQscixuKXtsZXQgdT1zcGxpdFRvUmFuZ2VzKGUsdCk7bGV0IHM9W107bGV0IG89ZTtsZXQgaTtmb3IobGV0IGU9MDtlPHUubGVuZ3RoO2UrKyl7bGV0IHQ9dVtlXTtsZXQgYT1yYW5nZVRvUGF0dGVybihTdHJpbmcobyksU3RyaW5nKHQpLG4pO2xldCBsPVwiXCI7aWYoIXIuaXNQYWRkZWQmJmkmJmkucGF0dGVybj09PWEucGF0dGVybil7aWYoaS5jb3VudC5sZW5ndGg+MSl7aS5jb3VudC5wb3AoKX1pLmNvdW50LnB1c2goYS5jb3VudFswXSk7aS5zdHJpbmc9aS5wYXR0ZXJuK3RvUXVhbnRpZmllcihpLmNvdW50KTtvPXQrMTtjb250aW51ZX1pZihyLmlzUGFkZGVkKXtsPXBhZFplcm9zKHQscixuKX1hLnN0cmluZz1sK2EucGF0dGVybit0b1F1YW50aWZpZXIoYS5jb3VudCk7cy5wdXNoKGEpO289dCsxO2k9YX1yZXR1cm4gc31mdW5jdGlvbiBmaWx0ZXJQYXR0ZXJucyhlLHQscixuLHUpe2xldCBzPVtdO2ZvcihsZXQgdSBvZiBlKXtsZXR7c3RyaW5nOmV9PXU7aWYoIW4mJiFjb250YWlucyh0LFwic3RyaW5nXCIsZSkpe3MucHVzaChyK2UpfWlmKG4mJmNvbnRhaW5zKHQsXCJzdHJpbmdcIixlKSl7cy5wdXNoKHIrZSl9fXJldHVybiBzfWZ1bmN0aW9uIHppcChlLHQpe2xldCByPVtdO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXIucHVzaChbZVtuXSx0W25dXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gY29tcGFyZShlLHQpe3JldHVybiBlPnQ/MTp0PmU/LTE6MH1mdW5jdGlvbiBjb250YWlucyhlLHQscil7cmV0dXJuIGUuc29tZSgoZT0+ZVt0XT09PXIpKX1mdW5jdGlvbiBjb3VudE5pbmVzKGUsdCl7cmV0dXJuIE51bWJlcihTdHJpbmcoZSkuc2xpY2UoMCwtdCkrXCI5XCIucmVwZWF0KHQpKX1mdW5jdGlvbiBjb3VudFplcm9zKGUsdCl7cmV0dXJuIGUtZSVNYXRoLnBvdygxMCx0KX1mdW5jdGlvbiB0b1F1YW50aWZpZXIoZSl7bGV0W3Q9MCxyPVwiXCJdPWU7aWYocnx8dD4xKXtyZXR1cm5geyR7dCsocj9cIixcIityOlwiXCIpfX1gfXJldHVyblwiXCJ9ZnVuY3Rpb24gdG9DaGFyYWN0ZXJDbGFzcyhlLHQscil7cmV0dXJuYFske2V9JHt0LWU9PT0xP1wiXCI6XCItXCJ9JHt0fV1gfWZ1bmN0aW9uIGhhc1BhZGRpbmcoZSl7cmV0dXJuL14tPygwKylcXGQvLnRlc3QoZSl9ZnVuY3Rpb24gcGFkWmVyb3MoZSx0LHIpe2lmKCF0LmlzUGFkZGVkKXtyZXR1cm4gZX1sZXQgbj1NYXRoLmFicyh0Lm1heExlbi1TdHJpbmcoZSkubGVuZ3RoKTtsZXQgdT1yLnJlbGF4WmVyb3MhPT1mYWxzZTtzd2l0Y2gobil7Y2FzZSAwOnJldHVyblwiXCI7Y2FzZSAxOnJldHVybiB1P1wiMD9cIjpcIjBcIjtjYXNlIDI6cmV0dXJuIHU/XCIwezAsMn1cIjpcIjAwXCI7ZGVmYXVsdDp7cmV0dXJuIHU/YDB7MCwke259fWA6YDB7JHtufX1gfX19dG9SZWdleFJhbmdlLmNhY2hlPXt9O3RvUmVnZXhSYW5nZS5jbGVhckNhY2hlPSgpPT50b1JlZ2V4UmFuZ2UuY2FjaGU9e307ZS5leHBvcnRzPXRvUmVnZXhSYW5nZX0sMTc6ZT0+e2UuZXhwb3J0cz1yZXF1aXJlKFwicGF0aFwiKX0sODM3OmU9PntlLmV4cG9ydHM9cmVxdWlyZShcInV0aWxcIil9fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgdT10W3JdPXtleHBvcnRzOnt9fTt2YXIgcz10cnVlO3RyeXtlW3JdKHUsdS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO3M9ZmFsc2V9ZmluYWxseXtpZihzKWRlbGV0ZSB0W3JdfXJldHVybiB1LmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPV9fbmNjd3Bja19yZXF1aXJlX18oOTcxKTttb2R1bGUuZXhwb3J0cz1yfSkoKTsiXSwibmFtZXMiOlsiZSIsInQiLCJyIiwibiIsInUiLCJzIiwibyIsImJyYWNlcyIsIkFycmF5IiwiaXNBcnJheSIsImNyZWF0ZSIsInB1c2giLCJjb25jYXQiLCJleHBhbmQiLCJub2R1cGVzIiwiU2V0IiwicGFyc2UiLCJzdHJpbmdpZnkiLCJjb21waWxlIiwibm9lbXB0eSIsImZpbHRlciIsIkJvb2xlYW4iLCJsZW5ndGgiLCJleHBvcnRzIiwid2FsayIsImlzSW52YWxpZEJyYWNlIiwiaW52YWxpZCIsImVzY2FwZUludmFsaWQiLCJpIiwiYSIsImwiLCJpc09wZW4iLCJ2YWx1ZSIsImlzQ2xvc2UiLCJ0eXBlIiwicHJldiIsIm5vZGVzIiwicmFuZ2VzIiwicmVkdWNlIiwid3JhcCIsInRvUmVnZXgiLCJNQVhfTEVOR1RIIiwiQ0hBUl8wIiwiQ0hBUl85IiwiQ0hBUl9VUFBFUkNBU0VfQSIsIkNIQVJfTE9XRVJDQVNFX0EiLCJDSEFSX1VQUEVSQ0FTRV9aIiwiQ0hBUl9MT1dFUkNBU0VfWiIsIkNIQVJfTEVGVF9QQVJFTlRIRVNFUyIsIkNIQVJfUklHSFRfUEFSRU5USEVTRVMiLCJDSEFSX0FTVEVSSVNLIiwiQ0hBUl9BTVBFUlNBTkQiLCJDSEFSX0FUIiwiQ0hBUl9CQUNLU0xBU0giLCJDSEFSX0JBQ0tUSUNLIiwiQ0hBUl9DQVJSSUFHRV9SRVRVUk4iLCJDSEFSX0NJUkNVTUZMRVhfQUNDRU5UIiwiQ0hBUl9DT0xPTiIsIkNIQVJfQ09NTUEiLCJDSEFSX0RPTExBUiIsIkNIQVJfRE9UIiwiQ0hBUl9ET1VCTEVfUVVPVEUiLCJDSEFSX0VRVUFMIiwiQ0hBUl9FWENMQU1BVElPTl9NQVJLIiwiQ0hBUl9GT1JNX0ZFRUQiLCJDSEFSX0ZPUldBUkRfU0xBU0giLCJDSEFSX0hBU0giLCJDSEFSX0hZUEhFTl9NSU5VUyIsIkNIQVJfTEVGVF9BTkdMRV9CUkFDS0VUIiwiQ0hBUl9MRUZUX0NVUkxZX0JSQUNFIiwiQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUIiwiQ0hBUl9MSU5FX0ZFRUQiLCJDSEFSX05PX0JSRUFLX1NQQUNFIiwiQ0hBUl9QRVJDRU5UIiwiQ0hBUl9QTFVTIiwiQ0hBUl9RVUVTVElPTl9NQVJLIiwiQ0hBUl9SSUdIVF9BTkdMRV9CUkFDS0VUIiwiQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRSIsIkNIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQiLCJDSEFSX1NFTUlDT0xPTiIsIkNIQVJfU0lOR0xFX1FVT1RFIiwiQ0hBUl9TUEFDRSIsIkNIQVJfVEFCIiwiQ0hBUl9VTkRFUlNDT1JFIiwiQ0hBUl9WRVJUSUNBTF9MSU5FIiwiQ0hBUl9aRVJPX1dJRFRIX05PQlJFQUtfU1BBQ0UiLCJhcHBlbmQiLCJmbGF0dGVuIiwibWFwIiwicmFuZ2VMaW1pdCIsInF1ZXVlIiwicGFyZW50IiwiZG9sbGFyIiwicG9wIiwiZXhjZWVkc0xpbWl0Iiwic3RlcCIsIlJhbmdlRXJyb3IiLCJlbmNsb3NlQnJhY2UiLCJjIiwicCIsImYiLCJBIiwiUiIsIl8iLCJoIiwiZyIsIkUiLCJUeXBlRXJyb3IiLCJDIiwibWF4TGVuZ3RoIiwiTWF0aCIsIm1pbiIsIlN5bnRheEVycm9yIiwieSIsImlucHV0IiwiZCIsIngiLCJiIiwiUyIsIkgiLCJ2IiwiJCIsIm0iLCJUIiwiYWR2YW5jZSIsImtlZXBFc2NhcGluZyIsImtlZXBRdW90ZXMiLCJzbGljZSIsIm9wZW4iLCJjbG9zZSIsImRlcHRoIiwiY29tbWFzIiwic2hpZnQiLCJyYW5nZSIsImFyZ3MiLCJmb3JFYWNoIiwiaW5kZXhPZiIsInNwbGljZSIsImlzT3Blbk9yQ2xvc2UiLCJpc0ludGVnZXIiLCJOdW1iZXIiLCJ0cmltIiwiZmluZCIsImVzY2FwZU5vZGUiLCJlc2NhcGVkIiwiZmxhdCIsImlzT2JqZWN0IiwidHJhbnNmb3JtIiwiU3RyaW5nIiwiaXNWYWxpZFZhbHVlIiwiaXNOdW1iZXIiLCJ6ZXJvcyIsInBhZCIsInBhZFN0YXJ0IiwidG9NYXhMZW4iLCJ0b1NlcXVlbmNlIiwibmVnYXRpdmVzIiwic29ydCIsInBvc2l0aXZlcyIsImNhcHR1cmUiLCJqb2luIiwidG9SYW5nZSIsImZyb21DaGFyQ29kZSIsInJhbmdlRXJyb3IiLCJpbnNwZWN0IiwiaW52YWxpZFJhbmdlIiwic3RyaWN0UmFuZ2VzIiwiaW52YWxpZFN0ZXAiLCJmaWxsTnVtYmVycyIsIm1heCIsImFicyIsImZpbGxMZXR0ZXJzIiwiY2hhckNvZGVBdCIsIm9wdGlvbnMiLCJmaWxsIiwiaXNGaW5pdGUiLCJpc0VtcHR5U3RyaW5nIiwibWljcm9tYXRjaCIsIm9uUmVzdWx0IiwiYWRkIiwib3V0cHV0Iiwic3RhdGUiLCJuZWdhdGVkIiwibmVnYXRlZEV4dGdsb2IiLCJpc01hdGNoIiwiZGVsZXRlIiwiaGFzIiwiZmFpbGdsb2IiLCJFcnJvciIsIm5vbnVsbCIsIm51bGxnbG9iIiwidW5lc2NhcGUiLCJyZXBsYWNlIiwibWF0Y2giLCJtYXRjaGVyIiwiYW55Iiwibm90IiwiaW5jbHVkZXMiLCJjb250YWlucyIsInNvbWUiLCJzdGFydHNXaXRoIiwibWF0Y2hLZXlzIiwiT2JqZWN0Iiwia2V5cyIsImV2ZXJ5IiwiYWxsIiwiaXNXaW5kb3dzIiwibWFrZVJlIiwiZXhlYyIsInRvUG9zaXhTbGFzaGVzIiwic2NhbiIsIm5vYnJhY2UiLCJ0ZXN0IiwiYnJhY2VFeHBhbmQiLCJET1RfTElURVJBTCIsIlBMVVNfTElURVJBTCIsIlFNQVJLX0xJVEVSQUwiLCJTTEFTSF9MSVRFUkFMIiwiT05FX0NIQVIiLCJRTUFSSyIsIkVORF9BTkNIT1IiLCJET1RTX1NMQVNIIiwiTk9fRE9UIiwiTk9fRE9UUyIsIk5PX0RPVF9TTEFTSCIsIk5PX0RPVFNfU0xBU0giLCJRTUFSS19OT19ET1QiLCJTVEFSIiwiU1RBUlRfQU5DSE9SIiwiYWxudW0iLCJhbHBoYSIsImFzY2lpIiwiYmxhbmsiLCJjbnRybCIsImRpZ2l0IiwiZ3JhcGgiLCJsb3dlciIsInByaW50IiwicHVuY3QiLCJzcGFjZSIsInVwcGVyIiwid29yZCIsInhkaWdpdCIsIlBPU0lYX1JFR0VYX1NPVVJDRSIsIlJFR0VYX0JBQ0tTTEFTSCIsIlJFR0VYX05PTl9TUEVDSUFMX0NIQVJTIiwiUkVHRVhfU1BFQ0lBTF9DSEFSUyIsIlJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRiIsIlJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMIiwiUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSCIsIlJFUExBQ0VNRU5UUyIsIkNIQVJfQkFDS1dBUkRfU0xBU0giLCJDSEFSX0dSQVZFX0FDQ0VOVCIsIlNFUCIsInNlcCIsImV4dGdsb2JDaGFycyIsImdsb2JDaGFycyIsImV4cGFuZFJhbmdlIiwiUmVnRXhwIiwiZXNjYXBlUmVnZXgiLCJzeW50YXhFcnJvciIsInByZXBlbmQiLCJnbG9ic3RhciIsImRvdCIsIkwiLCJPIiwidyIsImJhc2giLCJub2V4dCIsIm5vZXh0Z2xvYiIsIk4iLCJpbmRleCIsInN0YXJ0IiwiY29uc3VtZWQiLCJwcmVmaXgiLCJiYWNrdHJhY2siLCJicmFja2V0cyIsInBhcmVucyIsInF1b3RlcyIsInRva2VucyIsInJlbW92ZVByZWZpeCIsImsiLCJJIiwiTSIsIlAiLCJCIiwiZW9zIiwiRyIsInBlZWsiLCJEIiwicmVtYWluaW5nIiwiY29uc3VtZSIsIm5lZ2F0ZSIsImluY3JlbWVudCIsImRlY3JlbWVudCIsImV4dGdsb2IiLCJpbm5lciIsImV4dGdsb2JPcGVuIiwiY29uZGl0aW9ucyIsImV4dGdsb2JDbG9zZSIsImZhc3RwYXRocyIsInJlcGVhdCIsIndyYXBPdXRwdXQiLCJwb3NpeCIsImxhc3RJbmRleE9mIiwic3RyaWN0QnJhY2tldHMiLCJub2JyYWNrZXQiLCJsaXRlcmFsQnJhY2tldHMiLCJoYXNSZWdleENoYXJzIiwib3V0cHV0SW5kZXgiLCJ0b2tlbnNJbmRleCIsImRvdHMiLCJ1bnNoaWZ0IiwiY29tbWEiLCJzdXBwb3J0c0xvb2tiZWhpbmRzIiwibm9uZWdhdGUiLCJyZWdleCIsInN0YXIiLCJub2dsb2JzdGFyIiwic3RyaWN0U2xhc2hlcyIsImVzY2FwZUxhc3QiLCJzdWZmaXgiLCJwaWNvbWF0Y2giLCJhcnJheU1hdGNoZXIiLCJjb21waWxlUmUiLCJpc0lnbm9yZWQiLCJpZ25vcmUiLCJvbk1hdGNoIiwiZ2xvYiIsIm9uSWdub3JlIiwiZm9ybWF0IiwibWF0Y2hCYXNlIiwiYmFzZW5hbWUiLCJ1bmRlZmluZWQiLCJmbGFncyIsIm5vY2FzZSIsImRlYnVnIiwiY29uc3RhbnRzIiwiaXNQYXRoU2VwYXJhdG9yIiwiaXNQcmVmaXgiLCJpc0dsb2JzdGFyIiwiSW5maW5pdHkiLCJwYXJ0cyIsInNjYW5Ub0VuZCIsImlzR2xvYiIsImJhY2tzbGFzaGVzIiwiaXNCcmFjZSIsImlzRXh0Z2xvYiIsImlzQnJhY2tldCIsIm5vcGFyZW4iLCJVIiwiSyIsIkYiLCJyZW1vdmVCYWNrc2xhc2hlcyIsIlEiLCJiYXNlIiwibWF4RGVwdGgiLCJzbGFzaGVzIiwicHJvY2VzcyIsInBsYXRmb3JtIiwiaXNSZWdleENoYXIiLCJ2ZXJzaW9uIiwic3BsaXQiLCJ3aW5kb3dzIiwidG9SZWdleFJhbmdlIiwicmVsYXhaZXJvcyIsInN0cmljdFplcm9zIiwic2hvcnRoYW5kIiwiY2FjaGUiLCJoYXNPd25Qcm9wZXJ0eSIsInJlc3VsdCIsImhhc1BhZGRpbmciLCJpc1BhZGRlZCIsIm1heExlbiIsInNwbGl0VG9QYXR0ZXJucyIsImNvbGxhdGVQYXR0ZXJucyIsImZpbHRlclBhdHRlcm5zIiwic3BsaXRUb1JhbmdlcyIsImNvdW50TmluZXMiLCJjb3VudFplcm9zIiwiY29tcGFyZSIsInJhbmdlVG9QYXR0ZXJuIiwicGF0dGVybiIsImNvdW50IiwiZGlnaXRzIiwiemlwIiwidG9DaGFyYWN0ZXJDbGFzcyIsInN0cmluZyIsInRvUXVhbnRpZmllciIsInBhZFplcm9zIiwicG93IiwiY2xlYXJDYWNoZSIsInJlcXVpcmUiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwiYWIiLCJfX2Rpcm5hbWUiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/micromatch/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/platform/platform.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/compiled/platform/platform.js ***! \**************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n var e = {\n 541: function(e, i, t) {\n e = t.nmd(e);\n /*!\n * Platform.js v1.3.6\n * Copyright 2014-2020 Benjamin Tan\n * Copyright 2011-2013 John-David Dalton\n * Available under MIT license\n */ (function() {\n \"use strict\";\n var t = {\n function: true,\n object: true\n };\n var r = t[\"undefined\"] && window || this;\n var a = r;\n var n = t[typeof i] && i;\n var o = t[\"object\"] && e && !e.nodeType && e;\n var l = n && o && typeof global == \"object\" && global;\n if (l && (l.global === l || l.window === l || l.self === l)) {\n r = l;\n }\n var s = Math.pow(2, 53) - 1;\n var f = /\\bOpera/;\n var b = this;\n var c = Object.prototype;\n var p = c.hasOwnProperty;\n var u = c.toString;\n function capitalize(e) {\n e = String(e);\n return e.charAt(0).toUpperCase() + e.slice(1);\n }\n function cleanupOS(e, i, t) {\n var r = {\n \"10.0\": \"10\",\n 6.4: \"10 Technical Preview\",\n 6.3: \"8.1\",\n 6.2: \"8\",\n 6.1: \"Server 2008 R2 / 7\",\n \"6.0\": \"Server 2008 / Vista\",\n 5.2: \"Server 2003 / XP 64-bit\",\n 5.1: \"XP\",\n 5.01: \"2000 SP1\",\n \"5.0\": \"2000\",\n \"4.0\": \"NT\",\n \"4.90\": \"ME\"\n };\n if (i && t && /^Win/i.test(e) && !/^Windows Phone /i.test(e) && (r = r[/[\\d.]+$/.exec(e)])) {\n e = \"Windows \" + r;\n }\n e = String(e);\n if (i && t) {\n e = e.replace(RegExp(i, \"i\"), t);\n }\n e = format(e.replace(/ ce$/i, \" CE\").replace(/\\bhpw/i, \"web\").replace(/\\bMacintosh\\b/, \"Mac OS\").replace(/_PowerPC\\b/i, \" OS\").replace(/\\b(OS X) [^ \\d]+/i, \"$1\").replace(/\\bMac (OS X)\\b/, \"$1\").replace(/\\/(\\d)/, \" $1\").replace(/_/g, \".\").replace(/(?: BePC|[ .]*fc[ \\d.]+)$/i, \"\").replace(/\\bx86\\.64\\b/gi, \"x86_64\").replace(/\\b(Windows Phone) OS\\b/, \"$1\").replace(/\\b(Chrome OS \\w+) [\\d.]+\\b/, \"$1\").split(\" on \")[0]);\n return e;\n }\n function each(e, i) {\n var t = -1, r = e ? e.length : 0;\n if (typeof r == \"number\" && r > -1 && r <= s) {\n while(++t < r){\n i(e[t], t, e);\n }\n } else {\n forOwn(e, i);\n }\n }\n function format(e) {\n e = trim(e);\n return /^(?:webOS|i(?:OS|P))/.test(e) ? e : capitalize(e);\n }\n function forOwn(e, i) {\n for(var t in e){\n if (p.call(e, t)) {\n i(e[t], t, e);\n }\n }\n }\n function getClassOf(e) {\n return e == null ? capitalize(e) : u.call(e).slice(8, -1);\n }\n function isHostType(e, i) {\n var t = e != null ? typeof e[i] : \"number\";\n return !/^(?:boolean|number|string|undefined)$/.test(t) && (t == \"object\" ? !!e[i] : true);\n }\n function qualify(e) {\n return String(e).replace(/([ -])(?!$)/g, \"$1?\");\n }\n function reduce(e, i) {\n var t = null;\n each(e, function(r, a) {\n t = i(t, r, a, e);\n });\n return t;\n }\n function trim(e) {\n return String(e).replace(/^ +| +$/g, \"\");\n }\n function parse(e) {\n var i = r;\n var t = e && typeof e == \"object\" && getClassOf(e) != \"String\";\n if (t) {\n i = e;\n e = null;\n }\n var n = i.navigator || {};\n var o = n.userAgent || \"\";\n e || (e = o);\n var l = t || b == a;\n var s = t ? !!n.likeChrome : /\\bChrome\\b/.test(e) && !/internal|\\n/i.test(u.toString());\n var c = \"Object\", p = t ? c : \"ScriptBridgingProxyObject\", d = t ? c : \"Environment\", S = t && i.java ? \"JavaPackage\" : getClassOf(i.java), x = t ? c : \"RuntimeObject\";\n var m = /\\bJava/.test(S) && i.java;\n var g = m && getClassOf(i.environment) == d;\n var h = m ? \"a\" : \"α\";\n var v = m ? \"b\" : \"β\";\n var O = i.document || {};\n var y = i.operamini || i.opera;\n var w = f.test(w = t && y ? y[\"[[Class]]\"] : getClassOf(y)) ? w : y = null;\n var M;\n var E = e;\n var P = [];\n var C = null;\n var k = e == o;\n var B = k && y && typeof y.version == \"function\" && y.version();\n var W;\n var _ = getLayout([\n {\n label: \"EdgeHTML\",\n pattern: \"Edge\"\n },\n \"Trident\",\n {\n label: \"WebKit\",\n pattern: \"AppleWebKit\"\n },\n \"iCab\",\n \"Presto\",\n \"NetFront\",\n \"Tasman\",\n \"KHTML\",\n \"Gecko\"\n ]);\n var R = getName([\n \"Adobe AIR\",\n \"Arora\",\n \"Avant Browser\",\n \"Breach\",\n \"Camino\",\n \"Electron\",\n \"Epiphany\",\n \"Fennec\",\n \"Flock\",\n \"Galeon\",\n \"GreenBrowser\",\n \"iCab\",\n \"Iceweasel\",\n \"K-Meleon\",\n \"Konqueror\",\n \"Lunascape\",\n \"Maxthon\",\n {\n label: \"Microsoft Edge\",\n pattern: \"(?:Edge|Edg|EdgA|EdgiOS)\"\n },\n \"Midori\",\n \"Nook Browser\",\n \"PaleMoon\",\n \"PhantomJS\",\n \"Raven\",\n \"Rekonq\",\n \"RockMelt\",\n {\n label: \"Samsung Internet\",\n pattern: \"SamsungBrowser\"\n },\n \"SeaMonkey\",\n {\n label: \"Silk\",\n pattern: \"(?:Cloud9|Silk-Accelerated)\"\n },\n \"Sleipnir\",\n \"SlimBrowser\",\n {\n label: \"SRWare Iron\",\n pattern: \"Iron\"\n },\n \"Sunrise\",\n \"Swiftfox\",\n \"Vivaldi\",\n \"Waterfox\",\n \"WebPositive\",\n {\n label: \"Yandex Browser\",\n pattern: \"YaBrowser\"\n },\n {\n label: \"UC Browser\",\n pattern: \"UCBrowser\"\n },\n \"Opera Mini\",\n {\n label: \"Opera Mini\",\n pattern: \"OPiOS\"\n },\n \"Opera\",\n {\n label: \"Opera\",\n pattern: \"OPR\"\n },\n \"Chromium\",\n \"Chrome\",\n {\n label: \"Chrome\",\n pattern: \"(?:HeadlessChrome)\"\n },\n {\n label: \"Chrome Mobile\",\n pattern: \"(?:CriOS|CrMo)\"\n },\n {\n label: \"Firefox\",\n pattern: \"(?:Firefox|Minefield)\"\n },\n {\n label: \"Firefox for iOS\",\n pattern: \"FxiOS\"\n },\n {\n label: \"IE\",\n pattern: \"IEMobile\"\n },\n {\n label: \"IE\",\n pattern: \"MSIE\"\n },\n \"Safari\"\n ]);\n var A = getProduct([\n {\n label: \"BlackBerry\",\n pattern: \"BB10\"\n },\n \"BlackBerry\",\n {\n label: \"Galaxy S\",\n pattern: \"GT-I9000\"\n },\n {\n label: \"Galaxy S2\",\n pattern: \"GT-I9100\"\n },\n {\n label: \"Galaxy S3\",\n pattern: \"GT-I9300\"\n },\n {\n label: \"Galaxy S4\",\n pattern: \"GT-I9500\"\n },\n {\n label: \"Galaxy S5\",\n pattern: \"SM-G900\"\n },\n {\n label: \"Galaxy S6\",\n pattern: \"SM-G920\"\n },\n {\n label: \"Galaxy S6 Edge\",\n pattern: \"SM-G925\"\n },\n {\n label: \"Galaxy S7\",\n pattern: \"SM-G930\"\n },\n {\n label: \"Galaxy S7 Edge\",\n pattern: \"SM-G935\"\n },\n \"Google TV\",\n \"Lumia\",\n \"iPad\",\n \"iPod\",\n \"iPhone\",\n \"Kindle\",\n {\n label: \"Kindle Fire\",\n pattern: \"(?:Cloud9|Silk-Accelerated)\"\n },\n \"Nexus\",\n \"Nook\",\n \"PlayBook\",\n \"PlayStation Vita\",\n \"PlayStation\",\n \"TouchPad\",\n \"Transformer\",\n {\n label: \"Wii U\",\n pattern: \"WiiU\"\n },\n \"Wii\",\n \"Xbox One\",\n {\n label: \"Xbox 360\",\n pattern: \"Xbox\"\n },\n \"Xoom\"\n ]);\n var I = getManufacturer({\n Apple: {\n iPad: 1,\n iPhone: 1,\n iPod: 1\n },\n Alcatel: {},\n Archos: {},\n Amazon: {\n Kindle: 1,\n \"Kindle Fire\": 1\n },\n Asus: {\n Transformer: 1\n },\n \"Barnes & Noble\": {\n Nook: 1\n },\n BlackBerry: {\n PlayBook: 1\n },\n Google: {\n \"Google TV\": 1,\n Nexus: 1\n },\n HP: {\n TouchPad: 1\n },\n HTC: {},\n Huawei: {},\n Lenovo: {},\n LG: {},\n Microsoft: {\n Xbox: 1,\n \"Xbox One\": 1\n },\n Motorola: {\n Xoom: 1\n },\n Nintendo: {\n \"Wii U\": 1,\n Wii: 1\n },\n Nokia: {\n Lumia: 1\n },\n Oppo: {},\n Samsung: {\n \"Galaxy S\": 1,\n \"Galaxy S2\": 1,\n \"Galaxy S3\": 1,\n \"Galaxy S4\": 1\n },\n Sony: {\n PlayStation: 1,\n \"PlayStation Vita\": 1\n },\n Xiaomi: {\n Mi: 1,\n Redmi: 1\n }\n });\n var T = getOS([\n \"Windows Phone\",\n \"KaiOS\",\n \"Android\",\n \"CentOS\",\n {\n label: \"Chrome OS\",\n pattern: \"CrOS\"\n },\n \"Debian\",\n {\n label: \"DragonFly BSD\",\n pattern: \"DragonFly\"\n },\n \"Fedora\",\n \"FreeBSD\",\n \"Gentoo\",\n \"Haiku\",\n \"Kubuntu\",\n \"Linux Mint\",\n \"OpenBSD\",\n \"Red Hat\",\n \"SuSE\",\n \"Ubuntu\",\n \"Xubuntu\",\n \"Cygwin\",\n \"Symbian OS\",\n \"hpwOS\",\n \"webOS \",\n \"webOS\",\n \"Tablet OS\",\n \"Tizen\",\n \"Linux\",\n \"Mac OS X\",\n \"Macintosh\",\n \"Mac\",\n \"Windows 98;\",\n \"Windows \"\n ]);\n function getLayout(i) {\n return reduce(i, function(i, t) {\n return i || RegExp(\"\\\\b\" + (t.pattern || qualify(t)) + \"\\\\b\", \"i\").exec(e) && (t.label || t);\n });\n }\n function getManufacturer(i) {\n return reduce(i, function(i, t, r) {\n return i || (t[A] || t[/^[a-z]+(?: +[a-z]+\\b)*/i.exec(A)] || RegExp(\"\\\\b\" + qualify(r) + \"(?:\\\\b|\\\\w*\\\\d)\", \"i\").exec(e)) && r;\n });\n }\n function getName(i) {\n return reduce(i, function(i, t) {\n return i || RegExp(\"\\\\b\" + (t.pattern || qualify(t)) + \"\\\\b\", \"i\").exec(e) && (t.label || t);\n });\n }\n function getOS(i) {\n return reduce(i, function(i, t) {\n var r = t.pattern || qualify(t);\n if (!i && (i = RegExp(\"\\\\b\" + r + \"(?:/[\\\\d.]+|[ \\\\w.]*)\", \"i\").exec(e))) {\n i = cleanupOS(i, r, t.label || t);\n }\n return i;\n });\n }\n function getProduct(i) {\n return reduce(i, function(i, t) {\n var r = t.pattern || qualify(t);\n if (!i && (i = RegExp(\"\\\\b\" + r + \" *\\\\d+[.\\\\w_]*\", \"i\").exec(e) || RegExp(\"\\\\b\" + r + \" *\\\\w+-[\\\\w]*\", \"i\").exec(e) || RegExp(\"\\\\b\" + r + \"(?:; *(?:[a-z]+[_-])?[a-z]+\\\\d+|[^ ();-]*)\", \"i\").exec(e))) {\n if ((i = String(t.label && !RegExp(r, \"i\").test(t.label) ? t.label : i).split(\"/\"))[1] && !/[\\d.]+/.test(i[0])) {\n i[0] += \" \" + i[1];\n }\n t = t.label || t;\n i = format(i[0].replace(RegExp(r, \"i\"), t).replace(RegExp(\"; *(?:\" + t + \"[_-])?\", \"i\"), \" \").replace(RegExp(\"(\" + t + \")[-_.]?(\\\\w)\", \"i\"), \"$1 $2\"));\n }\n return i;\n });\n }\n function getVersion(i) {\n return reduce(i, function(i, t) {\n return i || (RegExp(t + \"(?:-[\\\\d.]+/|(?: for [\\\\w-]+)?[ /-])([\\\\d.]+[^ ();/_-]*)\", \"i\").exec(e) || 0)[1] || null;\n });\n }\n function toStringPlatform() {\n return this.description || \"\";\n }\n _ && (_ = [\n _\n ]);\n if (/\\bAndroid\\b/.test(T) && !A && (M = /\\bAndroid[^;]*;(.*?)(?:Build|\\) AppleWebKit)\\b/i.exec(e))) {\n A = trim(M[1]).replace(/^[a-z]{2}-[a-z]{2};\\s*/i, \"\") || null;\n }\n if (I && !A) {\n A = getProduct([\n I\n ]);\n } else if (I && A) {\n A = A.replace(RegExp(\"^(\" + qualify(I) + \")[-_.\\\\s]\", \"i\"), I + \" \").replace(RegExp(\"^(\" + qualify(I) + \")[-_.]?(\\\\w)\", \"i\"), I + \" $2\");\n }\n if (M = /\\bGoogle TV\\b/.exec(A)) {\n A = M[0];\n }\n if (/\\bSimulator\\b/i.test(e)) {\n A = (A ? A + \" \" : \"\") + \"Simulator\";\n }\n if (R == \"Opera Mini\" && /\\bOPiOS\\b/.test(e)) {\n P.push(\"running in Turbo/Uncompressed mode\");\n }\n if (R == \"IE\" && /\\blike iPhone OS\\b/.test(e)) {\n M = parse(e.replace(/like iPhone OS/, \"\"));\n I = M.manufacturer;\n A = M.product;\n } else if (/^iP/.test(A)) {\n R || (R = \"Safari\");\n T = \"iOS\" + ((M = / OS ([\\d_]+)/i.exec(e)) ? \" \" + M[1].replace(/_/g, \".\") : \"\");\n } else if (R == \"Konqueror\" && /^Linux\\b/i.test(T)) {\n T = \"Kubuntu\";\n } else if (I && I != \"Google\" && (/Chrome/.test(R) && !/\\bMobile Safari\\b/i.test(e) || /\\bVita\\b/.test(A)) || /\\bAndroid\\b/.test(T) && /^Chrome/.test(R) && /\\bVersion\\//i.test(e)) {\n R = \"Android Browser\";\n T = /\\bAndroid\\b/.test(T) ? T : \"Android\";\n } else if (R == \"Silk\") {\n if (!/\\bMobi/i.test(e)) {\n T = \"Android\";\n P.unshift(\"desktop mode\");\n }\n if (/Accelerated *= *true/i.test(e)) {\n P.unshift(\"accelerated\");\n }\n } else if (R == \"UC Browser\" && /\\bUCWEB\\b/.test(e)) {\n P.push(\"speed mode\");\n } else if (R == \"PaleMoon\" && (M = /\\bFirefox\\/([\\d.]+)\\b/.exec(e))) {\n P.push(\"identifying as Firefox \" + M[1]);\n } else if (R == \"Firefox\" && (M = /\\b(Mobile|Tablet|TV)\\b/i.exec(e))) {\n T || (T = \"Firefox OS\");\n A || (A = M[1]);\n } else if (!R || (M = !/\\bMinefield\\b/i.test(e) && /\\b(?:Firefox|Safari)\\b/.exec(R))) {\n if (R && !A && /[\\/,]|^[^(]+?\\)/.test(e.slice(e.indexOf(M + \"/\") + 8))) {\n R = null;\n }\n if ((M = A || I || T) && (A || I || /\\b(?:Android|Symbian OS|Tablet OS|webOS)\\b/.test(T))) {\n R = /[a-z]+(?: Hat)?/i.exec(/\\bAndroid\\b/.test(T) ? T : M) + \" Browser\";\n }\n } else if (R == \"Electron\" && (M = (/\\bChrome\\/([\\d.]+)\\b/.exec(e) || 0)[1])) {\n P.push(\"Chromium \" + M);\n }\n if (!B) {\n B = getVersion([\n \"(?:Cloud9|CriOS|CrMo|Edge|Edg|EdgA|EdgiOS|FxiOS|HeadlessChrome|IEMobile|Iron|Opera ?Mini|OPiOS|OPR|Raven|SamsungBrowser|Silk(?!/[\\\\d.]+$)|UCBrowser|YaBrowser)\",\n \"Version\",\n qualify(R),\n \"(?:Firefox|Minefield|NetFront)\"\n ]);\n }\n if (M = _ == \"iCab\" && parseFloat(B) > 3 && \"WebKit\" || /\\bOpera\\b/.test(R) && (/\\bOPR\\b/.test(e) ? \"Blink\" : \"Presto\") || /\\b(?:Midori|Nook|Safari)\\b/i.test(e) && !/^(?:Trident|EdgeHTML)$/.test(_) && \"WebKit\" || !_ && /\\bMSIE\\b/i.test(e) && (T == \"Mac OS\" ? \"Tasman\" : \"Trident\") || _ == \"WebKit\" && /\\bPlayStation\\b(?! Vita\\b)/i.test(R) && \"NetFront\") {\n _ = [\n M\n ];\n }\n if (R == \"IE\" && (M = (/; *(?:XBLWP|ZuneWP)(\\d+)/i.exec(e) || 0)[1])) {\n R += \" Mobile\";\n T = \"Windows Phone \" + (/\\+$/.test(M) ? M : M + \".x\");\n P.unshift(\"desktop mode\");\n } else if (/\\bWPDesktop\\b/i.test(e)) {\n R = \"IE Mobile\";\n T = \"Windows Phone 8.x\";\n P.unshift(\"desktop mode\");\n B || (B = (/\\brv:([\\d.]+)/.exec(e) || 0)[1]);\n } else if (R != \"IE\" && _ == \"Trident\" && (M = /\\brv:([\\d.]+)/.exec(e))) {\n if (R) {\n P.push(\"identifying as \" + R + (B ? \" \" + B : \"\"));\n }\n R = \"IE\";\n B = M[1];\n }\n if (k) {\n if (isHostType(i, \"global\")) {\n if (m) {\n M = m.lang.System;\n E = M.getProperty(\"os.arch\");\n T = T || M.getProperty(\"os.name\") + \" \" + M.getProperty(\"os.version\");\n }\n if (g) {\n try {\n B = i.require(\"ringo/engine\").version.join(\".\");\n R = \"RingoJS\";\n } catch (e) {\n if ((M = i.system) && M.global.system == i.system) {\n R = \"Narwhal\";\n T || (T = M[0].os || null);\n }\n }\n if (!R) {\n R = \"Rhino\";\n }\n } else if (typeof i.process == \"object\" && !i.process.browser && (M = i.process)) {\n if (typeof M.versions == \"object\") {\n if (typeof M.versions.electron == \"string\") {\n P.push(\"Node \" + M.versions.node);\n R = \"Electron\";\n B = M.versions.electron;\n } else if (typeof M.versions.nw == \"string\") {\n P.push(\"Chromium \" + B, \"Node \" + M.versions.node);\n R = \"NW.js\";\n B = M.versions.nw;\n }\n }\n if (!R) {\n R = \"Node.js\";\n E = M.arch;\n T = M.platform;\n B = /[\\d.]+/.exec(M.version);\n B = B ? B[0] : null;\n }\n }\n } else if (getClassOf(M = i.runtime) == p) {\n R = \"Adobe AIR\";\n T = M.flash.system.Capabilities.os;\n } else if (getClassOf(M = i.phantom) == x) {\n R = \"PhantomJS\";\n B = (M = M.version || null) && M.major + \".\" + M.minor + \".\" + M.patch;\n } else if (typeof O.documentMode == \"number\" && (M = /\\bTrident\\/(\\d+)/i.exec(e))) {\n B = [\n B,\n O.documentMode\n ];\n if ((M = +M[1] + 4) != B[1]) {\n P.push(\"IE \" + B[1] + \" mode\");\n _ && (_[1] = \"\");\n B[1] = M;\n }\n B = R == \"IE\" ? String(B[1].toFixed(1)) : B[0];\n } else if (typeof O.documentMode == \"number\" && /^(?:Chrome|Firefox)\\b/.test(R)) {\n P.push(\"masking as \" + R + \" \" + B);\n R = \"IE\";\n B = \"11.0\";\n _ = [\n \"Trident\"\n ];\n T = \"Windows\";\n }\n T = T && format(T);\n }\n if (B && (M = /(?:[ab]|dp|pre|[ab]\\d+pre)(?:\\d+\\+?)?$/i.exec(B) || /(?:alpha|beta)(?: ?\\d)?/i.exec(e + \";\" + (k && n.appMinorVersion)) || /\\bMinefield\\b/i.test(e) && \"a\")) {\n C = /b/i.test(M) ? \"beta\" : \"alpha\";\n B = B.replace(RegExp(M + \"\\\\+?$\"), \"\") + (C == \"beta\" ? v : h) + (/\\d+\\+?/.exec(M) || \"\");\n }\n if (R == \"Fennec\" || R == \"Firefox\" && /\\b(?:Android|Firefox OS|KaiOS)\\b/.test(T)) {\n R = \"Firefox Mobile\";\n } else if (R == \"Maxthon\" && B) {\n B = B.replace(/\\.[\\d.]+/, \".x\");\n } else if (/\\bXbox\\b/i.test(A)) {\n if (A == \"Xbox 360\") {\n T = null;\n }\n if (A == \"Xbox 360\" && /\\bIEMobile\\b/.test(e)) {\n P.unshift(\"mobile mode\");\n }\n } else if ((/^(?:Chrome|IE|Opera)$/.test(R) || R && !A && !/Browser|Mobi/.test(R)) && (T == \"Windows CE\" || /Mobi/i.test(e))) {\n R += \" Mobile\";\n } else if (R == \"IE\" && k) {\n try {\n if (i.external === null) {\n P.unshift(\"platform preview\");\n }\n } catch (e) {\n P.unshift(\"embedded\");\n }\n } else if ((/\\bBlackBerry\\b/.test(A) || /\\bBB10\\b/.test(e)) && (M = (RegExp(A.replace(/ +/g, \" *\") + \"/([.\\\\d]+)\", \"i\").exec(e) || 0)[1] || B)) {\n M = [\n M,\n /BB10/.test(e)\n ];\n T = (M[1] ? (A = null, I = \"BlackBerry\") : \"Device Software\") + \" \" + M[0];\n B = null;\n } else if (this != forOwn && A != \"Wii\" && (k && y || /Opera/.test(R) && /\\b(?:MSIE|Firefox)\\b/i.test(e) || R == \"Firefox\" && /\\bOS X (?:\\d+\\.){2,}/.test(T) || R == \"IE\" && (T && !/^Win/.test(T) && B > 5.5 || /\\bWindows XP\\b/.test(T) && B > 8 || B == 8 && !/\\bTrident\\b/.test(e))) && !f.test(M = parse.call(forOwn, e.replace(f, \"\") + \";\")) && M.name) {\n M = \"ing as \" + M.name + ((M = M.version) ? \" \" + M : \"\");\n if (f.test(R)) {\n if (/\\bIE\\b/.test(M) && T == \"Mac OS\") {\n T = null;\n }\n M = \"identify\" + M;\n } else {\n M = \"mask\" + M;\n if (w) {\n R = format(w.replace(/([a-z])([A-Z])/g, \"$1 $2\"));\n } else {\n R = \"Opera\";\n }\n if (/\\bIE\\b/.test(M)) {\n T = null;\n }\n if (!k) {\n B = null;\n }\n }\n _ = [\n \"Presto\"\n ];\n P.push(M);\n }\n if (M = (/\\bAppleWebKit\\/([\\d.]+\\+?)/i.exec(e) || 0)[1]) {\n M = [\n parseFloat(M.replace(/\\.(\\d)$/, \".0$1\")),\n M\n ];\n if (R == \"Safari\" && M[1].slice(-1) == \"+\") {\n R = \"WebKit Nightly\";\n C = \"alpha\";\n B = M[1].slice(0, -1);\n } else if (B == M[1] || B == (M[2] = (/\\bSafari\\/([\\d.]+\\+?)/i.exec(e) || 0)[1])) {\n B = null;\n }\n M[1] = (/\\b(?:Headless)?Chrome\\/([\\d.]+)/i.exec(e) || 0)[1];\n if (M[0] == 537.36 && M[2] == 537.36 && parseFloat(M[1]) >= 28 && _ == \"WebKit\") {\n _ = [\n \"Blink\"\n ];\n }\n if (!k || !s && !M[1]) {\n _ && (_[1] = \"like Safari\");\n M = (M = M[0], M < 400 ? 1 : M < 500 ? 2 : M < 526 ? 3 : M < 533 ? 4 : M < 534 ? \"4+\" : M < 535 ? 5 : M < 537 ? 6 : M < 538 ? 7 : M < 601 ? 8 : M < 602 ? 9 : M < 604 ? 10 : M < 606 ? 11 : M < 608 ? 12 : \"12\");\n } else {\n _ && (_[1] = \"like Chrome\");\n M = M[1] || (M = M[0], M < 530 ? 1 : M < 532 ? 2 : M < 532.05 ? 3 : M < 533 ? 4 : M < 534.03 ? 5 : M < 534.07 ? 6 : M < 534.1 ? 7 : M < 534.13 ? 8 : M < 534.16 ? 9 : M < 534.24 ? 10 : M < 534.3 ? 11 : M < 535.01 ? 12 : M < 535.02 ? \"13+\" : M < 535.07 ? 15 : M < 535.11 ? 16 : M < 535.19 ? 17 : M < 536.05 ? 18 : M < 536.1 ? 19 : M < 537.01 ? 20 : M < 537.11 ? \"21+\" : M < 537.13 ? 23 : M < 537.18 ? 24 : M < 537.24 ? 25 : M < 537.36 ? 26 : _ != \"Blink\" ? \"27\" : \"28\");\n }\n _ && (_[1] += \" \" + (M += typeof M == \"number\" ? \".x\" : /[.+]/.test(M) ? \"\" : \"+\"));\n if (R == \"Safari\" && (!B || parseInt(B) > 45)) {\n B = M;\n } else if (R == \"Chrome\" && /\\bHeadlessChrome/i.test(e)) {\n P.unshift(\"headless\");\n }\n }\n if (R == \"Opera\" && (M = /\\bzbov|zvav$/.exec(T))) {\n R += \" \";\n P.unshift(\"desktop mode\");\n if (M == \"zvav\") {\n R += \"Mini\";\n B = null;\n } else {\n R += \"Mobile\";\n }\n T = T.replace(RegExp(\" *\" + M + \"$\"), \"\");\n } else if (R == \"Safari\" && /\\bChrome\\b/.exec(_ && _[1])) {\n P.unshift(\"desktop mode\");\n R = \"Chrome Mobile\";\n B = null;\n if (/\\bOS X\\b/.test(T)) {\n I = \"Apple\";\n T = \"iOS 4.3+\";\n } else {\n T = null;\n }\n } else if (/\\bSRWare Iron\\b/.test(R) && !B) {\n B = getVersion(\"Chrome\");\n }\n if (B && B.indexOf(M = /[\\d.]+$/.exec(T)) == 0 && e.indexOf(\"/\" + M + \"-\") > -1) {\n T = trim(T.replace(M, \"\"));\n }\n if (T && T.indexOf(R) != -1 && !RegExp(R + \" OS\").test(T)) {\n T = T.replace(RegExp(\" *\" + qualify(R) + \" *\"), \"\");\n }\n if (_ && !/\\b(?:Avant|Nook)\\b/.test(R) && (/Browser|Lunascape|Maxthon/.test(R) || R != \"Safari\" && /^iOS/.test(T) && /\\bSafari\\b/.test(_[1]) || /^(?:Adobe|Arora|Breach|Midori|Opera|Phantom|Rekonq|Rock|Samsung Internet|Sleipnir|SRWare Iron|Vivaldi|Web)/.test(R) && _[1])) {\n (M = _[_.length - 1]) && P.push(M);\n }\n if (P.length) {\n P = [\n \"(\" + P.join(\"; \") + \")\"\n ];\n }\n if (I && A && A.indexOf(I) < 0) {\n P.push(\"on \" + I);\n }\n if (A) {\n P.push((/^on /.test(P[P.length - 1]) ? \"\" : \"on \") + A);\n }\n if (T) {\n M = / ([\\d.+]+)$/.exec(T);\n W = M && T.charAt(T.length - M[0].length - 1) == \"/\";\n T = {\n architecture: 32,\n family: M && !W ? T.replace(M[0], \"\") : T,\n version: M ? M[1] : null,\n toString: function() {\n var e = this.version;\n return this.family + (e && !W ? \" \" + e : \"\") + (this.architecture == 64 ? \" 64-bit\" : \"\");\n }\n };\n }\n if ((M = /\\b(?:AMD|IA|Win|WOW|x86_|x)64\\b/i.exec(E)) && !/\\bi686\\b/i.test(E)) {\n if (T) {\n T.architecture = 64;\n T.family = T.family.replace(RegExp(\" *\" + M), \"\");\n }\n if (R && (/\\bWOW64\\b/i.test(e) || k && /\\w(?:86|32)$/.test(n.cpuClass || n.platform) && !/\\bWin64; x64\\b/i.test(e))) {\n P.unshift(\"32-bit\");\n }\n } else if (T && /^OS X/.test(T.family) && R == \"Chrome\" && parseFloat(B) >= 39) {\n T.architecture = 64;\n }\n e || (e = null);\n var F = {};\n F.description = e;\n F.layout = _ && _[0];\n F.manufacturer = I;\n F.name = R;\n F.prerelease = C;\n F.product = A;\n F.ua = e;\n F.version = R && B;\n F.os = T || {\n architecture: null,\n family: null,\n version: null,\n toString: function() {\n return \"null\";\n }\n };\n F.parse = parse;\n F.toString = toStringPlatform;\n if (F.version) {\n P.unshift(B);\n }\n if (F.name) {\n P.unshift(R);\n }\n if (T && R && !(T == String(T).split(\" \")[0] && (T == R.split(\" \")[0] || A))) {\n P.push(A ? \"(\" + T + \")\" : \"on \" + T);\n }\n if (P.length) {\n F.description = P.join(\" \");\n }\n return F;\n }\n var d = parse();\n if (n && o) {\n forOwn(d, function(e, i) {\n n[i] = e;\n });\n } else {\n r.platform = d;\n }\n }).call(this);\n }\n };\n var i = {};\n function __nccwpck_require__(t) {\n var r = i[t];\n if (r !== undefined) {\n return r.exports;\n }\n var a = i[t] = {\n id: t,\n loaded: false,\n exports: {}\n };\n var n = true;\n try {\n e[t].call(a.exports, a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete i[t];\n }\n a.loaded = true;\n return a.exports;\n }\n (()=>{\n __nccwpck_require__.nmd = (e)=>{\n e.paths = [];\n if (!e.children) e.children = [];\n return e;\n };\n })();\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var t = __nccwpck_require__(541);\n module.exports = t;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BsYXRmb3JtL3BsYXRmb3JtLmpzIiwibWFwcGluZ3MiOiI7QUFBQztJQUFLLElBQUlBLElBQUU7UUFBQyxLQUFJLFNBQVNBLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDO1lBQUVGLElBQUVFLEVBQUVDLEdBQUcsQ0FBQ0g7WUFDekM7Ozs7O0NBS0MsR0FBRztnQkFBVztnQkFBYSxJQUFJRSxJQUFFO29CQUFDRSxVQUFTO29CQUFLQyxRQUFPO2dCQUFJO2dCQUFFLElBQUlDLElBQUVKLENBQUMsQ0FBQyxZQUFjLElBQUVLLFVBQVEsSUFBSTtnQkFBQyxJQUFJQyxJQUFFRjtnQkFBRSxJQUFJRyxJQUFFUCxDQUFDLENBQUMsT0FBT0QsRUFBRSxJQUFFQTtnQkFBRSxJQUFJUyxJQUFFUixDQUFDLENBQUMsU0FBUyxJQUFFRixLQUFHLENBQUNBLEVBQUVXLFFBQVEsSUFBRVg7Z0JBQUUsSUFBSVksSUFBRUgsS0FBR0MsS0FBRyxPQUFPRyxVQUFRLFlBQVVBO2dCQUFPLElBQUdELEtBQUlBLENBQUFBLEVBQUVDLE1BQU0sS0FBR0QsS0FBR0EsRUFBRUwsTUFBTSxLQUFHSyxLQUFHQSxFQUFFRSxJQUFJLEtBQUdGLENBQUFBLEdBQUc7b0JBQUNOLElBQUVNO2dCQUFDO2dCQUFDLElBQUlHLElBQUVDLEtBQUtDLEdBQUcsQ0FBQyxHQUFFLE1BQUk7Z0JBQUUsSUFBSUMsSUFBRTtnQkFBVSxJQUFJQyxJQUFFLElBQUk7Z0JBQUMsSUFBSUMsSUFBRUMsT0FBT0MsU0FBUztnQkFBQyxJQUFJQyxJQUFFSCxFQUFFSSxjQUFjO2dCQUFDLElBQUlDLElBQUVMLEVBQUVNLFFBQVE7Z0JBQUMsU0FBU0MsV0FBVzNCLENBQUM7b0JBQUVBLElBQUU0QixPQUFPNUI7b0JBQUcsT0FBT0EsRUFBRTZCLE1BQU0sQ0FBQyxHQUFHQyxXQUFXLEtBQUc5QixFQUFFK0IsS0FBSyxDQUFDO2dCQUFFO2dCQUFDLFNBQVND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QUM7UUFBRSxJQUFJaEssSUFBRTtRQUFLLElBQUc7WUFBQ1QsQ0FBQyxDQUFDRSxFQUFFLENBQUN5QyxJQUFJLENBQUNuQyxFQUFFaUssT0FBTyxFQUFDakssR0FBRUEsRUFBRWlLLE9BQU8sRUFBQ0Y7WUFBcUI5SixJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1IsQ0FBQyxDQUFDQyxFQUFFO1FBQUE7UUFBQ00sRUFBRW1LLE1BQU0sR0FBQztRQUFLLE9BQU9uSyxFQUFFaUssT0FBTztJQUFBO0lBQUU7UUFBS0Ysb0JBQW9CcEssR0FBRyxHQUFDSCxDQUFBQTtZQUFJQSxFQUFFNEssS0FBSyxHQUFDLEVBQUU7WUFBQyxJQUFHLENBQUM1SyxFQUFFNkssUUFBUSxFQUFDN0ssRUFBRTZLLFFBQVEsR0FBQyxFQUFFO1lBQUMsT0FBTzdLO1FBQUM7SUFBQztJQUFLLElBQUcsT0FBT3VLLHdCQUFzQixhQUFZQSxvQkFBb0JPLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUk3SyxJQUFFcUssb0JBQW9CO0lBQUtTLE9BQU9QLE9BQU8sR0FBQ3ZLO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9wbGF0Zm9ybS9wbGF0Zm9ybS5qcz9lYWZmIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e3ZhciBlPXs1NDE6ZnVuY3Rpb24oZSxpLHQpe2U9dC5ubWQoZSk7XG4vKiFcbiAqIFBsYXRmb3JtLmpzIHYxLjMuNlxuICogQ29weXJpZ2h0IDIwMTQtMjAyMCBCZW5qYW1pbiBUYW5cbiAqIENvcHlyaWdodCAyMDExLTIwMTMgSm9obi1EYXZpZCBEYWx0b25cbiAqIEF2YWlsYWJsZSB1bmRlciBNSVQgbGljZW5zZVxuICovKGZ1bmN0aW9uKCl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHQ9e2Z1bmN0aW9uOnRydWUsb2JqZWN0OnRydWV9O3ZhciByPXRbdHlwZW9mIHdpbmRvd10mJndpbmRvd3x8dGhpczt2YXIgYT1yO3ZhciBuPXRbdHlwZW9mIGldJiZpO3ZhciBvPXRbXCJvYmplY3RcIl0mJmUmJiFlLm5vZGVUeXBlJiZlO3ZhciBsPW4mJm8mJnR5cGVvZiBnbG9iYWw9PVwib2JqZWN0XCImJmdsb2JhbDtpZihsJiYobC5nbG9iYWw9PT1sfHxsLndpbmRvdz09PWx8fGwuc2VsZj09PWwpKXtyPWx9dmFyIHM9TWF0aC5wb3coMiw1MyktMTt2YXIgZj0vXFxiT3BlcmEvO3ZhciBiPXRoaXM7dmFyIGM9T2JqZWN0LnByb3RvdHlwZTt2YXIgcD1jLmhhc093blByb3BlcnR5O3ZhciB1PWMudG9TdHJpbmc7ZnVuY3Rpb24gY2FwaXRhbGl6ZShlKXtlPVN0cmluZyhlKTtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpfWZ1bmN0aW9uIGNsZWFudXBPUyhlLGksdCl7dmFyIHI9e1wiMTAuMFwiOlwiMTBcIiw2LjQ6XCIxMCBUZWNobmljYWwgUHJldmlld1wiLDYuMzpcIjguMVwiLDYuMjpcIjhcIiw2LjE6XCJTZXJ2ZXIgMjAwOCBSMiAvIDdcIixcIjYuMFwiOlwiU2VydmVyIDIwMDggLyBWaXN0YVwiLDUuMjpcIlNlcnZlciAyMDAzIC8gWFAgNjQtYml0XCIsNS4xOlwiWFBcIiw1LjAxOlwiMjAwMCBTUDFcIixcIjUuMFwiOlwiMjAwMFwiLFwiNC4wXCI6XCJOVFwiLFwiNC45MFwiOlwiTUVcIn07aWYoaSYmdCYmL15XaW4vaS50ZXN0KGUpJiYhL15XaW5kb3dzIFBob25lIC9pLnRlc3QoZSkmJihyPXJbL1tcXGQuXSskLy5leGVjKGUpXSkpe2U9XCJXaW5kb3dzIFwiK3J9ZT1TdHJpbmcoZSk7aWYoaSYmdCl7ZT1lLnJlcGxhY2UoUmVnRXhwKGksXCJpXCIpLHQpfWU9Zm9ybWF0KGUucmVwbGFjZSgvIGNlJC9pLFwiIENFXCIpLnJlcGxhY2UoL1xcYmhwdy9pLFwid2ViXCIpLnJlcGxhY2UoL1xcYk1hY2ludG9zaFxcYi8sXCJNYWMgT1NcIikucmVwbGFjZSgvX1Bvd2VyUENcXGIvaSxcIiBPU1wiKS5yZXBsYWNlKC9cXGIoT1MgWCkgW14gXFxkXSsvaSxcIiQxXCIpLnJlcGxhY2UoL1xcYk1hYyAoT1MgWClcXGIvLFwiJDFcIikucmVwbGFjZSgvXFwvKFxcZCkvLFwiICQxXCIpLnJlcGxhY2UoL18vZyxcIi5cIikucmVwbGFjZSgvKD86IEJlUEN8WyAuXSpmY1sgXFxkLl0rKSQvaSxcIlwiKS5yZXBsYWNlKC9cXGJ4ODZcXC42NFxcYi9naSxcIng4Nl82NFwiKS5yZXBsYWNlKC9cXGIoV2luZG93cyBQaG9uZSkgT1NcXGIvLFwiJDFcIikucmVwbGFjZSgvXFxiKENocm9tZSBPUyBcXHcrKSBbXFxkLl0rXFxiLyxcIiQxXCIpLnNwbGl0KFwiIG9uIFwiKVswXSk7cmV0dXJuIGV9ZnVuY3Rpb24gZWFjaChlLGkpe3ZhciB0PS0xLHI9ZT9lLmxlbmd0aDowO2lmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPi0xJiZyPD1zKXt3aGlsZSgrK3Q8cil7aShlW3RdLHQsZSl9fWVsc2V7Zm9yT3duKGUsaSl9fWZ1bmN0aW9uIGZvcm1hdChlKXtlPXRyaW0oZSk7cmV0dXJuL14oPzp3ZWJPU3xpKD86T1N8UCkpLy50ZXN0KGUpP2U6Y2FwaXRhbGl6ZShlKX1mdW5jdGlvbiBmb3JPd24oZSxpKXtmb3IodmFyIHQgaW4gZSl7aWYocC5jYWxsKGUsdCkpe2koZVt0XSx0LGUpfX19ZnVuY3Rpb24gZ2V0Q2xhc3NPZihlKXtyZXR1cm4gZT09bnVsbD9jYXBpdGFsaXplKGUpOnUuY2FsbChlKS5zbGljZSg4LC0xKX1mdW5jdGlvbiBpc0hvc3RUeXBlKGUsaSl7dmFyIHQ9ZSE9bnVsbD90eXBlb2YgZVtpXTpcIm51bWJlclwiO3JldHVybiEvXig/OmJvb2xlYW58bnVtYmVyfHN0cmluZ3x1bmRlZmluZWQpJC8udGVzdCh0KSYmKHQ9PVwib2JqZWN0XCI/ISFlW2ldOnRydWUpfWZ1bmN0aW9uIHF1YWxpZnkoZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC8oWyAtXSkoPyEkKS9nLFwiJDE/XCIpfWZ1bmN0aW9uIHJlZHVjZShlLGkpe3ZhciB0PW51bGw7ZWFjaChlLChmdW5jdGlvbihyLGEpe3Q9aSh0LHIsYSxlKX0pKTtyZXR1cm4gdH1mdW5jdGlvbiB0cmltKGUpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvXiArfCArJC9nLFwiXCIpfWZ1bmN0aW9uIHBhcnNlKGUpe3ZhciBpPXI7dmFyIHQ9ZSYmdHlwZW9mIGU9PVwib2JqZWN0XCImJmdldENsYXNzT2YoZSkhPVwiU3RyaW5nXCI7aWYodCl7aT1lO2U9bnVsbH12YXIgbj1pLm5hdmlnYXRvcnx8e307dmFyIG89bi51c2VyQWdlbnR8fFwiXCI7ZXx8KGU9byk7dmFyIGw9dHx8Yj09YTt2YXIgcz10PyEhbi5saWtlQ2hyb21lOi9cXGJDaHJvbWVcXGIvLnRlc3QoZSkmJiEvaW50ZXJuYWx8XFxuL2kudGVzdCh1LnRvU3RyaW5nKCkpO3ZhciBjPVwiT2JqZWN0XCIscD10P2M6XCJTY3JpcHRCcmlkZ2luZ1Byb3h5T2JqZWN0XCIsZD10P2M6XCJFbnZpcm9ubWVudFwiLFM9dCYmaS5qYXZhP1wiSmF2YVBhY2thZ2VcIjpnZXRDbGFzc09mKGkuamF2YSkseD10P2M6XCJSdW50aW1lT2JqZWN0XCI7dmFyIG09L1xcYkphdmEvLnRlc3QoUykmJmkuamF2YTt2YXIgZz1tJiZnZXRDbGFzc09mKGkuZW52aXJvbm1lbnQpPT1kO3ZhciBoPW0/XCJhXCI6XCLOsVwiO3ZhciB2PW0/XCJiXCI6XCLOslwiO3ZhciBPPWkuZG9jdW1lbnR8fHt9O3ZhciB5PWkub3BlcmFtaW5pfHxpLm9wZXJhO3ZhciB3PWYudGVzdCh3PXQmJnk/eVtcIltbQ2xhc3NdXVwiXTpnZXRDbGFzc09mKHkpKT93Onk9bnVsbDt2YXIgTTt2YXIgRT1lO3ZhciBQPVtdO3ZhciBDPW51bGw7dmFyIGs9ZT09bzt2YXIgQj1rJiZ5JiZ0eXBlb2YgeS52ZXJzaW9uPT1cImZ1bmN0aW9uXCImJnkudmVyc2lvbigpO3ZhciBXO3ZhciBfPWdldExheW91dChbe2xhYmVsOlwiRWRnZUhUTUxcIixwYXR0ZXJuOlwiRWRnZVwifSxcIlRyaWRlbnRcIix7bGFiZWw6XCJXZWJLaXRcIixwYXR0ZXJuOlwiQXBwbGVXZWJLaXRcIn0sXCJpQ2FiXCIsXCJQcmVzdG9cIixcIk5ldEZyb250XCIsXCJUYXNtYW5cIixcIktIVE1MXCIsXCJHZWNrb1wiXSk7dmFyIFI9Z2V0TmFtZShbXCJBZG9iZSBBSVJcIixcIkFyb3JhXCIsXCJBdmFudCBCcm93c2VyXCIsXCJCcmVhY2hcIixcIkNhbWlub1wiLFwiRWxlY3Ryb25cIixcIkVwaXBoYW55XCIsXCJGZW5uZWNcIixcIkZsb2NrXCIsXCJHYWxlb25cIixcIkdyZWVuQnJvd3NlclwiLFwiaUNhYlwiLFwiSWNld2Vhc2VsXCIsXCJLLU1lbGVvblwiLFwiS29ucXVlcm9yXCIsXCJMdW5hc2NhcGVcIixcIk1heHRob25cIix7bGFiZWw6XCJNaWNyb3NvZnQgRWRnZVwiLHBhdHRlcm46XCIoPzpFZGdlfEVkZ3xFZGdBfEVkZ2lPUylcIn0sXCJNaWRvcmlcIixcIk5vb2sgQnJvd3NlclwiLFwiUGFsZU1vb25cIixcIlBoYW50b21KU1wiLFwiUmF2ZW5cIixcIlJla29ucVwiLFwiUm9ja01lbHRcIix7bGFiZWw6XCJTYW1zdW5nIEludGVybmV0XCIscGF0dGVybjpcIlNhbXN1bmdCcm93c2VyXCJ9LFwiU2VhTW9ua2V5XCIse2xhYmVsOlwiU2lsa1wiLHBhdHRlcm46XCIoPzpDbG91ZDl8U2lsay1BY2NlbGVyYXRlZClcIn0sXCJTbGVpcG5pclwiLFwiU2xpbUJyb3dzZXJcIix7bGFiZWw6XCJTUldhcmUgSXJvblwiLHBhdHRlcm46XCJJcm9uXCJ9LFwiU3VucmlzZVwiLFwiU3dpZnRmb3hcIixcIlZpdmFsZGlcIixcIldhdGVyZm94XCIsXCJXZWJQb3NpdGl2ZVwiLHtsYWJlbDpcIllhbmRleCBCcm93c2VyXCIscGF0dGVybjpcIllhQnJvd3NlclwifSx7bGFiZWw6XCJVQyBCcm93c2VyXCIscGF0dGVybjpcIlVDQnJvd3NlclwifSxcIk9wZXJhIE1pbmlcIix7bGFiZWw6XCJPcGVyYSBNaW5pXCIscGF0dGVybjpcIk9QaU9TXCJ9LFwiT3BlcmFcIix7bGFiZWw6XCJPcGVyYVwiLHBhdHRlcm46XCJPUFJcIn0sXCJDaHJvbWl1bVwiLFwiQ2hyb21lXCIse2xhYmVsOlwiQ2hyb21lXCIscGF0dGVybjpcIig/OkhlYWRsZXNzQ2hyb21lKVwifSx7bGFiZWw6XCJDaHJvbWUgTW9iaWxlXCIscGF0dGVybjpcIig/OkNyaU9TfENyTW8pXCJ9LHtsYWJlbDpcIkZpcmVmb3hcIixwYXR0ZXJuOlwiKD86RmlyZWZveHxNaW5lZmllbGQpXCJ9LHtsYWJlbDpcIkZpcmVmb3ggZm9yIGlPU1wiLHBhdHRlcm46XCJGeGlPU1wifSx7bGFiZWw6XCJJRVwiLHBhdHRlcm46XCJJRU1vYmlsZVwifSx7bGFiZWw6XCJJRVwiLHBhdHRlcm46XCJNU0lFXCJ9LFwiU2FmYXJpXCJdKTt2YXIgQT1nZXRQcm9kdWN0KFt7bGFiZWw6XCJCbGFja0JlcnJ5XCIscGF0dGVybjpcIkJCMTBcIn0sXCJCbGFja0JlcnJ5XCIse2xhYmVsOlwiR2FsYXh5IFNcIixwYXR0ZXJuOlwiR1QtSTkwMDBcIn0se2xhYmVsOlwiR2FsYXh5IFMyXCIscGF0dGVybjpcIkdULUk5MTAwXCJ9LHtsYWJlbDpcIkdhbGF4eSBTM1wiLHBhdHRlcm46XCJHVC1JOTMwMFwifSx7bGFiZWw6XCJHYWxheHkgUzRcIixwYXR0ZXJuOlwiR1QtSTk1MDBcIn0se2xhYmVsOlwiR2FsYXh5IFM1XCIscGF0dGVybjpcIlNNLUc5MDBcIn0se2xhYmVsOlwiR2FsYXh5IFM2XCIscGF0dGVybjpcIlNNLUc5MjBcIn0se2xhYmVsOlwiR2FsYXh5IFM2IEVkZ2VcIixwYXR0ZXJuOlwiU00tRzkyNVwifSx7bGFiZWw6XCJHYWxheHkgUzdcIixwYXR0ZXJuOlwiU00tRzkzMFwifSx7bGFiZWw6XCJHYWxheHkgUzcgRWRnZVwiLHBhdHRlcm46XCJTTS1HOTM1XCJ9LFwiR29vZ2xlIFRWXCIsXCJMdW1pYVwiLFwiaVBhZFwiLFwiaVBvZFwiLFwiaVBob25lXCIsXCJLaW5kbGVcIix7bGFiZWw6XCJLaW5kbGUgRmlyZVwiLHBhdHRlcm46XCIoPzpDbG91ZDl8U2lsay1BY2NlbGVyYXRlZClcIn0sXCJOZXh1c1wiLFwiTm9va1wiLFwiUGxheUJvb2tcIixcIlBsYXlTdGF0aW9uIFZpdGFcIixcIlBsYXlTdGF0aW9uXCIsXCJUb3VjaFBhZFwiLFwiVHJhbnNmb3JtZXJcIix7bGFiZWw6XCJXaWkgVVwiLHBhdHRlcm46XCJXaWlVXCJ9LFwiV2lpXCIsXCJYYm94IE9uZVwiLHtsYWJlbDpcIlhib3ggMzYwXCIscGF0dGVybjpcIlhib3hcIn0sXCJYb29tXCJdKTt2YXIgST1nZXRNYW51ZmFjdHVyZXIoe0FwcGxlOntpUGFkOjEsaVBob25lOjEsaVBvZDoxfSxBbGNhdGVsOnt9LEFyY2hvczp7fSxBbWF6b246e0tpbmRsZToxLFwiS2luZGxlIEZpcmVcIjoxfSxBc3VzOntUcmFuc2Zvcm1lcjoxfSxcIkJhcm5lcyAmIE5vYmxlXCI6e05vb2s6MX0sQmxhY2tCZXJyeTp7UGxheUJvb2s6MX0sR29vZ2xlOntcIkdvb2dsZSBUVlwiOjEsTmV4dXM6MX0sSFA6e1RvdWNoUGFkOjF9LEhUQzp7fSxIdWF3ZWk6e30sTGVub3ZvOnt9LExHOnt9LE1pY3Jvc29mdDp7WGJveDoxLFwiWGJveCBPbmVcIjoxfSxNb3Rvcm9sYTp7WG9vbToxfSxOaW50ZW5kbzp7XCJXaWkgVVwiOjEsV2lpOjF9LE5va2lhOntMdW1pYToxfSxPcHBvOnt9LFNhbXN1bmc6e1wiR2FsYXh5IFNcIjoxLFwiR2FsYXh5IFMyXCI6MSxcIkdhbGF4eSBTM1wiOjEsXCJHYWxheHkgUzRcIjoxfSxTb255OntQbGF5U3RhdGlvbjoxLFwiUGxheVN0YXRpb24gVml0YVwiOjF9LFhpYW9taTp7TWk6MSxSZWRtaToxfX0pO3ZhciBUPWdldE9TKFtcIldpbmRvd3MgUGhvbmVcIixcIkthaU9TXCIsXCJBbmRyb2lkXCIsXCJDZW50T1NcIix7bGFiZWw6XCJDaHJvbWUgT1NcIixwYXR0ZXJuOlwiQ3JPU1wifSxcIkRlYmlhblwiLHtsYWJlbDpcIkRyYWdvbkZseSBCU0RcIixwYXR0ZXJuOlwiRHJhZ29uRmx5XCJ9LFwiRmVkb3JhXCIsXCJGcmVlQlNEXCIsXCJHZW50b29cIixcIkhhaWt1XCIsXCJLdWJ1bnR1XCIsXCJMaW51eCBNaW50XCIsXCJPcGVuQlNEXCIsXCJSZWQgSGF0XCIsXCJTdVNFXCIsXCJVYnVudHVcIixcIlh1YnVudHVcIixcIkN5Z3dpblwiLFwiU3ltYmlhbiBPU1wiLFwiaHB3T1NcIixcIndlYk9TIFwiLFwid2ViT1NcIixcIlRhYmxldCBPU1wiLFwiVGl6ZW5cIixcIkxpbnV4XCIsXCJNYWMgT1MgWFwiLFwiTWFjaW50b3NoXCIsXCJNYWNcIixcIldpbmRvd3MgOTg7XCIsXCJXaW5kb3dzIFwiXSk7ZnVuY3Rpb24gZ2V0TGF5b3V0KGkpe3JldHVybiByZWR1Y2UoaSwoZnVuY3Rpb24oaSx0KXtyZXR1cm4gaXx8UmVnRXhwKFwiXFxcXGJcIisodC5wYXR0ZXJufHxxdWFsaWZ5KHQpKStcIlxcXFxiXCIsXCJpXCIpLmV4ZWMoZSkmJih0LmxhYmVsfHx0KX0pKX1mdW5jdGlvbiBnZXRNYW51ZmFjdHVyZXIoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQscil7cmV0dXJuIGl8fCh0W0FdfHx0Wy9eW2Etel0rKD86ICtbYS16XStcXGIpKi9pLmV4ZWMoQSldfHxSZWdFeHAoXCJcXFxcYlwiK3F1YWxpZnkocikrXCIoPzpcXFxcYnxcXFxcdypcXFxcZClcIixcImlcIikuZXhlYyhlKSkmJnJ9KSl9ZnVuY3Rpb24gZ2V0TmFtZShpKXtyZXR1cm4gcmVkdWNlKGksKGZ1bmN0aW9uKGksdCl7cmV0dXJuIGl8fFJlZ0V4cChcIlxcXFxiXCIrKHQucGF0dGVybnx8cXVhbGlmeSh0KSkrXCJcXFxcYlwiLFwiaVwiKS5leGVjKGUpJiYodC5sYWJlbHx8dCl9KSl9ZnVuY3Rpb24gZ2V0T1MoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3ZhciByPXQucGF0dGVybnx8cXVhbGlmeSh0KTtpZighaSYmKGk9UmVnRXhwKFwiXFxcXGJcIityK1wiKD86L1tcXFxcZC5dK3xbIFxcXFx3Ll0qKVwiLFwiaVwiKS5leGVjKGUpKSl7aT1jbGVhbnVwT1MoaSxyLHQubGFiZWx8fHQpfXJldHVybiBpfSkpfWZ1bmN0aW9uIGdldFByb2R1Y3QoaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3ZhciByPXQucGF0dGVybnx8cXVhbGlmeSh0KTtpZighaSYmKGk9UmVnRXhwKFwiXFxcXGJcIityK1wiICpcXFxcZCtbLlxcXFx3X10qXCIsXCJpXCIpLmV4ZWMoZSl8fFJlZ0V4cChcIlxcXFxiXCIrcitcIiAqXFxcXHcrLVtcXFxcd10qXCIsXCJpXCIpLmV4ZWMoZSl8fFJlZ0V4cChcIlxcXFxiXCIrcitcIig/OjsgKig/OlthLXpdK1tfLV0pP1thLXpdK1xcXFxkK3xbXiAoKTstXSopXCIsXCJpXCIpLmV4ZWMoZSkpKXtpZigoaT1TdHJpbmcodC5sYWJlbCYmIVJlZ0V4cChyLFwiaVwiKS50ZXN0KHQubGFiZWwpP3QubGFiZWw6aSkuc3BsaXQoXCIvXCIpKVsxXSYmIS9bXFxkLl0rLy50ZXN0KGlbMF0pKXtpWzBdKz1cIiBcIitpWzFdfXQ9dC5sYWJlbHx8dDtpPWZvcm1hdChpWzBdLnJlcGxhY2UoUmVnRXhwKHIsXCJpXCIpLHQpLnJlcGxhY2UoUmVnRXhwKFwiOyAqKD86XCIrdCtcIltfLV0pP1wiLFwiaVwiKSxcIiBcIikucmVwbGFjZShSZWdFeHAoXCIoXCIrdCtcIilbLV8uXT8oXFxcXHcpXCIsXCJpXCIpLFwiJDEgJDJcIikpfXJldHVybiBpfSkpfWZ1bmN0aW9uIGdldFZlcnNpb24oaSl7cmV0dXJuIHJlZHVjZShpLChmdW5jdGlvbihpLHQpe3JldHVybiBpfHwoUmVnRXhwKHQrXCIoPzotW1xcXFxkLl0rL3woPzogZm9yIFtcXFxcdy1dKyk/WyAvLV0pKFtcXFxcZC5dK1teICgpOy9fLV0qKVwiLFwiaVwiKS5leGVjKGUpfHwwKVsxXXx8bnVsbH0pKX1mdW5jdGlvbiB0b1N0cmluZ1BsYXRmb3JtKCl7cmV0dXJuIHRoaXMuZGVzY3JpcHRpb258fFwiXCJ9XyYmKF89W19dKTtpZigvXFxiQW5kcm9pZFxcYi8udGVzdChUKSYmIUEmJihNPS9cXGJBbmRyb2lkW147XSo7KC4qPykoPzpCdWlsZHxcXCkgQXBwbGVXZWJLaXQpXFxiL2kuZXhlYyhlKSkpe0E9dHJpbShNWzFdKS5yZXBsYWNlKC9eW2Etel17Mn0tW2Etel17Mn07XFxzKi9pLFwiXCIpfHxudWxsfWlmKEkmJiFBKXtBPWdldFByb2R1Y3QoW0ldKX1lbHNlIGlmKEkmJkEpe0E9QS5yZXBsYWNlKFJlZ0V4cChcIl4oXCIrcXVhbGlmeShJKStcIilbLV8uXFxcXHNdXCIsXCJpXCIpLEkrXCIgXCIpLnJlcGxhY2UoUmVnRXhwKFwiXihcIitxdWFsaWZ5KEkpK1wiKVstXy5dPyhcXFxcdylcIixcImlcIiksSStcIiAkMlwiKX1pZihNPS9cXGJHb29nbGUgVFZcXGIvLmV4ZWMoQSkpe0E9TVswXX1pZigvXFxiU2ltdWxhdG9yXFxiL2kudGVzdChlKSl7QT0oQT9BK1wiIFwiOlwiXCIpK1wiU2ltdWxhdG9yXCJ9aWYoUj09XCJPcGVyYSBNaW5pXCImJi9cXGJPUGlPU1xcYi8udGVzdChlKSl7UC5wdXNoKFwicnVubmluZyBpbiBUdXJiby9VbmNvbXByZXNzZWQgbW9kZVwiKX1pZihSPT1cIklFXCImJi9cXGJsaWtlIGlQaG9uZSBPU1xcYi8udGVzdChlKSl7TT1wYXJzZShlLnJlcGxhY2UoL2xpa2UgaVBob25lIE9TLyxcIlwiKSk7ST1NLm1hbnVmYWN0dXJlcjtBPU0ucHJvZHVjdH1lbHNlIGlmKC9eaVAvLnRlc3QoQSkpe1J8fChSPVwiU2FmYXJpXCIpO1Q9XCJpT1NcIisoKE09LyBPUyAoW1xcZF9dKykvaS5leGVjKGUpKT9cIiBcIitNWzFdLnJlcGxhY2UoL18vZyxcIi5cIik6XCJcIil9ZWxzZSBpZihSPT1cIktvbnF1ZXJvclwiJiYvXkxpbnV4XFxiL2kudGVzdChUKSl7VD1cIkt1YnVudHVcIn1lbHNlIGlmKEkmJkkhPVwiR29vZ2xlXCImJigvQ2hyb21lLy50ZXN0KFIpJiYhL1xcYk1vYmlsZSBTYWZhcmlcXGIvaS50ZXN0KGUpfHwvXFxiVml0YVxcYi8udGVzdChBKSl8fC9cXGJBbmRyb2lkXFxiLy50ZXN0KFQpJiYvXkNocm9tZS8udGVzdChSKSYmL1xcYlZlcnNpb25cXC8vaS50ZXN0KGUpKXtSPVwiQW5kcm9pZCBCcm93c2VyXCI7VD0vXFxiQW5kcm9pZFxcYi8udGVzdChUKT9UOlwiQW5kcm9pZFwifWVsc2UgaWYoUj09XCJTaWxrXCIpe2lmKCEvXFxiTW9iaS9pLnRlc3QoZSkpe1Q9XCJBbmRyb2lkXCI7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpfWlmKC9BY2NlbGVyYXRlZCAqPSAqdHJ1ZS9pLnRlc3QoZSkpe1AudW5zaGlmdChcImFjY2VsZXJhdGVkXCIpfX1lbHNlIGlmKFI9PVwiVUMgQnJvd3NlclwiJiYvXFxiVUNXRUJcXGIvLnRlc3QoZSkpe1AucHVzaChcInNwZWVkIG1vZGVcIil9ZWxzZSBpZihSPT1cIlBhbGVNb29uXCImJihNPS9cXGJGaXJlZm94XFwvKFtcXGQuXSspXFxiLy5leGVjKGUpKSl7UC5wdXNoKFwiaWRlbnRpZnlpbmcgYXMgRmlyZWZveCBcIitNWzFdKX1lbHNlIGlmKFI9PVwiRmlyZWZveFwiJiYoTT0vXFxiKE1vYmlsZXxUYWJsZXR8VFYpXFxiL2kuZXhlYyhlKSkpe1R8fChUPVwiRmlyZWZveCBPU1wiKTtBfHwoQT1NWzFdKX1lbHNlIGlmKCFSfHwoTT0hL1xcYk1pbmVmaWVsZFxcYi9pLnRlc3QoZSkmJi9cXGIoPzpGaXJlZm94fFNhZmFyaSlcXGIvLmV4ZWMoUikpKXtpZihSJiYhQSYmL1tcXC8sXXxeW14oXSs/XFwpLy50ZXN0KGUuc2xpY2UoZS5pbmRleE9mKE0rXCIvXCIpKzgpKSl7Uj1udWxsfWlmKChNPUF8fEl8fFQpJiYoQXx8SXx8L1xcYig/OkFuZHJvaWR8U3ltYmlhbiBPU3xUYWJsZXQgT1N8d2ViT1MpXFxiLy50ZXN0KFQpKSl7Uj0vW2Etel0rKD86IEhhdCk/L2kuZXhlYygvXFxiQW5kcm9pZFxcYi8udGVzdChUKT9UOk0pK1wiIEJyb3dzZXJcIn19ZWxzZSBpZihSPT1cIkVsZWN0cm9uXCImJihNPSgvXFxiQ2hyb21lXFwvKFtcXGQuXSspXFxiLy5leGVjKGUpfHwwKVsxXSkpe1AucHVzaChcIkNocm9taXVtIFwiK00pfWlmKCFCKXtCPWdldFZlcnNpb24oW1wiKD86Q2xvdWQ5fENyaU9TfENyTW98RWRnZXxFZGd8RWRnQXxFZGdpT1N8RnhpT1N8SGVhZGxlc3NDaHJvbWV8SUVNb2JpbGV8SXJvbnxPcGVyYSA/TWluaXxPUGlPU3xPUFJ8UmF2ZW58U2Ftc3VuZ0Jyb3dzZXJ8U2lsayg/IS9bXFxcXGQuXSskKXxVQ0Jyb3dzZXJ8WWFCcm93c2VyKVwiLFwiVmVyc2lvblwiLHF1YWxpZnkoUiksXCIoPzpGaXJlZm94fE1pbmVmaWVsZHxOZXRGcm9udClcIl0pfWlmKE09Xz09XCJpQ2FiXCImJnBhcnNlRmxvYXQoQik+MyYmXCJXZWJLaXRcInx8L1xcYk9wZXJhXFxiLy50ZXN0KFIpJiYoL1xcYk9QUlxcYi8udGVzdChlKT9cIkJsaW5rXCI6XCJQcmVzdG9cIil8fC9cXGIoPzpNaWRvcml8Tm9va3xTYWZhcmkpXFxiL2kudGVzdChlKSYmIS9eKD86VHJpZGVudHxFZGdlSFRNTCkkLy50ZXN0KF8pJiZcIldlYktpdFwifHwhXyYmL1xcYk1TSUVcXGIvaS50ZXN0KGUpJiYoVD09XCJNYWMgT1NcIj9cIlRhc21hblwiOlwiVHJpZGVudFwiKXx8Xz09XCJXZWJLaXRcIiYmL1xcYlBsYXlTdGF0aW9uXFxiKD8hIFZpdGFcXGIpL2kudGVzdChSKSYmXCJOZXRGcm9udFwiKXtfPVtNXX1pZihSPT1cIklFXCImJihNPSgvOyAqKD86WEJMV1B8WnVuZVdQKShcXGQrKS9pLmV4ZWMoZSl8fDApWzFdKSl7Uis9XCIgTW9iaWxlXCI7VD1cIldpbmRvd3MgUGhvbmUgXCIrKC9cXCskLy50ZXN0KE0pP006TStcIi54XCIpO1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKX1lbHNlIGlmKC9cXGJXUERlc2t0b3BcXGIvaS50ZXN0KGUpKXtSPVwiSUUgTW9iaWxlXCI7VD1cIldpbmRvd3MgUGhvbmUgOC54XCI7UC51bnNoaWZ0KFwiZGVza3RvcCBtb2RlXCIpO0J8fChCPSgvXFxicnY6KFtcXGQuXSspLy5leGVjKGUpfHwwKVsxXSl9ZWxzZSBpZihSIT1cIklFXCImJl89PVwiVHJpZGVudFwiJiYoTT0vXFxicnY6KFtcXGQuXSspLy5leGVjKGUpKSl7aWYoUil7UC5wdXNoKFwiaWRlbnRpZnlpbmcgYXMgXCIrUisoQj9cIiBcIitCOlwiXCIpKX1SPVwiSUVcIjtCPU1bMV19aWYoayl7aWYoaXNIb3N0VHlwZShpLFwiZ2xvYmFsXCIpKXtpZihtKXtNPW0ubGFuZy5TeXN0ZW07RT1NLmdldFByb3BlcnR5KFwib3MuYXJjaFwiKTtUPVR8fE0uZ2V0UHJvcGVydHkoXCJvcy5uYW1lXCIpK1wiIFwiK00uZ2V0UHJvcGVydHkoXCJvcy52ZXJzaW9uXCIpfWlmKGcpe3RyeXtCPWkucmVxdWlyZShcInJpbmdvL2VuZ2luZVwiKS52ZXJzaW9uLmpvaW4oXCIuXCIpO1I9XCJSaW5nb0pTXCJ9Y2F0Y2goZSl7aWYoKE09aS5zeXN0ZW0pJiZNLmdsb2JhbC5zeXN0ZW09PWkuc3lzdGVtKXtSPVwiTmFyd2hhbFwiO1R8fChUPU1bMF0ub3N8fG51bGwpfX1pZighUil7Uj1cIlJoaW5vXCJ9fWVsc2UgaWYodHlwZW9mIGkucHJvY2Vzcz09XCJvYmplY3RcIiYmIWkucHJvY2Vzcy5icm93c2VyJiYoTT1pLnByb2Nlc3MpKXtpZih0eXBlb2YgTS52ZXJzaW9ucz09XCJvYmplY3RcIil7aWYodHlwZW9mIE0udmVyc2lvbnMuZWxlY3Ryb249PVwic3RyaW5nXCIpe1AucHVzaChcIk5vZGUgXCIrTS52ZXJzaW9ucy5ub2RlKTtSPVwiRWxlY3Ryb25cIjtCPU0udmVyc2lvbnMuZWxlY3Ryb259ZWxzZSBpZih0eXBlb2YgTS52ZXJzaW9ucy5udz09XCJzdHJpbmdcIil7UC5wdXNoKFwiQ2hyb21pdW0gXCIrQixcIk5vZGUgXCIrTS52ZXJzaW9ucy5ub2RlKTtSPVwiTlcuanNcIjtCPU0udmVyc2lvbnMubnd9fWlmKCFSKXtSPVwiTm9kZS5qc1wiO0U9TS5hcmNoO1Q9TS5wbGF0Zm9ybTtCPS9bXFxkLl0rLy5leGVjKE0udmVyc2lvbik7Qj1CP0JbMF06bnVsbH19fWVsc2UgaWYoZ2V0Q2xhc3NPZihNPWkucnVudGltZSk9PXApe1I9XCJBZG9iZSBBSVJcIjtUPU0uZmxhc2guc3lzdGVtLkNhcGFiaWxpdGllcy5vc31lbHNlIGlmKGdldENsYXNzT2YoTT1pLnBoYW50b20pPT14KXtSPVwiUGhhbnRvbUpTXCI7Qj0oTT1NLnZlcnNpb258fG51bGwpJiZNLm1ham9yK1wiLlwiK00ubWlub3IrXCIuXCIrTS5wYXRjaH1lbHNlIGlmKHR5cGVvZiBPLmRvY3VtZW50TW9kZT09XCJudW1iZXJcIiYmKE09L1xcYlRyaWRlbnRcXC8oXFxkKykvaS5leGVjKGUpKSl7Qj1bQixPLmRvY3VtZW50TW9kZV07aWYoKE09K01bMV0rNCkhPUJbMV0pe1AucHVzaChcIklFIFwiK0JbMV0rXCIgbW9kZVwiKTtfJiYoX1sxXT1cIlwiKTtCWzFdPU19Qj1SPT1cIklFXCI/U3RyaW5nKEJbMV0udG9GaXhlZCgxKSk6QlswXX1lbHNlIGlmKHR5cGVvZiBPLmRvY3VtZW50TW9kZT09XCJudW1iZXJcIiYmL14oPzpDaHJvbWV8RmlyZWZveClcXGIvLnRlc3QoUikpe1AucHVzaChcIm1hc2tpbmcgYXMgXCIrUitcIiBcIitCKTtSPVwiSUVcIjtCPVwiMTEuMFwiO189W1wiVHJpZGVudFwiXTtUPVwiV2luZG93c1wifVQ9VCYmZm9ybWF0KFQpfWlmKEImJihNPS8oPzpbYWJdfGRwfHByZXxbYWJdXFxkK3ByZSkoPzpcXGQrXFwrPyk/JC9pLmV4ZWMoQil8fC8oPzphbHBoYXxiZXRhKSg/OiA/XFxkKT8vaS5leGVjKGUrXCI7XCIrKGsmJm4uYXBwTWlub3JWZXJzaW9uKSl8fC9cXGJNaW5lZmllbGRcXGIvaS50ZXN0KGUpJiZcImFcIikpe0M9L2IvaS50ZXN0KE0pP1wiYmV0YVwiOlwiYWxwaGFcIjtCPUIucmVwbGFjZShSZWdFeHAoTStcIlxcXFwrPyRcIiksXCJcIikrKEM9PVwiYmV0YVwiP3Y6aCkrKC9cXGQrXFwrPy8uZXhlYyhNKXx8XCJcIil9aWYoUj09XCJGZW5uZWNcInx8Uj09XCJGaXJlZm94XCImJi9cXGIoPzpBbmRyb2lkfEZpcmVmb3ggT1N8S2FpT1MpXFxiLy50ZXN0KFQpKXtSPVwiRmlyZWZveCBNb2JpbGVcIn1lbHNlIGlmKFI9PVwiTWF4dGhvblwiJiZCKXtCPUIucmVwbGFjZSgvXFwuW1xcZC5dKy8sXCIueFwiKX1lbHNlIGlmKC9cXGJYYm94XFxiL2kudGVzdChBKSl7aWYoQT09XCJYYm94IDM2MFwiKXtUPW51bGx9aWYoQT09XCJYYm94IDM2MFwiJiYvXFxiSUVNb2JpbGVcXGIvLnRlc3QoZSkpe1AudW5zaGlmdChcIm1vYmlsZSBtb2RlXCIpfX1lbHNlIGlmKCgvXig/OkNocm9tZXxJRXxPcGVyYSkkLy50ZXN0KFIpfHxSJiYhQSYmIS9Ccm93c2VyfE1vYmkvLnRlc3QoUikpJiYoVD09XCJXaW5kb3dzIENFXCJ8fC9Nb2JpL2kudGVzdChlKSkpe1IrPVwiIE1vYmlsZVwifWVsc2UgaWYoUj09XCJJRVwiJiZrKXt0cnl7aWYoaS5leHRlcm5hbD09PW51bGwpe1AudW5zaGlmdChcInBsYXRmb3JtIHByZXZpZXdcIil9fWNhdGNoKGUpe1AudW5zaGlmdChcImVtYmVkZGVkXCIpfX1lbHNlIGlmKCgvXFxiQmxhY2tCZXJyeVxcYi8udGVzdChBKXx8L1xcYkJCMTBcXGIvLnRlc3QoZSkpJiYoTT0oUmVnRXhwKEEucmVwbGFjZSgvICsvZyxcIiAqXCIpK1wiLyhbLlxcXFxkXSspXCIsXCJpXCIpLmV4ZWMoZSl8fDApWzFdfHxCKSl7TT1bTSwvQkIxMC8udGVzdChlKV07VD0oTVsxXT8oQT1udWxsLEk9XCJCbGFja0JlcnJ5XCIpOlwiRGV2aWNlIFNvZnR3YXJlXCIpK1wiIFwiK01bMF07Qj1udWxsfWVsc2UgaWYodGhpcyE9Zm9yT3duJiZBIT1cIldpaVwiJiYoayYmeXx8L09wZXJhLy50ZXN0KFIpJiYvXFxiKD86TVNJRXxGaXJlZm94KVxcYi9pLnRlc3QoZSl8fFI9PVwiRmlyZWZveFwiJiYvXFxiT1MgWCAoPzpcXGQrXFwuKXsyLH0vLnRlc3QoVCl8fFI9PVwiSUVcIiYmKFQmJiEvXldpbi8udGVzdChUKSYmQj41LjV8fC9cXGJXaW5kb3dzIFhQXFxiLy50ZXN0KFQpJiZCPjh8fEI9PTgmJiEvXFxiVHJpZGVudFxcYi8udGVzdChlKSkpJiYhZi50ZXN0KE09cGFyc2UuY2FsbChmb3JPd24sZS5yZXBsYWNlKGYsXCJcIikrXCI7XCIpKSYmTS5uYW1lKXtNPVwiaW5nIGFzIFwiK00ubmFtZSsoKE09TS52ZXJzaW9uKT9cIiBcIitNOlwiXCIpO2lmKGYudGVzdChSKSl7aWYoL1xcYklFXFxiLy50ZXN0KE0pJiZUPT1cIk1hYyBPU1wiKXtUPW51bGx9TT1cImlkZW50aWZ5XCIrTX1lbHNle009XCJtYXNrXCIrTTtpZih3KXtSPWZvcm1hdCh3LnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csXCIkMSAkMlwiKSl9ZWxzZXtSPVwiT3BlcmFcIn1pZigvXFxiSUVcXGIvLnRlc3QoTSkpe1Q9bnVsbH1pZighayl7Qj1udWxsfX1fPVtcIlByZXN0b1wiXTtQLnB1c2goTSl9aWYoTT0oL1xcYkFwcGxlV2ViS2l0XFwvKFtcXGQuXStcXCs/KS9pLmV4ZWMoZSl8fDApWzFdKXtNPVtwYXJzZUZsb2F0KE0ucmVwbGFjZSgvXFwuKFxcZCkkLyxcIi4wJDFcIikpLE1dO2lmKFI9PVwiU2FmYXJpXCImJk1bMV0uc2xpY2UoLTEpPT1cIitcIil7Uj1cIldlYktpdCBOaWdodGx5XCI7Qz1cImFscGhhXCI7Qj1NWzFdLnNsaWNlKDAsLTEpfWVsc2UgaWYoQj09TVsxXXx8Qj09KE1bMl09KC9cXGJTYWZhcmlcXC8oW1xcZC5dK1xcKz8pL2kuZXhlYyhlKXx8MClbMV0pKXtCPW51bGx9TVsxXT0oL1xcYig/OkhlYWRsZXNzKT9DaHJvbWVcXC8oW1xcZC5dKykvaS5leGVjKGUpfHwwKVsxXTtpZihNWzBdPT01MzcuMzYmJk1bMl09PTUzNy4zNiYmcGFyc2VGbG9hdChNWzFdKT49MjgmJl89PVwiV2ViS2l0XCIpe189W1wiQmxpbmtcIl19aWYoIWt8fCFzJiYhTVsxXSl7XyYmKF9bMV09XCJsaWtlIFNhZmFyaVwiKTtNPShNPU1bMF0sTTw0MDA/MTpNPDUwMD8yOk08NTI2PzM6TTw1MzM/NDpNPDUzND9cIjQrXCI6TTw1MzU/NTpNPDUzNz82Ok08NTM4Pzc6TTw2MDE/ODpNPDYwMj85Ok08NjA0PzEwOk08NjA2PzExOk08NjA4PzEyOlwiMTJcIil9ZWxzZXtfJiYoX1sxXT1cImxpa2UgQ2hyb21lXCIpO009TVsxXXx8KE09TVswXSxNPDUzMD8xOk08NTMyPzI6TTw1MzIuMDU/MzpNPDUzMz80Ok08NTM0LjAzPzU6TTw1MzQuMDc/NjpNPDUzNC4xPzc6TTw1MzQuMTM/ODpNPDUzNC4xNj85Ok08NTM0LjI0PzEwOk08NTM0LjM/MTE6TTw1MzUuMDE/MTI6TTw1MzUuMDI/XCIxMytcIjpNPDUzNS4wNz8xNTpNPDUzNS4xMT8xNjpNPDUzNS4xOT8xNzpNPDUzNi4wNT8xODpNPDUzNi4xPzE5Ok08NTM3LjAxPzIwOk08NTM3LjExP1wiMjErXCI6TTw1MzcuMTM/MjM6TTw1MzcuMTg/MjQ6TTw1MzcuMjQ/MjU6TTw1MzcuMzY/MjY6XyE9XCJCbGlua1wiP1wiMjdcIjpcIjI4XCIpfV8mJihfWzFdKz1cIiBcIisoTSs9dHlwZW9mIE09PVwibnVtYmVyXCI/XCIueFwiOi9bLitdLy50ZXN0KE0pP1wiXCI6XCIrXCIpKTtpZihSPT1cIlNhZmFyaVwiJiYoIUJ8fHBhcnNlSW50KEIpPjQ1KSl7Qj1NfWVsc2UgaWYoUj09XCJDaHJvbWVcIiYmL1xcYkhlYWRsZXNzQ2hyb21lL2kudGVzdChlKSl7UC51bnNoaWZ0KFwiaGVhZGxlc3NcIil9fWlmKFI9PVwiT3BlcmFcIiYmKE09L1xcYnpib3Z8enZhdiQvLmV4ZWMoVCkpKXtSKz1cIiBcIjtQLnVuc2hpZnQoXCJkZXNrdG9wIG1vZGVcIik7aWYoTT09XCJ6dmF2XCIpe1IrPVwiTWluaVwiO0I9bnVsbH1lbHNle1IrPVwiTW9iaWxlXCJ9VD1ULnJlcGxhY2UoUmVnRXhwKFwiICpcIitNK1wiJFwiKSxcIlwiKX1lbHNlIGlmKFI9PVwiU2FmYXJpXCImJi9cXGJDaHJvbWVcXGIvLmV4ZWMoXyYmX1sxXSkpe1AudW5zaGlmdChcImRlc2t0b3AgbW9kZVwiKTtSPVwiQ2hyb21lIE1vYmlsZVwiO0I9bnVsbDtpZigvXFxiT1MgWFxcYi8udGVzdChUKSl7ST1cIkFwcGxlXCI7VD1cImlPUyA0LjMrXCJ9ZWxzZXtUPW51bGx9fWVsc2UgaWYoL1xcYlNSV2FyZSBJcm9uXFxiLy50ZXN0KFIpJiYhQil7Qj1nZXRWZXJzaW9uKFwiQ2hyb21lXCIpfWlmKEImJkIuaW5kZXhPZihNPS9bXFxkLl0rJC8uZXhlYyhUKSk9PTAmJmUuaW5kZXhPZihcIi9cIitNK1wiLVwiKT4tMSl7VD10cmltKFQucmVwbGFjZShNLFwiXCIpKX1pZihUJiZULmluZGV4T2YoUikhPS0xJiYhUmVnRXhwKFIrXCIgT1NcIikudGVzdChUKSl7VD1ULnJlcGxhY2UoUmVnRXhwKFwiICpcIitxdWFsaWZ5KFIpK1wiICpcIiksXCJcIil9aWYoXyYmIS9cXGIoPzpBdmFudHxOb29rKVxcYi8udGVzdChSKSYmKC9Ccm93c2VyfEx1bmFzY2FwZXxNYXh0aG9uLy50ZXN0KFIpfHxSIT1cIlNhZmFyaVwiJiYvXmlPUy8udGVzdChUKSYmL1xcYlNhZmFyaVxcYi8udGVzdChfWzFdKXx8L14oPzpBZG9iZXxBcm9yYXxCcmVhY2h8TWlkb3JpfE9wZXJhfFBoYW50b218UmVrb25xfFJvY2t8U2Ftc3VuZyBJbnRlcm5ldHxTbGVpcG5pcnxTUldhcmUgSXJvbnxWaXZhbGRpfFdlYikvLnRlc3QoUikmJl9bMV0pKXsoTT1fW18ubGVuZ3RoLTFdKSYmUC5wdXNoKE0pfWlmKFAubGVuZ3RoKXtQPVtcIihcIitQLmpvaW4oXCI7IFwiKStcIilcIl19aWYoSSYmQSYmQS5pbmRleE9mKEkpPDApe1AucHVzaChcIm9uIFwiK0kpfWlmKEEpe1AucHVzaCgoL15vbiAvLnRlc3QoUFtQLmxlbmd0aC0xXSk/XCJcIjpcIm9uIFwiKStBKX1pZihUKXtNPS8gKFtcXGQuK10rKSQvLmV4ZWMoVCk7Vz1NJiZULmNoYXJBdChULmxlbmd0aC1NWzBdLmxlbmd0aC0xKT09XCIvXCI7VD17YXJjaGl0ZWN0dXJlOjMyLGZhbWlseTpNJiYhVz9ULnJlcGxhY2UoTVswXSxcIlwiKTpULHZlcnNpb246TT9NWzFdOm51bGwsdG9TdHJpbmc6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnZlcnNpb247cmV0dXJuIHRoaXMuZmFtaWx5KyhlJiYhVz9cIiBcIitlOlwiXCIpKyh0aGlzLmFyY2hpdGVjdHVyZT09NjQ/XCIgNjQtYml0XCI6XCJcIil9fX1pZigoTT0vXFxiKD86QU1EfElBfFdpbnxXT1d8eDg2X3x4KTY0XFxiL2kuZXhlYyhFKSkmJiEvXFxiaTY4NlxcYi9pLnRlc3QoRSkpe2lmKFQpe1QuYXJjaGl0ZWN0dXJlPTY0O1QuZmFtaWx5PVQuZmFtaWx5LnJlcGxhY2UoUmVnRXhwKFwiICpcIitNKSxcIlwiKX1pZihSJiYoL1xcYldPVzY0XFxiL2kudGVzdChlKXx8ayYmL1xcdyg/Ojg2fDMyKSQvLnRlc3Qobi5jcHVDbGFzc3x8bi5wbGF0Zm9ybSkmJiEvXFxiV2luNjQ7IHg2NFxcYi9pLnRlc3QoZSkpKXtQLnVuc2hpZnQoXCIzMi1iaXRcIil9fWVsc2UgaWYoVCYmL15PUyBYLy50ZXN0KFQuZmFtaWx5KSYmUj09XCJDaHJvbWVcIiYmcGFyc2VGbG9hdChCKT49Mzkpe1QuYXJjaGl0ZWN0dXJlPTY0fWV8fChlPW51bGwpO3ZhciBGPXt9O0YuZGVzY3JpcHRpb249ZTtGLmxheW91dD1fJiZfWzBdO0YubWFudWZhY3R1cmVyPUk7Ri5uYW1lPVI7Ri5wcmVyZWxlYXNlPUM7Ri5wcm9kdWN0PUE7Ri51YT1lO0YudmVyc2lvbj1SJiZCO0Yub3M9VHx8e2FyY2hpdGVjdHVyZTpudWxsLGZhbWlseTpudWxsLHZlcnNpb246bnVsbCx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVyblwibnVsbFwifX07Ri5wYXJzZT1wYXJzZTtGLnRvU3RyaW5nPXRvU3RyaW5nUGxhdGZvcm07aWYoRi52ZXJzaW9uKXtQLnVuc2hpZnQoQil9aWYoRi5uYW1lKXtQLnVuc2hpZnQoUil9aWYoVCYmUiYmIShUPT1TdHJpbmcoVCkuc3BsaXQoXCIgXCIpWzBdJiYoVD09Ui5zcGxpdChcIiBcIilbMF18fEEpKSl7UC5wdXNoKEE/XCIoXCIrVCtcIilcIjpcIm9uIFwiK1QpfWlmKFAubGVuZ3RoKXtGLmRlc2NyaXB0aW9uPVAuam9pbihcIiBcIil9cmV0dXJuIEZ9dmFyIGQ9cGFyc2UoKTtpZihuJiZvKXtmb3JPd24oZCwoZnVuY3Rpb24oZSxpKXtuW2ldPWV9KSl9ZWxzZXtyLnBsYXRmb3JtPWR9fSkuY2FsbCh0aGlzKX19O3ZhciBpPXt9O2Z1bmN0aW9uIF9fbmNjd3Bja19yZXF1aXJlX18odCl7dmFyIHI9aVt0XTtpZihyIT09dW5kZWZpbmVkKXtyZXR1cm4gci5leHBvcnRzfXZhciBhPWlbdF09e2lkOnQsbG9hZGVkOmZhbHNlLGV4cG9ydHM6e319O3ZhciBuPXRydWU7dHJ5e2VbdF0uY2FsbChhLmV4cG9ydHMsYSxhLmV4cG9ydHMsX19uY2N3cGNrX3JlcXVpcmVfXyk7bj1mYWxzZX1maW5hbGx5e2lmKG4pZGVsZXRlIGlbdF19YS5sb2FkZWQ9dHJ1ZTtyZXR1cm4gYS5leHBvcnRzfSgoKT0+e19fbmNjd3Bja19yZXF1aXJlX18ubm1kPWU9PntlLnBhdGhzPVtdO2lmKCFlLmNoaWxkcmVuKWUuY2hpbGRyZW49W107cmV0dXJuIGV9fSkoKTtpZih0eXBlb2YgX19uY2N3cGNrX3JlcXVpcmVfXyE9PVwidW5kZWZpbmVkXCIpX19uY2N3cGNrX3JlcXVpcmVfXy5hYj1fX2Rpcm5hbWUrXCIvXCI7dmFyIHQ9X19uY2N3cGNrX3JlcXVpcmVfXyg1NDEpO21vZHVsZS5leHBvcnRzPXR9KSgpOyJdLCJuYW1lcyI6WyJlIiwiaSIsInQiLCJubWQiLCJmdW5jdGlvbiIsIm9iamVjdCIsInIiLCJ3aW5kb3ciLCJhIiwibiIsIm8iLCJub2RlVHlwZSIsImwiLCJnbG9iYWwiLCJzZWxmIiwicyIsIk1hdGgiLCJwb3ciLCJmIiwiYiIsImMiLCJPYmplY3QiLCJwcm90b3R5cGUiLCJwIiwiaGFzT3duUHJvcGVydHkiLCJ1IiwidG9TdHJpbmciLCJjYXBpdGFsaXplIiwiU3RyaW5nIiwiY2hhckF0IiwidG9VcHBlckNhc2UiLCJzbGljZSIsImNsZWFudXBPUyIsInRlc3QiLCJleGVjIiwicmVwbGFjZSIsIlJlZ0V4cCIsImZvcm1hdCIsInNwbGl0IiwiZWFjaCIsImxlbmd0aCIsImZvck93biIsInRyaW0iLCJjYWxsIiwiZ2V0Q2xhc3NPZiIsImlzSG9zdFR5cGUiLCJxdWFsaWZ5IiwicmVkdWNlIiwicGFyc2UiLCJuYXZpZ2F0b3IiLCJ1c2VyQWdlbnQiLCJsaWtlQ2hyb21lIiwiZCIsIlMiLCJqYXZhIiwieCIsIm0iLCJnIiwiZW52aXJvbm1lbnQiLCJoIiwidiIsIk8iLCJkb2N1bWVudCIsInkiLCJvcGVyYW1pbmkiLCJvcGVyYSIsInciLCJNIiwiRSIsIlAiLCJDIiwiayIsIkIiLCJ2ZXJzaW9uIiwiVyIsIl8iLCJnZXRMYXlvdXQiLCJsYWJlbCIsInBhdHRlcm4iLCJSIiwiZ2V0TmFtZSIsIkEiLCJnZXRQcm9kdWN0IiwiSSIsImdldE1hbnVmYWN0dXJlciIsIkFwcGxlIiwiaVBhZCIsImlQaG9uZSIsImlQb2QiLCJBbGNhdGVsIiwiQXJjaG9zIiwiQW1hem9uIiwiS2luZGxlIiwiQXN1cyIsIlRyYW5zZm9ybWVyIiwiTm9vayIsIkJsYWNrQmVycnkiLCJQbGF5Qm9vayIsIkdvb2dsZSIsIk5leHVzIiwiSFAiLCJUb3VjaFBhZCIsIkhUQyIsIkh1YXdlaSIsIkxlbm92byIsIkxHIiwiTWljcm9zb2Z0IiwiWGJveCIsIk1vdG9yb2xhIiwiWG9vbSIsIk5pbnRlbmRvIiwiV2lpIiwiTm9raWEiLCJMdW1pYSIsIk9wcG8iLCJTYW1zdW5nIiwiU29ueSIsIlBsYXlTdGF0aW9uIiwiWGlhb21pIiwiTWkiLCJSZWRtaSIsIlQiLCJnZXRPUyIsImdldFZlcnNpb24iLCJ0b1N0cmluZ1BsYXRmb3JtIiwiZGVzY3JpcHRpb24iLCJwdXNoIiwibWFudWZhY3R1cmVyIiwicHJvZHVjdCIsInVuc2hpZnQiLCJpbmRleE9mIiwicGFyc2VGbG9hdCIsImxhbmciLCJTeXN0ZW0iLCJnZXRQcm9wZXJ0eSIsInJlcXVpcmUiLCJqb2luIiwic3lzdGVtIiwib3MiLCJwcm9jZXNzIiwiYnJvd3NlciIsInZlcnNpb25zIiwiZWxlY3Ryb24iLCJub2RlIiwibnciLCJhcmNoIiwicGxhdGZvcm0iLCJydW50aW1lIiwiZmxhc2giLCJDYXBhYmlsaXRpZXMiLCJwaGFudG9tIiwibWFqb3IiLCJtaW5vciIsInBhdGNoIiwiZG9jdW1lbnRNb2RlIiwidG9GaXhlZCIsImFwcE1pbm9yVmVyc2lvbiIsImV4dGVybmFsIiwibmFtZSIsInBhcnNlSW50IiwiYXJjaGl0ZWN0dXJlIiwiZmFtaWx5IiwiY3B1Q2xhc3MiLCJGIiwibGF5b3V0IiwicHJlcmVsZWFzZSIsInVhIiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsInVuZGVmaW5lZCIsImV4cG9ydHMiLCJpZCIsImxvYWRlZCIsInBhdGhzIiwiY2hpbGRyZW4iLCJhYiIsIl9fZGlybmFtZSIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/platform/platform.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js ***! \*************************************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var e = {};\n (()=>{\n var r = e;\n Object.defineProperty(r, \"__esModule\", {\n value: true\n });\n var n = \"<unknown>\";\n function parse(e) {\n var r = e.split(\"\\n\");\n return r.reduce(function(e, r) {\n var n = parseChrome(r) || parseWinjs(r) || parseGecko(r) || parseNode(r) || parseJSC(r);\n if (n) {\n e.push(n);\n }\n return e;\n }, []);\n }\n var a = /^\\s*at (.*?) ?\\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\\/|[a-z]:\\\\|\\\\\\\\).*?)(?::(\\d+))?(?::(\\d+))?\\)?\\s*$/i;\n var l = /\\((\\S*)(?::(\\d+))(?::(\\d+))\\)/;\n function parseChrome(e) {\n var r = a.exec(e);\n if (!r) {\n return null;\n }\n var u = r[2] && r[2].indexOf(\"native\") === 0;\n var t = r[2] && r[2].indexOf(\"eval\") === 0;\n var i = l.exec(r[2]);\n if (t && i != null) {\n r[2] = i[1];\n r[3] = i[2];\n r[4] = i[3];\n }\n return {\n file: !u ? r[2] : null,\n methodName: r[1] || n,\n arguments: u ? [\n r[2]\n ] : [],\n lineNumber: r[3] ? +r[3] : null,\n column: r[4] ? +r[4] : null\n };\n }\n var u = /^\\s*at (?:((?:\\[object object\\])?.+) )?\\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n function parseWinjs(e) {\n var r = u.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[2],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[3],\n column: r[4] ? +r[4] : null\n };\n }\n var t = /^\\s*(.*?)(?:\\((.*?)\\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\\[native).*?|[^@]*bundle)(?::(\\d+))?(?::(\\d+))?\\s*$/i;\n var i = /(\\S+) line (\\d+)(?: > eval line \\d+)* > eval/i;\n function parseGecko(e) {\n var r = t.exec(e);\n if (!r) {\n return null;\n }\n var a = r[3] && r[3].indexOf(\" > eval\") > -1;\n var l = i.exec(r[3]);\n if (a && l != null) {\n r[3] = l[1];\n r[4] = l[2];\n r[5] = null;\n }\n return {\n file: r[3],\n methodName: r[1] || n,\n arguments: r[2] ? r[2].split(\",\") : [],\n lineNumber: r[4] ? +r[4] : null,\n column: r[5] ? +r[5] : null\n };\n }\n var s = /^\\s*(?:([^@]*)(?:\\((.*?)\\))?@)?(\\S.*?):(\\d+)(?::(\\d+))?\\s*$/i;\n function parseJSC(e) {\n var r = s.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[3],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[4],\n column: r[5] ? +r[5] : null\n };\n }\n var o = /^\\s*at (?:((?:\\[object object\\])?[^\\\\/]+(?: \\[as \\S+\\])?) )?\\(?(.*?):(\\d+)(?::(\\d+))?\\)?\\s*$/i;\n function parseNode(e) {\n var r = o.exec(e);\n if (!r) {\n return null;\n }\n return {\n file: r[2],\n methodName: r[1] || n,\n arguments: [],\n lineNumber: +r[3],\n column: r[4] ? +r[4] : null\n };\n }\n r.parse = parse;\n })();\n module.exports = e;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0YWNrdHJhY2UtcGFyc2VyL3N0YWNrLXRyYWNlLXBhcnNlci5janMuanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUs7SUFBYSxJQUFHLE9BQU9BLHdCQUFzQixhQUFZQSxvQkFBb0JDLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUlDLElBQUUsQ0FBQztJQUFHO1FBQUssSUFBSUMsSUFBRUQ7UUFBRUUsT0FBT0MsY0FBYyxDQUFDRixHQUFFLGNBQWE7WUFBQ0csT0FBTTtRQUFJO1FBQUcsSUFBSUMsSUFBRTtRQUFZLFNBQVNDLE1BQU1OLENBQUM7WUFBRSxJQUFJQyxJQUFFRCxFQUFFTyxLQUFLLENBQUM7WUFBTSxPQUFPTixFQUFFTyxNQUFNLENBQUUsU0FBU1IsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFLElBQUlJLElBQUVJLFlBQVlSLE1BQUlTLFdBQVdULE1BQUlVLFdBQVdWLE1BQUlXLFVBQVVYLE1BQUlZLFNBQVNaO2dCQUFHLElBQUdJLEdBQUU7b0JBQUNMLEVBQUVjLElBQUksQ0FBQ1Q7Z0JBQUU7Z0JBQUMsT0FBT0w7WUFBQyxHQUFHLEVBQUU7UUFBQztRQUFDLElBQUllLElBQUU7UUFBNEksSUFBSUMsSUFBRTtRQUFnQyxTQUFTUCxZQUFZVCxDQUFDO1lBQUUsSUFBSUMsSUFBRWMsRUFBRUUsSUFBSSxDQUFDakI7WUFBRyxJQUFHLENBQUNDLEdBQUU7Z0JBQUMsT0FBTztZQUFJO1lBQUMsSUFBSWlCLElBQUVqQixDQUFDLENBQUMsRUFBRSxJQUFFQSxDQUFDLENBQUMsRUFBRSxDQUFDa0IsT0FBTyxDQUFDLGNBQVk7WUFBRSxJQUFJQyxJQUFFbkIsQ0FBQyxDQUFDLEVBQUUsSUFBRUEsQ0FBQyxDQUFDLEVBQUUsQ0FBQ2tCLE9BQU8sQ0FBQyxZQUFVO1lBQUUsSUFBSUUsSUFBRUwsRUFBRUMsSUFBSSxDQUFDaEIsQ0FBQyxDQUFDLEVBQUU7WUFBRSxJQUFHbUIsS0FBR0MsS0FBRyxN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QUVYLElBQUksQ0FBQ2pCO1lBQUcsSUFBRyxDQUFDQyxHQUFFO2dCQUFDLE9BQU87WUFBSTtZQUFDLE9BQU07Z0JBQUNxQixNQUFLckIsQ0FBQyxDQUFDLEVBQUU7Z0JBQUNzQixZQUFXdEIsQ0FBQyxDQUFDLEVBQUUsSUFBRUk7Z0JBQUVtQixXQUFVLEVBQUU7Z0JBQUNDLFlBQVcsQ0FBQ3hCLENBQUMsQ0FBQyxFQUFFO2dCQUFDeUIsUUFBT3pCLENBQUMsQ0FBQyxFQUFFLEdBQUMsQ0FBQ0EsQ0FBQyxDQUFDLEVBQUUsR0FBQztZQUFJO1FBQUM7UUFBQ0EsRUFBRUssS0FBSyxHQUFDQTtJQUFLO0lBQUt1QixPQUFPQyxPQUFPLEdBQUM5QjtBQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY29tcGlsZWQvc3RhY2t0cmFjZS1wYXJzZXIvc3RhY2stdHJhY2UtcGFyc2VyLmNqcy5qcz9mZTBlIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgZT17fTsoKCk9Pnt2YXIgcj1lO09iamVjdC5kZWZpbmVQcm9wZXJ0eShyLFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dmFyIG49XCI8dW5rbm93bj5cIjtmdW5jdGlvbiBwYXJzZShlKXt2YXIgcj1lLnNwbGl0KFwiXFxuXCIpO3JldHVybiByLnJlZHVjZSgoZnVuY3Rpb24oZSxyKXt2YXIgbj1wYXJzZUNocm9tZShyKXx8cGFyc2VXaW5qcyhyKXx8cGFyc2VHZWNrbyhyKXx8cGFyc2VOb2RlKHIpfHxwYXJzZUpTQyhyKTtpZihuKXtlLnB1c2gobil9cmV0dXJuIGV9KSxbXSl9dmFyIGE9L15cXHMqYXQgKC4qPykgP1xcKCgoPzpmaWxlfGh0dHBzP3xibG9ifGNocm9tZS1leHRlbnNpb258bmF0aXZlfGV2YWx8d2VicGFja3w8YW5vbnltb3VzPnxcXC98W2Etel06XFxcXHxcXFxcXFxcXCkuKj8pKD86OihcXGQrKSk/KD86OihcXGQrKSk/XFwpP1xccyokL2k7dmFyIGw9L1xcKChcXFMqKSg/OjooXFxkKykpKD86OihcXGQrKSlcXCkvO2Z1bmN0aW9uIHBhcnNlQ2hyb21lKGUpe3ZhciByPWEuZXhlYyhlKTtpZighcil7cmV0dXJuIG51bGx9dmFyIHU9clsyXSYmclsyXS5pbmRleE9mKFwibmF0aXZlXCIpPT09MDt2YXIgdD1yWzJdJiZyWzJdLmluZGV4T2YoXCJldmFsXCIpPT09MDt2YXIgaT1sLmV4ZWMoclsyXSk7aWYodCYmaSE9bnVsbCl7clsyXT1pWzFdO3JbM109aVsyXTtyWzRdPWlbM119cmV0dXJue2ZpbGU6IXU/clsyXTpudWxsLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6dT9bclsyXV06W10sbGluZU51bWJlcjpyWzNdPytyWzNdOm51bGwsY29sdW1uOnJbNF0/K3JbNF06bnVsbH19dmFyIHU9L15cXHMqYXQgKD86KCg/OlxcW29iamVjdCBvYmplY3RcXF0pPy4rKSApP1xcKD8oKD86ZmlsZXxtcy1hcHB4fGh0dHBzP3x3ZWJwYWNrfGJsb2IpOi4qPyk6KFxcZCspKD86OihcXGQrKSk/XFwpP1xccyokL2k7ZnVuY3Rpb24gcGFyc2VXaW5qcyhlKXt2YXIgcj11LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbMl0sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzNdLGNvbHVtbjpyWzRdPytyWzRdOm51bGx9fXZhciB0PS9eXFxzKiguKj8pKD86XFwoKC4qPylcXCkpPyg/Ol58QCkoKD86ZmlsZXxodHRwcz98YmxvYnxjaHJvbWV8d2VicGFja3xyZXNvdXJjZXxcXFtuYXRpdmUpLio/fFteQF0qYnVuZGxlKSg/OjooXFxkKykpPyg/OjooXFxkKykpP1xccyokL2k7dmFyIGk9LyhcXFMrKSBsaW5lIChcXGQrKSg/OiA+IGV2YWwgbGluZSBcXGQrKSogPiBldmFsL2k7ZnVuY3Rpb24gcGFyc2VHZWNrbyhlKXt2YXIgcj10LmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXZhciBhPXJbM10mJnJbM10uaW5kZXhPZihcIiA+IGV2YWxcIik+LTE7dmFyIGw9aS5leGVjKHJbM10pO2lmKGEmJmwhPW51bGwpe3JbM109bFsxXTtyWzRdPWxbMl07cls1XT1udWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpyWzJdP3JbMl0uc3BsaXQoXCIsXCIpOltdLGxpbmVOdW1iZXI6cls0XT8rcls0XTpudWxsLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBzPS9eXFxzKig/OihbXkBdKikoPzpcXCgoLio/KVxcKSk/QCk/KFxcUy4qPyk6KFxcZCspKD86OihcXGQrKSk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZUpTQyhlKXt2YXIgcj1zLmV4ZWMoZSk7aWYoIXIpe3JldHVybiBudWxsfXJldHVybntmaWxlOnJbM10sbWV0aG9kTmFtZTpyWzFdfHxuLGFyZ3VtZW50czpbXSxsaW5lTnVtYmVyOityWzRdLGNvbHVtbjpyWzVdPytyWzVdOm51bGx9fXZhciBvPS9eXFxzKmF0ICg/OigoPzpcXFtvYmplY3Qgb2JqZWN0XFxdKT9bXlxcXFwvXSsoPzogXFxbYXMgXFxTK1xcXSk/KSApP1xcKD8oLio/KTooXFxkKykoPzo6KFxcZCspKT9cXCk/XFxzKiQvaTtmdW5jdGlvbiBwYXJzZU5vZGUoZSl7dmFyIHI9by5leGVjKGUpO2lmKCFyKXtyZXR1cm4gbnVsbH1yZXR1cm57ZmlsZTpyWzJdLG1ldGhvZE5hbWU6clsxXXx8bixhcmd1bWVudHM6W10sbGluZU51bWJlcjorclszXSxjb2x1bW46cls0XT8rcls0XTpudWxsfX1yLnBhcnNlPXBhcnNlfSkoKTttb2R1bGUuZXhwb3J0cz1lfSkoKTsiXSwibmFtZXMiOlsiX19uY2N3cGNrX3JlcXVpcmVfXyIsImFiIiwiX19kaXJuYW1lIiwiZSIsInIiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsInZhbHVlIiwibiIsInBhcnNlIiwic3BsaXQiLCJyZWR1Y2UiLCJwYXJzZUNocm9tZSIsInBhcnNlV2luanMiLCJwYXJzZUdlY2tvIiwicGFyc2VOb2RlIiwicGFyc2VKU0MiLCJwdXNoIiwiYSIsImwiLCJleGVjIiwidSIsImluZGV4T2YiLCJ0IiwiaSIsImZpbGUiLCJtZXRob2ROYW1lIiwiYXJndW1lbnRzIiwibGluZU51bWJlciIsImNvbHVtbiIsInMiLCJvIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/stacktrace-parser/stack-trace-parser.cjs.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/compiled/strip-ansi/index.js ***! \*************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 511: (e)=>{\n e.exports = ({ onlyFirst: e = false } = {})=>{\n const r = [\n \"[\\\\u001B\\\\u009B][[\\\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]+)*|[a-zA-Z\\\\d]+(?:;[-a-zA-Z\\\\d\\\\/#&.:=?%@~_]*)*)?\\\\u0007)\",\n \"(?:(?:\\\\d{1,4}(?:;\\\\d{0,4})*)?[\\\\dA-PR-TZcf-ntqry=><~]))\"\n ].join(\"|\");\n return new RegExp(r, e ? undefined : \"g\");\n };\n },\n 532: (e, r, _)=>{\n const t = _(511);\n e.exports = (e)=>typeof e === \"string\" ? e.replace(t(), \"\") : e;\n }\n };\n var r = {};\n function __nccwpck_require__(_) {\n var t = r[_];\n if (t !== undefined) {\n return t.exports;\n }\n var a = r[_] = {\n exports: {}\n };\n var n = true;\n try {\n e[_](a, a.exports, __nccwpck_require__);\n n = false;\n } finally{\n if (n) delete r[_];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var _ = __nccwpck_require__(532);\n module.exports = _;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2kvaW5kZXguanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUs7SUFBYSxJQUFJQSxJQUFFO1FBQUMsS0FBSUEsQ0FBQUE7WUFBSUEsRUFBRUMsT0FBTyxHQUFDLENBQUMsRUFBQ0MsV0FBVUYsSUFBRSxLQUFLLEVBQUMsR0FBQyxDQUFDLENBQUM7Z0JBQUksTUFBTUcsSUFBRTtvQkFBQztvQkFBK0g7aUJBQTJELENBQUNDLElBQUksQ0FBQztnQkFBSyxPQUFPLElBQUlDLE9BQU9GLEdBQUVILElBQUVNLFlBQVU7WUFBSTtRQUFDO1FBQUUsS0FBSSxDQUFDTixHQUFFRyxHQUFFSTtZQUFLLE1BQU1DLElBQUVELEVBQUU7WUFBS1AsRUFBRUMsT0FBTyxHQUFDRCxDQUFBQSxJQUFHLE9BQU9BLE1BQUksV0FBU0EsRUFBRVMsT0FBTyxDQUFDRCxLQUFJLE1BQUlSO1FBQUM7SUFBQztJQUFFLElBQUlHLElBQUUsQ0FBQztJQUFFLFNBQVNPLG9CQUFvQkgsQ0FBQztRQUFFLElBQUlDLElBQUVMLENBQUMsQ0FBQ0ksRUFBRTtRQUFDLElBQUdDLE1BQUlGLFdBQVU7WUFBQyxPQUFPRSxFQUFFUCxPQUFPO1FBQUE7UUFBQyxJQUFJVSxJQUFFUixDQUFDLENBQUNJLEVBQUUsR0FBQztZQUFDTixTQUFRLENBQUM7UUFBQztRQUFFLElBQUlXLElBQUU7UUFBSyxJQUFHO1lBQUNaLENBQUMsQ0FBQ08sRUFBRSxDQUFDSSxHQUFFQSxFQUFFVixPQUFPLEVBQUNTO1lBQXFCRSxJQUFFO1FBQUssU0FBUTtZQUFDLElBQUdBLEdBQUUsT0FBT1QsQ0FBQyxDQUFDSSxFQUFFO1FBQUE7UUFBQyxPQUFPSSxFQUFFVixPQUFPO0lBQUE7SUFBQyxJQUFHLE9BQU9TLHdCQUFzQixhQUFZQSxvQkFBb0JHLEVBQUUsR0FBQ0MsWUFBVTtJQUFJLElBQUlQLElBQUVHLG9CQUFvQjtJQUFLSyxPQUFPZCxPQUFPLEdBQUNNO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpL2luZGV4LmpzPzExZmEiXSwic291cmNlc0NvbnRlbnQiOlsiKCgpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGU9ezUxMTplPT57ZS5leHBvcnRzPSh7b25seUZpcnN0OmU9ZmFsc2V9PXt9KT0+e2NvbnN0IHI9W1wiW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/Oig/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSspKnxbYS16QS1aXFxcXGRdKyg/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSopKik/XFxcXHUwMDA3KVwiLFwiKD86KD86XFxcXGR7MSw0fSg/OjtcXFxcZHswLDR9KSopP1tcXFxcZEEtUFItVFpjZi1udHFyeT0+PH5dKSlcIl0uam9pbihcInxcIik7cmV0dXJuIG5ldyBSZWdFeHAocixlP3VuZGVmaW5lZDpcImdcIil9fSw1MzI6KGUscixfKT0+e2NvbnN0IHQ9Xyg1MTEpO2UuZXhwb3J0cz1lPT50eXBlb2YgZT09PVwic3RyaW5nXCI/ZS5yZXBsYWNlKHQoKSxcIlwiKTplfX07dmFyIHI9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhfKXt2YXIgdD1yW19dO2lmKHQhPT11bmRlZmluZWQpe3JldHVybiB0LmV4cG9ydHN9dmFyIGE9cltfXT17ZXhwb3J0czp7fX07dmFyIG49dHJ1ZTt0cnl7ZVtfXShhLGEuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTtuPWZhbHNlfWZpbmFsbHl7aWYobilkZWxldGUgcltfXX1yZXR1cm4gYS5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgXz1fX25jY3dwY2tfcmVxdWlyZV9fKDUzMik7bW9kdWxlLmV4cG9ydHM9X30pKCk7Il0sIm5hbWVzIjpbImUiLCJleHBvcnRzIiwib25seUZpcnN0IiwiciIsImpvaW4iLCJSZWdFeHAiLCJ1bmRlZmluZWQiLCJfIiwidCIsInJlcGxhY2UiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwiYSIsIm4iLCJhYiIsIl9fZGlybmFtZSIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/get-segment-param.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSegmentParam\", ({\n enumerable: true,\n get: function() {\n return getSegmentParam;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nfunction getSegmentParam(segment) {\n const interceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((marker)=>segment.startsWith(marker));\n // if an interception marker is part of the path segment, we need to jump ahead\n // to the relevant portion for param parsing\n if (interceptionMarker) {\n segment = segment.slice(interceptionMarker.length);\n }\n if (segment.startsWith(\"[[...\") && segment.endsWith(\"]]\")) {\n return {\n type: \"optional-catchall\",\n param: segment.slice(5, -2)\n };\n }\n if (segment.startsWith(\"[...\") && segment.endsWith(\"]\")) {\n return {\n type: \"catchall\",\n param: segment.slice(4, -1)\n };\n }\n if (segment.startsWith(\"[\") && segment.endsWith(\"]\")) {\n return {\n type: \"dynamic\",\n param: segment.slice(1, -1)\n };\n }\n return null;\n} //# sourceMappingURL=get-segment-param.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxzQkFBc0JDLG1CQUFPQSxDQUFDLDBIQUF1QztBQUMzRSxTQUFTRixnQkFBZ0JHLE9BQU87SUFDNUIsTUFBTUMscUJBQXFCSCxvQkFBb0JJLDBCQUEwQixDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsU0FBU0osUUFBUUssVUFBVSxDQUFDRDtJQUM1RywrRUFBK0U7SUFDL0UsNENBQTRDO0lBQzVDLElBQUlILG9CQUFvQjtRQUNwQkQsVUFBVUEsUUFBUU0sS0FBSyxDQUFDTCxtQkFBbUJNLE1BQU07SUFDckQ7SUFDQSxJQUFJUCxRQUFRSyxVQUFVLENBQUMsWUFBWUwsUUFBUVEsUUFBUSxDQUFDLE9BQU87UUFDdkQsT0FBTztZQUNIQyxNQUFNO1lBQ05DLE9BQU9WLFFBQVFNLEtBQUssQ0FBQyxHQUFHLENBQUM7UUFDN0I7SUFDSjtJQUNBLElBQUlOLFFBQVFLLFVBQVUsQ0FBQyxXQUFXTCxRQUFRUSxRQUFRLENBQUMsTUFBTTtRQUNyRCxPQUFPO1lBQ0hDLE1BQU07WUFDTkMsT0FBT1YsUUFBUU0sS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUM3QjtJQUNKO0lBQ0EsSUFBSU4sUUFBUUssVUFBVSxDQUFDLFFBQVFMLFFBQVFRLFFBQVEsQ0FBQyxNQUFNO1FBQ2xELE9BQU87WUFDSEMsTUFBTTtZQUNOQyxPQUFPVixRQUFRTSxLQUFLLENBQUMsR0FBRyxDQUFDO1FBQzdCO0lBQ0o7SUFDQSxPQUFPO0FBQ1gsRUFFQSw2Q0FBNkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9nZXQtc2VnbWVudC1wYXJhbS5qcz80YTA1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0U2VnbWVudFBhcmFtXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRTZWdtZW50UGFyYW07XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJjZXB0aW9ucm91dGVzID0gcmVxdWlyZShcIi4uL2Z1dHVyZS9oZWxwZXJzL2ludGVyY2VwdGlvbi1yb3V0ZXNcIik7XG5mdW5jdGlvbiBnZXRTZWdtZW50UGFyYW0oc2VnbWVudCkge1xuICAgIGNvbnN0IGludGVyY2VwdGlvbk1hcmtlciA9IF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuZmluZCgobWFya2VyKT0+c2VnbWVudC5zdGFydHNXaXRoKG1hcmtlcikpO1xuICAgIC8vIGlmIGFuIGludGVyY2VwdGlvbiBtYXJrZXIgaXMgcGFydCBvZiB0aGUgcGF0aCBzZWdtZW50LCB3ZSBuZWVkIHRvIGp1bXAgYWhlYWRcbiAgICAvLyB0byB0aGUgcmVsZXZhbnQgcG9ydGlvbiBmb3IgcGFyYW0gcGFyc2luZ1xuICAgIGlmIChpbnRlcmNlcHRpb25NYXJrZXIpIHtcbiAgICAgICAgc2VnbWVudCA9IHNlZ21lbnQuc2xpY2UoaW50ZXJjZXB0aW9uTWFya2VyLmxlbmd0aCk7XG4gICAgfVxuICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoXCJbWy4uLlwiKSAmJiBzZWdtZW50LmVuZHNXaXRoKFwiXV1cIikpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHR5cGU6IFwib3B0aW9uYWwtY2F0Y2hhbGxcIixcbiAgICAgICAgICAgIHBhcmFtOiBzZWdtZW50LnNsaWNlKDUsIC0yKVxuICAgICAgICB9O1xuICAgIH1cbiAgICBpZiAoc2VnbWVudC5zdGFydHNXaXRoKFwiWy4uLlwiKSAmJiBzZWdtZW50LmVuZHNXaXRoKFwiXVwiKSkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdHlwZTogXCJjYXRjaGFsbFwiLFxuICAgICAgICAgICAgcGFyYW06IHNlZ21lbnQuc2xpY2UoNCwgLTEpXG4gICAgICAgIH07XG4gICAgfVxuICAgIGlmIChzZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICAgIHBhcmFtOiBzZWdtZW50LnNsaWNlKDEsIC0xKVxuICAgICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LXNlZ21lbnQtcGFyYW0uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFNlZ21lbnRQYXJhbSIsIl9pbnRlcmNlcHRpb25yb3V0ZXMiLCJyZXF1aXJlIiwic2VnbWVudCIsImludGVyY2VwdGlvbk1hcmtlciIsIklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTIiwiZmluZCIsIm1hcmtlciIsInN0YXJ0c1dpdGgiLCJzbGljZSIsImxlbmd0aCIsImVuZHNXaXRoIiwidHlwZSIsInBhcmFtIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/server/dev/hot-reloader-types.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"HMR_ACTIONS_SENT_TO_BROWSER\", ({\n enumerable: true,\n get: function() {\n return HMR_ACTIONS_SENT_TO_BROWSER;\n }\n}));\nvar HMR_ACTIONS_SENT_TO_BROWSER;\n(function(HMR_ACTIONS_SENT_TO_BROWSER) {\n HMR_ACTIONS_SENT_TO_BROWSER[\"ADDED_PAGE\"] = \"addedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"REMOVED_PAGE\"] = \"removedPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"RELOAD_PAGE\"] = \"reloadPage\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_COMPONENT_CHANGES\"] = \"serverComponentChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"MIDDLEWARE_CHANGES\"] = \"middlewareChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"CLIENT_CHANGES\"] = \"clientChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ONLY_CHANGES\"] = \"serverOnlyChanges\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SYNC\"] = \"sync\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILT\"] = \"built\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"BUILDING\"] = \"building\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"FINISH_BUILDING\"] = \"finishBuilding\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"DEV_PAGES_MANIFEST_UPDATE\"] = \"devPagesManifestUpdate\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_MESSAGE\"] = \"turbopack-message\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"SERVER_ERROR\"] = \"serverError\";\n HMR_ACTIONS_SENT_TO_BROWSER[\"TURBOPACK_CONNECTED\"] = \"turbopack-connected\";\n})(HMR_ACTIONS_SENT_TO_BROWSER || (HMR_ACTIONS_SENT_TO_BROWSER = {})); //# sourceMappingURL=hot-reloader-types.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9kZXYvaG90LXJlbG9hZGVyLXR5cGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrREFBOEQ7SUFDMURJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQTtBQUNILFVBQVNBLDJCQUEyQjtJQUNqQ0EsMkJBQTJCLENBQUMsYUFBYSxHQUFHO0lBQzVDQSwyQkFBMkIsQ0FBQyxlQUFlLEdBQUc7SUFDOUNBLDJCQUEyQixDQUFDLGNBQWMsR0FBRztJQUM3Q0EsMkJBQTJCLENBQUMsMkJBQTJCLEdBQUc7SUFDMURBLDJCQUEyQixDQUFDLHFCQUFxQixHQUFHO0lBQ3BEQSwyQkFBMkIsQ0FBQyxpQkFBaUIsR0FBRztJQUNoREEsMkJBQTJCLENBQUMsc0JBQXNCLEdBQUc7SUFDckRBLDJCQUEyQixDQUFDLE9BQU8sR0FBRztJQUN0Q0EsMkJBQTJCLENBQUMsUUFBUSxHQUFHO0lBQ3ZDQSwyQkFBMkIsQ0FBQyxXQUFXLEdBQUc7SUFDMUNBLDJCQUEyQixDQUFDLGtCQUFrQixHQUFHO0lBQ2pEQSwyQkFBMkIsQ0FBQyw0QkFBNEIsR0FBRztJQUMzREEsMkJBQTJCLENBQUMsb0JBQW9CLEdBQUc7SUFDbkRBLDJCQUEyQixDQUFDLGVBQWUsR0FBRztJQUM5Q0EsMkJBQTJCLENBQUMsc0JBQXNCLEdBQUc7QUFDekQsR0FBR0EsK0JBQWdDQSxDQUFBQSw4QkFBOEIsQ0FBQyxLQUVsRSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZGV2L2hvdC1yZWxvYWRlci10eXBlcy5qcz9iZmFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVI7XG4gICAgfVxufSk7XG52YXIgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSO1xuKGZ1bmN0aW9uKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUikge1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkFEREVEX1BBR0VcIl0gPSBcImFkZGVkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlJFTU9WRURfUEFHRVwiXSA9IFwicmVtb3ZlZFBhZ2VcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJSRUxPQURfUEFHRVwiXSA9IFwicmVsb2FkUGFnZVwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFU1wiXSA9IFwic2VydmVyQ29tcG9uZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIk1JRERMRVdBUkVfQ0hBTkdFU1wiXSA9IFwibWlkZGxld2FyZUNoYW5nZXNcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJDTElFTlRfQ0hBTkdFU1wiXSA9IFwiY2xpZW50Q2hhbmdlc1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlNFUlZFUl9PTkxZX0NIQU5HRVNcIl0gPSBcInNlcnZlck9ubHlDaGFuZ2VzXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU1lOQ1wiXSA9IFwic3luY1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxUXCJdID0gXCJidWlsdFwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkJVSUxESU5HXCJdID0gXCJidWlsZGluZ1wiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIkZJTklTSF9CVUlMRElOR1wiXSA9IFwiZmluaXNoQnVpbGRpbmdcIjtcbiAgICBITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVJbXCJERVZfUEFHRVNfTUFOSUZFU1RfVVBEQVRFXCJdID0gXCJkZXZQYWdlc01hbmlmZXN0VXBkYXRlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiVFVSQk9QQUNLX01FU1NBR0VcIl0gPSBcInR1cmJvcGFjay1tZXNzYWdlXCI7XG4gICAgSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSW1wiU0VSVkVSX0VSUk9SXCJdID0gXCJzZXJ2ZXJFcnJvclwiO1xuICAgIEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUltcIlRVUkJPUEFDS19DT05ORUNURURcIl0gPSBcInR1cmJvcGFjay1jb25uZWN0ZWRcIjtcbn0pKEhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiB8fCAoSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSID0ge30pKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG90LXJlbG9hZGVyLXR5cGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n} //# sourceMappingURL=interception-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxxQ0FBcUM7UUFDakMsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sWUFBWUMsbUJBQU9BLENBQUMsdUhBQTRDO0FBQ3RFLE1BQU1WLDZCQUE2QjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU0MsMkJBQTJCVSxJQUFJO0lBQ3BDLHdDQUF3QztJQUN4QyxPQUFPQSxLQUFLQyxLQUFLLENBQUMsS0FBS0MsSUFBSSxDQUFDLENBQUNDLFVBQVVkLDJCQUEyQmEsSUFBSSxDQUFDLENBQUNFLElBQUlELFFBQVFFLFVBQVUsQ0FBQ0QsU0FBU0U7QUFDNUc7QUFDQSxTQUFTZixvQ0FBb0NTLElBQUk7SUFDN0MsSUFBSU8sbUJBQW1CQyxRQUFRQztJQUMvQixLQUFLLE1BQU1OLFdBQVdILEtBQUtDLEtBQUssQ0FBQyxLQUFLO1FBQ2xDTyxTQUFTbkIsMkJBQTJCYSxJQUFJLENBQUMsQ0FBQ0UsSUFBSUQsUUFBUUUsVUFBVSxDQUFDRDtRQUNqRSxJQUFJSSxRQUFRO1lBQ1IsQ0FBQ0QsbUJBQW1CRSxpQkFBaUIsR0FBR1QsS0FBS0MsS0FBSyxDQUFDTyxRQUFRO1lBQzNEO1FBQ0o7SUFDSjtJQUNBLElBQUksQ0FBQ0QscUJBQXFCLENBQUNDLFVBQVUsQ0FBQ0Msa0JBQWtCO1FBQ3BELE1BQU0sSUFBSUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFVixLQUFLLGlGQUFpRixDQUFDO0lBQzFJO0lBQ0FPLG9CQUFvQixDQUFDLEdBQUdULFVBQVVhLGdCQUFnQixFQUFFSixtQkFBbUIsaURBQWlEOztJQUV4SCxPQUFPQztRQUNILEtBQUs7WUFDRCxvSUFBb0k7WUFDcEksSUFBSUQsc0JBQXNCLEtBQUs7Z0JBQzNCRSxtQkFBbUIsQ0FBQyxDQUFDLEVBQUVBLGlCQUFpQixDQUFDO1lBQzdDLE9BQU87Z0JBQ0hBLG1CQUFtQkYsb0JBQW9CLE1BQU1FO1lBQ2pEO1lBQ0E7UUFDSixLQUFLO1lBQ0QsdUhBQXVIO1lBQ3ZILElBQUlGLHNCQUFzQixLQUFLO2dCQUMzQixNQUFNLElBQUlHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRVYsS0FBSyw0REFBNEQsQ0FBQztZQUNySDtZQUNBUyxtQkFBbUJGLGtCQUFrQk4sS0FBSyxDQUFDLEtBQUtXLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBR0MsTUFBTSxDQUFDSixrQkFBa0JLLElBQUksQ0FBQztZQUMzRjtRQUNKLEtBQUs7WUFDRCxrSUFBa0k7WUFDbElMLG1CQUFtQixNQUFNQTtZQUN6QjtRQUNKLEtBQUs7WUFDRCxpSUFBaUk7WUFDakksTUFBTU0seUJBQXlCUixrQkFBa0JOLEtBQUssQ0FBQztZQUN2RCxJQUFJYyx1QkFBdUJDLE1BQU0sSUFBSSxHQUFHO2dCQUNwQyxNQUFNLElBQUlOLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRVYsS0FBSywrREFBK0QsQ0FBQztZQUN4SDtZQUNBUyxtQkFBbUJNLHVCQUF1QkgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHQyxNQUFNLENBQUNKLGtCQUFrQkssSUFBSSxDQUFDO1lBQ3JGO1FBQ0o7WUFDSSxNQUFNLElBQUlKLE1BQU07SUFDeEI7SUFDQSxPQUFPO1FBQ0hIO1FBQ0FFO0lBQ0o7QUFDSixFQUVBLCtDQUErQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzPzM1Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzogbnVsbCxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogbnVsbCxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUztcbiAgICB9LFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoO1xuICAgIH0sXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb247XG4gICAgfVxufSk7XG5jb25zdCBfYXBwcGF0aHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzXCIpO1xuY29uc3QgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMgPSBbXG4gICAgXCIoLi4pKC4uKVwiLFxuICAgIFwiKC4pXCIsXG4gICAgXCIoLi4pXCIsXG4gICAgXCIoLi4uKVwiXG5dO1xuZnVuY3Rpb24gaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgocGF0aCkge1xuICAgIC8vIFRPRE8tQVBQOiBhZGQgbW9yZSBzZXJpb3VzIHZhbGlkYXRpb25cbiAgICByZXR1cm4gcGF0aC5zcGxpdChcIi9cIikuZmluZCgoc2VnbWVudCk9PklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpKSAhPT0gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24ocGF0aCkge1xuICAgIGxldCBpbnRlcmNlcHRpbmdSb3V0ZSwgbWFya2VyLCBpbnRlcmNlcHRlZFJvdXRlO1xuICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBwYXRoLnNwbGl0KFwiL1wiKSl7XG4gICAgICAgIG1hcmtlciA9IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpO1xuICAgICAgICBpZiAobWFya2VyKSB7XG4gICAgICAgICAgICBbaW50ZXJjZXB0aW5nUm91dGUsIGludGVyY2VwdGVkUm91dGVdID0gcGF0aC5zcGxpdChtYXJrZXIsIDIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFpbnRlcmNlcHRpbmdSb3V0ZSB8fCAhbWFya2VyIHx8ICFpbnRlcmNlcHRlZFJvdXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7cGF0aH0uIE11c3QgYmUgaW4gdGhlIGZvcm1hdCAvPGludGVyY2VwdGluZyByb3V0ZT4vKC4ufC4uLnwuLikoLi4pLzxpbnRlcmNlcHRlZCByb3V0ZT5gKTtcbiAgICB9XG4gICAgaW50ZXJjZXB0aW5nUm91dGUgPSAoMCwgX2FwcHBhdGhzLm5vcm1hbGl6ZUFwcFBhdGgpKGludGVyY2VwdGluZ1JvdXRlKSAvLyBub3JtYWxpemUgdGhlIHBhdGgsIGUuZy4gLyhibG9nKS9mZWVkIC0+IC9mZWVkXG4gICAgO1xuICAgIHN3aXRjaChtYXJrZXIpe1xuICAgICAgICBjYXNlIFwiKC4pXCI6XG4gICAgICAgICAgICAvLyAoLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIHdpdGggc2libGluZyByb3V0ZXMsIHNvIHdlIGp1c3QgbmVlZCB0byBhcHBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlIHRvIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gYC8ke2ludGVyY2VwdGVkUm91dGV9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlICsgXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCBvbmUgbGV2ZWwgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7cGF0aH0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZS5zcGxpdChcIi9cIikuc2xpY2UoMCwgLTEpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uLilcIjpcbiAgICAgICAgICAgIC8vICguLi4pIHdpbGwgbWF0Y2ggdGhlIHJvdXRlIHNlZ21lbnQgaW4gdGhlIHJvb3QgZGlyZWN0b3J5LCBzbyB3ZSBuZWVkIHRvIHVzZSB0aGUgcm9vdCBkaXJlY3RvcnkgdG8gcHJlcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGVcbiAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLikoLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4pKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgdHdvIGxldmVscyB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3QgdHdvIHNlZ21lbnRzIG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZS5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICBpZiAoc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5sZW5ndGggPD0gMikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7cGF0aH0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBzcGxpdEludGVyY2VwdGluZ1JvdXRlLnNsaWNlKDAsIC0yKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogdW5leHBlY3RlZCBtYXJrZXJcIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGludGVyY2VwdGluZ1JvdXRlLFxuICAgICAgICBpbnRlcmNlcHRlZFJvdXRlXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW50ZXJjZXB0aW9uLXJvdXRlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwiZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfYXBwcGF0aHMiLCJyZXF1aXJlIiwicGF0aCIsInNwbGl0IiwiZmluZCIsInNlZ21lbnQiLCJtIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsImludGVyY2VwdGluZ1JvdXRlIiwibWFya2VyIiwiaW50ZXJjZXB0ZWRSb3V0ZSIsIkVycm9yIiwibm9ybWFsaXplQXBwUGF0aCIsInNsaWNlIiwiY29uY2F0Iiwiam9pbiIsInNwbGl0SW50ZXJjZXB0aW5nUm91dGUiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7": /*!****************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-page.runtime.dev.js */ \"next/dist/compiled/next-server/app-page.runtime.dev.js\");\n } else {}\n }\n} //# sourceMappingURL=module.compiled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWQuanM/M2ZiNyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLEtBQW1DLEVBQUUsRUFFeEMsTUFBTTtJQUNILElBQUlBLEtBQXFDLEVBQUUsRUFRMUMsTUFBTTtRQUNILElBQUlBLElBQXNDLEVBQUU7WUFDeENHLDRKQUFrRjtRQUN0RixPQUFPLEVBSU47SUFDTDtBQUNKLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZC5qcz9jNGVlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5qc1wiKTtcbn0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5kZXYuanNcIik7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UtdHVyYm8tZXhwZXJpbWVudGFsLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS5ydW50aW1lLmRldi5qc1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUuY29tcGlsZWQuanMubWFwIl0sIm5hbWVzIjpbInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsIl9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QiLCJUVVJCT1BBQ0siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js": /*!******************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js ***! \******************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.AmpContext; //# sourceMappingURL=amp-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hbXAtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw2TEFBaUYsRUFFakYsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL2FtcC1jb250ZXh0LmpzPzdjMmUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5BbXBDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hbXAtY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIkFtcENvbnRleHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js ***! \*************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.AppRouterContext; //# sourceMappingURL=app-router-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hcHAtcm91dGVyLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsbU1BQXVGLEVBRXZGLDhDQUE4QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9hcHAtcm91dGVyLWNvbnRleHQuanM/ZTY2YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcImNvbnRleHRzXCJdLkFwcFJvdXRlckNvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1yb3V0ZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIkFwcFJvdXRlckNvbnRleHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.HeadManagerContext; //# sourceMappingURL=head-manager-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9oZWFkLW1hbmFnZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL2hlYWQtbWFuYWdlci1jb250ZXh0LmpzPzE3NDEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5IZWFkTWFuYWdlckNvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhlYWQtbWFuYWdlci1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiSGVhZE1hbmFnZXJDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.HooksClientContext; //# sourceMappingURL=hooks-client-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9ob29rcy1jbGllbnQtY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL2hvb2tzLWNsaWVudC1jb250ZXh0LmpzPzQzMWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5Ib29rc0NsaWVudENvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhvb2tzLWNsaWVudC1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiSG9va3NDbGllbnRDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.ImageConfigContext; //# sourceMappingURL=image-config-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9pbWFnZS1jb25maWctY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL2ltYWdlLWNvbmZpZy1jb250ZXh0LmpzPzUyNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5JbWFnZUNvbmZpZ0NvbnRleHQ7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWNvbmZpZy1jb250ZXh0LmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiSW1hZ2VDb25maWdDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/image-config-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js ***! \*********************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.RouterContext; //# sourceMappingURL=router-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9yb3V0ZXItY29udGV4dC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxnTUFBb0YsRUFFcEYsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL3JvdXRlci1jb250ZXh0LmpzPzgwNzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5Sb3V0ZXJDb250ZXh0O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZXItY29udGV4dC5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJvdXRlckNvbnRleHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/router-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js ***! \***************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored.contexts.ServerInsertedHtml; //# sourceMappingURL=server-inserted-html.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9jb250ZXh0cy9zZXJ2ZXItaW5zZXJ0ZWQtaHRtbC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSxxTUFBeUYsRUFFekYsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL3ZlbmRvcmVkL2NvbnRleHRzL3NlcnZlci1pbnNlcnRlZC1odG1sLmpzP2VhZDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCIuLi8uLi9tb2R1bGUuY29tcGlsZWRcIikudmVuZG9yZWRbXCJjb250ZXh0c1wiXS5TZXJ2ZXJJbnNlcnRlZEh0bWw7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlcnZlci1pbnNlcnRlZC1odG1sLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiU2VydmVySW5zZXJ0ZWRIdG1sIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactDOM; //# sourceMappingURL=react-dom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtZG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLCtMQUFnRixFQUVoRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvc3NyL3JlYWN0LWRvbS5qcz85OTI2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3Qtc3NyXCJdLlJlYWN0RE9NO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1kb20uanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdERPTSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js ***! \***********************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHlNQUEwRixFQUUxRixpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvc3NyL3JlYWN0LWpzeC1kZXYtcnVudGltZS5qcz80MGI0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3Qtc3NyXCJdLlJlYWN0SnN4RGV2UnVudGltZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtanN4LWRldi1ydW50aW1lLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RKc3hEZXZSdW50aW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js ***! \*******************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactJsxRuntime; //# sourceMappingURL=react-jsx-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsc01BQXVGLEVBRXZGLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QtanN4LXJ1bnRpbWUuanM/OWJjYiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXNzclwiXS5SZWFjdEpzeFJ1bnRpbWU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWpzeC1ydW50aW1lLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RKc3hSdW50aW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js ***! \**************************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].ReactServerDOMWebpackClientEdge; //# sourceMappingURL=react-server-dom-webpack-client-edge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLWNsaWVudC1lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHNOQUF1RyxFQUV2RyxnRUFBZ0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvc3NyL3JlYWN0LXNlcnZlci1kb20td2VicGFjay1jbGllbnQtZWRnZS5qcz82OWQ0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3Qtc3NyXCJdLlJlYWN0U2VydmVyRE9NV2VicGFja0NsaWVudEVkZ2U7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LXNlcnZlci1kb20td2VicGFjay1jbGllbnQtZWRnZS5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJlYWN0U2VydmVyRE9NV2VicGFja0NsaWVudEVkZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-server-dom-webpack-client-edge.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?3fb7\").vendored[\"react-ssr\"].React; //# sourceMappingURL=react.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsNExBQTZFLEVBRTdFLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9zc3IvcmVhY3QuanM/MWFlNCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXNzclwiXS5SZWFjdDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/amp-mode.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/amp-mode.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isInAmpMode\", ({\n enumerable: true,\n get: function() {\n return isInAmpMode;\n }\n}));\nfunction isInAmpMode(param) {\n let { ampFirst = false, hybrid = false, hasQuery = false } = param === void 0 ? {} : param;\n return ampFirst || hybrid && hasQuery;\n} //# sourceMappingURL=amp-mode.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvYW1wLW1vZGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFlBQVlDLEtBQUs7SUFDdEIsSUFBSSxFQUFFQyxXQUFXLEtBQUssRUFBRUMsU0FBUyxLQUFLLEVBQUVDLFdBQVcsS0FBSyxFQUFFLEdBQUdILFVBQVUsS0FBSyxJQUFJLENBQUMsSUFBSUE7SUFDckYsT0FBT0MsWUFBWUMsVUFBVUM7QUFDakMsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2FtcC1tb2RlLmpzPzYyMzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0luQW1wTW9kZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNJbkFtcE1vZGU7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0luQW1wTW9kZShwYXJhbSkge1xuICAgIGxldCB7IGFtcEZpcnN0ID0gZmFsc2UsIGh5YnJpZCA9IGZhbHNlLCBoYXNRdWVyeSA9IGZhbHNlIH0gPSBwYXJhbSA9PT0gdm9pZCAwID8ge30gOiBwYXJhbTtcbiAgICByZXR1cm4gYW1wRmlyc3QgfHwgaHlicmlkICYmIGhhc1F1ZXJ5O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hbXAtbW9kZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNJbkFtcE1vZGUiLCJwYXJhbSIsImFtcEZpcnN0IiwiaHlicmlkIiwiaGFzUXVlcnkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/amp-mode.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7QUFDN0Q7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNGLG1CQUFtQkcsR0FBRztJQUMzQiwrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3ZCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3hDO0lBQ0EsT0FBT0M7QUFDWCxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcz9kYmZiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZ2V4cCBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2VzY2FwZS1zdHJpbmctcmVnZXhwXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVzY2FwZVN0cmluZ1JlZ2V4cFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXNjYXBlU3RyaW5nUmVnZXhwO1xuICAgIH1cbn0pO1xuY29uc3QgcmVIYXNSZWdFeHAgPSAvW3xcXFxce30oKVtcXF1eJCsqPy4tXS87XG5jb25zdCByZVJlcGxhY2VSZWdFeHAgPSAvW3xcXFxce30oKVtcXF1eJCsqPy4tXS9nO1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nUmVnZXhwKHN0cikge1xuICAgIC8vIHNlZSBhbHNvOiBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iLzJkYTAyNGMzYjRmOTk0N2E0ODUxNzYzOWRlNzU2MDQ1N2NkNGVjNmMvZXNjYXBlUmVnRXhwLmpzI0wyM1xuICAgIGlmIChyZUhhc1JlZ0V4cC50ZXN0KHN0cikpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKHJlUmVwbGFjZVJlZ0V4cCwgXCJcXFxcJCZcIik7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzY2FwZS1yZWdleHAuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsInJlSGFzUmVnRXhwIiwicmVSZXBsYWNlUmVnRXhwIiwic3RyIiwidGVzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/get-img-props.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImgProps\", ({\n enumerable: true,\n get: function() {\n return getImgProps;\n }\n}));\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _imageblursvg = __webpack_require__(/*! ./image-blur-svg */ \"(ssr)/./node_modules/next/dist/shared/lib/image-blur-svg.js\");\nconst _imageconfig = __webpack_require__(/*! ./image-config */ \"(ssr)/./node_modules/next/dist/shared/lib/image-config.js\");\nconst VALID_LOADING_VALUES = [\n \"lazy\",\n \"eager\",\n undefined\n];\nfunction isStaticRequire(src) {\n return src.default !== undefined;\n}\nfunction isStaticImageData(src) {\n return src.src !== undefined;\n}\nfunction isStaticImport(src) {\n return typeof src === \"object\" && (isStaticRequire(src) || isStaticImageData(src));\n}\nconst allImgs = new Map();\nlet perfObserver;\nfunction getInt(x) {\n if (typeof x === \"undefined\") {\n return x;\n }\n if (typeof x === \"number\") {\n return Number.isFinite(x) ? x : NaN;\n }\n if (typeof x === \"string\" && /^[0-9]+$/.test(x)) {\n return parseInt(x, 10);\n }\n return NaN;\n}\nfunction getWidths(param, width, sizes) {\n let { deviceSizes, allSizes } = param;\n if (sizes) {\n // Find all the \"vw\" percent sizes used in the sizes prop\n const viewportWidthRe = /(^|\\s)(1?\\d?\\d)vw/g;\n const percentSizes = [];\n for(let match; match = viewportWidthRe.exec(sizes); match){\n percentSizes.push(parseInt(match[2]));\n }\n if (percentSizes.length) {\n const smallestRatio = Math.min(...percentSizes) * 0.01;\n return {\n widths: allSizes.filter((s)=>s >= deviceSizes[0] * smallestRatio),\n kind: \"w\"\n };\n }\n return {\n widths: allSizes,\n kind: \"w\"\n };\n }\n if (typeof width !== \"number\") {\n return {\n widths: deviceSizes,\n kind: \"w\"\n };\n }\n const widths = [\n ...new Set(// > are actually 3x in the green color, but only 1.5x in the red and\n // > blue colors. Showing a 3x resolution image in the app vs a 2x\n // > resolution image will be visually the same, though the 3x image\n // > takes significantly more data. Even true 3x resolution screens are\n // > wasteful as the human eye cannot see that level of detail without\n // > something like a magnifying glass.\n // https://blog.twitter.com/engineering/en_us/topics/infrastructure/2019/capping-image-fidelity-on-ultra-high-resolution-devices.html\n [\n width,\n width * 2 /*, width * 3*/ \n ].map((w)=>allSizes.find((p)=>p >= w) || allSizes[allSizes.length - 1]))\n ];\n return {\n widths,\n kind: \"x\"\n };\n}\nfunction generateImgAttrs(param) {\n let { config, src, unoptimized, width, quality, sizes, loader } = param;\n if (unoptimized) {\n return {\n src,\n srcSet: undefined,\n sizes: undefined\n };\n }\n const { widths, kind } = getWidths(config, width, sizes);\n const last = widths.length - 1;\n return {\n sizes: !sizes && kind === \"w\" ? \"100vw\" : sizes,\n srcSet: widths.map((w, i)=>loader({\n config,\n src,\n quality,\n width: w\n }) + \" \" + (kind === \"w\" ? w : i + 1) + kind).join(\", \"),\n // It's intended to keep `src` the last attribute because React updates\n // attributes in order. If we keep `src` the first one, Safari will\n // immediately start to fetch `src`, before `sizes` and `srcSet` are even\n // updated by React. That causes multiple unnecessary requests if `srcSet`\n // and `sizes` are defined.\n // This bug cannot be reproduced in Chrome or Firefox.\n src: loader({\n config,\n src,\n quality,\n width: widths[last]\n })\n };\n}\nfunction getImgProps(param, _state) {\n let { src, sizes, unoptimized = false, priority = false, loading, className, quality, width, height, fill = false, style, onLoad, onLoadingComplete, placeholder = \"empty\", blurDataURL, fetchPriority, layout, objectFit, objectPosition, lazyBoundary, lazyRoot, ...rest } = param;\n const { imgConf, showAltText, blurComplete, defaultLoader } = _state;\n let config;\n let c = imgConf || _imageconfig.imageConfigDefault;\n if (\"allSizes\" in c) {\n config = c;\n } else {\n const allSizes = [\n ...c.deviceSizes,\n ...c.imageSizes\n ].sort((a, b)=>a - b);\n const deviceSizes = c.deviceSizes.sort((a, b)=>a - b);\n config = {\n ...c,\n allSizes,\n deviceSizes\n };\n }\n let loader = rest.loader || defaultLoader;\n // Remove property so it's not spread on <img> element\n delete rest.loader;\n delete rest.srcSet;\n // This special value indicates that the user\n // didn't define a \"loader\" prop or \"loader\" config.\n const isDefaultLoader = \"__next_img_default\" in loader;\n if (isDefaultLoader) {\n if (config.loader === \"custom\") {\n throw new Error('Image with src \"' + src + '\" is missing \"loader\" prop.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader\");\n }\n } else {\n // The user defined a \"loader\" prop or config.\n // Since the config object is internal only, we\n // must not pass it to the user-defined \"loader\".\n const customImageLoader = loader;\n loader = (obj)=>{\n const { config: _, ...opts } = obj;\n return customImageLoader(opts);\n };\n }\n if (layout) {\n if (layout === \"fill\") {\n fill = true;\n }\n const layoutToStyle = {\n intrinsic: {\n maxWidth: \"100%\",\n height: \"auto\"\n },\n responsive: {\n width: \"100%\",\n height: \"auto\"\n }\n };\n const layoutToSizes = {\n responsive: \"100vw\",\n fill: \"100vw\"\n };\n const layoutStyle = layoutToStyle[layout];\n if (layoutStyle) {\n style = {\n ...style,\n ...layoutStyle\n };\n }\n const layoutSizes = layoutToSizes[layout];\n if (layoutSizes && !sizes) {\n sizes = layoutSizes;\n }\n }\n let staticSrc = \"\";\n let widthInt = getInt(width);\n let heightInt = getInt(height);\n let blurWidth;\n let blurHeight;\n if (isStaticImport(src)) {\n const staticImageData = isStaticRequire(src) ? src.default : src;\n if (!staticImageData.src) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include src. Received \" + JSON.stringify(staticImageData));\n }\n if (!staticImageData.height || !staticImageData.width) {\n throw new Error(\"An object should only be passed to the image component src parameter if it comes from a static image import. It must include height and width. Received \" + JSON.stringify(staticImageData));\n }\n blurWidth = staticImageData.blurWidth;\n blurHeight = staticImageData.blurHeight;\n blurDataURL = blurDataURL || staticImageData.blurDataURL;\n staticSrc = staticImageData.src;\n if (!fill) {\n if (!widthInt && !heightInt) {\n widthInt = staticImageData.width;\n heightInt = staticImageData.height;\n } else if (widthInt && !heightInt) {\n const ratio = widthInt / staticImageData.width;\n heightInt = Math.round(staticImageData.height * ratio);\n } else if (!widthInt && heightInt) {\n const ratio = heightInt / staticImageData.height;\n widthInt = Math.round(staticImageData.width * ratio);\n }\n }\n }\n src = typeof src === \"string\" ? src : staticSrc;\n let isLazy = !priority && (loading === \"lazy\" || typeof loading === \"undefined\");\n if (!src || src.startsWith(\"data:\") || src.startsWith(\"blob:\")) {\n // https://developer.mozilla.org/docs/Web/HTTP/Basics_of_HTTP/Data_URIs\n unoptimized = true;\n isLazy = false;\n }\n if (config.unoptimized) {\n unoptimized = true;\n }\n if (isDefaultLoader && src.endsWith(\".svg\") && !config.dangerouslyAllowSVG) {\n // Special case to make svg serve as-is to avoid proxying\n // through the built-in Image Optimization API.\n unoptimized = true;\n }\n if (priority) {\n fetchPriority = \"high\";\n }\n const qualityInt = getInt(quality);\n if (true) {\n if (config.output === \"export\" && isDefaultLoader && !unoptimized) {\n throw new Error(\"Image Optimization using the default loader is not compatible with `{ output: 'export' }`.\\n Possible solutions:\\n - Remove `{ output: 'export' }` and run \\\"next start\\\" to run server mode including the Image Optimization API.\\n - Configure `{ images: { unoptimized: true } }` in `next.config.js` to disable the Image Optimization API.\\n Read more: https://nextjs.org/docs/messages/export-image-api\");\n }\n if (!src) {\n // React doesn't show the stack trace and there's\n // no `src` to help identify which image, so we\n // instead console.error(ref) during mount.\n unoptimized = true;\n } else {\n if (fill) {\n if (width) {\n throw new Error('Image with src \"' + src + '\" has both \"width\" and \"fill\" properties. Only one should be used.');\n }\n if (height) {\n throw new Error('Image with src \"' + src + '\" has both \"height\" and \"fill\" properties. Only one should be used.');\n }\n if ((style == null ? void 0 : style.position) && style.position !== \"absolute\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.position\" properties. Images with \"fill\" always use position absolute - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.width) && style.width !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.width\" properties. Images with \"fill\" always use width 100% - it cannot be modified.');\n }\n if ((style == null ? void 0 : style.height) && style.height !== \"100%\") {\n throw new Error('Image with src \"' + src + '\" has both \"fill\" and \"style.height\" properties. Images with \"fill\" always use height 100% - it cannot be modified.');\n }\n } else {\n if (typeof widthInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"width\" property.');\n } else if (isNaN(widthInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"width\" property. Expected a numeric value in pixels but received \"' + width + '\".');\n }\n if (typeof heightInt === \"undefined\") {\n throw new Error('Image with src \"' + src + '\" is missing required \"height\" property.');\n } else if (isNaN(heightInt)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"height\" property. Expected a numeric value in pixels but received \"' + height + '\".');\n }\n }\n }\n if (!VALID_LOADING_VALUES.includes(loading)) {\n throw new Error('Image with src \"' + src + '\" has invalid \"loading\" property. Provided \"' + loading + '\" should be one of ' + VALID_LOADING_VALUES.map(String).join(\",\") + \".\");\n }\n if (priority && loading === \"lazy\") {\n throw new Error('Image with src \"' + src + '\" has both \"priority\" and \"loading=\\'lazy\\'\" properties. Only one should be used.');\n }\n if (placeholder !== \"empty\" && placeholder !== \"blur\" && !placeholder.startsWith(\"data:image/\")) {\n throw new Error('Image with src \"' + src + '\" has invalid \"placeholder\" property \"' + placeholder + '\".');\n }\n if (placeholder !== \"empty\") {\n if (widthInt && heightInt && widthInt * heightInt < 1600) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is smaller than 40x40. Consider removing the \"placeholder\" property to improve performance.');\n }\n }\n if (placeholder === \"blur\" && !blurDataURL) {\n const VALID_BLUR_EXT = [\n \"jpeg\",\n \"png\",\n \"webp\",\n \"avif\"\n ] // should match next-image-loader\n ;\n throw new Error('Image with src \"' + src + '\" has \"placeholder=\\'blur\\'\" property but is missing the \"blurDataURL\" property.\\n Possible solutions:\\n - Add a \"blurDataURL\" property, the contents should be a small Data URL to represent the image\\n - Change the \"src\" property to a static import with one of the supported file types: ' + VALID_BLUR_EXT.join(\",\") + ' (animated images not supported)\\n - Remove the \"placeholder\" property, effectively no blur effect\\n Read more: https://nextjs.org/docs/messages/placeholder-blur-data-url');\n }\n if (\"ref\" in rest) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using unsupported \"ref\" property. Consider using the \"onLoad\" property instead.');\n }\n if (!unoptimized && !isDefaultLoader) {\n const urlStr = loader({\n config,\n src,\n width: widthInt || 400,\n quality: qualityInt || 75\n });\n let url;\n try {\n url = new URL(urlStr);\n } catch (err) {}\n if (urlStr === src || url && url.pathname === src && !url.search) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has a \"loader\" property that does not implement width. Please implement it or use the \"unoptimized\" property instead.' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-missing-loader-width\");\n }\n }\n if (onLoadingComplete) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" is using deprecated \"onLoadingComplete\" property. Please use the \"onLoad\" property instead.');\n }\n for (const [legacyKey, legacyValue] of Object.entries({\n layout,\n objectFit,\n objectPosition,\n lazyBoundary,\n lazyRoot\n })){\n if (legacyValue) {\n (0, _warnonce.warnOnce)('Image with src \"' + src + '\" has legacy prop \"' + legacyKey + '\". Did you forget to run the codemod?' + \"\\nRead more: https://nextjs.org/docs/messages/next-image-upgrade-to-13\");\n }\n }\n if (false) {}\n }\n const imgStyle = Object.assign(fill ? {\n position: \"absolute\",\n height: \"100%\",\n width: \"100%\",\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n objectFit,\n objectPosition\n } : {}, showAltText ? {} : {\n color: \"transparent\"\n }, style);\n const backgroundImage = !blurComplete && placeholder !== \"empty\" ? placeholder === \"blur\" ? 'url(\"data:image/svg+xml;charset=utf-8,' + (0, _imageblursvg.getImageBlurSvg)({\n widthInt,\n heightInt,\n blurWidth,\n blurHeight,\n blurDataURL: blurDataURL || \"\",\n objectFit: imgStyle.objectFit\n }) + '\")' : 'url(\"' + placeholder + '\")' // assume `data:image/`\n : null;\n let placeholderStyle = backgroundImage ? {\n backgroundSize: imgStyle.objectFit || \"cover\",\n backgroundPosition: imgStyle.objectPosition || \"50% 50%\",\n backgroundRepeat: \"no-repeat\",\n backgroundImage\n } : {};\n if (true) {\n if (placeholderStyle.backgroundImage && placeholder === \"blur\" && (blurDataURL == null ? void 0 : blurDataURL.startsWith(\"/\"))) {\n // During `next dev`, we don't want to generate blur placeholders with webpack\n // because it can delay starting the dev server. Instead, `next-image-loader.js`\n // will inline a special url to lazily generate the blur placeholder at request time.\n placeholderStyle.backgroundImage = 'url(\"' + blurDataURL + '\")';\n }\n }\n const imgAttributes = generateImgAttrs({\n config,\n src,\n unoptimized,\n width: widthInt,\n quality: qualityInt,\n sizes,\n loader\n });\n if (true) {\n if (false) {}\n }\n const props = {\n ...rest,\n loading: isLazy ? \"lazy\" : loading,\n fetchPriority,\n width: widthInt,\n height: heightInt,\n decoding: \"async\",\n className,\n style: {\n ...imgStyle,\n ...placeholderStyle\n },\n sizes: imgAttributes.sizes,\n srcSet: imgAttributes.srcSet,\n src: imgAttributes.src\n };\n const meta = {\n unoptimized,\n priority,\n placeholder,\n fill\n };\n return {\n props,\n meta\n };\n} //# sourceMappingURL=get-img-props.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZ2V0LWltZy1wcm9wcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsK0NBQThDO0lBQzFDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsWUFBWUMsbUJBQU9BLENBQUMsdUZBQW1CO0FBQzdDLE1BQU1DLGdCQUFnQkQsbUJBQU9BLENBQUMscUZBQWtCO0FBQ2hELE1BQU1FLGVBQWVGLG1CQUFPQSxDQUFDLGlGQUFnQjtBQUM3QyxNQUFNRyx1QkFBdUI7SUFDekI7SUFDQTtJQUNBQztDQUNIO0FBQ0QsU0FBU0MsZ0JBQWdCQyxHQUFHO0lBQ3hCLE9BQU9BLElBQUlDLE9BQU8sS0FBS0g7QUFDM0I7QUFDQSxTQUFTSSxrQkFBa0JGLEdBQUc7SUFDMUIsT0FBT0EsSUFBSUEsR0FBRyxLQUFLRjtBQUN2QjtBQUNBLFNBQVNLLGVBQWVILEdBQUc7SUFDdkIsT0FBTyxPQUFPQSxRQUFRLFlBQWFELENBQUFBLGdCQUFnQkMsUUFBUUUsa0JBQWtCRixJQUFHO0FBQ3BGO0FBQ0EsTUFBTUksVUFBVSxJQUFJQztBQUNwQixJQUFJQztBQUNKLFNBQVNDLE9BQU9DLENBQUM7SUFDYixJQUFJLE9BQU9BLE1BQU0sYUFBYTtRQUMxQixPQUFPQTtJQUNYO0lBQ0EsSUFBSSxPQUFPQSxNQUFNLFVBQVU7UUFDdkIsT0FBT0MsT0FBT0MsUUFBUSxDQUFDRixLQUFLQSxJQUFJRztJQUNwQztJQUNBLElBQUksT0FBT0gsTUFBTSxZQUFZLFdBQVdJLElBQUksQ0FBQ0osSUFBSTtRQUM3QyxPQUFPSyxTQUFTTCxHQUFHO0lBQ3ZCO0lBQ0EsT0FBT0c7QUFDWDtBQUNBLFNBQVNHLFVBQVVDLEtBQUssRUFBRUMsS0FBSyxFQUFFQyxLQUFLO0lBQ2xDLElBQUksRUFBRUMsV0FBVyxFQUFF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SUFBSTtRQUMvQ3FGLGtCQUFrQjtRQUNsQkw7SUFDSixJQUFJLENBQUM7SUFDTCxJQUFJdEMsSUFBc0MsRUFBRTtRQUN4QyxJQUFJd0MsaUJBQWlCRixlQUFlLElBQUlyRixnQkFBZ0IsVUFBV0MsQ0FBQUEsZUFBZSxPQUFPLEtBQUssSUFBSUEsWUFBWTBDLFVBQVUsQ0FBQyxJQUFHLEdBQUk7WUFDNUgsOEVBQThFO1lBQzlFLGdGQUFnRjtZQUNoRixxRkFBcUY7WUFDckY0QyxpQkFBaUJGLGVBQWUsR0FBRyxVQUFVcEYsY0FBYztRQUMvRDtJQUNKO0lBQ0EsTUFBTTBGLGdCQUFnQjdHLGlCQUFpQjtRQUNuQ0M7UUFDQXZDO1FBQ0F3QztRQUNBeEIsT0FBT3lFO1FBQ1BoRCxTQUFTNkQ7UUFDVHJGO1FBQ0F5QjtJQUNKO0lBQ0EsSUFBSTZELElBQXFDLEVBQUU7UUFDdkMsSUFBSSxLQUE2QixFQUFFLEVBWWxDO0lBQ0w7SUFDQSxNQUFNa0QsUUFBUTtRQUNWLEdBQUd6RixJQUFJO1FBQ1BmLFNBQVNpRCxTQUFTLFNBQVNqRDtRQUMzQlM7UUFDQTFDLE9BQU95RTtRQUNQdEMsUUFBUXVDO1FBQ1JnRSxVQUFVO1FBQ1Z4RztRQUNBRyxPQUFPO1lBQ0gsR0FBR2lGLFFBQVE7WUFDWCxHQUFHUyxnQkFBZ0I7UUFDdkI7UUFDQTlILE9BQU9rSSxjQUFjbEksS0FBSztRQUMxQjBCLFFBQVF3RyxjQUFjeEcsTUFBTTtRQUM1QjNDLEtBQUttSixjQUFjbkosR0FBRztJQUMxQjtJQUNBLE1BQU0ySixPQUFPO1FBQ1RuSDtRQUNBUTtRQUNBUTtRQUNBSjtJQUNKO0lBQ0EsT0FBTztRQUNIcUc7UUFDQUU7SUFDSjtBQUNKLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9nZXQtaW1nLXByb3BzLmpzP2JiYWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRJbWdQcm9wc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0SW1nUHJvcHM7XG4gICAgfVxufSk7XG5jb25zdCBfd2Fybm9uY2UgPSByZXF1aXJlKFwiLi91dGlscy93YXJuLW9uY2VcIik7XG5jb25zdCBfaW1hZ2VibHVyc3ZnID0gcmVxdWlyZShcIi4vaW1hZ2UtYmx1ci1zdmdcIik7XG5jb25zdCBfaW1hZ2Vjb25maWcgPSByZXF1aXJlKFwiLi9pbWFnZS1jb25maWdcIik7XG5jb25zdCBWQUxJRF9MT0FESU5HX1ZBTFVFUyA9IFtcbiAgICBcImxhenlcIixcbiAgICBcImVhZ2VyXCIsXG4gICAgdW5kZWZpbmVkXG5dO1xuZnVuY3Rpb24gaXNTdGF0aWNSZXF1aXJlKHNyYykge1xuICAgIHJldHVybiBzcmMuZGVmYXVsdCAhPT0gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gaXNTdGF0aWNJbWFnZURhdGEoc3JjKSB7XG4gICAgcmV0dXJuIHNyYy5zcmMgIT09IHVuZGVmaW5lZDtcbn1cbmZ1bmN0aW9uIGlzU3RhdGljSW1wb3J0KHNyYykge1xuICAgIHJldHVybiB0eXBlb2Ygc3JjID09PSBcIm9iamVjdFwiICYmIChpc1N0YXRpY1JlcXVpcmUoc3JjKSB8fCBpc1N0YXRpY0ltYWdlRGF0YShzcmMpKTtcbn1cbmNvbnN0IGFsbEltZ3MgPSBuZXcgTWFwKCk7XG5sZXQgcGVyZk9ic2VydmVyO1xuZnVuY3Rpb24gZ2V0SW50KHgpIHtcbiAgICBpZiAodHlwZW9mIHggPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgcmV0dXJuIHg7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgeCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gTnVtYmVyLmlzRmluaXRlKHgpID8geCA6IE5hTjtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB4ID09PSBcInN0cmluZ1wiICYmIC9eWzAtOV0rJC8udGVzdCh4KSkge1xuICAgICAgICByZXR1cm4gcGFyc2VJbnQoeCwgMTApO1xuICAgIH1cbiAgICByZXR1cm4gTmFOO1xufVxuZnVuY3Rpb24gZ2V0V2lkdGhzKHBhcmFtLCB3aWR0aCwgc2l6ZXMpIHtcbiAgICBsZXQgeyBkZXZpY2VTaXplcywgYWxsU2l6ZXMgfSA9IHBhcmFtO1xuICAgIGlmIChzaXplcykge1xuICAgICAgICAvLyBGaW5kIGFsbCB0aGUgXCJ2d1wiIHBlcmNlbnQgc2l6ZXMgdXNlZCBpbiB0aGUgc2l6ZXMgcHJvcFxuICAgICAgICBjb25zdCB2aWV3cG9ydFdpZHRoUmUgPSAvKF58XFxzKSgxP1xcZD9cXGQpdncvZztcbiAgICAgICAgY29uc3QgcGVyY2VudFNpemVzID0gW107XG4gICAgICAgIGZvcihsZXQgbWF0Y2g7IG1hdGNoID0gdmlld3BvcnRXaWR0aFJlLmV4ZWMoc2l6ZXMpOyBtYXRjaCl7XG4gICAgICAgICAgICBwZXJjZW50U2l6ZXMucHVzaChwYXJzZUludChtYXRjaFsyXSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwZXJjZW50U2l6ZXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb25zdCBzbWFsbGVzdFJhdGlvID0gTWF0aC5taW4oLi4ucGVyY2VudFNpemVzKSAqIDAuMDE7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIHdpZHRoczogYWxsU2l6ZXMuZmlsdGVyKChzKT0+cyA+PSBkZXZpY2VTaXplc1swXSAqIHNtYWxsZXN0UmF0aW8pLFxuICAgICAgICAgICAgICAgIGtpbmQ6IFwid1wiXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB3aWR0aHM6IGFsbFNpemVzLFxuICAgICAgICAgICAga2luZDogXCJ3XCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB3aWR0aCAhPT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgd2lkdGhzOiBkZXZpY2VTaXplcyxcbiAgICAgICAgICAgIGtpbmQ6IFwid1wiXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHdpZHRocyA9IFtcbiAgICAgICAgLi4ubmV3IFNldCgvLyA+IFRoaXMgbWVhbnMgdGhhdCBtb3N0IE9MRUQgc2NyZWVucyB0aGF0IHNheSB0aGV5IGFyZSAzeCByZXNvbHV0aW9uLFxuICAgICAgICAvLyA+IGFyZSBhY3R1YWxseSAzeCBpbiB0aGUgZ3JlZW4gY29sb3IsIGJ1dCBvbmx5IDEuNXggaW4gdGhlIHJlZCBhbmRcbiAgICAgICAgLy8gPiBibHVlIGNvbG9ycy4gU2hvd2luZyBhIDN4IHJlc29sdXRpb24gaW1hZ2UgaW4gdGhlIGFwcCB2cyBhIDJ4XG4gICAgICAgIC8vID4gcmVzb2x1dGlvbiBpbWFnZSB3aWxsIGJlIHZpc3VhbGx5IHRoZSBzYW1lLCB0aG91Z2ggdGhlIDN4IGltYWdlXG4gICAgICAgIC8vID4gdGFrZXMgc2lnbmlmaWNhbnRseSBtb3JlIGRhdGEuIEV2ZW4gdHJ1ZSAzeCByZXNvbHV0aW9uIHNjcmVlbnMgYXJlXG4gICAgICAgIC8vID4gd2FzdGVmdWwgYXMgdGhlIGh1bWFuIGV5ZSBjYW5ub3Qgc2VlIHRoYXQgbGV2ZWwgb2YgZGV0YWlsIHdpdGhvdXRcbiAgICAgICAgLy8gPiBzb21ldGhpbmcgbGlrZSBhIG1hZ25pZnlpbmcgZ2xhc3MuXG4gICAgICAgIC8vIGh0dHBzOi8vYmxvZy50d2l0dGVyLmNvbS9lbmdpbmVlcmluZy9lbl91cy90b3BpY3MvaW5mcmFzdHJ1Y3R1cmUvMjAxOS9jYXBwaW5nLWltYWdlLWZpZGVsaXR5LW9uLXVsdHJhLWhpZ2gtcmVzb2x1dGlvbi1kZXZpY2VzLmh0bWxcbiAgICAgICAgW1xuICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICB3aWR0aCAqIDIgLyosIHdpZHRoICogMyovIFxuICAgICAgICBdLm1hcCgodyk9PmFsbFNpemVzLmZpbmQoKHApPT5wID49IHcpIHx8IGFsbFNpemVzW2FsbFNpemVzLmxlbmd0aCAtIDFdKSlcbiAgICBdO1xuICAgIHJldHVybiB7XG4gICAgICAgIHdpZHRocyxcbiAgICAgICAga2luZDogXCJ4XCJcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2VuZXJhdGVJbWdBdHRycyhwYXJhbSkge1xuICAgIGxldCB7IGNvbmZpZywgc3JjLCB1bm9wdGltaXplZCwgd2lkdGgsIHF1YWxpdHksIHNpemVzLCBsb2FkZXIgfSA9IHBhcmFtO1xuICAgIGlmICh1bm9wdGltaXplZCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgc3JjU2V0OiB1bmRlZmluZWQsXG4gICAgICAgICAgICBzaXplczogdW5kZWZpbmVkXG4gICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHsgd2lkdGhzLCBraW5kIH0gPSBnZXRXaWR0aHMoY29uZmlnLCB3aWR0aCwgc2l6ZXMpO1xuICAgIGNvbnN0IGxhc3QgPSB3aWR0aHMubGVuZ3RoIC0gMTtcbiAgICByZXR1cm4ge1xuICAgICAgICBzaXplczogIXNpemVzICYmIGtpbmQgPT09IFwid1wiID8gXCIxMDB2d1wiIDogc2l6ZXMsXG4gICAgICAgIHNyY1NldDogd2lkdGhzLm1hcCgodywgaSk9PmxvYWRlcih7XG4gICAgICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgICAgIHNyYyxcbiAgICAgICAgICAgICAgICBxdWFsaXR5LFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3XG4gICAgICAgICAgICB9KSArIFwiIFwiICsgKGtpbmQgPT09IFwid1wiID8gdyA6IGkgKyAxKSArIGtpbmQpLmpvaW4oXCIsIFwiKSxcbiAgICAgICAgLy8gSXQncyBpbnRlbmRlZCB0byBrZWVwIGBzcmNgIHRoZSBsYXN0IGF0dHJpYnV0ZSBiZWNhdXNlIFJlYWN0IHVwZGF0ZXNcbiAgICAgICAgLy8gYXR0cmlidXRlcyBpbiBvcmRlci4gSWYgd2Uga2VlcCBgc3JjYCB0aGUgZmlyc3Qgb25lLCBTYWZhcmkgd2lsbFxuICAgICAgICAvLyBpbW1lZGlhdGVseSBzdGFydCB0byBmZXRjaCBgc3JjYCwgYmVmb3JlIGBzaXplc2AgYW5kIGBzcmNTZXRgIGFyZSBldmVuXG4gICAgICAgIC8vIHVwZGF0ZWQgYnkgUmVhY3QuIFRoYXQgY2F1c2VzIG11bHRpcGxlIHVubmVjZXNzYXJ5IHJlcXVlc3RzIGlmIGBzcmNTZXRgXG4gICAgICAgIC8vIGFuZCBgc2l6ZXNgIGFyZSBkZWZpbmVkLlxuICAgICAgICAvLyBUaGlzIGJ1ZyBjYW5ub3QgYmUgcmVwcm9kdWNlZCBpbiBDaHJvbWUgb3IgRmlyZWZveC5cbiAgICAgICAgc3JjOiBsb2FkZXIoe1xuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgcXVhbGl0eSxcbiAgICAgICAgICAgIHdpZHRoOiB3aWR0aHNbbGFzdF1cbiAgICAgICAgfSlcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0SW1nUHJvcHMocGFyYW0sIF9zdGF0ZSkge1xuICAgIGxldCB7IHNyYywgc2l6ZXMsIHVub3B0aW1pemVkID0gZmFsc2UsIHByaW9yaXR5ID0gZmFsc2UsIGxvYWRpbmcsIGNsYXNzTmFtZSwgcXVhbGl0eSwgd2lkdGgsIGhlaWdodCwgZmlsbCA9IGZhbHNlLCBzdHlsZSwgb25Mb2FkLCBvbkxvYWRpbmdDb21wbGV0ZSwgcGxhY2Vob2xkZXIgPSBcImVtcHR5XCIsIGJsdXJEYXRhVVJMLCBmZXRjaFByaW9yaXR5LCBsYXlvdXQsIG9iamVjdEZpdCwgb2JqZWN0UG9zaXRpb24sIGxhenlCb3VuZGFyeSwgbGF6eVJvb3QsIC4uLnJlc3QgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHsgaW1nQ29uZiwgc2hvd0FsdFRleHQsIGJsdXJDb21wbGV0ZSwgZGVmYXVsdExvYWRlciB9ID0gX3N0YXRlO1xuICAgIGxldCBjb25maWc7XG4gICAgbGV0IGMgPSBpbWdDb25mIHx8IF9pbWFnZWNvbmZpZy5pbWFnZUNvbmZpZ0RlZmF1bHQ7XG4gICAgaWYgKFwiYWxsU2l6ZXNcIiBpbiBjKSB7XG4gICAgICAgIGNvbmZpZyA9IGM7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYWxsU2l6ZXMgPSBbXG4gICAgICAgICAgICAuLi5jLmRldmljZVNpemVzLFxuICAgICAgICAgICAgLi4uYy5pbWFnZVNpemVzXG4gICAgICAgIF0uc29ydCgoYSwgYik9PmEgLSBiKTtcbiAgICAgICAgY29uc3QgZGV2aWNlU2l6ZXMgPSBjLmRldmljZVNpemVzLnNvcnQoKGEsIGIpPT5hIC0gYik7XG4gICAgICAgIGNvbmZpZyA9IHtcbiAgICAgICAgICAgIC4uLmMsXG4gICAgICAgICAgICBhbGxTaXplcyxcbiAgICAgICAgICAgIGRldmljZVNpemVzXG4gICAgICAgIH07XG4gICAgfVxuICAgIGxldCBsb2FkZXIgPSByZXN0LmxvYWRlciB8fCBkZWZhdWx0TG9hZGVyO1xuICAgIC8vIFJlbW92ZSBwcm9wZXJ0eSBzbyBpdCdzIG5vdCBzcHJlYWQgb24gPGltZz4gZWxlbWVudFxuICAgIGRlbGV0ZSByZXN0LmxvYWRlcjtcbiAgICBkZWxldGUgcmVzdC5zcmNTZXQ7XG4gICAgLy8gVGhpcyBzcGVjaWFsIHZhbHVlIGluZGljYXRlcyB0aGF0IHRoZSB1c2VyXG4gICAgLy8gZGlkbid0IGRlZmluZSBhIFwibG9hZGVyXCIgcHJvcCBvciBcImxvYWRlclwiIGNvbmZpZy5cbiAgICBjb25zdCBpc0RlZmF1bHRMb2FkZXIgPSBcIl9fbmV4dF9pbWdfZGVmYXVsdFwiIGluIGxvYWRlcjtcbiAgICBpZiAoaXNEZWZhdWx0TG9hZGVyKSB7XG4gICAgICAgIGlmIChjb25maWcubG9hZGVyID09PSBcImN1c3RvbVwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBpcyBtaXNzaW5nIFwibG9hZGVyXCIgcHJvcC4nICsgXCJcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25leHQtaW1hZ2UtbWlzc2luZy1sb2FkZXJcIik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGUgdXNlciBkZWZpbmVkIGEgXCJsb2FkZXJcIiBwcm9wIG9yIGNvbmZpZy5cbiAgICAgICAgLy8gU2luY2UgdGhlIGNvbmZpZyBvYmplY3QgaXMgaW50ZXJuYWwgb25seSwgd2VcbiAgICAgICAgLy8gbXVzdCBub3QgcGFzcyBpdCB0byB0aGUgdXNlci1kZWZpbmVkIFwibG9hZGVyXCIuXG4gICAgICAgIGNvbnN0IGN1c3RvbUltYWdlTG9hZGVyID0gbG9hZGVyO1xuICAgICAgICBsb2FkZXIgPSAob2JqKT0+e1xuICAgICAgICAgICAgY29uc3QgeyBjb25maWc6IF8sIC4uLm9wdHMgfSA9IG9iajtcbiAgICAgICAgICAgIHJldHVybiBjdXN0b21JbWFnZUxvYWRlcihvcHRzKTtcbiAgICAgICAgfTtcbiAgICB9XG4gICAgaWYgKGxheW91dCkge1xuICAgICAgICBpZiAobGF5b3V0ID09PSBcImZpbGxcIikge1xuICAgICAgICAgICAgZmlsbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGF5b3V0VG9TdHlsZSA9IHtcbiAgICAgICAgICAgIGludHJpbnNpYzoge1xuICAgICAgICAgICAgICAgIG1heFdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVzcG9uc2l2ZToge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiYXV0b1wiXG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGxheW91dFRvU2l6ZXMgPSB7XG4gICAgICAgICAgICByZXNwb25zaXZlOiBcIjEwMHZ3XCIsXG4gICAgICAgICAgICBmaWxsOiBcIjEwMHZ3XCJcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgbGF5b3V0U3R5bGUgPSBsYXlvdXRUb1N0eWxlW2xheW91dF07XG4gICAgICAgIGlmIChsYXlvdXRTdHlsZSkge1xuICAgICAgICAgICAgc3R5bGUgPSB7XG4gICAgICAgICAgICAgICAgLi4uc3R5bGUsXG4gICAgICAgICAgICAgICAgLi4ubGF5b3V0U3R5bGVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbGF5b3V0U2l6ZXMgPSBsYXlvdXRUb1NpemVzW2xheW91dF07XG4gICAgICAgIGlmIChsYXlvdXRTaXplcyAmJiAhc2l6ZXMpIHtcbiAgICAgICAgICAgIHNpemVzID0gbGF5b3V0U2l6ZXM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbGV0IHN0YXRpY1NyYyA9IFwiXCI7XG4gICAgbGV0IHdpZHRoSW50ID0gZ2V0SW50KHdpZHRoKTtcbiAgICBsZXQgaGVpZ2h0SW50ID0gZ2V0SW50KGhlaWdodCk7XG4gICAgbGV0IGJsdXJXaWR0aDtcbiAgICBsZXQgYmx1ckhlaWdodDtcbiAgICBpZiAoaXNTdGF0aWNJbXBvcnQoc3JjKSkge1xuICAgICAgICBjb25zdCBzdGF0aWNJbWFnZURhdGEgPSBpc1N0YXRpY1JlcXVpcmUoc3JjKSA/IHNyYy5kZWZhdWx0IDogc3JjO1xuICAgICAgICBpZiAoIXN0YXRpY0ltYWdlRGF0YS5zcmMpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkFuIG9iamVjdCBzaG91bGQgb25seSBiZSBwYXNzZWQgdG8gdGhlIGltYWdlIGNvbXBvbmVudCBzcmMgcGFyYW1ldGVyIGlmIGl0IGNvbWVzIGZyb20gYSBzdGF0aWMgaW1hZ2UgaW1wb3J0LiBJdCBtdXN0IGluY2x1ZGUgc3JjLiBSZWNlaXZlZCBcIiArIEpTT04uc3RyaW5naWZ5KHN0YXRpY0ltYWdlRGF0YSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghc3RhdGljSW1hZ2VEYXRhLmhlaWdodCB8fCAhc3RhdGljSW1hZ2VEYXRhLndpZHRoKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBbiBvYmplY3Qgc2hvdWxkIG9ubHkgYmUgcGFzc2VkIHRvIHRoZSBpbWFnZSBjb21wb25lbnQgc3JjIHBhcmFtZXRlciBpZiBpdCBjb21lcyBmcm9tIGEgc3RhdGljIGltYWdlIGltcG9ydC4gSXQgbXVzdCBpbmNsdWRlIGhlaWdodCBhbmQgd2lkdGguIFJlY2VpdmVkIFwiICsgSlNPTi5zdHJpbmdpZnkoc3RhdGljSW1hZ2VEYXRhKSk7XG4gICAgICAgIH1cbiAgICAgICAgYmx1cldpZHRoID0gc3RhdGljSW1hZ2VEYXRhLmJsdXJXaWR0aDtcbiAgICAgICAgYmx1ckhlaWdodCA9IHN0YXRpY0ltYWdlRGF0YS5ibHVySGVpZ2h0O1xuICAgICAgICBibHVyRGF0YVVSTCA9IGJsdXJEYXRhVVJMIHx8IHN0YXRpY0ltYWdlRGF0YS5ibHVyRGF0YVVSTDtcbiAgICAgICAgc3RhdGljU3JjID0gc3RhdGljSW1hZ2VEYXRhLnNyYztcbiAgICAgICAgaWYgKCFmaWxsKSB7XG4gICAgICAgICAgICBpZiAoIXdpZHRoSW50ICYmICFoZWlnaHRJbnQpIHtcbiAgICAgICAgICAgICAgICB3aWR0aEludCA9IHN0YXRpY0ltYWdlRGF0YS53aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHRJbnQgPSBzdGF0aWNJbWFnZURhdGEuaGVpZ2h0O1xuICAgICAgICAgICAgfSBlbHNlIGlmICh3aWR0aEludCAmJiAhaGVpZ2h0SW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmF0aW8gPSB3aWR0aEludCAvIHN0YXRpY0ltYWdlRGF0YS53aWR0aDtcbiAgICAgICAgICAgICAgICBoZWlnaHRJbnQgPSBNYXRoLnJvdW5kKHN0YXRpY0ltYWdlRGF0YS5oZWlnaHQgKiByYXRpbyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCF3aWR0aEludCAmJiBoZWlnaHRJbnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCByYXRpbyA9IGhlaWdodEludCAvIHN0YXRpY0ltYWdlRGF0YS5oZWlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGhJbnQgPSBNYXRoLnJvdW5kKHN0YXRpY0ltYWdlRGF0YS53aWR0aCAqIHJhdGlvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBzcmMgPSB0eXBlb2Ygc3JjID09PSBcInN0cmluZ1wiID8gc3JjIDogc3RhdGljU3JjO1xuICAgIGxldCBpc0xhenkgPSAhcHJpb3JpdHkgJiYgKGxvYWRpbmcgPT09IFwibGF6eVwiIHx8IHR5cGVvZiBsb2FkaW5nID09PSBcInVuZGVmaW5lZFwiKTtcbiAgICBpZiAoIXNyYyB8fCBzcmMuc3RhcnRzV2l0aChcImRhdGE6XCIpIHx8IHNyYy5zdGFydHNXaXRoKFwiYmxvYjpcIikpIHtcbiAgICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvSFRUUC9CYXNpY3Nfb2ZfSFRUUC9EYXRhX1VSSXNcbiAgICAgICAgdW5vcHRpbWl6ZWQgPSB0cnVlO1xuICAgICAgICBpc0xhenkgPSBmYWxzZTtcbiAgICB9XG4gICAgaWYgKGNvbmZpZy51bm9wdGltaXplZCkge1xuICAgICAgICB1bm9wdGltaXplZCA9IHRydWU7XG4gICAgfVxuICAgIGlmIChpc0RlZmF1bHRMb2FkZXIgJiYgc3JjLmVuZHNXaXRoKFwiLnN2Z1wiKSAmJiAhY29uZmlnLmRhbmdlcm91c2x5QWxsb3dTVkcpIHtcbiAgICAgICAgLy8gU3BlY2lhbCBjYXNlIHRvIG1ha2Ugc3ZnIHNlcnZlIGFzLWlzIHRvIGF2b2lkIHByb3h5aW5nXG4gICAgICAgIC8vIHRocm91Z2ggdGhlIGJ1aWx0LWluIEltYWdlIE9wdGltaXphdGlvbiBBUEkuXG4gICAgICAgIHVub3B0aW1pemVkID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHByaW9yaXR5KSB7XG4gICAgICAgIGZldGNoUHJpb3JpdHkgPSBcImhpZ2hcIjtcbiAgICB9XG4gICAgY29uc3QgcXVhbGl0eUludCA9IGdldEludChxdWFsaXR5KTtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGlmIChjb25maWcub3V0cHV0ID09PSBcImV4cG9ydFwiICYmIGlzRGVmYXVsdExvYWRlciAmJiAhdW5vcHRpbWl6ZWQpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkltYWdlIE9wdGltaXphdGlvbiB1c2luZyB0aGUgZGVmYXVsdCBsb2FkZXIgaXMgbm90IGNvbXBhdGlibGUgd2l0aCBgeyBvdXRwdXQ6ICdleHBvcnQnIH1gLlxcbiAgUG9zc2libGUgc29sdXRpb25zOlxcbiAgICAtIFJlbW92ZSBgeyBvdXRwdXQ6ICdleHBvcnQnIH1gIGFuZCBydW4gXFxcIm5leHQgc3RhcnRcXFwiIHRvIHJ1biBzZXJ2ZXIgbW9kZSBpbmNsdWRpbmcgdGhlIEltYWdlIE9wdGltaXphdGlvbiBBUEkuXFxuICAgIC0gQ29uZmlndXJlIGB7IGltYWdlczogeyB1bm9wdGltaXplZDogdHJ1ZSB9IH1gIGluIGBuZXh0LmNvbmZpZy5qc2AgdG8gZGlzYWJsZSB0aGUgSW1hZ2UgT3B0aW1pemF0aW9uIEFQSS5cXG4gIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZXhwb3J0LWltYWdlLWFwaVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNyYykge1xuICAgICAgICAgICAgLy8gUmVhY3QgZG9lc24ndCBzaG93IHRoZSBzdGFjayB0cmFjZSBhbmQgdGhlcmUnc1xuICAgICAgICAgICAgLy8gbm8gYHNyY2AgdG8gaGVscCBpZGVudGlmeSB3aGljaCBpbWFnZSwgc28gd2VcbiAgICAgICAgICAgIC8vIGluc3RlYWQgY29uc29sZS5lcnJvcihyZWYpIGR1cmluZyBtb3VudC5cbiAgICAgICAgICAgIHVub3B0aW1pemVkID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGlmIChmaWxsKSB7XG4gICAgICAgICAgICAgICAgaWYgKHdpZHRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGhhcyBib3RoIFwid2lkdGhcIiBhbmQgXCJmaWxsXCIgcHJvcGVydGllcy4gT25seSBvbmUgc2hvdWxkIGJlIHVzZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChoZWlnaHQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbWFnZSB3aXRoIHNyYyBcIicgKyBzcmMgKyAnXCIgaGFzIGJvdGggXCJoZWlnaHRcIiBhbmQgXCJmaWxsXCIgcHJvcGVydGllcy4gT25seSBvbmUgc2hvdWxkIGJlIHVzZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoc3R5bGUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0eWxlLnBvc2l0aW9uKSAmJiBzdHlsZS5wb3NpdGlvbiAhPT0gXCJhYnNvbHV0ZVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGhhcyBib3RoIFwiZmlsbFwiIGFuZCBcInN0eWxlLnBvc2l0aW9uXCIgcHJvcGVydGllcy4gSW1hZ2VzIHdpdGggXCJmaWxsXCIgYWx3YXlzIHVzZSBwb3NpdGlvbiBhYnNvbHV0ZSAtIGl0IGNhbm5vdCBiZSBtb2RpZmllZC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChzdHlsZSA9PSBudWxsID8gdm9pZCAwIDogc3R5bGUud2lkdGgpICYmIHN0eWxlLndpZHRoICE9PSBcIjEwMCVcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBoYXMgYm90aCBcImZpbGxcIiBhbmQgXCJzdHlsZS53aWR0aFwiIHByb3BlcnRpZXMuIEltYWdlcyB3aXRoIFwiZmlsbFwiIGFsd2F5cyB1c2Ugd2lkdGggMTAwJSAtIGl0IGNhbm5vdCBiZSBtb2RpZmllZC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKChzdHlsZSA9PSBudWxsID8gdm9pZCAwIDogc3R5bGUuaGVpZ2h0KSAmJiBzdHlsZS5oZWlnaHQgIT09IFwiMTAwJVwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGhhcyBib3RoIFwiZmlsbFwiIGFuZCBcInN0eWxlLmhlaWdodFwiIHByb3BlcnRpZXMuIEltYWdlcyB3aXRoIFwiZmlsbFwiIGFsd2F5cyB1c2UgaGVpZ2h0IDEwMCUgLSBpdCBjYW5ub3QgYmUgbW9kaWZpZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHdpZHRoSW50ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGlzIG1pc3NpbmcgcmVxdWlyZWQgXCJ3aWR0aFwiIHByb3BlcnR5LicpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNOYU4od2lkdGhJbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGhhcyBpbnZhbGlkIFwid2lkdGhcIiBwcm9wZXJ0eS4gRXhwZWN0ZWQgYSBudW1lcmljIHZhbHVlIGluIHBpeGVscyBidXQgcmVjZWl2ZWQgXCInICsgd2lkdGggKyAnXCIuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgaGVpZ2h0SW50ID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGlzIG1pc3NpbmcgcmVxdWlyZWQgXCJoZWlnaHRcIiBwcm9wZXJ0eS4nKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzTmFOKGhlaWdodEludCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbWFnZSB3aXRoIHNyYyBcIicgKyBzcmMgKyAnXCIgaGFzIGludmFsaWQgXCJoZWlnaHRcIiBwcm9wZXJ0eS4gRXhwZWN0ZWQgYSBudW1lcmljIHZhbHVlIGluIHBpeGVscyBidXQgcmVjZWl2ZWQgXCInICsgaGVpZ2h0ICsgJ1wiLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIVZBTElEX0xPQURJTkdfVkFMVUVTLmluY2x1ZGVzKGxvYWRpbmcpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBoYXMgaW52YWxpZCBcImxvYWRpbmdcIiBwcm9wZXJ0eS4gUHJvdmlkZWQgXCInICsgbG9hZGluZyArICdcIiBzaG91bGQgYmUgb25lIG9mICcgKyBWQUxJRF9MT0FESU5HX1ZBTFVFUy5tYXAoU3RyaW5nKS5qb2luKFwiLFwiKSArIFwiLlwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJpb3JpdHkgJiYgbG9hZGluZyA9PT0gXCJsYXp5XCIpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW1hZ2Ugd2l0aCBzcmMgXCInICsgc3JjICsgJ1wiIGhhcyBib3RoIFwicHJpb3JpdHlcIiBhbmQgXCJsb2FkaW5nPVxcJ2xhenlcXCdcIiBwcm9wZXJ0aWVzLiBPbmx5IG9uZSBzaG91bGQgYmUgdXNlZC4nKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocGxhY2Vob2xkZXIgIT09IFwiZW1wdHlcIiAmJiBwbGFjZWhvbGRlciAhPT0gXCJibHVyXCIgJiYgIXBsYWNlaG9sZGVyLnN0YXJ0c1dpdGgoXCJkYXRhOmltYWdlL1wiKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbWFnZSB3aXRoIHNyYyBcIicgKyBzcmMgKyAnXCIgaGFzIGludmFsaWQgXCJwbGFjZWhvbGRlclwiIHByb3BlcnR5IFwiJyArIHBsYWNlaG9sZGVyICsgJ1wiLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwbGFjZWhvbGRlciAhPT0gXCJlbXB0eVwiKSB7XG4gICAgICAgICAgICBpZiAod2lkdGhJbnQgJiYgaGVpZ2h0SW50ICYmIHdpZHRoSW50ICogaGVpZ2h0SW50IDwgMTYwMCkge1xuICAgICAgICAgICAgICAgICgwLCBfd2Fybm9uY2Uud2Fybk9uY2UpKCdJbWFnZSB3aXRoIHNyYyBcIicgKyBzcmMgKyAnXCIgaXMgc21hbGxlciB0aGFuIDQweDQwLiBDb25zaWRlciByZW1vdmluZyB0aGUgXCJwbGFjZWhvbGRlclwiIHByb3BlcnR5IHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBsYWNlaG9sZGVyID09PSBcImJsdXJcIiAmJiAhYmx1ckRhdGFVUkwpIHtcbiAgICAgICAgICAgIGNvbnN0IFZBTElEX0JMVVJfRVhUID0gW1xuICAgICAgICAgICAgICAgIFwianBlZ1wiLFxuICAgICAgICAgICAgICAgIFwicG5nXCIsXG4gICAgICAgICAgICAgICAgXCJ3ZWJwXCIsXG4gICAgICAgICAgICAgICAgXCJhdmlmXCJcbiAgICAgICAgICAgIF0gLy8gc2hvdWxkIG1hdGNoIG5leHQtaW1hZ2UtbG9hZGVyXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBoYXMgXCJwbGFjZWhvbGRlcj1cXCdibHVyXFwnXCIgcHJvcGVydHkgYnV0IGlzIG1pc3NpbmcgdGhlIFwiYmx1ckRhdGFVUkxcIiBwcm9wZXJ0eS5cXG4gICAgICAgIFBvc3NpYmxlIHNvbHV0aW9uczpcXG4gICAgICAgICAgLSBBZGQgYSBcImJsdXJEYXRhVVJMXCIgcHJvcGVydHksIHRoZSBjb250ZW50cyBzaG91bGQgYmUgYSBzbWFsbCBEYXRhIFVSTCB0byByZXByZXNlbnQgdGhlIGltYWdlXFxuICAgICAgICAgIC0gQ2hhbmdlIHRoZSBcInNyY1wiIHByb3BlcnR5IHRvIGEgc3RhdGljIGltcG9ydCB3aXRoIG9uZSBvZiB0aGUgc3VwcG9ydGVkIGZpbGUgdHlwZXM6ICcgKyBWQUxJRF9CTFVSX0VYVC5qb2luKFwiLFwiKSArICcgKGFuaW1hdGVkIGltYWdlcyBub3Qgc3VwcG9ydGVkKVxcbiAgICAgICAgICAtIFJlbW92ZSB0aGUgXCJwbGFjZWhvbGRlclwiIHByb3BlcnR5LCBlZmZlY3RpdmVseSBubyBibHVyIGVmZmVjdFxcbiAgICAgICAgUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wbGFjZWhvbGRlci1ibHVyLWRhdGEtdXJsJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFwicmVmXCIgaW4gcmVzdCkge1xuICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBpcyB1c2luZyB1bnN1cHBvcnRlZCBcInJlZlwiIHByb3BlcnR5LiBDb25zaWRlciB1c2luZyB0aGUgXCJvbkxvYWRcIiBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdW5vcHRpbWl6ZWQgJiYgIWlzRGVmYXVsdExvYWRlcikge1xuICAgICAgICAgICAgY29uc3QgdXJsU3RyID0gbG9hZGVyKHtcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgc3JjLFxuICAgICAgICAgICAgICAgIHdpZHRoOiB3aWR0aEludCB8fCA0MDAsXG4gICAgICAgICAgICAgICAgcXVhbGl0eTogcXVhbGl0eUludCB8fCA3NVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBsZXQgdXJsO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICB1cmwgPSBuZXcgVVJMKHVybFN0cik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHt9XG4gICAgICAgICAgICBpZiAodXJsU3RyID09PSBzcmMgfHwgdXJsICYmIHVybC5wYXRobmFtZSA9PT0gc3JjICYmICF1cmwuc2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBoYXMgYSBcImxvYWRlclwiIHByb3BlcnR5IHRoYXQgZG9lcyBub3QgaW1wbGVtZW50IHdpZHRoLiBQbGVhc2UgaW1wbGVtZW50IGl0IG9yIHVzZSB0aGUgXCJ1bm9wdGltaXplZFwiIHByb3BlcnR5IGluc3RlYWQuJyArIFwiXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLW1pc3NpbmctbG9hZGVyLXdpZHRoXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChvbkxvYWRpbmdDb21wbGV0ZSkge1xuICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBpcyB1c2luZyBkZXByZWNhdGVkIFwib25Mb2FkaW5nQ29tcGxldGVcIiBwcm9wZXJ0eS4gUGxlYXNlIHVzZSB0aGUgXCJvbkxvYWRcIiBwcm9wZXJ0eSBpbnN0ZWFkLicpO1xuICAgICAgICB9XG4gICAgICAgIGZvciAoY29uc3QgW2xlZ2FjeUtleSwgbGVnYWN5VmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHtcbiAgICAgICAgICAgIGxheW91dCxcbiAgICAgICAgICAgIG9iamVjdEZpdCxcbiAgICAgICAgICAgIG9iamVjdFBvc2l0aW9uLFxuICAgICAgICAgICAgbGF6eUJvdW5kYXJ5LFxuICAgICAgICAgICAgbGF6eVJvb3RcbiAgICAgICAgfSkpe1xuICAgICAgICAgICAgaWYgKGxlZ2FjeVZhbHVlKSB7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoJ0ltYWdlIHdpdGggc3JjIFwiJyArIHNyYyArICdcIiBoYXMgbGVnYWN5IHByb3AgXCInICsgbGVnYWN5S2V5ICsgJ1wiLiBEaWQgeW91IGZvcmdldCB0byBydW4gdGhlIGNvZGVtb2Q/JyArIFwiXFxuUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWltYWdlLXVwZ3JhZGUtdG8tMTNcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgIXBlcmZPYnNlcnZlciAmJiB3aW5kb3cuUGVyZm9ybWFuY2VPYnNlcnZlcikge1xuICAgICAgICAgICAgcGVyZk9ic2VydmVyID0gbmV3IFBlcmZvcm1hbmNlT2JzZXJ2ZXIoKGVudHJ5TGlzdCk9PntcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJ5TGlzdC5nZXRFbnRyaWVzKCkpe1xuICAgICAgICAgICAgICAgICAgICB2YXIgX2VudHJ5X2VsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgLSBtaXNzaW5nIFwiTGFyZ2VzdENvbnRlbnRmdWxQYWludFwiIGNsYXNzIHdpdGggXCJlbGVtZW50XCIgcHJvcFxuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbWdTcmMgPSAoZW50cnkgPT0gbnVsbCA/IHZvaWQgMCA6IChfZW50cnlfZWxlbWVudCA9IGVudHJ5LmVsZW1lbnQpID09IG51bGwgPyB2b2lkIDAgOiBfZW50cnlfZWxlbWVudC5zcmMpIHx8IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGxjcEltYWdlID0gYWxsSW1ncy5nZXQoaW1nU3JjKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxjcEltYWdlICYmICFsY3BJbWFnZS5wcmlvcml0eSAmJiBsY3BJbWFnZS5wbGFjZWhvbGRlciA9PT0gXCJlbXB0eVwiICYmICFsY3BJbWFnZS5zcmMuc3RhcnRzV2l0aChcImRhdGE6XCIpICYmICFsY3BJbWFnZS5zcmMuc3RhcnRzV2l0aChcImJsb2I6XCIpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL3dlYi5kZXYvbGNwLyNtZWFzdXJlLWxjcC1pbi1qYXZhc2NyaXB0XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgX3dhcm5vbmNlLndhcm5PbmNlKSgnSW1hZ2Ugd2l0aCBzcmMgXCInICsgbGNwSW1hZ2Uuc3JjICsgJ1wiIHdhcyBkZXRlY3RlZCBhcyB0aGUgTGFyZ2VzdCBDb250ZW50ZnVsIFBhaW50IChMQ1ApLiBQbGVhc2UgYWRkIHRoZSBcInByaW9yaXR5XCIgcHJvcGVydHkgaWYgdGhpcyBpbWFnZSBpcyBhYm92ZSB0aGUgZm9sZC4nICsgXCJcXG5SZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwaS1yZWZlcmVuY2UvbmV4dC9pbWFnZSNwcmlvcml0eVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBwZXJmT2JzZXJ2ZXIub2JzZXJ2ZSh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IFwibGFyZ2VzdC1jb250ZW50ZnVsLXBhaW50XCIsXG4gICAgICAgICAgICAgICAgICAgIGJ1ZmZlcmVkOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAvLyBMb2cgZXJyb3IgYnV0IGRvbid0IGNyYXNoIHRoZSBhcHBcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGVycik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaW1nU3R5bGUgPSBPYmplY3QuYXNzaWduKGZpbGwgPyB7XG4gICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgbGVmdDogMCxcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICByaWdodDogMCxcbiAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICBvYmplY3RGaXQsXG4gICAgICAgIG9iamVjdFBvc2l0aW9uXG4gICAgfSA6IHt9LCBzaG93QWx0VGV4dCA/IHt9IDoge1xuICAgICAgICBjb2xvcjogXCJ0cmFuc3BhcmVudFwiXG4gICAgfSwgc3R5bGUpO1xuICAgIGNvbnN0IGJhY2tncm91bmRJbWFnZSA9ICFibHVyQ29tcGxldGUgJiYgcGxhY2Vob2xkZXIgIT09IFwiZW1wdHlcIiA/IHBsYWNlaG9sZGVyID09PSBcImJsdXJcIiA/ICd1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwnICsgKDAsIF9pbWFnZWJsdXJzdmcuZ2V0SW1hZ2VCbHVyU3ZnKSh7XG4gICAgICAgIHdpZHRoSW50LFxuICAgICAgICBoZWlnaHRJbnQsXG4gICAgICAgIGJsdXJXaWR0aCxcbiAgICAgICAgYmx1ckhlaWdodCxcbiAgICAgICAgYmx1ckRhdGFVUkw6IGJsdXJEYXRhVVJMIHx8IFwiXCIsXG4gICAgICAgIG9iamVjdEZpdDogaW1nU3R5bGUub2JqZWN0Rml0XG4gICAgfSkgKyAnXCIpJyA6ICd1cmwoXCInICsgcGxhY2Vob2xkZXIgKyAnXCIpJyAvLyBhc3N1bWUgYGRhdGE6aW1hZ2UvYFxuICAgICA6IG51bGw7XG4gICAgbGV0IHBsYWNlaG9sZGVyU3R5bGUgPSBiYWNrZ3JvdW5kSW1hZ2UgPyB7XG4gICAgICAgIGJhY2tncm91bmRTaXplOiBpbWdTdHlsZS5vYmplY3RGaXQgfHwgXCJjb3ZlclwiLFxuICAgICAgICBiYWNrZ3JvdW5kUG9zaXRpb246IGltZ1N0eWxlLm9iamVjdFBvc2l0aW9uIHx8IFwiNTAlIDUwJVwiLFxuICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiBcIm5vLXJlcGVhdFwiLFxuICAgICAgICBiYWNrZ3JvdW5kSW1hZ2VcbiAgICB9IDoge307XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgaWYgKHBsYWNlaG9sZGVyU3R5bGUuYmFja2dyb3VuZEltYWdlICYmIHBsYWNlaG9sZGVyID09PSBcImJsdXJcIiAmJiAoYmx1ckRhdGFVUkwgPT0gbnVsbCA/IHZvaWQgMCA6IGJsdXJEYXRhVVJMLnN0YXJ0c1dpdGgoXCIvXCIpKSkge1xuICAgICAgICAgICAgLy8gRHVyaW5nIGBuZXh0IGRldmAsIHdlIGRvbid0IHdhbnQgdG8gZ2VuZXJhdGUgYmx1ciBwbGFjZWhvbGRlcnMgd2l0aCB3ZWJwYWNrXG4gICAgICAgICAgICAvLyBiZWNhdXNlIGl0IGNhbiBkZWxheSBzdGFydGluZyB0aGUgZGV2IHNlcnZlci4gSW5zdGVhZCwgYG5leHQtaW1hZ2UtbG9hZGVyLmpzYFxuICAgICAgICAgICAgLy8gd2lsbCBpbmxpbmUgYSBzcGVjaWFsIHVybCB0byBsYXppbHkgZ2VuZXJhdGUgdGhlIGJsdXIgcGxhY2Vob2xkZXIgYXQgcmVxdWVzdCB0aW1lLlxuICAgICAgICAgICAgcGxhY2Vob2xkZXJTdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSAndXJsKFwiJyArIGJsdXJEYXRhVVJMICsgJ1wiKSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgaW1nQXR0cmlidXRlcyA9IGdlbmVyYXRlSW1nQXR0cnMoe1xuICAgICAgICBjb25maWcsXG4gICAgICAgIHNyYyxcbiAgICAgICAgdW5vcHRpbWl6ZWQsXG4gICAgICAgIHdpZHRoOiB3aWR0aEludCxcbiAgICAgICAgcXVhbGl0eTogcXVhbGl0eUludCxcbiAgICAgICAgc2l6ZXMsXG4gICAgICAgIGxvYWRlclxuICAgIH0pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIGxldCBmdWxsVXJsO1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBmdWxsVXJsID0gbmV3IFVSTChpbWdBdHRyaWJ1dGVzLnNyYyk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgZnVsbFVybCA9IG5ldyBVUkwoaW1nQXR0cmlidXRlcy5zcmMsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGFsbEltZ3Muc2V0KGZ1bGxVcmwuaHJlZiwge1xuICAgICAgICAgICAgICAgIHNyYyxcbiAgICAgICAgICAgICAgICBwcmlvcml0eSxcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlclxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcHJvcHMgPSB7XG4gICAgICAgIC4uLnJlc3QsXG4gICAgICAgIGxvYWRpbmc6IGlzTGF6eSA/IFwibGF6eVwiIDogbG9hZGluZyxcbiAgICAgICAgZmV0Y2hQcmlvcml0eSxcbiAgICAgICAgd2lkdGg6IHdpZHRoSW50LFxuICAgICAgICBoZWlnaHQ6IGhlaWdodEludCxcbiAgICAgICAgZGVjb2Rpbmc6IFwiYXN5bmNcIixcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBzdHlsZToge1xuICAgICAgICAgICAgLi4uaW1nU3R5bGUsXG4gICAgICAgICAgICAuLi5wbGFjZWhvbGRlclN0eWxlXG4gICAgICAgIH0sXG4gICAgICAgIHNpemVzOiBpbWdBdHRyaWJ1dGVzLnNpemVzLFxuICAgICAgICBzcmNTZXQ6IGltZ0F0dHJpYnV0ZXMuc3JjU2V0LFxuICAgICAgICBzcmM6IGltZ0F0dHJpYnV0ZXMuc3JjXG4gICAgfTtcbiAgICBjb25zdCBtZXRhID0ge1xuICAgICAgICB1bm9wdGltaXplZCxcbiAgICAgICAgcHJpb3JpdHksXG4gICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICBmaWxsXG4gICAgfTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm9wcyxcbiAgICAgICAgbWV0YVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1pbWctcHJvcHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldEltZ1Byb3BzIiwiX3dhcm5vbmNlIiwicmVxdWlyZSIsIl9pbWFnZWJsdXJzdmciLCJfaW1hZ2Vjb25maWciLCJWQUxJRF9MT0FESU5HX1ZBTFVFUyIsInVuZGVmaW5lZCIsImlzU3RhdGljUmVxdWlyZSIsInNyYyIsImRlZmF1bHQiLCJpc1N0YXRpY0ltYWdlRGF0YSIsImlzU3RhdGljSW1wb3J0IiwiYWxsSW1ncyIsIk1hcCIsInBlcmZPYnNlcnZlciIsImdldEludCIsIngiLCJOdW1iZXIiLCJpc0Zpbml0ZSIsIk5hTiIsInRlc3QiLCJwYXJzZUludCIsImdldFdpZHRocyIsInBhcmFtIiwid2lkdGgiLCJzaXplcyIsImRldmljZVNpemVzIiwiYWxsU2l6ZXMiLCJ2aWV3cG9ydFdpZHRoUmUiLCJwZXJjZW50U2l6ZXMiLCJtYXRjaCIsImV4ZWMiLCJwdXNoIiwibGVuZ3RoIiwic21hbGxlc3RSYXRpbyIsIk1hdGgiLCJtaW4iLCJ3aWR0aHMiLCJmaWx0ZXIiLCJzIiwia2luZCIsIlNldCIsIm1hcCIsInciLCJmaW5kIiwicCIsImdlbmVyYXRlSW1nQXR0cnMiLCJjb25maWciLCJ1bm9wdGltaXplZCIsInF1YWxpdHkiLCJsb2FkZXIiLCJzcmNTZXQiLCJsYXN0IiwiaSIsImpvaW4iLCJfc3RhdGUiLCJwcmlvcml0eSIsImxvYWRpbmciLCJjbGFzc05hbWUiLCJoZWlnaHQiLCJmaWxsIiwic3R5bGUiLCJvbkxvYWQiLCJvbkxvYWRpbmdDb21wbGV0ZSIsInBsYWNlaG9sZGVyIiwiYmx1ckRhdGFVUkwiLCJmZXRjaFByaW9yaXR5IiwibGF5b3V0Iiwib2JqZWN0Rml0Iiwib2JqZWN0UG9zaXRpb24iLCJsYXp5Qm91bmRhcnkiLCJsYXp5Um9vdCIsInJlc3QiLCJpbWdDb25mIiwic2hvd0FsdFRleHQiLCJibHVyQ29tcGxldGUiLCJkZWZhdWx0TG9hZGVyIiwiYyIsImltYWdlQ29uZmlnRGVmYXVsdCIsImltYWdlU2l6ZXMiLCJzb3J0IiwiYSIsImIiLCJpc0RlZmF1bHRMb2FkZXIiLCJFcnJvciIsImN1c3RvbUltYWdlTG9hZGVyIiwib2JqIiwiXyIsIm9wdHMiLCJsYXlvdXRUb1N0eWxlIiwiaW50cmluc2ljIiwibWF4V2lkdGgiLCJyZXNwb25zaXZlIiwibGF5b3V0VG9TaXplcyIsImxheW91dFN0eWxlIiwibGF5b3V0U2l6ZXMiLCJzdGF0aWNTcmMiLCJ3aWR0aEludCIsImhlaWdodEludCIsImJsdXJXaWR0aCIsImJsdXJIZWlnaHQiLCJzdGF0aWNJbWFnZURhdGEiLCJKU09OIiwic3RyaW5naWZ5IiwicmF0aW8iLCJyb3VuZCIsImlzTGF6eSIsInN0YXJ0c1dpdGgiLCJlbmRzV2l0aCIsImRhbmdlcm91c2x5QWxsb3dTVkciLCJxdWFsaXR5SW50IiwicHJvY2VzcyIsIm91dHB1dCIsInBvc2l0aW9uIiwiaXNOYU4iLCJpbmNsdWRlcyIsIlN0cmluZyIsIndhcm5PbmNlIiwiVkFMSURfQkxVUl9FWFQiLCJ1cmxTdHIiLCJ1cmwiLCJVUkwiLCJlcnIiLCJwYXRobmFtZSIsInNlYXJjaCIsImxlZ2FjeUtleSIsImxlZ2FjeVZhbHVlIiwiZW50cmllcyIsIndpbmRvdyIsIlBlcmZvcm1hbmNlT2JzZXJ2ZXIiLCJlbnRyeUxpc3QiLCJlbnRyeSIsImdldEVudHJpZXMiLCJfZW50cnlfZWxlbWVudCIsImltZ1NyYyIsImVsZW1lbnQiLCJsY3BJbWFnZSIsIm9ic2VydmUiLCJ0eXBlIiwiYnVmZmVyZWQiLCJjb25zb2xlIiwiZXJyb3IiLCJpbWdTdHlsZSIsImFzc2lnbiIsImxlZnQiLCJ0b3AiLCJyaWdodCIsImJvdHRvbSIsImNvbG9yIiwiYmFja2dyb3VuZEltYWdlIiwiZ2V0SW1hZ2VCbHVyU3ZnIiwicGxhY2Vob2xkZXJTdHlsZSIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZFJlcGVhdCIsImltZ0F0dHJpYnV0ZXMiLCJmdWxsVXJsIiwiZSIsImxvY2F0aW9uIiwiaHJlZiIsInNldCIsInByb3BzIiwiZGVjb2RpbmciLCJtZXRhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/hash.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/shared/lib/hash.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n djb2Hash: function() {\n return djb2Hash;\n },\n hexHash: function() {\n return hexHash;\n }\n});\nfunction djb2Hash(str) {\n let hash = 5381;\n for(let i = 0; i < str.length; i++){\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char & 0xffffffff;\n }\n return hash >>> 0;\n}\nfunction hexHash(str) {\n return djb2Hash(str).toString(36).slice(0, 5);\n} //# sourceMappingURL=hash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsNENBQTRDO0FBQzVDLGlIQUFpSDtBQUNqSCx3RkFBd0Y7QUFDeEYsZ0dBQWdHO0FBQ2hHLHdIQUF3SDtBQUN4SCx3REFBd0Q7QUFDM0M7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRCxTQUFTUSxHQUFHO0lBQ2pCLElBQUlDLE9BQU87SUFDWCxJQUFJLElBQUlDLElBQUksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFJO1FBQy9CLE1BQU1FLE9BQU9KLElBQUlLLFVBQVUsQ0FBQ0g7UUFDNUJELE9BQU8sQ0FBQ0EsUUFBUSxLQUFLQSxPQUFPRyxPQUFPO0lBQ3ZDO0lBQ0EsT0FBT0gsU0FBUztBQUNwQjtBQUNBLFNBQVNSLFFBQVFPLEdBQUc7SUFDaEIsT0FBT1IsU0FBU1EsS0FBS00sUUFBUSxDQUFDLElBQUlDLEtBQUssQ0FBQyxHQUFHO0FBQy9DLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oYXNoLmpzP2NiNmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cDovL3d3dy5jc2UueW9ya3UuY2Evfm96L2hhc2guaHRtbFxuLy8gTW9yZSBzcGVjaWZpY2FsbHksIDMyLWJpdCBoYXNoIHZpYSBkamJ4b3Jcbi8vIChyZWY6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2VwbGF3bGVzcy81MjgxM2IxZDhhZDlhZjUxMGQ4NT9wZXJtYWxpbmtfY29tbWVudF9pZD0zMzY3NzY1I2dpc3Rjb21tZW50LTMzNjc3NjUpXG4vLyBUaGlzIGlzIGR1ZSB0byBudW1iZXIgdHlwZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHJ1c3QgZm9yIHR1cmJvcGFjayB0byBqcyBudW1iZXIgdHlwZXMsXG4vLyB3aGVyZSBydXN0IGRvZXMgbm90IGhhdmUgZWFzeSB3YXkgdG8gcmVwcmVlc250IGpzJ3MgNTMtYml0IGZsb2F0IG51bWJlciB0eXBlIGZvciB0aGUgbWF0Y2hpbmdcbi8vIG92ZXJmbG93IGJlaGF2aW9yLiBUaGlzIGlzIG1vcmUgYGNvcnJlY3RgIGluIHRlcm1zIG9mIGhhdmluZyBjYW5vbmljYWwgaGFzaCBhY3Jvc3MgZGlmZmVyZW50IHJ1bnRpbWUgLyBpbXBsZW1lbnRhdGlvblxuLy8gYXMgY2FuIGdhdXJhbnRlZSBkZXRlcm1pbnN0aWMgb3V0cHV0IGZyb20gMzJiaXQgaGFzaC5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGpiMkhhc2g6IG51bGwsXG4gICAgaGV4SGFzaDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkamIySGFzaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkamIySGFzaDtcbiAgICB9LFxuICAgIGhleEhhc2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGV4SGFzaDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGRqYjJIYXNoKHN0cikge1xuICAgIGxldCBoYXNoID0gNTM4MTtcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgY29uc3QgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBoYXNoID0gKGhhc2ggPDwgNSkgKyBoYXNoICsgY2hhciAmIDB4ZmZmZmZmZmY7XG4gICAgfVxuICAgIHJldHVybiBoYXNoID4+PiAwO1xufVxuZnVuY3Rpb24gaGV4SGFzaChzdHIpIHtcbiAgICByZXR1cm4gZGpiMkhhc2goc3RyKS50b1N0cmluZygzNikuc2xpY2UoMCwgNSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhc2guanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZGpiMkhhc2giLCJoZXhIYXNoIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3RyIiwiaGFzaCIsImkiLCJsZW5ndGgiLCJjaGFyIiwiY2hhckNvZGVBdCIsInRvU3RyaW5nIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/hash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/head.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/shared/lib/head.js ***! \***************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n defaultHead: function() {\n return defaultHead;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _sideeffect = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./side-effect */ \"(ssr)/./node_modules/next/dist/shared/lib/side-effect.js\"));\nconst _ampcontextsharedruntime = __webpack_require__(/*! ./amp-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/amp-context.js\");\nconst _headmanagercontextsharedruntime = __webpack_require__(/*! ./head-manager-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/head-manager-context.js\");\nconst _ampmode = __webpack_require__(/*! ./amp-mode */ \"(ssr)/./node_modules/next/dist/shared/lib/amp-mode.js\");\nconst _warnonce = __webpack_require__(/*! ./utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nfunction defaultHead(inAmpMode) {\n if (inAmpMode === void 0) inAmpMode = false;\n const head = [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n charSet: \"utf-8\"\n })\n ];\n if (!inAmpMode) {\n head.push(/*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"viewport\",\n content: \"width=device-width\"\n }));\n }\n return head;\n}\nfunction onlyReactElement(list, child) {\n // React children can be \"string\" or \"number\" in this case we ignore them for backwards compat\n if (typeof child === \"string\" || typeof child === \"number\") {\n return list;\n }\n // Adds support for React.Fragment\n if (child.type === _react.default.Fragment) {\n return list.concat(_react.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild)=>{\n if (typeof fragmentChild === \"string\" || typeof fragmentChild === \"number\") {\n return fragmentList;\n }\n return fragmentList.concat(fragmentChild);\n }, []));\n }\n return list.concat(child);\n}\nconst METATYPES = [\n \"name\",\n \"httpEquiv\",\n \"charSet\",\n \"itemProp\"\n];\n/*\n returns a function for filtering head child elements\n which shouldn't be duplicated, like <title/>\n Also adds support for deduplicated `key` properties\n*/ function unique() {\n const keys = new Set();\n const tags = new Set();\n const metaTypes = new Set();\n const metaCategories = {};\n return (h)=>{\n let isUnique = true;\n let hasKey = false;\n if (h.key && typeof h.key !== \"number\" && h.key.indexOf(\"$\") > 0) {\n hasKey = true;\n const key = h.key.slice(h.key.indexOf(\"$\") + 1);\n if (keys.has(key)) {\n isUnique = false;\n } else {\n keys.add(key);\n }\n }\n // eslint-disable-next-line default-case\n switch(h.type){\n case \"title\":\n case \"base\":\n if (tags.has(h.type)) {\n isUnique = false;\n } else {\n tags.add(h.type);\n }\n break;\n case \"meta\":\n for(let i = 0, len = METATYPES.length; i < len; i++){\n const metatype = METATYPES[i];\n if (!h.props.hasOwnProperty(metatype)) continue;\n if (metatype === \"charSet\") {\n if (metaTypes.has(metatype)) {\n isUnique = false;\n } else {\n metaTypes.add(metatype);\n }\n } else {\n const category = h.props[metatype];\n const categories = metaCategories[metatype] || new Set();\n if ((metatype !== \"name\" || !hasKey) && categories.has(category)) {\n isUnique = false;\n } else {\n categories.add(category);\n metaCategories[metatype] = categories;\n }\n }\n }\n break;\n }\n return isUnique;\n };\n}\n/**\n *\n * @param headChildrenElements List of children of <Head>\n */ function reduceComponents(headChildrenElements, props) {\n const { inAmpMode } = props;\n return headChildrenElements.reduce(onlyReactElement, []).reverse().concat(defaultHead(inAmpMode).reverse()).filter(unique()).reverse().map((c, i)=>{\n const key = c.key || i;\n if (false) {}\n if (true) {\n // omit JSON-LD structured data snippets from the warning\n if (c.type === \"script\" && c.props[\"type\"] !== \"application/ld+json\") {\n const srcMessage = c.props[\"src\"] ? '<script> tag with src=\"' + c.props[\"src\"] + '\"' : \"inline <script>\";\n (0, _warnonce.warnOnce)(\"Do not add <script> tags using next/head (see \" + srcMessage + \"). Use next/script instead. \\nSee more info here: https://nextjs.org/docs/messages/no-script-tags-in-head-component\");\n } else if (c.type === \"link\" && c.props[\"rel\"] === \"stylesheet\") {\n (0, _warnonce.warnOnce)('Do not add stylesheets using next/head (see <link rel=\"stylesheet\"> tag with href=\"' + c.props[\"href\"] + '\"). Use Document instead. \\nSee more info here: https://nextjs.org/docs/messages/no-stylesheets-in-head-component');\n }\n }\n return /*#__PURE__*/ _react.default.cloneElement(c, {\n key\n });\n });\n}\n/**\n * This component injects elements to `<head>` of your page.\n * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.\n */ function Head(param) {\n let { children } = param;\n const ampState = (0, _react.useContext)(_ampcontextsharedruntime.AmpStateContext);\n const headManager = (0, _react.useContext)(_headmanagercontextsharedruntime.HeadManagerContext);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_sideeffect.default, {\n reduceComponentsToState: reduceComponents,\n headManager: headManager,\n inAmpMode: (0, _ampmode.isInAmpMode)(ampState),\n children: children\n });\n}\nconst _default = Head;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=head.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNRSxjQUFjRixtQkFBT0EsQ0FBQyxnSUFBbUI7QUFDL0MsTUFBTUcsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxjQUFjLFdBQVcsR0FBR04seUJBQXlCSyxDQUFDLENBQUNKLG1CQUFPQSxDQUFDLCtFQUFlO0FBQ3BGLE1BQU1NLDJCQUEyQk4sbUJBQU9BLENBQUMsMElBQThCO0FBQ3ZFLE1BQU1PLG1DQUFtQ1AsbUJBQU9BLENBQUMsNEpBQXVDO0FBQ3hGLE1BQU1RLFdBQVdSLG1CQUFPQSxDQUFDLHlFQUFZO0FBQ3JDLE1BQU1TLFlBQVlULG1CQUFPQSxDQUFDLHVGQUFtQjtBQUM3QyxTQUFTVixZQUFZb0IsU0FBUztJQUMxQixJQUFJQSxjQUFjLEtBQUssR0FBR0EsWUFBWTtJQUN0QyxNQUFNQyxPQUFPO1FBQ1QsV0FBVyxHQUFJLElBQUdULFlBQVlVLEdBQUcsRUFBRSxRQUFRO1lBQ3ZDQyxTQUFTO1FBQ2I7S0FD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QmtFLGVBQWU7SUFDaEYsTUFBTUMsY0FBYyxDQUFDLEdBQUd0RSxPQUFPb0UsVUFBVSxFQUFFaEUsaUNBQWlDbUUsa0JBQWtCO0lBQzlGLE9BQXFCLFdBQUgsR0FBSSxJQUFHeEUsWUFBWVUsR0FBRyxFQUFFUCxZQUFZZCxPQUFPLEVBQUU7UUFDM0RvRix5QkFBeUJ4QjtRQUN6QnNCLGFBQWFBO1FBQ2IvRCxXQUFXLENBQUMsR0FBR0YsU0FBU29FLFdBQVcsRUFBRU47UUFDckM3QyxVQUFVQTtJQUNkO0FBQ0o7QUFDQSxNQUFNM0IsV0FBV3NFO0FBRWpCLElBQUksQ0FBQyxPQUFPakYsUUFBUUksT0FBTyxLQUFLLGNBQWUsT0FBT0osUUFBUUksT0FBTyxLQUFLLFlBQVlKLFFBQVFJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0osUUFBUUksT0FBTyxDQUFDc0YsVUFBVSxLQUFLLGFBQWE7SUFDcks1RixPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU87SUFBSztJQUNuRUgsT0FBTzZGLE1BQU0sQ0FBQzNGLFFBQVFJLE9BQU8sRUFBRUo7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUksT0FBTztBQUNsQyxFQUVBLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGVhZC5qcz9mYjVkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGRlZmF1bHRIZWFkOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZGVmYXVsdEhlYWQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGVmYXVsdEhlYWQ7XG4gICAgfSxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9zaWRlZWZmZWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi9zaWRlLWVmZmVjdFwiKSk7XG5jb25zdCBfYW1wY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi9hbXAtY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9oZWFkbWFuYWdlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4vaGVhZC1tYW5hZ2VyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfYW1wbW9kZSA9IHJlcXVpcmUoXCIuL2FtcC1tb2RlXCIpO1xuY29uc3QgX3dhcm5vbmNlID0gcmVxdWlyZShcIi4vdXRpbHMvd2Fybi1vbmNlXCIpO1xuZnVuY3Rpb24gZGVmYXVsdEhlYWQoaW5BbXBNb2RlKSB7XG4gICAgaWYgKGluQW1wTW9kZSA9PT0gdm9pZCAwKSBpbkFtcE1vZGUgPSBmYWxzZTtcbiAgICBjb25zdCBoZWFkID0gW1xuICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICBjaGFyU2V0OiBcInV0Zi04XCJcbiAgICAgICAgfSlcbiAgICBdO1xuICAgIGlmICghaW5BbXBNb2RlKSB7XG4gICAgICAgIGhlYWQucHVzaCgvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICBuYW1lOiBcInZpZXdwb3J0XCIsXG4gICAgICAgICAgICBjb250ZW50OiBcIndpZHRoPWRldmljZS13aWR0aFwiXG4gICAgICAgIH0pKTtcbiAgICB9XG4gICAgcmV0dXJuIGhlYWQ7XG59XG5mdW5jdGlvbiBvbmx5UmVhY3RFbGVtZW50KGxpc3QsIGNoaWxkKSB7XG4gICAgLy8gUmVhY3QgY2hpbGRyZW4gY2FuIGJlIFwic3RyaW5nXCIgb3IgXCJudW1iZXJcIiBpbiB0aGlzIGNhc2Ugd2UgaWdub3JlIHRoZW0gZm9yIGJhY2t3YXJkcyBjb21wYXRcbiAgICBpZiAodHlwZW9mIGNoaWxkID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiBjaGlsZCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICB9XG4gICAgLy8gQWRkcyBzdXBwb3J0IGZvciBSZWFjdC5GcmFnbWVudFxuICAgIGlmIChjaGlsZC50eXBlID09PSBfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCkge1xuICAgICAgICByZXR1cm4gbGlzdC5jb25jYXQoLy8gQHRzLWV4cGVjdC1lcnJvciBAdHlwZXMvcmVhY3QgZG9lcyBub3QgcmVtb3ZlIGZyYWdtZW50cyBidXQgdGhpcyBjb3VsZCBhbHNvIHJldHVybiBSZWFjdFBvcnRhbFtdXG4gICAgICAgIF9yZWFjdC5kZWZhdWx0LkNoaWxkcmVuLnRvQXJyYXkoY2hpbGQucHJvcHMuY2hpbGRyZW4pLnJlZHVjZSgvLyBAdHMtZXhwZWN0LWVycm9yIEB0eXBlcy9yZWFjdCBkb2VzIG5vdCByZW1vdmUgZnJhZ21lbnRzIGJ1dCB0aGlzIGNvdWxkIGFsc28gcmV0dXJuIFJlYWN0UG9ydGFsW11cbiAgICAgICAgKGZyYWdtZW50TGlzdCwgZnJhZ21lbnRDaGlsZCk9PntcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgZnJhZ21lbnRDaGlsZCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBmcmFnbWVudExpc3Q7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRMaXN0LmNvbmNhdChmcmFnbWVudENoaWxkKTtcbiAgICAgICAgfSwgW10pKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpc3QuY29uY2F0KGNoaWxkKTtcbn1cbmNvbnN0IE1FVEFUWVBFUyA9IFtcbiAgICBcIm5hbWVcIixcbiAgICBcImh0dHBFcXVpdlwiLFxuICAgIFwiY2hhclNldFwiLFxuICAgIFwiaXRlbVByb3BcIlxuXTtcbi8qXG4gcmV0dXJucyBhIGZ1bmN0aW9uIGZvciBmaWx0ZXJpbmcgaGVhZCBjaGlsZCBlbGVtZW50c1xuIHdoaWNoIHNob3VsZG4ndCBiZSBkdXBsaWNhdGVkLCBsaWtlIDx0aXRsZS8+XG4gQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGRlZHVwbGljYXRlZCBga2V5YCBwcm9wZXJ0aWVzXG4qLyBmdW5jdGlvbiB1bmlxdWUoKSB7XG4gICAgY29uc3Qga2V5cyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCB0YWdzID0gbmV3IFNldCgpO1xuICAgIGNvbnN0IG1ldGFUeXBlcyA9IG5ldyBTZXQoKTtcbiAgICBjb25zdCBtZXRhQ2F0ZWdvcmllcyA9IHt9O1xuICAgIHJldHVybiAoaCk9PntcbiAgICAgICAgbGV0IGlzVW5pcXVlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGhhc0tleSA9IGZhbHNlO1xuICAgICAgICBpZiAoaC5rZXkgJiYgdHlwZW9mIGgua2V5ICE9PSBcIm51bWJlclwiICYmIGgua2V5LmluZGV4T2YoXCIkXCIpID4gMCkge1xuICAgICAgICAgICAgaGFzS2V5ID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGgua2V5LnNsaWNlKGgua2V5LmluZGV4T2YoXCIkXCIpICsgMSk7XG4gICAgICAgICAgICBpZiAoa2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleXMuYWRkKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGRlZmF1bHQtY2FzZVxuICAgICAgICBzd2l0Y2goaC50eXBlKXtcbiAgICAgICAgICAgIGNhc2UgXCJ0aXRsZVwiOlxuICAgICAgICAgICAgY2FzZSBcImJhc2VcIjpcbiAgICAgICAgICAgICAgICBpZiAodGFncy5oYXMoaC50eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICBpc1VuaXF1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhZ3MuYWRkKGgudHlwZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIm1ldGFcIjpcbiAgICAgICAgICAgICAgICBmb3IobGV0IGkgPSAwLCBsZW4gPSBNRVRBVFlQRVMubGVuZ3RoOyBpIDwgbGVuOyBpKyspe1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXRhdHlwZSA9IE1FVEFUWVBFU1tpXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoLnByb3BzLmhhc093blByb3BlcnR5KG1ldGF0eXBlKSkgY29udGludWU7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtZXRhdHlwZSA9PT0gXCJjaGFyU2V0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtZXRhVHlwZXMuaGFzKG1ldGF0eXBlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzVW5pcXVlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFUeXBlcy5hZGQobWV0YXR5cGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnkgPSBoLnByb3BzW21ldGF0eXBlXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBtZXRhQ2F0ZWdvcmllc1ttZXRhdHlwZV0gfHwgbmV3IFNldCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKChtZXRhdHlwZSAhPT0gXCJuYW1lXCIgfHwgIWhhc0tleSkgJiYgY2F0ZWdvcmllcy5oYXMoY2F0ZWdvcnkpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNVbmlxdWUgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcmllcy5hZGQoY2F0ZWdvcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldGFDYXRlZ29yaWVzW21ldGF0eXBlXSA9IGNhdGVnb3JpZXM7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzVW5pcXVlO1xuICAgIH07XG59XG4vKipcbiAqXG4gKiBAcGFyYW0gaGVhZENoaWxkcmVuRWxlbWVudHMgTGlzdCBvZiBjaGlsZHJlbiBvZiA8SGVhZD5cbiAqLyBmdW5jdGlvbiByZWR1Y2VDb21wb25lbnRzKGhlYWRDaGlsZHJlbkVsZW1lbnRzLCBwcm9wcykge1xuICAgIGNvbnN0IHsgaW5BbXBNb2RlIH0gPSBwcm9wcztcbiAgICByZXR1cm4gaGVhZENoaWxkcmVuRWxlbWVudHMucmVkdWNlKG9ubHlSZWFjdEVsZW1lbnQsIFtdKS5yZXZlcnNlKCkuY29uY2F0KGRlZmF1bHRIZWFkKGluQW1wTW9kZSkucmV2ZXJzZSgpKS5maWx0ZXIodW5pcXVlKCkpLnJldmVyc2UoKS5tYXAoKGMsIGkpPT57XG4gICAgICAgIGNvbnN0IGtleSA9IGMua2V5IHx8IGk7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJkZXZlbG9wbWVudFwiICYmIHByb2Nlc3MuZW52Ll9fTkVYVF9PUFRJTUlaRV9GT05UUyAmJiAhaW5BbXBNb2RlKSB7XG4gICAgICAgICAgICBpZiAoYy50eXBlID09PSBcImxpbmtcIiAmJiBjLnByb3BzW1wiaHJlZlwiXSAmJiAvLyBUT0RPKHByYXRlZWtiaEApOiBSZXBsYWNlIHRoaXMgd2l0aCBjb25zdCBmcm9tIGBjb25zdGFudHNgIHdoZW4gdGhlIHRyZWUgc2hha2luZyB3b3Jrcy5cbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzXCIsXG4gICAgICAgICAgICAgICAgXCJodHRwczovL3VzZS50eXBla2l0Lm5ldC9cIlxuICAgICAgICAgICAgXS5zb21lKCh1cmwpPT5jLnByb3BzW1wiaHJlZlwiXS5zdGFydHNXaXRoKHVybCkpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3UHJvcHMgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmMucHJvcHMgfHwge31cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIG5ld1Byb3BzW1wiZGF0YS1ocmVmXCJdID0gbmV3UHJvcHNbXCJocmVmXCJdO1xuICAgICAgICAgICAgICAgIG5ld1Byb3BzW1wiaHJlZlwiXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhpcyBhdHRyaWJ1dGUgdG8gbWFrZSBpdCBlYXN5IHRvIGlkZW50aWZ5IG9wdGltaXplZCB0YWdzXG4gICAgICAgICAgICAgICAgbmV3UHJvcHNbXCJkYXRhLW9wdGltaXplZC1mb250c1wiXSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGMsIG5ld1Byb3BzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgLy8gb21pdCBKU09OLUxEIHN0cnVjdHVyZWQgZGF0YSBzbmlwcGV0cyBmcm9tIHRoZSB3YXJuaW5nXG4gICAgICAgICAgICBpZiAoYy50eXBlID09PSBcInNjcmlwdFwiICYmIGMucHJvcHNbXCJ0eXBlXCJdICE9PSBcImFwcGxpY2F0aW9uL2xkK2pzb25cIikge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNyY01lc3NhZ2UgPSBjLnByb3BzW1wic3JjXCJdID8gJzxzY3JpcHQ+IHRhZyB3aXRoIHNyYz1cIicgKyBjLnByb3BzW1wic3JjXCJdICsgJ1wiJyA6IFwiaW5saW5lIDxzY3JpcHQ+XCI7XG4gICAgICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkoXCJEbyBub3QgYWRkIDxzY3JpcHQ+IHRhZ3MgdXNpbmcgbmV4dC9oZWFkIChzZWUgXCIgKyBzcmNNZXNzYWdlICsgXCIpLiBVc2UgbmV4dC9zY3JpcHQgaW5zdGVhZC4gXFxuU2VlIG1vcmUgaW5mbyBoZXJlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uby1zY3JpcHQtdGFncy1pbi1oZWFkLWNvbXBvbmVudFwiKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoYy50eXBlID09PSBcImxpbmtcIiAmJiBjLnByb3BzW1wicmVsXCJdID09PSBcInN0eWxlc2hlZXRcIikge1xuICAgICAgICAgICAgICAgICgwLCBfd2Fybm9uY2Uud2Fybk9uY2UpKCdEbyBub3QgYWRkIHN0eWxlc2hlZXRzIHVzaW5nIG5leHQvaGVhZCAoc2VlIDxsaW5rIHJlbD1cInN0eWxlc2hlZXRcIj4gdGFnIHdpdGggaHJlZj1cIicgKyBjLnByb3BzW1wiaHJlZlwiXSArICdcIikuIFVzZSBEb2N1bWVudCBpbnN0ZWFkLiBcXG5TZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL25vLXN0eWxlc2hlZXRzLWluLWhlYWQtY29tcG9uZW50Jyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY2xvbmVFbGVtZW50KGMsIHtcbiAgICAgICAgICAgIGtleVxuICAgICAgICB9KTtcbiAgICB9KTtcbn1cbi8qKlxuICogVGhpcyBjb21wb25lbnQgaW5qZWN0cyBlbGVtZW50cyB0byBgPGhlYWQ+YCBvZiB5b3VyIHBhZ2UuXG4gKiBUbyBhdm9pZCBkdXBsaWNhdGVkIGB0YWdzYCBpbiBgPGhlYWQ+YCB5b3UgY2FuIHVzZSB0aGUgYGtleWAgcHJvcGVydHksIHdoaWNoIHdpbGwgbWFrZSBzdXJlIGV2ZXJ5IHRhZyBpcyBvbmx5IHJlbmRlcmVkIG9uY2UuXG4gKi8gZnVuY3Rpb24gSGVhZChwYXJhbSkge1xuICAgIGxldCB7IGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBhbXBTdGF0ZSA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FtcGNvbnRleHRzaGFyZWRydW50aW1lLkFtcFN0YXRlQ29udGV4dCk7XG4gICAgY29uc3QgaGVhZE1hbmFnZXIgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9oZWFkbWFuYWdlcmNvbnRleHRzaGFyZWRydW50aW1lLkhlYWRNYW5hZ2VyQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX3NpZGVlZmZlY3QuZGVmYXVsdCwge1xuICAgICAgICByZWR1Y2VDb21wb25lbnRzVG9TdGF0ZTogcmVkdWNlQ29tcG9uZW50cyxcbiAgICAgICAgaGVhZE1hbmFnZXI6IGhlYWRNYW5hZ2VyLFxuICAgICAgICBpbkFtcE1vZGU6ICgwLCBfYW1wbW9kZS5pc0luQW1wTW9kZSkoYW1wU3RhdGUpLFxuICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICB9KTtcbn1cbmNvbnN0IF9kZWZhdWx0ID0gSGVhZDtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGVhZC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJkZWZhdWx0SGVhZCIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZGVmYXVsdCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX2pzeHJ1bnRpbWUiLCJfcmVhY3QiLCJfIiwiX3NpZGVlZmZlY3QiLCJfYW1wY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfaGVhZG1hbmFnZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9hbXBtb2RlIiwiX3dhcm5vbmNlIiwiaW5BbXBNb2RlIiwiaGVhZCIsImpzeCIsImNoYXJTZXQiLCJwdXNoIiwiY29udGVudCIsIm9ubHlSZWFjdEVsZW1lbnQiLCJsaXN0IiwiY2hpbGQiLCJ0eXBlIiwiRnJhZ21lbnQiLCJjb25jYXQiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJwcm9wcyIsImNoaWxkcmVuIiwicmVkdWNlIiwiZnJhZ21lbnRMaXN0IiwiZnJhZ21lbnRDaGlsZCIsIk1FVEFUWVBFUyIsInVuaXF1ZSIsImtleXMiLCJTZXQiLCJ0YWdzIiwibWV0YVR5cGVzIiwibWV0YUNhdGVnb3JpZXMiLCJoIiwiaXNVbmlxdWUiLCJoYXNLZXkiLCJrZXkiLCJpbmRleE9mIiwic2xpY2UiLCJoYXMiLCJhZGQiLCJpIiwibGVuIiwibGVuZ3RoIiwibWV0YXR5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhdGVnb3J5IiwiY2F0ZWdvcmllcyIsInJlZHVjZUNvbXBvbmVudHMiLCJoZWFkQ2hpbGRyZW5FbGVtZW50cyIsInJldmVyc2UiLCJmaWx0ZXIiLCJtYXAiLCJjIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9PUFRJTUlaRV9GT05UUyIsInNvbWUiLCJ1cmwiLCJzdGFydHNXaXRoIiwibmV3UHJvcHMiLCJ1bmRlZmluZWQiLCJjbG9uZUVsZW1lbnQiLCJzcmNNZXNzYWdlIiwid2Fybk9uY2UiLCJIZWFkIiwicGFyYW0iLCJhbXBTdGF0ZSIsInVzZUNvbnRleHQiLCJBbXBTdGF0ZUNvbnRleHQiLCJoZWFkTWFuYWdlciIsIkhlYWRNYW5hZ2VyQ29udGV4dCIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiaXNJbkFtcE1vZGUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/head.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/image-blur-svg.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/image-blur-svg.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * A shared function, used on both client and server, to generate a SVG blur placeholder.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getImageBlurSvg\", ({\n enumerable: true,\n get: function() {\n return getImageBlurSvg;\n }\n}));\nfunction getImageBlurSvg(param) {\n let { widthInt, heightInt, blurWidth, blurHeight, blurDataURL, objectFit } = param;\n const std = 20;\n const svgWidth = blurWidth ? blurWidth * 40 : widthInt;\n const svgHeight = blurHeight ? blurHeight * 40 : heightInt;\n const viewBox = svgWidth && svgHeight ? \"viewBox='0 0 \" + svgWidth + \" \" + svgHeight + \"'\" : \"\";\n const preserveAspectRatio = viewBox ? \"none\" : objectFit === \"contain\" ? \"xMidYMid\" : objectFit === \"cover\" ? \"xMidYMid slice\" : \"none\";\n return \"%3Csvg xmlns='http://www.w3.org/2000/svg' \" + viewBox + \"%3E%3Cfilter id='b' color-interpolation-filters='sRGB'%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3CfeColorMatrix values='1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 100 -1' result='s'/%3E%3CfeFlood x='0' y='0' width='100%25' height='100%25'/%3E%3CfeComposite operator='out' in='s'/%3E%3CfeComposite in2='SourceGraphic'/%3E%3CfeGaussianBlur stdDeviation='\" + std + \"'/%3E%3C/filter%3E%3Cimage width='100%25' height='100%25' x='0' y='0' preserveAspectRatio='\" + preserveAspectRatio + \"' style='filter: url(%23b);' href='\" + blurDataURL + \"'/%3E%3C/svg%3E\";\n} //# sourceMappingURL=image-blur-svg.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtYmx1ci1zdmcuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxtREFBa0Q7SUFDOUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxnQkFBZ0JDLEtBQUs7SUFDMUIsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRUMsU0FBUyxFQUFFQyxVQUFVLEVBQUVDLFdBQVcsRUFBRUMsU0FBUyxFQUFFLEdBQUdOO0lBQzdFLE1BQU1PLE1BQU07SUFDWixNQUFNQyxXQUFXTCxZQUFZQSxZQUFZLEtBQUtGO0lBQzlDLE1BQU1RLFlBQVlMLGFBQWFBLGFBQWEsS0FBS0Y7SUFDakQsTUFBTVEsVUFBVUYsWUFBWUMsWUFBWSxrQkFBa0JELFdBQVcsTUFBTUMsWUFBWSxNQUFNO0lBQzdGLE1BQU1FLHNCQUFzQkQsVUFBVSxTQUFTSixjQUFjLFlBQVksYUFBYUEsY0FBYyxVQUFVLG1CQUFtQjtJQUNqSSxPQUFPLCtDQUErQ0ksVUFBVSw4RkFBOEZILE1BQU0sb1FBQW9RQSxNQUFNLGdHQUFnR0ksc0JBQXNCLHdDQUF3Q04sY0FBYztBQUM5bEIsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWJsdXItc3ZnLmpzPzk1NzAiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBIHNoYXJlZCBmdW5jdGlvbiwgdXNlZCBvbiBib3RoIGNsaWVudCBhbmQgc2VydmVyLCB0byBnZW5lcmF0ZSBhIFNWRyBibHVyIHBsYWNlaG9sZGVyLlxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0SW1hZ2VCbHVyU3ZnXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRJbWFnZUJsdXJTdmc7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBnZXRJbWFnZUJsdXJTdmcocGFyYW0pIHtcbiAgICBsZXQgeyB3aWR0aEludCwgaGVpZ2h0SW50LCBibHVyV2lkdGgsIGJsdXJIZWlnaHQsIGJsdXJEYXRhVVJMLCBvYmplY3RGaXQgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHN0ZCA9IDIwO1xuICAgIGNvbnN0IHN2Z1dpZHRoID0gYmx1cldpZHRoID8gYmx1cldpZHRoICogNDAgOiB3aWR0aEludDtcbiAgICBjb25zdCBzdmdIZWlnaHQgPSBibHVySGVpZ2h0ID8gYmx1ckhlaWdodCAqIDQwIDogaGVpZ2h0SW50O1xuICAgIGNvbnN0IHZpZXdCb3ggPSBzdmdXaWR0aCAmJiBzdmdIZWlnaHQgPyBcInZpZXdCb3g9JzAgMCBcIiArIHN2Z1dpZHRoICsgXCIgXCIgKyBzdmdIZWlnaHQgKyBcIidcIiA6IFwiXCI7XG4gICAgY29uc3QgcHJlc2VydmVBc3BlY3RSYXRpbyA9IHZpZXdCb3ggPyBcIm5vbmVcIiA6IG9iamVjdEZpdCA9PT0gXCJjb250YWluXCIgPyBcInhNaWRZTWlkXCIgOiBvYmplY3RGaXQgPT09IFwiY292ZXJcIiA/IFwieE1pZFlNaWQgc2xpY2VcIiA6IFwibm9uZVwiO1xuICAgIHJldHVybiBcIiUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIFwiICsgdmlld0JveCArIFwiJTNFJTNDZmlsdGVyIGlkPSdiJyBjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM9J3NSR0InJTNFJTNDZmVHYXVzc2lhbkJsdXIgc3RkRGV2aWF0aW9uPSdcIiArIHN0ZCArIFwiJy8lM0UlM0NmZUNvbG9yTWF0cml4IHZhbHVlcz0nMSAwIDAgMCAwIDAgMSAwIDAgMCAwIDAgMSAwIDAgMCAwIDAgMTAwIC0xJyByZXN1bHQ9J3MnLyUzRSUzQ2ZlRmxvb2QgeD0nMCcgeT0nMCcgd2lkdGg9JzEwMCUyNScgaGVpZ2h0PScxMDAlMjUnLyUzRSUzQ2ZlQ29tcG9zaXRlIG9wZXJhdG9yPSdvdXQnIGluPSdzJy8lM0UlM0NmZUNvbXBvc2l0ZSBpbjI9J1NvdXJjZUdyYXBoaWMnLyUzRSUzQ2ZlR2F1c3NpYW5CbHVyIHN0ZERldmlhdGlvbj0nXCIgKyBzdGQgKyBcIicvJTNFJTNDL2ZpbHRlciUzRSUzQ2ltYWdlIHdpZHRoPScxMDAlMjUnIGhlaWdodD0nMTAwJTI1JyB4PScwJyB5PScwJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdcIiArIHByZXNlcnZlQXNwZWN0UmF0aW8gKyBcIicgc3R5bGU9J2ZpbHRlcjogdXJsKCUyM2IpOycgaHJlZj0nXCIgKyBibHVyRGF0YVVSTCArIFwiJy8lM0UlM0Mvc3ZnJTNFXCI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWJsdXItc3ZnLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRJbWFnZUJsdXJTdmciLCJwYXJhbSIsIndpZHRoSW50IiwiaGVpZ2h0SW50IiwiYmx1cldpZHRoIiwiYmx1ckhlaWdodCIsImJsdXJEYXRhVVJMIiwib2JqZWN0Rml0Iiwic3RkIiwic3ZnV2lkdGgiLCJzdmdIZWlnaHQiLCJ2aWV3Qm94IiwicHJlc2VydmVBc3BlY3RSYXRpbyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-blur-svg.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/image-config.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/image-config.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n VALID_LOADERS: function() {\n return VALID_LOADERS;\n },\n imageConfigDefault: function() {\n return imageConfigDefault;\n }\n});\nconst VALID_LOADERS = [\n \"default\",\n \"imgix\",\n \"cloudinary\",\n \"akamai\",\n \"custom\"\n];\nconst imageConfigDefault = {\n deviceSizes: [\n 640,\n 750,\n 828,\n 1080,\n 1200,\n 1920,\n 2048,\n 3840\n ],\n imageSizes: [\n 16,\n 32,\n 48,\n 64,\n 96,\n 128,\n 256,\n 384\n ],\n path: \"/_next/image\",\n loader: \"default\",\n loaderFile: \"\",\n domains: [],\n disableStaticImages: false,\n minimumCacheTTL: 60,\n formats: [\n \"image/webp\"\n ],\n dangerouslyAllowSVG: false,\n contentSecurityPolicy: \"script-src 'none'; frame-src 'none'; sandbox;\",\n contentDispositionType: \"inline\",\n remotePatterns: [],\n unoptimized: false\n}; //# sourceMappingURL=image-config.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtY29uZmlnLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTUQsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELE1BQU1DLHFCQUFxQjtJQUN2Qk8sYUFBYTtRQUNUO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7S0FDSDtJQUNEQyxZQUFZO1FBQ1I7UUFDQTtRQUNBO1FBQ0E7UUFDQTtRQUNBO1FBQ0E7UUFDQTtLQUNIO0lBQ0RDLE1BQU07SUFDTkMsUUFBUTtJQUNSQyxZQUFZO0lBQ1pDLFNBQVMsRUFBRTtJQUNYQyxxQkFBcUI7SUFDckJDLGlCQUFpQjtJQUNqQkMsU0FBUztRQUNMO0tBQ0g7SUFDREMscUJBQXFCO0lBQ3JCQyx1QkFBdUI7SUFDdkJDLHdCQUF3QjtJQUN4QkMsZ0JBQWdCLEVBQUU7SUFDbEJDLGFBQWE7QUFDakIsR0FFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2ltYWdlLWNvbmZpZy5qcz8zMTI2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgVkFMSURfTE9BREVSUzogbnVsbCxcbiAgICBpbWFnZUNvbmZpZ0RlZmF1bHQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgVkFMSURfTE9BREVSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBWQUxJRF9MT0FERVJTO1xuICAgIH0sXG4gICAgaW1hZ2VDb25maWdEZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGltYWdlQ29uZmlnRGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IFZBTElEX0xPQURFUlMgPSBbXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJpbWdpeFwiLFxuICAgIFwiY2xvdWRpbmFyeVwiLFxuICAgIFwiYWthbWFpXCIsXG4gICAgXCJjdXN0b21cIlxuXTtcbmNvbnN0IGltYWdlQ29uZmlnRGVmYXVsdCA9IHtcbiAgICBkZXZpY2VTaXplczogW1xuICAgICAgICA2NDAsXG4gICAgICAgIDc1MCxcbiAgICAgICAgODI4LFxuICAgICAgICAxMDgwLFxuICAgICAgICAxMjAwLFxuICAgICAgICAxOTIwLFxuICAgICAgICAyMDQ4LFxuICAgICAgICAzODQwXG4gICAgXSxcbiAgICBpbWFnZVNpemVzOiBbXG4gICAgICAgIDE2LFxuICAgICAgICAzMixcbiAgICAgICAgNDgsXG4gICAgICAgIDY0LFxuICAgICAgICA5NixcbiAgICAgICAgMTI4LFxuICAgICAgICAyNTYsXG4gICAgICAgIDM4NFxuICAgIF0sXG4gICAgcGF0aDogXCIvX25leHQvaW1hZ2VcIixcbiAgICBsb2FkZXI6IFwiZGVmYXVsdFwiLFxuICAgIGxvYWRlckZpbGU6IFwiXCIsXG4gICAgZG9tYWluczogW10sXG4gICAgZGlzYWJsZVN0YXRpY0ltYWdlczogZmFsc2UsXG4gICAgbWluaW11bUNhY2hlVFRMOiA2MCxcbiAgICBmb3JtYXRzOiBbXG4gICAgICAgIFwiaW1hZ2Uvd2VicFwiXG4gICAgXSxcbiAgICBkYW5nZXJvdXNseUFsbG93U1ZHOiBmYWxzZSxcbiAgICBjb250ZW50U2VjdXJpdHlQb2xpY3k6IFwic2NyaXB0LXNyYyAnbm9uZSc7IGZyYW1lLXNyYyAnbm9uZSc7IHNhbmRib3g7XCIsXG4gICAgY29udGVudERpc3Bvc2l0aW9uVHlwZTogXCJpbmxpbmVcIixcbiAgICByZW1vdGVQYXR0ZXJuczogW10sXG4gICAgdW5vcHRpbWl6ZWQ6IGZhbHNlXG59O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1jb25maWcuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiVkFMSURfTE9BREVSUyIsImltYWdlQ29uZmlnRGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImRldmljZVNpemVzIiwiaW1hZ2VTaXplcyIsInBhdGgiLCJsb2FkZXIiLCJsb2FkZXJGaWxlIiwiZG9tYWlucyIsImRpc2FibGVTdGF0aWNJbWFnZXMiLCJtaW5pbXVtQ2FjaGVUVEwiLCJmb3JtYXRzIiwiZGFuZ2Vyb3VzbHlBbGxvd1NWRyIsImNvbnRlbnRTZWN1cml0eVBvbGljeSIsImNvbnRlbnREaXNwb3NpdGlvblR5cGUiLCJyZW1vdGVQYXR0ZXJucyIsInVub3B0aW1pemVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-config.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/image-external.js": /*!*************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/image-external.js ***! \*************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getImageProps: function() {\n return getImageProps;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getimgprops = __webpack_require__(/*! ./get-img-props */ \"(ssr)/./node_modules/next/dist/shared/lib/get-img-props.js\");\nconst _imagecomponent = __webpack_require__(/*! ../../client/image-component */ \"(ssr)/./node_modules/next/dist/client/image-component.js\");\nconst _imageloader = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/shared/lib/image-loader */ \"(ssr)/./node_modules/next/dist/shared/lib/image-loader.js\"));\nconst getImageProps = (imgProps)=>{\n const { props } = (0, _getimgprops.getImgProps)(imgProps, {\n defaultLoader: _imageloader.default,\n // This is replaced by webpack define plugin\n imgConf: {\"deviceSizes\":[640,750,828,1080,1200,1920,2048,3840],\"imageSizes\":[16,32,48,64,96,128,256,384],\"path\":\"/_next/image/\",\"loader\":\"default\",\"dangerouslyAllowSVG\":false,\"unoptimized\":false,\"domains\":[\"lh3.googleusercontent.com\"],\"remotePatterns\":[]}\n });\n // Normally we don't care about undefined props because we pass to JSX,\n // but this exported function could be used by the end user for anything\n // so we delete undefined props to clean it up a little.\n for (const [key, value] of Object.entries(props)){\n if (value === undefined) {\n delete props[key];\n }\n }\n return {\n props\n };\n};\nconst _default = _imagecomponent.Image; //# sourceMappingURL=image-external.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtZXh0ZXJuYWwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUF5QztBQUNsRixNQUFNQyxlQUFlRCxtQkFBT0EsQ0FBQyxtRkFBaUI7QUFDOUMsTUFBTUUsa0JBQWtCRixtQkFBT0EsQ0FBQyw4RkFBOEI7QUFDOUQsTUFBTUcsZUFBZSxXQUFXLEdBQUdKLHlCQUF5QkssQ0FBQyxDQUFDSixtQkFBT0EsQ0FBQyxvR0FBbUM7QUFDekcsTUFBTVYsZ0JBQWdCLENBQUNlO0lBQ25CLE1BQU0sRUFBRUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxHQUFHTCxhQUFhTSxXQUFXLEVBQUVGLFVBQVU7UUFDdERHLGVBQWVMLGFBQWFaLE9BQU87UUFDbkMsNENBQTRDO1FBQzVDa0IsU0FBU0Msc1BBQTZCO0lBQzFDO0lBQ0EsdUVBQXVFO0lBQ3ZFLHdFQUF3RTtJQUN4RSx3REFBd0Q7SUFDeEQsS0FBSyxNQUFNLENBQUNHLEtBQUt6QixNQUFNLElBQUlILE9BQU82QixPQUFPLENBQUNSLE9BQU87UUFDN0MsSUFBSWxCLFVBQVUyQixXQUFXO1lBQ3JCLE9BQU9ULEtBQUssQ0FBQ08sSUFBSTtRQUNyQjtJQUNKO0lBQ0EsT0FBTztRQUNIUDtJQUNKO0FBQ0o7QUFDQSxNQUFNUixXQUFXSSxnQkFBZ0JjLEtBQUssRUFFdEMsMENBQTBDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9pbWFnZS1leHRlcm5hbC5qcz82OGNiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0SW1hZ2VQcm9wczogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGdldEltYWdlUHJvcHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0SW1hZ2VQcm9wcztcbiAgICB9LFxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2dldGltZ3Byb3BzID0gcmVxdWlyZShcIi4vZ2V0LWltZy1wcm9wc1wiKTtcbmNvbnN0IF9pbWFnZWNvbXBvbmVudCA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvaW1hZ2UtY29tcG9uZW50XCIpO1xuY29uc3QgX2ltYWdlbG9hZGVyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtbG9hZGVyXCIpKTtcbmNvbnN0IGdldEltYWdlUHJvcHMgPSAoaW1nUHJvcHMpPT57XG4gICAgY29uc3QgeyBwcm9wcyB9ID0gKDAsIF9nZXRpbWdwcm9wcy5nZXRJbWdQcm9wcykoaW1nUHJvcHMsIHtcbiAgICAgICAgZGVmYXVsdExvYWRlcjogX2ltYWdlbG9hZGVyLmRlZmF1bHQsXG4gICAgICAgIC8vIFRoaXMgaXMgcmVwbGFjZWQgYnkgd2VicGFjayBkZWZpbmUgcGx1Z2luXG4gICAgICAgIGltZ0NvbmY6IHByb2Nlc3MuZW52Ll9fTkVYVF9JTUFHRV9PUFRTXG4gICAgfSk7XG4gICAgLy8gTm9ybWFsbHkgd2UgZG9uJ3QgY2FyZSBhYm91dCB1bmRlZmluZWQgcHJvcHMgYmVjYXVzZSB3ZSBwYXNzIHRvIEpTWCxcbiAgICAvLyBidXQgdGhpcyBleHBvcnRlZCBmdW5jdGlvbiBjb3VsZCBiZSB1c2VkIGJ5IHRoZSBlbmQgdXNlciBmb3IgYW55dGhpbmdcbiAgICAvLyBzbyB3ZSBkZWxldGUgdW5kZWZpbmVkIHByb3BzIHRvIGNsZWFuIGl0IHVwIGEgbGl0dGxlLlxuICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHByb3BzKSl7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBkZWxldGUgcHJvcHNba2V5XTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBwcm9wc1xuICAgIH07XG59O1xuY29uc3QgX2RlZmF1bHQgPSBfaW1hZ2Vjb21wb25lbnQuSW1hZ2U7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLWV4dGVybmFsLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldEltYWdlUHJvcHMiLCJkZWZhdWx0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2dldGltZ3Byb3BzIiwiX2ltYWdlY29tcG9uZW50IiwiX2ltYWdlbG9hZGVyIiwiXyIsImltZ1Byb3BzIiwicHJvcHMiLCJnZXRJbWdQcm9wcyIsImRlZmF1bHRMb2FkZXIiLCJpbWdDb25mIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JTUFHRV9PUFRTIiwia2V5IiwiZW50cmllcyIsInVuZGVmaW5lZCIsIkltYWdlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-external.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/image-loader.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/image-loader.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nfunction defaultLoader(param) {\n let { config, src, width, quality } = param;\n if (true) {\n const missingValues = [];\n // these should always be provided but make sure they are\n if (!src) missingValues.push(\"src\");\n if (!width) missingValues.push(\"width\");\n if (missingValues.length > 0) {\n throw new Error(\"Next Image Optimization requires \" + missingValues.join(\", \") + \" to be provided. Make sure you pass them as props to the `next/image` component. Received: \" + JSON.stringify({\n src,\n width,\n quality\n }));\n }\n if (src.startsWith(\"//\")) {\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, protocol-relative URL (//) must be changed to an absolute URL (http:// or https://)');\n }\n if (!src.startsWith(\"/\") && (config.domains || config.remotePatterns)) {\n let parsedSrc;\n try {\n parsedSrc = new URL(src);\n } catch (err) {\n console.error(err);\n throw new Error('Failed to parse src \"' + src + '\" on `next/image`, if using relative image it must start with a leading slash \"/\" or be an absolute URL (http:// or https://)');\n }\n if (true) {\n // We use dynamic require because this should only error in development\n const { hasMatch } = __webpack_require__(/*! ./match-remote-pattern */ \"(ssr)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\");\n if (!hasMatch(config.domains, config.remotePatterns, parsedSrc)) {\n throw new Error(\"Invalid src prop (\" + src + ') on `next/image`, hostname \"' + parsedSrc.hostname + '\" is not configured under images in your `next.config.js`\\n' + \"See more info: https://nextjs.org/docs/messages/next-image-unconfigured-host\");\n }\n }\n }\n }\n return config.path + \"?url=\" + encodeURIComponent(src) + \"&w=\" + width + \"&q=\" + (quality || 75) + ( false ? 0 : \"\");\n}\n// We use this to determine if the import is the default loader\n// or a custom loader defined by the user in next.config.js\ndefaultLoader.__next_img_default = true;\nconst _default = defaultLoader; //# sourceMappingURL=image-loader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtbG9hZGVyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQyxjQUFjQyxLQUFLO0lBQ3hCLElBQUksRUFBRUMsTUFBTSxFQUFFQyxHQUFHLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFLEdBQUdKO0lBQ3RDLElBQUlLLElBQXFDLEVBQUU7UUFDdkMsTUFBTUMsZ0JBQWdCLEVBQUU7UUFDeEIseURBQXlEO1FBQ3pELElBQUksQ0FBQ0osS0FBS0ksY0FBY0MsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQ0osT0FBT0csY0FBY0MsSUFBSSxDQUFDO1FBQy9CLElBQUlELGNBQWNFLE1BQU0sR0FBRyxHQUFHO1lBQzFCLE1BQU0sSUFBSUMsTUFBTSxzQ0FBc0NILGNBQWNJLElBQUksQ0FBQyxRQUFRLGdHQUFnR0MsS0FBS0MsU0FBUyxDQUFDO2dCQUM1TFY7Z0JBQ0FDO2dCQUNBQztZQUNKO1FBQ0o7UUFDQSxJQUFJRixJQUFJVyxVQUFVLENBQUMsT0FBTztZQUN0QixNQUFNLElBQUlKLE1BQU0sMEJBQTBCUCxNQUFNO1FBQ3BEO1FBQ0EsSUFBSSxDQUFDQSxJQUFJVyxVQUFVLENBQUMsUUFBU1osQ0FBQUEsT0FBT2EsT0FBTyxJQUFJYixPQUFPYyxjQUFjLEdBQUc7WUFDbkUsSUFBSUM7WUFDSixJQUFJO2dCQUNBQSxZQUFZLElBQUlDLElBQUlmO1lBQ3hCLEVBQUUsT0FBT2dCLEtBQUs7Z0JBQ1ZDLFFBQVFDLEtBQUssQ0FBQ0Y7Z0JBQ2QsTUFBTSxJQUFJVCxNQUFNLDBCQUEwQlAsTUFBTTtZQUNwRDtZQUNBLElBQUlHLElBQytCLEVBQUU7Z0JBQ2pDLHVFQUF1RTtnQkFDdkUsTUFBTSxFQUFFa0IsUUFBUSxFQUFFLEdBQUdDLG1CQUFPQSxDQUFDLGlHQUF3QjtnQkFDckQsSUFBSSxDQUFDRCxTQUFTdEIsT0FBT2EsT0FBTyxFQUFFYixPQUFPYyxjQUFjLEVBQUVDLFlBQVk7b0JBQzdELE1BQU0sSUFBSVAsTUFBTSx1QkFBdUJQLE1BQU0sa0NBQWtDYyxVQUFVUyxRQUFRLEdBQUcsZ0VBQWdFO2dCQUN4SztZQUNKO1FBQ0o7SUFDSjtJQUNBLE9BQU94QixPQUFPeUIsSUFBSSxHQUFHLFVBQVVDLG1CQUFtQnpCLE9BQU8sUUFBUUMsUUFBUSxRQUFTQyxDQUFBQSxXQUFXLEVBQUMsSUFBTUMsQ0FBQUEsTUFBOEIsR0FBRyxDQUF3QyxHQUFHLEVBQUM7QUFDckw7QUFDQSwrREFBK0Q7QUFDL0QsMkRBQTJEO0FBQzNETixjQUFjOEIsa0JBQWtCLEdBQUc7QUFDbkMsTUFBTS9CLFdBQVdDLGVBRWpCLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaW1hZ2UtbG9hZGVyLmpzP2MwYTEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGRlZmF1bHRMb2FkZXIocGFyYW0pIHtcbiAgICBsZXQgeyBjb25maWcsIHNyYywgd2lkdGgsIHF1YWxpdHkgfSA9IHBhcmFtO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgY29uc3QgbWlzc2luZ1ZhbHVlcyA9IFtdO1xuICAgICAgICAvLyB0aGVzZSBzaG91bGQgYWx3YXlzIGJlIHByb3ZpZGVkIGJ1dCBtYWtlIHN1cmUgdGhleSBhcmVcbiAgICAgICAgaWYgKCFzcmMpIG1pc3NpbmdWYWx1ZXMucHVzaChcInNyY1wiKTtcbiAgICAgICAgaWYgKCF3aWR0aCkgbWlzc2luZ1ZhbHVlcy5wdXNoKFwid2lkdGhcIik7XG4gICAgICAgIGlmIChtaXNzaW5nVmFsdWVzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5leHQgSW1hZ2UgT3B0aW1pemF0aW9uIHJlcXVpcmVzIFwiICsgbWlzc2luZ1ZhbHVlcy5qb2luKFwiLCBcIikgKyBcIiB0byBiZSBwcm92aWRlZC4gTWFrZSBzdXJlIHlvdSBwYXNzIHRoZW0gYXMgcHJvcHMgdG8gdGhlIGBuZXh0L2ltYWdlYCBjb21wb25lbnQuIFJlY2VpdmVkOiBcIiArIEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgICAgICBzcmMsXG4gICAgICAgICAgICAgICAgd2lkdGgsXG4gICAgICAgICAgICAgICAgcXVhbGl0eVxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzcmMuc3RhcnRzV2l0aChcIi8vXCIpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBwYXJzZSBzcmMgXCInICsgc3JjICsgJ1wiIG9uIGBuZXh0L2ltYWdlYCwgcHJvdG9jb2wtcmVsYXRpdmUgVVJMICgvLykgbXVzdCBiZSBjaGFuZ2VkIHRvIGFuIGFic29sdXRlIFVSTCAoaHR0cDovLyBvciBodHRwczovLyknKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNyYy5zdGFydHNXaXRoKFwiL1wiKSAmJiAoY29uZmlnLmRvbWFpbnMgfHwgY29uZmlnLnJlbW90ZVBhdHRlcm5zKSkge1xuICAgICAgICAgICAgbGV0IHBhcnNlZFNyYztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcGFyc2VkU3JjID0gbmV3IFVSTChzcmMpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHBhcnNlIHNyYyBcIicgKyBzcmMgKyAnXCIgb24gYG5leHQvaW1hZ2VgLCBpZiB1c2luZyByZWxhdGl2ZSBpbWFnZSBpdCBtdXN0IHN0YXJ0IHdpdGggYSBsZWFkaW5nIHNsYXNoIFwiL1wiIG9yIGJlIGFuIGFic29sdXRlIFVSTCAoaHR0cDovLyBvciBodHRwczovLyknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJ0ZXN0XCIgJiYgLy8gbWljcm9tYXRjaCBpc24ndCBjb21wYXRpYmxlIHdpdGggZWRnZSBydW50aW1lXG4gICAgICAgICAgICBwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgIT09IFwiZWRnZVwiKSB7XG4gICAgICAgICAgICAgICAgLy8gV2UgdXNlIGR5bmFtaWMgcmVxdWlyZSBiZWNhdXNlIHRoaXMgc2hvdWxkIG9ubHkgZXJyb3IgaW4gZGV2ZWxvcG1lbnRcbiAgICAgICAgICAgICAgICBjb25zdCB7IGhhc01hdGNoIH0gPSByZXF1aXJlKFwiLi9tYXRjaC1yZW1vdGUtcGF0dGVyblwiKTtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc01hdGNoKGNvbmZpZy5kb21haW5zLCBjb25maWcucmVtb3RlUGF0dGVybnMsIHBhcnNlZFNyYykpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBzcmMgcHJvcCAoXCIgKyBzcmMgKyAnKSBvbiBgbmV4dC9pbWFnZWAsIGhvc3RuYW1lIFwiJyArIHBhcnNlZFNyYy5ob3N0bmFtZSArICdcIiBpcyBub3QgY29uZmlndXJlZCB1bmRlciBpbWFnZXMgaW4geW91ciBgbmV4dC5jb25maWcuanNgXFxuJyArIFwiU2VlIG1vcmUgaW5mbzogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1pbWFnZS11bmNvbmZpZ3VyZWQtaG9zdFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbmZpZy5wYXRoICsgXCI/dXJsPVwiICsgZW5jb2RlVVJJQ29tcG9uZW50KHNyYykgKyBcIiZ3PVwiICsgd2lkdGggKyBcIiZxPVwiICsgKHF1YWxpdHkgfHwgNzUpICsgKHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRCA/IFwiJmRwbD1cIiArIHByb2Nlc3MuZW52Lk5FWFRfREVQTE9ZTUVOVF9JRCA6IFwiXCIpO1xufVxuLy8gV2UgdXNlIHRoaXMgdG8gZGV0ZXJtaW5lIGlmIHRoZSBpbXBvcnQgaXMgdGhlIGRlZmF1bHQgbG9hZGVyXG4vLyBvciBhIGN1c3RvbSBsb2FkZXIgZGVmaW5lZCBieSB0aGUgdXNlciBpbiBuZXh0LmNvbmZpZy5qc1xuZGVmYXVsdExvYWRlci5fX25leHRfaW1nX2RlZmF1bHQgPSB0cnVlO1xuY29uc3QgX2RlZmF1bHQgPSBkZWZhdWx0TG9hZGVyO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbWFnZS1sb2FkZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiZGVmYXVsdExvYWRlciIsInBhcmFtIiwiY29uZmlnIiwic3JjIiwid2lkdGgiLCJxdWFsaXR5IiwicHJvY2VzcyIsIm1pc3NpbmdWYWx1ZXMiLCJwdXNoIiwibGVuZ3RoIiwiRXJyb3IiLCJqb2luIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YXJ0c1dpdGgiLCJkb21haW5zIiwicmVtb3RlUGF0dGVybnMiLCJwYXJzZWRTcmMiLCJVUkwiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJoYXNNYXRjaCIsInJlcXVpcmUiLCJob3N0bmFtZSIsInBhdGgiLCJlbmNvZGVVUklDb21wb25lbnQiLCJORVhUX0RFUExPWU1FTlRfSUQiLCJfX25leHRfaW1nX2RlZmF1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/image-loader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// This has to be a shared module which is shared between client component error boundary and dynamic component\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n BailoutToCSRError: function() {\n return BailoutToCSRError;\n },\n isBailoutToCSRError: function() {\n return isBailoutToCSRError;\n }\n});\nconst BAILOUT_TO_CSR = \"BAILOUT_TO_CLIENT_SIDE_RENDERING\";\nclass BailoutToCSRError extends Error {\n constructor(reason){\n super(\"Bail out to client-side rendering: \" + reason);\n this.reason = reason;\n this.digest = BAILOUT_TO_CSR;\n }\n}\nfunction isBailoutToCSRError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err)) {\n return false;\n }\n return err.digest === BAILOUT_TO_CSR;\n} //# sourceMappingURL=bailout-to-csr.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzIiwibWFwcGluZ3MiOiJBQUFBLCtHQUErRztBQUNsRztBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8saUJBQWlCO0FBQ3ZCLE1BQU1SLDBCQUEwQlM7SUFDNUJDLFlBQVlDLE1BQU0sQ0FBQztRQUNmLEtBQUssQ0FBQyx3Q0FBd0NBO1FBQzlDLElBQUksQ0FBQ0EsTUFBTSxHQUFHQTtRQUNkLElBQUksQ0FBQ0MsTUFBTSxHQUFHSjtJQUNsQjtBQUNKO0FBQ0EsU0FBU1Asb0JBQW9CWSxHQUFHO0lBQzVCLElBQUksT0FBT0EsUUFBUSxZQUFZQSxRQUFRLFFBQVEsQ0FBRSxhQUFZQSxHQUFFLEdBQUk7UUFDL0QsT0FBTztJQUNYO0lBQ0EsT0FBT0EsSUFBSUQsTUFBTSxLQUFLSjtBQUMxQixFQUVBLDBDQUEwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbGF6eS1keW5hbWljL2JhaWxvdXQtdG8tY3NyLmpzPzAwOTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyBoYXMgdG8gYmUgYSBzaGFyZWQgbW9kdWxlIHdoaWNoIGlzIHNoYXJlZCBiZXR3ZWVuIGNsaWVudCBjb21wb25lbnQgZXJyb3IgYm91bmRhcnkgYW5kIGR5bmFtaWMgY29tcG9uZW50XG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEJhaWxvdXRUb0NTUkVycm9yOiBudWxsLFxuICAgIGlzQmFpbG91dFRvQ1NSRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgQmFpbG91dFRvQ1NSRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQmFpbG91dFRvQ1NSRXJyb3I7XG4gICAgfSxcbiAgICBpc0JhaWxvdXRUb0NTUkVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzQmFpbG91dFRvQ1NSRXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBCQUlMT1VUX1RPX0NTUiA9IFwiQkFJTE9VVF9UT19DTElFTlRfU0lERV9SRU5ERVJJTkdcIjtcbmNsYXNzIEJhaWxvdXRUb0NTUkVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHJlYXNvbil7XG4gICAgICAgIHN1cGVyKFwiQmFpbCBvdXQgdG8gY2xpZW50LXNpZGUgcmVuZGVyaW5nOiBcIiArIHJlYXNvbik7XG4gICAgICAgIHRoaXMucmVhc29uID0gcmVhc29uO1xuICAgICAgICB0aGlzLmRpZ2VzdCA9IEJBSUxPVVRfVE9fQ1NSO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGlzQmFpbG91dFRvQ1NSRXJyb3IoZXJyKSB7XG4gICAgaWYgKHR5cGVvZiBlcnIgIT09IFwib2JqZWN0XCIgfHwgZXJyID09PSBudWxsIHx8ICEoXCJkaWdlc3RcIiBpbiBlcnIpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVyci5kaWdlc3QgPT09IEJBSUxPVVRfVE9fQ1NSO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1iYWlsb3V0LXRvLWNzci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJCYWlsb3V0VG9DU1JFcnJvciIsImlzQmFpbG91dFRvQ1NSRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJCQUlMT1VUX1RPX0NTUiIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJyZWFzb24iLCJkaWdlc3QiLCJlcnIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/match-remote-pattern.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/match-remote-pattern.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n matchRemotePattern: function() {\n return matchRemotePattern;\n },\n hasMatch: function() {\n return hasMatch;\n }\n});\nconst _micromatch = __webpack_require__(/*! next/dist/compiled/micromatch */ \"(ssr)/./node_modules/next/dist/compiled/micromatch/index.js\");\nfunction matchRemotePattern(pattern, url) {\n if (pattern.protocol !== undefined) {\n const actualProto = url.protocol.slice(0, -1);\n if (pattern.protocol !== actualProto) {\n return false;\n }\n }\n if (pattern.port !== undefined) {\n if (pattern.port !== url.port) {\n return false;\n }\n }\n if (pattern.hostname === undefined) {\n throw new Error(\"Pattern should define hostname but found\\n\" + JSON.stringify(pattern));\n } else {\n if (!(0, _micromatch.makeRe)(pattern.hostname).test(url.hostname)) {\n return false;\n }\n }\n var _pattern_pathname;\n if (!(0, _micromatch.makeRe)((_pattern_pathname = pattern.pathname) != null ? _pattern_pathname : \"**\").test(url.pathname)) {\n return false;\n }\n return true;\n}\nfunction hasMatch(domains, remotePatterns, url) {\n return domains.some((domain)=>url.hostname === domain) || remotePatterns.some((p)=>matchRemotePattern(p, url));\n} //# sourceMappingURL=match-remote-pattern.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvbWF0Y2gtcmVtb3RlLXBhdHRlcm4uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxjQUFjQyxtQkFBT0EsQ0FBQyxrR0FBK0I7QUFDM0QsU0FBU1QsbUJBQW1CVSxPQUFPLEVBQUVDLEdBQUc7SUFDcEMsSUFBSUQsUUFBUUUsUUFBUSxLQUFLQyxXQUFXO1FBQ2hDLE1BQU1DLGNBQWNILElBQUlDLFFBQVEsQ0FBQ0csS0FBSyxDQUFDLEdBQUcsQ0FBQztRQUMzQyxJQUFJTCxRQUFRRSxRQUFRLEtBQUtFLGFBQWE7WUFDbEMsT0FBTztRQUNYO0lBQ0o7SUFDQSxJQUFJSixRQUFRTSxJQUFJLEtBQUtILFdBQVc7UUFDNUIsSUFBSUgsUUFBUU0sSUFBSSxLQUFLTCxJQUFJSyxJQUFJLEVBQUU7WUFDM0IsT0FBTztRQUNYO0lBQ0o7SUFDQSxJQUFJTixRQUFRTyxRQUFRLEtBQUtKLFdBQVc7UUFDaEMsTUFBTSxJQUFJSyxNQUFNLCtDQUErQ0MsS0FBS0MsU0FBUyxDQUFDVjtJQUNsRixPQUFPO1FBQ0gsSUFBSSxDQUFDLENBQUMsR0FBR0YsWUFBWWEsTUFBTSxFQUFFWCxRQUFRTyxRQUFRLEVBQUVLLElBQUksQ0FBQ1gsSUFBSU0sUUFBUSxHQUFHO1lBQy9ELE9BQU87UUFDWDtJQUNKO0lBQ0EsSUFBSU07SUFDSixJQUFJLENBQUMsQ0FBQyxHQUFHZixZQUFZYSxNQUFNLEVBQUUsQ0FBQ0Usb0JBQW9CYixRQUFRYyxRQUFRLEtBQUssT0FBT0Qsb0JBQW9CLE1BQU1ELElBQUksQ0FBQ1gsSUFBSWEsUUFBUSxHQUFHO1FBQ3hILE9BQU87SUFDWDtJQUNBLE9BQU87QUFDWDtBQUNBLFNBQVN2QixTQUFTd0IsT0FBTyxFQUFFQyxjQUFjLEVBQUVmLEdBQUc7SUFDMUMsT0FBT2MsUUFBUUUsSUFBSSxDQUFDLENBQUNDLFNBQVNqQixJQUFJTSxRQUFRLEtBQUtXLFdBQVdGLGVBQWVDLElBQUksQ0FBQyxDQUFDRSxJQUFJN0IsbUJBQW1CNkIsR0FBR2xCO0FBQzdHLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9tYXRjaC1yZW1vdGUtcGF0dGVybi5qcz8wYzliIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbWF0Y2hSZW1vdGVQYXR0ZXJuOiBudWxsLFxuICAgIGhhc01hdGNoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIG1hdGNoUmVtb3RlUGF0dGVybjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXRjaFJlbW90ZVBhdHRlcm47XG4gICAgfSxcbiAgICBoYXNNYXRjaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoYXNNYXRjaDtcbiAgICB9XG59KTtcbmNvbnN0IF9taWNyb21hdGNoID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9taWNyb21hdGNoXCIpO1xuZnVuY3Rpb24gbWF0Y2hSZW1vdGVQYXR0ZXJuKHBhdHRlcm4sIHVybCkge1xuICAgIGlmIChwYXR0ZXJuLnByb3RvY29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsUHJvdG8gPSB1cmwucHJvdG9jb2wuc2xpY2UoMCwgLTEpO1xuICAgICAgICBpZiAocGF0dGVybi5wcm90b2NvbCAhPT0gYWN0dWFsUHJvdG8pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocGF0dGVybi5wb3J0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKHBhdHRlcm4ucG9ydCAhPT0gdXJsLnBvcnQpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocGF0dGVybi5ob3N0bmFtZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIlBhdHRlcm4gc2hvdWxkIGRlZmluZSBob3N0bmFtZSBidXQgZm91bmRcXG5cIiArIEpTT04uc3RyaW5naWZ5KHBhdHRlcm4pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoISgwLCBfbWljcm9tYXRjaC5tYWtlUmUpKHBhdHRlcm4uaG9zdG5hbWUpLnRlc3QodXJsLmhvc3RuYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHZhciBfcGF0dGVybl9wYXRobmFtZTtcbiAgICBpZiAoISgwLCBfbWljcm9tYXRjaC5tYWtlUmUpKChfcGF0dGVybl9wYXRobmFtZSA9IHBhdHRlcm4ucGF0aG5hbWUpICE9IG51bGwgPyBfcGF0dGVybl9wYXRobmFtZSA6IFwiKipcIikudGVzdCh1cmwucGF0aG5hbWUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBoYXNNYXRjaChkb21haW5zLCByZW1vdGVQYXR0ZXJucywgdXJsKSB7XG4gICAgcmV0dXJuIGRvbWFpbnMuc29tZSgoZG9tYWluKT0+dXJsLmhvc3RuYW1lID09PSBkb21haW4pIHx8IHJlbW90ZVBhdHRlcm5zLnNvbWUoKHApPT5tYXRjaFJlbW90ZVBhdHRlcm4ocCwgdXJsKSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hdGNoLXJlbW90ZS1wYXR0ZXJuLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm1hdGNoUmVtb3RlUGF0dGVybiIsImhhc01hdGNoIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX21pY3JvbWF0Y2giLCJyZXF1aXJlIiwicGF0dGVybiIsInVybCIsInByb3RvY29sIiwidW5kZWZpbmVkIiwiYWN0dWFsUHJvdG8iLCJzbGljZSIsInBvcnQiLCJob3N0bmFtZSIsIkVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsIm1ha2VSZSIsInRlc3QiLCJfcGF0dGVybl9wYXRobmFtZSIsInBhdGhuYW1lIiwiZG9tYWlucyIsInJlbW90ZVBhdHRlcm5zIiwic29tZSIsImRvbWFpbiIsInAiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/match-remote-pattern.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsSUFBSTtJQUM1QixPQUFPQSxLQUFLQyxVQUFVLENBQUMsT0FBT0QsT0FBTyxNQUFNQTtBQUMvQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzP2NmMzIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIGEgbGVhZGluZyBzbGFzaC5cbiAqIElmIHRoZXJlIGlzIG5vdCBhIGxlYWRpbmcgc2xhc2gsIG9uZSBpcyBhZGRlZCwgb3RoZXJ3aXNlIGl0IGlzIG5vb3AuXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnN1cmVMZWFkaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVuc3VyZUxlYWRpbmdTbGFzaDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGVuc3VyZUxlYWRpbmdTbGFzaChwYXRoKSB7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBwYXRoIDogXCIvXCIgKyBwYXRoO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnN1cmUtbGVhZGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwicGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/action-queue.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ActionQueueContext: function() {\n return ActionQueueContext;\n },\n createMutableActionQueue: function() {\n return createMutableActionQueue;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _routerreducertypes = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _routerreducer = __webpack_require__(/*! ../../../client/components/router-reducer/router-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst ActionQueueContext = _react.default.createContext(null);\nfunction runRemainingActions(actionQueue, setState) {\n if (actionQueue.pending !== null) {\n actionQueue.pending = actionQueue.pending.next;\n if (actionQueue.pending !== null) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n runAction({\n actionQueue,\n action: actionQueue.pending,\n setState\n });\n }\n }\n}\nasync function runAction(param) {\n let { actionQueue, action, setState } = param;\n const prevState = actionQueue.state;\n if (!prevState) {\n // This shouldn't happen as the state is initialized in the dispatcher if it's not set\n throw new Error(\"Invariant: Router state not initialized\");\n }\n actionQueue.pending = action;\n const payload = action.payload;\n const actionResult = actionQueue.action(prevState, payload);\n function handleResult(nextState) {\n // if we discarded this action, the state should also be discarded\n if (action.discarded) {\n // if a refresh is needed, we only want to trigger it once the action queue is empty\n if (actionQueue.needsRefresh && actionQueue.pending === null) {\n actionQueue.needsRefresh = false;\n actionQueue.dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n }, setState);\n }\n return;\n }\n actionQueue.state = nextState;\n if (actionQueue.devToolsInstance) {\n actionQueue.devToolsInstance.send(payload, nextState);\n }\n runRemainingActions(actionQueue, setState);\n action.resolve(nextState);\n }\n // if the action is a promise, set up a callback to resolve it\n if ((0, _routerreducertypes.isThenable)(actionResult)) {\n actionResult.then(handleResult, (err)=>{\n runRemainingActions(actionQueue, setState);\n action.reject(err);\n });\n } else {\n handleResult(actionResult);\n }\n}\nfunction dispatchAction(actionQueue, payload, setState) {\n let resolvers = {\n resolve: setState,\n reject: ()=>{}\n };\n // most of the action types are async with the exception of restore\n // it's important that restore is handled quickly since it's fired on the popstate event\n // and we don't want to add any delay on a back/forward nav\n // this only creates a promise for the async actions\n if (payload.type !== _routerreducertypes.ACTION_RESTORE) {\n // Create the promise and assign the resolvers to the object.\n const deferredPromise = new Promise((resolve, reject)=>{\n resolvers = {\n resolve,\n reject\n };\n });\n (0, _react.startTransition)(()=>{\n // we immediately notify React of the pending promise -- the resolver is attached to the action node\n // and will be called when the associated action promise resolves\n setState(deferredPromise);\n });\n }\n const newAction = {\n payload,\n next: null,\n resolve: resolvers.resolve,\n reject: resolvers.reject\n };\n // Check if the queue is empty\n if (actionQueue.pending === null) {\n // The queue is empty, so add the action and start it immediately\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else if (payload.type === _routerreducertypes.ACTION_NAVIGATE) {\n // Navigations take priority over any pending actions.\n // Mark the pending action as discarded (so the state is never applied) and start the navigation action immediately.\n actionQueue.pending.discarded = true;\n // Mark this action as the last in the queue\n actionQueue.last = newAction;\n // if the pending action was a server action, mark the queue as needing a refresh once events are processed\n if (actionQueue.pending.payload.type === _routerreducertypes.ACTION_SERVER_ACTION) {\n actionQueue.needsRefresh = true;\n }\n runAction({\n actionQueue,\n action: newAction,\n setState\n });\n } else {\n // The queue is not empty, so add the action to the end of the queue\n // It will be started by runRemainingActions after the previous action finishes\n if (actionQueue.last !== null) {\n actionQueue.last.next = newAction;\n }\n actionQueue.last = newAction;\n }\n}\nfunction createMutableActionQueue() {\n const actionQueue = {\n state: null,\n dispatch: (payload, setState)=>dispatchAction(actionQueue, payload, setState),\n action: async (state, action)=>{\n if (state === null) {\n throw new Error(\"Invariant: Router state not initialized\");\n }\n const result = (0, _routerreducer.reducer)(state, action);\n return result;\n },\n pending: null,\n last: null\n };\n return actionQueue;\n} //# sourceMappingURL=action-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7SUFDQUMsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLDRCQUE0QkMsbUJBQU9BLENBQUMsb0hBQTBDO0FBQ3BGLE1BQU1DLHNCQUFzQkQsbUJBQU9BLENBQUMsK0pBQWdFO0FBQ3BHLE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsbUpBQTBEO0FBQ3pGLE1BQU1HLFNBQVMsV0FBVyxHQUFHSiwwQkFBMEJLLENBQUMsQ0FBQ0osbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTVQscUJBQXFCWSxPQUFPRSxPQUFPLENBQUNDLGFBQWEsQ0FBQztBQUN4RCxTQUFTQyxvQkFBb0JDLFdBQVcsRUFBRUMsUUFBUTtJQUM5QyxJQUFJRCxZQUFZRSxPQUFPLEtBQUssTUFBTTtRQUM5QkYsWUFBWUUsT0FBTyxHQUFHRixZQUFZRSxPQUFPLENBQUNDLElBQUk7UUFDOUMsSUFBSUgsWUFBWUUsT0FBTyxLQUFLLE1BQU07WUFDOUIsbUVBQW1FO1lBQ25FRSxVQUFVO2dCQUNOSjtnQkFDQUssUUFBUUwsWUFBWUUsT0FBTztnQkFDM0JEO1lBQ0o7UUFDSjtJQUNKO0FBQ0o7QUFDQSxlQUFlRyxVQUFVRSxLQUFLO0lBQzFCLElBQUksRUFBRU4sV0FBVyxFQUFFSyxN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QzNCcEMsWUFBWW9DLElBQUksQ0FBQ2pDLElBQUksR0FBR2dDO1FBQzVCO1FBQ0FuQyxZQUFZb0MsSUFBSSxHQUFHRDtJQUN2QjtBQUNKO0FBQ0EsU0FBU25EO0lBQ0wsTUFBTWdCLGNBQWM7UUFDaEJRLE9BQU87UUFDUFEsVUFBVSxDQUFDTixTQUFTVCxXQUFXNEIsZUFBZTdCLGFBQWFVLFNBQVNUO1FBQ3BFSSxRQUFRLE9BQU9HLE9BQU9IO1lBQ2xCLElBQUlHLFVBQVUsTUFBTTtnQkFDaEIsTUFBTSxJQUFJQyxNQUFNO1lBQ3BCO1lBQ0EsTUFBTThCLFNBQVMsQ0FBQyxHQUFHN0MsZUFBZThDLE9BQU8sRUFBRWhDLE9BQU9IO1lBQ2xELE9BQU9rQztRQUNYO1FBQ0FyQyxTQUFTO1FBQ1RrQyxNQUFNO0lBQ1Y7SUFDQSxPQUFPcEM7QUFDWCxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL2FjdGlvbi1xdWV1ZS5qcz84NDc5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgQWN0aW9uUXVldWVDb250ZXh0OiBudWxsLFxuICAgIGNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBBY3Rpb25RdWV1ZUNvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQWN0aW9uUXVldWVDb250ZXh0O1xuICAgIH0sXG4gICAgY3JlYXRlTXV0YWJsZUFjdGlvblF1ZXVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi4vLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXNcIik7XG5jb25zdCBfcm91dGVycmVkdWNlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi9jbGllbnQvY29tcG9uZW50cy9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlclwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBBY3Rpb25RdWV1ZUNvbnRleHQgPSBfcmVhY3QuZGVmYXVsdC5jcmVhdGVDb250ZXh0KG51bGwpO1xuZnVuY3Rpb24gcnVuUmVtYWluaW5nQWN0aW9ucyhhY3Rpb25RdWV1ZSwgc2V0U3RhdGUpIHtcbiAgICBpZiAoYWN0aW9uUXVldWUucGVuZGluZyAhPT0gbnVsbCkge1xuICAgICAgICBhY3Rpb25RdWV1ZS5wZW5kaW5nID0gYWN0aW9uUXVldWUucGVuZGluZy5uZXh0O1xuICAgICAgICBpZiAoYWN0aW9uUXVldWUucGVuZGluZyAhPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11c2UtYmVmb3JlLWRlZmluZVxuICAgICAgICAgICAgcnVuQWN0aW9uKHtcbiAgICAgICAgICAgICAgICBhY3Rpb25RdWV1ZSxcbiAgICAgICAgICAgICAgICBhY3Rpb246IGFjdGlvblF1ZXVlLnBlbmRpbmcsXG4gICAgICAgICAgICAgICAgc2V0U3RhdGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxufVxuYXN5bmMgZnVuY3Rpb24gcnVuQWN0aW9uKHBhcmFtKSB7XG4gICAgbGV0IHsgYWN0aW9uUXVldWUsIGFjdGlvbiwgc2V0U3RhdGUgfSA9IHBhcmFtO1xuICAgIGNvbnN0IHByZXZTdGF0ZSA9IGFjdGlvblF1ZXVlLnN0YXRlO1xuICAgIGlmICghcHJldlN0YXRlKSB7XG4gICAgICAgIC8vIFRoaXMgc2hvdWxkbid0IGhhcHBlbiBhcyB0aGUgc3RhdGUgaXMgaW5pdGlhbGl6ZWQgaW4gdGhlIGRpc3BhdGNoZXIgaWYgaXQncyBub3Qgc2V0XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogUm91dGVyIHN0YXRlIG5vdCBpbml0aWFsaXplZFwiKTtcbiAgICB9XG4gICAgYWN0aW9uUXVldWUucGVuZGluZyA9IGFjdGlvbjtcbiAgICBjb25zdCBwYXlsb2FkID0gYWN0aW9uLnBheWxvYWQ7XG4gICAgY29uc3QgYWN0aW9uUmVzdWx0ID0gYWN0aW9uUXVldWUuYWN0aW9uKHByZXZTdGF0ZSwgcGF5bG9hZCk7XG4gICAgZnVuY3Rpb24gaGFuZGxlUmVzdWx0KG5leHRTdGF0ZSkge1xuICAgICAgICAvLyBpZiB3ZSBkaXNjYXJkZWQgdGhpcyBhY3Rpb24sIHRoZSBzdGF0ZSBzaG91bGQgYWxzbyBiZSBkaXNjYXJkZWRcbiAgICAgICAgaWYgKGFjdGlvbi5kaXNjYXJkZWQpIHtcbiAgICAgICAgICAgIC8vIGlmIGEgcmVmcmVzaCBpcyBuZWVkZWQsIHdlIG9ubHkgd2FudCB0byB0cmlnZ2VyIGl0IG9uY2UgdGhlIGFjdGlvbiBxdWV1ZSBpcyBlbXB0eVxuICAgICAgICAgICAgaWYgKGFjdGlvblF1ZXVlLm5lZWRzUmVmcmVzaCAmJiBhY3Rpb25RdWV1ZS5wZW5kaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgYWN0aW9uUXVldWUubmVlZHNSZWZyZXNoID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYWN0aW9uUXVldWUuZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRUZSRVNILFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW46IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cbiAgICAgICAgICAgICAgICB9LCBzZXRTdGF0ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYWN0aW9uUXVldWUuc3RhdGUgPSBuZXh0U3RhdGU7XG4gICAgICAgIGlmIChhY3Rpb25RdWV1ZS5kZXZUb29sc0luc3RhbmNlKSB7XG4gICAgICAgICAgICBhY3Rpb25RdWV1ZS5kZXZUb29sc0luc3RhbmNlLnNlbmQocGF5bG9hZCwgbmV4dFN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgICBydW5SZW1haW5pbmdBY3Rpb25zKGFjdGlvblF1ZXVlLCBzZXRTdGF0ZSk7XG4gICAgICAgIGFjdGlvbi5yZXNvbHZlKG5leHRTdGF0ZSk7XG4gICAgfVxuICAgIC8vIGlmIHRoZSBhY3Rpb24gaXMgYSBwcm9taXNlLCBzZXQgdXAgYSBjYWxsYmFjayB0byByZXNvbHZlIGl0XG4gICAgaWYgKCgwLCBfcm91dGVycmVkdWNlcnR5cGVzLmlzVGhlbmFibGUpKGFjdGlvblJlc3VsdCkpIHtcbiAgICAgICAgYWN0aW9uUmVzdWx0LnRoZW4oaGFuZGxlUmVzdWx0LCAoZXJyKT0+e1xuICAgICAgICAgICAgcnVuUmVtYWluaW5nQWN0aW9ucyhhY3Rpb25RdWV1ZSwgc2V0U3RhdGUpO1xuICAgICAgICAgICAgYWN0aW9uLnJlamVjdChlcnIpO1xuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBoYW5kbGVSZXN1bHQoYWN0aW9uUmVzdWx0KTtcbiAgICB9XG59XG5mdW5jdGlvbiBkaXNwYXRjaEFjdGlvbihhY3Rpb25RdWV1ZSwgcGF5bG9hZCwgc2V0U3RhdGUpIHtcbiAgICBsZXQgcmVzb2x2ZXJzID0ge1xuICAgICAgICByZXNvbHZlOiBzZXRTdGF0ZSxcbiAgICAgICAgcmVqZWN0OiAoKT0+e31cbiAgICB9O1xuICAgIC8vIG1vc3Qgb2YgdGhlIGFjdGlvbiB0eXBlcyBhcmUgYXN5bmMgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHJlc3RvcmVcbiAgICAvLyBpdCdzIGltcG9ydGFudCB0aGF0IHJlc3RvcmUgaXMgaGFuZGxlZCBxdWlja2x5IHNpbmNlIGl0J3MgZmlyZWQgb24gdGhlIHBvcHN0YXRlIGV2ZW50XG4gICAgLy8gYW5kIHdlIGRvbid0IHdhbnQgdG8gYWRkIGFueSBkZWxheSBvbiBhIGJhY2svZm9yd2FyZCBuYXZcbiAgICAvLyB0aGlzIG9ubHkgY3JlYXRlcyBhIHByb21pc2UgZm9yIHRoZSBhc3luYyBhY3Rpb25zXG4gICAgaWYgKHBheWxvYWQudHlwZSAhPT0gX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSkge1xuICAgICAgICAvLyBDcmVhdGUgdGhlIHByb21pc2UgYW5kIGFzc2lnbiB0aGUgcmVzb2x2ZXJzIHRvIHRoZSBvYmplY3QuXG4gICAgICAgIGNvbnN0IGRlZmVycmVkUHJvbWlzZSA9IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgICAgICByZXNvbHZlcnMgPSB7XG4gICAgICAgICAgICAgICAgcmVzb2x2ZSxcbiAgICAgICAgICAgICAgICByZWplY3RcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgIC8vIHdlIGltbWVkaWF0ZWx5IG5vdGlmeSBSZWFjdCBvZiB0aGUgcGVuZGluZyBwcm9taXNlIC0tIHRoZSByZXNvbHZlciBpcyBhdHRhY2hlZCB0byB0aGUgYWN0aW9uIG5vZGVcbiAgICAgICAgICAgIC8vIGFuZCB3aWxsIGJlIGNhbGxlZCB3aGVuIHRoZSBhc3NvY2lhdGVkIGFjdGlvbiBwcm9taXNlIHJlc29sdmVzXG4gICAgICAgICAgICBzZXRTdGF0ZShkZWZlcnJlZFByb21pc2UpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgbmV3QWN0aW9uID0ge1xuICAgICAgICBwYXlsb2FkLFxuICAgICAgICBuZXh0OiBudWxsLFxuICAgICAgICByZXNvbHZlOiByZXNvbHZlcnMucmVzb2x2ZSxcbiAgICAgICAgcmVqZWN0OiByZXNvbHZlcnMucmVqZWN0XG4gICAgfTtcbiAgICAvLyBDaGVjayBpZiB0aGUgcXVldWUgaXMgZW1wdHlcbiAgICBpZiAoYWN0aW9uUXVldWUucGVuZGluZyA9PT0gbnVsbCkge1xuICAgICAgICAvLyBUaGUgcXVldWUgaXMgZW1wdHksIHNvIGFkZCB0aGUgYWN0aW9uIGFuZCBzdGFydCBpdCBpbW1lZGlhdGVseVxuICAgICAgICAvLyBNYXJrIHRoaXMgYWN0aW9uIGFzIHRoZSBsYXN0IGluIHRoZSBxdWV1ZVxuICAgICAgICBhY3Rpb25RdWV1ZS5sYXN0ID0gbmV3QWN0aW9uO1xuICAgICAgICBydW5BY3Rpb24oe1xuICAgICAgICAgICAgYWN0aW9uUXVldWUsXG4gICAgICAgICAgICBhY3Rpb246IG5ld0FjdGlvbixcbiAgICAgICAgICAgIHNldFN0YXRlXG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAocGF5bG9hZC50eXBlID09PSBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9OQVZJR0FURSkge1xuICAgICAgICAvLyBOYXZpZ2F0aW9ucyB0YWtlIHByaW9yaXR5IG92ZXIgYW55IHBlbmRpbmcgYWN0aW9ucy5cbiAgICAgICAgLy8gTWFyayB0aGUgcGVuZGluZyBhY3Rpb24gYXMgZGlzY2FyZGVkIChzbyB0aGUgc3RhdGUgaXMgbmV2ZXIgYXBwbGllZCkgYW5kIHN0YXJ0IHRoZSBuYXZpZ2F0aW9uIGFjdGlvbiBpbW1lZGlhdGVseS5cbiAgICAgICAgYWN0aW9uUXVldWUucGVuZGluZy5kaXNjYXJkZWQgPSB0cnVlO1xuICAgICAgICAvLyBNYXJrIHRoaXMgYWN0aW9uIGFzIHRoZSBsYXN0IGluIHRoZSBxdWV1ZVxuICAgICAgICBhY3Rpb25RdWV1ZS5sYXN0ID0gbmV3QWN0aW9uO1xuICAgICAgICAvLyBpZiB0aGUgcGVuZGluZyBhY3Rpb24gd2FzIGEgc2VydmVyIGFjdGlvbiwgbWFyayB0aGUgcXVldWUgYXMgbmVlZGluZyBhIHJlZnJlc2ggb25jZSBldmVudHMgYXJlIHByb2Nlc3NlZFxuICAgICAgICBpZiAoYWN0aW9uUXVldWUucGVuZGluZy5wYXlsb2FkLnR5cGUgPT09IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9BQ1RJT04pIHtcbiAgICAgICAgICAgIGFjdGlvblF1ZXVlLm5lZWRzUmVmcmVzaCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcnVuQWN0aW9uKHtcbiAgICAgICAgICAgIGFjdGlvblF1ZXVlLFxuICAgICAgICAgICAgYWN0aW9uOiBuZXdBY3Rpb24sXG4gICAgICAgICAgICBzZXRTdGF0ZVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGUgcXVldWUgaXMgbm90IGVtcHR5LCBzbyBhZGQgdGhlIGFjdGlvbiB0byB0aGUgZW5kIG9mIHRoZSBxdWV1ZVxuICAgICAgICAvLyBJdCB3aWxsIGJlIHN0YXJ0ZWQgYnkgcnVuUmVtYWluaW5nQWN0aW9ucyBhZnRlciB0aGUgcHJldmlvdXMgYWN0aW9uIGZpbmlzaGVzXG4gICAgICAgIGlmIChhY3Rpb25RdWV1ZS5sYXN0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICBhY3Rpb25RdWV1ZS5sYXN0Lm5leHQgPSBuZXdBY3Rpb247XG4gICAgICAgIH1cbiAgICAgICAgYWN0aW9uUXVldWUubGFzdCA9IG5ld0FjdGlvbjtcbiAgICB9XG59XG5mdW5jdGlvbiBjcmVhdGVNdXRhYmxlQWN0aW9uUXVldWUoKSB7XG4gICAgY29uc3QgYWN0aW9uUXVldWUgPSB7XG4gICAgICAgIHN0YXRlOiBudWxsLFxuICAgICAgICBkaXNwYXRjaDogKHBheWxvYWQsIHNldFN0YXRlKT0+ZGlzcGF0Y2hBY3Rpb24oYWN0aW9uUXVldWUsIHBheWxvYWQsIHNldFN0YXRlKSxcbiAgICAgICAgYWN0aW9uOiBhc3luYyAoc3RhdGUsIGFjdGlvbik9PntcbiAgICAgICAgICAgIGlmIChzdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogUm91dGVyIHN0YXRlIG5vdCBpbml0aWFsaXplZFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9ICgwLCBfcm91dGVycmVkdWNlci5yZWR1Y2VyKShzdGF0ZSwgYWN0aW9uKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH0sXG4gICAgICAgIHBlbmRpbmc6IG51bGwsXG4gICAgICAgIGxhc3Q6IG51bGxcbiAgICB9O1xuICAgIHJldHVybiBhY3Rpb25RdWV1ZTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWN0aW9uLXF1ZXVlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkFjdGlvblF1ZXVlQ29udGV4dCIsImNyZWF0ZU11dGFibGVBY3Rpb25RdWV1ZSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIl9yb3V0ZXJyZWR1Y2VyIiwiX3JlYWN0IiwiXyIsImRlZmF1bHQiLCJjcmVhdGVDb250ZXh0IiwicnVuUmVtYWluaW5nQWN0aW9ucyIsImFjdGlvblF1ZXVlIiwic2V0U3RhdGUiLCJwZW5kaW5nIiwibmV4dCIsInJ1bkFjdGlvbiIsImFjdGlvbiIsInBhcmFtIiwicHJldlN0YXRlIiwic3RhdGUiLCJFcnJvciIsInBheWxvYWQiLCJhY3Rpb25SZXN1bHQiLCJoYW5kbGVSZXN1bHQiLCJuZXh0U3RhdGUiLCJkaXNjYXJkZWQiLCJuZWVkc1JlZnJlc2giLCJkaXNwYXRjaCIsInR5cGUiLCJBQ1RJT05fUkVGUkVTSCIsIm9yaWdpbiIsIndpbmRvdyIsImxvY2F0aW9uIiwiZGV2VG9vbHNJbnN0YW5jZSIsInNlbmQiLCJyZXNvbHZlIiwiaXNUaGVuYWJsZSIsInRoZW4iLCJlcnIiLCJyZWplY3QiLCJkaXNwYXRjaEFjdGlvbiIsInJlc29sdmVycyIsIkFDVElPTl9SRVNUT1JFIiwiZGVmZXJyZWRQcm9taXNlIiwiUHJvbWlzZSIsInN0YXJ0VHJhbnNpdGlvbiIsIm5ld0FjdGlvbiIsImxhc3QiLCJBQ1RJT05fTkFWSUdBVEUiLCJBQ1RJT05fU0VSVkVSX0FDVElPTiIsInJlc3VsdCIsInJlZHVjZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/action-queue.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsMEZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQzVELE9BQU8sS0FBS0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXguanM/YzEyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZFBhdGhQcmVmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZFBhdGhQcmVmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGFyc2VwYXRoID0gcmVxdWlyZShcIi4vcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIGFkZFBhdGhQcmVmaXgocGF0aCwgcHJlZml4KSB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8ICFwcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUsIHF1ZXJ5LCBoYXNoIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBcIlwiICsgcHJlZml4ICsgcGF0aG5hbWUgKyBxdWVyeSArIGhhc2g7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1wYXRoLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkUGF0aFByZWZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHlIQUFzQztBQUMxRSxNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQywyRUFBZTtBQUN4QyxTQUFTVCxpQkFBaUJXLEtBQUs7SUFDM0IsT0FBTyxDQUFDLEdBQUdILG9CQUFvQkksa0JBQWtCLEVBQUVELE1BQU1FLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUMsQ0FBQ0MsVUFBVUMsU0FBU0MsT0FBT0M7UUFDbEcsOEJBQThCO1FBQzlCLElBQUksQ0FBQ0YsU0FBUztZQUNWLE9BQU9EO1FBQ1g7UUFDQSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEdBQUdMLFNBQVNTLGNBQWMsRUFBRUgsVUFBVTtZQUN2QyxPQUFPRDtRQUNYO1FBQ0EsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNwQixPQUFPRDtRQUNYO1FBQ0EsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLE9BQU0sS0FBTUMsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQUc7WUFDOUUsT0FBT0w7UUFDWDtRQUNBLE9BQU9BLFdBQVcsTUFBTUM7SUFDNUIsR0FBRztBQUNQO0FBQ0EsU0FBU2YsZ0JBQWdCb0IsR0FBRztJQUN4QixPQUFPQSxJQUFJQyxPQUFPLENBQUMsZUFDbkI7QUFDSixFQUVBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcz83ZTUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbm9ybWFsaXplQXBwUGF0aDogbnVsbCxcbiAgICBub3JtYWxpemVSc2NVUkw6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgbm9ybWFsaXplQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVBcHBQYXRoO1xuICAgIH0sXG4gICAgbm9ybWFsaXplUnNjVVJMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJzY1VSTDtcbiAgICB9XG59KTtcbmNvbnN0IF9lbnN1cmVsZWFkaW5nc2xhc2ggPSByZXF1aXJlKFwiLi4vLi4vcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoXCIpO1xuY29uc3QgX3NlZ21lbnQgPSByZXF1aXJlKFwiLi4vLi4vc2VnbWVudFwiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZUFwcFBhdGgocm91dGUpIHtcbiAgICByZXR1cm4gKDAsIF9lbnN1cmVsZWFkaW5nc2xhc2guZW5zdXJlTGVhZGluZ1NsYXNoKShyb3V0ZS5zcGxpdChcIi9cIikucmVkdWNlKChwYXRobmFtZSwgc2VnbWVudCwgaW5kZXgsIHNlZ21lbnRzKT0+e1xuICAgICAgICAvLyBFbXB0eSBzZWdtZW50cyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKCFzZWdtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gR3JvdXBzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoKDAsIF9zZWdtZW50LmlzR3JvdXBTZWdtZW50KShzZWdtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIC8vIFBhcmFsbGVsIHNlZ21lbnRzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoc2VnbWVudFswXSA9PT0gXCJAXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbGFzdCBzZWdtZW50IChpZiBpdCdzIGEgbGVhZikgc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAgICAgIGlmICgoc2VnbWVudCA9PT0gXCJwYWdlXCIgfHwgc2VnbWVudCA9PT0gXCJyb3V0ZVwiKSAmJiBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRobmFtZSArIFwiL1wiICsgc2VnbWVudDtcbiAgICB9LCBcIlwiKSk7XG59XG5mdW5jdGlvbiBub3JtYWxpemVSc2NVUkwodXJsKSB7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC9cXC5yc2MoJHxcXD8pLywgLy8gJDEgZW5zdXJlcyBgP2AgaXMgcHJlc2VydmVkXG4gICAgXCIkMVwiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhdGhzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vcm1hbGl6ZUFwcFBhdGgiLCJub3JtYWxpemVSc2NVUkwiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZW5zdXJlbGVhZGluZ3NsYXNoIiwicmVxdWlyZSIsIl9zZWdtZW50Iiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/format-url.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("// Format function modified from nodejs\n// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n formatUrl: function() {\n return formatUrl;\n },\n urlObjectKeys: function() {\n return urlObjectKeys;\n },\n formatWithValidation: function() {\n return formatWithValidation;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _querystring = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! ./querystring */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\"));\nconst slashedProtocols = /https?|ftp|gopher|file/;\nfunction formatUrl(urlObj) {\n let { auth, hostname } = urlObj;\n let protocol = urlObj.protocol || \"\";\n let pathname = urlObj.pathname || \"\";\n let hash = urlObj.hash || \"\";\n let query = urlObj.query || \"\";\n let host = false;\n auth = auth ? encodeURIComponent(auth).replace(/%3A/i, \":\") + \"@\" : \"\";\n if (urlObj.host) {\n host = auth + urlObj.host;\n } else if (hostname) {\n host = auth + (~hostname.indexOf(\":\") ? \"[\" + hostname + \"]\" : hostname);\n if (urlObj.port) {\n host += \":\" + urlObj.port;\n }\n }\n if (query && typeof query === \"object\") {\n query = String(_querystring.urlQueryToSearchParams(query));\n }\n let search = urlObj.search || query && \"?\" + query || \"\";\n if (protocol && !protocol.endsWith(\":\")) protocol += \":\";\n if (urlObj.slashes || (!protocol || slashedProtocols.test(protocol)) && host !== false) {\n host = \"//\" + (host || \"\");\n if (pathname && pathname[0] !== \"/\") pathname = \"/\" + pathname;\n } else if (!host) {\n host = \"\";\n }\n if (hash && hash[0] !== \"#\") hash = \"#\" + hash;\n if (search && search[0] !== \"?\") search = \"?\" + search;\n pathname = pathname.replace(/[?#]/g, encodeURIComponent);\n search = search.replace(\"#\", \"%23\");\n return \"\" + protocol + host + pathname + search + hash;\n}\nconst urlObjectKeys = [\n \"auth\",\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"path\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"query\",\n \"search\",\n \"slashes\"\n];\nfunction formatWithValidation(url) {\n if (true) {\n if (url !== null && typeof url === \"object\") {\n Object.keys(url).forEach((key)=>{\n if (!urlObjectKeys.includes(key)) {\n console.warn(\"Unknown key passed via urlObject into url.format: \" + key);\n }\n });\n }\n }\n return formatUrl(url);\n} //# sourceMappingURL=format-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQUEsdUNBQXVDO0FBQ3ZDLHNEQUFzRDtBQUN0RCxFQUFFO0FBQ0YsMEVBQTBFO0FBQzFFLGdFQUFnRTtBQUNoRSxzRUFBc0U7QUFDdEUsc0VBQXNFO0FBQ3RFLDRFQUE0RTtBQUM1RSxxRUFBcUU7QUFDckUsd0JBQXdCO0FBQ3hCLEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUseURBQXlEO0FBQ3pELEVBQUU7QUFDRiwwRUFBMEU7QUFDMUUsNkRBQTZEO0FBQzdELDRFQUE0RTtBQUM1RSwyRUFBMkU7QUFDM0Usd0VBQXdFO0FBQ3hFLDRFQUE0RTtBQUM1RSx5Q0FBeUM7QUFDNUI7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLGVBQWU7UUFDWCxPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyw0QkFBNEJDLG1CQUFPQSxDQUFDLG9IQUEwQztBQUNwRixNQUFNQyxlQUFlLFdBQVcsR0FBR0YsMEJBQTBCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDRGQUFlO0FBQ3RGLE1BQU1HLG1CQUFtQjtBQUN6QixTQUFTYixVQUFVYyxNQUFNO0lBQ3JCLElBQUksRUFBRUMsSUFBSSxFQUFFQyxRQUFRLEVBQUUsR0FBR0Y7SUFDekIsSUFBSUcsV0FBV0gsT0FBT0csUUFBUSxJQUFJO0lBQ2xDLElBQUlDLFdBQVdKLE9BQU9JLFFBQVEsSUFBSTtJQUNsQyxJQUFJQyxPQUFPTCxPQUFPSyxJQUFJLElBQUk7SUFDMUIsSUFBSUMsUUFBUU4sT0FBT00sS0FBSyxJQUFJO0lBQzVCLElBQUlDLE9BQU87SUFDWE4sT0FBT0EsT0FBT08sbUJBQW1CUCxNQUFNUSxPQUFPLENBQUMsUUFBUSxPQUFPLE1BQU07SUFDcEUsSUFBSVQsT0FBT08sSUFBSSxFQUFFO1FBQ2JBLE9BQU9OLE9BQU9ELE9BQU9PLElBQUk7SUFDN0IsT0FBTyxJQUFJTCxVQUFVO1FBQ2pCSyxPQUFPTixPQUFRLEVBQUNDLFNBQVNRLE9BQU8sQ0FBQyxPQUFPLE1BQU1SLFdBQVcsTUFBTUEsUUFBTztRQUN0RSxJQUFJRixPQUFPVyxJQUFJLEVBQUU7WUFDYkosUUFBUSxNQUFNUCxPQUFPVyxJQUFJO1FBQzdCO0lBQ0o7SUFDQSxJQUFJTCxTQUFTLE9BQU9BLFVBQVUsVUFBVTtRQUNwQ0EsUUFBUU0sT0FBT2YsYUFBYWdCLHNCQUFzQixDQUFDUDtJQUN2RDtJQUNBLElBQUlRLFNBQVNkLE9BQU9jLE1BQU0sSUFBSVIsU0FBUyxNQUFNQSxTQUFTO0lBQ3RELElBQUlILFlBQVksQ0FBQ0EsU0FBU1ksUUFBUSxDQUFDLE1BQU1aLFlBQVk7SUFDckQsSUFBSUgsT0FBT2dCLE9BQU8sSUFBSSxDQUFDLENBQUNiLFlBQVlKLGlCQUFpQmtCLElBQUksQ0FBQ2QsU0FBUSxLQUFNSSxTQUFTLE9BQU87UUFDcEZBLE9BQU8sT0FBUUEsQ0FBQUEsUUFBUSxFQUFDO1FBQ3hCLElBQUlILFlBQVlBLFFBQVEsQ0FBQyxFQUFFLEtBQUssS0FBS0EsV0FBVyxNQUFNQTtJQUMxRCxPQUFPLElBQUksQ0FBQ0csTUFBTTtRQUNkQSxPQUFPO0lBQ1g7SUFDQSxJQUFJRixRQUFRQSxJQUFJLENBQUMsRUFBRSxLQUFLLEtBQUtBLE9BQU8sTUFBTUE7SUFDMUMsSUFBSVMsVUFBVUEsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLQSxTQUFTLE1BQU1BO0lBQ2hEVixXQUFXQSxTQUFTSyxPQUFPLENBQUMsU0FBU0Q7SUFDckNNLFNBQVNBLE9BQU9MLE9BQU8sQ0FBQyxLQUFLO0lBQzdCLE9BQU8sS0FBS04sV0FBV0ksT0FBT0gsV0FBV1UsU0FBU1Q7QUFDdEQ7QUFDQSxNQUFNbEIsZ0JBQWdCO0lBQ2xCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU0MscUJBQXFCOEIsR0FBRztJQUM3QixJQUFJQyxJQUFzQyxFQUFFO1FBQ3hDLElBQUlELFFBQVEsUUFBUSxPQUFPQSxRQUFRLFVBQVU7WUFDekNyQyxPQUFPdUMsSUFBSSxDQUFDRixLQUFLRyxPQUFPLENBQUMsQ0FBQ0M7Z0JBQ3RCLElBQUksQ0FBQ25DLGNBQWNvQyxRQUFRLENBQUNELE1BQU07b0JBQzlCRSxRQUFRQyxJQUFJLENBQUMsdURBQXVESDtnQkFDeEU7WUFDSjtRQUNKO0lBQ0o7SUFDQSxPQUFPcEMsVUFBVWdDO0FBQ3JCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LXVybC5qcz83YjUzIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIEZvcm1hdCBmdW5jdGlvbiBtb2RpZmllZCBmcm9tIG5vZGVqc1xuLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGZvcm1hdFVybDogbnVsbCxcbiAgICB1cmxPYmplY3RLZXlzOiBudWxsLFxuICAgIGZvcm1hdFdpdGhWYWxpZGF0aW9uOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGZvcm1hdFVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRVcmw7XG4gICAgfSxcbiAgICB1cmxPYmplY3RLZXlzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVybE9iamVjdEtleXM7XG4gICAgfSxcbiAgICBmb3JtYXRXaXRoVmFsaWRhdGlvbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmb3JtYXRXaXRoVmFsaWRhdGlvbjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCIuL3F1ZXJ5c3RyaW5nXCIpKTtcbmNvbnN0IHNsYXNoZWRQcm90b2NvbHMgPSAvaHR0cHM/fGZ0cHxnb3BoZXJ8ZmlsZS87XG5mdW5jdGlvbiBmb3JtYXRVcmwodXJsT2JqKSB7XG4gICAgbGV0IHsgYXV0aCwgaG9zdG5hbWUgfSA9IHVybE9iajtcbiAgICBsZXQgcHJvdG9jb2wgPSB1cmxPYmoucHJvdG9jb2wgfHwgXCJcIjtcbiAgICBsZXQgcGF0aG5hbWUgPSB1cmxPYmoucGF0aG5hbWUgfHwgXCJcIjtcbiAgICBsZXQgaGFzaCA9IHVybE9iai5oYXNoIHx8IFwiXCI7XG4gICAgbGV0IHF1ZXJ5ID0gdXJsT2JqLnF1ZXJ5IHx8IFwiXCI7XG4gICAgbGV0IGhvc3QgPSBmYWxzZTtcbiAgICBhdXRoID0gYXV0aCA/IGVuY29kZVVSSUNvbXBvbmVudChhdXRoKS5yZXBsYWNlKC8lM0EvaSwgXCI6XCIpICsgXCJAXCIgOiBcIlwiO1xuICAgIGlmICh1cmxPYmouaG9zdCkge1xuICAgICAgICBob3N0ID0gYXV0aCArIHVybE9iai5ob3N0O1xuICAgIH0gZWxzZSBpZiAoaG9zdG5hbWUpIHtcbiAgICAgICAgaG9zdCA9IGF1dGggKyAofmhvc3RuYW1lLmluZGV4T2YoXCI6XCIpID8gXCJbXCIgKyBob3N0bmFtZSArIFwiXVwiIDogaG9zdG5hbWUpO1xuICAgICAgICBpZiAodXJsT2JqLnBvcnQpIHtcbiAgICAgICAgICAgIGhvc3QgKz0gXCI6XCIgKyB1cmxPYmoucG9ydDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAocXVlcnkgJiYgdHlwZW9mIHF1ZXJ5ID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHF1ZXJ5ID0gU3RyaW5nKF9xdWVyeXN0cmluZy51cmxRdWVyeVRvU2VhcmNoUGFyYW1zKHF1ZXJ5KSk7XG4gICAgfVxuICAgIGxldCBzZWFyY2ggPSB1cmxPYmouc2VhcmNoIHx8IHF1ZXJ5ICYmIFwiP1wiICsgcXVlcnkgfHwgXCJcIjtcbiAgICBpZiAocHJvdG9jb2wgJiYgIXByb3RvY29sLmVuZHNXaXRoKFwiOlwiKSkgcHJvdG9jb2wgKz0gXCI6XCI7XG4gICAgaWYgKHVybE9iai5zbGFzaGVzIHx8ICghcHJvdG9jb2wgfHwgc2xhc2hlZFByb3RvY29scy50ZXN0KHByb3RvY29sKSkgJiYgaG9zdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgaG9zdCA9IFwiLy9cIiArIChob3N0IHx8IFwiXCIpO1xuICAgICAgICBpZiAocGF0aG5hbWUgJiYgcGF0aG5hbWVbMF0gIT09IFwiL1wiKSBwYXRobmFtZSA9IFwiL1wiICsgcGF0aG5hbWU7XG4gICAgfSBlbHNlIGlmICghaG9zdCkge1xuICAgICAgICBob3N0ID0gXCJcIjtcbiAgICB9XG4gICAgaWYgKGhhc2ggJiYgaGFzaFswXSAhPT0gXCIjXCIpIGhhc2ggPSBcIiNcIiArIGhhc2g7XG4gICAgaWYgKHNlYXJjaCAmJiBzZWFyY2hbMF0gIT09IFwiP1wiKSBzZWFyY2ggPSBcIj9cIiArIHNlYXJjaDtcbiAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnJlcGxhY2UoL1s/I10vZywgZW5jb2RlVVJJQ29tcG9uZW50KTtcbiAgICBzZWFyY2ggPSBzZWFyY2gucmVwbGFjZShcIiNcIiwgXCIlMjNcIik7XG4gICAgcmV0dXJuIFwiXCIgKyBwcm90b2NvbCArIGhvc3QgKyBwYXRobmFtZSArIHNlYXJjaCArIGhhc2g7XG59XG5jb25zdCB1cmxPYmplY3RLZXlzID0gW1xuICAgIFwiYXV0aFwiLFxuICAgIFwiaGFzaFwiLFxuICAgIFwiaG9zdFwiLFxuICAgIFwiaG9zdG5hbWVcIixcbiAgICBcImhyZWZcIixcbiAgICBcInBhdGhcIixcbiAgICBcInBhdGhuYW1lXCIsXG4gICAgXCJwb3J0XCIsXG4gICAgXCJwcm90b2NvbFwiLFxuICAgIFwicXVlcnlcIixcbiAgICBcInNlYXJjaFwiLFxuICAgIFwic2xhc2hlc1wiXG5dO1xuZnVuY3Rpb24gZm9ybWF0V2l0aFZhbGlkYXRpb24odXJsKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgaWYgKHVybCAhPT0gbnVsbCAmJiB0eXBlb2YgdXJsID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBPYmplY3Qua2V5cyh1cmwpLmZvckVhY2goKGtleSk9PntcbiAgICAgICAgICAgICAgICBpZiAoIXVybE9iamVjdEtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJVbmtub3duIGtleSBwYXNzZWQgdmlhIHVybE9iamVjdCBpbnRvIHVybC5mb3JtYXQ6IFwiICsga2V5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZm9ybWF0VXJsKHVybCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdC11cmwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZm9ybWF0VXJsIiwidXJsT2JqZWN0S2V5cyIsImZvcm1hdFdpdGhWYWxpZGF0aW9uIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfcXVlcnlzdHJpbmciLCJfIiwic2xhc2hlZFByb3RvY29scyIsInVybE9iaiIsImF1dGgiLCJob3N0bmFtZSIsInByb3RvY29sIiwicGF0aG5hbWUiLCJoYXNoIiwicXVlcnkiLCJob3N0IiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsImluZGV4T2YiLCJwb3J0IiwiU3RyaW5nIiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsInNlYXJjaCIsImVuZHNXaXRoIiwic2xhc2hlcyIsInRlc3QiLCJ1cmwiLCJwcm9jZXNzIiwia2V5cyIsImZvckVhY2giLCJrZXkiLCJpbmNsdWRlcyIsImNvbnNvbGUiLCJ3YXJuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/format-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js ***! \********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Run function with `scroll-behavior: auto` applied to `<html/>`.\n * This css change will be reverted after the function finishes.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"handleSmoothScroll\", ({\n enumerable: true,\n get: function() {\n return handleSmoothScroll;\n }\n}));\nfunction handleSmoothScroll(fn, options) {\n if (options === void 0) options = {};\n // if only the hash is changed, we don't need to disable smooth scrolling\n // we only care to prevent smooth scrolling when navigating to a new page to avoid jarring UX\n if (options.onlyHashChange) {\n fn();\n return;\n }\n const htmlElement = document.documentElement;\n const existing = htmlElement.style.scrollBehavior;\n htmlElement.style.scrollBehavior = \"auto\";\n if (!options.dontForceLayout) {\n // In Chrome-based browsers we need to force reflow before calling `scrollTo`.\n // Otherwise it will not pickup the change in scrollBehavior\n // More info here: https://github.com/vercel/next.js/issues/40719#issuecomment-1336248042\n htmlElement.getClientRects();\n }\n fn();\n htmlElement.style.scrollBehavior = existing;\n} //# sourceMappingURL=handle-smooth-scroll.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsRUFBRSxFQUFFQyxPQUFPO0lBQ25DLElBQUlBLFlBQVksS0FBSyxHQUFHQSxVQUFVLENBQUM7SUFDbkMseUVBQXlFO0lBQ3pFLDZGQUE2RjtJQUM3RixJQUFJQSxRQUFRQyxjQUFjLEVBQUU7UUFDeEJGO1FBQ0E7SUFDSjtJQUNBLE1BQU1HLGNBQWNDLFNBQVNDLGVBQWU7SUFDNUMsTUFBTUMsV0FBV0gsWUFBWUksS0FBSyxDQUFDQyxjQUFjO0lBQ2pETCxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBRztJQUNuQyxJQUFJLENBQUNQLFFBQVFRLGVBQWUsRUFBRTtRQUMxQiw4RUFBOEU7UUFDOUUsNERBQTREO1FBQzVELHlGQUF5RjtRQUN6Rk4sWUFBWU8sY0FBYztJQUM5QjtJQUNBVjtJQUNBRyxZQUFZSSxLQUFLLENBQUNDLGNBQWMsR0FBR0Y7QUFDdkMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9oYW5kbGUtc21vb3RoLXNjcm9sbC5qcz82NTYzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUnVuIGZ1bmN0aW9uIHdpdGggYHNjcm9sbC1iZWhhdmlvcjogYXV0b2AgYXBwbGllZCB0byBgPGh0bWwvPmAuXG4gKiBUaGlzIGNzcyBjaGFuZ2Ugd2lsbCBiZSByZXZlcnRlZCBhZnRlciB0aGUgZnVuY3Rpb24gZmluaXNoZXMuXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJoYW5kbGVTbW9vdGhTY3JvbGxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhhbmRsZVNtb290aFNjcm9sbDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGhhbmRsZVNtb290aFNjcm9sbChmbiwgb3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcbiAgICAvLyBpZiBvbmx5IHRoZSBoYXNoIGlzIGNoYW5nZWQsIHdlIGRvbid0IG5lZWQgdG8gZGlzYWJsZSBzbW9vdGggc2Nyb2xsaW5nXG4gICAgLy8gd2Ugb25seSBjYXJlIHRvIHByZXZlbnQgc21vb3RoIHNjcm9sbGluZyB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZSB0byBhdm9pZCBqYXJyaW5nIFVYXG4gICAgaWYgKG9wdGlvbnMub25seUhhc2hDaGFuZ2UpIHtcbiAgICAgICAgZm4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBodG1sRWxlbWVudCA9IGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtcbiAgICBjb25zdCBleGlzdGluZyA9IGh0bWxFbGVtZW50LnN0eWxlLnNjcm9sbEJlaGF2aW9yO1xuICAgIGh0bWxFbGVtZW50LnN0eWxlLnNjcm9sbEJlaGF2aW9yID0gXCJhdXRvXCI7XG4gICAgaWYgKCFvcHRpb25zLmRvbnRGb3JjZUxheW91dCkge1xuICAgICAgICAvLyBJbiBDaHJvbWUtYmFzZWQgYnJvd3NlcnMgd2UgbmVlZCB0byBmb3JjZSByZWZsb3cgYmVmb3JlIGNhbGxpbmcgYHNjcm9sbFRvYC5cbiAgICAgICAgLy8gT3RoZXJ3aXNlIGl0IHdpbGwgbm90IHBpY2t1cCB0aGUgY2hhbmdlIGluIHNjcm9sbEJlaGF2aW9yXG4gICAgICAgIC8vIE1vcmUgaW5mbyBoZXJlOiBodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvaXNzdWVzLzQwNzE5I2lzc3VlY29tbWVudC0xMzM2MjQ4MDQyXG4gICAgICAgIGh0bWxFbGVtZW50LmdldENsaWVudFJlY3RzKCk7XG4gICAgfVxuICAgIGZuKCk7XG4gICAgaHRtbEVsZW1lbnQuc3R5bGUuc2Nyb2xsQmVoYXZpb3IgPSBleGlzdGluZztcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aGFuZGxlLXNtb290aC1zY3JvbGwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImhhbmRsZVNtb290aFNjcm9sbCIsImZuIiwib3B0aW9ucyIsIm9ubHlIYXNoQ2hhbmdlIiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudCIsImRvY3VtZW50RWxlbWVudCIsImV4aXN0aW5nIiwic3R5bGUiLCJzY3JvbGxCZWhhdmlvciIsImRvbnRGb3JjZUxheW91dCIsImdldENsaWVudFJlY3RzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getSortedRoutes: function() {\n return _sortedroutes.getSortedRoutes;\n },\n isDynamicRoute: function() {\n return _isdynamic.isDynamicRoute;\n }\n});\nconst _sortedroutes = __webpack_require__(/*! ./sorted-routes */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\");\nconst _isdynamic = __webpack_require__(/*! ./is-dynamic */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\"); //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxpQkFBaUI7UUFDYixPQUFPUSxjQUFjUixlQUFlO0lBQ3hDO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9RLFdBQVdSLGNBQWM7SUFDcEM7QUFDSjtBQUNBLE1BQU1PLGdCQUFnQkUsbUJBQU9BLENBQUMsZ0dBQWlCO0FBQy9DLE1BQU1ELGFBQWFDLG1CQUFPQSxDQUFDLDBGQUFjLEdBRXpDLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2luZGV4LmpzP2Y1MjUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBnZXRTb3J0ZWRSb3V0ZXM6IG51bGwsXG4gICAgaXNEeW5hbWljUm91dGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0U29ydGVkUm91dGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zb3J0ZWRyb3V0ZXMuZ2V0U29ydGVkUm91dGVzO1xuICAgIH0sXG4gICAgaXNEeW5hbWljUm91dGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2lzZHluYW1pYy5pc0R5bmFtaWNSb3V0ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9zb3J0ZWRyb3V0ZXMgPSByZXF1aXJlKFwiLi9zb3J0ZWQtcm91dGVzXCIpO1xuY29uc3QgX2lzZHluYW1pYyA9IHJlcXVpcmUoXCIuL2lzLWR5bmFtaWNcIik7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldFNvcnRlZFJvdXRlcyIsImlzRHluYW1pY1JvdXRlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NvcnRlZHJvdXRlcyIsIl9pc2R5bmFtaWMiLCJyZXF1aXJlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js ***! \**************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"interpolateAs\", ({\n enumerable: true,\n get: function() {\n return interpolateAs;\n }\n}));\nconst _routematcher = __webpack_require__(/*! ./route-matcher */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _routeregex = __webpack_require__(/*! ./route-regex */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nfunction interpolateAs(route, asPathname, query) {\n let interpolatedRoute = \"\";\n const dynamicRegex = (0, _routeregex.getRouteRegex)(route);\n const dynamicGroups = dynamicRegex.groups;\n const dynamicMatches = (asPathname !== route ? (0, _routematcher.getRouteMatcher)(dynamicRegex)(asPathname) : \"\") || // Fall back to reading the values from the href\n // TODO: should this take priority; also need to change in the router.\n query;\n interpolatedRoute = route;\n const params = Object.keys(dynamicGroups);\n if (!params.every((param)=>{\n let value = dynamicMatches[param] || \"\";\n const { repeat, optional } = dynamicGroups[param];\n // support single-level catch-all\n // TODO: more robust handling for user-error (passing `/`)\n let replaced = \"[\" + (repeat ? \"...\" : \"\") + param + \"]\";\n if (optional) {\n replaced = (!value ? \"/\" : \"\") + \"[\" + replaced + \"]\";\n }\n if (repeat && !Array.isArray(value)) value = [\n value\n ];\n return (optional || param in dynamicMatches) && // Interpolate group into data URL if present\n (interpolatedRoute = interpolatedRoute.replace(replaced, repeat ? value.map(// path delimiter escaped since they are being inserted\n // into the URL and we expect URL encoded segments\n // when parsing dynamic route params\n (segment)=>encodeURIComponent(segment)).join(\"/\") : encodeURIComponent(value)) || \"/\");\n })) {\n interpolatedRoute = \"\" // did not satisfy all requirements\n ;\n // n.b. We ignore this error because we handle warning for this case in\n // development in the `<Link>` component directly.\n }\n return {\n params,\n result: interpolatedRoute\n };\n} //# sourceMappingURL=interpolate-as.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2ludGVycG9sYXRlLWFzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxpREFBZ0Q7SUFDNUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxnQkFBZ0JDLG1CQUFPQSxDQUFDLGdHQUFpQjtBQUMvQyxNQUFNQyxjQUFjRCxtQkFBT0EsQ0FBQyw0RkFBZTtBQUMzQyxTQUFTRixjQUFjSSxLQUFLLEVBQUVDLFVBQVUsRUFBRUMsS0FBSztJQUMzQyxJQUFJQyxvQkFBb0I7SUFDeEIsTUFBTUMsZUFBZSxDQUFDLEdBQUdMLFlBQVlNLGFBQWEsRUFBRUw7SUFDcEQsTUFBTU0sZ0JBQWdCRixhQUFhRyxNQUFNO0lBQ3pDLE1BQU1DLGlCQUNOLENBQUNQLGVBQWVELFFBQVEsQ0FBQyxHQUFHSCxjQUFjWSxlQUFlLEVBQUVMLGNBQWNILGNBQWMsRUFBQyxLQUFNLGdEQUFnRDtJQUM5SSxzRUFBc0U7SUFDdEVDO0lBQ0FDLG9CQUFvQkg7SUFDcEIsTUFBTVUsU0FBU3BCLE9BQU9xQixJQUFJLENBQUNMO0lBQzNCLElBQUksQ0FBQ0ksT0FBT0UsS0FBSyxDQUFDLENBQUNDO1FBQ2YsSUFBSXBCLFFBQVFlLGNBQWMsQ0FBQ0ssTUFBTSxJQUFJO1FBQ3JDLE1BQU0sRUFBRUMsTUFBTSxFQUFFQyxRQUFRLEVBQUUsR0FBR1QsYUFBYSxDQUFDTyxNQUFNO1FBQ2pELGlDQUFpQztRQUNqQywwREFBMEQ7UUFDMUQsSUFBSUcsV0FBVyxNQUFPRixDQUFBQSxTQUFTLFFBQVEsRUFBQyxJQUFLRCxRQUFRO1FBQ3JELElBQUlFLFVBQVU7WUFDVkMsV0FBVyxDQUFDLENBQUN2QixRQUFRLE1BQU0sRUFBQyxJQUFLLE1BQU11QixXQUFXO1FBQ3REO1FBQ0EsSUFBSUYsVUFBVSxDQUFDRyxNQUFNQyxPQUFPLENBQUN6QixRQUFRQSxRQUFRO1lBQ3pDQTtTQUNIO1FBQ0QsT0FBTyxDQUFDc0IsWUFBWUYsU0FBU0wsY0FBYSxLQUFNLDZDQUE2QztRQUM1RkwsQ0FBQUEsb0JBQW9CQSxrQkFBa0JnQixPQUFPLENBQUNILFVBQVVGLFNBQVNyQixNQUFNMkIsR0FBRyxDQUMzRSx1REFBdUQ7UUFDdkQsa0RBQWtEO1FBQ2xELG9DQUFvQztRQUNwQyxDQUFDQyxVQUFVQyxtQkFBbUJELFVBQVVFLElBQUksQ0FBQyxPQUFPRCxtQkFBbUI3QixXQUFXLEdBQUU7SUFDeEYsSUFBSTtRQUNBVSxvQkFBb0IsR0FBRyxtQ0FBbUM7O0lBRTlELHVFQUF1RTtJQUN2RSxrREFBa0Q7SUFDbEQ7SUFDQSxPQUFPO1FBQ0hPO1FBQ0FjLFFBQVFyQjtJQUNaO0FBQ0osRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pbnRlcnBvbGF0ZS1hcy5qcz9kMGU0Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaW50ZXJwb2xhdGVBc1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW50ZXJwb2xhdGVBcztcbiAgICB9XG59KTtcbmNvbnN0IF9yb3V0ZW1hdGNoZXIgPSByZXF1aXJlKFwiLi9yb3V0ZS1tYXRjaGVyXCIpO1xuY29uc3QgX3JvdXRlcmVnZXggPSByZXF1aXJlKFwiLi9yb3V0ZS1yZWdleFwiKTtcbmZ1bmN0aW9uIGludGVycG9sYXRlQXMocm91dGUsIGFzUGF0aG5hbWUsIHF1ZXJ5KSB7XG4gICAgbGV0IGludGVycG9sYXRlZFJvdXRlID0gXCJcIjtcbiAgICBjb25zdCBkeW5hbWljUmVnZXggPSAoMCwgX3JvdXRlcmVnZXguZ2V0Um91dGVSZWdleCkocm91dGUpO1xuICAgIGNvbnN0IGR5bmFtaWNHcm91cHMgPSBkeW5hbWljUmVnZXguZ3JvdXBzO1xuICAgIGNvbnN0IGR5bmFtaWNNYXRjaGVzID0gLy8gVHJ5IHRvIG1hdGNoIHRoZSBkeW5hbWljIHJvdXRlIGFnYWluc3QgdGhlIGFzUGF0aFxuICAgIChhc1BhdGhuYW1lICE9PSByb3V0ZSA/ICgwLCBfcm91dGVtYXRjaGVyLmdldFJvdXRlTWF0Y2hlcikoZHluYW1pY1JlZ2V4KShhc1BhdGhuYW1lKSA6IFwiXCIpIHx8IC8vIEZhbGwgYmFjayB0byByZWFkaW5nIHRoZSB2YWx1ZXMgZnJvbSB0aGUgaHJlZlxuICAgIC8vIFRPRE86IHNob3VsZCB0aGlzIHRha2UgcHJpb3JpdHk7IGFsc28gbmVlZCB0byBjaGFuZ2UgaW4gdGhlIHJvdXRlci5cbiAgICBxdWVyeTtcbiAgICBpbnRlcnBvbGF0ZWRSb3V0ZSA9IHJvdXRlO1xuICAgIGNvbnN0IHBhcmFtcyA9IE9iamVjdC5rZXlzKGR5bmFtaWNHcm91cHMpO1xuICAgIGlmICghcGFyYW1zLmV2ZXJ5KChwYXJhbSk9PntcbiAgICAgICAgbGV0IHZhbHVlID0gZHluYW1pY01hdGNoZXNbcGFyYW1dIHx8IFwiXCI7XG4gICAgICAgIGNvbnN0IHsgcmVwZWF0LCBvcHRpb25hbCB9ID0gZHluYW1pY0dyb3Vwc1twYXJhbV07XG4gICAgICAgIC8vIHN1cHBvcnQgc2luZ2xlLWxldmVsIGNhdGNoLWFsbFxuICAgICAgICAvLyBUT0RPOiBtb3JlIHJvYnVzdCBoYW5kbGluZyBmb3IgdXNlci1lcnJvciAocGFzc2luZyBgL2ApXG4gICAgICAgIGxldCByZXBsYWNlZCA9IFwiW1wiICsgKHJlcGVhdCA/IFwiLi4uXCIgOiBcIlwiKSArIHBhcmFtICsgXCJdXCI7XG4gICAgICAgIGlmIChvcHRpb25hbCkge1xuICAgICAgICAgICAgcmVwbGFjZWQgPSAoIXZhbHVlID8gXCIvXCIgOiBcIlwiKSArIFwiW1wiICsgcmVwbGFjZWQgKyBcIl1cIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAocmVwZWF0ICYmICFBcnJheS5pc0FycmF5KHZhbHVlKSkgdmFsdWUgPSBbXG4gICAgICAgICAgICB2YWx1ZVxuICAgICAgICBdO1xuICAgICAgICByZXR1cm4gKG9wdGlvbmFsIHx8IHBhcmFtIGluIGR5bmFtaWNNYXRjaGVzKSAmJiAvLyBJbnRlcnBvbGF0ZSBncm91cCBpbnRvIGRhdGEgVVJMIGlmIHByZXNlbnRcbiAgICAgICAgKGludGVycG9sYXRlZFJvdXRlID0gaW50ZXJwb2xhdGVkUm91dGUucmVwbGFjZShyZXBsYWNlZCwgcmVwZWF0ID8gdmFsdWUubWFwKC8vIHRoZXNlIHZhbHVlcyBzaG91bGQgYmUgZnVsbHkgZW5jb2RlZCBpbnN0ZWFkIG9mIGp1c3RcbiAgICAgICAgLy8gcGF0aCBkZWxpbWl0ZXIgZXNjYXBlZCBzaW5jZSB0aGV5IGFyZSBiZWluZyBpbnNlcnRlZFxuICAgICAgICAvLyBpbnRvIHRoZSBVUkwgYW5kIHdlIGV4cGVjdCBVUkwgZW5jb2RlZCBzZWdtZW50c1xuICAgICAgICAvLyB3aGVuIHBhcnNpbmcgZHluYW1pYyByb3V0ZSBwYXJhbXNcbiAgICAgICAgKHNlZ21lbnQpPT5lbmNvZGVVUklDb21wb25lbnQoc2VnbWVudCkpLmpvaW4oXCIvXCIpIDogZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKSkgfHwgXCIvXCIpO1xuICAgIH0pKSB7XG4gICAgICAgIGludGVycG9sYXRlZFJvdXRlID0gXCJcIiAvLyBkaWQgbm90IHNhdGlzZnkgYWxsIHJlcXVpcmVtZW50c1xuICAgICAgICA7XG4gICAgLy8gbi5iLiBXZSBpZ25vcmUgdGhpcyBlcnJvciBiZWNhdXNlIHdlIGhhbmRsZSB3YXJuaW5nIGZvciB0aGlzIGNhc2UgaW5cbiAgICAvLyBkZXZlbG9wbWVudCBpbiB0aGUgYDxMaW5rPmAgY29tcG9uZW50IGRpcmVjdGx5LlxuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXJhbXMsXG4gICAgICAgIHJlc3VsdDogaW50ZXJwb2xhdGVkUm91dGVcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnRlcnBvbGF0ZS1hcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaW50ZXJwb2xhdGVBcyIsIl9yb3V0ZW1hdGNoZXIiLCJyZXF1aXJlIiwiX3JvdXRlcmVnZXgiLCJyb3V0ZSIsImFzUGF0aG5hbWUiLCJxdWVyeSIsImludGVycG9sYXRlZFJvdXRlIiwiZHluYW1pY1JlZ2V4IiwiZ2V0Um91dGVSZWdleCIsImR5bmFtaWNHcm91cHMiLCJncm91cHMiLCJkeW5hbWljTWF0Y2hlcyIsImdldFJvdXRlTWF0Y2hlciIsInBhcmFtcyIsImtleXMiLCJldmVyeSIsInBhcmFtIiwicmVwZWF0Iiwib3B0aW9uYWwiLCJyZXBsYWNlZCIsIkFycmF5IiwiaXNBcnJheSIsInJlcGxhY2UiLCJtYXAiLCJzZWdtZW50IiwiZW5jb2RlVVJJQ29tcG9uZW50Iiwiam9pbiIsInJlc3VsdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/interpolate-as.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-bot.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isBot\", ({\n enumerable: true,\n get: function() {\n return isBot;\n }\n}));\nfunction isBot(userAgent) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(userAgent);\n} //# sourceMappingURL=is-bot.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseUNBQXdDO0lBQ3BDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsTUFBTUMsU0FBUztJQUNwQixPQUFPLG9WQUFvVkMsSUFBSSxDQUFDRDtBQUNwVyxFQUVBLGtDQUFrQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdC5qcz8wNzE1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNCb3RcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzQm90O1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gaXNCb3QodXNlckFnZW50KSB7XG4gICAgcmV0dXJuIC9Hb29nbGVib3R8TWVkaWFwYXJ0bmVycy1Hb29nbGV8QWRzQm90LUdvb2dsZXxnb29nbGV3ZWJsaWdodHxTdG9yZWJvdC1Hb29nbGV8R29vZ2xlLVBhZ2VSZW5kZXJlcnxCaW5nYm90fEJpbmdQcmV2aWV3fFNsdXJwfER1Y2tEdWNrQm90fGJhaWR1c3BpZGVyfHlhbmRleHxzb2dvdXxMaW5rZWRJbkJvdHxiaXRseWJvdHx0dW1ibHJ8dmtTaGFyZXxxdW9yYSBsaW5rIHByZXZpZXd8ZmFjZWJvb2tleHRlcm5hbGhpdHxmYWNlYm9va2NhdGFsb2d8VHdpdHRlcmJvdHxhcHBsZWJvdHxyZWRkaXRib3R8U2xhY2tib3R8RGlzY29yZGJvdHxXaGF0c0FwcHxTa3lwZVVyaVByZXZpZXd8aWFfYXJjaGl2ZXIvaS50ZXN0KHVzZXJBZ2VudCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWlzLWJvdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNCb3QiLCJ1c2VyQWdlbnQiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isDynamicRoute\", ({\n enumerable: true,\n get: function() {\n return isDynamicRoute;\n }\n}));\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\n// Identify /[param]/ in route string\nconst TEST_ROUTE = /\\/\\[[^/]+?\\](?=\\/|$)/;\nfunction isDynamicRoute(route) {\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(route)) {\n route = (0, _interceptionroutes.extractInterceptionRouteInformation)(route).interceptedRoute;\n }\n return TEST_ROUTE.test(route);\n} //# sourceMappingURL=is-dynamic.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWR5bmFtaWMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMsMElBQXVEO0FBQzNGLHFDQUFxQztBQUNyQyxNQUFNQyxhQUFhO0FBQ25CLFNBQVNILGVBQWVJLEtBQUs7SUFDekIsSUFBSSxDQUFDLEdBQUdILG9CQUFvQkksMEJBQTBCLEVBQUVELFFBQVE7UUFDNURBLFFBQVEsQ0FBQyxHQUFHSCxvQkFBb0JLLG1DQUFtQyxFQUFFRixPQUFPRyxnQkFBZ0I7SUFDaEc7SUFDQSxPQUFPSixXQUFXSyxJQUFJLENBQUNKO0FBQzNCLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtZHluYW1pYy5qcz80NmY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaXNEeW5hbWljUm91dGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRHluYW1pY1JvdXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyY2VwdGlvbnJvdXRlcyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbi8vIElkZW50aWZ5IC9bcGFyYW1dLyBpbiByb3V0ZSBzdHJpbmdcbmNvbnN0IFRFU1RfUk9VVEUgPSAvXFwvXFxbW14vXSs/XFxdKD89XFwvfCQpLztcbmZ1bmN0aW9uIGlzRHluYW1pY1JvdXRlKHJvdXRlKSB7XG4gICAgaWYgKCgwLCBfaW50ZXJjZXB0aW9ucm91dGVzLmlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKShyb3V0ZSkpIHtcbiAgICAgICAgcm91dGUgPSAoMCwgX2ludGVyY2VwdGlvbnJvdXRlcy5leHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbikocm91dGUpLmludGVyY2VwdGVkUm91dGU7XG4gICAgfVxuICAgIHJldHVybiBURVNUX1JPVVRFLnRlc3Qocm91dGUpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1keW5hbWljLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJpc0R5bmFtaWNSb3V0ZSIsIl9pbnRlcmNlcHRpb25yb3V0ZXMiLCJyZXF1aXJlIiwiVEVTVF9ST1VURSIsInJvdXRlIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbiIsImludGVyY2VwdGVkUm91dGUiLCJ0ZXN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-dynamic.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/is-local-url.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isLocalURL\", ({\n enumerable: true,\n get: function() {\n return isLocalURL;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _hasbasepath = __webpack_require__(/*! ../../../../client/has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nfunction isLocalURL(url) {\n // prevent a hydration mismatch on href for url with anchor refs\n if (!(0, _utils.isAbsoluteUrl)(url)) return true;\n try {\n // absolute urls can be local if they are on the same origin\n const locationOrigin = (0, _utils.getLocationOrigin)();\n const resolved = new URL(url, locationOrigin);\n return resolved.origin === locationOrigin && (0, _hasbasepath.hasBasePath)(resolved.pathname);\n } catch (_) {\n return false;\n }\n} //# sourceMappingURL=is-local-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWxvY2FsLXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsOENBQTZDO0lBQ3pDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsdUVBQWE7QUFDcEMsTUFBTUMsZUFBZUQsbUJBQU9BLENBQUMsZ0dBQWtDO0FBQy9ELFNBQVNGLFdBQVdJLEdBQUc7SUFDbkIsZ0VBQWdFO0lBQ2hFLElBQUksQ0FBQyxDQUFDLEdBQUdILE9BQU9JLGFBQWEsRUFBRUQsTUFBTSxPQUFPO0lBQzVDLElBQUk7UUFDQSw0REFBNEQ7UUFDNUQsTUFBTUUsaUJBQWlCLENBQUMsR0FBR0wsT0FBT00saUJBQWlCO1FBQ25ELE1BQU1DLFdBQVcsSUFBSUMsSUFBSUwsS0FBS0U7UUFDOUIsT0FBT0UsU0FBU0UsTUFBTSxLQUFLSixrQkFBa0IsQ0FBQyxHQUFHSCxhQUFhUSxXQUFXLEVBQUVILFNBQVNJLFFBQVE7SUFDaEcsRUFBRSxPQUFPQyxHQUFHO1FBQ1IsT0FBTztJQUNYO0FBQ0osRUFFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1sb2NhbC11cmwuanM/NWQyOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzTG9jYWxVUkxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzTG9jYWxVUkw7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHNcIik7XG5jb25zdCBfaGFzYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vY2xpZW50L2hhcy1iYXNlLXBhdGhcIik7XG5mdW5jdGlvbiBpc0xvY2FsVVJMKHVybCkge1xuICAgIC8vIHByZXZlbnQgYSBoeWRyYXRpb24gbWlzbWF0Y2ggb24gaHJlZiBmb3IgdXJsIHdpdGggYW5jaG9yIHJlZnNcbiAgICBpZiAoISgwLCBfdXRpbHMuaXNBYnNvbHV0ZVVybCkodXJsKSkgcmV0dXJuIHRydWU7XG4gICAgdHJ5IHtcbiAgICAgICAgLy8gYWJzb2x1dGUgdXJscyBjYW4gYmUgbG9jYWwgaWYgdGhleSBhcmUgb24gdGhlIHNhbWUgb3JpZ2luXG4gICAgICAgIGNvbnN0IGxvY2F0aW9uT3JpZ2luID0gKDAsIF91dGlscy5nZXRMb2NhdGlvbk9yaWdpbikoKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWQgPSBuZXcgVVJMKHVybCwgbG9jYXRpb25PcmlnaW4pO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZWQub3JpZ2luID09PSBsb2NhdGlvbk9yaWdpbiAmJiAoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShyZXNvbHZlZC5wYXRobmFtZSk7XG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1sb2NhbC11cmwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImlzTG9jYWxVUkwiLCJfdXRpbHMiLCJyZXF1aXJlIiwiX2hhc2Jhc2VwYXRoIiwidXJsIiwiaXNBYnNvbHV0ZVVybCIsImxvY2F0aW9uT3JpZ2luIiwiZ2V0TG9jYXRpb25PcmlnaW4iLCJyZXNvbHZlZCIsIlVSTCIsIm9yaWdpbiIsImhhc0Jhc2VQYXRoIiwicGF0aG5hbWUiLCJfIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-local-url.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/omit.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"omit\", ({\n enumerable: true,\n get: function() {\n return omit;\n }\n}));\nfunction omit(object, keys) {\n const omitted = {};\n Object.keys(object).forEach((key)=>{\n if (!keys.includes(key)) {\n omitted[key] = object[key];\n }\n });\n return omitted;\n} //# sourceMappingURL=omit.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL29taXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHdDQUF1QztJQUNuQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLEtBQUtDLE1BQU0sRUFBRUMsSUFBSTtJQUN0QixNQUFNQyxVQUFVLENBQUM7SUFDakJULE9BQU9RLElBQUksQ0FBQ0QsUUFBUUcsT0FBTyxDQUFDLENBQUNDO1FBQ3pCLElBQUksQ0FBQ0gsS0FBS0ksUUFBUSxDQUFDRCxNQUFNO1lBQ3JCRixPQUFPLENBQUNFLElBQUksR0FBR0osTUFBTSxDQUFDSSxJQUFJO1FBQzlCO0lBQ0o7SUFDQSxPQUFPRjtBQUNYLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvb21pdC5qcz9mYjc4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwib21pdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gb21pdDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIG9taXQob2JqZWN0LCBrZXlzKSB7XG4gICAgY29uc3Qgb21pdHRlZCA9IHt9O1xuICAgIE9iamVjdC5rZXlzKG9iamVjdCkuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICBpZiAoIWtleXMuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgb21pdHRlZFtrZXldID0gb2JqZWN0W2tleV07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gb21pdHRlZDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9b21pdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwib21pdCIsIm9iamVjdCIsImtleXMiLCJvbWl0dGVkIiwiZm9yRWFjaCIsImtleSIsImluY2x1ZGVzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/omit.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFVBQVVDLElBQUk7SUFDbkIsTUFBTUMsWUFBWUQsS0FBS0UsT0FBTyxDQUFDO0lBQy9CLE1BQU1DLGFBQWFILEtBQUtFLE9BQU8sQ0FBQztJQUNoQyxNQUFNRSxXQUFXRCxhQUFhLENBQUMsS0FBTUYsQ0FBQUEsWUFBWSxLQUFLRSxhQUFhRixTQUFRO0lBQzNFLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzVCLE9BQU87WUFDSEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUFXSixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUFhO1lBQ3ZGQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ25EO0lBQ0o7SUFDQSxPQUFPO1FBQ0hJLFVBQVVMO1FBQ1ZPLE9BQU87UUFDUEUsTUFBTTtJQUNWO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoLmpzP2U1MmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHaXZlbiBhIHBhdGggdGhpcyBmdW5jdGlvbiB3aWxsIGZpbmQgdGhlIHBhdGhuYW1lLCBxdWVyeSBhbmQgaGFzaCBhbmQgcmV0dXJuXG4gKiB0aGVtLiBUaGlzIGlzIHVzZWZ1bCB0byBwYXJzZSBmdWxsIHBhdGhzIG9uIHRoZSBjbGllbnQgc2lkZS5cbiAqIEBwYXJhbSBwYXRoIEEgcGF0aCB0byBwYXJzZSBlLmcuIC9mb28vYmFyP2lkPTEjaGFzaFxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVBhdGg7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBwYXJzZVBhdGgocGF0aCkge1xuICAgIGNvbnN0IGhhc2hJbmRleCA9IHBhdGguaW5kZXhPZihcIiNcIik7XG4gICAgY29uc3QgcXVlcnlJbmRleCA9IHBhdGguaW5kZXhPZihcIj9cIik7XG4gICAgY29uc3QgaGFzUXVlcnkgPSBxdWVyeUluZGV4ID4gLTEgJiYgKGhhc2hJbmRleCA8IDAgfHwgcXVlcnlJbmRleCA8IGhhc2hJbmRleCk7XG4gICAgaWYgKGhhc1F1ZXJ5IHx8IGhhc2hJbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRobmFtZTogcGF0aC5zdWJzdHJpbmcoMCwgaGFzUXVlcnkgPyBxdWVyeUluZGV4IDogaGFzaEluZGV4KSxcbiAgICAgICAgICAgIHF1ZXJ5OiBoYXNRdWVyeSA/IHBhdGguc3Vic3RyaW5nKHF1ZXJ5SW5kZXgsIGhhc2hJbmRleCA+IC0xID8gaGFzaEluZGV4IDogdW5kZWZpbmVkKSA6IFwiXCIsXG4gICAgICAgICAgICBoYXNoOiBoYXNoSW5kZXggPiAtMSA/IHBhdGguc2xpY2UoaGFzaEluZGV4KSA6IFwiXCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWU6IHBhdGgsXG4gICAgICAgIHF1ZXJ5OiBcIlwiLFxuICAgICAgICBoYXNoOiBcIlwiXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFyc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGFyc2VQYXRoIiwicGF0aCIsImhhc2hJbmRleCIsImluZGV4T2YiLCJxdWVyeUluZGV4IiwiaGFzUXVlcnkiLCJwYXRobmFtZSIsInN1YnN0cmluZyIsInF1ZXJ5IiwidW5kZWZpbmVkIiwiaGFzaCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsMEZBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksT0FBT0QsU0FBUyxVQUFVO1FBQzFCLE9BQU87SUFDWDtJQUNBLE1BQU0sRUFBRUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFHSixXQUFXSyxTQUFTLEVBQUVIO0lBQy9DLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUMvRCxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcz9iNTM4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGF0aEhhc1ByZWZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0aEhhc1ByZWZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gcGF0aEhhc1ByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgICBpZiAodHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IHBhdGhuYW1lIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBwYXRobmFtZSA9PT0gcHJlZml4IHx8IHBhdGhuYW1lLnN0YXJ0c1dpdGgocHJlZml4ICsgXCIvXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXRoLWhhcy1wcmVmaXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInBhdGhIYXNQcmVmaXgiLCJfcGFyc2VwYXRoIiwicmVxdWlyZSIsInBhdGgiLCJwcmVmaXgiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n },\n assign: function() {\n return assign;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0YsdUJBQXVCUyxZQUFZO0lBQ3hDLE1BQU1DLFFBQVEsQ0FBQztJQUNmRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ2IsT0FBT2M7UUFDekIsSUFBSSxPQUFPRixLQUFLLENBQUNFLElBQUksS0FBSyxhQUFhO1lBQ25DRixLQUFLLENBQUNFLElBQUksR0FBR2Q7UUFDakIsT0FBTyxJQUFJZSxNQUFNQyxPQUFPLENBQUNKLEtBQUssQ0FBQ0UsSUFBSSxHQUFHO1lBQ2xDRixLQUFLLENBQUNFLElBQUksQ0FBQ0csSUFBSSxDQUFDakI7UUFDcEIsT0FBTztZQUNIWSxLQUFLLENBQUNFLElBQUksR0FBRztnQkFDVEYsS0FBSyxDQUFDRSxJQUFJO2dCQUNWZDthQUNIO1FBQ0w7SUFDSjtJQUNBLE9BQU9ZO0FBQ1g7QUFDQSxTQUFTTSx1QkFBdUJDLEtBQUs7SUFDakMsSUFBSSxPQUFPQSxVQUFVLFlBQVksT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQVUsT0FBT0EsVUFBVSxXQUFXO1FBQ3ZHLE9BQU9FLE9BQU9GO0lBQ2xCLE9BQU87UUFDSCxPQUFPO0lBQ1g7QUFDSjtBQUNBLFNBQVNoQix1QkFBdUJtQixRQUFRO0lBQ3BDLE1BQU1DLFNBQVMsSUFBSUM7SUFDbkIzQixPQUFPNEIsT0FBTyxDQUFDSCxVQUFVVCxPQUFPLENBQUMsQ0FBQ007UUFDOUIsSUFBSSxDQUFDTCxLQUFLZCxNQUFNLEdBQUdtQjtRQUNuQixJQUFJSixNQUFNQyxPQUFPLENBQUNoQixRQUFRO1lBQ3RCQSxNQUFNYSxPQUFPLENBQUMsQ0FBQ2EsT0FBT0gsT0FBT0ksTUFBTSxDQUFDYixLQUFLSSx1QkFBdUJRO1FBQ3BFLE9BQU87WUFDSEgsT0FBT0ssR0FBRyxDQUFDZCxLQUFLSSx1QkFBdUJsQjtRQUMzQztJQUNKO0lBQ0EsT0FBT3VCO0FBQ1g7QUFDQSxTQUFTbkIsT0FBT0UsTUFBTTtJQUNsQixJQUFJLElBQUl1QixPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLG1CQUFtQixJQUFJakIsTUFBTWMsT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUksT0FBTyxHQUFHQSxPQUFPSixNQUFNSSxPQUFPO1FBQ2xIRCxnQkFBZ0IsQ0FBQ0MsT0FBTyxFQUFFLEdBQUdILFNBQVMsQ0FBQ0csS0FBSztJQUNoRDtJQUNBRCxpQkFBaUJuQixPQUFPLENBQUMsQ0FBQ0Y7UUFDdEJJLE1BQU1tQixJQUFJLENBQUN2QixhQUFhd0IsSUFBSSxJQUFJdEIsT0FBTyxDQUFDLENBQUNDLE1BQU1SLE9BQU84QixNQUFNLENBQUN0QjtRQUM3REgsYUFBYUUsT0FBTyxDQUFDLENBQUNiLE9BQU9jLE1BQU1SLE9BQU9xQixNQUFNLENBQUNiLEtBQUtkO0lBQzFEO0lBQ0EsT0FBT007QUFDWCxFQUVBLHVDQUF1QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzPzAxNDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5OiBudWxsLFxuICAgIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6IG51bGwsXG4gICAgYXNzaWduOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHNlYXJjaFBhcmFtc1RvVXJsUXVlcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2VhcmNoUGFyYW1zVG9VcmxRdWVyeTtcbiAgICB9LFxuICAgIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXJsUXVlcnlUb1NlYXJjaFBhcmFtcztcbiAgICB9LFxuICAgIGFzc2lnbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhc3NpZ247XG4gICAgfVxufSk7XG5mdW5jdGlvbiBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KHNlYXJjaFBhcmFtcykge1xuICAgIGNvbnN0IHF1ZXJ5ID0ge307XG4gICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpPT57XG4gICAgICAgIGlmICh0eXBlb2YgcXVlcnlba2V5XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcXVlcnlba2V5XSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocXVlcnlba2V5XSkpIHtcbiAgICAgICAgICAgIHF1ZXJ5W2tleV0ucHVzaCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeVtrZXldID0gW1xuICAgICAgICAgICAgICAgIHF1ZXJ5W2tleV0sXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcXVlcnk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKHBhcmFtKSB7XG4gICAgaWYgKHR5cGVvZiBwYXJhbSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgcGFyYW0gPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHBhcmFtKSB8fCB0eXBlb2YgcGFyYW0gPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcocGFyYW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXModXJsUXVlcnkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgT2JqZWN0LmVudHJpZXModXJsUXVlcnkpLmZvckVhY2goKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2tleSwgdmFsdWVdID0gcGFyYW07XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSk9PnJlc3VsdC5hcHBlbmQoa2V5LCBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKGl0ZW0pKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgc3RyaW5naWZ5VXJsUXVlcnlQYXJhbSh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGFzc2lnbih0YXJnZXQpIHtcbiAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzZWFyY2hQYXJhbXNMaXN0ID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICBzZWFyY2hQYXJhbXNMaXN0W19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG4gICAgc2VhcmNoUGFyYW1zTGlzdC5mb3JFYWNoKChzZWFyY2hQYXJhbXMpPT57XG4gICAgICAgIEFycmF5LmZyb20oc2VhcmNoUGFyYW1zLmtleXMoKSkuZm9yRWFjaCgoa2V5KT0+dGFyZ2V0LmRlbGV0ZShrZXkpKTtcbiAgICAgICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpPT50YXJnZXQuYXBwZW5kKGtleSwgdmFsdWUpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeXN0cmluZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsImFzc2lnbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJzdHJpbmdpZnlVcmxRdWVyeVBhcmFtIiwicGFyYW0iLCJpc05hTiIsIlN0cmluZyIsInVybFF1ZXJ5IiwicmVzdWx0IiwiVVJMU2VhcmNoUGFyYW1zIiwiZW50cmllcyIsIml0ZW0iLCJhcHBlbmQiLCJzZXQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2VhcmNoUGFyYW1zTGlzdCIsIl9rZXkiLCJmcm9tIiwia2V5cyIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLEtBQUs7SUFDOUIsT0FBT0EsTUFBTUMsT0FBTyxDQUFDLE9BQU8sT0FBTztBQUN2QyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcz9lYzA2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVtb3ZlcyB0aGUgdHJhaWxpbmcgc2xhc2ggZm9yIGEgZ2l2ZW4gcm91dGUgb3IgcGFnZSBwYXRoLiBQcmVzZXJ2ZXMgdGhlXG4gKiByb290IHBhZ2UuIEV4YW1wbGVzOlxuICogICAtIGAvZm9vL2Jhci9gIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2Zvby9iYXJgIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2AgLT4gYC9gXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZW1vdmVUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZW1vdmVUcmFpbGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gcmVtb3ZlVHJhaWxpbmdTbGFzaChyb3V0ZSkge1xuICAgIHJldHVybiByb3V0ZS5yZXBsYWNlKC9cXC8kLywgXCJcIikgfHwgXCIvXCI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(ssr)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLHVFQUFhO0FBQ3BDLFNBQVNGLGdCQUFnQkcsS0FBSztJQUMxQixJQUFJLEVBQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFFLEdBQUdGO0lBQ3JCLE9BQU8sQ0FBQ0c7UUFDSixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNiLE9BQU87UUFDWDtRQUNBLE1BQU1FLFNBQVMsQ0FBQ047WUFDWixJQUFJO2dCQUNBLE9BQU9PLG1CQUFtQlA7WUFDOUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNSLE1BQU0sSUFBSVYsT0FBT1csV0FBVyxDQUFDO1lBQ2pDO1FBQ0o7UUFDQSxNQUFNQyxTQUFTLENBQUM7UUFDaEJuQixPQUFPb0IsSUFBSSxDQUFDVCxRQUFRVSxPQUFPLENBQUMsQ0FBQ0M7WUFDekIsTUFBTUMsSUFBSVosTUFBTSxDQUFDVyxTQUFTO1lBQzFCLE1BQU1FLElBQUlYLFVBQVUsQ0FBQ1UsRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ2pCUCxNQUFNLENBQUNHLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FBT0gsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFRZixPQUFPZSxVQUFVUCxFQUFFUSxNQUFNLEdBQUc7b0JBQ3ZGaEIsT0FBT1M7aUJBQ1YsR0FBR1QsT0FBT1M7WUFDZjtRQUNKO1FBQ0EsT0FBT0w7SUFDWDtBQUNKLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcz9jODZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Um91dGVNYXRjaGVyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRSb3V0ZU1hdGNoZXI7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHNcIik7XG5mdW5jdGlvbiBnZXRSb3V0ZU1hdGNoZXIocGFyYW0pIHtcbiAgICBsZXQgeyByZSwgZ3JvdXBzIH0gPSBwYXJhbTtcbiAgICByZXR1cm4gKHBhdGhuYW1lKT0+e1xuICAgICAgICBjb25zdCByb3V0ZU1hdGNoID0gcmUuZXhlYyhwYXRobmFtZSk7XG4gICAgICAgIGlmICghcm91dGVNYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlY29kZSA9IChwYXJhbSk9PntcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChwYXJhbSk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IF91dGlscy5EZWNvZGVFcnJvcihcImZhaWxlZCB0byBkZWNvZGUgcGFyYW1cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhncm91cHMpLmZvckVhY2goKHNsdWdOYW1lKT0+e1xuICAgICAgICAgICAgY29uc3QgZyA9IGdyb3Vwc1tzbHVnTmFtZV07XG4gICAgICAgICAgICBjb25zdCBtID0gcm91dGVNYXRjaFtnLnBvc107XG4gICAgICAgICAgICBpZiAobSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zW3NsdWdOYW1lXSA9IH5tLmluZGV4T2YoXCIvXCIpID8gbS5zcGxpdChcIi9cIikubWFwKChlbnRyeSk9PmRlY29kZShlbnRyeSkpIDogZy5yZXBlYXQgPyBbXG4gICAgICAgICAgICAgICAgICAgIGRlY29kZShtKVxuICAgICAgICAgICAgICAgIF0gOiBkZWNvZGUobSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlLW1hdGNoZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFJvdXRlTWF0Y2hlciIsIl91dGlscyIsInJlcXVpcmUiLCJwYXJhbSIsInJlIiwiZ3JvdXBzIiwicGF0aG5hbWUiLCJyb3V0ZU1hdGNoIiwiZXhlYyIsImRlY29kZSIsImRlY29kZVVSSUNvbXBvbmVudCIsIl8iLCJEZWNvZGVFcnJvciIsInBhcmFtcyIsImtleXMiLCJmb3JFYWNoIiwic2x1Z05hbWUiLCJnIiwibSIsInBvcyIsInVuZGVmaW5lZCIsImluZGV4T2YiLCJzcGxpdCIsIm1hcCIsImVudHJ5IiwicmVwZWF0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getRouteRegex: function() {\n return getRouteRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(ssr)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(ssr)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sc0JBQXNCQyxtQkFBT0EsQ0FBQywwSUFBdUQ7QUFDM0YsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx1RkFBcUI7QUFDbkQsTUFBTUUsdUJBQXVCRixtQkFBT0EsQ0FBQyxnSEFBeUI7QUFDOUQsTUFBTUcsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQUN4Qzs7Ozs7OztDQU9DLEdBQUcsU0FBU0MsZUFBZUMsS0FBSztJQUM3QixNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDVkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1QjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1JMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN4QjtJQUNBLE9BQU87UUFDSEUsS0FBS047UUFDTEs7UUFDQUo7SUFDSjtBQUNKO0FBQ0EsU0FBU00scUJBQXFCQyxLQUFLO0lBQy9CLE1BQU1DLFdBQVcs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QU8sTUFBTSxDQUFDLEdBQUc1RCxjQUFjNkIsa0JBQWtCLEVBQUVSO1lBQ3ZEO1FBQ0osR0FBR1MsSUFBSSxDQUFDO1FBQ1JlO0lBQ0o7QUFDSjtBQUNBLFNBQVN2RCxtQkFBbUJ5QyxlQUFlLEVBQUU4QixjQUFjO0lBQ3ZELE1BQU1DLFNBQVNSLDBCQUEwQnZCLGlCQUFpQjhCO0lBQzFELE9BQU87UUFDSCxHQUFHeEUsY0FBYzBDLGdCQUFnQjtRQUNqQ2dDLFlBQVksTUFBTUQsT0FBT04sdUJBQXVCLEdBQUc7UUFDbkRYLFdBQVdpQixPQUFPakIsU0FBUztJQUMvQjtBQUNKO0FBQ0EsU0FBU3RELHdCQUF3QndDLGVBQWUsRUFBRWlDLE9BQU87SUFDckQsTUFBTSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzVCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0hGLFlBQVksT0FBT0csZ0JBQWdCO1FBQ3ZDO0lBQ0o7SUFDQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUEwQnZCLGlCQUFpQjtJQUMvRSxJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNIRixZQUFZLE1BQU1QLDBCQUEwQlcsdUJBQXVCO0lBQ3ZFO0FBQ0osRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC5qcz9lYWMyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0Um91dGVSZWdleDogbnVsbCxcbiAgICBnZXROYW1lZFJvdXRlUmVnZXg6IG51bGwsXG4gICAgZ2V0TmFtZWRNaWRkbGV3YXJlUmVnZXg6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0Um91dGVSZWdleDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRSb3V0ZVJlZ2V4O1xuICAgIH0sXG4gICAgZ2V0TmFtZWRSb3V0ZVJlZ2V4OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldE5hbWVkUm91dGVSZWdleDtcbiAgICB9LFxuICAgIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyY2VwdGlvbnJvdXRlcyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbmNvbnN0IF9lc2NhcGVyZWdleHAgPSByZXF1aXJlKFwiLi4vLi4vZXNjYXBlLXJlZ2V4cFwiKTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggPSBcIm54dFBcIjtcbmNvbnN0IE5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVggPSBcIm54dElcIjtcbi8qKlxuICogUGFyc2VzIGEgZ2l2ZW4gcGFyYW1ldGVyIGZyb20gYSByb3V0ZSB0byBhIGRhdGEgc3RydWN0dXJlIHRoYXQgY2FuIGJlIHVzZWRcbiAqIHRvIGdlbmVyYXRlIHRoZSBwYXJhbWV0cml6ZWQgcm91dGUuIEV4YW1wbGVzOlxuICogICAtIGBbLi4uc2x1Z11gIC0+IGB7IGtleTogJ3NsdWcnLCByZXBlYXQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH1gXG4gKiAgIC0gYC4uLnNsdWdgIC0+IGB7IGtleTogJ3NsdWcnLCByZXBlYXQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSB9YFxuICogICAtIGBbZm9vXWAgLT4gYHsga2V5OiAnZm9vJywgcmVwZWF0OiBmYWxzZSwgb3B0aW9uYWw6IHRydWUgfWBcbiAqICAgLSBgYmFyYCAtPiBgeyBrZXk6ICdiYXInLCByZXBlYXQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UgfWBcbiAqLyBmdW5jdGlvbiBwYXJzZVBhcmFtZXRlcihwYXJhbSkge1xuICAgIGNvbnN0IG9wdGlvbmFsID0gcGFyYW0uc3RhcnRzV2l0aChcIltcIikgJiYgcGFyYW0uZW5kc1dpdGgoXCJdXCIpO1xuICAgIGlmIChvcHRpb25hbCkge1xuICAgICAgICBwYXJhbSA9IHBhcmFtLnNsaWNlKDEsIC0xKTtcbiAgICB9XG4gICAgY29uc3QgcmVwZWF0ID0gcGFyYW0uc3RhcnRzV2l0aChcIi4uLlwiKTtcbiAgICBpZiAocmVwZWF0KSB7XG4gICAgICAgIHBhcmFtID0gcGFyYW0uc2xpY2UoMyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGtleTogcGFyYW0sXG4gICAgICAgIHJlcGVhdCxcbiAgICAgICAgb3B0aW9uYWxcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UGFyYW1ldHJpemVkUm91dGUocm91dGUpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShyb3V0ZSkuc2xpY2UoMSkuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGdyb3VwcyA9IHt9O1xuICAgIGxldCBncm91cEluZGV4ID0gMTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwYXJhbWV0ZXJpemVkUm91dGU6IHNlZ21lbnRzLm1hcCgoc2VnbWVudCk9PntcbiAgICAgICAgICAgIGNvbnN0IG1hcmtlck1hdGNoID0gX2ludGVyY2VwdGlvbnJvdXRlcy5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtTWF0Y2hlcyA9IHNlZ21lbnQubWF0Y2goL1xcWygoPzpcXFsuKlxcXSl8LispXFxdLykgLy8gQ2hlY2sgZm9yIHBhcmFtZXRlcnNcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGlmIChtYXJrZXJNYXRjaCAmJiBwYXJhbU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGtleSwgb3B0aW9uYWwsIHJlcGVhdCB9ID0gcGFyc2VQYXJhbWV0ZXIocGFyYW1NYXRjaGVzWzFdKTtcbiAgICAgICAgICAgICAgICBncm91cHNba2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zOiBncm91cEluZGV4KyssXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBcIi9cIiArICgwLCBfZXNjYXBlcmVnZXhwLmVzY2FwZVN0cmluZ1JlZ2V4cCkobWFya2VyTWF0Y2gpICsgXCIoW14vXSs/KVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGtleSwgcmVwZWF0LCBvcHRpb25hbCB9ID0gcGFyc2VQYXJhbWV0ZXIocGFyYW1NYXRjaGVzWzFdKTtcbiAgICAgICAgICAgICAgICBncm91cHNba2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zOiBncm91cEluZGV4KyssXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiByZXBlYXQgPyBvcHRpb25hbCA/IFwiKD86LyguKz8pKT9cIiA6IFwiLyguKz8pXCIgOiBcIi8oW14vXSs/KVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIvXCIgKyAoMCwgX2VzY2FwZXJlZ2V4cC5lc2NhcGVTdHJpbmdSZWdleHApKHNlZ21lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5qb2luKFwiXCIpLFxuICAgICAgICBncm91cHNcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0Um91dGVSZWdleChub3JtYWxpemVkUm91dGUpIHtcbiAgICBjb25zdCB7IHBhcmFtZXRlcml6ZWRSb3V0ZSwgZ3JvdXBzIH0gPSBnZXRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlOiBuZXcgUmVnRXhwKFwiXlwiICsgcGFyYW1ldGVyaXplZFJvdXRlICsgXCIoPzovKT8kXCIpLFxuICAgICAgICBncm91cHM6IGdyb3Vwc1xuICAgIH07XG59XG4vKipcbiAqIEJ1aWxkcyBhIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGEgbWluaW1hbCByb3V0ZUtleSB1c2luZyBvbmx5IGEteiBhbmQgbWluaW1hbFxuICogbnVtYmVyIG9mIGNoYXJhY3RlcnMuXG4gKi8gZnVuY3Rpb24gYnVpbGRHZXRTYWZlUm91dGVLZXkoKSB7XG4gICAgbGV0IGkgPSAwO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICBsZXQgcm91dGVLZXkgPSBcIlwiO1xuICAgICAgICBsZXQgaiA9ICsraTtcbiAgICAgICAgd2hpbGUoaiA+IDApe1xuICAgICAgICAgICAgcm91dGVLZXkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIChqIC0gMSkgJSAyNik7XG4gICAgICAgICAgICBqID0gTWF0aC5mbG9vcigoaiAtIDEpIC8gMjYpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3V0ZUtleTtcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0U2FmZUtleUZyb21TZWdtZW50KHBhcmFtKSB7XG4gICAgbGV0IHsgaW50ZXJjZXB0aW9uTWFya2VyLCBnZXRTYWZlUm91dGVLZXksIHNlZ21lbnQsIHJvdXRlS2V5cywga2V5UHJlZml4IH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGtleSwgb3B0aW9uYWwsIHJlcGVhdCB9ID0gcGFyc2VQYXJhbWV0ZXIoc2VnbWVudCk7XG4gICAgLy8gcmVwbGFjZSBhbnkgbm9uLXdvcmQgY2hhcmFjdGVycyBzaW5jZSB0aGV5IGNhbiBicmVha1xuICAgIC8vIHRoZSBuYW1lZCByZWdleFxuICAgIGxldCBjbGVhbmVkS2V5ID0ga2V5LnJlcGxhY2UoL1xcVy9nLCBcIlwiKTtcbiAgICBpZiAoa2V5UHJlZml4KSB7XG4gICAgICAgIGNsZWFuZWRLZXkgPSBcIlwiICsga2V5UHJlZml4ICsgY2xlYW5lZEtleTtcbiAgICB9XG4gICAgbGV0IGludmFsaWRLZXkgPSBmYWxzZTtcbiAgICAvLyBjaGVjayBpZiB0aGUga2V5IGlzIHN0aWxsIGludmFsaWQgYW5kIGZhbGxiYWNrIHRvIHVzaW5nIGEga25vd25cbiAgICAvLyBzYWZlIGtleVxuICAgIGlmIChjbGVhbmVkS2V5Lmxlbmd0aCA9PT0gMCB8fCBjbGVhbmVkS2V5Lmxlbmd0aCA+IDMwKSB7XG4gICAgICAgIGludmFsaWRLZXkgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlzTmFOKHBhcnNlSW50KGNsZWFuZWRLZXkuc2xpY2UoMCwgMSkpKSkge1xuICAgICAgICBpbnZhbGlkS2V5ID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGludmFsaWRLZXkpIHtcbiAgICAgICAgY2xlYW5lZEtleSA9IGdldFNhZmVSb3V0ZUtleSgpO1xuICAgIH1cbiAgICBpZiAoa2V5UHJlZml4KSB7XG4gICAgICAgIHJvdXRlS2V5c1tjbGVhbmVkS2V5XSA9IFwiXCIgKyBrZXlQcmVmaXggKyBrZXk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcm91dGVLZXlzW2NsZWFuZWRLZXldID0ga2V5O1xuICAgIH1cbiAgICAvLyBpZiB0aGUgc2VnbWVudCBoYXMgYW4gaW50ZXJjZXB0aW9uIG1hcmtlciwgbWFrZSBzdXJlIHRoYXQncyBwYXJ0IG9mIHRoZSByZWdleCBwYXR0ZXJuXG4gICAgLy8gdGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aGUgcm91dGUgd2l0aCB0aGUgaW50ZXJjZXB0aW9uIG1hcmtlciBkb2Vzbid0IGluY29ycmVjdGx5IG1hdGNoXG4gICAgLy8gdGhlIG5vbi1pbnRlcmNlcHRlZCByb3V0ZSAoaWUgL2FwcC8oLilbdXNlcm5hbWVdIHNob3VsZCBub3QgbWF0Y2ggL2FwcC9bdXNlcm5hbWVdKVxuICAgIGNvbnN0IGludGVyY2VwdGlvblByZWZpeCA9IGludGVyY2VwdGlvbk1hcmtlciA/ICgwLCBfZXNjYXBlcmVnZXhwLmVzY2FwZVN0cmluZ1JlZ2V4cCkoaW50ZXJjZXB0aW9uTWFya2VyKSA6IFwiXCI7XG4gICAgcmV0dXJuIHJlcGVhdCA/IG9wdGlvbmFsID8gXCIoPzovXCIgKyBpbnRlcmNlcHRpb25QcmVmaXggKyBcIig/PFwiICsgY2xlYW5lZEtleSArIFwiPi4rPykpP1wiIDogXCIvXCIgKyBpbnRlcmNlcHRpb25QcmVmaXggKyBcIig/PFwiICsgY2xlYW5lZEtleSArIFwiPi4rPylcIiA6IFwiL1wiICsgaW50ZXJjZXB0aW9uUHJlZml4ICsgXCIoPzxcIiArIGNsZWFuZWRLZXkgKyBcIj5bXi9dKz8pXCI7XG59XG5mdW5jdGlvbiBnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlKHJvdXRlLCBwcmVmaXhSb3V0ZUtleXMpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShyb3V0ZSkuc2xpY2UoMSkuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGdldFNhZmVSb3V0ZUtleSA9IGJ1aWxkR2V0U2FmZVJvdXRlS2V5KCk7XG4gICAgY29uc3Qgcm91dGVLZXlzID0ge307XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZWRQYXJhbWV0ZXJpemVkUm91dGU6IHNlZ21lbnRzLm1hcCgoc2VnbWVudCk9PntcbiAgICAgICAgICAgIGNvbnN0IGhhc0ludGVyY2VwdGlvbk1hcmtlciA9IF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZSgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgICAgICBjb25zdCBwYXJhbU1hdGNoZXMgPSBzZWdtZW50Lm1hdGNoKC9cXFsoKD86XFxbLipcXF0pfC4rKVxcXS8pIC8vIENoZWNrIGZvciBwYXJhbWV0ZXJzXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBpZiAoaGFzSW50ZXJjZXB0aW9uTWFya2VyICYmIHBhcmFtTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IFt1c2VkTWFya2VyXSA9IHNlZ21lbnQuc3BsaXQocGFyYW1NYXRjaGVzWzBdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U2FmZUtleUZyb21TZWdtZW50KHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2FmZVJvdXRlS2V5LFxuICAgICAgICAgICAgICAgICAgICBpbnRlcmNlcHRpb25NYXJrZXI6IHVzZWRNYXJrZXIsXG4gICAgICAgICAgICAgICAgICAgIHNlZ21lbnQ6IHBhcmFtTWF0Y2hlc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgcm91dGVLZXlzLFxuICAgICAgICAgICAgICAgICAgICBrZXlQcmVmaXg6IHByZWZpeFJvdXRlS2V5cyA/IE5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVggOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW1NYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFNhZmVLZXlGcm9tU2VnbWVudCh7XG4gICAgICAgICAgICAgICAgICAgIGdldFNhZmVSb3V0ZUtleSxcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudDogcGFyYW1NYXRjaGVzWzFdLFxuICAgICAgICAgICAgICAgICAgICByb3V0ZUtleXMsXG4gICAgICAgICAgICAgICAgICAgIGtleVByZWZpeDogcHJlZml4Um91dGVLZXlzID8gTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiL1wiICsgKDAsIF9lc2NhcGVyZWdleHAuZXNjYXBlU3RyaW5nUmVnZXhwKShzZWdtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuam9pbihcIlwiKSxcbiAgICAgICAgcm91dGVLZXlzXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldE5hbWVkUm91dGVSZWdleChub3JtYWxpemVkUm91dGUsIHByZWZpeFJvdXRlS2V5KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUsIHByZWZpeFJvdXRlS2V5KTtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5nZXRSb3V0ZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSksXG4gICAgICAgIG5hbWVkUmVnZXg6IFwiXlwiICsgcmVzdWx0Lm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlICsgXCIoPzovKT8kXCIsXG4gICAgICAgIHJvdXRlS2V5czogcmVzdWx0LnJvdXRlS2V5c1xuICAgIH07XG59XG5mdW5jdGlvbiBnZXROYW1lZE1pZGRsZXdhcmVSZWdleChub3JtYWxpemVkUm91dGUsIG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHBhcmFtZXRlcml6ZWRSb3V0ZSB9ID0gZ2V0UGFyYW1ldHJpemVkUm91dGUobm9ybWFsaXplZFJvdXRlKTtcbiAgICBjb25zdCB7IGNhdGNoQWxsID0gdHJ1ZSB9ID0gb3B0aW9ucztcbiAgICBpZiAocGFyYW1ldGVyaXplZFJvdXRlID09PSBcIi9cIikge1xuICAgICAgICBsZXQgY2F0Y2hBbGxSZWdleCA9IGNhdGNoQWxsID8gXCIuKlwiIDogXCJcIjtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWVkUmVnZXg6IFwiXi9cIiArIGNhdGNoQWxsUmVnZXggKyBcIiRcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB7IG5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIH0gPSBnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlKG5vcm1hbGl6ZWRSb3V0ZSwgZmFsc2UpO1xuICAgIGxldCBjYXRjaEFsbEdyb3VwZWRSZWdleCA9IGNhdGNoQWxsID8gXCIoPzooLy4qKT8pXCIgOiBcIlwiO1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWVkUmVnZXg6IFwiXlwiICsgbmFtZWRQYXJhbWV0ZXJpemVkUm91dGUgKyBjYXRjaEFsbEdyb3VwZWRSZWdleCArIFwiJFwiXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUtcmVnZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0Um91dGVSZWdleCIsImdldE5hbWVkUm91dGVSZWdleCIsImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyY2VwdGlvbnJvdXRlcyIsInJlcXVpcmUiLCJfZXNjYXBlcmVnZXhwIiwiX3JlbW92ZXRyYWlsaW5nc2xhc2giLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsIk5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVgiLCJwYXJzZVBhcmFtZXRlciIsInBhcmFtIiwib3B0aW9uYWwiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzbGljZSIsInJlcGVhdCIsImtleSIsImdldFBhcmFtZXRyaXplZFJvdXRlIiwicm91dGUiLCJzZWdtZW50cyIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJzcGxpdCIsImdyb3VwcyIsImdyb3VwSW5kZXgiLCJwYXJhbWV0ZXJpemVkUm91dGUiLCJtYXAiLCJzZWdtZW50IiwibWFya2VyTWF0Y2giLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImZpbmQiLCJtIiwicGFyYW1NYXRjaGVzIiwibWF0Y2giLCJwb3MiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJqb2luIiwibm9ybWFsaXplZFJvdXRlIiwicmUiLCJSZWdFeHAiLCJidWlsZEdldFNhZmVSb3V0ZUtleSIsImkiLCJyb3V0ZUtleSIsImoiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJNYXRoIiwiZmxvb3IiLCJnZXRTYWZlS2V5RnJvbVNlZ21lbnQiLCJpbnRlcmNlcHRpb25NYXJrZXIiLCJnZXRTYWZlUm91dGVLZXkiLCJyb3V0ZUtleXMiLCJrZXlQcmVmaXgiLCJjbGVhbmVkS2V5IiwicmVwbGFjZSIsImludmFsaWRLZXkiLCJsZW5ndGgiLCJpc05hTiIsInBhcnNlSW50IiwiaW50ZXJjZXB0aW9uUHJlZml4IiwiZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZSIsInByZWZpeFJvdXRlS2V5cyIsIm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIiwiaGFzSW50ZXJjZXB0aW9uTWFya2VyIiwic29tZSIsInVzZWRNYXJrZXIiLCJ1bmRlZmluZWQiLCJwcmVmaXhSb3V0ZUtleSIsInJlc3VsdCIsIm5hbWVkUmVnZXgiLCJvcHRpb25zIiwiY2F0Y2hBbGwiLCJjYXRjaEFsbFJlZ2V4IiwiY2F0Y2hBbGxHcm91cGVkUmVnZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getSortedRoutes\", ({\n enumerable: true,\n get: function() {\n return getSortedRoutes;\n }\n}));\nclass UrlNode {\n insert(urlPath) {\n this._insert(urlPath.split(\"/\").filter(Boolean), [], false);\n }\n smoosh() {\n return this._smoosh();\n }\n _smoosh(prefix) {\n if (prefix === void 0) prefix = \"/\";\n const childrenPaths = [\n ...this.children.keys()\n ].sort();\n if (this.slugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[]\"), 1);\n }\n if (this.restSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[...]\"), 1);\n }\n if (this.optionalRestSlugName !== null) {\n childrenPaths.splice(childrenPaths.indexOf(\"[[...]]\"), 1);\n }\n const routes = childrenPaths.map((c)=>this.children.get(c)._smoosh(\"\" + prefix + c + \"/\")).reduce((prev, curr)=>[\n ...prev,\n ...curr\n ], []);\n if (this.slugName !== null) {\n routes.push(...this.children.get(\"[]\")._smoosh(prefix + \"[\" + this.slugName + \"]/\"));\n }\n if (!this.placeholder) {\n const r = prefix === \"/\" ? \"/\" : prefix.slice(0, -1);\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot define a route with the same specificity as a optional catch-all route (\"' + r + '\" and \"' + r + \"[[...\" + this.optionalRestSlugName + ']]\").');\n }\n routes.unshift(r);\n }\n if (this.restSlugName !== null) {\n routes.push(...this.children.get(\"[...]\")._smoosh(prefix + \"[...\" + this.restSlugName + \"]/\"));\n }\n if (this.optionalRestSlugName !== null) {\n routes.push(...this.children.get(\"[[...]]\")._smoosh(prefix + \"[[...\" + this.optionalRestSlugName + \"]]/\"));\n }\n return routes;\n }\n _insert(urlPaths, slugNames, isCatchAll) {\n if (urlPaths.length === 0) {\n this.placeholder = false;\n return;\n }\n if (isCatchAll) {\n throw new Error(\"Catch-all must be the last part of the URL.\");\n }\n // The next segment in the urlPaths list\n let nextSegment = urlPaths[0];\n // Check if the segment matches `[something]`\n if (nextSegment.startsWith(\"[\") && nextSegment.endsWith(\"]\")) {\n // Strip `[` and `]`, leaving only `something`\n let segmentName = nextSegment.slice(1, -1);\n let isOptional = false;\n if (segmentName.startsWith(\"[\") && segmentName.endsWith(\"]\")) {\n // Strip optional `[` and `]`, leaving only `something`\n segmentName = segmentName.slice(1, -1);\n isOptional = true;\n }\n if (segmentName.startsWith(\"...\")) {\n // Strip `...`, leaving only `something`\n segmentName = segmentName.substring(3);\n isCatchAll = true;\n }\n if (segmentName.startsWith(\"[\") || segmentName.endsWith(\"]\")) {\n throw new Error(\"Segment names may not start or end with extra brackets ('\" + segmentName + \"').\");\n }\n if (segmentName.startsWith(\".\")) {\n throw new Error(\"Segment names may not start with erroneous periods ('\" + segmentName + \"').\");\n }\n function handleSlug(previousSlug, nextSlug) {\n if (previousSlug !== null) {\n // If the specific segment already has a slug but the slug is not `something`\n // This prevents collisions like:\n // pages/[post]/index.js\n // pages/[id]/index.js\n // Because currently multiple dynamic params on the same segment level are not supported\n if (previousSlug !== nextSlug) {\n // TODO: This error seems to be confusing for users, needs an error link, the description can be based on above comment.\n throw new Error(\"You cannot use different slug names for the same dynamic path ('\" + previousSlug + \"' !== '\" + nextSlug + \"').\");\n }\n }\n slugNames.forEach((slug)=>{\n if (slug === nextSlug) {\n throw new Error('You cannot have the same slug name \"' + nextSlug + '\" repeat within a single dynamic path');\n }\n if (slug.replace(/\\W/g, \"\") === nextSegment.replace(/\\W/g, \"\")) {\n throw new Error('You cannot have the slug names \"' + slug + '\" and \"' + nextSlug + '\" differ only by non-word symbols within a single dynamic path');\n }\n });\n slugNames.push(nextSlug);\n }\n if (isCatchAll) {\n if (isOptional) {\n if (this.restSlugName != null) {\n throw new Error('You cannot use both an required and optional catch-all route at the same level (\"[...' + this.restSlugName + ']\" and \"' + urlPaths[0] + '\" ).');\n }\n handleSlug(this.optionalRestSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.optionalRestSlugName = segmentName;\n // nextSegment is overwritten to [[...]] so that it can later be sorted specifically\n nextSegment = \"[[...]]\";\n } else {\n if (this.optionalRestSlugName != null) {\n throw new Error('You cannot use both an optional and required catch-all route at the same level (\"[[...' + this.optionalRestSlugName + ']]\" and \"' + urlPaths[0] + '\").');\n }\n handleSlug(this.restSlugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.restSlugName = segmentName;\n // nextSegment is overwritten to [...] so that it can later be sorted specifically\n nextSegment = \"[...]\";\n }\n } else {\n if (isOptional) {\n throw new Error('Optional route parameters are not yet supported (\"' + urlPaths[0] + '\").');\n }\n handleSlug(this.slugName, segmentName);\n // slugName is kept as it can only be one particular slugName\n this.slugName = segmentName;\n // nextSegment is overwritten to [] so that it can later be sorted specifically\n nextSegment = \"[]\";\n }\n }\n // If this UrlNode doesn't have the nextSegment yet we create a new child UrlNode\n if (!this.children.has(nextSegment)) {\n this.children.set(nextSegment, new UrlNode());\n }\n this.children.get(nextSegment)._insert(urlPaths.slice(1), slugNames, isCatchAll);\n }\n constructor(){\n this.placeholder = true;\n this.children = new Map();\n this.slugName = null;\n this.restSlugName = null;\n this.optionalRestSlugName = null;\n }\n}\nfunction getSortedRoutes(normalizedPages) {\n // First the UrlNode is created, and every UrlNode can have only 1 dynamic segment\n // Eg you can't have pages/[post]/abc.js and pages/[hello]/something-else.js\n // Only 1 dynamic segment per nesting level\n // So in the case that is test/integration/dynamic-routing it'll be this:\n // pages/[post]/comments.js\n // pages/blog/[post]/comment/[id].js\n // Both are fine because `pages/[post]` and `pages/blog` are on the same level\n // So in this case `UrlNode` created here has `this.slugName === 'post'`\n // And since your PR passed through `slugName` as an array basically it'd including it in too many possibilities\n // Instead what has to be passed through is the upwards path's dynamic names\n const root = new UrlNode();\n // Here the `root` gets injected multiple paths, and insert will break them up into sublevels\n normalizedPages.forEach((pagePath)=>root.insert(pagePath));\n // Smoosh will then sort those sublevels up to the point where you get the correct route definition priority\n return root.smoosh();\n} //# sourceMappingURL=sorted-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3NvcnRlZC1yb3V0ZXMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DO0lBQ0ZDLE9BQU9DLE9BQU8sRUFBRTtRQUNaLElBQUksQ0FBQ0MsT0FBTyxDQUFDRCxRQUFRRSxLQUFLLENBQUMsS0FBS0MsTUFBTSxDQUFDQyxVQUFVLEVBQUUsRUFBRTtJQUN6RDtJQUNBQyxTQUFTO1FBQ0wsT0FBTyxJQUFJLENBQUNDLE9BQU87SUFDdkI7SUFDQUEsUUFBUUMsTUFBTSxFQUFFO1FBQ1osSUFBSUEsV0FBVyxLQUFLLEdBQUdBLFNBQVM7UUFDaEMsTUFBTUMsZ0JBQWdCO2VBQ2YsSUFBSSxDQUFDQyxRQUFRLENBQUNDLElBQUk7U0FDeEIsQ0FBQ0MsSUFBSTtRQUNOLElBQUksSUFBSSxDQUFDQyxRQUFRLEtBQUssTUFBTTtZQUN4QkosY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsT0FBTztRQUN0RDtRQUNBLElBQUksSUFBSSxDQUFDQyxZQUFZLEtBQUssTUFBTTtZQUM1QlAsY0FBY0ssTUFBTSxDQUFDTCxjQUFjTSxPQUFPLENBQUMsVUFBVTtRQUN6RDtRQUNBLElBQUksSUFBSSxDQUFDRSxvQkFBb0IsS0FBSyxNQUFNO1lBQ3BDUixjQUFjSyxNQUFNLENBQUNMLGNBQWNNLE9BQU8sQ0FBQyxZQUFZO1FBQzNEO1FBQ0EsTUFBTUcsU0FBU1QsY0FBY1UsR0FBRyxDQUFDLENBQUNDLElBQUksSUFBSSxDQUFDVixRQUFRLENBQUNiLEdBQUcsQ0FBQ3VCLEdBQUdiLE9BQU8sQ0FBQyxLQUFLQyxTQUFTWSxJQUFJLE1BQU1DLE1BQU0sQ0FBQyxDQUFDQyxNQUFNQyxP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QUksQ0FBQyxJQUFJLENBQUN4QixRQUFRLENBQUNvQyxHQUFHLENBQUNaLGNBQWM7WUFDakMsSUFBSSxDQUFDeEIsUUFBUSxDQUFDcUMsR0FBRyxDQUFDYixhQUFhLElBQUluQztRQUN2QztRQUNBLElBQUksQ0FBQ1csUUFBUSxDQUFDYixHQUFHLENBQUNxQyxhQUFhaEMsT0FBTyxDQUFDNEIsU0FBU0gsS0FBSyxDQUFDLElBQUlJLFdBQVdDO0lBQ3pFO0lBQ0FnQixhQUFhO1FBQ1QsSUFBSSxDQUFDdkIsV0FBVyxHQUFHO1FBQ25CLElBQUksQ0FBQ2YsUUFBUSxHQUFHLElBQUl1QztRQUNwQixJQUFJLENBQUNwQyxRQUFRLEdBQUc7UUFDaEIsSUFBSSxDQUFDRyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxDQUFDQyxvQkFBb0IsR0FBRztJQUNoQztBQUNKO0FBQ0EsU0FBU25CLGdCQUFnQm9ELGVBQWU7SUFDcEMsa0ZBQWtGO0lBQ2xGLDRFQUE0RTtJQUM1RSwyQ0FBMkM7SUFDM0MseUVBQXlFO0lBQ3pFLDJCQUEyQjtJQUMzQixvQ0FBb0M7SUFDcEMsOEVBQThFO0lBQzlFLHdFQUF3RTtJQUN4RSxnSEFBZ0g7SUFDaEgsNEVBQTRFO0lBQzVFLE1BQU1DLE9BQU8sSUFBSXBEO0lBQ2pCLDZGQUE2RjtJQUM3Rm1ELGdCQUFnQlAsT0FBTyxDQUFDLENBQUNTLFdBQVdELEtBQUtuRCxNQUFNLENBQUNvRDtJQUNoRCw0R0FBNEc7SUFDNUcsT0FBT0QsS0FBSzdDLE1BQU07QUFDdEIsRUFFQSx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9zb3J0ZWQtcm91dGVzLmpzPzJmNzgiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJnZXRTb3J0ZWRSb3V0ZXNcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNvcnRlZFJvdXRlcztcbiAgICB9XG59KTtcbmNsYXNzIFVybE5vZGUge1xuICAgIGluc2VydCh1cmxQYXRoKSB7XG4gICAgICAgIHRoaXMuX2luc2VydCh1cmxQYXRoLnNwbGl0KFwiL1wiKS5maWx0ZXIoQm9vbGVhbiksIFtdLCBmYWxzZSk7XG4gICAgfVxuICAgIHNtb29zaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Ntb29zaCgpO1xuICAgIH1cbiAgICBfc21vb3NoKHByZWZpeCkge1xuICAgICAgICBpZiAocHJlZml4ID09PSB2b2lkIDApIHByZWZpeCA9IFwiL1wiO1xuICAgICAgICBjb25zdCBjaGlsZHJlblBhdGhzID0gW1xuICAgICAgICAgICAgLi4udGhpcy5jaGlsZHJlbi5rZXlzKClcbiAgICAgICAgXS5zb3J0KCk7XG4gICAgICAgIGlmICh0aGlzLnNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICBjaGlsZHJlblBhdGhzLnNwbGljZShjaGlsZHJlblBhdGhzLmluZGV4T2YoXCJbLi4uXVwiKSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGNoaWxkcmVuUGF0aHMuc3BsaWNlKGNoaWxkcmVuUGF0aHMuaW5kZXhPZihcIltbLi4uXV1cIiksIDEpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJvdXRlcyA9IGNoaWxkcmVuUGF0aHMubWFwKChjKT0+dGhpcy5jaGlsZHJlbi5nZXQoYykuX3Ntb29zaChcIlwiICsgcHJlZml4ICsgYyArIFwiL1wiKSkucmVkdWNlKChwcmV2LCBjdXJyKT0+W1xuICAgICAgICAgICAgICAgIC4uLnByZXYsXG4gICAgICAgICAgICAgICAgLi4uY3VyclxuICAgICAgICAgICAgXSwgW10pO1xuICAgICAgICBpZiAodGhpcy5zbHVnTmFtZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgcm91dGVzLnB1c2goLi4udGhpcy5jaGlsZHJlbi5nZXQoXCJbXVwiKS5fc21vb3NoKHByZWZpeCArIFwiW1wiICsgdGhpcy5zbHVnTmFtZSArIFwiXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5wbGFjZWhvbGRlcikge1xuICAgICAgICAgICAgY29uc3QgciA9IHByZWZpeCA9PT0gXCIvXCIgPyBcIi9cIiA6IHByZWZpeC5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgICBpZiAodGhpcy5vcHRpb25hbFJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGRlZmluZSBhIHJvdXRlIHdpdGggdGhlIHNhbWUgc3BlY2lmaWNpdHkgYXMgYSBvcHRpb25hbCBjYXRjaC1hbGwgcm91dGUgKFwiJyArIHIgKyAnXCIgYW5kIFwiJyArIHIgKyBcIltbLi4uXCIgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgJ11dXCIpLicpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm91dGVzLnVuc2hpZnQocik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIlsuLi5dXCIpLl9zbW9vc2gocHJlZml4ICsgXCJbLi4uXCIgKyB0aGlzLnJlc3RTbHVnTmFtZSArIFwiXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9PSBudWxsKSB7XG4gICAgICAgICAgICByb3V0ZXMucHVzaCguLi50aGlzLmNoaWxkcmVuLmdldChcIltbLi4uXV1cIikuX3Ntb29zaChwcmVmaXggKyBcIltbLi4uXCIgKyB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICsgXCJdXS9cIikpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3V0ZXM7XG4gICAgfVxuICAgIF9pbnNlcnQodXJsUGF0aHMsIHNsdWdOYW1lcywgaXNDYXRjaEFsbCkge1xuICAgICAgICBpZiAodXJsUGF0aHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnBsYWNlaG9sZGVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzQ2F0Y2hBbGwpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhdGNoLWFsbCBtdXN0IGJlIHRoZSBsYXN0IHBhcnQgb2YgdGhlIFVSTC5cIik7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVGhlIG5leHQgc2VnbWVudCBpbiB0aGUgdXJsUGF0aHMgbGlzdFxuICAgICAgICBsZXQgbmV4dFNlZ21lbnQgPSB1cmxQYXRoc1swXTtcbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIHNlZ21lbnQgbWF0Y2hlcyBgW3NvbWV0aGluZ11gXG4gICAgICAgIGlmIChuZXh0U2VnbWVudC5zdGFydHNXaXRoKFwiW1wiKSAmJiBuZXh0U2VnbWVudC5lbmRzV2l0aChcIl1cIikpIHtcbiAgICAgICAgICAgIC8vIFN0cmlwIGBbYCBhbmQgYF1gLCBsZWF2aW5nIG9ubHkgYHNvbWV0aGluZ2BcbiAgICAgICAgICAgIGxldCBzZWdtZW50TmFtZSA9IG5leHRTZWdtZW50LnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgIGxldCBpc09wdGlvbmFsID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIltcIikgJiYgc2VnbWVudE5hbWUuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAgICAgLy8gU3RyaXAgb3B0aW9uYWwgYFtgIGFuZCBgXWAsIGxlYXZpbmcgb25seSBgc29tZXRoaW5nYFxuICAgICAgICAgICAgICAgIHNlZ21lbnROYW1lID0gc2VnbWVudE5hbWUuc2xpY2UoMSwgLTEpO1xuICAgICAgICAgICAgICAgIGlzT3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCIuLi5cIikpIHtcbiAgICAgICAgICAgICAgICAvLyBTdHJpcCBgLi4uYCwgbGVhdmluZyBvbmx5IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgc2VnbWVudE5hbWUgPSBzZWdtZW50TmFtZS5zdWJzdHJpbmcoMyk7XG4gICAgICAgICAgICAgICAgaXNDYXRjaEFsbCA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VnbWVudE5hbWUuc3RhcnRzV2l0aChcIltcIikgfHwgc2VnbWVudE5hbWUuZW5kc1dpdGgoXCJdXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IG9yIGVuZCB3aXRoIGV4dHJhIGJyYWNrZXRzICgnXCIgKyBzZWdtZW50TmFtZSArIFwiJykuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNlZ21lbnROYW1lLnN0YXJ0c1dpdGgoXCIuXCIpKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiU2VnbWVudCBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggZXJyb25lb3VzIHBlcmlvZHMgKCdcIiArIHNlZ21lbnROYW1lICsgXCInKS5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmdW5jdGlvbiBoYW5kbGVTbHVnKHByZXZpb3VzU2x1ZywgbmV4dFNsdWcpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldmlvdXNTbHVnICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBzcGVjaWZpYyBzZWdtZW50IGFscmVhZHkgaGFzIGEgc2x1ZyBidXQgdGhlIHNsdWcgaXMgbm90IGBzb21ldGhpbmdgXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoaXMgcHJldmVudHMgY29sbGlzaW9ucyBsaWtlOlxuICAgICAgICAgICAgICAgICAgICAvLyBwYWdlcy9bcG9zdF0vaW5kZXguanNcbiAgICAgICAgICAgICAgICAgICAgLy8gcGFnZXMvW2lkXS9pbmRleC5qc1xuICAgICAgICAgICAgICAgICAgICAvLyBCZWNhdXNlIGN1cnJlbnRseSBtdWx0aXBsZSBkeW5hbWljIHBhcmFtcyBvbiB0aGUgc2FtZSBzZWdtZW50IGxldmVsIGFyZSBub3Qgc3VwcG9ydGVkXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2aW91c1NsdWcgIT09IG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBUT0RPOiBUaGlzIGVycm9yIHNlZW1zIHRvIGJlIGNvbmZ1c2luZyBmb3IgdXNlcnMsIG5lZWRzIGFuIGVycm9yIGxpbmssIHRoZSBkZXNjcmlwdGlvbiBjYW4gYmUgYmFzZWQgb24gYWJvdmUgY29tbWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIllvdSBjYW5ub3QgdXNlIGRpZmZlcmVudCBzbHVnIG5hbWVzIGZvciB0aGUgc2FtZSBkeW5hbWljIHBhdGggKCdcIiArIHByZXZpb3VzU2x1ZyArIFwiJyAhPT0gJ1wiICsgbmV4dFNsdWcgKyBcIicpLlwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzbHVnTmFtZXMuZm9yRWFjaCgoc2x1Zyk9PntcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNsdWcgPT09IG5leHRTbHVnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgaGF2ZSB0aGUgc2FtZSBzbHVnIG5hbWUgXCInICsgbmV4dFNsdWcgKyAnXCIgcmVwZWF0IHdpdGhpbiBhIHNpbmdsZSBkeW5hbWljIHBhdGgnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAoc2x1Zy5yZXBsYWNlKC9cXFcvZywgXCJcIikgPT09IG5leHRTZWdtZW50LnJlcGxhY2UoL1xcVy9nLCBcIlwiKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdZb3UgY2Fubm90IGhhdmUgdGhlIHNsdWcgbmFtZXMgXCInICsgc2x1ZyArICdcIiBhbmQgXCInICsgbmV4dFNsdWcgKyAnXCIgZGlmZmVyIG9ubHkgYnkgbm9uLXdvcmQgc3ltYm9scyB3aXRoaW4gYSBzaW5nbGUgZHluYW1pYyBwYXRoJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBzbHVnTmFtZXMucHVzaChuZXh0U2x1Zyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xuICAgICAgICAgICAgICAgIGlmIChpc09wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnJlc3RTbHVnTmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW5ub3QgdXNlIGJvdGggYW4gcmVxdWlyZWQgYW5kIG9wdGlvbmFsIGNhdGNoLWFsbCByb3V0ZSBhdCB0aGUgc2FtZSBsZXZlbCAoXCJbLi4uJyArIHRoaXMucmVzdFNsdWdOYW1lICsgJ11cIiBhbmQgXCInICsgdXJsUGF0aHNbMF0gKyAnXCIgKS4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lID0gc2VnbWVudE5hbWU7XG4gICAgICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFtbLi4uXV0gc28gdGhhdCBpdCBjYW4gbGF0ZXIgYmUgc29ydGVkIHNwZWNpZmljYWxseVxuICAgICAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiW1suLi5dXVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm9wdGlvbmFsUmVzdFNsdWdOYW1lICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignWW91IGNhbm5vdCB1c2UgYm90aCBhbiBvcHRpb25hbCBhbmQgcmVxdWlyZWQgY2F0Y2gtYWxsIHJvdXRlIGF0IHRoZSBzYW1lIGxldmVsIChcIltbLi4uJyArIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgKyAnXV1cIiBhbmQgXCInICsgdXJsUGF0aHNbMF0gKyAnXCIpLicpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZVNsdWcodGhpcy5yZXN0U2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgLy8gc2x1Z05hbWUgaXMga2VwdCBhcyBpdCBjYW4gb25seSBiZSBvbmUgcGFydGljdWxhciBzbHVnTmFtZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJlc3RTbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgICAgICAvLyBuZXh0U2VnbWVudCBpcyBvdmVyd3JpdHRlbiB0byBbLi4uXSBzbyB0aGF0IGl0IGNhbiBsYXRlciBiZSBzb3J0ZWQgc3BlY2lmaWNhbGx5XG4gICAgICAgICAgICAgICAgICAgIG5leHRTZWdtZW50ID0gXCJbLi4uXVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaWYgKGlzT3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPcHRpb25hbCByb3V0ZSBwYXJhbWV0ZXJzIGFyZSBub3QgeWV0IHN1cHBvcnRlZCAoXCInICsgdXJsUGF0aHNbMF0gKyAnXCIpLicpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoYW5kbGVTbHVnKHRoaXMuc2x1Z05hbWUsIHNlZ21lbnROYW1lKTtcbiAgICAgICAgICAgICAgICAvLyBzbHVnTmFtZSBpcyBrZXB0IGFzIGl0IGNhbiBvbmx5IGJlIG9uZSBwYXJ0aWN1bGFyIHNsdWdOYW1lXG4gICAgICAgICAgICAgICAgdGhpcy5zbHVnTmFtZSA9IHNlZ21lbnROYW1lO1xuICAgICAgICAgICAgICAgIC8vIG5leHRTZWdtZW50IGlzIG92ZXJ3cml0dGVuIHRvIFtdIHNvIHRoYXQgaXQgY2FuIGxhdGVyIGJlIHNvcnRlZCBzcGVjaWZpY2FsbHlcbiAgICAgICAgICAgICAgICBuZXh0U2VnbWVudCA9IFwiW11cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBJZiB0aGlzIFVybE5vZGUgZG9lc24ndCBoYXZlIHRoZSBuZXh0U2VnbWVudCB5ZXQgd2UgY3JlYXRlIGEgbmV3IGNoaWxkIFVybE5vZGVcbiAgICAgICAgaWYgKCF0aGlzLmNoaWxkcmVuLmhhcyhuZXh0U2VnbWVudCkpIHtcbiAgICAgICAgICAgIHRoaXMuY2hpbGRyZW4uc2V0KG5leHRTZWdtZW50LCBuZXcgVXJsTm9kZSgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoaWxkcmVuLmdldChuZXh0U2VnbWVudCkuX2luc2VydCh1cmxQYXRocy5zbGljZSgxKSwgc2x1Z05hbWVzLCBpc0NhdGNoQWxsKTtcbiAgICB9XG4gICAgY29uc3RydWN0b3IoKXtcbiAgICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IHRydWU7XG4gICAgICAgIHRoaXMuY2hpbGRyZW4gPSBuZXcgTWFwKCk7XG4gICAgICAgIHRoaXMuc2x1Z05hbWUgPSBudWxsO1xuICAgICAgICB0aGlzLnJlc3RTbHVnTmFtZSA9IG51bGw7XG4gICAgICAgIHRoaXMub3B0aW9uYWxSZXN0U2x1Z05hbWUgPSBudWxsO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFNvcnRlZFJvdXRlcyhub3JtYWxpemVkUGFnZXMpIHtcbiAgICAvLyBGaXJzdCB0aGUgVXJsTm9kZSBpcyBjcmVhdGVkLCBhbmQgZXZlcnkgVXJsTm9kZSBjYW4gaGF2ZSBvbmx5IDEgZHluYW1pYyBzZWdtZW50XG4gICAgLy8gRWcgeW91IGNhbid0IGhhdmUgcGFnZXMvW3Bvc3RdL2FiYy5qcyBhbmQgcGFnZXMvW2hlbGxvXS9zb21ldGhpbmctZWxzZS5qc1xuICAgIC8vIE9ubHkgMSBkeW5hbWljIHNlZ21lbnQgcGVyIG5lc3RpbmcgbGV2ZWxcbiAgICAvLyBTbyBpbiB0aGUgY2FzZSB0aGF0IGlzIHRlc3QvaW50ZWdyYXRpb24vZHluYW1pYy1yb3V0aW5nIGl0J2xsIGJlIHRoaXM6XG4gICAgLy8gcGFnZXMvW3Bvc3RdL2NvbW1lbnRzLmpzXG4gICAgLy8gcGFnZXMvYmxvZy9bcG9zdF0vY29tbWVudC9baWRdLmpzXG4gICAgLy8gQm90aCBhcmUgZmluZSBiZWNhdXNlIGBwYWdlcy9bcG9zdF1gIGFuZCBgcGFnZXMvYmxvZ2AgYXJlIG9uIHRoZSBzYW1lIGxldmVsXG4gICAgLy8gU28gaW4gdGhpcyBjYXNlIGBVcmxOb2RlYCBjcmVhdGVkIGhlcmUgaGFzIGB0aGlzLnNsdWdOYW1lID09PSAncG9zdCdgXG4gICAgLy8gQW5kIHNpbmNlIHlvdXIgUFIgcGFzc2VkIHRocm91Z2ggYHNsdWdOYW1lYCBhcyBhbiBhcnJheSBiYXNpY2FsbHkgaXQnZCBpbmNsdWRpbmcgaXQgaW4gdG9vIG1hbnkgcG9zc2liaWxpdGllc1xuICAgIC8vIEluc3RlYWQgd2hhdCBoYXMgdG8gYmUgcGFzc2VkIHRocm91Z2ggaXMgdGhlIHVwd2FyZHMgcGF0aCdzIGR5bmFtaWMgbmFtZXNcbiAgICBjb25zdCByb290ID0gbmV3IFVybE5vZGUoKTtcbiAgICAvLyBIZXJlIHRoZSBgcm9vdGAgZ2V0cyBpbmplY3RlZCBtdWx0aXBsZSBwYXRocywgYW5kIGluc2VydCB3aWxsIGJyZWFrIHRoZW0gdXAgaW50byBzdWJsZXZlbHNcbiAgICBub3JtYWxpemVkUGFnZXMuZm9yRWFjaCgocGFnZVBhdGgpPT5yb290Lmluc2VydChwYWdlUGF0aCkpO1xuICAgIC8vIFNtb29zaCB3aWxsIHRoZW4gc29ydCB0aG9zZSBzdWJsZXZlbHMgdXAgdG8gdGhlIHBvaW50IHdoZXJlIHlvdSBnZXQgdGhlIGNvcnJlY3Qgcm91dGUgZGVmaW5pdGlvbiBwcmlvcml0eVxuICAgIHJldHVybiByb290LnNtb29zaCgpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zb3J0ZWQtcm91dGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJnZXRTb3J0ZWRSb3V0ZXMiLCJVcmxOb2RlIiwiaW5zZXJ0IiwidXJsUGF0aCIsIl9pbnNlcnQiLCJzcGxpdCIsImZpbHRlciIsIkJvb2xlYW4iLCJzbW9vc2giLCJfc21vb3NoIiwicHJlZml4IiwiY2hpbGRyZW5QYXRocyIsImNoaWxkcmVuIiwia2V5cyIsInNvcnQiLCJzbHVnTmFtZSIsInNwbGljZSIsImluZGV4T2YiLCJyZXN0U2x1Z05hbWUiLCJvcHRpb25hbFJlc3RTbHVnTmFtZSIsInJvdXRlcyIsIm1hcCIsImMiLCJyZWR1Y2UiLCJwcmV2IiwiY3VyciIsInB1c2giLCJwbGFjZWhvbGRlciIsInIiLCJzbGljZSIsIkVycm9yIiwidW5zaGlmdCIsInVybFBhdGhzIiwic2x1Z05hbWVzIiwiaXNDYXRjaEFsbCIsImxlbmd0aCIsIm5leHRTZWdtZW50Iiwic3RhcnRzV2l0aCIsImVuZHNXaXRoIiwic2VnbWVudE5hbWUiLCJpc09wdGlvbmFsIiwic3Vic3RyaW5nIiwiaGFuZGxlU2x1ZyIsInByZXZpb3VzU2x1ZyIsIm5leHRTbHVnIiwiZm9yRWFjaCIsInNsdWciLCJyZXBsYWNlIiwiaGFzIiwic2V0IiwiY29uc3RydWN0b3IiLCJNYXAiLCJub3JtYWxpemVkUGFnZXMiLCJyb290IiwicGFnZVBhdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/router/utils/sorted-routes.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRixlQUFlUyxPQUFPO0lBQzNCLHNDQUFzQztJQUN0QyxPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU9BLFFBQVFDLFFBQVEsQ0FBQztBQUNsRDtBQUNBLE1BQU1ULG1CQUFtQjtBQUN6QixNQUFNQyxzQkFBc0IsZUFFNUIsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zZWdtZW50LmpzP2ZmNzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc0dyb3VwU2VnbWVudDogbnVsbCxcbiAgICBQQUdFX1NFR01FTlRfS0VZOiBudWxsLFxuICAgIERFRkFVTFRfU0VHTUVOVF9LRVk6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNHcm91cFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNHcm91cFNlZ21lbnQ7XG4gICAgfSxcbiAgICBQQUdFX1NFR01FTlRfS0VZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBR0VfU0VHTUVOVF9LRVk7XG4gICAgfSxcbiAgICBERUZBVUxUX1NFR01FTlRfS0VZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfU0VHTUVOVF9LRVk7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0dyb3VwU2VnbWVudChzZWdtZW50KSB7XG4gICAgLy8gVXNlIGFycmF5WzBdIGZvciBwZXJmb3JtYW50IHB1cnBvc2VcbiAgICByZXR1cm4gc2VnbWVudFswXSA9PT0gXCIoXCIgJiYgc2VnbWVudC5lbmRzV2l0aChcIilcIik7XG59XG5jb25zdCBQQUdFX1NFR01FTlRfS0VZID0gXCJfX1BBR0VfX1wiO1xuY29uc3QgREVGQVVMVF9TRUdNRU5UX0tFWSA9IFwiX19ERUZBVUxUX19cIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VnbWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJpc0dyb3VwU2VnbWVudCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VnbWVudCIsImVuZHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/side-effect.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/side-effect.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return SideEffect;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst isServer = \"undefined\" === \"undefined\";\nconst useClientOnlyLayoutEffect = isServer ? ()=>{} : _react.useLayoutEffect;\nconst useClientOnlyEffect = isServer ? ()=>{} : _react.useEffect;\nfunction SideEffect(props) {\n const { headManager, reduceComponentsToState } = props;\n function emitChange() {\n if (headManager && headManager.mountedInstances) {\n const headElements = _react.Children.toArray(Array.from(headManager.mountedInstances).filter(Boolean));\n headManager.updateHead(reduceComponentsToState(headElements, props));\n }\n }\n if (isServer) {\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n emitChange();\n }\n useClientOnlyLayoutEffect(()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.add(props.children);\n return ()=>{\n var _headManager_mountedInstances;\n headManager == null ? void 0 : (_headManager_mountedInstances = headManager.mountedInstances) == null ? void 0 : _headManager_mountedInstances.delete(props.children);\n };\n });\n // We need to call `updateHead` method whenever the `SideEffect` is trigger in all\n // life-cycles: mount, update, unmount. However, if there are multiple `SideEffect`s\n // being rendered, we only trigger the method from the last one.\n // This is ensured by keeping the last unflushed `updateHead` in the `_pendingUpdate`\n // singleton in the layout effect pass, and actually trigger it in the effect pass.\n useClientOnlyLayoutEffect(()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n return ()=>{\n if (headManager) {\n headManager._pendingUpdate = emitChange;\n }\n };\n });\n useClientOnlyEffect(()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n return ()=>{\n if (headManager && headManager._pendingUpdate) {\n headManager._pendingUpdate();\n headManager._pendingUpdate = null;\n }\n };\n });\n return null;\n} //# sourceMappingURL=side-effect.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2lkZS1lZmZlY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLHdHQUFPO0FBQzlCLE1BQU1DLFdBQVcsZ0JBQWtCO0FBQ25DLE1BQU1DLDRCQUE0QkQsV0FBVyxLQUFLLElBQUlGLE9BQU9JLGVBQWU7QUFDNUUsTUFBTUMsc0JBQXNCSCxXQUFXLEtBQUssSUFBSUYsT0FBT00sU0FBUztBQUNoRSxTQUFTUCxXQUFXUSxLQUFLO0lBQ3JCLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyx1QkFBdUIsRUFBRSxHQUFHRjtJQUNqRCxTQUFTRztRQUNMLElBQUlGLGVBQWVBLFlBQVlHLGdCQUFnQixFQUFFO1lBQzdDLE1BQU1DLGVBQWVaLE9BQU9hLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDQyxNQUFNQyxJQUFJLENBQUNSLFlBQVlHLGdCQUFnQixFQUFFTSxNQUFNLENBQUNDO1lBQzdGVixZQUFZVyxVQUFVLENBQUNWLHdCQUF3QkcsY0FBY0w7UUFDakU7SUFDSjtJQUNBLElBQUlMLFVBQVU7UUFDVixJQUFJa0I7UUFDSlosZUFBZSxPQUFPLEtBQUssSUFBSSxDQUFDWSxnQ0FBZ0NaLFlBQVlHLGdCQUFnQixLQUFLLE9BQU8sS0FBSyxJQUFJUyw4QkFBOEJDLEdBQUcsQ0FBQ2QsTUFBTWUsUUFBUTtRQUNqS1o7SUFDSjtJQUNBUCwwQkFBMEI7UUFDdEIsSUFBSWlCO1FBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCQyxHQUFHLENBQUNkLE1BQU1lLFFBQVE7UUFDakssT0FBTztZQUNILElBQUlGO1lBQ0paLGVBQWUsT0FBTyxLQUFLLElBQUksQ0FBQ1ksZ0NBQWdDWixZQUFZRyxnQkFBZ0IsS0FBSyxPQUFPLEtBQUssSUFBSVMsOEJBQThCRyxNQUFNLENBQUNoQixNQUFNZSxRQUFRO1FBQ3hLO0lBQ0o7SUFDQSxrRkFBa0Y7SUFDbEYsb0ZBQW9GO0lBQ3BGLGdFQUFnRTtJQUNoRSxxRkFBcUY7SUFDckYsbUZBQW1GO0lBQ25GbkIsMEJBQTBCO1FBQ3RCLElBQUlLLGFBQWE7WUFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7UUFDakM7UUFDQSxPQUFPO1lBQ0gsSUFBSUYsYUFBYTtnQkFDYkEsWUFBWWdCLGNBQWMsR0FBR2Q7WUFDakM7UUFDSjtJQUNKO0lBQ0FMLG9CQUFvQjtRQUNoQixJQUFJRyxlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO1lBQzNDaEIsWUFBWWdCLGNBQWM7WUFDMUJoQixZQUFZZ0IsY0FBYyxHQUFHO1FBQ2pDO1FBQ0EsT0FBTztZQUNILElBQUloQixlQUFlQSxZQUFZZ0IsY0FBYyxFQUFFO2dCQUMzQ2hCLFlBQVlnQixjQUFjO2dCQUMxQmhCLFlBQVlnQixjQUFjLEdBQUc7WUFDakM7UUFDSjtJQUNKO0lBQ0EsT0FBTztBQUNYLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zaWRlLWVmZmVjdC5qcz80MDhjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU2lkZUVmZmVjdDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcbmNvbnN0IGlzU2VydmVyID0gdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIjtcbmNvbnN0IHVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QgPSBpc1NlcnZlciA/ICgpPT57fSA6IF9yZWFjdC51c2VMYXlvdXRFZmZlY3Q7XG5jb25zdCB1c2VDbGllbnRPbmx5RWZmZWN0ID0gaXNTZXJ2ZXIgPyAoKT0+e30gOiBfcmVhY3QudXNlRWZmZWN0O1xuZnVuY3Rpb24gU2lkZUVmZmVjdChwcm9wcykge1xuICAgIGNvbnN0IHsgaGVhZE1hbmFnZXIsIHJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIH0gPSBwcm9wcztcbiAgICBmdW5jdGlvbiBlbWl0Q2hhbmdlKCkge1xuICAgICAgICBpZiAoaGVhZE1hbmFnZXIgJiYgaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykge1xuICAgICAgICAgICAgY29uc3QgaGVhZEVsZW1lbnRzID0gX3JlYWN0LkNoaWxkcmVuLnRvQXJyYXkoQXJyYXkuZnJvbShoZWFkTWFuYWdlci5tb3VudGVkSW5zdGFuY2VzKS5maWx0ZXIoQm9vbGVhbikpO1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIudXBkYXRlSGVhZChyZWR1Y2VDb21wb25lbnRzVG9TdGF0ZShoZWFkRWxlbWVudHMsIHByb3BzKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGlzU2VydmVyKSB7XG4gICAgICAgIHZhciBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcztcbiAgICAgICAgaGVhZE1hbmFnZXIgPT0gbnVsbCA/IHZvaWQgMCA6IChfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcyA9IGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcy5hZGQocHJvcHMuY2hpbGRyZW4pO1xuICAgICAgICBlbWl0Q2hhbmdlKCk7XG4gICAgfVxuICAgIHVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QoKCk9PntcbiAgICAgICAgdmFyIF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzO1xuICAgICAgICBoZWFkTWFuYWdlciA9PSBudWxsID8gdm9pZCAwIDogKF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzID0gaGVhZE1hbmFnZXIubW91bnRlZEluc3RhbmNlcykgPT0gbnVsbCA/IHZvaWQgMCA6IF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzLmFkZChwcm9wcy5jaGlsZHJlbik7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgdmFyIF9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzO1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIgPT0gbnVsbCA/IHZvaWQgMCA6IChfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcyA9IGhlYWRNYW5hZ2VyLm1vdW50ZWRJbnN0YW5jZXMpID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZE1hbmFnZXJfbW91bnRlZEluc3RhbmNlcy5kZWxldGUocHJvcHMuY2hpbGRyZW4pO1xuICAgICAgICB9O1xuICAgIH0pO1xuICAgIC8vIFdlIG5lZWQgdG8gY2FsbCBgdXBkYXRlSGVhZGAgbWV0aG9kIHdoZW5ldmVyIHRoZSBgU2lkZUVmZmVjdGAgaXMgdHJpZ2dlciBpbiBhbGxcbiAgICAvLyBsaWZlLWN5Y2xlczogbW91bnQsIHVwZGF0ZSwgdW5tb3VudC4gSG93ZXZlciwgaWYgdGhlcmUgYXJlIG11bHRpcGxlIGBTaWRlRWZmZWN0YHNcbiAgICAvLyBiZWluZyByZW5kZXJlZCwgd2Ugb25seSB0cmlnZ2VyIHRoZSBtZXRob2QgZnJvbSB0aGUgbGFzdCBvbmUuXG4gICAgLy8gVGhpcyBpcyBlbnN1cmVkIGJ5IGtlZXBpbmcgdGhlIGxhc3QgdW5mbHVzaGVkIGB1cGRhdGVIZWFkYCBpbiB0aGUgYF9wZW5kaW5nVXBkYXRlYFxuICAgIC8vIHNpbmdsZXRvbiBpbiB0aGUgbGF5b3V0IGVmZmVjdCBwYXNzLCBhbmQgYWN0dWFsbHkgdHJpZ2dlciBpdCBpbiB0aGUgZWZmZWN0IHBhc3MuXG4gICAgdXNlQ2xpZW50T25seUxheW91dEVmZmVjdCgoKT0+e1xuICAgICAgICBpZiAoaGVhZE1hbmFnZXIpIHtcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gZW1pdENoYW5nZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGlmIChoZWFkTWFuYWdlcikge1xuICAgICAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gZW1pdENoYW5nZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICB1c2VDbGllbnRPbmx5RWZmZWN0KCgpPT57XG4gICAgICAgIGlmIChoZWFkTWFuYWdlciAmJiBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSkge1xuICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUoKTtcbiAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIGlmIChoZWFkTWFuYWdlciAmJiBoZWFkTWFuYWdlci5fcGVuZGluZ1VwZGF0ZSkge1xuICAgICAgICAgICAgICAgIGhlYWRNYW5hZ2VyLl9wZW5kaW5nVXBkYXRlKCk7XG4gICAgICAgICAgICAgICAgaGVhZE1hbmFnZXIuX3BlbmRpbmdVcGRhdGUgPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBudWxsO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zaWRlLWVmZmVjdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiU2lkZUVmZmVjdCIsIl9yZWFjdCIsInJlcXVpcmUiLCJpc1NlcnZlciIsInVzZUNsaWVudE9ubHlMYXlvdXRFZmZlY3QiLCJ1c2VMYXlvdXRFZmZlY3QiLCJ1c2VDbGllbnRPbmx5RWZmZWN0IiwidXNlRWZmZWN0IiwicHJvcHMiLCJoZWFkTWFuYWdlciIsInJlZHVjZUNvbXBvbmVudHNUb1N0YXRlIiwiZW1pdENoYW5nZSIsIm1vdW50ZWRJbnN0YW5jZXMiLCJoZWFkRWxlbWVudHMiLCJDaGlsZHJlbiIsInRvQXJyYXkiLCJBcnJheSIsImZyb20iLCJmaWx0ZXIiLCJCb29sZWFuIiwidXBkYXRlSGVhZCIsIl9oZWFkTWFuYWdlcl9tb3VudGVkSW5zdGFuY2VzIiwiYWRkIiwiY2hpbGRyZW4iLCJkZWxldGUiLCJfcGVuZGluZ1VwZGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/side-effect.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n isResSent: function() {\n return isResSent;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n DecodeError: function() {\n return DecodeError;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FrQk47QUFDQSxTQUFTa0IsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXhCLE9BQU9DLGNBQWMsQ0FBQ3NCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXBCLFNBQVM7SUFDYkcsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxtQkFBbUI7UUFDZixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1oQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQyxTQUFTc0IsRUFBRTtJQUNoQixJQUFJQyxPQUFPO0lBQ1gsSUFB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UUMsSUFBSSxDQUFDLEtBQUs3RCxlQUFlaUQsT0FBTztRQUM1QztJQUNKO0lBQ0EsT0FBT1M7QUFDWDtBQUNBLE1BQU10RCxLQUFLLE9BQU8wRCxnQkFBZ0I7QUFDbEMsTUFBTXpELEtBQUtELE1BQU07SUFDYjtJQUNBO0lBQ0E7Q0FDSCxDQUFDMkQsS0FBSyxDQUFDLENBQUNDLFNBQVMsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFDakQsTUFBTTFELG9CQUFvQmtEO0FBQzFCO0FBQ0EsTUFBTWpELHVCQUF1QmlEO0FBQzdCO0FBQ0EsTUFBTWhELDBCQUEwQmdEO0lBQzVCUyxZQUFZQyxJQUFJLENBQUM7UUFDYixLQUFLO1FBQ0wsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNwRCxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUN3QyxPQUFPLEdBQUcsa0NBQWtDVztJQUNyRDtBQUNKO0FBQ0EsTUFBTXpELDBCQUEwQitDO0lBQzVCUyxZQUFZQyxJQUFJLEVBQUVYLE9BQU8sQ0FBQztRQUN0QixLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQTBDVyxPQUFPLE1BQU1YO0lBQzFFO0FBQ0o7QUFDQSxNQUFNN0MsZ0NBQWdDOEM7SUFDbENTLGFBQWE7UUFDVCxLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNaLE9BQU8sR0FBRztJQUNuQjtBQUNKO0FBQ0EsU0FBUzVDLGVBQWV5RCxLQUFLO0lBQ3pCLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUNsQmYsU0FBU2EsTUFBTWIsT0FBTztRQUN0QmdCLE9BQU9ILE1BQU1HLEtBQUs7SUFDdEI7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanM/ZTdmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFdFQl9WSVRBTFM6IG51bGwsXG4gICAgZXhlY09uY2U6IG51bGwsXG4gICAgaXNBYnNvbHV0ZVVybDogbnVsbCxcbiAgICBnZXRMb2NhdGlvbk9yaWdpbjogbnVsbCxcbiAgICBnZXRVUkw6IG51bGwsXG4gICAgZ2V0RGlzcGxheU5hbWU6IG51bGwsXG4gICAgaXNSZXNTZW50OiBudWxsLFxuICAgIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlczogbnVsbCxcbiAgICBsb2FkR2V0SW5pdGlhbFByb3BzOiBudWxsLFxuICAgIFNQOiBudWxsLFxuICAgIFNUOiBudWxsLFxuICAgIERlY29kZUVycm9yOiBudWxsLFxuICAgIE5vcm1hbGl6ZUVycm9yOiBudWxsLFxuICAgIFBhZ2VOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIE1pc3NpbmdTdGF0aWNQYWdlOiBudWxsLFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIHN0cmluZ2lmeUVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFdFQl9WSVRBTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gV0VCX1ZJVEFMUztcbiAgICB9LFxuICAgIGV4ZWNPbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4ZWNPbmNlO1xuICAgIH0sXG4gICAgaXNBYnNvbHV0ZVVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Fic29sdXRlVXJsO1xuICAgIH0sXG4gICAgZ2V0TG9jYXRpb25PcmlnaW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TG9jYXRpb25PcmlnaW47XG4gICAgfSxcbiAgICBnZXRVUkw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VVJMO1xuICAgIH0sXG4gICAgZ2V0RGlzcGxheU5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzcGxheU5hbWU7XG4gICAgfSxcbiAgICBpc1Jlc1NlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNSZXNTZW50O1xuICAgIH0sXG4gICAgbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcztcbiAgICB9LFxuICAgIGxvYWRHZXRJbml0aWFsUHJvcHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbG9hZEdldEluaXRpYWxQcm9wcztcbiAgICB9LFxuICAgIFNQOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNQO1xuICAgIH0sXG4gICAgU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1Q7XG4gICAgfSxcbiAgICBEZWNvZGVFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEZWNvZGVFcnJvcjtcbiAgICB9LFxuICAgIE5vcm1hbGl6ZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5vcm1hbGl6ZUVycm9yO1xuICAgIH0sXG4gICAgUGFnZU5vdEZvdW5kRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUGFnZU5vdEZvdW5kRXJyb3I7XG4gICAgfSxcbiAgICBNaXNzaW5nU3RhdGljUGFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNaXNzaW5nU3RhdGljUGFnZTtcbiAgICB9LFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5RXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBXRUJfVklUQUxTID0gW1xuICAgIFwiQ0xTXCIsXG4gICAgXCJGQ1BcIixcbiAgICBcIkZJRFwiLFxuICAgIFwiSU5QXCIsXG4gICAgXCJMQ1BcIixcbiAgICBcIlRURkJcIlxuXTtcbmZ1bmN0aW9uIGV4ZWNPbmNlKGZuKSB7XG4gICAgbGV0IHVzZWQgPSBmYWxzZTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXVzZWQpIHtcbiAgICAgICAgICAgIHVzZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmVzdWx0ID0gZm4oLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xufVxuLy8gU2NoZW1lOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMVxuLy8gQWJzb2x1dGUgVVJMOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTQuM1xuY29uc3QgQUJTT0xVVEVfVVJMX1JFR0VYID0gL15bYS16QS1aXVthLXpBLVpcXGQrXFwtLl0qPzovO1xuY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmwpPT5BQlNPTFVURV9VUkxfUkVHRVgudGVzdCh1cmwpO1xuZnVuY3Rpb24gZ2V0TG9jYXRpb25PcmlnaW4oKSB7XG4gICAgY29uc3QgeyBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICByZXR1cm4gcHJvdG9jb2wgKyBcIi8vXCIgKyBob3N0bmFtZSArIChwb3J0ID8gXCI6XCIgKyBwb3J0IDogXCJcIik7XG59XG5mdW5jdGlvbiBnZXRVUkwoKSB7XG4gICAgY29uc3QgeyBocmVmIH0gPSB3aW5kb3cubG9jYXRpb247XG4gICAgY29uc3Qgb3JpZ2luID0gZ2V0TG9jYXRpb25PcmlnaW4oKTtcbiAgICByZXR1cm4gaHJlZi5zdWJzdHJpbmcob3JpZ2luLmxlbmd0aCk7XG59XG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdHlwZW9mIENvbXBvbmVudCA9PT0gXCJzdHJpbmdcIiA/IENvbXBvbmVudCA6IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCBcIlVua25vd25cIjtcbn1cbmZ1bmN0aW9uIGlzUmVzU2VudChyZXMpIHtcbiAgICByZXR1cm4gcmVzLmZpbmlzaGVkIHx8IHJlcy5oZWFkZXJzU2VudDtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyh1cmwpIHtcbiAgICBjb25zdCB1cmxQYXJ0cyA9IHVybC5zcGxpdChcIj9cIik7XG4gICAgY29uc3QgdXJsTm9RdWVyeSA9IHVybFBhcnRzWzBdO1xuICAgIHJldHVybiB1cmxOb1F1ZXJ5Ly8gZmlyc3Qgd2UgcmVwbGFjZSBhbnkgbm9uLWVuY29kZWQgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkXG4gICAgLy8gdGhlbiBub3JtYWxpemUgcmVwZWF0ZWQgZm9yd2FyZCBzbGFzaGVzXG4gICAgLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpLnJlcGxhY2UoL1xcL1xcLysvZywgXCIvXCIpICsgKHVybFBhcnRzWzFdID8gXCI/XCIgKyB1cmxQYXJ0cy5zbGljZSgxKS5qb2luKFwiP1wiKSA6IFwiXCIpO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZEdldEluaXRpYWxQcm9wcyhBcHAsIGN0eCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgdmFyIF9BcHBfcHJvdG90eXBlO1xuICAgICAgICBpZiAoKF9BcHBfcHJvdG90eXBlID0gQXBwLnByb3RvdHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9BcHBfcHJvdG90eXBlLmdldEluaXRpYWxQcm9wcykge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdcIicgKyBnZXREaXNwbGF5TmFtZShBcHApICsgJy5nZXRJbml0aWFsUHJvcHMoKVwiIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kIC0gdmlzaXQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ2V0LWluaXRpYWwtcHJvcHMtYXMtYW4taW5zdGFuY2UtbWV0aG9kIGZvciBtb3JlIGluZm9ybWF0aW9uLic7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gd2hlbiBjYWxsZWQgZnJvbSBfYXBwIGBjdHhgIGlzIG5lc3RlZCBpbiBgY3R4YFxuICAgIGNvbnN0IHJlcyA9IGN0eC5yZXMgfHwgY3R4LmN0eCAmJiBjdHguY3R4LnJlcztcbiAgICBpZiAoIUFwcC5nZXRJbml0aWFsUHJvcHMpIHtcbiAgICAgICAgaWYgKGN0eC5jdHggJiYgY3R4LkNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBwYWdlUHJvcHMgZGVmYXVsdFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYWdlUHJvcHM6IGF3YWl0IGxvYWRHZXRJbml0aWFsUHJvcHMoY3R4LkNvbXBvbmVudCwgY3R4LmN0eClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBwcm9wcyA9IGF3YWl0IEFwcC5nZXRJbml0aWFsUHJvcHMoY3R4KTtcbiAgICBpZiAocmVzICYmIGlzUmVzU2VudChyZXMpKSB7XG4gICAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG4gICAgaWYgKCFwcm9wcykge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1wiJyArIGdldERpc3BsYXlOYW1lKEFwcCkgKyAnLmdldEluaXRpYWxQcm9wcygpXCIgc2hvdWxkIHJlc29sdmUgdG8gYW4gb2JqZWN0LiBCdXQgZm91bmQgXCInICsgcHJvcHMgKyAnXCIgaW5zdGVhZC4nO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGggPT09IDAgJiYgIWN0eC5jdHgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlwiICsgZ2V0RGlzcGxheU5hbWUoQXBwKSArIFwiIHJldHVybmVkIGFuIGVtcHR5IG9iamVjdCBmcm9tIGBnZXRJbml0aWFsUHJvcHNgLiBUaGlzIGRlLW9wdGltaXplcyBhbmQgcHJldmVudHMgYXV0b21hdGljIHN0YXRpYyBvcHRpbWl6YXRpb24uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2VtcHR5LW9iamVjdC1nZXRJbml0aWFsUHJvcHNcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzO1xufVxuY29uc3QgU1AgPSB0eXBlb2YgcGVyZm9ybWFuY2UgIT09IFwidW5kZWZpbmVkXCI7XG5jb25zdCBTVCA9IFNQICYmIFtcbiAgICBcIm1hcmtcIixcbiAgICBcIm1lYXN1cmVcIixcbiAgICBcImdldEVudHJpZXNCeU5hbWVcIlxuXS5ldmVyeSgobWV0aG9kKT0+dHlwZW9mIHBlcmZvcm1hbmNlW21ldGhvZF0gPT09IFwiZnVuY3Rpb25cIik7XG5jbGFzcyBEZWNvZGVFcnJvciBleHRlbmRzIEVycm9yIHtcbn1cbmNsYXNzIE5vcm1hbGl6ZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xufVxuY2xhc3MgUGFnZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocGFnZSl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29kZSA9IFwiRU5PRU5UXCI7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiUGFnZU5vdEZvdW5kRXJyb3JcIjtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJDYW5ub3QgZmluZCBtb2R1bGUgZm9yIHBhZ2U6IFwiICsgcGFnZTtcbiAgICB9XG59XG5jbGFzcyBNaXNzaW5nU3RhdGljUGFnZSBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihwYWdlLCBtZXNzYWdlKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJGYWlsZWQgdG8gbG9hZCBzdGF0aWMgZmlsZSBmb3IgcGFnZTogXCIgKyBwYWdlICsgXCIgXCIgKyBtZXNzYWdlO1xuICAgIH1cbn1cbmNsYXNzIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29kZSA9IFwiRU5PRU5UXCI7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IFwiQ2Fubm90IGZpbmQgdGhlIG1pZGRsZXdhcmUgbW9kdWxlXCI7XG4gICAgfVxufVxuZnVuY3Rpb24gc3RyaW5naWZ5RXJyb3IoZXJyb3IpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZXJyb3Iuc3RhY2tcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiaXNBYnNvbHV0ZVVybCIsImdldExvY2F0aW9uT3JpZ2luIiwiZ2V0VVJMIiwiZ2V0RGlzcGxheU5hbWUiLCJpc1Jlc1NlbnQiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwiU1AiLCJTVCIsIkRlY29kZUVycm9yIiwiTm9ybWFsaXplRXJyb3IiLCJQYWdlTm90Rm91bmRFcnJvciIsIk1pc3NpbmdTdGF0aWNQYWdlIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJzdHJpbmdpZnlFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImZuIiwidXNlZCIsInJlc3VsdCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJyZXMiLCJmaW5pc2hlZCIsImhlYWRlcnNTZW50IiwidXJsUGFydHMiLCJzcGxpdCIsInVybE5vUXVlcnkiLCJyZXBsYWNlIiwic2xpY2UiLCJqb2luIiwiQXBwIiwiY3R4IiwicHJvY2VzcyIsIl9BcHBfcHJvdG90eXBlIiwicHJvdG90eXBlIiwiZ2V0SW5pdGlhbFByb3BzIiwibWVzc2FnZSIsIkVycm9yIiwicGFnZVByb3BzIiwicHJvcHMiLCJrZXlzIiwiY29uc29sZSIsIndhcm4iLCJwZXJmb3JtYW5jZSIsImV2ZXJ5IiwibWV0aG9kIiwiY29uc3RydWN0b3IiLCJwYWdlIiwiY29kZSIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils/warn-once.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"warnOnce\", ({\n enumerable: true,\n get: function() {\n return warnOnce;\n }\n}));\nlet warnOnce = (_)=>{};\nif (true) {\n const warnings = new Set();\n warnOnce = (msg)=>{\n if (!warnings.has(msg)) {\n console.warn(msg);\n }\n warnings.add(msg);\n };\n} //# sourceMappingURL=warn-once.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMvd2Fybi1vbmNlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw0Q0FBMkM7SUFDdkNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQSxXQUFXLENBQUNDLEtBQUs7QUFDckIsSUFBSUMsSUFBcUMsRUFBRTtJQUN2QyxNQUFNQyxXQUFXLElBQUlDO0lBQ3JCSixXQUFXLENBQUNLO1FBQ1IsSUFBSSxDQUFDRixTQUFTRyxHQUFHLENBQUNELE1BQU07WUFDcEJFLFFBQVFDLElBQUksQ0FBQ0g7UUFDakI7UUFDQUYsU0FBU00sR0FBRyxDQUFDSjtJQUNqQjtBQUNKLEVBRUEscUNBQXFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi91dGlscy93YXJuLW9uY2UuanM/NzM5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIndhcm5PbmNlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YXJuT25jZTtcbiAgICB9XG59KTtcbmxldCB3YXJuT25jZSA9IChfKT0+e307XG5pZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgY29uc3Qgd2FybmluZ3MgPSBuZXcgU2V0KCk7XG4gICAgd2Fybk9uY2UgPSAobXNnKT0+e1xuICAgICAgICBpZiAoIXdhcm5pbmdzLmhhcyhtc2cpKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4obXNnKTtcbiAgICAgICAgfVxuICAgICAgICB3YXJuaW5ncy5hZGQobXNnKTtcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13YXJuLW9uY2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIndhcm5PbmNlIiwiXyIsInByb2Nlc3MiLCJ3YXJuaW5ncyIsIlNldCIsIm1zZyIsImhhcyIsImNvbnNvbGUiLCJ3YXJuIiwiYWRkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/api/link.js": /*!********************************************!*\ !*** ./node_modules/next/dist/api/link.js ***! \********************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(rsc)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWLENBRS9CLGdDQUFnQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzPzEzMGQiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCB9IGZyb20gXCIuLi9jbGllbnQvbGlua1wiO1xuZXhwb3J0ICogZnJvbSBcIi4uL2NsaWVudC9saW5rXCI7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxpbmsuanMubWFwIl0sIm5hbWVzIjpbImRlZmF1bHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/api/link.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/build/output/log.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/build/output/log.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n prefixes: function() {\n return prefixes;\n },\n bootstrap: function() {\n return bootstrap;\n },\n wait: function() {\n return wait;\n },\n error: function() {\n return error;\n },\n warn: function() {\n return warn;\n },\n ready: function() {\n return ready;\n },\n info: function() {\n return info;\n },\n event: function() {\n return event;\n },\n trace: function() {\n return trace;\n },\n warnOnce: function() {\n return warnOnce;\n }\n});\nconst _picocolors = __webpack_require__(/*! ../../lib/picocolors */ \"(rsc)/./node_modules/next/dist/lib/picocolors.js\");\nconst prefixes = {\n wait: (0, _picocolors.white)((0, _picocolors.bold)(\"○\")),\n error: (0, _picocolors.red)((0, _picocolors.bold)(\"⨯\")),\n warn: (0, _picocolors.yellow)((0, _picocolors.bold)(\"⚠\")),\n ready: \"▲\",\n info: (0, _picocolors.white)((0, _picocolors.bold)(\" \")),\n event: (0, _picocolors.green)((0, _picocolors.bold)(\"✓\")),\n trace: (0, _picocolors.magenta)((0, _picocolors.bold)(\"\\xbb\"))\n};\nconst LOGGING_METHOD = {\n log: \"log\",\n warn: \"warn\",\n error: \"error\"\n};\nfunction prefixedLog(prefixType, ...message) {\n if ((message[0] === \"\" || message[0] === undefined) && message.length === 1) {\n message.shift();\n }\n const consoleMethod = prefixType in LOGGING_METHOD ? LOGGING_METHOD[prefixType] : \"log\";\n const prefix = prefixes[prefixType];\n // If there's no message, don't print the prefix but a new line\n if (message.length === 0) {\n console[consoleMethod](\"\");\n } else {\n console[consoleMethod](\" \" + prefix, ...message);\n }\n}\nfunction bootstrap(...message) {\n console.log(\" \", ...message);\n}\nfunction wait(...message) {\n prefixedLog(\"wait\", ...message);\n}\nfunction error(...message) {\n prefixedLog(\"error\", ...message);\n}\nfunction warn(...message) {\n prefixedLog(\"warn\", ...message);\n}\nfunction ready(...message) {\n prefixedLog(\"ready\", ...message);\n}\nfunction info(...message) {\n prefixedLog(\"info\", ...message);\n}\nfunction event(...message) {\n prefixedLog(\"event\", ...message);\n}\nfunction trace(...message) {\n prefixedLog(\"trace\", ...message);\n}\nconst warnOnceMessages = new Set();\nfunction warnOnce(...message) {\n if (!warnOnceMessages.has(message[0])) {\n warnOnceMessages.add(message.join(\" \"));\n warn(...message);\n }\n} //# sourceMappingURL=log.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL291dHB1dC9sb2cuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FXTjtBQUNBLFNBQVNXLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlqQixPQUFPQyxjQUFjLENBQUNlLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUWIsU0FBUztJQUNiRyxVQUFVO1FBQ04sT0FBT0E7SUFDWDtJQUNBQyxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxNQUFNO1FBQ0YsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxPQUFPO1FBQ0gsT0FBT0E7SUFDWDtJQUNBQyxVQUFVO1FBQ04sT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sY0FBY0MsbUJBQU9BLENBQUMsOEVBQXNCO0FBQ2xELE1BQU1qQixXQUFXO0lBQ2JFLE1BQU0sQ0FBQyxHQUFHYyxZQUFZRSxLQUFLLEVBQUUsQ0FBQyxHQUFHRixZQUFZRyxJQUFJLEVBQUU7SUFDbkRoQixPQUFPLENBQUMsR0FBR2EsWUFBWUksR0FBRyxFQUFFLENBQUMsR0FBR0osWUFBWUcsSUFBSSxFQUFFO0lBQ2xEZixNQUFNLENBQUMsR0FBR1ksWUFBWUssTUFBTSxFQUFFLENBQUMsR0FBR0wsWUFBWUcsSUFBSSxFQUFFO0lBQ3BEZCxPQUFPO0lBQ1BDLE1BQU0sQ0FBQyxHQUFHVSxZQUFZRSxLQUFLLEVBQUUsQ0FBQyxHQUFHRixZQUFZRyxJQUFJLEVBQUU7SUFDbkRaLE9BQU8sQ0FBQyxHQUFHUyxZQUFZTSxLQUFLLEVBQUUsQ0FBQyxHQUFHTixZQUFZRyxJQUFJLEVBQUU7SUFDcERYLE9BQU8sQ0FBQyxHQUFHUSxZQUFZTyxPQUFPLEVBQUUsQ0FBQyxHQUFHUCxZQUFZRyxJQUFJLEVBQUU7QUFDMUQ7QUFDQSxNQUFNSyxpQkFBaUI7SUFDbkJDLEtBQUs7SUFDTHJCLE1BQU07SUFDTkQsT0FBTztBQUNYO0FBQ0EsU0FBU3VCLFlBQVlDLFVBQVUsRUFBRSxHQUFHQyxPQUFPO0lBQ3ZDLElBQUksQ0FBQ0EsT0FBTyxDQUFDLEVBQUUsS0FBSyxNQUFNQSxPQUFPLENBQUMsRUFBRSxLQUFLQyxTQUFRLEtBQU1ELFFBQVFFLE1BQU0sS0FBSyxHQUFHO1FBQ3pFRixRQUFRRyxLQUFLO0lBQ2pCO0lBQ0EsTUFBTUMsZ0JBQWdCTCxjQUFjSCxpQkFBaUJBLGNBQWMsQ0FBQ0csV0FBVyxHQUFHO0lBQ2xGLE1BQU1NLFNBQVNqQyxRQUFRLENBQUMyQixXQUFXO0lBQ25DLCtEQUErRDtJQUMvRCxJQUFJQyxRQUFRRSxNQUFNLEtBQUssR0FBRztRQUN0QkksT0FBTyxDQUFDRixjQUFjLENBQUM7SUFDM0IsT0FBTztRQUNIRSxPQUFPLENBQUNGLGNBQWMsQ0FBQyxNQUFNQyxXQUFXTDtJQUM1QztBQUNKO0FBQ0EsU0FBUzNCLFVBQVUsR0FBRzJCLE9BQU87SUFDekJNLFFBQVFULEdBQUcsQ0FBQyxRQUFRRztBQUN4QjtBQUNBLFNBQVMxQixLQUFLLEdBQUcwQixPQUFPO0lBQ3BCRixZQUFZLFdBQVdFO0FBQzNCO0FBQ0EsU0FBU3pCLE1BQU0sR0FBR3lCLE9BQU87SUFDckJGLFlBQVksWUFBWUU7QUFDNUI7QUFDQSxTQUFTeEIsS0FBSyxHQUFHd0IsT0FBTztJQUNwQkYsWUFBWSxXQUFXRTtBQUMzQjtBQUNBLFNBQVN2QixNQUFNLEdBQUd1QixPQUFPO0lBQ3JCRixZQUFZLFlBQVlFO0FBQzVCO0FBQ0EsU0FBU3RCLEtBQUssR0FBR3NCLE9BQU87SUFDcEJGLFlBQVksV0FBV0U7QUFDM0I7QUFDQSxTQUFTckIsTUFBTSxHQUFHcUIsT0FBTztJQUNyQkYsWUFBWSxZQUFZRTtBQUM1QjtBQUNBLFNBQVNwQixNQUFNLEdBQUdvQixPQUFPO0lBQ3JCRixZQUFZLFlBQVlFO0FBQzVCO0FBQ0EsTUFBTU8sbUJBQW1CLElBQUlDO0FBQzdCLFNBQVMzQixTQUFTLEdBQUdtQixPQUFPO0lBQ3hCLElBQUksQ0FBQ08saUJBQWlCRSxHQUFHLENBQUNULE9BQU8sQ0FBQyxFQUFFLEdBQUc7UUFDbkNPLGlCQUFpQkcsR0FBRyxDQUFDVixRQUFRVyxJQUFJLENBQUM7UUFDbENuQyxRQUFRd0I7SUFDWjtBQUNKLEVBRUEsK0JBQStCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvb3V0cHV0L2xvZy5qcz9lOTRlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgcHJlZml4ZXM6IG51bGwsXG4gICAgYm9vdHN0cmFwOiBudWxsLFxuICAgIHdhaXQ6IG51bGwsXG4gICAgZXJyb3I6IG51bGwsXG4gICAgd2FybjogbnVsbCxcbiAgICByZWFkeTogbnVsbCxcbiAgICBpbmZvOiBudWxsLFxuICAgIGV2ZW50OiBudWxsLFxuICAgIHRyYWNlOiBudWxsLFxuICAgIHdhcm5PbmNlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHByZWZpeGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZWZpeGVzO1xuICAgIH0sXG4gICAgYm9vdHN0cmFwOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJvb3RzdHJhcDtcbiAgICB9LFxuICAgIHdhaXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gd2FpdDtcbiAgICB9LFxuICAgIGVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVycm9yO1xuICAgIH0sXG4gICAgd2FybjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB3YXJuO1xuICAgIH0sXG4gICAgcmVhZHk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVhZHk7XG4gICAgfSxcbiAgICBpbmZvOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGluZm87XG4gICAgfSxcbiAgICBldmVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBldmVudDtcbiAgICB9LFxuICAgIHRyYWNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRyYWNlO1xuICAgIH0sXG4gICAgd2Fybk9uY2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gd2Fybk9uY2U7XG4gICAgfVxufSk7XG5jb25zdCBfcGljb2NvbG9ycyA9IHJlcXVpcmUoXCIuLi8uLi9saWIvcGljb2NvbG9yc1wiKTtcbmNvbnN0IHByZWZpeGVzID0ge1xuICAgIHdhaXQ6ICgwLCBfcGljb2NvbG9ycy53aGl0ZSkoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwi4peLXCIpKSxcbiAgICBlcnJvcjogKDAsIF9waWNvY29sb3JzLnJlZCkoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwi4qivXCIpKSxcbiAgICB3YXJuOiAoMCwgX3BpY29jb2xvcnMueWVsbG93KSgoMCwgX3BpY29jb2xvcnMuYm9sZCkoXCLimqBcIikpLFxuICAgIHJlYWR5OiBcIuKWslwiLFxuICAgIGluZm86ICgwLCBfcGljb2NvbG9ycy53aGl0ZSkoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwiIFwiKSksXG4gICAgZXZlbnQ6ICgwLCBfcGljb2NvbG9ycy5ncmVlbikoKDAsIF9waWNvY29sb3JzLmJvbGQpKFwi4pyTXCIpKSxcbiAgICB0cmFjZTogKDAsIF9waWNvY29sb3JzLm1hZ2VudGEpKCgwLCBfcGljb2NvbG9ycy5ib2xkKShcIlxceGJiXCIpKVxufTtcbmNvbnN0IExPR0dJTkdfTUVUSE9EID0ge1xuICAgIGxvZzogXCJsb2dcIixcbiAgICB3YXJuOiBcIndhcm5cIixcbiAgICBlcnJvcjogXCJlcnJvclwiXG59O1xuZnVuY3Rpb24gcHJlZml4ZWRMb2cocHJlZml4VHlwZSwgLi4ubWVzc2FnZSkge1xuICAgIGlmICgobWVzc2FnZVswXSA9PT0gXCJcIiB8fCBtZXNzYWdlWzBdID09PSB1bmRlZmluZWQpICYmIG1lc3NhZ2UubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIG1lc3NhZ2Uuc2hpZnQoKTtcbiAgICB9XG4gICAgY29uc3QgY29uc29sZU1ldGhvZCA9IHByZWZpeFR5cGUgaW4gTE9HR0lOR19NRVRIT0QgPyBMT0dHSU5HX01FVEhPRFtwcmVmaXhUeXBlXSA6IFwibG9nXCI7XG4gICAgY29uc3QgcHJlZml4ID0gcHJlZml4ZXNbcHJlZml4VHlwZV07XG4gICAgLy8gSWYgdGhlcmUncyBubyBtZXNzYWdlLCBkb24ndCBwcmludCB0aGUgcHJlZml4IGJ1dCBhIG5ldyBsaW5lXG4gICAgaWYgKG1lc3NhZ2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIGNvbnNvbGVbY29uc29sZU1ldGhvZF0oXCJcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZVtjb25zb2xlTWV0aG9kXShcIiBcIiArIHByZWZpeCwgLi4ubWVzc2FnZSk7XG4gICAgfVxufVxuZnVuY3Rpb24gYm9vdHN0cmFwKC4uLm1lc3NhZ2UpIHtcbiAgICBjb25zb2xlLmxvZyhcIiBcIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiB3YWl0KC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcIndhaXRcIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiBlcnJvciguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJlcnJvclwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHdhcm4oLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwid2FyblwiLCAuLi5tZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHJlYWR5KC4uLm1lc3NhZ2UpIHtcbiAgICBwcmVmaXhlZExvZyhcInJlYWR5XCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gaW5mbyguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJpbmZvXCIsIC4uLm1lc3NhZ2UpO1xufVxuZnVuY3Rpb24gZXZlbnQoLi4ubWVzc2FnZSkge1xuICAgIHByZWZpeGVkTG9nKFwiZXZlbnRcIiwgLi4ubWVzc2FnZSk7XG59XG5mdW5jdGlvbiB0cmFjZSguLi5tZXNzYWdlKSB7XG4gICAgcHJlZml4ZWRMb2coXCJ0cmFjZVwiLCAuLi5tZXNzYWdlKTtcbn1cbmNvbnN0IHdhcm5PbmNlTWVzc2FnZXMgPSBuZXcgU2V0KCk7XG5mdW5jdGlvbiB3YXJuT25jZSguLi5tZXNzYWdlKSB7XG4gICAgaWYgKCF3YXJuT25jZU1lc3NhZ2VzLmhhcyhtZXNzYWdlWzBdKSkge1xuICAgICAgICB3YXJuT25jZU1lc3NhZ2VzLmFkZChtZXNzYWdlLmpvaW4oXCIgXCIpKTtcbiAgICAgICAgd2FybiguLi5tZXNzYWdlKTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxvZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJwcmVmaXhlcyIsImJvb3RzdHJhcCIsIndhaXQiLCJlcnJvciIsIndhcm4iLCJyZWFkeSIsImluZm8iLCJldmVudCIsInRyYWNlIiwid2Fybk9uY2UiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfcGljb2NvbG9ycyIsInJlcXVpcmUiLCJ3aGl0ZSIsImJvbGQiLCJyZWQiLCJ5ZWxsb3ciLCJncmVlbiIsIm1hZ2VudGEiLCJMT0dHSU5HX01FVEhPRCIsImxvZyIsInByZWZpeGVkTG9nIiwicHJlZml4VHlwZSIsIm1lc3NhZ2UiLCJ1bmRlZmluZWQiLCJsZW5ndGgiLCJzaGlmdCIsImNvbnNvbGVNZXRob2QiLCJwcmVmaXgiLCJjb25zb2xlIiwid2Fybk9uY2VNZXNzYWdlcyIsIlNldCIsImhhcyIsImFkZCIsImpvaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/output/log.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js ***! \*****************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable import/no-extraneous-dependencies */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createProxy\", ({\n enumerable: true,\n get: function() {\n return createProxy;\n }\n}));\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst createProxy = _serveredge.createClientModuleProxy; //# sourceMappingURL=module-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1sb2FkZXIvbW9kdWxlLXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFBLG9EQUFvRCxHQUFnQjtBQUNwRUEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGNBQWNDLG1CQUFPQSxDQUFDLHNLQUFzQztBQUNsRSxNQUFNRixjQUFjQyxZQUFZRSx1QkFBdUIsRUFFdkQsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYnVpbGQvd2VicGFjay9sb2FkZXJzL25leHQtZmxpZ2h0LWxvYWRlci9tb2R1bGUtcHJveHkuanM/OGFjMSJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tZXh0cmFuZW91cy1kZXBlbmRlbmNpZXMgKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVQcm94eVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlUHJveHk7XG4gICAgfVxufSk7XG5jb25zdCBfc2VydmVyZWRnZSA9IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svc2VydmVyLmVkZ2VcIik7XG5jb25zdCBjcmVhdGVQcm94eSA9IF9zZXJ2ZXJlZGdlLmNyZWF0ZUNsaWVudE1vZHVsZVByb3h5O1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUtcHJveHkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZVByb3h5IiwiX3NlcnZlcmVkZ2UiLCJyZXF1aXJlIiwiY3JlYXRlQ2xpZW50TW9kdWxlUHJveHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/app-router-headers.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! \************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RSC_HEADER: function() {\n return RSC_HEADER;\n },\n ACTION: function() {\n return ACTION;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_VARY_HEADER: function() {\n return RSC_VARY_HEADER;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst RSC_VARY_HEADER = RSC_HEADER + \", \" + NEXT_ROUTER_STATE_TREE + \", \" + NEXT_ROUTER_PREFETCH_HEADER + \", \" + NEXT_URL;\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVdOO0FBQ0EsU0FBU1csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWpCLE9BQU9DLGNBQWMsQ0FBQ2UsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRYixTQUFTO0lBQ2JHLFlBQVk7UUFDUixPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEI7UUFDdEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVQsYUFBYTtBQUNuQixNQUFNQyxTQUFTO0FBQ2YsTUFBTUMseUJBQXlCO0FBQy9CLE1BQU1DLDhCQUE4QjtBQUNwQyxNQUFNQyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUNoQyxNQUFNQyxrQkFBa0JOLGFBQWEsT0FBT0UseUJBQXlCLE9BQU9DLDhCQUE4QixPQUFPQztBQUNqSCxNQUFNRyxvQkFBb0I7SUFDdEI7UUFDSVA7S0FDSDtJQUNEO1FBQ0lFO0tBQ0g7SUFDRDtRQUNJQztLQUNIO0NBQ0o7QUFDRCxNQUFNSyx1QkFBdUI7QUFDN0IsTUFBTUMsMkJBQTJCO0FBRWpDLElBQUksQ0FBQyxPQUFPWixRQUFRbUIsT0FBTyxLQUFLLGNBQWUsT0FBT25CLFFBQVFtQixPQUFPLEtBQUssWUFBWW5CLFFBQVFtQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9uQixRQUFRbUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3RCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW1CLE9BQU8sRUFBRSxjQUFjO1FBQUVsQixPQUFPO0lBQUs7SUFDbkVILE9BQU91QixNQUFNLENBQUNyQixRQUFRbUIsT0FBTyxFQUFFbkI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW1CLE9BQU87QUFDbEMsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnMuanM/MzU2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJTQ19IRUFERVI6IG51bGwsXG4gICAgQUNUSU9OOiBudWxsLFxuICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUU6IG51bGwsXG4gICAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfVVJMOiBudWxsLFxuICAgIFJTQ19DT05URU5UX1RZUEVfSEVBREVSOiBudWxsLFxuICAgIFJTQ19WQVJZX0hFQURFUjogbnVsbCxcbiAgICBGTElHSFRfUEFSQU1FVEVSUzogbnVsbCxcbiAgICBORVhUX1JTQ19VTklPTl9RVUVSWTogbnVsbCxcbiAgICBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUlNDX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfSEVBREVSO1xuICAgIH0sXG4gICAgQUNUSU9OOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFDVElPTjtcbiAgICB9LFxuICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9ST1VURVJfU1RBVEVfVFJFRTtcbiAgICB9LFxuICAgIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX1VSTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX1VSTDtcbiAgICB9LFxuICAgIFJTQ19DT05URU5UX1RZUEVfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19DT05URU5UX1RZUEVfSEVBREVSO1xuICAgIH0sXG4gICAgUlNDX1ZBUllfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19WQVJZX0hFQURFUjtcbiAgICB9LFxuICAgIEZMSUdIVF9QQVJBTUVURVJTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEZMSUdIVF9QQVJBTUVURVJTO1xuICAgIH0sXG4gICAgTkVYVF9SU0NfVU5JT05fUVVFUlk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9SU0NfVU5JT05fUVVFUlk7XG4gICAgfSxcbiAgICBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9ESURfUE9TVFBPTkVfSEVBREVSO1xuICAgIH1cbn0pO1xuY29uc3QgUlNDX0hFQURFUiA9IFwiUlNDXCI7XG5jb25zdCBBQ1RJT04gPSBcIk5leHQtQWN0aW9uXCI7XG5jb25zdCBORVhUX1JPVVRFUl9TVEFURV9UUkVFID0gXCJOZXh0LVJvdXRlci1TdGF0ZS1UcmVlXCI7XG5jb25zdCBORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIgPSBcIk5leHQtUm91dGVyLVByZWZldGNoXCI7XG5jb25zdCBORVhUX1VSTCA9IFwiTmV4dC1VcmxcIjtcbmNvbnN0IFJTQ19DT05URU5UX1RZUEVfSEVBREVSID0gXCJ0ZXh0L3gtY29tcG9uZW50XCI7XG5jb25zdCBSU0NfVkFSWV9IRUFERVIgPSBSU0NfSEVBREVSICsgXCIsIFwiICsgTkVYVF9ST1VURVJfU1RBVEVfVFJFRSArIFwiLCBcIiArIE5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiArIFwiLCBcIiArIE5FWFRfVVJMO1xuY29uc3QgRkxJR0hUX1BBUkFNRVRFUlMgPSBbXG4gICAgW1xuICAgICAgICBSU0NfSEVBREVSXG4gICAgXSxcbiAgICBbXG4gICAgICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUVcbiAgICBdLFxuICAgIFtcbiAgICAgICAgTkVYVF9ST1VURVJfUFJFRkVUQ0hfSEVBREVSXG4gICAgXVxuXTtcbmNvbnN0IE5FWFRfUlNDX1VOSU9OX1FVRVJZID0gXCJfcnNjXCI7XG5jb25zdCBORVhUX0RJRF9QT1NUUE9ORV9IRUFERVIgPSBcIngtbmV4dGpzLXBvc3Rwb25lZFwiO1xuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcm91dGVyLWhlYWRlcnMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUlNDX0hFQURFUiIsIkFDVElPTiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJORVhUX1JPVVRFUl9QUkVGRVRDSF9IRUFERVIiLCJORVhUX1VSTCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiUlNDX1ZBUllfSEVBREVSIiwiRkxJR0hUX1BBUkFNRVRFUlMiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/app-router-headers.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/app-router.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router.js ***! \****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/components/app-router.js\");\n //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7O0NBeWlCQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzPzQxNTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcjogbnVsbCxcbiAgICB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI6IG51bGwsXG4gICAgY3JlYXRlRW1wdHlDYWNoZU5vZGU6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXI7XG4gICAgfSxcbiAgICB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyO1xuICAgIH0sXG4gICAgY3JlYXRlRW1wdHlDYWNoZU5vZGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY3JlYXRlRW1wdHlDYWNoZU5vZGU7XG4gICAgfSxcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF9yb3V0ZXJyZWR1Y2VydHlwZXMgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yb3V0ZXItcmVkdWNlci10eXBlc1wiKTtcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xuY29uc3QgX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9ob29rcy1jbGllbnQtY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNvbnN0IF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzID0gcmVxdWlyZShcIi4vdXNlLXJlZHVjZXItd2l0aC1kZXZ0b29sc1wiKTtcbmNvbnN0IF9lcnJvcmJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZXJyb3ItYm91bmRhcnlcIik7XG5jb25zdCBfY3JlYXRlaW5pdGlhbHJvdXRlcnN0YXRlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLWluaXRpYWwtcm91dGVyLXN0YXRlXCIpO1xuY29uc3QgX2lzYm90ID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2lzLWJvdFwiKTtcbmNvbnN0IF9hZGRiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi9hZGQtYmFzZS1wYXRoXCIpO1xuY29uc3QgX2FwcHJvdXRlcmFubm91bmNlciA9IHJlcXVpcmUoXCIuL2FwcC1yb3V0ZXItYW5ub3VuY2VyXCIpO1xuY29uc3QgX3JlZGlyZWN0Ym91bmRhcnkgPSByZXF1aXJlKFwiLi9yZWRpcmVjdC1ib3VuZGFyeVwiKTtcbmNvbnN0IF9maW5kaGVhZGluY2FjaGUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9maW5kLWhlYWQtaW4tY2FjaGVcIik7XG5jb25zdCBfaW5maW5pdGVwcm9taXNlID0gcmVxdWlyZShcIi4vaW5maW5pdGUtcHJvbWlzZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXJoZWFkZXJzID0gcmVxdWlyZShcIi4vYXBwLXJvdXRlci1oZWFkZXJzXCIpO1xuY29uc3QgX3JlbW92ZWJhc2VwYXRoID0gcmVxdWlyZShcIi4uL3JlbW92ZS1iYXNlLXBhdGhcIik7XG5jb25zdCBfaGFzYmFzZXBhdGggPSByZXF1aXJlKFwiLi4vaGFzLWJhc2UtcGF0aFwiKTtcbmNvbnN0IGlzU2VydmVyID0gdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIjtcbi8vIEVuc3VyZSB0aGUgaW5pdGlhbFBhcmFsbGVsUm91dGVzIGFyZSBub3QgY29tYmluZWQgYmVjYXVzZSBvZiBkb3VibGUtcmVuZGVyaW5nIGluIHRoZSBicm93c2VyIHdpdGggU3RyaWN0IE1vZGUuXG5sZXQgaW5pdGlhbFBhcmFsbGVsUm91dGVzID0gaXNTZXJ2ZXIgPyBudWxsIDogbmV3IE1hcCgpO1xubGV0IGdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIgPSBudWxsO1xuZnVuY3Rpb24gZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcigpIHtcbiAgICByZXR1cm4gZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlcjtcbn1cbmNvbnN0IGdsb2JhbE11dGFibGUgPSB7fTtcbmZ1bmN0aW9uIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcih1cmwpIHtcbiAgICBjb25zdCB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycyA9IG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pO1xuICAgIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnNlYXJjaFBhcmFtcy5kZWxldGUoX2FwcHJvdXRlcmhlYWRlcnMuTkVYVF9SU0NfVU5JT05fUVVFUlkpO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9DT05GSUdfT1VUUFVUID09PSBcImV4cG9ydFwiICYmIHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzLnBhdGhuYW1lLmVuZHNXaXRoKFwiLnR4dFwiKSkge1xuICAgICAgICAgICAgY29uc3QgeyBwYXRobmFtZSB9ID0gdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnM7XG4gICAgICAgICAgICBjb25zdCBsZW5ndGggPSBwYXRobmFtZS5lbmRzV2l0aChcIi9pbmRleC50eHRcIikgPyAxMCA6IDQ7XG4gICAgICAgICAgICAvLyBTbGljZSBvZmYgYC9pbmRleC50eHRgIG9yIGAudHh0YCBmcm9tIHRoZSBlbmQgb2YgdGhlIHBhdGhuYW1lXG4gICAgICAgICAgICB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycy5wYXRobmFtZSA9IHBhdGhuYW1lLnNsaWNlKDAsIC1sZW5ndGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycztcbn1cbmZ1bmN0aW9uIGlzRXh0ZXJuYWxVUkwodXJsKSB7XG4gICAgcmV0dXJuIHVybC5vcmlnaW4gIT09IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW47XG59XG5mdW5jdGlvbiBIaXN0b3J5VXBkYXRlcihwYXJhbSkge1xuICAgIGxldCB7IGFwcFJvdXRlclN0YXRlLCBzeW5jIH0gPSBwYXJhbTtcbiAgICAoMCwgX3JlYWN0LnVzZUluc2VydGlvbkVmZmVjdCkoKCk9PntcbiAgICAgICAgY29uc3QgeyB0cmVlLCBwdXNoUmVmLCBjYW5vbmljYWxVcmwgfSA9IGFwcFJvdXRlclN0YXRlO1xuICAgICAgICBjb25zdCBoaXN0b3J5U3RhdGUgPSB7XG4gICAgICAgICAgICAuLi5wdXNoUmVmLnByZXNlcnZlQ3VzdG9tSGlzdG9yeVN0YXRlID8gd2luZG93Lmhpc3Rvcnkuc3RhdGUgOiB7fSxcbiAgICAgICAgICAgIC8vIElkZW50aWZpZXIgaXMgc2hvcnRlbmVkIGludGVudGlvbmFsbHkuXG4gICAgICAgICAgICAvLyBfX05BIGlzIHVzZWQgdG8gaWRlbnRpZnkgaWYgdGhlIGhpc3RvcnkgZW50cnkgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGFwcC1yb3V0ZXIuXG4gICAgICAgICAgICAvLyBfX04gaXMgdXNlZCB0byBpZGVudGlmeSBpZiB0aGUgaGlzdG9yeSBlbnRyeSBjYW4gYmUgaGFuZGxlZCBieSB0aGUgb2xkIHJvdXRlci5cbiAgICAgICAgICAgIF9fTkE6IHRydWUsXG4gICAgICAgICAgICBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFOiB0cmVlXG4gICAgICAgIH07XG4gICAgICAgIGlmIChwdXNoUmVmLnBlbmRpbmdQdXNoICYmIC8vIFNraXAgcHVzaGluZyBhbiBhZGRpdGlvbmFsIGhpc3RvcnkgZW50cnkgaWYgdGhlIGNhbm9uaWNhbFVybCBpcyB0aGUgc2FtZSBhcyB0aGUgY3VycmVudCB1cmwuXG4gICAgICAgIC8vIFRoaXMgbWlycm9ycyB0aGUgYnJvd3NlciBiZWhhdmlvciBmb3Igbm9ybWFsIG5hdmlnYXRpb24uXG4gICAgICAgICgwLCBfY3JlYXRlaHJlZmZyb211cmwuY3JlYXRlSHJlZkZyb21VcmwpKG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpKSAhPT0gY2Fub25pY2FsVXJsKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGludGVudGlvbmFsbHkgbXV0YXRlcyBSZWFjdCBzdGF0ZSwgcHVzaFJlZiBpcyBvdmVyd3JpdHRlbiB0byBlbnN1cmUgYWRkaXRpb25hbCBwdXNoL3JlcGxhY2UgY2FsbHMgZG8gbm90IHRyaWdnZXIgYW4gYWRkaXRpb25hbCBoaXN0b3J5IGVudHJ5LlxuICAgICAgICAgICAgcHVzaFJlZi5wZW5kaW5nUHVzaCA9IGZhbHNlO1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKGhpc3RvcnlTdGF0ZSwgXCJcIiwgY2Fub25pY2FsVXJsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZShoaXN0b3J5U3RhdGUsIFwiXCIsIGNhbm9uaWNhbFVybCk7XG4gICAgICAgIH1cbiAgICAgICAgc3luYyhhcHBSb3V0ZXJTdGF0ZSk7XG4gICAgfSwgW1xuICAgICAgICBhcHBSb3V0ZXJTdGF0ZSxcbiAgICAgICAgc3luY1xuICAgIF0pO1xuICAgIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gY3JlYXRlRW1wdHlDYWNoZU5vZGUoKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgIHJzYzogbnVsbCxcbiAgICAgICAgcHJlZmV0Y2hSc2M6IG51bGwsXG4gICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcbiAgICB9O1xufVxuZnVuY3Rpb24gdXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlcihkaXNwYXRjaCkge1xuICAgIGNvbnN0IHNlcnZlckFjdGlvbkRpc3BhdGNoZXIgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgoYWN0aW9uUGF5bG9hZCk9PntcbiAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgLi4uYWN0aW9uUGF5bG9hZCxcbiAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9TRVJWRVJfQUNUSU9OXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIGdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIgPSBzZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyO1xufVxuLyoqXG4gKiBTZXJ2ZXIgcmVzcG9uc2UgdGhhdCBvbmx5IHBhdGNoZXMgdGhlIGNhY2hlIGFuZCB0cmVlLlxuICovIGZ1bmN0aW9uIHVzZUNoYW5nZUJ5U2VydmVyUmVzcG9uc2UoZGlzcGF0Y2gpIHtcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKHByZXZpb3VzVHJlZSwgZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmwpPT57XG4gICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgZGlzcGF0Y2goe1xuICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9QQVRDSCxcbiAgICAgICAgICAgICAgICBmbGlnaHREYXRhLFxuICAgICAgICAgICAgICAgIHByZXZpb3VzVHJlZSxcbiAgICAgICAgICAgICAgICBvdmVycmlkZUNhbm9uaWNhbFVybFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbn1cbmZ1bmN0aW9uIHVzZU5hdmlnYXRlKGRpc3BhdGNoKSB7XG4gICAgcmV0dXJuICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChocmVmLCBuYXZpZ2F0ZVR5cGUsIHNob3VsZFNjcm9sbCk9PntcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShocmVmKSwgbG9jYXRpb24uaHJlZik7XG4gICAgICAgIHJldHVybiBkaXNwYXRjaCh7XG4gICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9OQVZJR0FURSxcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGlzRXh0ZXJuYWxVcmw6IGlzRXh0ZXJuYWxVUkwodXJsKSxcbiAgICAgICAgICAgIGxvY2F0aW9uU2VhcmNoOiBsb2NhdGlvbi5zZWFyY2gsXG4gICAgICAgICAgICBzaG91bGRTY3JvbGw6IHNob3VsZFNjcm9sbCAhPSBudWxsID8gc2hvdWxkU2Nyb2xsIDogdHJ1ZSxcbiAgICAgICAgICAgIG5hdmlnYXRlVHlwZVxuICAgICAgICB9KTtcbiAgICB9LCBbXG4gICAgICAgIGRpc3BhdGNoXG4gICAgXSk7XG59XG5mdW5jdGlvbiBjb3B5TmV4dEpzSW50ZXJuYWxIaXN0b3J5U3RhdGUoZGF0YSkge1xuICAgIGlmIChkYXRhID09IG51bGwpIGRhdGEgPSB7fTtcbiAgICBjb25zdCBjdXJyZW50U3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5zdGF0ZTtcbiAgICBjb25zdCBfX05BID0gY3VycmVudFN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBjdXJyZW50U3RhdGUuX19OQTtcbiAgICBpZiAoX19OQSkge1xuICAgICAgICBkYXRhLl9fTkEgPSBfX05BO1xuICAgIH1cbiAgICBjb25zdCBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFID0gY3VycmVudFN0YXRlID09IG51bGwgPyB2b2lkIDAgOiBjdXJyZW50U3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRTtcbiAgICBpZiAoX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSkge1xuICAgICAgICBkYXRhLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUgPSBfX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFO1xuICAgIH1cbiAgICByZXR1cm4gZGF0YTtcbn1cbmZ1bmN0aW9uIEhlYWQocGFyYW0pIHtcbiAgICBsZXQgeyBoZWFkQ2FjaGVOb2RlIH0gPSBwYXJhbTtcbiAgICAvLyBJZiB0aGlzIHNlZ21lbnQgaGFzIGEgYHByZWZldGNoSGVhZGAsIGl0J3MgdGhlIHN0YXRpY2FsbHkgcHJlZmV0Y2hlZCBkYXRhLlxuICAgIC8vIFdlIHNob3VsZCB1c2UgdGhhdCBvbiBpbml0aWFsIHJlbmRlciBpbnN0ZWFkIG9mIGBoZWFkYC4gVGhlbiB3ZSdsbCBzd2l0Y2hcbiAgICAvLyB0byBgaGVhZGAgd2hlbiB0aGUgZHluYW1pYyByZXNwb25zZSBzdHJlYW1zIGluLlxuICAgIGNvbnN0IGhlYWQgPSBoZWFkQ2FjaGVOb2RlICE9PSBudWxsID8gaGVhZENhY2hlTm9kZS5oZWFkIDogbnVsbDtcbiAgICBjb25zdCBwcmVmZXRjaEhlYWQgPSBoZWFkQ2FjaGVOb2RlICE9PSBudWxsID8gaGVhZENhY2hlTm9kZS5wcmVmZXRjaEhlYWQgOiBudWxsO1xuICAgIC8vIElmIG5vIHByZWZldGNoIGRhdGEgaXMgYXZhaWxhYmxlLCB0aGVuIHdlIGdvIHN0cmFpZ2h0IHRvIHJlbmRlcmluZyBgaGVhZGAuXG4gICAgY29uc3QgcmVzb2x2ZWRQcmVmZXRjaFJzYyA9IHByZWZldGNoSGVhZCAhPT0gbnVsbCA/IHByZWZldGNoSGVhZCA6IGhlYWQ7XG4gICAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gICAgLy8gZmluYWwgdmFsdWVzLiBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHJldHVybmVkIG9uIGluaXRpYWwgcmVuZGVyLCB0aGVuIGl0XG4gICAgLy8gcmUtcmVuZGVycyB3aXRoIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAgICAvL1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVGhlIHNlY29uZCBhcmd1bWVudCB0byBgdXNlRGVmZXJyZWRWYWx1ZWAgaXMgb25seVxuICAgIC8vIGF2YWlsYWJsZSBpbiB0aGUgZXhwZXJpbWVudGFsIGJ1aWxkcy4gV2hlbiBpdHMgZGlzYWJsZWQsIGl0IHdpbGwgYWx3YXlzXG4gICAgLy8gcmV0dXJuIGBoZWFkYC5cbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VEZWZlcnJlZFZhbHVlKShoZWFkLCByZXNvbHZlZFByZWZldGNoUnNjKTtcbn1cbi8qKlxuICogVGhlIGdsb2JhbCByb3V0ZXIgdGhhdCB3cmFwcyB0aGUgYXBwbGljYXRpb24gY29tcG9uZW50cy5cbiAqLyBmdW5jdGlvbiBSb3V0ZXIocGFyYW0pIHtcbiAgICBsZXQgeyBidWlsZElkLCBpbml0aWFsSGVhZCwgaW5pdGlhbFRyZWUsIGluaXRpYWxDYW5vbmljYWxVcmwsIGluaXRpYWxTZWVkRGF0YSwgYXNzZXRQcmVmaXgsIG1pc3NpbmdTbG90cyB9ID0gcGFyYW07XG4gICAgY29uc3QgaW5pdGlhbFN0YXRlID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+KDAsIF9jcmVhdGVpbml0aWFscm91dGVyc3RhdGUuY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlKSh7XG4gICAgICAgICAgICBidWlsZElkLFxuICAgICAgICAgICAgaW5pdGlhbFNlZWREYXRhLFxuICAgICAgICAgICAgaW5pdGlhbENhbm9uaWNhbFVybCxcbiAgICAgICAgICAgIGluaXRpYWxUcmVlLFxuICAgICAgICAgICAgaW5pdGlhbFBhcmFsbGVsUm91dGVzLFxuICAgICAgICAgICAgaXNTZXJ2ZXIsXG4gICAgICAgICAgICBsb2NhdGlvbjogIWlzU2VydmVyID8gd2luZG93LmxvY2F0aW9uIDogbnVsbCxcbiAgICAgICAgICAgIGluaXRpYWxIZWFkXG4gICAgICAgIH0pLCBbXG4gICAgICAgIGJ1aWxkSWQsXG4gICAgICAgIGluaXRpYWxTZWVkRGF0YSxcbiAgICAgICAgaW5pdGlhbENhbm9uaWNhbFVybCxcbiAgICAgICAgaW5pdGlhbFRyZWUsXG4gICAgICAgIGluaXRpYWxIZWFkXG4gICAgXSk7XG4gICAgY29uc3QgW3JlZHVjZXJTdGF0ZSwgZGlzcGF0Y2gsIHN5bmNdID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVJlZHVjZXJXaXRoUmVkdXhEZXZ0b29scykoaW5pdGlhbFN0YXRlKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gRW5zdXJlIGluaXRpYWxQYXJhbGxlbFJvdXRlcyBpcyBjbGVhbmVkIHVwIGZyb20gbWVtb3J5IG9uY2UgaXQncyB1c2VkLlxuICAgICAgICBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgPSBudWxsO1xuICAgIH0sIFtdKTtcbiAgICBjb25zdCB7IGNhbm9uaWNhbFVybCB9ID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVVud3JhcFN0YXRlKShyZWR1Y2VyU3RhdGUpO1xuICAgIC8vIEFkZCBtZW1vaXplZCBwYXRobmFtZS9xdWVyeSBmb3IgdXNlU2VhcmNoUGFyYW1zIGFuZCB1c2VQYXRobmFtZS5cbiAgICBjb25zdCB7IHNlYXJjaFBhcmFtcywgcGF0aG5hbWUgfSA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcbiAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTChjYW5vbmljYWxVcmwsIHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIgPyBcImh0dHA6Ly9uXCIgOiB3aW5kb3cubG9jYXRpb24uaHJlZik7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIHR1cm5lZCBpbnRvIGEgcmVhZG9ubHkgY2xhc3MgaW4gYHVzZVNlYXJjaFBhcmFtc2BcbiAgICAgICAgICAgIHNlYXJjaFBhcmFtczogdXJsLnNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgIHBhdGhuYW1lOiAoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKSh1cmwucGF0aG5hbWUpID8gKDAsIF9yZW1vdmViYXNlcGF0aC5yZW1vdmVCYXNlUGF0aCkodXJsLnBhdGhuYW1lKSA6IHVybC5wYXRobmFtZVxuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgY2Fub25pY2FsVXJsXG4gICAgXSk7XG4gICAgY29uc3QgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSA9IHVzZUNoYW5nZUJ5U2VydmVyUmVzcG9uc2UoZGlzcGF0Y2gpO1xuICAgIGNvbnN0IG5hdmlnYXRlID0gdXNlTmF2aWdhdGUoZGlzcGF0Y2gpO1xuICAgIHVzZVNlcnZlckFjdGlvbkRpc3BhdGNoZXIoZGlzcGF0Y2gpO1xuICAgIC8qKlxuICAgKiBUaGUgYXBwIHJvdXRlciB0aGF0IGlzIGV4cG9zZWQgdGhyb3VnaCBgdXNlUm91dGVyYC4gSXQncyBvbmx5IGNvbmNlcm5lZCB3aXRoIGRpc3BhdGNoaW5nIGFjdGlvbnMgdG8gdGhlIHJlZHVjZXIsIGRvZXMgbm90IGhvbGQgc3RhdGUuXG4gICAqLyBjb25zdCBhcHBSb3V0ZXIgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XG4gICAgICAgIGNvbnN0IHJvdXRlckluc3RhbmNlID0ge1xuICAgICAgICAgICAgYmFjazogKCk9PndpbmRvdy5oaXN0b3J5LmJhY2soKSxcbiAgICAgICAgICAgIGZvcndhcmQ6ICgpPT53aW5kb3cuaGlzdG9yeS5mb3J3YXJkKCksXG4gICAgICAgICAgICBwcmVmZXRjaDogKGhyZWYsIG9wdGlvbnMpPT57XG4gICAgICAgICAgICAgICAgLy8gRG9uJ3QgcHJlZmV0Y2ggZm9yIGJvdHMgYXMgdGhleSBkb24ndCBuYXZpZ2F0ZS5cbiAgICAgICAgICAgICAgICAvLyBEb24ndCBwcmVmZXRjaCBkdXJpbmcgZGV2ZWxvcG1lbnQgKGltcHJvdmVzIGNvbXBpbGF0aW9uIHBlcmZvcm1hbmNlKVxuICAgICAgICAgICAgICAgIGlmICgoMCwgX2lzYm90LmlzQm90KSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoaHJlZiksIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgICAgICAgICAvLyBFeHRlcm5hbCB1cmxzIGNhbid0IGJlIHByZWZldGNoZWQgaW4gdGhlIHNhbWUgd2F5LlxuICAgICAgICAgICAgICAgIGlmIChpc0V4dGVybmFsVVJMKHVybCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX2tpbmQ7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1BSRUZFVENILFxuICAgICAgICAgICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogKF9vcHRpb25zX2tpbmQgPSBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmtpbmQpICE9IG51bGwgPyBfb3B0aW9uc19raW5kIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuRlVMTFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZXBsYWNlOiAoaHJlZiwgb3B0aW9ucyk9PntcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSBvcHRpb25zID0ge307XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHZhciBfb3B0aW9uc19zY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRlKGhyZWYsIFwicmVwbGFjZVwiLCAoX29wdGlvbnNfc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwpICE9IG51bGwgPyBfb3B0aW9uc19zY3JvbGwgOiB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBwdXNoOiAoaHJlZiwgb3B0aW9ucyk9PntcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSBvcHRpb25zID0ge307XG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIHZhciBfb3B0aW9uc19zY3JvbGw7XG4gICAgICAgICAgICAgICAgICAgIG5hdmlnYXRlKGhyZWYsIFwicHVzaFwiLCAoX29wdGlvbnNfc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwpICE9IG51bGwgPyBfb3B0aW9uc19zY3JvbGwgOiB0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWZyZXNoOiAoKT0+e1xuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xuICAgICAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRUZSRVNILFxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgd2UgZG9uJ3Qgd2FudCB0byBleHBvc2UgdGhpcyBtZXRob2QgYXQgYWxsXG4gICAgICAgICAgICBmYXN0UmVmcmVzaDogKCk9PntcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmYXN0UmVmcmVzaCBjYW4gb25seSBiZSB1c2VkIGluIGRldmVsb3BtZW50IG1vZGUuIFBsZWFzZSB1c2UgcmVmcmVzaCBpbnN0ZWFkLlwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9GQVNUX1JFRlJFU0gsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcm91dGVySW5zdGFuY2U7XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaCxcbiAgICAgICAgbmF2aWdhdGVcbiAgICBdKTtcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gRXhpc3RzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZXMuIERvbid0IHVzZSBpbiBhcHBsaWNhdGlvbiBjb2RlLlxuICAgICAgICBpZiAod2luZG93Lm5leHQpIHtcbiAgICAgICAgICAgIHdpbmRvdy5uZXh0LnJvdXRlciA9IGFwcFJvdXRlcjtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgYXBwUm91dGVyXG4gICAgXSk7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgY29uc3QgeyBjYWNoZSwgcHJlZmV0Y2hDYWNoZSwgdHJlZSB9ID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVVud3JhcFN0YXRlKShyZWR1Y2VyU3RhdGUpO1xuICAgICAgICAvLyBUaGlzIGhvb2sgaXMgaW4gYSBjb25kaXRpb25hbCBidXQgdGhhdCBpcyBvayBiZWNhdXNlIGBwcm9jZXNzLmVudi5OT0RFX0VOVmAgbmV2ZXIgY2hhbmdlc1xuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QtaG9va3MvcnVsZXMtb2YtaG9va3NcbiAgICAgICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XG4gICAgICAgICAgICAvLyBBZGQgYHdpbmRvdy5uZGAgZm9yIGRlYnVnZ2luZyBwdXJwb3Nlcy5cbiAgICAgICAgICAgIC8vIFRoaXMgaXMgbm90IG1lYW50IGZvciB1c2UgaW4gYXBwbGljYXRpb25zIGFzIGNvbmN1cnJlbnQgcmVuZGVyaW5nIHdpbGwgYWZmZWN0IHRoZSBjYWNoZS90cmVlL3JvdXRlci5cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdGhpcyBpcyBmb3IgZGVidWdnaW5nXG4gICAgICAgICAgICB3aW5kb3cubmQgPSB7XG4gICAgICAgICAgICAgICAgcm91dGVyOiBhcHBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgY2FjaGUsXG4gICAgICAgICAgICAgICAgcHJlZmV0Y2hDYWNoZSxcbiAgICAgICAgICAgICAgICB0cmVlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9LCBbXG4gICAgICAgICAgICBhcHBSb3V0ZXIsXG4gICAgICAgICAgICBjYWNoZSxcbiAgICAgICAgICAgIHByZWZldGNoQ2FjaGUsXG4gICAgICAgICAgICB0cmVlXG4gICAgICAgIF0pO1xuICAgIH1cbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcbiAgICAgICAgLy8gSWYgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUsIGl0J3MgcG9zc2libGUgdGhhdFxuICAgICAgICAvLyBwdXNoUmVmLm1wYU5hdmlnYXRpb24gaXMgdHJ1ZSwgd2hpY2ggd291bGQgbWVhbiB0aGF0IGFueSByZS1yZW5kZXIgb2YgdGhpcyBjb21wb25lbnRcbiAgICAgICAgLy8gd291bGQgdHJpZ2dlciB0aGUgbXBhIG5hdmlnYXRpb24gbG9naWMgYWdhaW4gZnJvbSB0aGUgbGluZXMgYmVsb3cuXG4gICAgICAgIC8vIFRoaXMgd2lsbCByZXN0b3JlIHRoZSByb3V0ZXIgdG8gdGhlIGluaXRpYWwgc3RhdGUgaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUuXG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZVBhZ2VTaG93KGV2ZW50KSB7XG4gICAgICAgICAgICB2YXIgX3dpbmRvd19oaXN0b3J5X3N0YXRlO1xuICAgICAgICAgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQgfHwgISgoX3dpbmRvd19oaXN0b3J5X3N0YXRlID0gd2luZG93Lmhpc3Rvcnkuc3RhdGUpID09IG51bGwgPyB2b2lkIDAgOiBfd2luZG93X2hpc3Rvcnlfc3RhdGUuX19QUklWQVRFX05FWFRKU19JTlRFUk5BTFNfVFJFRSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcbiAgICAgICAgICAgICAgICB1cmw6IG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpLFxuICAgICAgICAgICAgICAgIHRyZWU6IHdpbmRvdy5oaXN0b3J5LnN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicGFnZXNob3dcIiwgaGFuZGxlUGFnZVNob3cpO1xuICAgICAgICByZXR1cm4gKCk9PntcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicGFnZXNob3dcIiwgaGFuZGxlUGFnZVNob3cpO1xuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgZGlzcGF0Y2hcbiAgICBdKTtcbiAgICAvLyBXaGVuIG1wYU5hdmlnYXRpb24gZmxhZyBpcyBzZXQgZG8gYSBoYXJkIG5hdmlnYXRpb24gdG8gdGhlIG5ldyB1cmwuXG4gICAgLy8gSW5maW5pdGVseSBzdXNwZW5kIGJlY2F1c2Ugd2UgZG9uJ3QgYWN0dWFsbHkgd2FudCB0byByZXJlbmRlciBhbnkgY2hpbGRcbiAgICAvLyBjb21wb25lbnRzIHdpdGggdGhlIG5ldyBVUkwgYW5kIGFueSBlbnRhbmdsZWQgc3RhdGUgdXBkYXRlcyBzaG91bGRuJ3RcbiAgICAvLyBjb21taXQgZWl0aGVyIChlZzogdXNlVHJhbnNpdGlvbiBpc1BlbmRpbmcgc2hvdWxkIHN0YXkgdHJ1ZSB1bnRpbCB0aGUgcGFnZVxuICAgIC8vIHVubG9hZHMpLlxuICAgIC8vXG4gICAgLy8gVGhpcyBpcyBhIHNpZGUgZWZmZWN0IGluIHJlbmRlci4gRG9uJ3QgdHJ5IHRoaXMgYXQgaG9tZSwga2lkcy4gSXQnc1xuICAgIC8vIHByb2JhYmx5IHNhZmUgYmVjYXVzZSB3ZSBrbm93IHRoaXMgaXMgYSBzaW5nbGV0b24gY29tcG9uZW50IGFuZCBpdCdzIG5ldmVyXG4gICAgLy8gaW4gPE9mZnNjcmVlbj4uIEF0IGxlYXN0IEkgaG9wZSBzby4gKEl0IHdpbGwgcnVuIHR3aWNlIGluIGRldiBzdHJpY3QgbW9kZSxcbiAgICAvLyBidXQgdGhhdCdzLi4uIGZpbmU/KVxuICAgIGNvbnN0IHsgcHVzaFJlZiB9ID0gKDAsIF91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzLnVzZVVud3JhcFN0YXRlKShyZWR1Y2VyU3RhdGUpO1xuICAgIGlmIChwdXNoUmVmLm1wYU5hdmlnYXRpb24pIHtcbiAgICAgICAgLy8gaWYgdGhlcmUncyBhIHJlLXJlbmRlciwgd2UgZG9uJ3Qgd2FudCB0byB0cmlnZ2VyIGFub3RoZXIgcmVkaXJlY3QgaWYgb25lIGlzIGFscmVhZHkgaW4gZmxpZ2h0IHRvIHRoZSBzYW1lIFVSTFxuICAgICAgICBpZiAoZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCAhPT0gY2Fub25pY2FsVXJsKSB7XG4gICAgICAgICAgICBjb25zdCBsb2NhdGlvbjEgPSB3aW5kb3cubG9jYXRpb247XG4gICAgICAgICAgICBpZiAocHVzaFJlZi5wZW5kaW5nUHVzaCkge1xuICAgICAgICAgICAgICAgIGxvY2F0aW9uMS5hc3NpZ24oY2Fub25pY2FsVXJsKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbG9jYXRpb24xLnJlcGxhY2UoY2Fub25pY2FsVXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGdsb2JhbE11dGFibGUucGVuZGluZ01wYVBhdGggPSBjYW5vbmljYWxVcmw7XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETy1BUFA6IFNob3VsZCB3ZSBsaXN0ZW4gdG8gbmF2aWdhdGVlcnJvciBoZXJlIHRvIGNhdGNoIGZhaWxlZFxuICAgICAgICAvLyBuYXZpZ2F0aW9ucyBzb21laG93PyBBbmQgc2hvdWxkIHdlIGNhbGwgd2luZG93LnN0b3AoKSBpZiBhIFNQQSBuYXZpZ2F0aW9uXG4gICAgICAgIC8vIHNob3VsZCBpbnRlcnJ1cHQgYW4gTVBBIG9uZT9cbiAgICAgICAgKDAsIF9yZWFjdC51c2UpKCgwLCBfaW5maW5pdGVwcm9taXNlLmNyZWF0ZUluZmluaXRlUHJvbWlzZSkoKSk7XG4gICAgfVxuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xuICAgICAgICBjb25zdCBvcmlnaW5hbFB1c2hTdGF0ZSA9IHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZS5iaW5kKHdpbmRvdy5oaXN0b3J5KTtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxSZXBsYWNlU3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUuYmluZCh3aW5kb3cuaGlzdG9yeSk7XG4gICAgICAgIC8vIEVuc3VyZSB0aGUgY2Fub25pY2FsIFVSTCBpbiB0aGUgTmV4dC5qcyBSb3V0ZXIgaXMgdXBkYXRlZCB3aGVuIHRoZSBVUkwgaXMgY2hhbmdlZCBzbyB0aGF0IGB1c2VQYXRobmFtZWAgYW5kIGB1c2VTZWFyY2hQYXJhbXNgIGhvbGQgdGhlIHB1c2hlZCB2YWx1ZXMuXG4gICAgICAgIGNvbnN0IGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSA9ICh1cmwpPT57XG4gICAgICAgICAgICBjb25zdCBocmVmID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFU1RPUkUsXG4gICAgICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh1cmwgIT0gbnVsbCA/IHVybCA6IGhyZWYsIGhyZWYpLFxuICAgICAgICAgICAgICAgICAgICB0cmVlOiB3aW5kb3cuaGlzdG9yeS5zdGF0ZS5fX1BSSVZBVEVfTkVYVEpTX0lOVEVSTkFMU19UUkVFXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfTtcbiAgICAgICAgLyoqXG4gICAgICogUGF0Y2ggcHVzaFN0YXRlIHRvIGVuc3VyZSBleHRlcm5hbCBjaGFuZ2VzIHRvIHRoZSBoaXN0b3J5IGFyZSByZWZsZWN0ZWQgaW4gdGhlIE5leHQuanMgUm91dGVyLlxuICAgICAqIEVuc3VyZXMgTmV4dC5qcyBpbnRlcm5hbCBoaXN0b3J5IHN0YXRlIGlzIGNvcGllZCB0byB0aGUgbmV3IGhpc3RvcnkgZW50cnkuXG4gICAgICogRW5zdXJlcyB1c2VQYXRobmFtZSBhbmQgdXNlU2VhcmNoUGFyYW1zIGhvbGQgdGhlIG5ld2x5IHByb3ZpZGVkIHVybC5cbiAgICAgKi8gd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlID0gZnVuY3Rpb24gcHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCkge1xuICAgICAgICAgICAgLy8gQXZvaWQgYSBsb29wIHdoZW4gTmV4dC5qcyBpbnRlcm5hbHMgdHJpZ2dlciBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlXG4gICAgICAgICAgICBpZiAoKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX19OQSkgfHwgKGRhdGEgPT0gbnVsbCA/IHZvaWQgMCA6IGRhdGEuX04pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkYXRhID0gY29weU5leHRKc0ludGVybmFsSGlzdG9yeVN0YXRlKGRhdGEpO1xuICAgICAgICAgICAgaWYgKHVybCkge1xuICAgICAgICAgICAgICAgIGFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSh1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsUHVzaFN0YXRlKGRhdGEsIF91bnVzZWQsIHVybCk7XG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAqIFBhdGNoIHJlcGxhY2VTdGF0ZSB0byBlbnN1cmUgZXh0ZXJuYWwgY2hhbmdlcyB0byB0aGUgaGlzdG9yeSBhcmUgcmVmbGVjdGVkIGluIHRoZSBOZXh0LmpzIFJvdXRlci5cbiAgICAgKiBFbnN1cmVzIE5leHQuanMgaW50ZXJuYWwgaGlzdG9yeSBzdGF0ZSBpcyBjb3BpZWQgdG8gdGhlIG5ldyBoaXN0b3J5IGVudHJ5LlxuICAgICAqIEVuc3VyZXMgdXNlUGF0aG5hbWUgYW5kIHVzZVNlYXJjaFBhcmFtcyBob2xkIHRoZSBuZXdseSBwcm92aWRlZCB1cmwuXG4gICAgICovIHdpbmRvdy5oaXN0b3J5LnJlcGxhY2VTdGF0ZSA9IGZ1bmN0aW9uIHJlcGxhY2VTdGF0ZShkYXRhLCBfdW51c2VkLCB1cmwpIHtcbiAgICAgICAgICAgIC8vIEF2b2lkIGEgbG9vcCB3aGVuIE5leHQuanMgaW50ZXJuYWxzIHRyaWdnZXIgcHVzaFN0YXRlL3JlcGxhY2VTdGF0ZVxuICAgICAgICAgICAgaWYgKChkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLl9fTkEpIHx8IChkYXRhID09IG51bGwgPyB2b2lkIDAgOiBkYXRhLl9OKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlcGxhY2VTdGF0ZShkYXRhLCBfdW51c2VkLCB1cmwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGF0YSA9IGNvcHlOZXh0SnNJbnRlcm5hbEhpc3RvcnlTdGF0ZShkYXRhKTtcbiAgICAgICAgICAgIGlmICh1cmwpIHtcbiAgICAgICAgICAgICAgICBhcHBseVVybEZyb21IaXN0b3J5UHVzaFJlcGxhY2UodXJsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbFJlcGxhY2VTdGF0ZShkYXRhLCBfdW51c2VkLCB1cmwpO1xuICAgICAgICB9O1xuICAgICAgICAvKipcbiAgICAgKiBIYW5kbGUgcG9wc3RhdGUgZXZlbnQsIHRoaXMgaXMgdXNlZCB0byBoYW5kbGUgYmFjay9mb3J3YXJkIGluIHRoZSBicm93c2VyLlxuICAgICAqIEJ5IGRlZmF1bHQgZGlzcGF0Y2hlcyBBQ1RJT05fUkVTVE9SRSwgaG93ZXZlciBpZiB0aGUgaGlzdG9yeSBlbnRyeSB3YXMgbm90IHB1c2hlZC9yZXBsYWNlZCBieSBhcHAtcm91dGVyIGl0IHdpbGwgcmVsb2FkIHRoZSBwYWdlLlxuICAgICAqIFRoYXQgY2FzZSBjYW4gaGFwcGVuIHdoZW4gdGhlIG9sZCByb3V0ZXIgaW5qZWN0ZWQgdGhlIGhpc3RvcnkgZW50cnkuXG4gICAgICovIGNvbnN0IG9uUG9wU3RhdGUgPSAocGFyYW0pPT57XG4gICAgICAgICAgICBsZXQgeyBzdGF0ZSB9ID0gcGFyYW07XG4gICAgICAgICAgICBpZiAoIXN0YXRlKSB7XG4gICAgICAgICAgICAgICAgLy8gVE9ETy1BUFA6IHRoaXMgY2FzZSBvbmx5IGhhcHBlbnMgd2hlbiBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlIHdhcyBjYWxsZWQgb3V0c2lkZSBvZiBOZXh0LmpzLiBJdCBzaG91bGQgcHJvYmFibHkgcmVsb2FkIHRoZSBwYWdlIGluIHRoaXMgY2FzZS5cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBUaGlzIGNhc2UgaGFwcGVucyB3aGVuIHRoZSBoaXN0b3J5IGVudHJ5IHdhcyBwdXNoZWQgYnkgdGhlIGBwYWdlc2Agcm91dGVyLlxuICAgICAgICAgICAgaWYgKCFzdGF0ZS5fX05BKSB7XG4gICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdXNlVHJhbnNpdGlvbiBleGlzdHNcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBJZGVhbGx5IHRoZSBiYWNrIGJ1dHRvbiBzaG91bGQgbm90IHVzZSBzdGFydFRyYW5zaXRpb24gYXMgaXQgc2hvdWxkIGFwcGx5IHRoZSB1cGRhdGVzIHN5bmNocm9ub3VzbHlcbiAgICAgICAgICAgIC8vIFdpdGhvdXQgc3RhcnRUcmFuc2l0aW9uIHdvcmtzIGlmIHRoZSBjYWNoZSBpcyB0aGVyZSBmb3IgdGhpcyBwYXRoXG4gICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1JFU1RPUkUsXG4gICAgICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksXG4gICAgICAgICAgICAgICAgICAgIHRyZWU6IHN0YXRlLl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUVcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICAvLyBSZWdpc3RlciBwb3BzdGF0ZSBldmVudCB0byBjYWxsIG9uUG9wc3RhdGUuXG4gICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgb25Qb3BTdGF0ZSk7XG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlID0gb3JpZ2luYWxQdXNoU3RhdGU7XG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUgPSBvcmlnaW5hbFJlcGxhY2VTdGF0ZTtcbiAgICAgICAgICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKFwicG9wc3RhdGVcIiwgb25Qb3BTdGF0ZSk7XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBkaXNwYXRjaFxuICAgIF0pO1xuICAgIGNvbnN0IHsgY2FjaGUsIHRyZWUsIG5leHRVcmwsIGZvY3VzQW5kU2Nyb2xsUmVmIH0gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSk7XG4gICAgY29uc3QgbWF0Y2hpbmdIZWFkID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xuICAgICAgICByZXR1cm4gKDAsIF9maW5kaGVhZGluY2FjaGUuZmluZEhlYWRJbkNhY2hlKShjYWNoZSwgdHJlZVsxXSk7XG4gICAgfSwgW1xuICAgICAgICBjYWNoZSxcbiAgICAgICAgdHJlZVxuICAgIF0pO1xuICAgIGxldCBoZWFkO1xuICAgIGlmIChtYXRjaGluZ0hlYWQgIT09IG51bGwpIHtcbiAgICAgICAgLy8gVGhlIGhlYWQgaXMgd3JhcHBlZCBpbiBhbiBleHRyYSBjb21wb25lbnQgc28gd2UgY2FuIHVzZVxuICAgICAgICAvLyBgdXNlRGVmZXJyZWRWYWx1ZWAgdG8gc3dhcCBiZXR3ZWVuIHRoZSBwcmVmZXRjaGVkIGFuZCBmaW5hbCB2ZXJzaW9ucyBvZlxuICAgICAgICAvLyB0aGUgaGVhZC4gKFRoaXMgaXMgd2hhdCBMYXlvdXRSb3V0ZXIgZG9lcyBmb3Igc2VnbWVudCBkYXRhLCB0b28uKVxuICAgICAgICAvL1xuICAgICAgICAvLyBUaGUgYGtleWAgaXMgdXNlZCB0byByZW1vdW50IHRoZSBjb21wb25lbnQgd2hlbmV2ZXIgdGhlIGhlYWQgbW92ZXMgdG9cbiAgICAgICAgLy8gYSBkaWZmZXJlbnQgc2VnbWVudC5cbiAgICAgICAgY29uc3QgW2hlYWRDYWNoZU5vZGUsIGhlYWRLZXldID0gbWF0Y2hpbmdIZWFkO1xuICAgICAgICBoZWFkID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIZWFkLCB7XG4gICAgICAgICAgICBoZWFkQ2FjaGVOb2RlOiBoZWFkQ2FjaGVOb2RlXG4gICAgICAgIH0sIGhlYWRLZXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGhlYWQgPSBudWxsO1xuICAgIH1cbiAgICBsZXQgY29udGVudCA9IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9yZWRpcmVjdGJvdW5kYXJ5LlJlZGlyZWN0Qm91bmRhcnksIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIGhlYWQsXG4gICAgICAgICAgICBjYWNoZS5yc2MsXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJhbm5vdW5jZXIuQXBwUm91dGVyQW5ub3VuY2VyLCB7XG4gICAgICAgICAgICAgICAgdHJlZTogdHJlZVxuICAgICAgICAgICAgfSlcbiAgICAgICAgXVxuICAgIH0pO1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IERldlJvb3ROb3RGb3VuZEJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZGV2LXJvb3Qtbm90LWZvdW5kLWJvdW5kYXJ5XCIpLkRldlJvb3ROb3RGb3VuZEJvdW5kYXJ5O1xuICAgICAgICAgICAgY29udGVudCA9IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoRGV2Um9vdE5vdEZvdW5kQm91bmRhcnksIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTWlzc2luZ1Nsb3RDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBtaXNzaW5nU2xvdHMsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50XG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IEhvdFJlbG9hZGVyID0gcmVxdWlyZShcIi4vcmVhY3QtZGV2LW92ZXJsYXkvaG90LXJlbG9hZGVyLWNsaWVudFwiKS5kZWZhdWx0O1xuICAgICAgICBjb250ZW50ID0gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIb3RSZWxvYWRlciwge1xuICAgICAgICAgICAgYXNzZXRQcmVmaXg6IGFzc2V0UHJlZml4LFxuICAgICAgICAgICAgY2hpbGRyZW46IGNvbnRlbnRcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIaXN0b3J5VXBkYXRlciwge1xuICAgICAgICAgICAgICAgIGFwcFJvdXRlclN0YXRlOiAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlVW53cmFwU3RhdGUpKHJlZHVjZXJTdGF0ZSksXG4gICAgICAgICAgICAgICAgc3luYzogc3luY1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgIHZhbHVlOiBwYXRobmFtZSxcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5TZWFyY2hQYXJhbXNDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWFyY2hQYXJhbXMsXG4gICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1aWxkSWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHRVcmxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBhcHBSb3V0ZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkxheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNhY2hlLnBhcmFsbGVsUm91dGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJlZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJvb3Qgbm9kZSBhbHdheXMgaGFzIGB1cmxgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm92aWRlZCBpbiBBcHBUcmVlQ29udGV4dCB0byBlbnN1cmUgaXQgY2FuIGJlIG92ZXJ3cml0dGVuIGluIGxheW91dC1yb3V0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVybDogY2Fub25pY2FsVXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBjb250ZW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIEFwcFJvdXRlcihwcm9wcykge1xuICAgIGNvbnN0IHsgZ2xvYmFsRXJyb3JDb21wb25lbnQsIC4uLnJlc3QgfSA9IHByb3BzO1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9lcnJvcmJvdW5kYXJ5LkVycm9yQm91bmRhcnksIHtcbiAgICAgICAgZXJyb3JDb21wb25lbnQ6IGdsb2JhbEVycm9yQ29tcG9uZW50LFxuICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShSb3V0ZXIsIHtcbiAgICAgICAgICAgIC4uLnJlc3RcbiAgICAgICAgfSlcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/app-router.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/error-boundary.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/error-boundary.js ***! \********************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/components/error-boundary.js\");\n //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7OztDQTJMQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeS5qcz83Njk3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIEVycm9yQm91bmRhcnlIYW5kbGVyOiBudWxsLFxuICAgIEdsb2JhbEVycm9yOiBudWxsLFxuICAgIGRlZmF1bHQ6IG51bGwsXG4gICAgRXJyb3JCb3VuZGFyeTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBFcnJvckJvdW5kYXJ5SGFuZGxlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBFcnJvckJvdW5kYXJ5SGFuZGxlcjtcbiAgICB9LFxuICAgIEdsb2JhbEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEdsb2JhbEVycm9yO1xuICAgIH0sXG4gICAgLy8gRXhwb3J0ZWQgc28gdGhhdCB0aGUgaW1wb3J0IHNpZ25hdHVyZSBpbiB0aGUgbG9hZGVycyBjYW4gYmUgaWRlbnRpY2FsIHRvIHVzZXJcbiAgICAvLyBzdXBwbGllZCBjdXN0b20gZ2xvYmFsIGVycm9yIHNpZ25hdHVyZXMuXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9LFxuICAgIEVycm9yQm91bmRhcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRXJyb3JCb3VuZGFyeTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfanN4cnVudGltZSA9IHJlcXVpcmUoXCJyZWFjdC9qc3gtcnVudGltZVwiKTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9uYXZpZ2F0aW9uID0gcmVxdWlyZShcIi4vbmF2aWdhdGlvblwiKTtcbmNvbnN0IF9pc25leHRyb3V0ZXJlcnJvciA9IHJlcXVpcmUoXCIuL2lzLW5leHQtcm91dGVyLWVycm9yXCIpO1xuY29uc3Qgc3R5bGVzID0ge1xuICAgIGVycm9yOiB7XG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbW9kZXJuLW5vcm1hbGl6ZS9ibG9iL21haW4vbW9kZXJuLW5vcm1hbGl6ZS5jc3MjTDM4LUw1MlxuICAgICAgICBmb250RmFtaWx5OiAnc3lzdGVtLXVpLFwiU2Vnb2UgVUlcIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIicsXG4gICAgICAgIGhlaWdodDogXCIxMDB2aFwiLFxuICAgICAgICB0ZXh0QWxpZ246IFwiY2VudGVyXCIsXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxuICAgIH0sXG4gICAgdGV4dDoge1xuICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXG4gICAgICAgIGZvbnRXZWlnaHQ6IDQwMCxcbiAgICAgICAgbGluZUhlaWdodDogXCIyOHB4XCIsXG4gICAgICAgIG1hcmdpbjogXCIwIDhweFwiXG4gICAgfVxufTtcbi8vIGlmIHdlIGFyZSByZXZhbGlkYXRpbmcgd2Ugd2FudCB0byByZS10aHJvdyB0aGUgZXJyb3Igc28gdGhlXG4vLyBmdW5jdGlvbiBjcmFzaGVzIHNvIHdlIGNhbiBtYWludGFpbiBvdXIgcHJldmlvdXMgY2FjaGVcbi8vIGluc3RlYWQgb2YgY2FjaGluZyB0aGUgZXJyb3IgcGFnZVxuZnVuY3Rpb24gSGFuZGxlSVNSRXJyb3IocGFyYW0pIHtcbiAgICBsZXQgeyBlcnJvciB9ID0gcGFyYW07XG4gICAgaWYgKHR5cGVvZiBmZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHZhciBfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmU7XG4gICAgICAgIGNvbnN0IHN0b3JlID0gKF9mZXRjaF9fX25leHRHZXRTdGF0aWNTdG9yZSA9IGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlKCkpID09IG51bGwgPyB2b2lkIDAgOiBfZmV0Y2hfX19uZXh0R2V0U3RhdGljU3RvcmUuZ2V0U3RvcmUoKTtcbiAgICAgICAgaWYgKChzdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RvcmUuaXNSZXZhbGlkYXRlKSB8fCAoc3RvcmUgPT0gbnVsbCA/IHZvaWQgMCA6IHN0b3JlLmlzU3RhdGljR2VuZXJhdGlvbikpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5jbGFzcyBFcnJvckJvdW5kYXJ5SGFuZGxlciBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21FcnJvcihlcnJvcikge1xuICAgICAgICBpZiAoKDAsIF9pc25leHRyb3V0ZXJlcnJvci5pc05leHRSb3V0ZXJFcnJvcikoZXJyb3IpKSB7XG4gICAgICAgICAgICAvLyBSZS10aHJvdyBpZiBhbiBleHBlY3RlZCBpbnRlcm5hbCBOZXh0LmpzIHJvdXRlciBlcnJvciBvY2N1cnNcbiAgICAgICAgICAgIC8vIHRoaXMgbWVhbnMgaXQgc2hvdWxkIGJlIGhhbmRsZWQgYnkgYSBkaWZmZXJlbnQgYm91bmRhcnkgKHN1Y2ggYXMgYSBOb3RGb3VuZCBib3VuZGFyeSBpbiBhIHBhcmVudCBzZWdtZW50KVxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVycm9yXG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAgIC8qKlxuICAgICAqIEhhbmRsZXMgcmVzZXQgb2YgdGhlIGVycm9yIGJvdW5kYXJ5IHdoZW4gYSBuYXZpZ2F0aW9uIGhhcHBlbnMuXG4gICAgICogRW5zdXJlcyB0aGUgZXJyb3IgYm91bmRhcnkgZG9lcyBub3Qgc3RheSBlbmFibGVkIHdoZW4gbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlLlxuICAgICAqIEFwcHJvYWNoIG9mIHNldFN0YXRlIGluIHJlbmRlciBpcyBzYWZlIGFzIGl0IGNoZWNrcyB0aGUgcHJldmlvdXMgcGF0aG5hbWUgYW5kIHRoZW4gb3ZlcnJpZGVzXG4gICAgICogaXQgYXMgb3V0bGluZWQgaW4gaHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL3JlYWN0L3VzZVN0YXRlI3N0b3JpbmctaW5mb3JtYXRpb24tZnJvbS1wcmV2aW91cy1yZW5kZXJzXG4gICAgICovIGlmIChwcm9wcy5wYXRobmFtZSAhPT0gc3RhdGUucHJldmlvdXNQYXRobmFtZSAmJiBzdGF0ZS5lcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBlcnJvcjogbnVsbCxcbiAgICAgICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZXJyb3I6IHN0YXRlLmVycm9yLFxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmVuZGVyKCkge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5lcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIYW5kbGVJU1JFcnJvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IHRoaXMuc3RhdGUuZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuZXJyb3JTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMuZXJyb3JTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKHRoaXMucHJvcHMuZXJyb3JDb21wb25lbnQsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yOiB0aGlzLnN0YXRlLmVycm9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQ6IHRoaXMucmVzZXRcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJvcHMpe1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMucmVzZXQgPSAoKT0+e1xuICAgICAgICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9O1xuICAgICAgICB0aGlzLnN0YXRlID0ge1xuICAgICAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiB0aGlzLnByb3BzLnBhdGhuYW1lXG4gICAgICAgIH07XG4gICAgfVxufVxuZnVuY3Rpb24gR2xvYmFsRXJyb3IocGFyYW0pIHtcbiAgICBsZXQgeyBlcnJvciB9ID0gcGFyYW07XG4gICAgY29uc3QgZGlnZXN0ID0gZXJyb3IgPT0gbnVsbCA/IHZvaWQgMCA6IGVycm9yLmRpZ2VzdDtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJodG1sXCIsIHtcbiAgICAgICAgaWQ6IFwiX19uZXh0X2Vycm9yX19cIixcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoZWFkXCIsIHt9KSxcbiAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeHMpKFwiYm9keVwiLCB7XG4gICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShIYW5kbGVJU1JFcnJvciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVycm9yXG4gICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiZGl2XCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMuZXJyb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoMlwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLnRleHQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCJBcHBsaWNhdGlvbiBlcnJvcjogYSBcIiArIChkaWdlc3QgPyBcInNlcnZlclwiIDogXCJjbGllbnRcIikgKyBcIi1zaWRlIGV4Y2VwdGlvbiBoYXMgb2NjdXJyZWQgKHNlZSB0aGUgXCIgKyAoZGlnZXN0ID8gXCJzZXJ2ZXIgbG9nc1wiIDogXCJicm93c2VyIGNvbnNvbGVcIikgKyBcIiBmb3IgbW9yZSBpbmZvcm1hdGlvbikuXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZ2VzdCA/IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJwXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMudGV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIkRpZ2VzdDogXCIgKyBkaWdlc3RcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkgOiBudWxsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5jb25zdCBfZGVmYXVsdCA9IEdsb2JhbEVycm9yO1xuZnVuY3Rpb24gRXJyb3JCb3VuZGFyeShwYXJhbSkge1xuICAgIGxldCB7IGVycm9yQ29tcG9uZW50LCBlcnJvclN0eWxlcywgZXJyb3JTY3JpcHRzLCBjaGlsZHJlbiB9ID0gcGFyYW07XG4gICAgY29uc3QgcGF0aG5hbWUgPSAoMCwgX25hdmlnYXRpb24udXNlUGF0aG5hbWUpKCk7XG4gICAgaWYgKGVycm9yQ29tcG9uZW50KSB7XG4gICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKEVycm9yQm91bmRhcnlIYW5kbGVyLCB7XG4gICAgICAgICAgICBwYXRobmFtZTogcGF0aG5hbWUsXG4gICAgICAgICAgICBlcnJvckNvbXBvbmVudDogZXJyb3JDb21wb25lbnQsXG4gICAgICAgICAgICBlcnJvclN0eWxlczogZXJyb3JTdHlsZXMsXG4gICAgICAgICAgICBlcnJvclNjcmlwdHM6IGVycm9yU2NyaXB0cyxcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVycm9yLWJvdW5kYXJ5LmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/error-boundary.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8scUJBQXFCO0FBQzNCLE1BQU1SLDJCQUEyQlM7SUFDN0JDLFlBQVlDLFdBQVcsQ0FBQztRQUNwQixLQUFLLENBQUMsMkJBQTJCQTtRQUNqQyxJQUFJLENBQUNBLFdBQVcsR0FBR0E7UUFDbkIsSUFBSSxDQUFDQyxNQUFNLEdBQUdKO0lBQ2xCO0FBQ0o7QUFDQSxTQUFTUCxxQkFBcUJZLEdBQUc7SUFDN0IsSUFBSSxPQUFPQSxRQUFRLFlBQVlBLFFBQVEsUUFBUSxDQUFFLGFBQVlBLEdBQUUsS0FBTSxPQUFPQSxJQUFJRCxNQUFNLEtBQUssVUFBVTtRQUNqRyxPQUFPO0lBQ1g7SUFDQSxPQUFPQyxJQUFJRCxNQUFNLEtBQUtKO0FBQzFCO0FBRUEsSUFBSSxDQUFDLE9BQU9YLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRaUIsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzPzAwOWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBEeW5hbWljU2VydmVyRXJyb3I6IG51bGwsXG4gICAgaXNEeW5hbWljU2VydmVyRXJyb3I6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgRHluYW1pY1NlcnZlckVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIER5bmFtaWNTZXJ2ZXJFcnJvcjtcbiAgICB9LFxuICAgIGlzRHluYW1pY1NlcnZlckVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRHluYW1pY1NlcnZlckVycm9yO1xuICAgIH1cbn0pO1xuY29uc3QgRFlOQU1JQ19FUlJPUl9DT0RFID0gXCJEWU5BTUlDX1NFUlZFUl9VU0FHRVwiO1xuY2xhc3MgRHluYW1pY1NlcnZlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKGRlc2NyaXB0aW9uKXtcbiAgICAgICAgc3VwZXIoXCJEeW5hbWljIHNlcnZlciB1c2FnZTogXCIgKyBkZXNjcmlwdGlvbik7XG4gICAgICAgIHRoaXMuZGVzY3JpcHRpb24gPSBkZXNjcmlwdGlvbjtcbiAgICAgICAgdGhpcy5kaWdlc3QgPSBEWU5BTUlDX0VSUk9SX0NPREU7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNEeW5hbWljU2VydmVyRXJyb3IoZXJyKSB7XG4gICAgaWYgKHR5cGVvZiBlcnIgIT09IFwib2JqZWN0XCIgfHwgZXJyID09PSBudWxsIHx8ICEoXCJkaWdlc3RcIiBpbiBlcnIpIHx8IHR5cGVvZiBlcnIuZGlnZXN0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVyci5kaWdlc3QgPT09IERZTkFNSUNfRVJST1JfQ09ERTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3Mtc2VydmVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRHluYW1pY1NlcnZlckVycm9yIiwiaXNEeW5hbWljU2VydmVyRXJyb3IiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJEWU5BTUlDX0VSUk9SX0NPREUiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiZGVzY3JpcHRpb24iLCJkaWdlc3QiLCJlcnIiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/layout-router.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/layout-router.js ***! \*******************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/components/layout-router.js\");\n //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7O0NBNGJBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanM/MGJmYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgLyoqXG4gKiBPdXRlckxheW91dFJvdXRlciBoYW5kbGVzIHRoZSBjdXJyZW50IHNlZ21lbnQgYXMgd2VsbCBhcyA8T2Zmc2NyZWVuPiByZW5kZXJpbmcgb2Ygb3RoZXIgc2VnbWVudHMuXG4gKiBJdCBjYW4gYmUgcmVuZGVyZWQgbmV4dCB0byBlYWNoIG90aGVyIHdpdGggYSBkaWZmZXJlbnQgYHBhcmFsbGVsUm91dGVyS2V5YCwgYWxsb3dpbmcgZm9yIFBhcmFsbGVsIHJvdXRlcy5cbiAqLyBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE91dGVyTGF5b3V0Um91dGVyO1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9yZWFjdGRvbSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0LWRvbVwiKSk7XG5jb25zdCBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9hcHAtcm91dGVyLWNvbnRleHQuc2hhcmVkLXJ1bnRpbWVcIik7XG5jb25zdCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZVwiKTtcbmNvbnN0IF9pbmZpbml0ZXByb21pc2UgPSByZXF1aXJlKFwiLi9pbmZpbml0ZS1wcm9taXNlXCIpO1xuY29uc3QgX2Vycm9yYm91bmRhcnkgPSByZXF1aXJlKFwiLi9lcnJvci1ib3VuZGFyeVwiKTtcbmNvbnN0IF9tYXRjaHNlZ21lbnRzID0gcmVxdWlyZShcIi4vbWF0Y2gtc2VnbWVudHNcIik7XG5jb25zdCBfaGFuZGxlc21vb3Roc2Nyb2xsID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2hhbmRsZS1zbW9vdGgtc2Nyb2xsXCIpO1xuY29uc3QgX3JlZGlyZWN0Ym91bmRhcnkgPSByZXF1aXJlKFwiLi9yZWRpcmVjdC1ib3VuZGFyeVwiKTtcbmNvbnN0IF9ub3Rmb3VuZGJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vbm90LWZvdW5kLWJvdW5kYXJ5XCIpO1xuY29uc3QgX2dldHNlZ21lbnR2YWx1ZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JlZHVjZXJzL2dldC1zZWdtZW50LXZhbHVlXCIpO1xuY29uc3QgX2NyZWF0ZXJvdXRlcmNhY2hla2V5ID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvY3JlYXRlLXJvdXRlci1jYWNoZS1rZXlcIik7XG4vKipcbiAqIEFkZCByZWZldGNoIG1hcmtlciB0byByb3V0ZXIgc3RhdGUgYXQgdGhlIHBvaW50IG9mIHRoZSBjdXJyZW50IGxheW91dCBzZWdtZW50LlxuICogVGhpcyBlbnN1cmVzIHRoZSByZXNwb25zZSByZXR1cm5lZCBpcyBub3QgZnVydGhlciBkb3duIHRoYW4gdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXG4gKi8gZnVuY3Rpb24gd2Fsa0FkZFJlZmV0Y2goc2VnbWVudFBhdGhUb1dhbGssIHRyZWVUb1JlY3JlYXRlKSB7XG4gICAgaWYgKHNlZ21lbnRQYXRoVG9XYWxrKSB7XG4gICAgICAgIGNvbnN0IFtzZWdtZW50LCBwYXJhbGxlbFJvdXRlS2V5XSA9IHNlZ21lbnRQYXRoVG9XYWxrO1xuICAgICAgICBjb25zdCBpc0xhc3QgPSBzZWdtZW50UGF0aFRvV2Fsay5sZW5ndGggPT09IDI7XG4gICAgICAgIGlmICgoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KSh0cmVlVG9SZWNyZWF0ZVswXSwgc2VnbWVudCkpIHtcbiAgICAgICAgICAgIGlmICh0cmVlVG9SZWNyZWF0ZVsxXS5oYXNPd25Qcm9wZXJ0eShwYXJhbGxlbFJvdXRlS2V5KSkge1xuICAgICAgICAgICAgICAgIGlmIChpc0xhc3QpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3ViVHJlZSA9IHdhbGtBZGRSZWZldGNoKHVuZGVmaW5lZCwgdHJlZVRvUmVjcmVhdGVbMV1bcGFyYWxsZWxSb3V0ZUtleV0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZVRvUmVjcmVhdGVbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4udHJlZVRvUmVjcmVhdGVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMF0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMl0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwicmVmZXRjaFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gW1xuICAgICAgICAgICAgICAgICAgICB0cmVlVG9SZWNyZWF0ZVswXSxcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udHJlZVRvUmVjcmVhdGVbMV0sXG4gICAgICAgICAgICAgICAgICAgICAgICBbcGFyYWxsZWxSb3V0ZUtleV06IHdhbGtBZGRSZWZldGNoKHNlZ21lbnRQYXRoVG9XYWxrLnNsaWNlKDIpLCB0cmVlVG9SZWNyZWF0ZVsxXVtwYXJhbGxlbFJvdXRlS2V5XSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRyZWVUb1JlY3JlYXRlO1xufVxuLy8gVE9ETy1BUFA6IFJlcGxhY2Ugd2l0aCBuZXcgUmVhY3QgQVBJIGZvciBmaW5kaW5nIGRvbSBub2RlcyB3aXRob3V0IGEgYHJlZmAgd2hlbiBhdmFpbGFibGVcbi8qKlxuICogV3JhcHMgUmVhY3RET00uZmluZERPTU5vZGUgd2l0aCBhZGRpdGlvbmFsIGxvZ2ljIHRvIGhpZGUgUmVhY3QgU3RyaWN0IE1vZGUgd2FybmluZ1xuICovIGZ1bmN0aW9uIGZpbmRET01Ob2RlKGluc3RhbmNlKSB7XG4gICAgLy8gVHJlZS1zaGFrZSBmb3Igc2VydmVyIGJ1bmRsZVxuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm4gbnVsbDtcbiAgICAvLyBPbmx5IGFwcGx5IHN0cmljdCBtb2RlIHdhcm5pbmcgd2hlbiBub3QgaW4gcHJvZHVjdGlvblxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgY29uc3Qgb3JpZ2luYWxDb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvciA9IGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIG1lc3NhZ2VzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBJZ25vcmUgc3RyaWN0IG1vZGUgd2FybmluZyBmb3IgdGhlIGZpbmREb21Ob2RlIGNhbGwgYmVsb3dcbiAgICAgICAgICAgICAgICBpZiAoIW1lc3NhZ2VzWzBdLmluY2x1ZGVzKFwiV2FybmluZzogJXMgaXMgZGVwcmVjYXRlZCBpbiBTdHJpY3RNb2RlLlwiKSkge1xuICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbENvbnNvbGVFcnJvciguLi5tZXNzYWdlcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHJldHVybiBfcmVhY3Rkb20uZGVmYXVsdC5maW5kRE9NTm9kZShpbnN0YW5jZSk7XG4gICAgICAgIH0gZmluYWxseXtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IgPSBvcmlnaW5hbENvbnNvbGVFcnJvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gX3JlYWN0ZG9tLmRlZmF1bHQuZmluZERPTU5vZGUoaW5zdGFuY2UpO1xufVxuY29uc3QgcmVjdFByb3BlcnRpZXMgPSBbXG4gICAgXCJib3R0b21cIixcbiAgICBcImhlaWdodFwiLFxuICAgIFwibGVmdFwiLFxuICAgIFwicmlnaHRcIixcbiAgICBcInRvcFwiLFxuICAgIFwid2lkdGhcIixcbiAgICBcInhcIixcbiAgICBcInlcIlxuXTtcbi8qKlxuICogQ2hlY2sgaWYgYSBIVE1MRWxlbWVudCBpcyBoaWRkZW4gb3IgZml4ZWQvc3RpY2t5IHBvc2l0aW9uXG4gKi8gZnVuY3Rpb24gc2hvdWxkU2tpcEVsZW1lbnQoZWxlbWVudCkge1xuICAgIC8vIHdlIGlnbm9yZSBmaXhlZCBvciBzdGlja3kgcG9zaXRpb25lZCBlbGVtZW50cyBzaW5jZSB0aGV5J2xsIGxpa2VseSBwYXNzIHRoZSBcImluLXZpZXdwb3J0XCIgY2hlY2tcbiAgICAvLyBhbmQgd2lsbCByZXN1bHQgaW4gYSBzaXR1YXRpb24gd2UgYmFpbCBvbiBzY3JvbGwgYmVjYXVzZSBvZiBzb21ldGhpbmcgbGlrZSBhIGZpeGVkIG5hdixcbiAgICAvLyBldmVuIHRob3VnaCB0aGUgYWN0dWFsIHBhZ2UgY29udGVudCBpcyBvZmZzY3JlZW5cbiAgICBpZiAoW1xuICAgICAgICBcInN0aWNreVwiLFxuICAgICAgICBcImZpeGVkXCJcbiAgICBdLmluY2x1ZGVzKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24pKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XG4gICAgICAgICAgICBjb25zb2xlLndhcm4oXCJTa2lwcGluZyBhdXRvLXNjcm9sbCBiZWhhdmlvciBkdWUgdG8gYHBvc2l0aW9uOiBzdGlja3lgIG9yIGBwb3NpdGlvbjogZml4ZWRgIG9uIGVsZW1lbnQ6XCIsIGVsZW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBVc2VzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIHRvIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGhpZGRlbiBpbnN0ZWFkIG9mIGBvZmZzZXRQYXJlbnRgXG4gICAgLy8gYmVjYXVzZSBgb2Zmc2V0UGFyZW50YCBkb2Vzbid0IGNvbnNpZGVyIGRvY3VtZW50L2JvZHlcbiAgICBjb25zdCByZWN0ID0gZWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICByZXR1cm4gcmVjdFByb3BlcnRpZXMuZXZlcnkoKGl0ZW0pPT5yZWN0W2l0ZW1dID09PSAwKTtcbn1cbi8qKlxuICogQ2hlY2sgaWYgdGhlIHRvcCBjb3JuZXIgb2YgdGhlIEhUTUxFbGVtZW50IGlzIGluIHRoZSB2aWV3cG9ydC5cbiAqLyBmdW5jdGlvbiB0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGVsZW1lbnQsIHZpZXdwb3J0SGVpZ2h0KSB7XG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIHJlY3QudG9wID49IDAgJiYgcmVjdC50b3AgPD0gdmlld3BvcnRIZWlnaHQ7XG59XG4vKipcbiAqIEZpbmQgdGhlIERPTSBub2RlIGZvciBhIGhhc2ggZnJhZ21lbnQuXG4gKiBJZiBgdG9wYCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSB0b3Agb2YgdGhlIHBhZ2UuIFRoaXMgbWlycm9ycyB0aGUgYnJvd3NlcidzIGJlaGF2aW9yLlxuICogSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYW4gaWQsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGVsZW1lbnQgd2l0aCB0aGF0IGlkLlxuICogSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYSBuYW1lLCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSBmaXJzdCBlbGVtZW50IHdpdGggdGhhdCBuYW1lLlxuICovIGZ1bmN0aW9uIGdldEhhc2hGcmFnbWVudERvbU5vZGUoaGFzaEZyYWdtZW50KSB7XG4gICAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYHRvcGAgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgdG9wIG9mIHRoZSBwYWdlLlxuICAgIGlmIChoYXNoRnJhZ21lbnQgPT09IFwidG9wXCIpIHtcbiAgICAgICAgcmV0dXJuIGRvY3VtZW50LmJvZHk7XG4gICAgfVxuICAgIHZhciBfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQ7XG4gICAgLy8gSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYW4gaWQsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGVsZW1lbnQgd2l0aCB0aGF0IGlkLlxuICAgIHJldHVybiAoX2RvY3VtZW50X2dldEVsZW1lbnRCeUlkID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoaGFzaEZyYWdtZW50KSkgIT0gbnVsbCA/IF9kb2N1bWVudF9nZXRFbGVtZW50QnlJZCA6IC8vIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGEgbmFtZSwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZmlyc3QgZWxlbWVudCB3aXRoIHRoYXQgbmFtZS5cbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShoYXNoRnJhZ21lbnQpWzBdO1xufVxuY2xhc3MgSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIgZXh0ZW5kcyBfcmVhY3QuZGVmYXVsdC5Db21wb25lbnQge1xuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xuICAgICAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCgpO1xuICAgIH1cbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XG4gICAgICAgIC8vIEJlY2F1c2UgdGhpcyBwcm9wZXJ0eSBpcyBvdmVyd3JpdHRlbiBpbiBoYW5kbGVQb3RlbnRpYWxTY3JvbGwgaXQncyBmaW5lIHRvIGFsd2F5cyBydW4gaXQgd2hlbiB0cnVlIGFzIGl0J2xsIGJlIHNldCB0byBmYWxzZSBmb3Igc3Vic2VxdWVudCByZW5kZXJzLlxuICAgICAgICBpZiAodGhpcy5wcm9wcy5mb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZW5kZXIoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKXtcbiAgICAgICAgc3VwZXIoLi4uYXJncyk7XG4gICAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsID0gKCk9PntcbiAgICAgICAgICAgIC8vIEhhbmRsZSBzY3JvbGwgYW5kIGZvY3VzLCBpdCdzIG9ubHkgYXBwbGllZCBvbmNlIGluIHRoZSBmaXJzdCB1c2VFZmZlY3QgdGhhdCB0cmlnZ2VycyB0aGF0IGNoYW5nZWQuXG4gICAgICAgICAgICBjb25zdCB7IGZvY3VzQW5kU2Nyb2xsUmVmLCBzZWdtZW50UGF0aCB9ID0gdGhpcy5wcm9wcztcbiAgICAgICAgICAgIGlmIChmb2N1c0FuZFNjcm9sbFJlZi5hcHBseSkge1xuICAgICAgICAgICAgICAgIC8vIHNlZ21lbnRQYXRocyBpcyBhbiBhcnJheSBvZiBzZWdtZW50IHBhdGhzIHRoYXQgc2hvdWxkIGJlIHNjcm9sbGVkIHRvXG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgc2VnbWVudCBwYXRoIGlzIG5vdCBpbiB0aGUgYXJyYXksIHRoZSBzY3JvbGwgaXMgbm90IGFwcGxpZWRcbiAgICAgICAgICAgICAgICAvLyB1bmxlc3MgdGhlIGFycmF5IGlzIGVtcHR5LCBpbiB3aGljaCBjYXNlIHRoZSBzY3JvbGwgaXMgYWx3YXlzIGFwcGxpZWRcbiAgICAgICAgICAgICAgICBpZiAoZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLmxlbmd0aCAhPT0gMCAmJiAhZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLnNvbWUoKHNjcm9sbFJlZlNlZ21lbnRQYXRoKT0+c2VnbWVudFBhdGguZXZlcnkoKHNlZ21lbnQsIGluZGV4KT0+KDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoc2VnbWVudCwgc2Nyb2xsUmVmU2VnbWVudFBhdGhbaW5kZXhdKSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGV0IGRvbU5vZGUgPSBudWxsO1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhc2hGcmFnbWVudCA9IGZvY3VzQW5kU2Nyb2xsUmVmLmhhc2hGcmFnbWVudDtcbiAgICAgICAgICAgICAgICBpZiAoaGFzaEZyYWdtZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBnZXRIYXNoRnJhZ21lbnREb21Ob2RlKGhhc2hGcmFnbWVudCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIGBmaW5kRE9NTm9kZWAgaXMgdHJpY2t5IGJlY2F1c2UgaXQgcmV0dXJucyBqdXN0IHRoZSBmaXJzdCBjaGlsZCBpZiB0aGUgY29tcG9uZW50IGlzIGEgZnJhZ21lbnQuXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBhbHJlYWR5IGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgY2hpbGQgd2FzIGEgPGxpbmsvPiBpbiBoZWFkLlxuICAgICAgICAgICAgICAgIGlmICghZG9tTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBkb21Ob2RlID0gZmluZERPTU5vZGUodGhpcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIERPTSBub2RlIHRoaXMgbGF5b3V0LXJvdXRlciBsZXZlbCBpcyBza2lwcGVkLiBJdCdsbCBiZSBoYW5kbGVkIGhpZ2hlci11cCBpbiB0aGUgdHJlZS5cbiAgICAgICAgICAgICAgICBpZiAoIShkb21Ob2RlIGluc3RhbmNlb2YgRWxlbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBWZXJpZnkgaWYgdGhlIGVsZW1lbnQgaXMgYSBIVE1MRWxlbWVudCBhbmQgaWYgd2Ugd2FudCB0byBjb25zaWRlciBpdCBmb3Igc2Nyb2xsIGJlaGF2aW9yLlxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHNraXBwZWQsIHRyeSB0byBzZWxlY3QgdGhlIG5leHQgc2libGluZyBhbmQgdHJ5IGFnYWluLlxuICAgICAgICAgICAgICAgIHdoaWxlKCEoZG9tTm9kZSBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB8fCBzaG91bGRTa2lwRWxlbWVudChkb21Ob2RlKSl7XG4gICAgICAgICAgICAgICAgICAgIC8vIE5vIHNpYmxpbmdzIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIGNyaXRlcmlhIGFyZSBmb3VuZCwgc28gaGFuZGxlIHNjcm9sbCBoaWdoZXIgdXAgaW4gdGhlIHRyZWUgaW5zdGVhZC5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZG9tTm9kZSA9IGRvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBTdGF0ZSBpcyBtdXRhdGVkIHRvIGVuc3VyZSB0aGF0IHRoZSBmb2N1cyBhbmQgc2Nyb2xsIGlzIGFwcGxpZWQgb25seSBvbmNlLlxuICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5zZWdtZW50UGF0aHMgPSBbXTtcbiAgICAgICAgICAgICAgICAoMCwgX2hhbmRsZXNtb290aHNjcm9sbC5oYW5kbGVTbW9vdGhTY3JvbGwpKCgpPT57XG4gICAgICAgICAgICAgICAgICAgIC8vIEluIGNhc2Ugb2YgaGFzaCBzY3JvbGwsIHdlIG9ubHkgbmVlZCB0byBzY3JvbGwgdGhlIGVsZW1lbnQgaW50byB2aWV3XG4gICAgICAgICAgICAgICAgICAgIGlmIChoYXNoRnJhZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbU5vZGUuc2Nyb2xsSW50b1ZpZXcoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgY3VycmVudCB2aWV3cG9ydCBoZWlnaHQgYmVjYXVzZSByZWFkaW5nIGBjbGllbnRIZWlnaHRgIGNhdXNlcyBhIHJlZmxvdyxcbiAgICAgICAgICAgICAgICAgICAgLy8gYW5kIGl0IHdvbid0IGNoYW5nZSBkdXJpbmcgdGhpcyBmdW5jdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaHRtbEVsZW1lbnQgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gaHRtbEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xuICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgZWxlbWVudCdzIHRvcCBlZGdlIGlzIGFscmVhZHkgaW4gdGhlIHZpZXdwb3J0LCBleGl0IGVhcmx5LlxuICAgICAgICAgICAgICAgICAgICBpZiAodG9wT2ZFbGVtZW50SW5WaWV3cG9ydChkb21Ob2RlLCB2aWV3cG9ydEhlaWdodCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UsIHRyeSBzY3JvbGxpbmcgZ28gdGhlIHRvcCBvZiB0aGUgZG9jdW1lbnQgdG8gYmUgYmFja3dhcmQgY29tcGF0aWJsZSB3aXRoIHBhZ2VzXG4gICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbEludG9WaWV3KCkgY2FsbGVkIG9uIGA8aHRtbC8+YCBlbGVtZW50IHNjcm9sbHMgaG9yaXpvbnRhbGx5IG9uIGNocm9tZSBhbmQgZmlyZWZveCAodGhhdCBzaG91bGRuJ3QgaGFwcGVuKVxuICAgICAgICAgICAgICAgICAgICAvLyBXZSBjb3VsZCB1c2UgaXQgdG8gc2Nyb2xsIGhvcml6b250YWxseSBmb2xsb3dpbmcgUlRMIGJ1dCB0aGF0IGFsc28gc2VlbXMgdG8gYmUgYnJva2VuIC0gaXQgd2lsbCBhbHdheXMgc2Nyb2xsIGxlZnRcbiAgICAgICAgICAgICAgICAgICAgLy8gc2Nyb2xsTGVmdCA9IDAgYWxzbyBzZWVtcyB0byBpZ25vcmUgUlRMIGFuZCBtYW51YWxseSBjaGVja2luZyBmb3IgUlRMIGlzIHRvbyBtdWNoIGhhc3NsZSBzbyB3ZSB3aWxsIHNjcm9sbCBqdXN0IHZlcnRpY2FsbHlcbiAgICAgICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2Nyb2xsIHRvIGRvbU5vZGUgaWYgZG9tTm9kZSBpcyBub3QgaW4gdmlld3BvcnQgd2hlbiBzY3JvbGxlZCB0byB0b3Agb2YgZG9jdW1lbnRcbiAgICAgICAgICAgICAgICAgICAgaWYgKCF0b3BPZkVsZW1lbnRJblZpZXdwb3J0KGRvbU5vZGUsIHZpZXdwb3J0SGVpZ2h0KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9tTm9kZS5zY3JvbGxJbnRvVmlldygpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAvLyBXZSB3aWxsIGZvcmNlIGxheW91dCBieSBxdWVyeWluZyBkb21Ob2RlIHBvc2l0aW9uXG4gICAgICAgICAgICAgICAgICAgIGRvbnRGb3JjZUxheW91dDogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgb25seUhhc2hDaGFuZ2U6IGZvY3VzQW5kU2Nyb2xsUmVmLm9ubHlIYXNoQ2hhbmdlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gTXV0YXRlIGFmdGVyIHNjcm9sbGluZyBzbyB0aGF0IGl0IGNhbiBiZSByZWFkIGJ5IGBoYW5kbGVTbW9vdGhTY3JvbGxgXG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYub25seUhhc2hDaGFuZ2UgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnRcbiAgICAgICAgICAgICAgICBkb21Ob2RlLmZvY3VzKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxufVxuZnVuY3Rpb24gU2Nyb2xsQW5kRm9jdXNIYW5kbGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgc2VnbWVudFBhdGgsIGNoaWxkcmVuIH0gPSBwYXJhbTtcbiAgICBjb25zdCBjb250ZXh0ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFyaWFudCBnbG9iYWwgbGF5b3V0IHJvdXRlciBub3QgbW91bnRlZFwiKTtcbiAgICB9XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoSW5uZXJTY3JvbGxBbmRGb2N1c0hhbmRsZXIsIHtcbiAgICAgICAgc2VnbWVudFBhdGg6IHNlZ21lbnRQYXRoLFxuICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZjogY29udGV4dC5mb2N1c0FuZFNjcm9sbFJlZixcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG4vKipcbiAqIElubmVyTGF5b3V0Um91dGVyIGhhbmRsZXMgcmVuZGVyaW5nIHRoZSBwcm92aWRlZCBzZWdtZW50IGJhc2VkIG9uIHRoZSBjYWNoZS5cbiAqLyBmdW5jdGlvbiBJbm5lckxheW91dFJvdXRlcihwYXJhbSkge1xuICAgIGxldCB7IHBhcmFsbGVsUm91dGVyS2V5LCB1cmwsIGNoaWxkTm9kZXMsIHNlZ21lbnRQYXRoLCB0cmVlLCAvLyBUT0RPLUFQUDogaW1wbGVtZW50IGA8T2Zmc2NyZWVuPmAgd2hlbiBhdmFpbGFibGUuXG4gICAgLy8gaXNBY3RpdmUsXG4gICAgY2FjaGVLZXkgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGNvbnRleHQgPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5HbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIWNvbnRleHQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkXCIpO1xuICAgIH1cbiAgICBjb25zdCB7IGJ1aWxkSWQsIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2UsIHRyZWU6IGZ1bGxUcmVlIH0gPSBjb250ZXh0O1xuICAgIC8vIFJlYWQgc2VnbWVudCBwYXRoIGZyb20gdGhlIHBhcmFsbGVsIHJvdXRlciBjYWNoZSBub2RlLlxuICAgIGxldCBjaGlsZE5vZGUgPSBjaGlsZE5vZGVzLmdldChjYWNoZUtleSk7XG4gICAgLy8gV2hlbiBkYXRhIGlzIG5vdCBhdmFpbGFibGUgZHVyaW5nIHJlbmRlcmluZyBjbGllbnQtc2lkZSB3ZSBuZWVkIHRvIGZldGNoXG4gICAgLy8gaXQgZnJvbSB0aGUgc2VydmVyLlxuICAgIGlmIChjaGlsZE5vZGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBuZXdMYXp5Q2FjaGVOb2RlID0ge1xuICAgICAgICAgICAgbGF6eURhdGE6IG51bGwsXG4gICAgICAgICAgICByc2M6IG51bGwsXG4gICAgICAgICAgICBwcmVmZXRjaFJzYzogbnVsbCxcbiAgICAgICAgICAgIGhlYWQ6IG51bGwsXG4gICAgICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpXG4gICAgICAgIH07XG4gICAgICAgIC8qKlxuICAgICAqIEZsaWdodCBkYXRhIGZldGNoIGtpY2tlZCBvZmYgZHVyaW5nIHJlbmRlciBhbmQgcHV0IGludG8gdGhlIGNhY2hlLlxuICAgICAqLyBjaGlsZE5vZGUgPSBuZXdMYXp5Q2FjaGVOb2RlO1xuICAgICAgICBjaGlsZE5vZGVzLnNldChjYWNoZUtleSwgbmV3TGF6eUNhY2hlTm9kZSk7XG4gICAgfVxuICAgIC8vIGByc2NgIHJlcHJlc2VudHMgdGhlIHJlbmRlcmFibGUgbm9kZSBmb3IgdGhpcyBzZWdtZW50LlxuICAgIC8vIElmIHRoaXMgc2VnbWVudCBoYXMgYSBgcHJlZmV0Y2hSc2NgLCBpdCdzIHRoZSBzdGF0aWNhbGx5IHByZWZldGNoZWQgZGF0YS5cbiAgICAvLyBXZSBzaG91bGQgdXNlIHRoYXQgb24gaW5pdGlhbCByZW5kZXIgaW5zdGVhZCBvZiBgcnNjYC4gVGhlbiB3ZSdsbCBzd2l0Y2hcbiAgICAvLyB0byBgcnNjYCB3aGVuIHRoZSBkeW5hbWljIHJlc3BvbnNlIHN0cmVhbXMgaW4uXG4gICAgLy9cbiAgICAvLyBJZiBubyBwcmVmZXRjaCBkYXRhIGlzIGF2YWlsYWJsZSwgdGhlbiB3ZSBnbyBzdHJhaWdodCB0byByZW5kZXJpbmcgYHJzY2AuXG4gICAgY29uc3QgcmVzb2x2ZWRQcmVmZXRjaFJzYyA9IGNoaWxkTm9kZS5wcmVmZXRjaFJzYyAhPT0gbnVsbCA/IGNoaWxkTm9kZS5wcmVmZXRjaFJzYyA6IGNoaWxkTm9kZS5yc2M7XG4gICAgLy8gV2UgdXNlIGB1c2VEZWZlcnJlZFZhbHVlYCB0byBoYW5kbGUgc3dpdGNoaW5nIGJldHdlZW4gdGhlIHByZWZldGNoZWQgYW5kXG4gICAgLy8gZmluYWwgdmFsdWVzLiBUaGUgc2Vjb25kIGFyZ3VtZW50IGlzIHJldHVybmVkIG9uIGluaXRpYWwgcmVuZGVyLCB0aGVuIGl0XG4gICAgLy8gcmUtcmVuZGVycyB3aXRoIHRoZSBmaXJzdCBhcmd1bWVudC5cbiAgICAvL1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgVGhlIHNlY29uZCBhcmd1bWVudCB0byBgdXNlRGVmZXJyZWRWYWx1ZWAgaXMgb25seVxuICAgIC8vIGF2YWlsYWJsZSBpbiB0aGUgZXhwZXJpbWVudGFsIGJ1aWxkcy4gV2hlbiBpdHMgZGlzYWJsZWQsIGl0IHdpbGwgYWx3YXlzXG4gICAgLy8gcmV0dXJuIGByc2NgLlxuICAgIGNvbnN0IHJzYyA9ICgwLCBfcmVhY3QudXNlRGVmZXJyZWRWYWx1ZSkoY2hpbGROb2RlLnJzYywgcmVzb2x2ZWRQcmVmZXRjaFJzYyk7XG4gICAgLy8gYHJzY2AgaXMgZWl0aGVyIGEgUmVhY3Qgbm9kZSBvciBhIHByb21pc2UgZm9yIGEgUmVhY3Qgbm9kZSwgZXhjZXB0IHdlXG4gICAgLy8gc3BlY2lhbCBjYXNlIGBudWxsYCB0byByZXByZXNlbnQgdGhhdCB0aGlzIHNlZ21lbnQncyBkYXRhIGlzIG1pc3NpbmcuIElmXG4gICAgLy8gaXQncyBhIHByb21pc2UsIHdlIG5lZWQgdG8gdW53cmFwIGl0IHNvIHdlIGNhbiBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgdGhlXG4gICAgLy8gZGF0YSBpcyBtaXNzaW5nLlxuICAgIGNvbnN0IHJlc29sdmVkUnNjID0gdHlwZW9mIHJzYyA9PT0gXCJvYmplY3RcIiAmJiByc2MgIT09IG51bGwgJiYgdHlwZW9mIHJzYy50aGVuID09PSBcImZ1bmN0aW9uXCIgPyAoMCwgX3JlYWN0LnVzZSkocnNjKSA6IHJzYztcbiAgICBpZiAoIXJlc29sdmVkUnNjKSB7XG4gICAgICAgIC8vIFRoZSBkYXRhIGZvciB0aGlzIHNlZ21lbnQgaXMgbm90IGF2YWlsYWJsZSwgYW5kIHRoZXJlJ3Mgbm8gcGVuZGluZ1xuICAgICAgICAvLyBuYXZpZ2F0aW9uIHRoYXQgd2lsbCBiZSBhYmxlIHRvIGZ1bGZpbGwgaXQuIFdlIG5lZWQgdG8gZmV0Y2ggbW9yZSBmcm9tXG4gICAgICAgIC8vIHRoZSBzZXJ2ZXIgYW5kIHBhdGNoIHRoZSBjYWNoZS5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlcmUncyBhbHJlYWR5IGEgcGVuZGluZyByZXF1ZXN0LlxuICAgICAgICBsZXQgbGF6eURhdGEgPSBjaGlsZE5vZGUubGF6eURhdGE7XG4gICAgICAgIGlmIChsYXp5RGF0YSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgLyoqXG4gICAgICAgKiBSb3V0ZXIgc3RhdGUgd2l0aCByZWZldGNoIG1hcmtlciBhZGRlZFxuICAgICAgICovIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcbiAgICAgICAgICAgIGNvbnN0IHJlZmV0Y2hUcmVlID0gd2Fsa0FkZFJlZmV0Y2goW1xuICAgICAgICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgICAgICAgLi4uc2VnbWVudFBhdGhcbiAgICAgICAgICAgIF0sIGZ1bGxUcmVlKTtcbiAgICAgICAgICAgIGNoaWxkTm9kZS5sYXp5RGF0YSA9IGxhenlEYXRhID0gKDAsIF9mZXRjaHNlcnZlcnJlc3BvbnNlLmZldGNoU2VydmVyUmVzcG9uc2UpKG5ldyBVUkwodXJsLCBsb2NhdGlvbi5vcmlnaW4pLCByZWZldGNoVHJlZSwgY29udGV4dC5uZXh0VXJsLCBidWlsZElkKTtcbiAgICAgICAgfVxuICAgICAgICAvKipcbiAgICAgKiBGbGlnaHQgcmVzcG9uc2UgZGF0YVxuICAgICAqLyAvLyBXaGVuIHRoZSBkYXRhIGhhcyBub3QgcmVzb2x2ZWQgeWV0IGB1c2VgIHdpbGwgc3VzcGVuZCBoZXJlLlxuICAgICAgICBjb25zdCBbZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmxdID0gKDAsIF9yZWFjdC51c2UpKGxhenlEYXRhKTtcbiAgICAgICAgLy8gc2VnbWVudFBhdGggZnJvbSB0aGUgc2VydmVyIGRvZXMgbm90IG1hdGNoIHRoZSBsYXlvdXQncyBzZWdtZW50UGF0aFxuICAgICAgICBjaGlsZE5vZGUubGF6eURhdGEgPSBudWxsO1xuICAgICAgICAvLyBzZXRUaW1lb3V0IGlzIHVzZWQgdG8gc3RhcnQgYSBuZXcgdHJhbnNpdGlvbiBkdXJpbmcgcmVuZGVyLCB0aGlzIGlzIGFuIGludGVudGlvbmFsIGhhY2sgYXJvdW5kIFJlYWN0LlxuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcbiAgICAgICAgICAgICAgICBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlKGZ1bGxUcmVlLCBmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFN1c3BlbmQgaW5maW5pdGVseSBhcyBgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZWAgd2lsbCBjYXVzZSBhIGRpZmZlcmVudCBwYXJ0IG9mIHRoZSB0cmVlIHRvIGJlIHJlbmRlcmVkLlxuICAgICAgICAoMCwgX3JlYWN0LnVzZSkoKDAsIF9pbmZpbml0ZXByb21pc2UuY3JlYXRlSW5maW5pdGVQcm9taXNlKSgpKTtcbiAgICB9XG4gICAgLy8gSWYgd2UgZ2V0IHRvIHRoaXMgcG9pbnQsIHRoZW4gd2Uga25vdyB3ZSBoYXZlIHNvbWV0aGluZyB3ZSBjYW4gcmVuZGVyLlxuICAgIGNvbnN0IHN1YnRyZWUgPSAvLyBUaGUgbGF5b3V0IHJvdXRlciBjb250ZXh0IG5hcnJvd3MgZG93biB0cmVlIGFuZCBjaGlsZE5vZGVzIGF0IGVhY2ggbGV2ZWwuXG4gICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICB2YWx1ZToge1xuICAgICAgICAgICAgdHJlZTogdHJlZVsxXVtwYXJhbGxlbFJvdXRlcktleV0sXG4gICAgICAgICAgICBjaGlsZE5vZGVzOiBjaGlsZE5vZGUucGFyYWxsZWxSb3V0ZXMsXG4gICAgICAgICAgICAvLyBUT0RPLUFQUDogb3ZlcnJpZGluZyBvZiB1cmwgZm9yIHBhcmFsbGVsIHJvdXRlc1xuICAgICAgICAgICAgdXJsOiB1cmxcbiAgICAgICAgfSxcbiAgICAgICAgY2hpbGRyZW46IHJlc29sdmVkUnNjXG4gICAgfSk7XG4gICAgLy8gRW5zdXJlIHJvb3QgbGF5b3V0IGlzIG5vdCB3cmFwcGVkIGluIGEgZGl2IGFzIHRoZSByb290IGxheW91dCByZW5kZXJzIGA8aHRtbD5gXG4gICAgcmV0dXJuIHN1YnRyZWU7XG59XG4vKipcbiAqIFJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgd2l0aCB0aGUgcHJvdmlkZWQgXCJsb2FkaW5nXCIgcHJvcGVydHkgYXMgdGhlIGZhbGxiYWNrLlxuICogSWYgbm8gbG9hZGluZyBwcm9wZXJ0eSBpcyBwcm92aWRlZCBpdCByZW5kZXJzIHRoZSBjaGlsZHJlbiB3aXRob3V0IGEgc3VzcGVuc2UgYm91bmRhcnkuXG4gKi8gZnVuY3Rpb24gTG9hZGluZ0JvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgY2hpbGRyZW4sIGxvYWRpbmcsIGxvYWRpbmdTdHlsZXMsIGxvYWRpbmdTY3JpcHRzLCBoYXNMb2FkaW5nIH0gPSBwYXJhbTtcbiAgICBpZiAoaGFzTG9hZGluZykge1xuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShfcmVhY3QuU3VzcGVuc2UsIHtcbiAgICAgICAgICAgIGZhbGxiYWNrOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICBsb2FkaW5nXG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBjaGlsZHJlbjogY2hpbGRyZW5cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuZnVuY3Rpb24gT3V0ZXJMYXlvdXRSb3V0ZXIocGFyYW0pIHtcbiAgICBsZXQgeyBwYXJhbGxlbFJvdXRlcktleSwgc2VnbWVudFBhdGgsIGVycm9yLCBlcnJvclN0eWxlcywgZXJyb3JTY3JpcHRzLCB0ZW1wbGF0ZVN0eWxlcywgdGVtcGxhdGVTY3JpcHRzLCBsb2FkaW5nLCBsb2FkaW5nU3R5bGVzLCBsb2FkaW5nU2NyaXB0cywgaGFzTG9hZGluZywgdGVtcGxhdGUsIG5vdEZvdW5kLCBub3RGb3VuZFN0eWxlcywgc3R5bGVzIH0gPSBwYXJhbTtcbiAgICBjb25zdCBjb250ZXh0ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dCk7XG4gICAgaWYgKCFjb250ZXh0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFyaWFudCBleHBlY3RlZCBsYXlvdXQgcm91dGVyIHRvIGJlIG1vdW50ZWRcIik7XG4gICAgfVxuICAgIGNvbnN0IHsgY2hpbGROb2RlcywgdHJlZSwgdXJsIH0gPSBjb250ZXh0O1xuICAgIC8vIEdldCB0aGUgY3VycmVudCBwYXJhbGxlbFJvdXRlciBjYWNoZSBub2RlXG4gICAgbGV0IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IGNoaWxkTm9kZXMuZ2V0KHBhcmFsbGVsUm91dGVyS2V5KTtcbiAgICAvLyBJZiB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUgZG9lcyBub3QgZXhpc3QgeWV0LCBjcmVhdGUgaXQuXG4gICAgLy8gVGhpcyB3cml0ZXMgdG8gdGhlIGNhY2hlIHdoZW4gdGhlcmUgaXMgbm8gaXRlbSBpbiB0aGUgY2FjaGUgeWV0LiBJdCBuZXZlciAqb3ZlcndyaXRlcyogZXhpc3RpbmcgY2FjaGUgaXRlbXMgd2hpY2ggaXMgd2h5IGl0J3Mgc2FmZSBpbiBjb25jdXJyZW50IG1vZGUuXG4gICAgaWYgKCFjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpIHtcbiAgICAgICAgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyID0gbmV3IE1hcCgpO1xuICAgICAgICBjaGlsZE5vZGVzLnNldChwYXJhbGxlbFJvdXRlcktleSwgY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyKTtcbiAgICB9XG4gICAgLy8gR2V0IHRoZSBhY3RpdmUgc2VnbWVudCBpbiB0aGUgdHJlZVxuICAgIC8vIFRoZSByZWFzb24gYXJyYXlzIGFyZSB1c2VkIGluIHRoZSBkYXRhIGZvcm1hdCBpcyB0aGF0IHRoZXNlIGFyZSB0cmFuc2ZlcnJlZCBmcm9tIHRoZSBzZXJ2ZXIgdG8gdGhlIGJyb3dzZXIgc28gaXQncyBvcHRpbWl6ZWQgdG8gc2F2ZSBieXRlcy5cbiAgICBjb25zdCB0cmVlU2VnbWVudCA9IHRyZWVbMV1bcGFyYWxsZWxSb3V0ZXJLZXldWzBdO1xuICAgIC8vIElmIHNlZ21lbnQgaXMgYW4gYXJyYXkgaXQncyBhIGR5bmFtaWMgcm91dGUgYW5kIHdlIHdhbnQgdG8gcmVhZCB0aGUgZHluYW1pYyByb3V0ZSB2YWx1ZSBhcyB0aGUgc2VnbWVudCB0byBnZXQgZnJvbSB0aGUgY2FjaGUuXG4gICAgY29uc3QgY3VycmVudENoaWxkU2VnbWVudFZhbHVlID0gKDAsIF9nZXRzZWdtZW50dmFsdWUuZ2V0U2VnbWVudFZhbHVlKSh0cmVlU2VnbWVudCk7XG4gICAgLyoqXG4gICAqIERlY2lkZXMgd2hpY2ggc2VnbWVudHMgdG8ga2VlcCByZW5kZXJpbmcsIGFsbCBzZWdtZW50cyB0aGF0IGFyZSBub3QgYWN0aXZlIHdpbGwgYmUgd3JhcHBlZCBpbiBgPE9mZnNjcmVlbj5gLlxuICAgKi8gLy8gVE9ETy1BUFA6IEFkZCBoYW5kbGluZyBvZiBgPE9mZnNjcmVlbj5gIHdoZW4gaXQncyBhdmFpbGFibGUuXG4gICAgY29uc3QgcHJlc2VydmVkU2VnbWVudHMgPSBbXG4gICAgICAgIHRyZWVTZWdtZW50XG4gICAgXTtcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgIHN0eWxlcyxcbiAgICAgICAgICAgIHByZXNlcnZlZFNlZ21lbnRzLm1hcCgocHJlc2VydmVkU2VnbWVudCk9PntcbiAgICAgICAgICAgICAgICBjb25zdCBwcmVzZXJ2ZWRTZWdtZW50VmFsdWUgPSAoMCwgX2dldHNlZ21lbnR2YWx1ZS5nZXRTZWdtZW50VmFsdWUpKHByZXNlcnZlZFNlZ21lbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkocHJlc2VydmVkU2VnbWVudCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuKC8qXG4gICAgICAgICAgICAtIEVycm9yIGJvdW5kYXJ5XG4gICAgICAgICAgICAgIC0gT25seSByZW5kZXJzIGVycm9yIGJvdW5kYXJ5IGlmIGVycm9yIGNvbXBvbmVudCBpcyBwcm92aWRlZC5cbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGVycm9yIHN0YXRlLlxuICAgICAgICAgICAgLSBMb2FkaW5nIGJvdW5kYXJ5XG4gICAgICAgICAgICAgIC0gT25seSByZW5kZXJzIHN1c3BlbnNlIGJvdW5kYXJ5IGlmIGxvYWRpbmcgY29tcG9uZW50cyBpcyBwcm92aWRlZC5cbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGxvYWRpbmcgc3RhdGUuXG4gICAgICAgICAgICAgIC0gUGFzc2VkIHRvIHRoZSByb3V0ZXIgZHVyaW5nIHJlbmRlcmluZyB0byBlbnN1cmUgaXQgY2FuIGJlIGltbWVkaWF0ZWx5IHJlbmRlcmVkIHdoZW4gc3VzcGVuZGluZyBvbiBhIEZsaWdodCBmZXRjaC5cbiAgICAgICAgICAqLyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuVGVtcGxhdGVDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFNjcm9sbEFuZEZvY3VzSGFuZGxlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudFBhdGg6IHNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2Vycm9yYm91bmRhcnkuRXJyb3JCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yQ29tcG9uZW50OiBlcnJvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvclN0eWxlczogZXJyb3JTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JTY3JpcHRzOiBlcnJvclNjcmlwdHMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoTG9hZGluZ0JvdW5kYXJ5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc0xvYWRpbmc6IGhhc0xvYWRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmc6IGxvYWRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTdHlsZXM6IGxvYWRpbmdTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvYWRpbmdTY3JpcHRzOiBsb2FkaW5nU2NyaXB0cyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX25vdGZvdW5kYm91bmRhcnkuTm90Rm91bmRCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmQ6IG5vdEZvdW5kLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90Rm91bmRTdHlsZXM6IG5vdEZvdW5kU3R5bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX3JlZGlyZWN0Ym91bmRhcnkuUmVkaXJlY3RCb3VuZGFyeSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKElubmVyTGF5b3V0Um91dGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVyS2V5OiBwYXJhbGxlbFJvdXRlcktleSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyZWU6IHRyZWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VnbWVudFBhdGg6IHNlZ21lbnRQYXRoLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZUtleTogY2FjaGVLZXksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUgPT09IHByZXNlcnZlZFNlZ21lbnRWYWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlU3R5bGVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVTY3JpcHRzLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sICgwLCBfY3JlYXRlcm91dGVyY2FjaGVrZXkuY3JlYXRlUm91dGVyQ2FjaGVLZXkpKHByZXNlcnZlZFNlZ21lbnQsIHRydWUpKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICBdXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxheW91dC1yb3V0ZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/layout-router.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! \************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/components/not-found-boundary.js\");\n //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoiOzs7Q0EwR0EsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LmpzPzMyYzkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTm90Rm91bmRCb3VuZGFyeVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTm90Rm91bmRCb3VuZGFyeTtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcbmNvbnN0IF9uYXZpZ2F0aW9uID0gcmVxdWlyZShcIi4vbmF2aWdhdGlvblwiKTtcbmNvbnN0IF9ub3Rmb3VuZCA9IHJlcXVpcmUoXCIuL25vdC1mb3VuZFwiKTtcbmNvbnN0IF93YXJub25jZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3V0aWxzL3dhcm4tb25jZVwiKTtcbmNvbnN0IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2FwcC1yb3V0ZXItY29udGV4dC5zaGFyZWQtcnVudGltZVwiKTtcbmNsYXNzIE5vdEZvdW5kRXJyb3JCb3VuZGFyeSBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XG4gICAgY29tcG9uZW50RGlkQ2F0Y2goKSB7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiICYmIC8vIEEgbWlzc2luZyBjaGlsZHJlbiBzbG90IGlzIHRoZSB0eXBpY2FsIG5vdC1mb3VuZCBjYXNlLCBzbyBubyBuZWVkIHRvIHdhcm5cbiAgICAgICAgIXRoaXMucHJvcHMubWlzc2luZ1Nsb3RzLmhhcyhcImNoaWxkcmVuXCIpKSB7XG4gICAgICAgICAgICBsZXQgd2FybmluZ01lc3NhZ2UgPSBcIk5vIGRlZmF1bHQgY29tcG9uZW50IHdhcyBmb3VuZCBmb3IgYSBwYXJhbGxlbCByb3V0ZSByZW5kZXJlZCBvbiB0aGlzIHBhZ2UuIEZhbGxpbmcgYmFjayB0byBuZWFyZXN0IE5vdEZvdW5kIGJvdW5kYXJ5LlxcblwiICsgXCJMZWFybiBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9hcHAvYnVpbGRpbmcteW91ci1hcHBsaWNhdGlvbi9yb3V0aW5nL3BhcmFsbGVsLXJvdXRlcyNkZWZhdWx0anNcXG5cXG5cIjtcbiAgICAgICAgICAgIGlmICh0aGlzLnByb3BzLm1pc3NpbmdTbG90cy5zaXplID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGZvcm1hdHRlZFNsb3RzID0gQXJyYXkuZnJvbSh0aGlzLnByb3BzLm1pc3NpbmdTbG90cykuc29ydCgoYSwgYik9PmEubG9jYWxlQ29tcGFyZShiKSkubWFwKChzbG90KT0+XCJAXCIgKyBzbG90KS5qb2luKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgd2FybmluZ01lc3NhZ2UgKz0gXCJNaXNzaW5nIHNsb3RzOiBcIiArIGZvcm1hdHRlZFNsb3RzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKDAsIF93YXJub25jZS53YXJuT25jZSkod2FybmluZ01lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcbiAgICAgICAgaWYgKCgwLCBfbm90Zm91bmQuaXNOb3RGb3VuZEVycm9yKShlcnJvcikpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgbm90Rm91bmRUcmlnZ2VyZWQ6IHRydWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgLy8gUmUtdGhyb3cgaWYgZXJyb3IgaXMgbm90IGZvciA0MDRcbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMocHJvcHMsIHN0YXRlKSB7XG4gICAgICAgIC8qKlxuICAgICAqIEhhbmRsZXMgcmVzZXQgb2YgdGhlIGVycm9yIGJvdW5kYXJ5IHdoZW4gYSBuYXZpZ2F0aW9uIGhhcHBlbnMuXG4gICAgICogRW5zdXJlcyB0aGUgZXJyb3IgYm91bmRhcnkgZG9lcyBub3Qgc3RheSBlbmFibGVkIHdoZW4gbmF2aWdhdGluZyB0byBhIG5ldyBwYWdlLlxuICAgICAqIEFwcHJvYWNoIG9mIHNldFN0YXRlIGluIHJlbmRlciBpcyBzYWZlIGFzIGl0IGNoZWNrcyB0aGUgcHJldmlvdXMgcGF0aG5hbWUgYW5kIHRoZW4gb3ZlcnJpZGVzXG4gICAgICogaXQgYXMgb3V0bGluZWQgaW4gaHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL3JlYWN0L3VzZVN0YXRlI3N0b3JpbmctaW5mb3JtYXRpb24tZnJvbS1wcmV2aW91cy1yZW5kZXJzXG4gICAgICovIGlmIChwcm9wcy5wYXRobmFtZSAhPT0gc3RhdGUucHJldmlvdXNQYXRobmFtZSAmJiBzdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogZmFsc2UsXG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5vdEZvdW5kVHJpZ2dlcmVkOiBzdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCxcbiAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lXG4gICAgICAgIH07XG4gICAgfVxuICAgIHJlbmRlcigpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUubm90Rm91bmRUcmlnZ2VyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJtZXRhXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU6IFwicm9ib3RzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIm5vaW5kZXhcIlxuICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIiAmJiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwibWV0YVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lOiBcIm5leHQtZXJyb3JcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwibm90LWZvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubm90Rm91bmRTdHlsZXMsXG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJvcHMubm90Rm91bmRcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcbiAgICB9XG4gICAgY29uc3RydWN0b3IocHJvcHMpe1xuICAgICAgICBzdXBlcihwcm9wcyk7XG4gICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogISFwcm9wcy5hc05vdEZvdW5kLFxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcbiAgICAgICAgfTtcbiAgICB9XG59XG5mdW5jdGlvbiBOb3RGb3VuZEJvdW5kYXJ5KHBhcmFtKSB7XG4gICAgbGV0IHsgbm90Rm91bmQsIG5vdEZvdW5kU3R5bGVzLCBhc05vdEZvdW5kLCBjaGlsZHJlbiB9ID0gcGFyYW07XG4gICAgY29uc3QgcGF0aG5hbWUgPSAoMCwgX25hdmlnYXRpb24udXNlUGF0aG5hbWUpKCk7XG4gICAgY29uc3QgbWlzc2luZ1Nsb3RzID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTWlzc2luZ1Nsb3RDb250ZXh0KTtcbiAgICByZXR1cm4gbm90Rm91bmQgPyAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKE5vdEZvdW5kRXJyb3JCb3VuZGFyeSwge1xuICAgICAgICBwYXRobmFtZTogcGF0aG5hbWUsXG4gICAgICAgIG5vdEZvdW5kOiBub3RGb3VuZCxcbiAgICAgICAgbm90Rm91bmRTdHlsZXM6IG5vdEZvdW5kU3R5bGVzLFxuICAgICAgICBhc05vdEZvdW5kOiBhc05vdEZvdW5kLFxuICAgICAgICBtaXNzaW5nU2xvdHM6IG1pc3NpbmdTbG90cyxcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSkgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKF9qc3hydW50aW1lLkZyYWdtZW50LCB7XG4gICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgIH0pO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1ub3QtZm91bmQtYm91bmRhcnkuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/not-found-error.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-error.js ***! \*********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return NotFound;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n desc: {\n display: \"inline-block\"\n },\n h1: {\n display: \"inline-block\",\n margin: \"0 20px 0 0\",\n padding: \"0 23px 0 0\",\n fontSize: 24,\n fontWeight: 500,\n verticalAlign: \"top\",\n lineHeight: \"49px\"\n },\n h2: {\n fontSize: 14,\n fontWeight: 400,\n lineHeight: \"49px\",\n margin: 0\n }\n};\nfunction NotFound() {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"404: This page could not be found.\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"style\", {\n dangerouslySetInnerHTML: {\n /* Minified CSS from\n body { margin: 0; color: #000; background: #fff; }\n .next-error-h1 {\n border-right: 1px solid rgba(0, 0, 0, .3);\n }\n\n @media (prefers-color-scheme: dark) {\n body { color: #fff; background: #000; }\n .next-error-h1 {\n border-right: 1px solid rgba(255, 255, 255, .3);\n }\n }\n */ __html: \"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"\n }\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h1\", {\n className: \"next-error-h1\",\n style: styles.h1,\n children: \"404\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.desc,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.h2,\n children: \"This page could not be found.\"\n })\n })\n ]\n })\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxrSEFBeUM7QUFDbEYsTUFBTUMsY0FBY0QsbUJBQU9BLENBQUMsZ0lBQW1CO0FBQy9DLE1BQU1FLFNBQVMsV0FBVyxHQUFHSCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUksU0FBUztJQUNYQyxPQUFPO1FBQ0gsMEZBQTBGO1FBQzFGQyxZQUFZO1FBQ1pDLFFBQVE7UUFDUkMsV0FBVztRQUNYQyxTQUFTO1FBQ1RDLGVBQWU7UUFDZkMsWUFBWTtRQUNaQyxnQkFBZ0I7SUFDcEI7SUFDQUMsTUFBTTtRQUNGSixTQUFTO0lBQ2I7SUFDQUssSUFBSTtRQUNBTCxTQUFTO1FBQ1RNLFFBQVE7UUFDUkMsU0FBUztRQUNUQyxVQUFVO1FBQ1ZDLFlBQVk7UUFDWkMsZUFBZTtRQUNmQyxZQUFZO0lBQ2hCO0lBQ0FDLElBQUk7UUFDQUosVUFBVTtRQUNWQyxZQUFZO1FBQ1pFLFlBQVk7UUFDWkwsUUFBUTtJQUNaO0FBQ0o7QUFDQSxTQUFTakI7SUFDTCxPQUFxQixXQUFILEdBQUksSUFBR0csWUFBWXFCLElBQUksRUFBRXJCLFlBQVlzQixRQUFRLEVBQUU7UUFDN0RDLFVBQVU7WUFDTixXQUFXLEdBQUksSUFBR3ZCLFlBQVl3QixHQUFHLEVBQUUsU0FBUztnQkFDeENELFVBQVU7WUFDZDtZQUNBLFdBQVcsR0FBSSxJQUFHdkIsWUFBWXdCLEdBQUcsRUFBRSxPQUFPO2dCQUN0Q0MsT0FBT3RCLE9BQU9DLEtBQUs7Z0JBQ25CbUIsVUFBd0IsV0FBSCxHQUFJLElBQUd2QixZQUFZcUIsSUFBSSxFQUFFLE9BQU87b0JBQ2pERSxVQUFVO3dCQUNOLFdBQVcsR0FBSSxJQUFHdkIsWUFBWXdCLEdBQUcsRUFBRSxTQUFTOzRCQUN4Q0UseUJBQXlCO2dDQUNyQjs7Ozs7Ozs7Ozs7O2NBWWxCLEdBQUdDLFFBQVE7NEJBQ0c7d0JBQ0o7d0JBQ0EsV0FBVyxHQUFJLElBQUczQixZQUFZd0IsR0FBRyxFQUFFLE1BQU07NEJBQ3JDSSxXQUFXOzRCQUNYSCxPQUFPdEIsT0FBT1UsRUFBRTs0QkFDaEJVLFVBQVU7d0JBQ2Q7d0JBQ0EsV0FBVyxHQUFJLElBQUd2QixZQUFZd0IsR0FBRyxFQUFFLE9BQU87NEJBQ3RDQyxPQUFPdEIsT0FBT1MsSUFBSTs0QkFDbEJXLFVBQXdCLFdBQUgsR0FBSSxJQUFHdkIsWUFBWXdCLEdBQUcsRUFBRSxNQUFNO2dDQUMvQ0MsT0FBT3RCLE9BQU9pQixFQUFFO2dDQUNoQkcsVUFBVTs0QkFDZDt3QkFDSjtxQkFDSDtnQkFDTDtZQUNKO1NBQ0g7SUFDTDtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU85QixRQUFRb0MsT0FBTyxLQUFLLGNBQWUsT0FBT3BDLFFBQVFvQyxPQUFPLEtBQUssWUFBWXBDLFFBQVFvQyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQyxRQUFRb0MsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9DLE9BQU8sRUFBRSxjQUFjO1FBQUVuQyxPQUFPO0lBQUs7SUFDbkVILE9BQU93QyxNQUFNLENBQUN0QyxRQUFRb0MsT0FBTyxFQUFFcEM7SUFDL0J1QyxPQUFPdkMsT0FBTyxHQUFHQSxRQUFRb0MsT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvci5qcz9lNWM5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTm90Rm91bmQ7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBzdHlsZXMgPSB7XG4gICAgZXJyb3I6IHtcbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3NpbmRyZXNvcmh1cy9tb2Rlcm4tbm9ybWFsaXplL2Jsb2IvbWFpbi9tb2Rlcm4tbm9ybWFsaXplLmNzcyNMMzgtTDUyXG4gICAgICAgIGZvbnRGYW1pbHk6ICdzeXN0ZW0tdWksXCJTZWdvZSBVSVwiLFJvYm90byxIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZixcIkFwcGxlIENvbG9yIEVtb2ppXCIsXCJTZWdvZSBVSSBFbW9qaVwiJyxcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgIHRleHRBbGlnbjogXCJjZW50ZXJcIixcbiAgICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiXG4gICAgfSxcbiAgICBkZXNjOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCJcbiAgICB9LFxuICAgIGgxOiB7XG4gICAgICAgIGRpc3BsYXk6IFwiaW5saW5lLWJsb2NrXCIsXG4gICAgICAgIG1hcmdpbjogXCIwIDIwcHggMCAwXCIsXG4gICAgICAgIHBhZGRpbmc6IFwiMCAyM3B4IDAgMFwiLFxuICAgICAgICBmb250U2l6ZTogMjQsXG4gICAgICAgIGZvbnRXZWlnaHQ6IDUwMCxcbiAgICAgICAgdmVydGljYWxBbGlnbjogXCJ0b3BcIixcbiAgICAgICAgbGluZUhlaWdodDogXCI0OXB4XCJcbiAgICB9LFxuICAgIGgyOiB7XG4gICAgICAgIGZvbnRTaXplOiAxNCxcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxuICAgICAgICBsaW5lSGVpZ2h0OiBcIjQ5cHhcIixcbiAgICAgICAgbWFyZ2luOiAwXG4gICAgfVxufTtcbmZ1bmN0aW9uIE5vdEZvdW5kKCkge1xuICAgIHJldHVybiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3hzKShfanN4cnVudGltZS5GcmFnbWVudCwge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInRpdGxlXCIsIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogXCI0MDQ6IFRoaXMgcGFnZSBjb3VsZCBub3QgYmUgZm91bmQuXCJcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImRpdlwiLCB7XG4gICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5lcnJvcixcbiAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4cykoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAgICAgICAgICAgICAgLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcInN0eWxlXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTDoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBNaW5pZmllZCBDU1MgZnJvbVxuICAgICAgICAgICAgICAgIGJvZHkgeyBtYXJnaW46IDA7IGNvbG9yOiAjMDAwOyBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgICAgICAgICAgICAgLm5leHQtZXJyb3ItaDEge1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAuMyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTogZGFyaykge1xuICAgICAgICAgICAgICAgICAgYm9keSB7IGNvbG9yOiAjZmZmOyBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gICAgICAgICAgICAgICAgICAubmV4dC1lcnJvci1oMSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjMpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgKi8gX19odG1sOiBcImJvZHl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kOiNmZmY7bWFyZ2luOjB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDAsMCwwLC4zKX1AbWVkaWEgKHByZWZlcnMtY29sb3Itc2NoZW1lOmRhcmspe2JvZHl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOiMwMDB9Lm5leHQtZXJyb3ItaDF7Ym9yZGVyLXJpZ2h0OjFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC4zKX19XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJoMVwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiBcIm5leHQtZXJyb3ItaDFcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZTogc3R5bGVzLmgxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuOiBcIjQwNFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJkaXZcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlOiBzdHlsZXMuZGVzYyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbjogLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShcImgyXCIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IHN0eWxlcy5oMixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW46IFwiVGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBmb3VuZC5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgIF1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90LWZvdW5kLWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJOb3RGb3VuZCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfanN4cnVudGltZSIsIl9yZWFjdCIsIl8iLCJzdHlsZXMiLCJlcnJvciIsImZvbnRGYW1pbHkiLCJoZWlnaHQiLCJ0ZXh0QWxpZ24iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImRlc2MiLCJoMSIsIm1hcmdpbiIsInBhZGRpbmciLCJmb250U2l6ZSIsImZvbnRXZWlnaHQiLCJ2ZXJ0aWNhbEFsaWduIiwibGluZUhlaWdodCIsImgyIiwianN4cyIsIkZyYWdtZW50IiwiY2hpbGRyZW4iLCJqc3giLCJzdHlsZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwiY2xhc3NOYW1lIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/not-found-error.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js": /*!**********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/render-from-template-context.js ***! \**********************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/components/render-from-template-context.js\");\n //# sourceMappingURL=render-from-template-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanMiLCJtYXBwaW5ncyI6Ijs7O0NBNkJBLHdEQUF3RCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanM/OGVlNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuZnVuY3Rpb24gUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dCgpIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLlRlbXBsYXRlQ29udGV4dCk7XG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoX2pzeHJ1bnRpbWUuRnJhZ21lbnQsIHtcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js": /*!********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/searchparams-bailout-proxy.js ***! \********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createSearchParamsBailoutProxy\", ({\n enumerable: true,\n get: function() {\n return createSearchParamsBailoutProxy;\n }\n}));\nconst _staticgenerationbailout = __webpack_require__(/*! ./static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nfunction createSearchParamsBailoutProxy() {\n return new Proxy({}, {\n get (_target, prop) {\n // React adds some properties on the object when serializing for client components\n if (typeof prop === \"string\") {\n (0, _staticgenerationbailout.staticGenerationBailout)(\"searchParams.\" + prop);\n }\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=searchparams-bailout-proxy.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxrRUFBaUU7SUFDN0RJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLGtIQUE2QjtBQUN0RSxTQUFTRjtJQUNMLE9BQU8sSUFBSUcsTUFBTSxDQUFDLEdBQUc7UUFDakJKLEtBQUtLLE9BQU8sRUFBRUMsSUFBSTtZQUNkLGtGQUFrRjtZQUNsRixJQUFJLE9BQU9BLFNBQVMsVUFBVTtnQkFDekIsSUFBR0oseUJBQXlCSyx1QkFBdUIsRUFBRSxrQkFBa0JEO1lBQzVFO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFXLE9BQU8sS0FBSyxjQUFlLE9BQU9YLFFBQVFXLE9BQU8sS0FBSyxZQUFZWCxRQUFRVyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9YLFFBQVFXLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktkLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVcsT0FBTyxFQUFFLGNBQWM7UUFBRVYsT0FBTztJQUFLO0lBQ25FSCxPQUFPZSxNQUFNLENBQUNiLFFBQVFXLE9BQU8sRUFBRVg7SUFDL0JjLE9BQU9kLE9BQU8sR0FBR0EsUUFBUVcsT0FBTztBQUNsQyxFQUVBLHNEQUFzRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3NlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3h5LmpzP2I2ZGUiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJjcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHlcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eTtcbiAgICB9XG59KTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCA9IHJlcXVpcmUoXCIuL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXRcIik7XG5mdW5jdGlvbiBjcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHkoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm94eSh7fSwge1xuICAgICAgICBnZXQgKF90YXJnZXQsIHByb3ApIHtcbiAgICAgICAgICAgIC8vIFJlYWN0IGFkZHMgc29tZSBwcm9wZXJ0aWVzIG9uIHRoZSBvYmplY3Qgd2hlbiBzZXJpYWxpemluZyBmb3IgY2xpZW50IGNvbXBvbmVudHNcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICgwLCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQuc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQpKFwic2VhcmNoUGFyYW1zLlwiICsgcHJvcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VhcmNocGFyYW1zLWJhaWxvdXQtcHJveHkuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSIsIl9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dCIsInJlcXVpcmUiLCJQcm94eSIsIl90YXJnZXQiLCJwcm9wIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-bailout.js ***! \*******************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isStaticGenBailoutError: function() {\n return isStaticGenBailoutError;\n },\n staticGenerationBailout: function() {\n return staticGenerationBailout;\n }\n});\nconst _hooksservercontext = __webpack_require__(/*! ./hooks-server-context */ \"(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst NEXT_STATIC_GEN_BAILOUT = \"NEXT_STATIC_GEN_BAILOUT\";\nclass StaticGenBailoutError extends Error {\n constructor(...args){\n super(...args);\n this.code = NEXT_STATIC_GEN_BAILOUT;\n }\n}\nfunction isStaticGenBailoutError(error) {\n if (typeof error !== \"object\" || error === null || !(\"code\" in error)) {\n return false;\n }\n return error.code === NEXT_STATIC_GEN_BAILOUT;\n}\nfunction formatErrorMessage(reason, opts) {\n const { dynamic, link } = opts || {};\n const suffix = link ? \" See more info here: \" + link : \"\";\n return \"Page\" + (dynamic ? ' with `dynamic = \"' + dynamic + '\"`' : \"\") + \" couldn't be rendered statically because it used `\" + reason + \"`.\" + suffix;\n}\nconst staticGenerationBailout = (reason, param)=>{\n let { dynamic, link } = param === void 0 ? {} : param;\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (!staticGenerationStore) return false;\n if (staticGenerationStore.forceStatic) {\n return true;\n }\n if (staticGenerationStore.dynamicShouldError) {\n throw new StaticGenBailoutError(formatErrorMessage(reason, {\n link,\n dynamic: dynamic != null ? dynamic : \"error\"\n }));\n }\n const message = formatErrorMessage(reason, {\n dynamic,\n // this error should be caught by Next to bail out of static generation\n // in case it's uncaught, this link provides some additional context as to why\n link: \"https://nextjs.org/docs/messages/dynamic-server-error\"\n });\n // If postpone is available, we should postpone the render.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, reason);\n // As this is a bailout, we don't want to revalidate, so set the revalidate\n // to 0.\n staticGenerationStore.revalidate = 0;\n if (staticGenerationStore.isStaticGeneration) {\n const err = new _hooksservercontext.DynamicServerError(message);\n staticGenerationStore.dynamicUsageDescription = reason;\n staticGenerationStore.dynamicUsageStack = err.stack;\n throw err;\n }\n return false;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=static-generation-bailout.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHdHQUF3QjtBQUM1RCxNQUFNQyx3Q0FBd0NELG1CQUFPQSxDQUFDLG9IQUE0QztBQUNsRyxNQUFNRSwwQkFBMEI7QUFDaEMsTUFBTUMsOEJBQThCQztJQUNoQ0MsWUFBWSxHQUFHQyxJQUFJLENBQUM7UUFDaEIsS0FBSyxJQUFJQTtRQUNULElBQUksQ0FBQ0MsSUFBSSxHQUFHTDtJQUNoQjtBQUNKO0FBQ0EsU0FBU1gsd0JBQXdCaUIsS0FBSztJQUNsQyxJQUFJLE9BQU9BLFVBQVUsWUFBWUEsVUFBVSxRQUFRLENBQUUsV0FBVUEsS0FBSSxHQUFJO1FBQ25FLE9BQU87SUFDWDtJQUNBLE9BQU9BLE1BQU1ELElBQUksS0FBS0w7QUFDMUI7QUFDQSxTQUFTTyxtQkFBbUJDLE1BQU0sRUFBRUMsSUFBSTtJQUNwQyxNQUFNLEVBQUVDLE9BQU8sRUFBRUMsSUFBSSxFQUFFLEdBQUdGLFFBQVEsQ0FBQztJQUNuQyxNQUFNRyxTQUFTRCxPQUFPLDBCQUEwQkEsT0FBTztJQUN2RCxPQUFPLFNBQVVELENBQUFBLFVBQVUsdUJBQXVCQSxVQUFVLE9BQU8sRUFBQyxJQUFLLHVEQUF1REYsU0FBUyxPQUFPSTtBQUNwSjtBQUNBLE1BQU10QiwwQkFBMEIsQ0FBQ2tCLFFBQVFLO0lBQ3JDLElBQUksRUFBRUgsT0FBTyxFQUFFQyxJQUFJLEVBQUUsR0FBR0UsVUFBVSxLQUFLLElBQUksQ0FBQyxJQUFJQTtJQUNoRCxNQUFNQyx3QkFBd0JmLHNDQUFzQ2dCLDRCQUE0QixDQUFDQyxRQUFRO0lBQ3pHLElBQUksQ0FBQ0YsdUJBQXVCLE9BQU87SUFDbkMsSUFBSUEsc0JBQXNCRyxXQUFXLEVBQUU7UUFDbkMsT0FBTztJQUNYO0lBQ0EsSUFBSUgsc0JBQXNCSSxrQkFBa0IsRUFBRTtRQUMxQyxNQUFNLElBQUlqQixzQkFBc0JNLG1CQUFtQkMsUUFBUTtZQUN2REc7WUFDQUQsU0FBU0EsV0FBVyxPQUFPQSxVQUFVO1FBQ3pDO0lBQ0o7SUFDQSxNQUFNUyxVQUFVWixtQkFBbUJDLFFBQVE7UUFDdkNFO1FBQ0EsdUVBQXVFO1FBQ3ZFLDhFQUE4RTtRQUM5RUMsTUFBTTtJQUNWO0lBQ0EsMkRBQTJEO0lBQzNERyxzQkFBc0JNLFFBQVEsSUFBSSxPQUFPLEtBQUssSUFBSU4sc0JBQXNCTSxRQUFRLENBQUNDLElBQUksQ0FBQ1AsdUJBQXVCTjtJQUM3RywyRUFBMkU7SUFDM0UsUUFBUTtJQUNSTSxzQkFBc0JRLFVBQVUsR0FBRztJQUNuQyxJQUFJUixzQkFBc0JTLGtCQUFrQixFQUFFO1FBQzFDLE1BQU1DLE1BQU0sSUFBSTNCLG9CQUFvQjRCLGtCQUFrQixDQUFDTjtRQUN2REwsc0JBQXNCWSx1QkFBdUIsR0FBR2xCO1FBQ2hETSxzQkFBc0JhLGlCQUFpQixHQUFHSCxJQUFJSSxLQUFLO1FBQ25ELE1BQU1KO0lBQ1Y7SUFDQSxPQUFPO0FBQ1g7QUFFQSxJQUFJLENBQUMsT0FBT3RDLFFBQVEyQyxPQUFPLEtBQUssY0FBZSxPQUFPM0MsUUFBUTJDLE9BQU8sS0FBSyxZQUFZM0MsUUFBUTJDLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBTzNDLFFBQVEyQyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLOUMsT0FBT0MsY0FBYyxDQUFDQyxRQUFRMkMsT0FBTyxFQUFFLGNBQWM7UUFBRTFDLE9BQU87SUFBSztJQUNuRUgsT0FBTytDLE1BQU0sQ0FBQzdDLFFBQVEyQyxPQUFPLEVBQUUzQztJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRMkMsT0FBTztBQUNsQyxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLWJhaWxvdXQuanM/MDQ2YyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGlzU3RhdGljR2VuQmFpbG91dEVycm9yOiBudWxsLFxuICAgIHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0OiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGlzU3RhdGljR2VuQmFpbG91dEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzU3RhdGljR2VuQmFpbG91dEVycm9yO1xuICAgIH0sXG4gICAgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ7XG4gICAgfVxufSk7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gcmVxdWlyZShcIi4vaG9va3Mtc2VydmVyLWNvbnRleHRcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsID0gcmVxdWlyZShcIi4vc3RhdGljLWdlbmVyYXRpb24tYXN5bmMtc3RvcmFnZS5leHRlcm5hbFwiKTtcbmNvbnN0IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUID0gXCJORVhUX1NUQVRJQ19HRU5fQkFJTE9VVFwiO1xuY2xhc3MgU3RhdGljR2VuQmFpbG91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3Mpe1xuICAgICAgICBzdXBlciguLi5hcmdzKTtcbiAgICAgICAgdGhpcy5jb2RlID0gTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQ7XG4gICAgfVxufVxuZnVuY3Rpb24gaXNTdGF0aWNHZW5CYWlsb3V0RXJyb3IoZXJyb3IpIHtcbiAgICBpZiAodHlwZW9mIGVycm9yICE9PSBcIm9iamVjdFwiIHx8IGVycm9yID09PSBudWxsIHx8ICEoXCJjb2RlXCIgaW4gZXJyb3IpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGVycm9yLmNvZGUgPT09IE5FWFRfU1RBVElDX0dFTl9CQUlMT1VUO1xufVxuZnVuY3Rpb24gZm9ybWF0RXJyb3JNZXNzYWdlKHJlYXNvbiwgb3B0cykge1xuICAgIGNvbnN0IHsgZHluYW1pYywgbGluayB9ID0gb3B0cyB8fCB7fTtcbiAgICBjb25zdCBzdWZmaXggPSBsaW5rID8gXCIgU2VlIG1vcmUgaW5mbyBoZXJlOiBcIiArIGxpbmsgOiBcIlwiO1xuICAgIHJldHVybiBcIlBhZ2VcIiArIChkeW5hbWljID8gJyB3aXRoIGBkeW5hbWljID0gXCInICsgZHluYW1pYyArICdcImAnIDogXCJcIikgKyBcIiBjb3VsZG4ndCBiZSByZW5kZXJlZCBzdGF0aWNhbGx5IGJlY2F1c2UgaXQgdXNlZCBgXCIgKyByZWFzb24gKyBcImAuXCIgKyBzdWZmaXg7XG59XG5jb25zdCBzdGF0aWNHZW5lcmF0aW9uQmFpbG91dCA9IChyZWFzb24sIHBhcmFtKT0+e1xuICAgIGxldCB7IGR5bmFtaWMsIGxpbmsgfSA9IHBhcmFtID09PSB2b2lkIDAgPyB7fSA6IHBhcmFtO1xuICAgIGNvbnN0IHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xuICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlKSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5keW5hbWljU2hvdWxkRXJyb3IpIHtcbiAgICAgICAgdGhyb3cgbmV3IFN0YXRpY0dlbkJhaWxvdXRFcnJvcihmb3JtYXRFcnJvck1lc3NhZ2UocmVhc29uLCB7XG4gICAgICAgICAgICBsaW5rLFxuICAgICAgICAgICAgZHluYW1pYzogZHluYW1pYyAhPSBudWxsID8gZHluYW1pYyA6IFwiZXJyb3JcIlxuICAgICAgICB9KSk7XG4gICAgfVxuICAgIGNvbnN0IG1lc3NhZ2UgPSBmb3JtYXRFcnJvck1lc3NhZ2UocmVhc29uLCB7XG4gICAgICAgIGR5bmFtaWMsXG4gICAgICAgIC8vIHRoaXMgZXJyb3Igc2hvdWxkIGJlIGNhdWdodCBieSBOZXh0IHRvIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uXG4gICAgICAgIC8vIGluIGNhc2UgaXQncyB1bmNhdWdodCwgdGhpcyBsaW5rIHByb3ZpZGVzIHNvbWUgYWRkaXRpb25hbCBjb250ZXh0IGFzIHRvIHdoeVxuICAgICAgICBsaW5rOiBcImh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2R5bmFtaWMtc2VydmVyLWVycm9yXCJcbiAgICB9KTtcbiAgICAvLyBJZiBwb3N0cG9uZSBpcyBhdmFpbGFibGUsIHdlIHNob3VsZCBwb3N0cG9uZSB0aGUgcmVuZGVyLlxuICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lLmNhbGwoc3RhdGljR2VuZXJhdGlvblN0b3JlLCByZWFzb24pO1xuICAgIC8vIEFzIHRoaXMgaXMgYSBiYWlsb3V0LCB3ZSBkb24ndCB3YW50IHRvIHJldmFsaWRhdGUsIHNvIHNldCB0aGUgcmV2YWxpZGF0ZVxuICAgIC8vIHRvIDAuXG4gICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPSAwO1xuICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBfaG9va3NzZXJ2ZXJjb250ZXh0LkR5bmFtaWNTZXJ2ZXJFcnJvcihtZXNzYWdlKTtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gcmVhc29uO1xuICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlU3RhY2sgPSBlcnIuc3RhY2s7XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RhdGljLWdlbmVyYXRpb24tYmFpbG91dC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJpc1N0YXRpY0dlbkJhaWxvdXRFcnJvciIsInN0YXRpY0dlbmVyYXRpb25CYWlsb3V0IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2hvb2tzc2VydmVyY29udGV4dCIsInJlcXVpcmUiLCJfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwiTkVYVF9TVEFUSUNfR0VOX0JBSUxPVVQiLCJTdGF0aWNHZW5CYWlsb3V0RXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiYXJncyIsImNvZGUiLCJlcnJvciIsImZvcm1hdEVycm9yTWVzc2FnZSIsInJlYXNvbiIsIm9wdHMiLCJkeW5hbWljIiwibGluayIsInN1ZmZpeCIsInBhcmFtIiwic3RhdGljR2VuZXJhdGlvblN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJkeW5hbWljU2hvdWxkRXJyb3IiLCJtZXNzYWdlIiwicG9zdHBvbmUiLCJjYWxsIiwicmV2YWxpZGF0ZSIsImlzU3RhdGljR2VuZXJhdGlvbiIsImVyciIsIkR5bmFtaWNTZXJ2ZXJFcnJvciIsImR5bmFtaWNVc2FnZURlc2NyaXB0aW9uIiwiZHluYW1pY1VzYWdlU3RhY2siLCJzdGFjayIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js": /*!*****************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js ***! \*****************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\");\n //# sourceMappingURL=static-generation-searchparams-bailout-provider.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyLmpzIiwibWFwcGluZ3MiOiI7OztDQW9DQSwyRUFBMkUiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9zdGF0aWMtZ2VuZXJhdGlvbi1zZWFyY2hwYXJhbXMtYmFpbG91dC1wcm92aWRlci5qcz85NzFhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFN0YXRpY0dlbmVyYXRpb25TZWFyY2hQYXJhbXNCYWlsb3V0UHJvdmlkZXI7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2pzeHJ1bnRpbWUgPSByZXF1aXJlKFwicmVhY3QvanN4LXJ1bnRpbWVcIik7XG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XG5jb25zdCBfc2VhcmNocGFyYW1zYmFpbG91dHByb3h5ID0gcmVxdWlyZShcIi4vc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJveHlcIik7XG5mdW5jdGlvbiBTdGF0aWNHZW5lcmF0aW9uU2VhcmNoUGFyYW1zQmFpbG91dFByb3ZpZGVyKHBhcmFtKSB7XG4gICAgbGV0IHsgQ29tcG9uZW50LCBwcm9wc0ZvckNvbXBvbmVudCwgaXNTdGF0aWNHZW5lcmF0aW9uIH0gPSBwYXJhbTtcbiAgICBpZiAoaXNTdGF0aWNHZW5lcmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9ICgwLCBfc2VhcmNocGFyYW1zYmFpbG91dHByb3h5LmNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eSkoKTtcbiAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoQ29tcG9uZW50LCB7XG4gICAgICAgICAgICBzZWFyY2hQYXJhbXM6IHNlYXJjaFBhcmFtcyxcbiAgICAgICAgICAgIC4uLnByb3BzRm9yQ29tcG9uZW50XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gLyojX19QVVJFX18qLyAoMCwgX2pzeHJ1bnRpbWUuanN4KShDb21wb25lbnQsIHtcbiAgICAgICAgLi4ucHJvcHNGb3JDb21wb25lbnRcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3RhdGljLWdlbmVyYXRpb24tc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJvdmlkZXIuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/client/link.js": /*!***********************************************!*\ !*** ./node_modules/next/dist/client/link.js ***! \***********************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nconst { createProxy } = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\nmodule.exports = createProxy(\"/app/node_modules/next/dist/client/link.js\");\n //# sourceMappingURL=link.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9saW5rLmpzIiwibWFwcGluZ3MiOiI7OztDQXlhQSxnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qcz9lNGY5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcbmNvbnN0IF9qc3hydW50aW1lID0gcmVxdWlyZShcInJlYWN0L2pzeC1ydW50aW1lXCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3Jlc29sdmVocmVmID0gcmVxdWlyZShcIi4vcmVzb2x2ZS1ocmVmXCIpO1xuY29uc3QgX2lzbG9jYWx1cmwgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaXMtbG9jYWwtdXJsXCIpO1xuY29uc3QgX2Zvcm1hdHVybCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9mb3JtYXQtdXJsXCIpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvdXRpbHNcIik7XG5jb25zdCBfYWRkbG9jYWxlID0gcmVxdWlyZShcIi4vYWRkLWxvY2FsZVwiKTtcbmNvbnN0IF9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xuY29uc3QgX3VzZWludGVyc2VjdGlvbiA9IHJlcXVpcmUoXCIuL3VzZS1pbnRlcnNlY3Rpb25cIik7XG5jb25zdCBfZ2V0ZG9tYWlubG9jYWxlID0gcmVxdWlyZShcIi4vZ2V0LWRvbWFpbi1sb2NhbGVcIik7XG5jb25zdCBfYWRkYmFzZXBhdGggPSByZXF1aXJlKFwiLi9hZGQtYmFzZS1wYXRoXCIpO1xuY29uc3QgX3JvdXRlcnJlZHVjZXJ0eXBlcyA9IHJlcXVpcmUoXCIuL2NvbXBvbmVudHMvcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXNcIik7XG5jb25zdCBwcmVmZXRjaGVkID0gbmV3IFNldCgpO1xuZnVuY3Rpb24gcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywgb3B0aW9ucywgYXBwT3B0aW9ucywgaXNBcHBSb3V0ZXIpIHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIGFwcC1yb3V0ZXIgc3VwcG9ydHMgZXh0ZXJuYWwgdXJscyBvdXQgb2YgdGhlIGJveCBzbyBpdCBzaG91bGRuJ3Qgc2hvcnQtY2lyY3VpdCBoZXJlIGFzIHN1cHBvcnQgZm9yIGUuZy4gYHJlcGxhY2VgIGlzIGFkZGVkIGluIHRoZSBhcHAtcm91dGVyLlxuICAgIGlmICghaXNBcHBSb3V0ZXIgJiYgISgwLCBfaXNsb2NhbHVybC5pc0xvY2FsVVJMKShocmVmKSkge1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIC8vIFdlIHNob3VsZCBvbmx5IGRlZHVwZSByZXF1ZXN0cyB3aGVuIGV4cGVyaW1lbnRhbC5vcHRpbWlzdGljQ2xpZW50Q2FjaGUgaXNcbiAgICAvLyBkaXNhYmxlZC5cbiAgICBpZiAoIW9wdGlvbnMuYnlwYXNzUHJlZmV0Y2hlZENoZWNrKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsZSA9IC8vIExldCB0aGUgbGluaydzIGxvY2FsZSBwcm9wIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHJvdXRlciBsb2NhbGUuXG4gICAgICAgIHR5cGVvZiBvcHRpb25zLmxvY2FsZSAhPT0gXCJ1bmRlZmluZWRcIiA/IG9wdGlvbnMubG9jYWxlIDogXCJsb2NhbGVcIiBpbiByb3V0ZXIgPyByb3V0ZXIubG9jYWxlIDogdW5kZWZpbmVkO1xuICAgICAgICBjb25zdCBwcmVmZXRjaGVkS2V5ID0gaHJlZiArIFwiJVwiICsgYXMgKyBcIiVcIiArIGxvY2FsZTtcbiAgICAgICAgLy8gSWYgd2UndmUgYWxyZWFkeSBmZXRjaGVkIHRoZSBrZXksIHRoZW4gZG9uJ3QgcHJlZmV0Y2ggaXQgYWdhaW4hXG4gICAgICAgIGlmIChwcmVmZXRjaGVkLmhhcyhwcmVmZXRjaGVkS2V5KSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIE1hcmsgdGhpcyBVUkwgYXMgcHJlZmV0Y2hlZC5cbiAgICAgICAgcHJlZmV0Y2hlZC5hZGQocHJlZmV0Y2hlZEtleSk7XG4gICAgfVxuICAgIGNvbnN0IHByZWZldGNoUHJvbWlzZSA9IGlzQXBwUm91dGVyID8gcm91dGVyLnByZWZldGNoKGhyZWYsIGFwcE9wdGlvbnMpIDogcm91dGVyLnByZWZldGNoKGhyZWYsIGFzLCBvcHRpb25zKTtcbiAgICAvLyBQcmVmZXRjaCB0aGUgSlNPTiBwYWdlIGlmIGFza2VkIChvbmx5IGluIHRoZSBjbGllbnQpXG4gICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgYSBwcmVmZXRjaCBlcnJvciBoZXJlIHNpbmNlIHdlIG1heSBiZVxuICAgIC8vIGxvYWRpbmcgd2l0aCBwcmlvcml0eSB3aGljaCBjYW4gcmVqZWN0IGJ1dCB3ZSBkb24ndFxuICAgIC8vIHdhbnQgdG8gZm9yY2UgbmF2aWdhdGlvbiBzaW5jZSB0aGlzIGlzIG9ubHkgYSBwcmVmZXRjaFxuICAgIFByb21pc2UucmVzb2x2ZShwcmVmZXRjaFByb21pc2UpLmNhdGNoKChlcnIpPT57XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIC8vIHJldGhyb3cgdG8gc2hvdyBpbnZhbGlkIFVSTCBlcnJvcnNcbiAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgfVxuICAgIH0pO1xufVxuZnVuY3Rpb24gaXNNb2RpZmllZEV2ZW50KGV2ZW50KSB7XG4gICAgY29uc3QgZXZlbnRUYXJnZXQgPSBldmVudC5jdXJyZW50VGFyZ2V0O1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50VGFyZ2V0LmdldEF0dHJpYnV0ZShcInRhcmdldFwiKTtcbiAgICByZXR1cm4gdGFyZ2V0ICYmIHRhcmdldCAhPT0gXCJfc2VsZlwiIHx8IGV2ZW50Lm1ldGFLZXkgfHwgZXZlbnQuY3RybEtleSB8fCBldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgLy8gdHJpZ2dlcnMgcmVzb3VyY2UgZG93bmxvYWRcbiAgICBldmVudC5uYXRpdmVFdmVudCAmJiBldmVudC5uYXRpdmVFdmVudC53aGljaCA9PT0gMjtcbn1cbmZ1bmN0aW9uIGxpbmtDbGlja2VkKGUsIHJvdXRlciwgaHJlZiwgYXMsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbCwgbG9jYWxlLCBpc0FwcFJvdXRlcikge1xuICAgIGNvbnN0IHsgbm9kZU5hbWUgfSA9IGUuY3VycmVudFRhcmdldDtcbiAgICAvLyBhbmNob3JzIGluc2lkZSBhbiBzdmcgaGF2ZSBhIGxvd2VyY2FzZSBub2RlTmFtZVxuICAgIGNvbnN0IGlzQW5jaG9yTm9kZU5hbWUgPSBub2RlTmFtZS50b1VwcGVyQ2FzZSgpID09PSBcIkFcIjtcbiAgICBpZiAoaXNBbmNob3JOb2RlTmFtZSAmJiAoaXNNb2RpZmllZEV2ZW50KGUpIHx8IC8vIGFwcC1yb3V0ZXIgc3VwcG9ydHMgZXh0ZXJuYWwgdXJscyBvdXQgb2YgdGhlIGJveCBzbyBpdCBzaG91bGRuJ3Qgc2hvcnQtY2lyY3VpdCBoZXJlIGFzIHN1cHBvcnQgZm9yIGUuZy4gYHJlcGxhY2VgIGlzIGFkZGVkIGluIHRoZSBhcHAtcm91dGVyLlxuICAgICFpc0FwcFJvdXRlciAmJiAhKDAsIF9pc2xvY2FsdXJsLmlzTG9jYWxVUkwpKGhyZWYpKSkge1xuICAgICAgICAvLyBpZ25vcmUgY2xpY2sgZm9yIGJyb3dzZXLigJlzIGRlZmF1bHQgYmVoYXZpb3JcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgbmF2aWdhdGUgPSAoKT0+e1xuICAgICAgICAvLyBJZiB0aGUgcm91dGVyIGlzIGFuIE5leHRSb3V0ZXIgaW5zdGFuY2UgaXQgd2lsbCBoYXZlIGBiZWZvcmVQb3BTdGF0ZWBcbiAgICAgICAgY29uc3Qgcm91dGVyU2Nyb2xsID0gc2Nyb2xsICE9IG51bGwgPyBzY3JvbGwgOiB0cnVlO1xuICAgICAgICBpZiAoXCJiZWZvcmVQb3BTdGF0ZVwiIGluIHJvdXRlcikge1xuICAgICAgICAgICAgcm91dGVyW3JlcGxhY2UgPyBcInJlcGxhY2VcIiA6IFwicHVzaFwiXShocmVmLCBhcywge1xuICAgICAgICAgICAgICAgIHNoYWxsb3csXG4gICAgICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgICAgICAgIHNjcm9sbDogcm91dGVyU2Nyb2xsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJvdXRlcltyZXBsYWNlID8gXCJyZXBsYWNlXCIgOiBcInB1c2hcIl0oYXMgfHwgaHJlZiwge1xuICAgICAgICAgICAgICAgIHNjcm9sbDogcm91dGVyU2Nyb2xsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgaWYgKGlzQXBwUm91dGVyKSB7XG4gICAgICAgIF9yZWFjdC5kZWZhdWx0LnN0YXJ0VHJhbnNpdGlvbihuYXZpZ2F0ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgbmF2aWdhdGUoKTtcbiAgICB9XG59XG5mdW5jdGlvbiBmb3JtYXRTdHJpbmdPclVybCh1cmxPYmpPclN0cmluZykge1xuICAgIGlmICh0eXBlb2YgdXJsT2JqT3JTdHJpbmcgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIHVybE9iak9yU3RyaW5nO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIF9mb3JtYXR1cmwuZm9ybWF0VXJsKSh1cmxPYmpPclN0cmluZyk7XG59XG4vKipcbiAqIFJlYWN0IENvbXBvbmVudCB0aGF0IGVuYWJsZXMgY2xpZW50LXNpZGUgdHJhbnNpdGlvbnMgYmV0d2VlbiByb3V0ZXMuXG4gKi8gY29uc3QgTGluayA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuZm9yd2FyZFJlZihmdW5jdGlvbiBMaW5rQ29tcG9uZW50KHByb3BzLCBmb3J3YXJkZWRSZWYpIHtcbiAgICBsZXQgY2hpbGRyZW47XG4gICAgY29uc3QgeyBocmVmOiBocmVmUHJvcCwgYXM6IGFzUHJvcCwgY2hpbGRyZW46IGNoaWxkcmVuUHJvcCwgcHJlZmV0Y2g6IHByZWZldGNoUHJvcCA9IG51bGwsIHBhc3NIcmVmLCByZXBsYWNlLCBzaGFsbG93LCBzY3JvbGwsIGxvY2FsZSwgb25DbGljaywgb25Nb3VzZUVudGVyOiBvbk1vdXNlRW50ZXJQcm9wLCBvblRvdWNoU3RhcnQ6IG9uVG91Y2hTdGFydFByb3AsIGxlZ2FjeUJlaGF2aW9yID0gZmFsc2UsIC4uLnJlc3RQcm9wcyB9ID0gcHJvcHM7XG4gICAgY2hpbGRyZW4gPSBjaGlsZHJlblByb3A7XG4gICAgaWYgKGxlZ2FjeUJlaGF2aW9yICYmICh0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIGNoaWxkcmVuID09PSBcIm51bWJlclwiKSkge1xuICAgICAgICBjaGlsZHJlbiA9IC8qI19fUFVSRV9fKi8gKDAsIF9qc3hydW50aW1lLmpzeCkoXCJhXCIsIHtcbiAgICAgICAgICAgIGNoaWxkcmVuOiBjaGlsZHJlblxuICAgICAgICB9KTtcbiAgICB9XG4gICAgY29uc3QgcGFnZXNSb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9yb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5Sb3V0ZXJDb250ZXh0KTtcbiAgICBjb25zdCBhcHBSb3V0ZXIgPSBfcmVhY3QuZGVmYXVsdC51c2VDb250ZXh0KF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5BcHBSb3V0ZXJDb250ZXh0KTtcbiAgICBjb25zdCByb3V0ZXIgPSBwYWdlc1JvdXRlciAhPSBudWxsID8gcGFnZXNSb3V0ZXIgOiBhcHBSb3V0ZXI7XG4gICAgLy8gV2UncmUgaW4gdGhlIGFwcCBkaXJlY3RvcnkgaWYgdGhlcmUgaXMgbm8gcGFnZXMgcm91dGVyLlxuICAgIGNvbnN0IGlzQXBwUm91dGVyID0gIXBhZ2VzUm91dGVyO1xuICAgIGNvbnN0IHByZWZldGNoRW5hYmxlZCA9IHByZWZldGNoUHJvcCAhPT0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogVGhlIHBvc3NpYmxlIHN0YXRlcyBmb3IgcHJlZmV0Y2ggYXJlOlxuICAgICAqIC0gbnVsbDogdGhpcyBpcyB0aGUgZGVmYXVsdCBcImF1dG9cIiBtb2RlLCB3aGVyZSB3ZSB3aWxsIHByZWZldGNoIHBhcnRpYWxseSBpZiB0aGUgbGluayBpcyBpbiB0aGUgdmlld3BvcnRcbiAgICAgKiAtIHRydWU6IHdlIHdpbGwgcHJlZmV0Y2ggaWYgdGhlIGxpbmsgaXMgdmlzaWJsZSBhbmQgcHJlZmV0Y2ggdGhlIGZ1bGwgcGFnZSwgbm90IGp1c3QgcGFydGlhbGx5XG4gICAgICogLSBmYWxzZTogd2Ugd2lsbCBub3QgcHJlZmV0Y2ggaWYgaW4gdGhlIHZpZXdwb3J0IGF0IGFsbFxuICAgICAqLyBjb25zdCBhcHBQcmVmZXRjaEtpbmQgPSBwcmVmZXRjaFByb3AgPT09IG51bGwgPyBfcm91dGVycmVkdWNlcnR5cGVzLlByZWZldGNoS2luZC5BVVRPIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuRlVMTDtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgIGZ1bmN0aW9uIGNyZWF0ZVByb3BFcnJvcihhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKFwiRmFpbGVkIHByb3AgdHlwZTogVGhlIHByb3AgYFwiICsgYXJncy5rZXkgKyBcImAgZXhwZWN0cyBhIFwiICsgYXJncy5leHBlY3RlZCArIFwiIGluIGA8TGluaz5gLCBidXQgZ290IGBcIiArIGFyZ3MuYWN0dWFsICsgXCJgIGluc3RlYWQuXCIgKyAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiA/IFwiXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIiA6IFwiXCIpKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICBjb25zdCByZXF1aXJlZFByb3BzR3VhcmQgPSB7XG4gICAgICAgICAgICBocmVmOiB0cnVlXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlcXVpcmVkUHJvcHMgPSBPYmplY3Qua2V5cyhyZXF1aXJlZFByb3BzR3VhcmQpO1xuICAgICAgICByZXF1aXJlZFByb3BzLmZvckVhY2goKGtleSk9PntcbiAgICAgICAgICAgIGlmIChrZXkgPT09IFwiaHJlZlwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gPT0gbnVsbCB8fCB0eXBlb2YgcHJvcHNba2V5XSAhPT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgcHJvcHNba2V5XSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYHN0cmluZ2Agb3IgYG9iamVjdGBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogcHJvcHNba2V5XSA9PT0gbnVsbCA/IFwibnVsbFwiIDogdHlwZW9mIHByb3BzW2tleV1cbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBUeXBlU2NyaXB0IHRyaWNrIGZvciB0eXBlLWd1YXJkaW5nOlxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICBjb25zdCBfID0ga2V5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wc0d1YXJkID0ge1xuICAgICAgICAgICAgYXM6IHRydWUsXG4gICAgICAgICAgICByZXBsYWNlOiB0cnVlLFxuICAgICAgICAgICAgc2Nyb2xsOiB0cnVlLFxuICAgICAgICAgICAgc2hhbGxvdzogdHJ1ZSxcbiAgICAgICAgICAgIHBhc3NIcmVmOiB0cnVlLFxuICAgICAgICAgICAgcHJlZmV0Y2g6IHRydWUsXG4gICAgICAgICAgICBsb2NhbGU6IHRydWUsXG4gICAgICAgICAgICBvbkNsaWNrOiB0cnVlLFxuICAgICAgICAgICAgb25Nb3VzZUVudGVyOiB0cnVlLFxuICAgICAgICAgICAgb25Ub3VjaFN0YXJ0OiB0cnVlLFxuICAgICAgICAgICAgbGVnYWN5QmVoYXZpb3I6IHRydWVcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3Qgb3B0aW9uYWxQcm9wcyA9IE9iamVjdC5rZXlzKG9wdGlvbmFsUHJvcHNHdWFyZCk7XG4gICAgICAgIG9wdGlvbmFsUHJvcHMuZm9yRWFjaCgoa2V5KT0+e1xuICAgICAgICAgICAgY29uc3QgdmFsVHlwZSA9IHR5cGVvZiBwcm9wc1trZXldO1xuICAgICAgICAgICAgaWYgKGtleSA9PT0gXCJhc1wiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gXCJzdHJpbmdcIiAmJiB2YWxUeXBlICE9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGNyZWF0ZVByb3BFcnJvcih7XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICAgICAgICAgICBleHBlY3RlZDogXCJgc3RyaW5nYCBvciBgb2JqZWN0YFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcImxvY2FsZVwiKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzW2tleV0gJiYgdmFsVHlwZSAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYHN0cmluZ2BcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdHVhbDogdmFsVHlwZVxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGtleSA9PT0gXCJvbkNsaWNrXCIgfHwga2V5ID09PSBcIm9uTW91c2VFbnRlclwiIHx8IGtleSA9PT0gXCJvblRvdWNoU3RhcnRcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICYmIHZhbFR5cGUgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBjcmVhdGVQcm9wRXJyb3Ioe1xuICAgICAgICAgICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgICAgICAgICAgZXhwZWN0ZWQ6IFwiYGZ1bmN0aW9uYFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoa2V5ID09PSBcInJlcGxhY2VcIiB8fCBrZXkgPT09IFwic2Nyb2xsXCIgfHwga2V5ID09PSBcInNoYWxsb3dcIiB8fCBrZXkgPT09IFwicGFzc0hyZWZcIiB8fCBrZXkgPT09IFwicHJlZmV0Y2hcIiB8fCBrZXkgPT09IFwibGVnYWN5QmVoYXZpb3JcIikge1xuICAgICAgICAgICAgICAgIGlmIChwcm9wc1trZXldICE9IG51bGwgJiYgdmFsVHlwZSAhPT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgY3JlYXRlUHJvcEVycm9yKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGV4cGVjdGVkOiBcImBib29sZWFuYFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsOiB2YWxUeXBlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gVHlwZVNjcmlwdCB0cmljayBmb3IgdHlwZS1ndWFyZGluZzpcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICAgICAgICAgICAgY29uc3QgXyA9IGtleTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIC8vIFRoaXMgaG9vayBpcyBpbiBhIGNvbmRpdGlvbmFsIGJ1dCB0aGF0IGlzIG9rIGJlY2F1c2UgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCBuZXZlciBjaGFuZ2VzXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9ydWxlcy1vZi1ob29rc1xuICAgICAgICBjb25zdCBoYXNXYXJuZWQgPSBfcmVhY3QuZGVmYXVsdC51c2VSZWYoZmFsc2UpO1xuICAgICAgICBpZiAocHJvcHMucHJlZmV0Y2ggJiYgIWhhc1dhcm5lZC5jdXJyZW50ICYmICFpc0FwcFJvdXRlcikge1xuICAgICAgICAgICAgaGFzV2FybmVkLmN1cnJlbnQgPSB0cnVlO1xuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiTmV4dC5qcyBhdXRvLXByZWZldGNoZXMgYXV0b21hdGljYWxseSBiYXNlZCBvbiB2aWV3cG9ydC4gVGhlIHByZWZldGNoIGF0dHJpYnV0ZSBpcyBubyBsb25nZXIgbmVlZGVkLiBNb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9wcmVmZXRjaC10cnVlLWRlcHJlY2F0ZWRcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICBpZiAoaXNBcHBSb3V0ZXIgJiYgIWFzUHJvcCkge1xuICAgICAgICAgICAgbGV0IGhyZWY7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGhyZWZQcm9wID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgaHJlZiA9IGhyZWZQcm9wO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgaHJlZlByb3AgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIGhyZWZQcm9wLnBhdGhuYW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgaHJlZiA9IGhyZWZQcm9wLnBhdGhuYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhyZWYpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBoYXNEeW5hbWljU2VnbWVudCA9IGhyZWYuc3BsaXQoXCIvXCIpLnNvbWUoKHNlZ21lbnQpPT5zZWdtZW50LnN0YXJ0c1dpdGgoXCJbXCIpICYmIHNlZ21lbnQuZW5kc1dpdGgoXCJdXCIpKTtcbiAgICAgICAgICAgICAgICBpZiAoaGFzRHluYW1pY1NlZ21lbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRHluYW1pYyBocmVmIGBcIiArIGhyZWYgKyBcImAgZm91bmQgaW4gPExpbms+IHdoaWxlIHVzaW5nIHRoZSBgL2FwcGAgcm91dGVyLCB0aGlzIGlzIG5vdCBzdXBwb3J0ZWQuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvYXBwLWRpci1keW5hbWljLWhyZWZcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHsgaHJlZiwgYXMgfSA9IF9yZWFjdC5kZWZhdWx0LnVzZU1lbW8oKCk9PntcbiAgICAgICAgaWYgKCFwYWdlc1JvdXRlcikge1xuICAgICAgICAgICAgY29uc3QgcmVzb2x2ZWRIcmVmID0gZm9ybWF0U3RyaW5nT3JVcmwoaHJlZlByb3ApO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBocmVmOiByZXNvbHZlZEhyZWYsXG4gICAgICAgICAgICAgICAgYXM6IGFzUHJvcCA/IGZvcm1hdFN0cmluZ09yVXJsKGFzUHJvcCkgOiByZXNvbHZlZEhyZWZcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgW3Jlc29sdmVkSHJlZiwgcmVzb2x2ZWRBc10gPSAoMCwgX3Jlc29sdmVocmVmLnJlc29sdmVIcmVmKShwYWdlc1JvdXRlciwgaHJlZlByb3AsIHRydWUpO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaHJlZjogcmVzb2x2ZWRIcmVmLFxuICAgICAgICAgICAgYXM6IGFzUHJvcCA/ICgwLCBfcmVzb2x2ZWhyZWYucmVzb2x2ZUhyZWYpKHBhZ2VzUm91dGVyLCBhc1Byb3ApIDogcmVzb2x2ZWRBcyB8fCByZXNvbHZlZEhyZWZcbiAgICAgICAgfTtcbiAgICB9LCBbXG4gICAgICAgIHBhZ2VzUm91dGVyLFxuICAgICAgICBocmVmUHJvcCxcbiAgICAgICAgYXNQcm9wXG4gICAgXSk7XG4gICAgY29uc3QgcHJldmlvdXNIcmVmID0gX3JlYWN0LmRlZmF1bHQudXNlUmVmKGhyZWYpO1xuICAgIGNvbnN0IHByZXZpb3VzQXMgPSBfcmVhY3QuZGVmYXVsdC51c2VSZWYoYXMpO1xuICAgIC8vIFRoaXMgd2lsbCByZXR1cm4gdGhlIGZpcnN0IGNoaWxkLCBpZiBtdWx0aXBsZSBhcmUgcHJvdmlkZWQgaXQgd2lsbCB0aHJvdyBhbiBlcnJvclxuICAgIGxldCBjaGlsZDtcbiAgICBpZiAobGVnYWN5QmVoYXZpb3IpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdcIm9uQ2xpY2tcIiB3YXMgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgJyArIGhyZWZQcm9wICsgJ2AgYnV0IFwibGVnYWN5QmVoYXZpb3JcIiB3YXMgc2V0LiBUaGUgbGVnYWN5IGJlaGF2aW9yIHJlcXVpcmVzIG9uQ2xpY2sgYmUgc2V0IG9uIHRoZSBjaGlsZCBvZiBuZXh0L2xpbmsnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChvbk1vdXNlRW50ZXJQcm9wKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdcIm9uTW91c2VFbnRlclwiIHdhcyBwYXNzZWQgdG8gPExpbms+IHdpdGggYGhyZWZgIG9mIGAnICsgaHJlZlByb3AgKyAnYCBidXQgXCJsZWdhY3lCZWhhdmlvclwiIHdhcyBzZXQuIFRoZSBsZWdhY3kgYmVoYXZpb3IgcmVxdWlyZXMgb25Nb3VzZUVudGVyIGJlIHNldCBvbiB0aGUgY2hpbGQgb2YgbmV4dC9saW5rJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGNoaWxkID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ub25seShjaGlsZHJlbik7XG4gICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICBpZiAoIWNoaWxkcmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgXCIgKyBocmVmUHJvcCArIFwiYCBidXQgb25lIGNoaWxkIGlzIHJlcXVpcmVkIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xpbmstbm8tY2hpbGRyZW5cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk11bHRpcGxlIGNoaWxkcmVuIHdlcmUgcGFzc2VkIHRvIDxMaW5rPiB3aXRoIGBocmVmYCBvZiBgXCIgKyBocmVmUHJvcCArIFwiYCBidXQgb25seSBvbmUgY2hpbGQgaXMgc3VwcG9ydGVkIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2xpbmstbXVsdGlwbGUtY2hpbGRyZW5cIiArICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gXCIgXFxuT3BlbiB5b3VyIGJyb3dzZXIncyBjb25zb2xlIHRvIHZpZXcgdGhlIENvbXBvbmVudCBzdGFjayB0cmFjZS5cIiA6IFwiXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNoaWxkID0gX3JlYWN0LmRlZmF1bHQuQ2hpbGRyZW4ub25seShjaGlsZHJlbik7XG4gICAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgaWYgKChjaGlsZHJlbiA9PSBudWxsID8gdm9pZCAwIDogY2hpbGRyZW4udHlwZSkgPT09IFwiYVwiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCA8TGluaz4gd2l0aCA8YT4gY2hpbGQuIFBsZWFzZSByZW1vdmUgPGE+IG9yIHVzZSA8TGluayBsZWdhY3lCZWhhdmlvcj4uXFxuTGVhcm4gbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvaW52YWxpZC1uZXctbGluay13aXRoLWV4dHJhLWFuY2hvclwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjaGlsZFJlZiA9IGxlZ2FjeUJlaGF2aW9yID8gY2hpbGQgJiYgdHlwZW9mIGNoaWxkID09PSBcIm9iamVjdFwiICYmIGNoaWxkLnJlZiA6IGZvcndhcmRlZFJlZjtcbiAgICBjb25zdCBbc2V0SW50ZXJzZWN0aW9uUmVmLCBpc1Zpc2libGUsIHJlc2V0VmlzaWJsZV0gPSAoMCwgX3VzZWludGVyc2VjdGlvbi51c2VJbnRlcnNlY3Rpb24pKHtcbiAgICAgICAgcm9vdE1hcmdpbjogXCIyMDBweFwiXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmID0gX3JlYWN0LmRlZmF1bHQudXNlQ2FsbGJhY2soKGVsKT0+e1xuICAgICAgICAvLyBCZWZvcmUgdGhlIGxpbmsgZ2V0dGluZyBvYnNlcnZlZCwgY2hlY2sgaWYgdmlzaWJsZSBzdGF0ZSBuZWVkIHRvIGJlIHJlc2V0XG4gICAgICAgIGlmIChwcmV2aW91c0FzLmN1cnJlbnQgIT09IGFzIHx8IHByZXZpb3VzSHJlZi5jdXJyZW50ICE9PSBocmVmKSB7XG4gICAgICAgICAgICByZXNldFZpc2libGUoKTtcbiAgICAgICAgICAgIHByZXZpb3VzQXMuY3VycmVudCA9IGFzO1xuICAgICAgICAgICAgcHJldmlvdXNIcmVmLmN1cnJlbnQgPSBocmVmO1xuICAgICAgICB9XG4gICAgICAgIHNldEludGVyc2VjdGlvblJlZihlbCk7XG4gICAgICAgIGlmIChjaGlsZFJlZikge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjaGlsZFJlZiA9PT0gXCJmdW5jdGlvblwiKSBjaGlsZFJlZihlbCk7XG4gICAgICAgICAgICBlbHNlIGlmICh0eXBlb2YgY2hpbGRSZWYgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZFJlZi5jdXJyZW50ID0gZWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9LCBbXG4gICAgICAgIGFzLFxuICAgICAgICBjaGlsZFJlZixcbiAgICAgICAgaHJlZixcbiAgICAgICAgcmVzZXRWaXNpYmxlLFxuICAgICAgICBzZXRJbnRlcnNlY3Rpb25SZWZcbiAgICBdKTtcbiAgICAvLyBQcmVmZXRjaCB0aGUgVVJMIGlmIHdlIGhhdmVuJ3QgYWxyZWFkeSBhbmQgaXQncyB2aXNpYmxlLlxuICAgIF9yZWFjdC5kZWZhdWx0LnVzZUVmZmVjdCgoKT0+e1xuICAgICAgICAvLyBpbiBkZXYsIHdlIG9ubHkgcHJlZmV0Y2ggb24gaG92ZXIgdG8gYXZvaWQgd2FzdGluZyByZXNvdXJjZXMgYXMgdGhlIHByZWZldGNoIHdpbGwgdHJpZ2dlciBjb21waWxpbmcgdGhlIHBhZ2UuXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIElmIHdlIGRvbid0IG5lZWQgdG8gcHJlZmV0Y2ggdGhlIFVSTCwgZG9uJ3QgZG8gcHJlZmV0Y2guXG4gICAgICAgIGlmICghaXNWaXNpYmxlIHx8ICFwcmVmZXRjaEVuYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAvLyBQcmVmZXRjaCB0aGUgVVJMLlxuICAgICAgICBwcmVmZXRjaChyb3V0ZXIsIGhyZWYsIGFzLCB7XG4gICAgICAgICAgICBsb2NhbGVcbiAgICAgICAgfSwge1xuICAgICAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kXG4gICAgICAgIH0sIGlzQXBwUm91dGVyKTtcbiAgICB9LCBbXG4gICAgICAgIGFzLFxuICAgICAgICBocmVmLFxuICAgICAgICBpc1Zpc2libGUsXG4gICAgICAgIGxvY2FsZSxcbiAgICAgICAgcHJlZmV0Y2hFbmFibGVkLFxuICAgICAgICBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIubG9jYWxlLFxuICAgICAgICByb3V0ZXIsXG4gICAgICAgIGlzQXBwUm91dGVyLFxuICAgICAgICBhcHBQcmVmZXRjaEtpbmRcbiAgICBdKTtcbiAgICBjb25zdCBjaGlsZFByb3BzID0ge1xuICAgICAgICByZWY6IHNldFJlZixcbiAgICAgICAgb25DbGljayAoZSkge1xuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xuICAgICAgICAgICAgICAgIGlmICghZSkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvbXBvbmVudCByZW5kZXJlZCBpbnNpZGUgbmV4dC9saW5rIGhhcyB0byBwYXNzIGNsaWNrIGV2ZW50IHRvIFwib25DbGlja1wiIHByb3AuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25DbGljayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb25DbGljayhlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25DbGljayA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY2hpbGQucHJvcHMub25DbGljayhlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGUuZGVmYXVsdFByZXZlbnRlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpbmtDbGlja2VkKGUsIHJvdXRlciwgaHJlZiwgYXMsIHJlcGxhY2UsIHNoYWxsb3csIHNjcm9sbCwgbG9jYWxlLCBpc0FwcFJvdXRlcik7XG4gICAgICAgIH0sXG4gICAgICAgIG9uTW91c2VFbnRlciAoZSkge1xuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Nb3VzZUVudGVyUHJvcCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb25Nb3VzZUVudGVyUHJvcChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25Nb3VzZUVudGVyID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC5wcm9wcy5vbk1vdXNlRW50ZXIoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICgoIXByZWZldGNoRW5hYmxlZCB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSAmJiBpc0FwcFJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZWZldGNoKHJvdXRlciwgaHJlZiwgYXMsIHtcbiAgICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgICAgcHJpb3JpdHk6IHRydWUsXG4gICAgICAgICAgICAgICAgLy8gQHNlZSB7aHR0cHM6Ly9naXRodWIuY29tL3ZlcmNlbC9uZXh0LmpzL2Rpc2N1c3Npb25zLzQwMjY4P3NvcnQ9dG9wI2Rpc2N1c3Npb25jb21tZW50LTM1NzI2NDJ9XG4gICAgICAgICAgICAgICAgYnlwYXNzUHJlZmV0Y2hlZENoZWNrOiB0cnVlXG4gICAgICAgICAgICB9LCB7XG4gICAgICAgICAgICAgICAga2luZDogYXBwUHJlZmV0Y2hLaW5kXG4gICAgICAgICAgICB9LCBpc0FwcFJvdXRlcik7XG4gICAgICAgIH0sXG4gICAgICAgIG9uVG91Y2hTdGFydCAoZSkge1xuICAgICAgICAgICAgaWYgKCFsZWdhY3lCZWhhdmlvciAmJiB0eXBlb2Ygb25Ub3VjaFN0YXJ0UHJvcCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgb25Ub3VjaFN0YXJ0UHJvcChlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChsZWdhY3lCZWhhdmlvciAmJiBjaGlsZC5wcm9wcyAmJiB0eXBlb2YgY2hpbGQucHJvcHMub25Ub3VjaFN0YXJ0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBjaGlsZC5wcm9wcy5vblRvdWNoU3RhcnQoZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghcHJlZmV0Y2hFbmFibGVkICYmIGlzQXBwUm91dGVyKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJlZmV0Y2gocm91dGVyLCBocmVmLCBhcywge1xuICAgICAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICAgICAgICBwcmlvcml0eTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAvLyBAc2VlIHtodHRwczovL2dpdGh1Yi5jb20vdmVyY2VsL25leHQuanMvZGlzY3Vzc2lvbnMvNDAyNjg/c29ydD10b3AjZGlzY3Vzc2lvbmNvbW1lbnQtMzU3MjY0Mn1cbiAgICAgICAgICAgICAgICBieXBhc3NQcmVmZXRjaGVkQ2hlY2s6IHRydWVcbiAgICAgICAgICAgIH0sIHtcbiAgICAgICAgICAgICAgICBraW5kOiBhcHBQcmVmZXRjaEtpbmRcbiAgICAgICAgICAgIH0sIGlzQXBwUm91dGVyKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgLy8gSWYgY2hpbGQgaXMgYW4gPGE+IHRhZyBhbmQgZG9lc24ndCBoYXZlIGEgaHJlZiBhdHRyaWJ1dGUsIG9yIGlmIHRoZSAncGFzc0hyZWYnIHByb3BlcnR5IGlzXG4gICAgLy8gZGVmaW5lZCwgd2Ugc3BlY2lmeSB0aGUgY3VycmVudCAnaHJlZicsIHNvIHRoYXQgcmVwZXRpdGlvbiBpcyBub3QgbmVlZGVkIGJ5IHRoZSB1c2VyLlxuICAgIC8vIElmIHRoZSB1cmwgaXMgYWJzb2x1dGUsIHdlIGNhbiBieXBhc3MgdGhlIGxvZ2ljIHRvIHByZXBlbmQgdGhlIGRvbWFpbiBhbmQgbG9jYWxlLlxuICAgIGlmICgoMCwgX3V0aWxzLmlzQWJzb2x1dGVVcmwpKGFzKSkge1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBhcztcbiAgICB9IGVsc2UgaWYgKCFsZWdhY3lCZWhhdmlvciB8fCBwYXNzSHJlZiB8fCBjaGlsZC50eXBlID09PSBcImFcIiAmJiAhKFwiaHJlZlwiIGluIGNoaWxkLnByb3BzKSkge1xuICAgICAgICBjb25zdCBjdXJMb2NhbGUgPSB0eXBlb2YgbG9jYWxlICE9PSBcInVuZGVmaW5lZFwiID8gbG9jYWxlIDogcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmxvY2FsZTtcbiAgICAgICAgLy8gd2Ugb25seSByZW5kZXIgZG9tYWluIGxvY2FsZXMgaWYgd2UgYXJlIGN1cnJlbnRseSBvbiBhIGRvbWFpbiBsb2NhbGVcbiAgICAgICAgLy8gc28gdGhhdCBsb2NhbGUgbGlua3MgYXJlIHN0aWxsIHZpc2l0YWJsZSBpbiBkZXZlbG9wbWVudC9wcmV2aWV3IGVudnNcbiAgICAgICAgY29uc3QgbG9jYWxlRG9tYWluID0gKHBhZ2VzUm91dGVyID09IG51bGwgPyB2b2lkIDAgOiBwYWdlc1JvdXRlci5pc0xvY2FsZURvbWFpbikgJiYgKDAsIF9nZXRkb21haW5sb2NhbGUuZ2V0RG9tYWluTG9jYWxlKShhcywgY3VyTG9jYWxlLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIubG9jYWxlcywgcGFnZXNSb3V0ZXIgPT0gbnVsbCA/IHZvaWQgMCA6IHBhZ2VzUm91dGVyLmRvbWFpbkxvY2FsZXMpO1xuICAgICAgICBjaGlsZFByb3BzLmhyZWYgPSBsb2NhbGVEb21haW4gfHwgKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoKDAsIF9hZGRsb2NhbGUuYWRkTG9jYWxlKShhcywgY3VyTG9jYWxlLCBwYWdlc1JvdXRlciA9PSBudWxsID8gdm9pZCAwIDogcGFnZXNSb3V0ZXIuZGVmYXVsdExvY2FsZSkpO1xuICAgIH1cbiAgICByZXR1cm4gbGVnYWN5QmVoYXZpb3IgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNsb25lRWxlbWVudChjaGlsZCwgY2hpbGRQcm9wcykgOiAvKiNfX1BVUkVfXyovICgwLCBfanN4cnVudGltZS5qc3gpKFwiYVwiLCB7XG4gICAgICAgIC4uLnJlc3RQcm9wcyxcbiAgICAgICAgLi4uY2hpbGRQcm9wcyxcbiAgICAgICAgY2hpbGRyZW46IGNoaWxkcmVuXG4gICAgfSk7XG59KTtcbmNvbnN0IF9kZWZhdWx0ID0gTGluaztcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bGluay5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/client/link.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js ***! \************************************************************************/ /***/ ((module) => { "use strict"; eval("\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all)=>{\n for(var name in all)__defProp(target, name, {\n get: all[name],\n enumerable: true\n });\n};\nvar __copyProps = (to, from, except, desc)=>{\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {\n get: ()=>from[key],\n enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable\n });\n }\n return to;\n};\nvar __toCommonJS = (mod)=>__copyProps(__defProp({}, \"__esModule\", {\n value: true\n }), mod);\n// src/index.ts\nvar src_exports = {};\n__export(src_exports, {\n RequestCookies: ()=>RequestCookies,\n ResponseCookies: ()=>ResponseCookies,\n parseCookie: ()=>parseCookie,\n parseSetCookie: ()=>parseSetCookie,\n stringifyCookie: ()=>stringifyCookie\n});\nmodule.exports = __toCommonJS(src_exports);\n// src/serialize.ts\nfunction stringifyCookie(c) {\n var _a;\n const attrs = [\n \"path\" in c && c.path && `Path=${c.path}`,\n \"expires\" in c && (c.expires || c.expires === 0) && `Expires=${(typeof c.expires === \"number\" ? new Date(c.expires) : c.expires).toUTCString()}`,\n \"maxAge\" in c && typeof c.maxAge === \"number\" && `Max-Age=${c.maxAge}`,\n \"domain\" in c && c.domain && `Domain=${c.domain}`,\n \"secure\" in c && c.secure && \"Secure\",\n \"httpOnly\" in c && c.httpOnly && \"HttpOnly\",\n \"sameSite\" in c && c.sameSite && `SameSite=${c.sameSite}`,\n \"priority\" in c && c.priority && `Priority=${c.priority}`\n ].filter(Boolean);\n return `${c.name}=${encodeURIComponent((_a = c.value) != null ? _a : \"\")}; ${attrs.join(\"; \")}`;\n}\nfunction parseCookie(cookie) {\n const map = /* @__PURE__ */ new Map();\n for (const pair of cookie.split(/; */)){\n if (!pair) continue;\n const splitAt = pair.indexOf(\"=\");\n if (splitAt === -1) {\n map.set(pair, \"true\");\n continue;\n }\n const [key, value] = [\n pair.slice(0, splitAt),\n pair.slice(splitAt + 1)\n ];\n try {\n map.set(key, decodeURIComponent(value != null ? value : \"true\"));\n } catch {}\n }\n return map;\n}\nfunction parseSetCookie(setCookie) {\n if (!setCookie) {\n return void 0;\n }\n const [[name, value], ...attributes] = parseCookie(setCookie);\n const { domain, expires, httponly, maxage, path, samesite, secure, priority } = Object.fromEntries(attributes.map(([key, value2])=>[\n key.toLowerCase(),\n value2\n ]));\n const cookie = {\n name,\n value: decodeURIComponent(value),\n domain,\n ...expires && {\n expires: new Date(expires)\n },\n ...httponly && {\n httpOnly: true\n },\n ...typeof maxage === \"string\" && {\n maxAge: Number(maxage)\n },\n path,\n ...samesite && {\n sameSite: parseSameSite(samesite)\n },\n ...secure && {\n secure: true\n },\n ...priority && {\n priority: parsePriority(priority)\n }\n };\n return compact(cookie);\n}\nfunction compact(t) {\n const newT = {};\n for(const key in t){\n if (t[key]) {\n newT[key] = t[key];\n }\n }\n return newT;\n}\nvar SAME_SITE = [\n \"strict\",\n \"lax\",\n \"none\"\n];\nfunction parseSameSite(string) {\n string = string.toLowerCase();\n return SAME_SITE.includes(string) ? string : void 0;\n}\nvar PRIORITY = [\n \"low\",\n \"medium\",\n \"high\"\n];\nfunction parsePriority(string) {\n string = string.toLowerCase();\n return PRIORITY.includes(string) ? string : void 0;\n}\nfunction splitCookiesString(cookiesString) {\n if (!cookiesString) return [];\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n cookiesSeparatorFound = true;\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\n// src/request-cookies.ts\nvar RequestCookies = class {\n constructor(requestHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n this._headers = requestHeaders;\n const header = requestHeaders.get(\"cookie\");\n if (header) {\n const parsed = parseCookie(header);\n for (const [name, value] of parsed){\n this._parsed.set(name, {\n name,\n value\n });\n }\n }\n }\n [Symbol.iterator]() {\n return this._parsed[Symbol.iterator]();\n }\n /**\n * The amount of cookies received from the client\n */ get size() {\n return this._parsed.size;\n }\n get(...args) {\n const name = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(name);\n }\n getAll(...args) {\n var _a;\n const all = Array.from(this._parsed);\n if (!args.length) {\n return all.map(([_, value])=>value);\n }\n const name = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter(([n])=>n === name).map(([_, value])=>value);\n }\n has(name) {\n return this._parsed.has(name);\n }\n set(...args) {\n const [name, value] = args.length === 1 ? [\n args[0].name,\n args[0].value\n ] : args;\n const map = this._parsed;\n map.set(name, {\n name,\n value\n });\n this._headers.set(\"cookie\", Array.from(map).map(([_, value2])=>stringifyCookie(value2)).join(\"; \"));\n return this;\n }\n /**\n * Delete the cookies matching the passed name or names in the request.\n */ delete(names) {\n const map = this._parsed;\n const result = !Array.isArray(names) ? map.delete(names) : names.map((name)=>map.delete(name));\n this._headers.set(\"cookie\", Array.from(map).map(([_, value])=>stringifyCookie(value)).join(\"; \"));\n return result;\n }\n /**\n * Delete all the cookies in the cookies in the request.\n */ clear() {\n this.delete(Array.from(this._parsed.keys()));\n return this;\n }\n /**\n * Format the cookies in the request as a string for logging\n */ [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `RequestCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map((v)=>`${v.name}=${encodeURIComponent(v.value)}`).join(\"; \");\n }\n};\n// src/response-cookies.ts\nvar ResponseCookies = class {\n constructor(responseHeaders){\n /** @internal */ this._parsed = /* @__PURE__ */ new Map();\n var _a, _b, _c;\n this._headers = responseHeaders;\n const setCookie = (_c = (_b = (_a = responseHeaders.getSetCookie) == null ? void 0 : _a.call(responseHeaders)) != null ? _b : responseHeaders.get(\"set-cookie\")) != null ? _c : [];\n const cookieStrings = Array.isArray(setCookie) ? setCookie : splitCookiesString(setCookie);\n for (const cookieString of cookieStrings){\n const parsed = parseSetCookie(cookieString);\n if (parsed) this._parsed.set(parsed.name, parsed);\n }\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-get CookieStore#get} without the Promise.\n */ get(...args) {\n const key = typeof args[0] === \"string\" ? args[0] : args[0].name;\n return this._parsed.get(key);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-getAll CookieStore#getAll} without the Promise.\n */ getAll(...args) {\n var _a;\n const all = Array.from(this._parsed.values());\n if (!args.length) {\n return all;\n }\n const key = typeof args[0] === \"string\" ? args[0] : (_a = args[0]) == null ? void 0 : _a.name;\n return all.filter((c)=>c.name === key);\n }\n has(name) {\n return this._parsed.has(name);\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-set CookieStore#set} without the Promise.\n */ set(...args) {\n const [name, value, cookie] = args.length === 1 ? [\n args[0].name,\n args[0].value,\n args[0]\n ] : args;\n const map = this._parsed;\n map.set(name, normalizeCookie({\n name,\n value,\n ...cookie\n }));\n replace(map, this._headers);\n return this;\n }\n /**\n * {@link https://wicg.github.io/cookie-store/#CookieStore-delete CookieStore#delete} without the Promise.\n */ delete(...args) {\n const [name, path, domain] = typeof args[0] === \"string\" ? [\n args[0]\n ] : [\n args[0].name,\n args[0].path,\n args[0].domain\n ];\n return this.set({\n name,\n path,\n domain,\n value: \"\",\n expires: /* @__PURE__ */ new Date(0)\n });\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return `ResponseCookies ${JSON.stringify(Object.fromEntries(this._parsed))}`;\n }\n toString() {\n return [\n ...this._parsed.values()\n ].map(stringifyCookie).join(\"; \");\n }\n};\nfunction replace(bag, headers) {\n headers.delete(\"set-cookie\");\n for (const [, value] of bag){\n const serialized = stringifyCookie(value);\n headers.append(\"set-cookie\", serialized);\n }\n}\nfunction normalizeCookie(cookie = {\n name: \"\",\n value: \"\"\n}) {\n if (typeof cookie.expires === \"number\") {\n cookie.expires = new Date(cookie.expires);\n }\n if (cookie.maxAge) {\n cookie.expires = new Date(Date.now() + cookie.maxAge * 1e3);\n }\n if (cookie.path === null || cookie.path === void 0) {\n cookie.path = \"/\";\n }\n return cookie;\n}\n// Annotate the CommonJS export names for ESM import in node:\n0 && (0);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llcy9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLFlBQVlDLE9BQU9DLGNBQWM7QUFDckMsSUFBSUMsbUJBQW1CRixPQUFPRyx3QkFBd0I7QUFDdEQsSUFBSUMsb0JBQW9CSixPQUFPSyxtQkFBbUI7QUFDbEQsSUFBSUMsZUFBZU4sT0FBT08sU0FBUyxDQUFDQyxjQUFjO0FBQ2xELElBQUlDLFdBQVcsQ0FBQ0MsUUFBUUM7SUFDdEIsSUFBSyxJQUFJQyxRQUFRRCxJQUNmWixVQUFVVyxRQUFRRSxNQUFNO1FBQUVDLEtBQUtGLEdBQUcsQ0FBQ0MsS0FBSztRQUFFRSxZQUFZO0lBQUs7QUFDL0Q7QUFDQSxJQUFJQyxjQUFjLENBQUNDLElBQUlDLE1BQU1DLFFBQVFDO0lBQ25DLElBQUlGLFFBQVEsT0FBT0EsU0FBUyxZQUFZLE9BQU9BLFNBQVMsWUFBWTtRQUNsRSxLQUFLLElBQUlHLE9BQU9oQixrQkFBa0JhLE1BQ2hDLElBQUksQ0FBQ1gsYUFBYWUsSUFBSSxDQUFDTCxJQUFJSSxRQUFRQSxRQUFRRixRQUN6Q25CLFVBQVVpQixJQUFJSSxLQUFLO1lBQUVQLEtBQUssSUFBTUksSUFBSSxDQUFDRyxJQUFJO1lBQUVOLFlBQVksQ0FBRUssQ0FBQUEsT0FBT2pCLGlCQUFpQmUsTUFBTUcsSUFBRyxLQUFNRCxLQUFLTCxVQUFVO1FBQUM7SUFDdEg7SUFDQSxPQUFPRTtBQUNUO0FBQ0EsSUFBSU0sZUFBZSxDQUFDQyxNQUFRUixZQUFZaEIsVUFBVSxDQUFDLEdBQUcsY0FBYztRQUFFeUIsT0FBTztJQUFLLElBQUlEO0FBRXRGLGVBQWU7QUFDZixJQUFJRSxjQUFjLENBQUM7QUFDbkJoQixTQUFTZ0IsYUFBYTtJQUNwQkMsZ0JBQWdCLElBQU1BO0lBQ3RCQyxpQkFBaUIsSUFBTUE7SUFDdkJDLGFBQWEsSUFBTUE7SUFD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QzNCLE1BQU1FLGFBQWFyRyxnQkFBZ0JOO1FBQ25DMEcsUUFBUUUsTUFBTSxDQUFDLGNBQWNEO0lBQy9CO0FBQ0Y7QUFDQSxTQUFTSixnQkFBZ0I3RSxTQUFTO0lBQUV0QyxNQUFNO0lBQUlZLE9BQU87QUFBRyxDQUFDO0lBQ3ZELElBQUksT0FBTzBCLE9BQU9iLE9BQU8sS0FBSyxVQUFVO1FBQ3RDYSxPQUFPYixPQUFPLEdBQUcsSUFBSUMsS0FBS1ksT0FBT2IsT0FBTztJQUMxQztJQUNBLElBQUlhLE9BQU9WLE1BQU0sRUFBRTtRQUNqQlUsT0FBT2IsT0FBTyxHQUFHLElBQUlDLEtBQUtBLEtBQUsrRixHQUFHLEtBQUtuRixPQUFPVixNQUFNLEdBQUc7SUFDekQ7SUFDQSxJQUFJVSxPQUFPZCxJQUFJLEtBQUssUUFBUWMsT0FBT2QsSUFBSSxLQUFLLEtBQUssR0FBRztRQUNsRGMsT0FBT2QsSUFBSSxHQUFHO0lBQ2hCO0lBQ0EsT0FBT2M7QUFDVDtBQUNBLDZEQUE2RDtBQUM3RCxLQUFNbkIsQ0FBQUEsQ0FNTiIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llcy9pbmRleC5qcz9jMDk5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gc3JjL2luZGV4LnRzXG52YXIgc3JjX2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KHNyY19leHBvcnRzLCB7XG4gIFJlcXVlc3RDb29raWVzOiAoKSA9PiBSZXF1ZXN0Q29va2llcyxcbiAgUmVzcG9uc2VDb29raWVzOiAoKSA9PiBSZXNwb25zZUNvb2tpZXMsXG4gIHBhcnNlQ29va2llOiAoKSA9PiBwYXJzZUNvb2tpZSxcbiAgcGFyc2VTZXRDb29raWU6ICgpID0+IHBhcnNlU2V0Q29va2llLFxuICBzdHJpbmdpZnlDb29raWU6ICgpID0+IHN0cmluZ2lmeUNvb2tpZVxufSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fdG9Db21tb25KUyhzcmNfZXhwb3J0cyk7XG5cbi8vIHNyYy9zZXJpYWxpemUudHNcbmZ1bmN0aW9uIHN0cmluZ2lmeUNvb2tpZShjKSB7XG4gIHZhciBfYTtcbiAgY29uc3QgYXR0cnMgPSBbXG4gICAgXCJwYXRoXCIgaW4gYyAmJiBjLnBhdGggJiYgYFBhdGg9JHtjLnBhdGh9YCxcbiAgICBcImV4cGlyZXNcIiBpbiBjICYmIChjLmV4cGlyZXMgfHwgYy5leHBpcmVzID09PSAwKSAmJiBgRXhwaXJlcz0keyh0eXBlb2YgYy5leHBpcmVzID09PSBcIm51bWJlclwiID8gbmV3IERhdGUoYy5leHBpcmVzKSA6IGMuZXhwaXJlcykudG9VVENTdHJpbmcoKX1gLFxuICAgIFwibWF4QWdlXCIgaW4gYyAmJiB0eXBlb2YgYy5tYXhBZ2UgPT09IFwibnVtYmVyXCIgJiYgYE1heC1BZ2U9JHtjLm1heEFnZX1gLFxuICAgIFwiZG9tYWluXCIgaW4gYyAmJiBjLmRvbWFpbiAmJiBgRG9tYWluPSR7Yy5kb21haW59YCxcbiAgICBcInNlY3VyZVwiIGluIGMgJiYgYy5zZWN1cmUgJiYgXCJTZWN1cmVcIixcbiAgICBcImh0dHBPbmx5XCIgaW4gYyAmJiBjLmh0dHBPbmx5ICYmIFwiSHR0cE9ubHlcIixcbiAgICBcInNhbWVTaXRlXCIgaW4gYyAmJiBjLnNhbWVTaXRlICYmIGBTYW1lU2l0ZT0ke2Muc2FtZVNpdGV9YCxcbiAgICBcInByaW9yaXR5XCIgaW4gYyAmJiBjLnByaW9yaXR5ICYmIGBQcmlvcml0eT0ke2MucHJpb3JpdHl9YFxuICBdLmZpbHRlcihCb29sZWFuKTtcbiAgcmV0dXJuIGAke2MubmFtZX09JHtlbmNvZGVVUklDb21wb25lbnQoKF9hID0gYy52YWx1ZSkgIT0gbnVsbCA/IF9hIDogXCJcIil9OyAke2F0dHJzLmpvaW4oXCI7IFwiKX1gO1xufVxuZnVuY3Rpb24gcGFyc2VDb29raWUoY29va2llKSB7XG4gIGNvbnN0IG1hcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gIGZvciAoY29uc3QgcGFpciBvZiBjb29raWUuc3BsaXQoLzsgKi8pKSB7XG4gICAgaWYgKCFwYWlyKVxuICAgICAgY29udGludWU7XG4gICAgY29uc3Qgc3BsaXRBdCA9IHBhaXIuaW5kZXhPZihcIj1cIik7XG4gICAgaWYgKHNwbGl0QXQgPT09IC0xKSB7XG4gICAgICBtYXAuc2V0KHBhaXIsIFwidHJ1ZVwiKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCBba2V5LCB2YWx1ZV0gPSBbcGFpci5zbGljZSgwLCBzcGxpdEF0KSwgcGFpci5zbGljZShzcGxpdEF0ICsgMSldO1xuICAgIHRyeSB7XG4gICAgICBtYXAuc2V0KGtleSwgZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlICE9IG51bGwgPyB2YWx1ZSA6IFwidHJ1ZVwiKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgfVxuICB9XG4gIHJldHVybiBtYXA7XG59XG5mdW5jdGlvbiBwYXJzZVNldENvb2tpZShzZXRDb29raWUpIHtcbiAgaWYgKCFzZXRDb29raWUpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIGNvbnN0IFtbbmFtZSwgdmFsdWVdLCAuLi5hdHRyaWJ1dGVzXSA9IHBhcnNlQ29va2llKHNldENvb2tpZSk7XG4gIGNvbnN0IHtcbiAgICBkb21haW4sXG4gICAgZXhwaXJlcyxcbiAgICBodHRwb25seSxcbiAgICBtYXhhZ2UsXG4gICAgcGF0aCxcbiAgICBzYW1lc2l0ZSxcbiAgICBzZWN1cmUsXG4gICAgcHJpb3JpdHlcbiAgfSA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBhdHRyaWJ1dGVzLm1hcCgoW2tleSwgdmFsdWUyXSkgPT4gW2tleS50b0xvd2VyQ2FzZSgpLCB2YWx1ZTJdKVxuICApO1xuICBjb25zdCBjb29raWUgPSB7XG4gICAgbmFtZSxcbiAgICB2YWx1ZTogZGVjb2RlVVJJQ29tcG9uZW50KHZhbHVlKSxcbiAgICBkb21haW4sXG4gICAgLi4uZXhwaXJlcyAmJiB7IGV4cGlyZXM6IG5ldyBEYXRlKGV4cGlyZXMpIH0sXG4gICAgLi4uaHR0cG9ubHkgJiYgeyBodHRwT25seTogdHJ1ZSB9LFxuICAgIC4uLnR5cGVvZiBtYXhhZ2UgPT09IFwic3RyaW5nXCIgJiYgeyBtYXhBZ2U6IE51bWJlcihtYXhhZ2UpIH0sXG4gICAgcGF0aCxcbiAgICAuLi5zYW1lc2l0ZSAmJiB7IHNhbWVTaXRlOiBwYXJzZVNhbWVTaXRlKHNhbWVzaXRlKSB9LFxuICAgIC4uLnNlY3VyZSAmJiB7IHNlY3VyZTogdHJ1ZSB9LFxuICAgIC4uLnByaW9yaXR5ICYmIHsgcHJpb3JpdHk6IHBhcnNlUHJpb3JpdHkocHJpb3JpdHkpIH1cbiAgfTtcbiAgcmV0dXJuIGNvbXBhY3QoY29va2llKTtcbn1cbmZ1bmN0aW9uIGNvbXBhY3QodCkge1xuICBjb25zdCBuZXdUID0ge307XG4gIGZvciAoY29uc3Qga2V5IGluIHQpIHtcbiAgICBpZiAodFtrZXldKSB7XG4gICAgICBuZXdUW2tleV0gPSB0W2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiBuZXdUO1xufVxudmFyIFNBTUVfU0lURSA9IFtcInN0cmljdFwiLCBcImxheFwiLCBcIm5vbmVcIl07XG5mdW5jdGlvbiBwYXJzZVNhbWVTaXRlKHN0cmluZykge1xuICBzdHJpbmcgPSBzdHJpbmcudG9Mb3dlckNhc2UoKTtcbiAgcmV0dXJuIFNBTUVfU0lURS5pbmNsdWRlcyhzdHJpbmcpID8gc3RyaW5nIDogdm9pZCAwO1xufVxudmFyIFBSSU9SSVRZID0gW1wibG93XCIsIFwibWVkaXVtXCIsIFwiaGlnaFwiXTtcbmZ1bmN0aW9uIHBhcnNlUHJpb3JpdHkoc3RyaW5nKSB7XG4gIHN0cmluZyA9IHN0cmluZy50b0xvd2VyQ2FzZSgpO1xuICByZXR1cm4gUFJJT1JJVFkuaW5jbHVkZXMoc3RyaW5nKSA/IHN0cmluZyA6IHZvaWQgMDtcbn1cbmZ1bmN0aW9uIHNwbGl0Q29va2llc1N0cmluZyhjb29raWVzU3RyaW5nKSB7XG4gIGlmICghY29va2llc1N0cmluZylcbiAgICByZXR1cm4gW107XG4gIHZhciBjb29raWVzU3RyaW5ncyA9IFtdO1xuICB2YXIgcG9zID0gMDtcbiAgdmFyIHN0YXJ0O1xuICB2YXIgY2g7XG4gIHZhciBsYXN0Q29tbWE7XG4gIHZhciBuZXh0U3RhcnQ7XG4gIHZhciBjb29raWVzU2VwYXJhdG9yRm91bmQ7XG4gIGZ1bmN0aW9uIHNraXBXaGl0ZXNwYWNlKCkge1xuICAgIHdoaWxlIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiAvXFxzLy50ZXN0KGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcykpKSB7XG4gICAgICBwb3MgKz0gMTtcbiAgICB9XG4gICAgcmV0dXJuIHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoO1xuICB9XG4gIGZ1bmN0aW9uIG5vdFNwZWNpYWxDaGFyKCkge1xuICAgIGNoID0gY29va2llc1N0cmluZy5jaGFyQXQocG9zKTtcbiAgICByZXR1cm4gY2ggIT09IFwiPVwiICYmIGNoICE9PSBcIjtcIiAmJiBjaCAhPT0gXCIsXCI7XG4gIH1cbiAgd2hpbGUgKHBvcyA8IGNvb2tpZXNTdHJpbmcubGVuZ3RoKSB7XG4gICAgc3RhcnQgPSBwb3M7XG4gICAgY29va2llc1NlcGFyYXRvckZvdW5kID0gZmFsc2U7XG4gICAgd2hpbGUgKHNraXBXaGl0ZXNwYWNlKCkpIHtcbiAgICAgIGNoID0gY29va2llc1N0cmluZy5jaGFyQXQocG9zKTtcbiAgICAgIGlmIChjaCA9PT0gXCIsXCIpIHtcbiAgICAgICAgbGFzdENvbW1hID0gcG9zO1xuICAgICAgICBwb3MgKz0gMTtcbiAgICAgICAgc2tpcFdoaXRlc3BhY2UoKTtcbiAgICAgICAgbmV4dFN0YXJ0ID0gcG9zO1xuICAgICAgICB3aGlsZSAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgbm90U3BlY2lhbENoYXIoKSkge1xuICAgICAgICAgIHBvcyArPSAxO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiBjb29raWVzU3RyaW5nLmNoYXJBdChwb3MpID09PSBcIj1cIikge1xuICAgICAgICAgIGNvb2tpZXNTZXBhcmF0b3JGb3VuZCA9IHRydWU7XG4gICAgICAgICAgcG9zID0gbmV4dFN0YXJ0O1xuICAgICAgICAgIGNvb2tpZXNTdHJpbmdzLnB1c2goY29va2llc1N0cmluZy5zdWJzdHJpbmcoc3RhcnQsIGxhc3RDb21tYSkpO1xuICAgICAgICAgIHN0YXJ0ID0gcG9zO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBvcyA9IGxhc3RDb21tYSArIDE7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvcyArPSAxO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoIWNvb2tpZXNTZXBhcmF0b3JGb3VuZCB8fCBwb3MgPj0gY29va2llc1N0cmluZy5sZW5ndGgpIHtcbiAgICAgIGNvb2tpZXNTdHJpbmdzLnB1c2goY29va2llc1N0cmluZy5zdWJzdHJpbmcoc3RhcnQsIGNvb2tpZXNTdHJpbmcubGVuZ3RoKSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBjb29raWVzU3RyaW5ncztcbn1cblxuLy8gc3JjL3JlcXVlc3QtY29va2llcy50c1xudmFyIFJlcXVlc3RDb29raWVzID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihyZXF1ZXN0SGVhZGVycykge1xuICAgIC8qKiBAaW50ZXJuYWwgKi9cbiAgICB0aGlzLl9wYXJzZWQgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgIHRoaXMuX2hlYWRlcnMgPSByZXF1ZXN0SGVhZGVycztcbiAgICBjb25zdCBoZWFkZXIgPSByZXF1ZXN0SGVhZGVycy5nZXQoXCJjb29raWVcIik7XG4gICAgaWYgKGhlYWRlcikge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VDb29raWUoaGVhZGVyKTtcbiAgICAgIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBwYXJzZWQpIHtcbiAgICAgICAgdGhpcy5fcGFyc2VkLnNldChuYW1lLCB7IG5hbWUsIHZhbHVlIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkW1N5bWJvbC5pdGVyYXRvcl0oKTtcbiAgfVxuICAvKipcbiAgICogVGhlIGFtb3VudCBvZiBjb29raWVzIHJlY2VpdmVkIGZyb20gdGhlIGNsaWVudFxuICAgKi9cbiAgZ2V0IHNpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5zaXplO1xuICB9XG4gIGdldCguLi5hcmdzKSB7XG4gICAgY29uc3QgbmFtZSA9IHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gYXJnc1swXSA6IGFyZ3NbMF0ubmFtZTtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLmdldChuYW1lKTtcbiAgfVxuICBnZXRBbGwoLi4uYXJncykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBhbGwgPSBBcnJheS5mcm9tKHRoaXMuX3BhcnNlZCk7XG4gICAgaWYgKCFhcmdzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGFsbC5tYXAoKFtfLCB2YWx1ZV0pID0+IHZhbHVlKTtcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gYXJnc1swXSA6IChfYSA9IGFyZ3NbMF0pID09IG51bGwgPyB2b2lkIDAgOiBfYS5uYW1lO1xuICAgIHJldHVybiBhbGwuZmlsdGVyKChbbl0pID0+IG4gPT09IG5hbWUpLm1hcCgoW18sIHZhbHVlXSkgPT4gdmFsdWUpO1xuICB9XG4gIGhhcyhuYW1lKSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcnNlZC5oYXMobmFtZSk7XG4gIH1cbiAgc2V0KC4uLmFyZ3MpIHtcbiAgICBjb25zdCBbbmFtZSwgdmFsdWVdID0gYXJncy5sZW5ndGggPT09IDEgPyBbYXJnc1swXS5uYW1lLCBhcmdzWzBdLnZhbHVlXSA6IGFyZ3M7XG4gICAgY29uc3QgbWFwID0gdGhpcy5fcGFyc2VkO1xuICAgIG1hcC5zZXQobmFtZSwgeyBuYW1lLCB2YWx1ZSB9KTtcbiAgICB0aGlzLl9oZWFkZXJzLnNldChcbiAgICAgIFwiY29va2llXCIsXG4gICAgICBBcnJheS5mcm9tKG1hcCkubWFwKChbXywgdmFsdWUyXSkgPT4gc3RyaW5naWZ5Q29va2llKHZhbHVlMikpLmpvaW4oXCI7IFwiKVxuICAgICk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbiAgLyoqXG4gICAqIERlbGV0ZSB0aGUgY29va2llcyBtYXRjaGluZyB0aGUgcGFzc2VkIG5hbWUgb3IgbmFtZXMgaW4gdGhlIHJlcXVlc3QuXG4gICAqL1xuICBkZWxldGUobmFtZXMpIHtcbiAgICBjb25zdCBtYXAgPSB0aGlzLl9wYXJzZWQ7XG4gICAgY29uc3QgcmVzdWx0ID0gIUFycmF5LmlzQXJyYXkobmFtZXMpID8gbWFwLmRlbGV0ZShuYW1lcykgOiBuYW1lcy5tYXAoKG5hbWUpID0+IG1hcC5kZWxldGUobmFtZSkpO1xuICAgIHRoaXMuX2hlYWRlcnMuc2V0KFxuICAgICAgXCJjb29raWVcIixcbiAgICAgIEFycmF5LmZyb20obWFwKS5tYXAoKFtfLCB2YWx1ZV0pID0+IHN0cmluZ2lmeUNvb2tpZSh2YWx1ZSkpLmpvaW4oXCI7IFwiKVxuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvKipcbiAgICogRGVsZXRlIGFsbCB0aGUgY29va2llcyBpbiB0aGUgY29va2llcyBpbiB0aGUgcmVxdWVzdC5cbiAgICovXG4gIGNsZWFyKCkge1xuICAgIHRoaXMuZGVsZXRlKEFycmF5LmZyb20odGhpcy5fcGFyc2VkLmtleXMoKSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG4gIC8qKlxuICAgKiBGb3JtYXQgdGhlIGNvb2tpZXMgaW4gdGhlIHJlcXVlc3QgYXMgYSBzdHJpbmcgZm9yIGxvZ2dpbmdcbiAgICovXG4gIFtTeW1ib2wuZm9yKFwiZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICByZXR1cm4gYFJlcXVlc3RDb29raWVzICR7SlNPTi5zdHJpbmdpZnkoT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuX3BhcnNlZCkpfWA7XG4gIH1cbiAgdG9TdHJpbmcoKSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLl9wYXJzZWQudmFsdWVzKCldLm1hcCgodikgPT4gYCR7di5uYW1lfT0ke2VuY29kZVVSSUNvbXBvbmVudCh2LnZhbHVlKX1gKS5qb2luKFwiOyBcIik7XG4gIH1cbn07XG5cbi8vIHNyYy9yZXNwb25zZS1jb29raWVzLnRzXG52YXIgUmVzcG9uc2VDb29raWVzID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihyZXNwb25zZUhlYWRlcnMpIHtcbiAgICAvKiogQGludGVybmFsICovXG4gICAgdGhpcy5fcGFyc2VkID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgICB2YXIgX2EsIF9iLCBfYztcbiAgICB0aGlzLl9oZWFkZXJzID0gcmVzcG9uc2VIZWFkZXJzO1xuICAgIGNvbnN0IHNldENvb2tpZSA9IChfYyA9IChfYiA9IChfYSA9IHJlc3BvbnNlSGVhZGVycy5nZXRTZXRDb29raWUpID09IG51bGwgPyB2b2lkIDAgOiBfYS5jYWxsKHJlc3BvbnNlSGVhZGVycykpICE9IG51bGwgPyBfYiA6IHJlc3BvbnNlSGVhZGVycy5nZXQoXCJzZXQtY29va2llXCIpKSAhPSBudWxsID8gX2MgOiBbXTtcbiAgICBjb25zdCBjb29raWVTdHJpbmdzID0gQXJyYXkuaXNBcnJheShzZXRDb29raWUpID8gc2V0Q29va2llIDogc3BsaXRDb29raWVzU3RyaW5nKHNldENvb2tpZSk7XG4gICAgZm9yIChjb25zdCBjb29raWVTdHJpbmcgb2YgY29va2llU3RyaW5ncykge1xuICAgICAgY29uc3QgcGFyc2VkID0gcGFyc2VTZXRDb29raWUoY29va2llU3RyaW5nKTtcbiAgICAgIGlmIChwYXJzZWQpXG4gICAgICAgIHRoaXMuX3BhcnNlZC5zZXQocGFyc2VkLm5hbWUsIHBhcnNlZCk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9jb29raWUtc3RvcmUvI0Nvb2tpZVN0b3JlLWdldCBDb29raWVTdG9yZSNnZXR9IHdpdGhvdXQgdGhlIFByb21pc2UuXG4gICAqL1xuICBnZXQoLi4uYXJncykge1xuICAgIGNvbnN0IGtleSA9IHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gYXJnc1swXSA6IGFyZ3NbMF0ubmFtZTtcbiAgICByZXR1cm4gdGhpcy5fcGFyc2VkLmdldChrZXkpO1xuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9jb29raWUtc3RvcmUvI0Nvb2tpZVN0b3JlLWdldEFsbCBDb29raWVTdG9yZSNnZXRBbGx9IHdpdGhvdXQgdGhlIFByb21pc2UuXG4gICAqL1xuICBnZXRBbGwoLi4uYXJncykge1xuICAgIHZhciBfYTtcbiAgICBjb25zdCBhbGwgPSBBcnJheS5mcm9tKHRoaXMuX3BhcnNlZC52YWx1ZXMoKSk7XG4gICAgaWYgKCFhcmdzLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGFsbDtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gdHlwZW9mIGFyZ3NbMF0gPT09IFwic3RyaW5nXCIgPyBhcmdzWzBdIDogKF9hID0gYXJnc1swXSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLm5hbWU7XG4gICAgcmV0dXJuIGFsbC5maWx0ZXIoKGMpID0+IGMubmFtZSA9PT0ga2V5KTtcbiAgfVxuICBoYXMobmFtZSkge1xuICAgIHJldHVybiB0aGlzLl9wYXJzZWQuaGFzKG5hbWUpO1xuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgaHR0cHM6Ly93aWNnLmdpdGh1Yi5pby9jb29raWUtc3RvcmUvI0Nvb2tpZVN0b3JlLXNldCBDb29raWVTdG9yZSNzZXR9IHdpdGhvdXQgdGhlIFByb21pc2UuXG4gICAqL1xuICBzZXQoLi4uYXJncykge1xuICAgIGNvbnN0IFtuYW1lLCB2YWx1ZSwgY29va2llXSA9IGFyZ3MubGVuZ3RoID09PSAxID8gW2FyZ3NbMF0ubmFtZSwgYXJnc1swXS52YWx1ZSwgYXJnc1swXV0gOiBhcmdzO1xuICAgIGNvbnN0IG1hcCA9IHRoaXMuX3BhcnNlZDtcbiAgICBtYXAuc2V0KG5hbWUsIG5vcm1hbGl6ZUNvb2tpZSh7IG5hbWUsIHZhbHVlLCAuLi5jb29raWUgfSkpO1xuICAgIHJlcGxhY2UobWFwLCB0aGlzLl9oZWFkZXJzKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuICAvKipcbiAgICoge0BsaW5rIGh0dHBzOi8vd2ljZy5naXRodWIuaW8vY29va2llLXN0b3JlLyNDb29raWVTdG9yZS1kZWxldGUgQ29va2llU3RvcmUjZGVsZXRlfSB3aXRob3V0IHRoZSBQcm9taXNlLlxuICAgKi9cbiAgZGVsZXRlKC4uLmFyZ3MpIHtcbiAgICBjb25zdCBbbmFtZSwgcGF0aCwgZG9tYWluXSA9IHR5cGVvZiBhcmdzWzBdID09PSBcInN0cmluZ1wiID8gW2FyZ3NbMF1dIDogW2FyZ3NbMF0ubmFtZSwgYXJnc1swXS5wYXRoLCBhcmdzWzBdLmRvbWFpbl07XG4gICAgcmV0dXJuIHRoaXMuc2V0KHsgbmFtZSwgcGF0aCwgZG9tYWluLCB2YWx1ZTogXCJcIiwgZXhwaXJlczogLyogQF9fUFVSRV9fICovIG5ldyBEYXRlKDApIH0pO1xuICB9XG4gIFtTeW1ib2wuZm9yKFwiZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICByZXR1cm4gYFJlc3BvbnNlQ29va2llcyAke0pTT04uc3RyaW5naWZ5KE9iamVjdC5mcm9tRW50cmllcyh0aGlzLl9wYXJzZWQpKX1gO1xuICB9XG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiBbLi4udGhpcy5fcGFyc2VkLnZhbHVlcygpXS5tYXAoc3RyaW5naWZ5Q29va2llKS5qb2luKFwiOyBcIik7XG4gIH1cbn07XG5mdW5jdGlvbiByZXBsYWNlKGJhZywgaGVhZGVycykge1xuICBoZWFkZXJzLmRlbGV0ZShcInNldC1jb29raWVcIik7XG4gIGZvciAoY29uc3QgWywgdmFsdWVdIG9mIGJhZykge1xuICAgIGNvbnN0IHNlcmlhbGl6ZWQgPSBzdHJpbmdpZnlDb29raWUodmFsdWUpO1xuICAgIGhlYWRlcnMuYXBwZW5kKFwic2V0LWNvb2tpZVwiLCBzZXJpYWxpemVkKTtcbiAgfVxufVxuZnVuY3Rpb24gbm9ybWFsaXplQ29va2llKGNvb2tpZSA9IHsgbmFtZTogXCJcIiwgdmFsdWU6IFwiXCIgfSkge1xuICBpZiAodHlwZW9mIGNvb2tpZS5leHBpcmVzID09PSBcIm51bWJlclwiKSB7XG4gICAgY29va2llLmV4cGlyZXMgPSBuZXcgRGF0ZShjb29raWUuZXhwaXJlcyk7XG4gIH1cbiAgaWYgKGNvb2tpZS5tYXhBZ2UpIHtcbiAgICBjb29raWUuZXhwaXJlcyA9IG5ldyBEYXRlKERhdGUubm93KCkgKyBjb29raWUubWF4QWdlICogMWUzKTtcbiAgfVxuICBpZiAoY29va2llLnBhdGggPT09IG51bGwgfHwgY29va2llLnBhdGggPT09IHZvaWQgMCkge1xuICAgIGNvb2tpZS5wYXRoID0gXCIvXCI7XG4gIH1cbiAgcmV0dXJuIGNvb2tpZTtcbn1cbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBSZXF1ZXN0Q29va2llcyxcbiAgUmVzcG9uc2VDb29raWVzLFxuICBwYXJzZUNvb2tpZSxcbiAgcGFyc2VTZXRDb29raWUsXG4gIHN0cmluZ2lmeUNvb2tpZVxufSk7XG4iXSwibmFtZXMiOlsiX19kZWZQcm9wIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJfX2dldE93blByb3BEZXNjIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiX19nZXRPd25Qcm9wTmFtZXMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwiX19oYXNPd25Qcm9wIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJfX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJnZXQiLCJlbnVtZXJhYmxlIiwiX19jb3B5UHJvcHMiLCJ0byIsImZyb20iLCJleGNlcHQiLCJkZXNjIiwia2V5IiwiY2FsbCIsIl9fdG9Db21tb25KUyIsIm1vZCIsInZhbHVlIiwic3JjX2V4cG9ydHMiLCJSZXF1ZXN0Q29va2llcyIsIlJlc3BvbnNlQ29va2llcyIsInBhcnNlQ29va2llIiwicGFyc2VTZXRDb29raWUiLCJzdHJpbmdpZnlDb29raWUiLCJtb2R1bGUiLCJleHBvcnRzIiwiYyIsIl9hIiwiYXR0cnMiLCJwYXRoIiwiZXhwaXJlcyIsIkRhdGUiLCJ0b1VUQ1N0cmluZyIsIm1heEFnZSIsImRvbWFpbiIsInNlY3VyZSIsImh0dHBPbmx5Iiwic2FtZVNpdGUiLCJwcmlvcml0eSIsImZpbHRlciIsIkJvb2xlYW4iLCJlbmNvZGVVUklDb21wb25lbnQiLCJqb2luIiwiY29va2llIiwibWFwIiwiTWFwIiwicGFpciIsInNwbGl0Iiwic3BsaXRBdCIsImluZGV4T2YiLCJzZXQiLCJzbGljZSIsImRlY29kZVVSSUNvbXBvbmVudCIsInNldENvb2tpZSIsImF0dHJpYnV0ZXMiLCJodHRwb25seSIsIm1heGFnZSIsInNhbWVzaXRlIiwiZnJvbUVudHJpZXMiLCJ2YWx1ZTIiLCJ0b0xvd2VyQ2FzZSIsIk51bWJlciIsInBhcnNlU2FtZVNpdGUiLCJwYXJzZVByaW9yaXR5IiwiY29tcGFjdCIsInQiLCJuZXdUIiwiU0FNRV9TSVRFIiwic3RyaW5nIiwiaW5jbHVkZXMiLCJQUklPUklUWSIsInNwbGl0Q29va2llc1N0cmluZyIsImNvb2tpZXNTdHJpbmciLCJjb29raWVzU3RyaW5ncyIsInBvcyIsInN0YXJ0IiwiY2giLCJsYXN0Q29tbWEiLCJuZXh0U3RhcnQiLCJjb29raWVzU2VwYXJhdG9yRm91bmQiLCJza2lwV2hpdGVzcGFjZSIsImxlbmd0aCIsInRlc3QiLCJjaGFyQXQiLCJub3RTcGVjaWFsQ2hhciIsInB1c2giLCJzdWJzdHJpbmciLCJjb25zdHJ1Y3RvciIsInJlcXVlc3RIZWFkZXJzIiwiX3BhcnNlZCIsIl9oZWFkZXJzIiwiaGVhZGVyIiwicGFyc2VkIiwiU3ltYm9sIiwiaXRlcmF0b3IiLCJzaXplIiwiYXJncyIsImdldEFsbCIsIkFycmF5IiwiXyIsIm4iLCJoYXMiLCJkZWxldGUiLCJuYW1lcyIsInJlc3VsdCIsImlzQXJyYXkiLCJjbGVhciIsImtleXMiLCJmb3IiLCJKU09OIiwic3RyaW5naWZ5IiwidG9TdHJpbmciLCJ2YWx1ZXMiLCJ2IiwicmVzcG9uc2VIZWFkZXJzIiwiX2IiLCJfYyIsImdldFNldENvb2tpZSIsImNvb2tpZVN0cmluZ3MiLCJjb29raWVTdHJpbmciLCJub3JtYWxpemVDb29raWUiLCJyZXBsYWNlIiwiYmFnIiwiaGVhZGVycyIsInNlcmlhbGl6ZWQiLCJhcHBlbmQiLCJub3ciXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/compiled/@opentelemetry/api/index.js ***! \*********************************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n var e = {\n 491: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ContextAPI = void 0;\n const n = r(223);\n const a = r(172);\n const o = r(930);\n const i = \"context\";\n const c = new n.NoopContextManager;\n class ContextAPI {\n constructor(){}\n static getInstance() {\n if (!this._instance) {\n this._instance = new ContextAPI;\n }\n return this._instance;\n }\n setGlobalContextManager(e) {\n return (0, a.registerGlobal)(i, e, o.DiagAPI.instance());\n }\n active() {\n return this._getContextManager().active();\n }\n with(e, t, r, ...n) {\n return this._getContextManager().with(e, t, r, ...n);\n }\n bind(e, t) {\n return this._getContextManager().bind(e, t);\n }\n _getContextManager() {\n return (0, a.getGlobal)(i) || c;\n }\n disable() {\n this._getContextManager().disable();\n (0, a.unregisterGlobal)(i, o.DiagAPI.instance());\n }\n }\n t.ContextAPI = ContextAPI;\n },\n 930: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagAPI = void 0;\n const n = r(56);\n const a = r(912);\n const o = r(957);\n const i = r(172);\n const c = \"diag\";\n class DiagAPI {\n constructor(){\n function _logProxy(e) {\n return function(...t) {\n const r = (0, i.getGlobal)(\"diag\");\n if (!r) return;\n return r[e](...t);\n };\n }\n const e = this;\n const setLogger = (t, r = {\n logLevel: o.DiagLogLevel.INFO\n })=>{\n var n, c, s;\n if (t === e) {\n const t = new Error(\"Cannot use diag as the logger for itself. Please use a DiagLogger implementation like ConsoleDiagLogger or a custom implementation\");\n e.error((n = t.stack) !== null && n !== void 0 ? n : t.message);\n return false;\n }\n if (typeof r === \"number\") {\n r = {\n logLevel: r\n };\n }\n const u = (0, i.getGlobal)(\"diag\");\n const l = (0, a.createLogLevelDiagLogger)((c = r.logLevel) !== null && c !== void 0 ? c : o.DiagLogLevel.INFO, t);\n if (u && !r.suppressOverrideMessage) {\n const e = (s = (new Error).stack) !== null && s !== void 0 ? s : \"<failed to generate stacktrace>\";\n u.warn(`Current logger will be overwritten from ${e}`);\n l.warn(`Current logger will overwrite one already registered from ${e}`);\n }\n return (0, i.registerGlobal)(\"diag\", l, e, true);\n };\n e.setLogger = setLogger;\n e.disable = ()=>{\n (0, i.unregisterGlobal)(c, e);\n };\n e.createComponentLogger = (e)=>new n.DiagComponentLogger(e);\n e.verbose = _logProxy(\"verbose\");\n e.debug = _logProxy(\"debug\");\n e.info = _logProxy(\"info\");\n e.warn = _logProxy(\"warn\");\n e.error = _logProxy(\"error\");\n }\n static instance() {\n if (!this._instance) {\n this._instance = new DiagAPI;\n }\n return this._instance;\n }\n }\n t.DiagAPI = DiagAPI;\n },\n 653: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.MetricsAPI = void 0;\n const n = r(660);\n const a = r(172);\n const o = r(930);\n const i = \"metrics\";\n class MetricsAPI {\n constructor(){}\n static getInstance() {\n if (!this._instance) {\n this._instance = new MetricsAPI;\n }\n return this._instance;\n }\n setGlobalMeterProvider(e) {\n return (0, a.registerGlobal)(i, e, o.DiagAPI.instance());\n }\n getMeterProvider() {\n return (0, a.getGlobal)(i) || n.NOOP_METER_PROVIDER;\n }\n getMeter(e, t, r) {\n return this.getMeterProvider().getMeter(e, t, r);\n }\n disable() {\n (0, a.unregisterGlobal)(i, o.DiagAPI.instance());\n }\n }\n t.MetricsAPI = MetricsAPI;\n },\n 181: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.PropagationAPI = void 0;\n const n = r(172);\n const a = r(874);\n const o = r(194);\n const i = r(277);\n const c = r(369);\n const s = r(930);\n const u = \"propagation\";\n const l = new a.NoopTextMapPropagator;\n class PropagationAPI {\n constructor(){\n this.createBaggage = c.createBaggage;\n this.getBaggage = i.getBaggage;\n this.getActiveBaggage = i.getActiveBaggage;\n this.setBaggage = i.setBaggage;\n this.deleteBaggage = i.deleteBaggage;\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new PropagationAPI;\n }\n return this._instance;\n }\n setGlobalPropagator(e) {\n return (0, n.registerGlobal)(u, e, s.DiagAPI.instance());\n }\n inject(e, t, r = o.defaultTextMapSetter) {\n return this._getGlobalPropagator().inject(e, t, r);\n }\n extract(e, t, r = o.defaultTextMapGetter) {\n return this._getGlobalPropagator().extract(e, t, r);\n }\n fields() {\n return this._getGlobalPropagator().fields();\n }\n disable() {\n (0, n.unregisterGlobal)(u, s.DiagAPI.instance());\n }\n _getGlobalPropagator() {\n return (0, n.getGlobal)(u) || l;\n }\n }\n t.PropagationAPI = PropagationAPI;\n },\n 997: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceAPI = void 0;\n const n = r(172);\n const a = r(846);\n const o = r(139);\n const i = r(607);\n const c = r(930);\n const s = \"trace\";\n class TraceAPI {\n constructor(){\n this._proxyTracerProvider = new a.ProxyTracerProvider;\n this.wrapSpanContext = o.wrapSpanContext;\n this.isSpanContextValid = o.isSpanContextValid;\n this.deleteSpan = i.deleteSpan;\n this.getSpan = i.getSpan;\n this.getActiveSpan = i.getActiveSpan;\n this.getSpanContext = i.getSpanContext;\n this.setSpan = i.setSpan;\n this.setSpanContext = i.setSpanContext;\n }\n static getInstance() {\n if (!this._instance) {\n this._instance = new TraceAPI;\n }\n return this._instance;\n }\n setGlobalTracerProvider(e) {\n const t = (0, n.registerGlobal)(s, this._proxyTracerProvider, c.DiagAPI.instance());\n if (t) {\n this._proxyTracerProvider.setDelegate(e);\n }\n return t;\n }\n getTracerProvider() {\n return (0, n.getGlobal)(s) || this._proxyTracerProvider;\n }\n getTracer(e, t) {\n return this.getTracerProvider().getTracer(e, t);\n }\n disable() {\n (0, n.unregisterGlobal)(s, c.DiagAPI.instance());\n this._proxyTracerProvider = new a.ProxyTracerProvider;\n }\n }\n t.TraceAPI = TraceAPI;\n },\n 277: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.deleteBaggage = t.setBaggage = t.getActiveBaggage = t.getBaggage = void 0;\n const n = r(491);\n const a = r(780);\n const o = (0, a.createContextKey)(\"OpenTelemetry Baggage Key\");\n function getBaggage(e) {\n return e.getValue(o) || undefined;\n }\n t.getBaggage = getBaggage;\n function getActiveBaggage() {\n return getBaggage(n.ContextAPI.getInstance().active());\n }\n t.getActiveBaggage = getActiveBaggage;\n function setBaggage(e, t) {\n return e.setValue(o, t);\n }\n t.setBaggage = setBaggage;\n function deleteBaggage(e) {\n return e.deleteValue(o);\n }\n t.deleteBaggage = deleteBaggage;\n },\n 993: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.BaggageImpl = void 0;\n class BaggageImpl {\n constructor(e){\n this._entries = e ? new Map(e) : new Map;\n }\n getEntry(e) {\n const t = this._entries.get(e);\n if (!t) {\n return undefined;\n }\n return Object.assign({}, t);\n }\n getAllEntries() {\n return Array.from(this._entries.entries()).map(([e, t])=>[\n e,\n t\n ]);\n }\n setEntry(e, t) {\n const r = new BaggageImpl(this._entries);\n r._entries.set(e, t);\n return r;\n }\n removeEntry(e) {\n const t = new BaggageImpl(this._entries);\n t._entries.delete(e);\n return t;\n }\n removeEntries(...e) {\n const t = new BaggageImpl(this._entries);\n for (const r of e){\n t._entries.delete(r);\n }\n return t;\n }\n clear() {\n return new BaggageImpl;\n }\n }\n t.BaggageImpl = BaggageImpl;\n },\n 830: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.baggageEntryMetadataSymbol = void 0;\n t.baggageEntryMetadataSymbol = Symbol(\"BaggageEntryMetadata\");\n },\n 369: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.baggageEntryMetadataFromString = t.createBaggage = void 0;\n const n = r(930);\n const a = r(993);\n const o = r(830);\n const i = n.DiagAPI.instance();\n function createBaggage(e = {}) {\n return new a.BaggageImpl(new Map(Object.entries(e)));\n }\n t.createBaggage = createBaggage;\n function baggageEntryMetadataFromString(e) {\n if (typeof e !== \"string\") {\n i.error(`Cannot create baggage metadata from unknown type: ${typeof e}`);\n e = \"\";\n }\n return {\n __TYPE__: o.baggageEntryMetadataSymbol,\n toString () {\n return e;\n }\n };\n }\n t.baggageEntryMetadataFromString = baggageEntryMetadataFromString;\n },\n 67: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.context = void 0;\n const n = r(491);\n t.context = n.ContextAPI.getInstance();\n },\n 223: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopContextManager = void 0;\n const n = r(780);\n class NoopContextManager {\n active() {\n return n.ROOT_CONTEXT;\n }\n with(e, t, r, ...n) {\n return t.call(r, ...n);\n }\n bind(e, t) {\n return t;\n }\n enable() {\n return this;\n }\n disable() {\n return this;\n }\n }\n t.NoopContextManager = NoopContextManager;\n },\n 780: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ROOT_CONTEXT = t.createContextKey = void 0;\n function createContextKey(e) {\n return Symbol.for(e);\n }\n t.createContextKey = createContextKey;\n class BaseContext {\n constructor(e){\n const t = this;\n t._currentContext = e ? new Map(e) : new Map;\n t.getValue = (e)=>t._currentContext.get(e);\n t.setValue = (e, r)=>{\n const n = new BaseContext(t._currentContext);\n n._currentContext.set(e, r);\n return n;\n };\n t.deleteValue = (e)=>{\n const r = new BaseContext(t._currentContext);\n r._currentContext.delete(e);\n return r;\n };\n }\n }\n t.ROOT_CONTEXT = new BaseContext;\n },\n 506: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.diag = void 0;\n const n = r(930);\n t.diag = n.DiagAPI.instance();\n },\n 56: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagComponentLogger = void 0;\n const n = r(172);\n class DiagComponentLogger {\n constructor(e){\n this._namespace = e.namespace || \"DiagComponentLogger\";\n }\n debug(...e) {\n return logProxy(\"debug\", this._namespace, e);\n }\n error(...e) {\n return logProxy(\"error\", this._namespace, e);\n }\n info(...e) {\n return logProxy(\"info\", this._namespace, e);\n }\n warn(...e) {\n return logProxy(\"warn\", this._namespace, e);\n }\n verbose(...e) {\n return logProxy(\"verbose\", this._namespace, e);\n }\n }\n t.DiagComponentLogger = DiagComponentLogger;\n function logProxy(e, t, r) {\n const a = (0, n.getGlobal)(\"diag\");\n if (!a) {\n return;\n }\n r.unshift(t);\n return a[e](...r);\n }\n },\n 972: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagConsoleLogger = void 0;\n const r = [\n {\n n: \"error\",\n c: \"error\"\n },\n {\n n: \"warn\",\n c: \"warn\"\n },\n {\n n: \"info\",\n c: \"info\"\n },\n {\n n: \"debug\",\n c: \"debug\"\n },\n {\n n: \"verbose\",\n c: \"trace\"\n }\n ];\n class DiagConsoleLogger {\n constructor(){\n function _consoleFunc(e) {\n return function(...t) {\n if (console) {\n let r = console[e];\n if (typeof r !== \"function\") {\n r = console.log;\n }\n if (typeof r === \"function\") {\n return r.apply(console, t);\n }\n }\n };\n }\n for(let e = 0; e < r.length; e++){\n this[r[e].n] = _consoleFunc(r[e].c);\n }\n }\n }\n t.DiagConsoleLogger = DiagConsoleLogger;\n },\n 912: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createLogLevelDiagLogger = void 0;\n const n = r(957);\n function createLogLevelDiagLogger(e, t) {\n if (e < n.DiagLogLevel.NONE) {\n e = n.DiagLogLevel.NONE;\n } else if (e > n.DiagLogLevel.ALL) {\n e = n.DiagLogLevel.ALL;\n }\n t = t || {};\n function _filterFunc(r, n) {\n const a = t[r];\n if (typeof a === \"function\" && e >= n) {\n return a.bind(t);\n }\n return function() {};\n }\n return {\n error: _filterFunc(\"error\", n.DiagLogLevel.ERROR),\n warn: _filterFunc(\"warn\", n.DiagLogLevel.WARN),\n info: _filterFunc(\"info\", n.DiagLogLevel.INFO),\n debug: _filterFunc(\"debug\", n.DiagLogLevel.DEBUG),\n verbose: _filterFunc(\"verbose\", n.DiagLogLevel.VERBOSE)\n };\n }\n t.createLogLevelDiagLogger = createLogLevelDiagLogger;\n },\n 957: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.DiagLogLevel = void 0;\n var r;\n (function(e) {\n e[e[\"NONE\"] = 0] = \"NONE\";\n e[e[\"ERROR\"] = 30] = \"ERROR\";\n e[e[\"WARN\"] = 50] = \"WARN\";\n e[e[\"INFO\"] = 60] = \"INFO\";\n e[e[\"DEBUG\"] = 70] = \"DEBUG\";\n e[e[\"VERBOSE\"] = 80] = \"VERBOSE\";\n e[e[\"ALL\"] = 9999] = \"ALL\";\n })(r = t.DiagLogLevel || (t.DiagLogLevel = {}));\n },\n 172: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.unregisterGlobal = t.getGlobal = t.registerGlobal = void 0;\n const n = r(200);\n const a = r(521);\n const o = r(130);\n const i = a.VERSION.split(\".\")[0];\n const c = Symbol.for(`opentelemetry.js.api.${i}`);\n const s = n._globalThis;\n function registerGlobal(e, t, r, n = false) {\n var o;\n const i = s[c] = (o = s[c]) !== null && o !== void 0 ? o : {\n version: a.VERSION\n };\n if (!n && i[e]) {\n const t = new Error(`@opentelemetry/api: Attempted duplicate registration of API: ${e}`);\n r.error(t.stack || t.message);\n return false;\n }\n if (i.version !== a.VERSION) {\n const t = new Error(`@opentelemetry/api: Registration of version v${i.version} for ${e} does not match previously registered API v${a.VERSION}`);\n r.error(t.stack || t.message);\n return false;\n }\n i[e] = t;\n r.debug(`@opentelemetry/api: Registered a global for ${e} v${a.VERSION}.`);\n return true;\n }\n t.registerGlobal = registerGlobal;\n function getGlobal(e) {\n var t, r;\n const n = (t = s[c]) === null || t === void 0 ? void 0 : t.version;\n if (!n || !(0, o.isCompatible)(n)) {\n return;\n }\n return (r = s[c]) === null || r === void 0 ? void 0 : r[e];\n }\n t.getGlobal = getGlobal;\n function unregisterGlobal(e, t) {\n t.debug(`@opentelemetry/api: Unregistering a global for ${e} v${a.VERSION}.`);\n const r = s[c];\n if (r) {\n delete r[e];\n }\n }\n t.unregisterGlobal = unregisterGlobal;\n },\n 130: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.isCompatible = t._makeCompatibilityCheck = void 0;\n const n = r(521);\n const a = /^(\\d+)\\.(\\d+)\\.(\\d+)(-(.+))?$/;\n function _makeCompatibilityCheck(e) {\n const t = new Set([\n e\n ]);\n const r = new Set;\n const n = e.match(a);\n if (!n) {\n return ()=>false;\n }\n const o = {\n major: +n[1],\n minor: +n[2],\n patch: +n[3],\n prerelease: n[4]\n };\n if (o.prerelease != null) {\n return function isExactmatch(t) {\n return t === e;\n };\n }\n function _reject(e) {\n r.add(e);\n return false;\n }\n function _accept(e) {\n t.add(e);\n return true;\n }\n return function isCompatible(e) {\n if (t.has(e)) {\n return true;\n }\n if (r.has(e)) {\n return false;\n }\n const n = e.match(a);\n if (!n) {\n return _reject(e);\n }\n const i = {\n major: +n[1],\n minor: +n[2],\n patch: +n[3],\n prerelease: n[4]\n };\n if (i.prerelease != null) {\n return _reject(e);\n }\n if (o.major !== i.major) {\n return _reject(e);\n }\n if (o.major === 0) {\n if (o.minor === i.minor && o.patch <= i.patch) {\n return _accept(e);\n }\n return _reject(e);\n }\n if (o.minor <= i.minor) {\n return _accept(e);\n }\n return _reject(e);\n };\n }\n t._makeCompatibilityCheck = _makeCompatibilityCheck;\n t.isCompatible = _makeCompatibilityCheck(n.VERSION);\n },\n 886: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.metrics = void 0;\n const n = r(653);\n t.metrics = n.MetricsAPI.getInstance();\n },\n 901: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ValueType = void 0;\n var r;\n (function(e) {\n e[e[\"INT\"] = 0] = \"INT\";\n e[e[\"DOUBLE\"] = 1] = \"DOUBLE\";\n })(r = t.ValueType || (t.ValueType = {}));\n },\n 102: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createNoopMeter = t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = t.NOOP_OBSERVABLE_GAUGE_METRIC = t.NOOP_OBSERVABLE_COUNTER_METRIC = t.NOOP_UP_DOWN_COUNTER_METRIC = t.NOOP_HISTOGRAM_METRIC = t.NOOP_COUNTER_METRIC = t.NOOP_METER = t.NoopObservableUpDownCounterMetric = t.NoopObservableGaugeMetric = t.NoopObservableCounterMetric = t.NoopObservableMetric = t.NoopHistogramMetric = t.NoopUpDownCounterMetric = t.NoopCounterMetric = t.NoopMetric = t.NoopMeter = void 0;\n class NoopMeter {\n constructor(){}\n createHistogram(e, r) {\n return t.NOOP_HISTOGRAM_METRIC;\n }\n createCounter(e, r) {\n return t.NOOP_COUNTER_METRIC;\n }\n createUpDownCounter(e, r) {\n return t.NOOP_UP_DOWN_COUNTER_METRIC;\n }\n createObservableGauge(e, r) {\n return t.NOOP_OBSERVABLE_GAUGE_METRIC;\n }\n createObservableCounter(e, r) {\n return t.NOOP_OBSERVABLE_COUNTER_METRIC;\n }\n createObservableUpDownCounter(e, r) {\n return t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC;\n }\n addBatchObservableCallback(e, t) {}\n removeBatchObservableCallback(e) {}\n }\n t.NoopMeter = NoopMeter;\n class NoopMetric {\n }\n t.NoopMetric = NoopMetric;\n class NoopCounterMetric extends NoopMetric {\n add(e, t) {}\n }\n t.NoopCounterMetric = NoopCounterMetric;\n class NoopUpDownCounterMetric extends NoopMetric {\n add(e, t) {}\n }\n t.NoopUpDownCounterMetric = NoopUpDownCounterMetric;\n class NoopHistogramMetric extends NoopMetric {\n record(e, t) {}\n }\n t.NoopHistogramMetric = NoopHistogramMetric;\n class NoopObservableMetric {\n addCallback(e) {}\n removeCallback(e) {}\n }\n t.NoopObservableMetric = NoopObservableMetric;\n class NoopObservableCounterMetric extends NoopObservableMetric {\n }\n t.NoopObservableCounterMetric = NoopObservableCounterMetric;\n class NoopObservableGaugeMetric extends NoopObservableMetric {\n }\n t.NoopObservableGaugeMetric = NoopObservableGaugeMetric;\n class NoopObservableUpDownCounterMetric extends NoopObservableMetric {\n }\n t.NoopObservableUpDownCounterMetric = NoopObservableUpDownCounterMetric;\n t.NOOP_METER = new NoopMeter;\n t.NOOP_COUNTER_METRIC = new NoopCounterMetric;\n t.NOOP_HISTOGRAM_METRIC = new NoopHistogramMetric;\n t.NOOP_UP_DOWN_COUNTER_METRIC = new NoopUpDownCounterMetric;\n t.NOOP_OBSERVABLE_COUNTER_METRIC = new NoopObservableCounterMetric;\n t.NOOP_OBSERVABLE_GAUGE_METRIC = new NoopObservableGaugeMetric;\n t.NOOP_OBSERVABLE_UP_DOWN_COUNTER_METRIC = new NoopObservableUpDownCounterMetric;\n function createNoopMeter() {\n return t.NOOP_METER;\n }\n t.createNoopMeter = createNoopMeter;\n },\n 660: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NOOP_METER_PROVIDER = t.NoopMeterProvider = void 0;\n const n = r(102);\n class NoopMeterProvider {\n getMeter(e, t, r) {\n return n.NOOP_METER;\n }\n }\n t.NoopMeterProvider = NoopMeterProvider;\n t.NOOP_METER_PROVIDER = new NoopMeterProvider;\n },\n 200: function(e, t, r) {\n var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) {\n if (n === undefined) n = r;\n Object.defineProperty(e, n, {\n enumerable: true,\n get: function() {\n return t[r];\n }\n });\n } : function(e, t, r, n) {\n if (n === undefined) n = r;\n e[n] = t[r];\n });\n var a = this && this.__exportStar || function(e, t) {\n for(var r in e)if (r !== \"default\" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n a(r(46), t);\n },\n 651: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t._globalThis = void 0;\n t._globalThis = typeof globalThis === \"object\" ? globalThis : global;\n },\n 46: function(e, t, r) {\n var n = this && this.__createBinding || (Object.create ? function(e, t, r, n) {\n if (n === undefined) n = r;\n Object.defineProperty(e, n, {\n enumerable: true,\n get: function() {\n return t[r];\n }\n });\n } : function(e, t, r, n) {\n if (n === undefined) n = r;\n e[n] = t[r];\n });\n var a = this && this.__exportStar || function(e, t) {\n for(var r in e)if (r !== \"default\" && !Object.prototype.hasOwnProperty.call(t, r)) n(t, e, r);\n };\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n a(r(651), t);\n },\n 939: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.propagation = void 0;\n const n = r(181);\n t.propagation = n.PropagationAPI.getInstance();\n },\n 874: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTextMapPropagator = void 0;\n class NoopTextMapPropagator {\n inject(e, t) {}\n extract(e, t) {\n return e;\n }\n fields() {\n return [];\n }\n }\n t.NoopTextMapPropagator = NoopTextMapPropagator;\n },\n 194: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.defaultTextMapSetter = t.defaultTextMapGetter = void 0;\n t.defaultTextMapGetter = {\n get (e, t) {\n if (e == null) {\n return undefined;\n }\n return e[t];\n },\n keys (e) {\n if (e == null) {\n return [];\n }\n return Object.keys(e);\n }\n };\n t.defaultTextMapSetter = {\n set (e, t, r) {\n if (e == null) {\n return;\n }\n e[t] = r;\n }\n };\n },\n 845: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.trace = void 0;\n const n = r(997);\n t.trace = n.TraceAPI.getInstance();\n },\n 403: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NonRecordingSpan = void 0;\n const n = r(476);\n class NonRecordingSpan {\n constructor(e = n.INVALID_SPAN_CONTEXT){\n this._spanContext = e;\n }\n spanContext() {\n return this._spanContext;\n }\n setAttribute(e, t) {\n return this;\n }\n setAttributes(e) {\n return this;\n }\n addEvent(e, t) {\n return this;\n }\n setStatus(e) {\n return this;\n }\n updateName(e) {\n return this;\n }\n end(e) {}\n isRecording() {\n return false;\n }\n recordException(e, t) {}\n }\n t.NonRecordingSpan = NonRecordingSpan;\n },\n 614: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTracer = void 0;\n const n = r(491);\n const a = r(607);\n const o = r(403);\n const i = r(139);\n const c = n.ContextAPI.getInstance();\n class NoopTracer {\n startSpan(e, t, r = c.active()) {\n const n = Boolean(t === null || t === void 0 ? void 0 : t.root);\n if (n) {\n return new o.NonRecordingSpan;\n }\n const s = r && (0, a.getSpanContext)(r);\n if (isSpanContext(s) && (0, i.isSpanContextValid)(s)) {\n return new o.NonRecordingSpan(s);\n } else {\n return new o.NonRecordingSpan;\n }\n }\n startActiveSpan(e, t, r, n) {\n let o;\n let i;\n let s;\n if (arguments.length < 2) {\n return;\n } else if (arguments.length === 2) {\n s = t;\n } else if (arguments.length === 3) {\n o = t;\n s = r;\n } else {\n o = t;\n i = r;\n s = n;\n }\n const u = i !== null && i !== void 0 ? i : c.active();\n const l = this.startSpan(e, o, u);\n const g = (0, a.setSpan)(u, l);\n return c.with(g, s, undefined, l);\n }\n }\n t.NoopTracer = NoopTracer;\n function isSpanContext(e) {\n return typeof e === \"object\" && typeof e[\"spanId\"] === \"string\" && typeof e[\"traceId\"] === \"string\" && typeof e[\"traceFlags\"] === \"number\";\n }\n },\n 124: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.NoopTracerProvider = void 0;\n const n = r(614);\n class NoopTracerProvider {\n getTracer(e, t, r) {\n return new n.NoopTracer;\n }\n }\n t.NoopTracerProvider = NoopTracerProvider;\n },\n 125: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ProxyTracer = void 0;\n const n = r(614);\n const a = new n.NoopTracer;\n class ProxyTracer {\n constructor(e, t, r, n){\n this._provider = e;\n this.name = t;\n this.version = r;\n this.options = n;\n }\n startSpan(e, t, r) {\n return this._getTracer().startSpan(e, t, r);\n }\n startActiveSpan(e, t, r, n) {\n const a = this._getTracer();\n return Reflect.apply(a.startActiveSpan, a, arguments);\n }\n _getTracer() {\n if (this._delegate) {\n return this._delegate;\n }\n const e = this._provider.getDelegateTracer(this.name, this.version, this.options);\n if (!e) {\n return a;\n }\n this._delegate = e;\n return this._delegate;\n }\n }\n t.ProxyTracer = ProxyTracer;\n },\n 846: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.ProxyTracerProvider = void 0;\n const n = r(125);\n const a = r(124);\n const o = new a.NoopTracerProvider;\n class ProxyTracerProvider {\n getTracer(e, t, r) {\n var a;\n return (a = this.getDelegateTracer(e, t, r)) !== null && a !== void 0 ? a : new n.ProxyTracer(this, e, t, r);\n }\n getDelegate() {\n var e;\n return (e = this._delegate) !== null && e !== void 0 ? e : o;\n }\n setDelegate(e) {\n this._delegate = e;\n }\n getDelegateTracer(e, t, r) {\n var n;\n return (n = this._delegate) === null || n === void 0 ? void 0 : n.getTracer(e, t, r);\n }\n }\n t.ProxyTracerProvider = ProxyTracerProvider;\n },\n 996: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SamplingDecision = void 0;\n var r;\n (function(e) {\n e[e[\"NOT_RECORD\"] = 0] = \"NOT_RECORD\";\n e[e[\"RECORD\"] = 1] = \"RECORD\";\n e[e[\"RECORD_AND_SAMPLED\"] = 2] = \"RECORD_AND_SAMPLED\";\n })(r = t.SamplingDecision || (t.SamplingDecision = {}));\n },\n 607: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.getSpanContext = t.setSpanContext = t.deleteSpan = t.setSpan = t.getActiveSpan = t.getSpan = void 0;\n const n = r(780);\n const a = r(403);\n const o = r(491);\n const i = (0, n.createContextKey)(\"OpenTelemetry Context Key SPAN\");\n function getSpan(e) {\n return e.getValue(i) || undefined;\n }\n t.getSpan = getSpan;\n function getActiveSpan() {\n return getSpan(o.ContextAPI.getInstance().active());\n }\n t.getActiveSpan = getActiveSpan;\n function setSpan(e, t) {\n return e.setValue(i, t);\n }\n t.setSpan = setSpan;\n function deleteSpan(e) {\n return e.deleteValue(i);\n }\n t.deleteSpan = deleteSpan;\n function setSpanContext(e, t) {\n return setSpan(e, new a.NonRecordingSpan(t));\n }\n t.setSpanContext = setSpanContext;\n function getSpanContext(e) {\n var t;\n return (t = getSpan(e)) === null || t === void 0 ? void 0 : t.spanContext();\n }\n t.getSpanContext = getSpanContext;\n },\n 325: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceStateImpl = void 0;\n const n = r(564);\n const a = 32;\n const o = 512;\n const i = \",\";\n const c = \"=\";\n class TraceStateImpl {\n constructor(e){\n this._internalState = new Map;\n if (e) this._parse(e);\n }\n set(e, t) {\n const r = this._clone();\n if (r._internalState.has(e)) {\n r._internalState.delete(e);\n }\n r._internalState.set(e, t);\n return r;\n }\n unset(e) {\n const t = this._clone();\n t._internalState.delete(e);\n return t;\n }\n get(e) {\n return this._internalState.get(e);\n }\n serialize() {\n return this._keys().reduce((e, t)=>{\n e.push(t + c + this.get(t));\n return e;\n }, []).join(i);\n }\n _parse(e) {\n if (e.length > o) return;\n this._internalState = e.split(i).reverse().reduce((e, t)=>{\n const r = t.trim();\n const a = r.indexOf(c);\n if (a !== -1) {\n const o = r.slice(0, a);\n const i = r.slice(a + 1, t.length);\n if ((0, n.validateKey)(o) && (0, n.validateValue)(i)) {\n e.set(o, i);\n } else {}\n }\n return e;\n }, new Map);\n if (this._internalState.size > a) {\n this._internalState = new Map(Array.from(this._internalState.entries()).reverse().slice(0, a));\n }\n }\n _keys() {\n return Array.from(this._internalState.keys()).reverse();\n }\n _clone() {\n const e = new TraceStateImpl;\n e._internalState = new Map(this._internalState);\n return e;\n }\n }\n t.TraceStateImpl = TraceStateImpl;\n },\n 564: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.validateValue = t.validateKey = void 0;\n const r = \"[_0-9a-z-*/]\";\n const n = `[a-z]${r}{0,255}`;\n const a = `[a-z0-9]${r}{0,240}@[a-z]${r}{0,13}`;\n const o = new RegExp(`^(?:${n}|${a})$`);\n const i = /^[ -~]{0,255}[!-~]$/;\n const c = /,|=/;\n function validateKey(e) {\n return o.test(e);\n }\n t.validateKey = validateKey;\n function validateValue(e) {\n return i.test(e) && !c.test(e);\n }\n t.validateValue = validateValue;\n },\n 98: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.createTraceState = void 0;\n const n = r(325);\n function createTraceState(e) {\n return new n.TraceStateImpl(e);\n }\n t.createTraceState = createTraceState;\n },\n 476: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.INVALID_SPAN_CONTEXT = t.INVALID_TRACEID = t.INVALID_SPANID = void 0;\n const n = r(475);\n t.INVALID_SPANID = \"0000000000000000\";\n t.INVALID_TRACEID = \"00000000000000000000000000000000\";\n t.INVALID_SPAN_CONTEXT = {\n traceId: t.INVALID_TRACEID,\n spanId: t.INVALID_SPANID,\n traceFlags: n.TraceFlags.NONE\n };\n },\n 357: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SpanKind = void 0;\n var r;\n (function(e) {\n e[e[\"INTERNAL\"] = 0] = \"INTERNAL\";\n e[e[\"SERVER\"] = 1] = \"SERVER\";\n e[e[\"CLIENT\"] = 2] = \"CLIENT\";\n e[e[\"PRODUCER\"] = 3] = \"PRODUCER\";\n e[e[\"CONSUMER\"] = 4] = \"CONSUMER\";\n })(r = t.SpanKind || (t.SpanKind = {}));\n },\n 139: (e, t, r)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.wrapSpanContext = t.isSpanContextValid = t.isValidSpanId = t.isValidTraceId = void 0;\n const n = r(476);\n const a = r(403);\n const o = /^([0-9a-f]{32})$/i;\n const i = /^[0-9a-f]{16}$/i;\n function isValidTraceId(e) {\n return o.test(e) && e !== n.INVALID_TRACEID;\n }\n t.isValidTraceId = isValidTraceId;\n function isValidSpanId(e) {\n return i.test(e) && e !== n.INVALID_SPANID;\n }\n t.isValidSpanId = isValidSpanId;\n function isSpanContextValid(e) {\n return isValidTraceId(e.traceId) && isValidSpanId(e.spanId);\n }\n t.isSpanContextValid = isSpanContextValid;\n function wrapSpanContext(e) {\n return new a.NonRecordingSpan(e);\n }\n t.wrapSpanContext = wrapSpanContext;\n },\n 847: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.SpanStatusCode = void 0;\n var r;\n (function(e) {\n e[e[\"UNSET\"] = 0] = \"UNSET\";\n e[e[\"OK\"] = 1] = \"OK\";\n e[e[\"ERROR\"] = 2] = \"ERROR\";\n })(r = t.SpanStatusCode || (t.SpanStatusCode = {}));\n },\n 475: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.TraceFlags = void 0;\n var r;\n (function(e) {\n e[e[\"NONE\"] = 0] = \"NONE\";\n e[e[\"SAMPLED\"] = 1] = \"SAMPLED\";\n })(r = t.TraceFlags || (t.TraceFlags = {}));\n },\n 521: (e, t)=>{\n Object.defineProperty(t, \"__esModule\", {\n value: true\n });\n t.VERSION = void 0;\n t.VERSION = \"1.6.0\";\n }\n };\n var t = {};\n function __nccwpck_require__(r) {\n var n = t[r];\n if (n !== undefined) {\n return n.exports;\n }\n var a = t[r] = {\n exports: {}\n };\n var o = true;\n try {\n e[r].call(a.exports, a, a.exports, __nccwpck_require__);\n o = false;\n } finally{\n if (o) delete t[r];\n }\n return a.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var r = {};\n (()=>{\n var e = r;\n Object.defineProperty(e, \"__esModule\", {\n value: true\n });\n e.trace = e.propagation = e.metrics = e.diag = e.context = e.INVALID_SPAN_CONTEXT = e.INVALID_TRACEID = e.INVALID_SPANID = e.isValidSpanId = e.isValidTraceId = e.isSpanContextValid = e.createTraceState = e.TraceFlags = e.SpanStatusCode = e.SpanKind = e.SamplingDecision = e.ProxyTracerProvider = e.ProxyTracer = e.defaultTextMapSetter = e.defaultTextMapGetter = e.ValueType = e.createNoopMeter = e.DiagLogLevel = e.DiagConsoleLogger = e.ROOT_CONTEXT = e.createContextKey = e.baggageEntryMetadataFromString = void 0;\n var t = __nccwpck_require__(369);\n Object.defineProperty(e, \"baggageEntryMetadataFromString\", {\n enumerable: true,\n get: function() {\n return t.baggageEntryMetadataFromString;\n }\n });\n var n = __nccwpck_require__(780);\n Object.defineProperty(e, \"createContextKey\", {\n enumerable: true,\n get: function() {\n return n.createContextKey;\n }\n });\n Object.defineProperty(e, \"ROOT_CONTEXT\", {\n enumerable: true,\n get: function() {\n return n.ROOT_CONTEXT;\n }\n });\n var a = __nccwpck_require__(972);\n Object.defineProperty(e, \"DiagConsoleLogger\", {\n enumerable: true,\n get: function() {\n return a.DiagConsoleLogger;\n }\n });\n var o = __nccwpck_require__(957);\n Object.defineProperty(e, \"DiagLogLevel\", {\n enumerable: true,\n get: function() {\n return o.DiagLogLevel;\n }\n });\n var i = __nccwpck_require__(102);\n Object.defineProperty(e, \"createNoopMeter\", {\n enumerable: true,\n get: function() {\n return i.createNoopMeter;\n }\n });\n var c = __nccwpck_require__(901);\n Object.defineProperty(e, \"ValueType\", {\n enumerable: true,\n get: function() {\n return c.ValueType;\n }\n });\n var s = __nccwpck_require__(194);\n Object.defineProperty(e, \"defaultTextMapGetter\", {\n enumerable: true,\n get: function() {\n return s.defaultTextMapGetter;\n }\n });\n Object.defineProperty(e, \"defaultTextMapSetter\", {\n enumerable: true,\n get: function() {\n return s.defaultTextMapSetter;\n }\n });\n var u = __nccwpck_require__(125);\n Object.defineProperty(e, \"ProxyTracer\", {\n enumerable: true,\n get: function() {\n return u.ProxyTracer;\n }\n });\n var l = __nccwpck_require__(846);\n Object.defineProperty(e, \"ProxyTracerProvider\", {\n enumerable: true,\n get: function() {\n return l.ProxyTracerProvider;\n }\n });\n var g = __nccwpck_require__(996);\n Object.defineProperty(e, \"SamplingDecision\", {\n enumerable: true,\n get: function() {\n return g.SamplingDecision;\n }\n });\n var p = __nccwpck_require__(357);\n Object.defineProperty(e, \"SpanKind\", {\n enumerable: true,\n get: function() {\n return p.SpanKind;\n }\n });\n var d = __nccwpck_require__(847);\n Object.defineProperty(e, \"SpanStatusCode\", {\n enumerable: true,\n get: function() {\n return d.SpanStatusCode;\n }\n });\n var _ = __nccwpck_require__(475);\n Object.defineProperty(e, \"TraceFlags\", {\n enumerable: true,\n get: function() {\n return _.TraceFlags;\n }\n });\n var f = __nccwpck_require__(98);\n Object.defineProperty(e, \"createTraceState\", {\n enumerable: true,\n get: function() {\n return f.createTraceState;\n }\n });\n var b = __nccwpck_require__(139);\n Object.defineProperty(e, \"isSpanContextValid\", {\n enumerable: true,\n get: function() {\n return b.isSpanContextValid;\n }\n });\n Object.defineProperty(e, \"isValidTraceId\", {\n enumerable: true,\n get: function() {\n return b.isValidTraceId;\n }\n });\n Object.defineProperty(e, \"isValidSpanId\", {\n enumerable: true,\n get: function() {\n return b.isValidSpanId;\n }\n });\n var v = __nccwpck_require__(476);\n Object.defineProperty(e, \"INVALID_SPANID\", {\n enumerable: true,\n get: function() {\n return v.INVALID_SPANID;\n }\n });\n Object.defineProperty(e, \"INVALID_TRACEID\", {\n enumerable: true,\n get: function() {\n return v.INVALID_TRACEID;\n }\n });\n Object.defineProperty(e, \"INVALID_SPAN_CONTEXT\", {\n enumerable: true,\n get: function() {\n return v.INVALID_SPAN_CONTEXT;\n }\n });\n const O = __nccwpck_require__(67);\n Object.defineProperty(e, \"context\", {\n enumerable: true,\n get: function() {\n return O.context;\n }\n });\n const P = __nccwpck_require__(506);\n Object.defineProperty(e, \"diag\", {\n enumerable: true,\n get: function() {\n return P.diag;\n }\n });\n const N = __nccwpck_require__(886);\n Object.defineProperty(e, \"metrics\", {\n enumerable: true,\n get: function() {\n return N.metrics;\n }\n });\n const S = __nccwpck_require__(939);\n Object.defineProperty(e, \"propagation\", {\n enumerable: true,\n get: function() {\n return S.propagation;\n }\n });\n const C = __nccwpck_require__(845);\n Object.defineProperty(e, \"trace\", {\n enumerable: true,\n get: function() {\n return C.trace;\n }\n });\n e[\"default\"] = {\n context: O.context,\n diag: P.diag,\n metrics: N.metrics,\n propagation: S.propagation,\n trace: C.trace\n };\n })();\n module.exports = r;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL0BvcGVudGVsZW1ldHJ5L2FwaS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQUM7SUFBSztJQUFhLElBQUlBLElBQUU7UUFBQyxLQUFJLENBQUNBLEdBQUVDLEdBQUVDO1lBQUtDLE9BQU9DLGNBQWMsQ0FBQ0gsR0FBRSxjQUFhO2dCQUFDSSxPQUFNO1lBQUk7WUFBR0osRUFBRUssVUFBVSxHQUFDLEtBQUs7WUFBRSxNQUFNQyxJQUFFTCxFQUFFO1lBQUssTUFBTU0sSUFBRU4sRUFBRTtZQUFLLE1BQU1PLElBQUVQLEVBQUU7WUFBSyxNQUFNUSxJQUFFO1lBQVUsTUFBTUMsSUFBRSxJQUFJSixFQUFFSyxrQkFBa0I7WUFBQyxNQUFNTjtnQkFBV08sYUFBYSxDQUFDO2dCQUFDLE9BQU9DLGNBQWE7b0JBQUMsSUFBRyxDQUFDLElBQUksQ0FBQ0MsU0FBUyxFQUFDO3dCQUFDLElBQUksQ0FBQ0EsU0FBUyxHQUFDLElBQUlUO29CQUFVO29CQUFDLE9BQU8sSUFBSSxDQUFDUyxTQUFTO2dCQUFBO2dCQUFDQyx3QkFBd0JoQixDQUFDLEVBQUM7b0JBQUMsT0FBTSxDQUFDLEdBQUVRLEVBQUVTLGNBQWMsRUFBRVAsR0FBRVYsR0FBRVMsRUFBRVMsT0FBTyxDQUFDQyxRQUFRO2dCQUFHO2dCQUFDQyxTQUFRO29CQUFDLE9BQU8sSUFBSSxDQUFDQyxrQkFBa0IsR0FBR0QsTUFBTTtnQkFBRTtnQkFBQ0UsS0FBS3RCLENBQUMsRUFBQ0MsQ0FBQyxFQUFDQyxDQUFDLEVBQUMsR0FBR0ssQ0FBQyxFQUFDO29CQUFDLE9BQU8sSUFBSSxDQUFDYyxrQkFBa0IsR0FBR0MsSUFBSSxDQUFDdEIsR0FBRUMsR0FBRUMsTUFBS0s7Z0JBQUU7Z0JBQUNnQixLQUFLdkIsQ0FBQyxFQUFDQyxDQUFDLEVBQUM7b0JBQUMsT0FBTyxJQUFJLENBQUNvQixrQkFBa0IsR0FBR0UsSUFBSSxDQUFDdkIsR0FBRUM7Z0JBQUU7Z0JB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VyxPQUFPK0ssRUFBRW5ILE9BQU87WUFBQTtRQUFDO1FBQUcsTUFBTW9ILElBQUViLG9CQUFvQjtRQUFLMVAsT0FBT0MsY0FBYyxDQUFDSixHQUFFLGVBQWM7WUFBQ3VMLFlBQVc7WUFBSzdGLEtBQUk7Z0JBQVcsT0FBT2dMLEVBQUU3RSxXQUFXO1lBQUE7UUFBQztRQUFHLE1BQU04RSxJQUFFZCxvQkFBb0I7UUFBSzFQLE9BQU9DLGNBQWMsQ0FBQ0osR0FBRSxTQUFRO1lBQUN1TCxZQUFXO1lBQUs3RixLQUFJO2dCQUFXLE9BQU9pTCxFQUFFNUUsS0FBSztZQUFBO1FBQUM7UUFBRy9MLENBQUMsQ0FBQyxVQUFVLEdBQUM7WUFBQzRHLFNBQVEySixFQUFFM0osT0FBTztZQUFDTyxNQUFLcUosRUFBRXJKLElBQUk7WUFBQ21DLFNBQVFtSCxFQUFFbkgsT0FBTztZQUFDdUMsYUFBWTZFLEVBQUU3RSxXQUFXO1lBQUNFLE9BQU00RSxFQUFFNUUsS0FBSztRQUFBO0lBQUM7SUFBSzZFLE9BQU9kLE9BQU8sR0FBQzVQO0FBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jb21waWxlZC9Ab3BlbnRlbGVtZXRyeS9hcGkvaW5kZXguanM/MTQ4MyJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9PntcInVzZSBzdHJpY3RcIjt2YXIgZT17NDkxOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuQ29udGV4dEFQST12b2lkIDA7Y29uc3Qgbj1yKDIyMyk7Y29uc3QgYT1yKDE3Mik7Y29uc3Qgbz1yKDkzMCk7Y29uc3QgaT1cImNvbnRleHRcIjtjb25zdCBjPW5ldyBuLk5vb3BDb250ZXh0TWFuYWdlcjtjbGFzcyBDb250ZXh0QVBJe2NvbnN0cnVjdG9yKCl7fXN0YXRpYyBnZXRJbnN0YW5jZSgpe2lmKCF0aGlzLl9pbnN0YW5jZSl7dGhpcy5faW5zdGFuY2U9bmV3IENvbnRleHRBUEl9cmV0dXJuIHRoaXMuX2luc3RhbmNlfXNldEdsb2JhbENvbnRleHRNYW5hZ2VyKGUpe3JldHVybigwLGEucmVnaXN0ZXJHbG9iYWwpKGksZSxvLkRpYWdBUEkuaW5zdGFuY2UoKSl9YWN0aXZlKCl7cmV0dXJuIHRoaXMuX2dldENvbnRleHRNYW5hZ2VyKCkuYWN0aXZlKCl9d2l0aChlLHQsciwuLi5uKXtyZXR1cm4gdGhpcy5fZ2V0Q29udGV4dE1hbmFnZXIoKS53aXRoKGUsdCxyLC4uLm4pfWJpbmQoZSx0KXtyZXR1cm4gdGhpcy5fZ2V0Q29udGV4dE1hbmFnZXIoKS5iaW5kKGUsdCl9X2dldENvbnRleHRNYW5hZ2VyKCl7cmV0dXJuKDAsYS5nZXRHbG9iYWwpKGkpfHxjfWRpc2FibGUoKXt0aGlzLl9nZXRDb250ZXh0TWFuYWdlcigpLmRpc2FibGUoKTsoMCxhLnVucmVnaXN0ZXJHbG9iYWwpKGksby5EaWFnQVBJLmluc3RhbmNlKCkpfX10LkNvbnRleHRBUEk9Q29udGV4dEFQSX0sOTMwOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuRGlhZ0FQST12b2lkIDA7Y29uc3Qgbj1yKDU2KTtjb25zdCBhPXIoOTEyKTtjb25zdCBvPXIoOTU3KTtjb25zdCBpPXIoMTcyKTtjb25zdCBjPVwiZGlhZ1wiO2NsYXNzIERpYWdBUEl7Y29uc3RydWN0b3IoKXtmdW5jdGlvbiBfbG9nUHJveHkoZSl7cmV0dXJuIGZ1bmN0aW9uKC4uLnQpe2NvbnN0IHI9KDAsaS5nZXRHbG9iYWwpKFwiZGlhZ1wiKTtpZighcilyZXR1cm47cmV0dXJuIHJbZV0oLi4udCl9fWNvbnN0IGU9dGhpcztjb25zdCBzZXRMb2dnZXI9KHQscj17bG9nTGV2ZWw6by5EaWFnTG9nTGV2ZWwuSU5GT30pPT57dmFyIG4sYyxzO2lmKHQ9PT1lKXtjb25zdCB0PW5ldyBFcnJvcihcIkNhbm5vdCB1c2UgZGlhZyBhcyB0aGUgbG9nZ2VyIGZvciBpdHNlbGYuIFBsZWFzZSB1c2UgYSBEaWFnTG9nZ2VyIGltcGxlbWVudGF0aW9uIGxpa2UgQ29uc29sZURpYWdMb2dnZXIgb3IgYSBjdXN0b20gaW1wbGVtZW50YXRpb25cIik7ZS5lcnJvcigobj10LnN0YWNrKSE9PW51bGwmJm4hPT12b2lkIDA/bjp0Lm1lc3NhZ2UpO3JldHVybiBmYWxzZX1pZih0eXBlb2Ygcj09PVwibnVtYmVyXCIpe3I9e2xvZ0xldmVsOnJ9fWNvbnN0IHU9KDAsaS5nZXRHbG9iYWwpKFwiZGlhZ1wiKTtjb25zdCBsPSgwLGEuY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyKSgoYz1yLmxvZ0xldmVsKSE9PW51bGwmJmMhPT12b2lkIDA/YzpvLkRpYWdMb2dMZXZlbC5JTkZPLHQpO2lmKHUmJiFyLnN1cHByZXNzT3ZlcnJpZGVNZXNzYWdlKXtjb25zdCBlPShzPShuZXcgRXJyb3IpLnN0YWNrKSE9PW51bGwmJnMhPT12b2lkIDA/czpcIjxmYWlsZWQgdG8gZ2VuZXJhdGUgc3RhY2t0cmFjZT5cIjt1Lndhcm4oYEN1cnJlbnQgbG9nZ2VyIHdpbGwgYmUgb3ZlcndyaXR0ZW4gZnJvbSAke2V9YCk7bC53YXJuKGBDdXJyZW50IGxvZ2dlciB3aWxsIG92ZXJ3cml0ZSBvbmUgYWxyZWFkeSByZWdpc3RlcmVkIGZyb20gJHtlfWApfXJldHVybigwLGkucmVnaXN0ZXJHbG9iYWwpKFwiZGlhZ1wiLGwsZSx0cnVlKX07ZS5zZXRMb2dnZXI9c2V0TG9nZ2VyO2UuZGlzYWJsZT0oKT0+eygwLGkudW5yZWdpc3Rlckdsb2JhbCkoYyxlKX07ZS5jcmVhdGVDb21wb25lbnRMb2dnZXI9ZT0+bmV3IG4uRGlhZ0NvbXBvbmVudExvZ2dlcihlKTtlLnZlcmJvc2U9X2xvZ1Byb3h5KFwidmVyYm9zZVwiKTtlLmRlYnVnPV9sb2dQcm94eShcImRlYnVnXCIpO2UuaW5mbz1fbG9nUHJveHkoXCJpbmZvXCIpO2Uud2Fybj1fbG9nUHJveHkoXCJ3YXJuXCIpO2UuZXJyb3I9X2xvZ1Byb3h5KFwiZXJyb3JcIil9c3RhdGljIGluc3RhbmNlKCl7aWYoIXRoaXMuX2luc3RhbmNlKXt0aGlzLl9pbnN0YW5jZT1uZXcgRGlhZ0FQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9fXQuRGlhZ0FQST1EaWFnQVBJfSw2NTM6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5NZXRyaWNzQVBJPXZvaWQgMDtjb25zdCBuPXIoNjYwKTtjb25zdCBhPXIoMTcyKTtjb25zdCBvPXIoOTMwKTtjb25zdCBpPVwibWV0cmljc1wiO2NsYXNzIE1ldHJpY3NBUEl7Y29uc3RydWN0b3IoKXt9c3RhdGljIGdldEluc3RhbmNlKCl7aWYoIXRoaXMuX2luc3RhbmNlKXt0aGlzLl9pbnN0YW5jZT1uZXcgTWV0cmljc0FQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9c2V0R2xvYmFsTWV0ZXJQcm92aWRlcihlKXtyZXR1cm4oMCxhLnJlZ2lzdGVyR2xvYmFsKShpLGUsby5EaWFnQVBJLmluc3RhbmNlKCkpfWdldE1ldGVyUHJvdmlkZXIoKXtyZXR1cm4oMCxhLmdldEdsb2JhbCkoaSl8fG4uTk9PUF9NRVRFUl9QUk9WSURFUn1nZXRNZXRlcihlLHQscil7cmV0dXJuIHRoaXMuZ2V0TWV0ZXJQcm92aWRlcigpLmdldE1ldGVyKGUsdCxyKX1kaXNhYmxlKCl7KDAsYS51bnJlZ2lzdGVyR2xvYmFsKShpLG8uRGlhZ0FQSS5pbnN0YW5jZSgpKX19dC5NZXRyaWNzQVBJPU1ldHJpY3NBUEl9LDE4MTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlByb3BhZ2F0aW9uQVBJPXZvaWQgMDtjb25zdCBuPXIoMTcyKTtjb25zdCBhPXIoODc0KTtjb25zdCBvPXIoMTk0KTtjb25zdCBpPXIoMjc3KTtjb25zdCBjPXIoMzY5KTtjb25zdCBzPXIoOTMwKTtjb25zdCB1PVwicHJvcGFnYXRpb25cIjtjb25zdCBsPW5ldyBhLk5vb3BUZXh0TWFwUHJvcGFnYXRvcjtjbGFzcyBQcm9wYWdhdGlvbkFQSXtjb25zdHJ1Y3Rvcigpe3RoaXMuY3JlYXRlQmFnZ2FnZT1jLmNyZWF0ZUJhZ2dhZ2U7dGhpcy5nZXRCYWdnYWdlPWkuZ2V0QmFnZ2FnZTt0aGlzLmdldEFjdGl2ZUJhZ2dhZ2U9aS5nZXRBY3RpdmVCYWdnYWdlO3RoaXMuc2V0QmFnZ2FnZT1pLnNldEJhZ2dhZ2U7dGhpcy5kZWxldGVCYWdnYWdlPWkuZGVsZXRlQmFnZ2FnZX1zdGF0aWMgZ2V0SW5zdGFuY2UoKXtpZighdGhpcy5faW5zdGFuY2Upe3RoaXMuX2luc3RhbmNlPW5ldyBQcm9wYWdhdGlvbkFQSX1yZXR1cm4gdGhpcy5faW5zdGFuY2V9c2V0R2xvYmFsUHJvcGFnYXRvcihlKXtyZXR1cm4oMCxuLnJlZ2lzdGVyR2xvYmFsKSh1LGUscy5EaWFnQVBJLmluc3RhbmNlKCkpfWluamVjdChlLHQscj1vLmRlZmF1bHRUZXh0TWFwU2V0dGVyKXtyZXR1cm4gdGhpcy5fZ2V0R2xvYmFsUHJvcGFnYXRvcigpLmluamVjdChlLHQscil9ZXh0cmFjdChlLHQscj1vLmRlZmF1bHRUZXh0TWFwR2V0dGVyKXtyZXR1cm4gdGhpcy5fZ2V0R2xvYmFsUHJvcGFnYXRvcigpLmV4dHJhY3QoZSx0LHIpfWZpZWxkcygpe3JldHVybiB0aGlzLl9nZXRHbG9iYWxQcm9wYWdhdG9yKCkuZmllbGRzKCl9ZGlzYWJsZSgpeygwLG4udW5yZWdpc3Rlckdsb2JhbCkodSxzLkRpYWdBUEkuaW5zdGFuY2UoKSl9X2dldEdsb2JhbFByb3BhZ2F0b3IoKXtyZXR1cm4oMCxuLmdldEdsb2JhbCkodSl8fGx9fXQuUHJvcGFnYXRpb25BUEk9UHJvcGFnYXRpb25BUEl9LDk5NzooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlRyYWNlQVBJPXZvaWQgMDtjb25zdCBuPXIoMTcyKTtjb25zdCBhPXIoODQ2KTtjb25zdCBvPXIoMTM5KTtjb25zdCBpPXIoNjA3KTtjb25zdCBjPXIoOTMwKTtjb25zdCBzPVwidHJhY2VcIjtjbGFzcyBUcmFjZUFQSXtjb25zdHJ1Y3Rvcigpe3RoaXMuX3Byb3h5VHJhY2VyUHJvdmlkZXI9bmV3IGEuUHJveHlUcmFjZXJQcm92aWRlcjt0aGlzLndyYXBTcGFuQ29udGV4dD1vLndyYXBTcGFuQ29udGV4dDt0aGlzLmlzU3BhbkNvbnRleHRWYWxpZD1vLmlzU3BhbkNvbnRleHRWYWxpZDt0aGlzLmRlbGV0ZVNwYW49aS5kZWxldGVTcGFuO3RoaXMuZ2V0U3Bhbj1pLmdldFNwYW47dGhpcy5nZXRBY3RpdmVTcGFuPWkuZ2V0QWN0aXZlU3Bhbjt0aGlzLmdldFNwYW5Db250ZXh0PWkuZ2V0U3BhbkNvbnRleHQ7dGhpcy5zZXRTcGFuPWkuc2V0U3Bhbjt0aGlzLnNldFNwYW5Db250ZXh0PWkuc2V0U3BhbkNvbnRleHR9c3RhdGljIGdldEluc3RhbmNlKCl7aWYoIXRoaXMuX2luc3RhbmNlKXt0aGlzLl9pbnN0YW5jZT1uZXcgVHJhY2VBUEl9cmV0dXJuIHRoaXMuX2luc3RhbmNlfXNldEdsb2JhbFRyYWNlclByb3ZpZGVyKGUpe2NvbnN0IHQ9KDAsbi5yZWdpc3Rlckdsb2JhbCkocyx0aGlzLl9wcm94eVRyYWNlclByb3ZpZGVyLGMuRGlhZ0FQSS5pbnN0YW5jZSgpKTtpZih0KXt0aGlzLl9wcm94eVRyYWNlclByb3ZpZGVyLnNldERlbGVnYXRlKGUpfXJldHVybiB0fWdldFRyYWNlclByb3ZpZGVyKCl7cmV0dXJuKDAsbi5nZXRHbG9iYWwpKHMpfHx0aGlzLl9wcm94eVRyYWNlclByb3ZpZGVyfWdldFRyYWNlcihlLHQpe3JldHVybiB0aGlzLmdldFRyYWNlclByb3ZpZGVyKCkuZ2V0VHJhY2VyKGUsdCl9ZGlzYWJsZSgpeygwLG4udW5yZWdpc3Rlckdsb2JhbCkocyxjLkRpYWdBUEkuaW5zdGFuY2UoKSk7dGhpcy5fcHJveHlUcmFjZXJQcm92aWRlcj1uZXcgYS5Qcm94eVRyYWNlclByb3ZpZGVyfX10LlRyYWNlQVBJPVRyYWNlQVBJfSwyNzc6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5kZWxldGVCYWdnYWdlPXQuc2V0QmFnZ2FnZT10LmdldEFjdGl2ZUJhZ2dhZ2U9dC5nZXRCYWdnYWdlPXZvaWQgMDtjb25zdCBuPXIoNDkxKTtjb25zdCBhPXIoNzgwKTtjb25zdCBvPSgwLGEuY3JlYXRlQ29udGV4dEtleSkoXCJPcGVuVGVsZW1ldHJ5IEJhZ2dhZ2UgS2V5XCIpO2Z1bmN0aW9uIGdldEJhZ2dhZ2UoZSl7cmV0dXJuIGUuZ2V0VmFsdWUobyl8fHVuZGVmaW5lZH10LmdldEJhZ2dhZ2U9Z2V0QmFnZ2FnZTtmdW5jdGlvbiBnZXRBY3RpdmVCYWdnYWdlKCl7cmV0dXJuIGdldEJhZ2dhZ2Uobi5Db250ZXh0QVBJLmdldEluc3RhbmNlKCkuYWN0aXZlKCkpfXQuZ2V0QWN0aXZlQmFnZ2FnZT1nZXRBY3RpdmVCYWdnYWdlO2Z1bmN0aW9uIHNldEJhZ2dhZ2UoZSx0KXtyZXR1cm4gZS5zZXRWYWx1ZShvLHQpfXQuc2V0QmFnZ2FnZT1zZXRCYWdnYWdlO2Z1bmN0aW9uIGRlbGV0ZUJhZ2dhZ2UoZSl7cmV0dXJuIGUuZGVsZXRlVmFsdWUobyl9dC5kZWxldGVCYWdnYWdlPWRlbGV0ZUJhZ2dhZ2V9LDk5MzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5CYWdnYWdlSW1wbD12b2lkIDA7Y2xhc3MgQmFnZ2FnZUltcGx7Y29uc3RydWN0b3IoZSl7dGhpcy5fZW50cmllcz1lP25ldyBNYXAoZSk6bmV3IE1hcH1nZXRFbnRyeShlKXtjb25zdCB0PXRoaXMuX2VudHJpZXMuZ2V0KGUpO2lmKCF0KXtyZXR1cm4gdW5kZWZpbmVkfXJldHVybiBPYmplY3QuYXNzaWduKHt9LHQpfWdldEFsbEVudHJpZXMoKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9lbnRyaWVzLmVudHJpZXMoKSkubWFwKCgoW2UsdF0pPT5bZSx0XSkpfXNldEVudHJ5KGUsdCl7Y29uc3Qgcj1uZXcgQmFnZ2FnZUltcGwodGhpcy5fZW50cmllcyk7ci5fZW50cmllcy5zZXQoZSx0KTtyZXR1cm4gcn1yZW1vdmVFbnRyeShlKXtjb25zdCB0PW5ldyBCYWdnYWdlSW1wbCh0aGlzLl9lbnRyaWVzKTt0Ll9lbnRyaWVzLmRlbGV0ZShlKTtyZXR1cm4gdH1yZW1vdmVFbnRyaWVzKC4uLmUpe2NvbnN0IHQ9bmV3IEJhZ2dhZ2VJbXBsKHRoaXMuX2VudHJpZXMpO2Zvcihjb25zdCByIG9mIGUpe3QuX2VudHJpZXMuZGVsZXRlKHIpfXJldHVybiB0fWNsZWFyKCl7cmV0dXJuIG5ldyBCYWdnYWdlSW1wbH19dC5CYWdnYWdlSW1wbD1CYWdnYWdlSW1wbH0sODMwOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmJhZ2dhZ2VFbnRyeU1ldGFkYXRhU3ltYm9sPXZvaWQgMDt0LmJhZ2dhZ2VFbnRyeU1ldGFkYXRhU3ltYm9sPVN5bWJvbChcIkJhZ2dhZ2VFbnRyeU1ldGFkYXRhXCIpfSwzNjk6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5iYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmc9dC5jcmVhdGVCYWdnYWdlPXZvaWQgMDtjb25zdCBuPXIoOTMwKTtjb25zdCBhPXIoOTkzKTtjb25zdCBvPXIoODMwKTtjb25zdCBpPW4uRGlhZ0FQSS5pbnN0YW5jZSgpO2Z1bmN0aW9uIGNyZWF0ZUJhZ2dhZ2UoZT17fSl7cmV0dXJuIG5ldyBhLkJhZ2dhZ2VJbXBsKG5ldyBNYXAoT2JqZWN0LmVudHJpZXMoZSkpKX10LmNyZWF0ZUJhZ2dhZ2U9Y3JlYXRlQmFnZ2FnZTtmdW5jdGlvbiBiYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmcoZSl7aWYodHlwZW9mIGUhPT1cInN0cmluZ1wiKXtpLmVycm9yKGBDYW5ub3QgY3JlYXRlIGJhZ2dhZ2UgbWV0YWRhdGEgZnJvbSB1bmtub3duIHR5cGU6ICR7dHlwZW9mIGV9YCk7ZT1cIlwifXJldHVybntfX1RZUEVfXzpvLmJhZ2dhZ2VFbnRyeU1ldGFkYXRhU3ltYm9sLHRvU3RyaW5nKCl7cmV0dXJuIGV9fX10LmJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZz1iYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmd9LDY3OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuY29udGV4dD12b2lkIDA7Y29uc3Qgbj1yKDQ5MSk7dC5jb250ZXh0PW4uQ29udGV4dEFQSS5nZXRJbnN0YW5jZSgpfSwyMjM6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob29wQ29udGV4dE1hbmFnZXI9dm9pZCAwO2NvbnN0IG49cig3ODApO2NsYXNzIE5vb3BDb250ZXh0TWFuYWdlcnthY3RpdmUoKXtyZXR1cm4gbi5ST09UX0NPTlRFWFR9d2l0aChlLHQsciwuLi5uKXtyZXR1cm4gdC5jYWxsKHIsLi4ubil9YmluZChlLHQpe3JldHVybiB0fWVuYWJsZSgpe3JldHVybiB0aGlzfWRpc2FibGUoKXtyZXR1cm4gdGhpc319dC5Ob29wQ29udGV4dE1hbmFnZXI9Tm9vcENvbnRleHRNYW5hZ2VyfSw3ODA6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuUk9PVF9DT05URVhUPXQuY3JlYXRlQ29udGV4dEtleT12b2lkIDA7ZnVuY3Rpb24gY3JlYXRlQ29udGV4dEtleShlKXtyZXR1cm4gU3ltYm9sLmZvcihlKX10LmNyZWF0ZUNvbnRleHRLZXk9Y3JlYXRlQ29udGV4dEtleTtjbGFzcyBCYXNlQ29udGV4dHtjb25zdHJ1Y3RvcihlKXtjb25zdCB0PXRoaXM7dC5fY3VycmVudENvbnRleHQ9ZT9uZXcgTWFwKGUpOm5ldyBNYXA7dC5nZXRWYWx1ZT1lPT50Ll9jdXJyZW50Q29udGV4dC5nZXQoZSk7dC5zZXRWYWx1ZT0oZSxyKT0+e2NvbnN0IG49bmV3IEJhc2VDb250ZXh0KHQuX2N1cnJlbnRDb250ZXh0KTtuLl9jdXJyZW50Q29udGV4dC5zZXQoZSxyKTtyZXR1cm4gbn07dC5kZWxldGVWYWx1ZT1lPT57Y29uc3Qgcj1uZXcgQmFzZUNvbnRleHQodC5fY3VycmVudENvbnRleHQpO3IuX2N1cnJlbnRDb250ZXh0LmRlbGV0ZShlKTtyZXR1cm4gcn19fXQuUk9PVF9DT05URVhUPW5ldyBCYXNlQ29udGV4dH0sNTA2OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuZGlhZz12b2lkIDA7Y29uc3Qgbj1yKDkzMCk7dC5kaWFnPW4uRGlhZ0FQSS5pbnN0YW5jZSgpfSw1NjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkRpYWdDb21wb25lbnRMb2dnZXI9dm9pZCAwO2NvbnN0IG49cigxNzIpO2NsYXNzIERpYWdDb21wb25lbnRMb2dnZXJ7Y29uc3RydWN0b3IoZSl7dGhpcy5fbmFtZXNwYWNlPWUubmFtZXNwYWNlfHxcIkRpYWdDb21wb25lbnRMb2dnZXJcIn1kZWJ1ZyguLi5lKXtyZXR1cm4gbG9nUHJveHkoXCJkZWJ1Z1wiLHRoaXMuX25hbWVzcGFjZSxlKX1lcnJvciguLi5lKXtyZXR1cm4gbG9nUHJveHkoXCJlcnJvclwiLHRoaXMuX25hbWVzcGFjZSxlKX1pbmZvKC4uLmUpe3JldHVybiBsb2dQcm94eShcImluZm9cIix0aGlzLl9uYW1lc3BhY2UsZSl9d2FybiguLi5lKXtyZXR1cm4gbG9nUHJveHkoXCJ3YXJuXCIsdGhpcy5fbmFtZXNwYWNlLGUpfXZlcmJvc2UoLi4uZSl7cmV0dXJuIGxvZ1Byb3h5KFwidmVyYm9zZVwiLHRoaXMuX25hbWVzcGFjZSxlKX19dC5EaWFnQ29tcG9uZW50TG9nZ2VyPURpYWdDb21wb25lbnRMb2dnZXI7ZnVuY3Rpb24gbG9nUHJveHkoZSx0LHIpe2NvbnN0IGE9KDAsbi5nZXRHbG9iYWwpKFwiZGlhZ1wiKTtpZighYSl7cmV0dXJufXIudW5zaGlmdCh0KTtyZXR1cm4gYVtlXSguLi5yKX19LDk3MjooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5EaWFnQ29uc29sZUxvZ2dlcj12b2lkIDA7Y29uc3Qgcj1be246XCJlcnJvclwiLGM6XCJlcnJvclwifSx7bjpcIndhcm5cIixjOlwid2FyblwifSx7bjpcImluZm9cIixjOlwiaW5mb1wifSx7bjpcImRlYnVnXCIsYzpcImRlYnVnXCJ9LHtuOlwidmVyYm9zZVwiLGM6XCJ0cmFjZVwifV07Y2xhc3MgRGlhZ0NvbnNvbGVMb2dnZXJ7Y29uc3RydWN0b3IoKXtmdW5jdGlvbiBfY29uc29sZUZ1bmMoZSl7cmV0dXJuIGZ1bmN0aW9uKC4uLnQpe2lmKGNvbnNvbGUpe2xldCByPWNvbnNvbGVbZV07aWYodHlwZW9mIHIhPT1cImZ1bmN0aW9uXCIpe3I9Y29uc29sZS5sb2d9aWYodHlwZW9mIHI9PT1cImZ1bmN0aW9uXCIpe3JldHVybiByLmFwcGx5KGNvbnNvbGUsdCl9fX19Zm9yKGxldCBlPTA7ZTxyLmxlbmd0aDtlKyspe3RoaXNbcltlXS5uXT1fY29uc29sZUZ1bmMocltlXS5jKX19fXQuRGlhZ0NvbnNvbGVMb2dnZXI9RGlhZ0NvbnNvbGVMb2dnZXJ9LDkxMjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlcj12b2lkIDA7Y29uc3Qgbj1yKDk1Nyk7ZnVuY3Rpb24gY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyKGUsdCl7aWYoZTxuLkRpYWdMb2dMZXZlbC5OT05FKXtlPW4uRGlhZ0xvZ0xldmVsLk5PTkV9ZWxzZSBpZihlPm4uRGlhZ0xvZ0xldmVsLkFMTCl7ZT1uLkRpYWdMb2dMZXZlbC5BTEx9dD10fHx7fTtmdW5jdGlvbiBfZmlsdGVyRnVuYyhyLG4pe2NvbnN0IGE9dFtyXTtpZih0eXBlb2YgYT09PVwiZnVuY3Rpb25cIiYmZT49bil7cmV0dXJuIGEuYmluZCh0KX1yZXR1cm4gZnVuY3Rpb24oKXt9fXJldHVybntlcnJvcjpfZmlsdGVyRnVuYyhcImVycm9yXCIsbi5EaWFnTG9nTGV2ZWwuRVJST1IpLHdhcm46X2ZpbHRlckZ1bmMoXCJ3YXJuXCIsbi5EaWFnTG9nTGV2ZWwuV0FSTiksaW5mbzpfZmlsdGVyRnVuYyhcImluZm9cIixuLkRpYWdMb2dMZXZlbC5JTkZPKSxkZWJ1ZzpfZmlsdGVyRnVuYyhcImRlYnVnXCIsbi5EaWFnTG9nTGV2ZWwuREVCVUcpLHZlcmJvc2U6X2ZpbHRlckZ1bmMoXCJ2ZXJib3NlXCIsbi5EaWFnTG9nTGV2ZWwuVkVSQk9TRSl9fXQuY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyPWNyZWF0ZUxvZ0xldmVsRGlhZ0xvZ2dlcn0sOTU3OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LkRpYWdMb2dMZXZlbD12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIk5PTkVcIl09MF09XCJOT05FXCI7ZVtlW1wiRVJST1JcIl09MzBdPVwiRVJST1JcIjtlW2VbXCJXQVJOXCJdPTUwXT1cIldBUk5cIjtlW2VbXCJJTkZPXCJdPTYwXT1cIklORk9cIjtlW2VbXCJERUJVR1wiXT03MF09XCJERUJVR1wiO2VbZVtcIlZFUkJPU0VcIl09ODBdPVwiVkVSQk9TRVwiO2VbZVtcIkFMTFwiXT05OTk5XT1cIkFMTFwifSkocj10LkRpYWdMb2dMZXZlbHx8KHQuRGlhZ0xvZ0xldmVsPXt9KSl9LDE3MjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LnVucmVnaXN0ZXJHbG9iYWw9dC5nZXRHbG9iYWw9dC5yZWdpc3Rlckdsb2JhbD12b2lkIDA7Y29uc3Qgbj1yKDIwMCk7Y29uc3QgYT1yKDUyMSk7Y29uc3Qgbz1yKDEzMCk7Y29uc3QgaT1hLlZFUlNJT04uc3BsaXQoXCIuXCIpWzBdO2NvbnN0IGM9U3ltYm9sLmZvcihgb3BlbnRlbGVtZXRyeS5qcy5hcGkuJHtpfWApO2NvbnN0IHM9bi5fZ2xvYmFsVGhpcztmdW5jdGlvbiByZWdpc3Rlckdsb2JhbChlLHQscixuPWZhbHNlKXt2YXIgbztjb25zdCBpPXNbY109KG89c1tjXSkhPT1udWxsJiZvIT09dm9pZCAwP286e3ZlcnNpb246YS5WRVJTSU9OfTtpZighbiYmaVtlXSl7Y29uc3QgdD1uZXcgRXJyb3IoYEBvcGVudGVsZW1ldHJ5L2FwaTogQXR0ZW1wdGVkIGR1cGxpY2F0ZSByZWdpc3RyYXRpb24gb2YgQVBJOiAke2V9YCk7ci5lcnJvcih0LnN0YWNrfHx0Lm1lc3NhZ2UpO3JldHVybiBmYWxzZX1pZihpLnZlcnNpb24hPT1hLlZFUlNJT04pe2NvbnN0IHQ9bmV3IEVycm9yKGBAb3BlbnRlbGVtZXRyeS9hcGk6IFJlZ2lzdHJhdGlvbiBvZiB2ZXJzaW9uIHYke2kudmVyc2lvbn0gZm9yICR7ZX0gZG9lcyBub3QgbWF0Y2ggcHJldmlvdXNseSByZWdpc3RlcmVkIEFQSSB2JHthLlZFUlNJT059YCk7ci5lcnJvcih0LnN0YWNrfHx0Lm1lc3NhZ2UpO3JldHVybiBmYWxzZX1pW2VdPXQ7ci5kZWJ1ZyhgQG9wZW50ZWxlbWV0cnkvYXBpOiBSZWdpc3RlcmVkIGEgZ2xvYmFsIGZvciAke2V9IHYke2EuVkVSU0lPTn0uYCk7cmV0dXJuIHRydWV9dC5yZWdpc3Rlckdsb2JhbD1yZWdpc3Rlckdsb2JhbDtmdW5jdGlvbiBnZXRHbG9iYWwoZSl7dmFyIHQscjtjb25zdCBuPSh0PXNbY10pPT09bnVsbHx8dD09PXZvaWQgMD92b2lkIDA6dC52ZXJzaW9uO2lmKCFufHwhKDAsby5pc0NvbXBhdGlibGUpKG4pKXtyZXR1cm59cmV0dXJuKHI9c1tjXSk9PT1udWxsfHxyPT09dm9pZCAwP3ZvaWQgMDpyW2VdfXQuZ2V0R2xvYmFsPWdldEdsb2JhbDtmdW5jdGlvbiB1bnJlZ2lzdGVyR2xvYmFsKGUsdCl7dC5kZWJ1ZyhgQG9wZW50ZWxlbWV0cnkvYXBpOiBVbnJlZ2lzdGVyaW5nIGEgZ2xvYmFsIGZvciAke2V9IHYke2EuVkVSU0lPTn0uYCk7Y29uc3Qgcj1zW2NdO2lmKHIpe2RlbGV0ZSByW2VdfX10LnVucmVnaXN0ZXJHbG9iYWw9dW5yZWdpc3Rlckdsb2JhbH0sMTMwOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuaXNDb21wYXRpYmxlPXQuX21ha2VDb21wYXRpYmlsaXR5Q2hlY2s9dm9pZCAwO2NvbnN0IG49cig1MjEpO2NvbnN0IGE9L14oXFxkKylcXC4oXFxkKylcXC4oXFxkKykoLSguKykpPyQvO2Z1bmN0aW9uIF9tYWtlQ29tcGF0aWJpbGl0eUNoZWNrKGUpe2NvbnN0IHQ9bmV3IFNldChbZV0pO2NvbnN0IHI9bmV3IFNldDtjb25zdCBuPWUubWF0Y2goYSk7aWYoIW4pe3JldHVybigpPT5mYWxzZX1jb25zdCBvPXttYWpvcjorblsxXSxtaW5vcjorblsyXSxwYXRjaDorblszXSxwcmVyZWxlYXNlOm5bNF19O2lmKG8ucHJlcmVsZWFzZSE9bnVsbCl7cmV0dXJuIGZ1bmN0aW9uIGlzRXhhY3RtYXRjaCh0KXtyZXR1cm4gdD09PWV9fWZ1bmN0aW9uIF9yZWplY3QoZSl7ci5hZGQoZSk7cmV0dXJuIGZhbHNlfWZ1bmN0aW9uIF9hY2NlcHQoZSl7dC5hZGQoZSk7cmV0dXJuIHRydWV9cmV0dXJuIGZ1bmN0aW9uIGlzQ29tcGF0aWJsZShlKXtpZih0LmhhcyhlKSl7cmV0dXJuIHRydWV9aWYoci5oYXMoZSkpe3JldHVybiBmYWxzZX1jb25zdCBuPWUubWF0Y2goYSk7aWYoIW4pe3JldHVybiBfcmVqZWN0KGUpfWNvbnN0IGk9e21ham9yOituWzFdLG1pbm9yOituWzJdLHBhdGNoOituWzNdLHByZXJlbGVhc2U6bls0XX07aWYoaS5wcmVyZWxlYXNlIT1udWxsKXtyZXR1cm4gX3JlamVjdChlKX1pZihvLm1ham9yIT09aS5tYWpvcil7cmV0dXJuIF9yZWplY3QoZSl9aWYoby5tYWpvcj09PTApe2lmKG8ubWlub3I9PT1pLm1pbm9yJiZvLnBhdGNoPD1pLnBhdGNoKXtyZXR1cm4gX2FjY2VwdChlKX1yZXR1cm4gX3JlamVjdChlKX1pZihvLm1pbm9yPD1pLm1pbm9yKXtyZXR1cm4gX2FjY2VwdChlKX1yZXR1cm4gX3JlamVjdChlKX19dC5fbWFrZUNvbXBhdGliaWxpdHlDaGVjaz1fbWFrZUNvbXBhdGliaWxpdHlDaGVjazt0LmlzQ29tcGF0aWJsZT1fbWFrZUNvbXBhdGliaWxpdHlDaGVjayhuLlZFUlNJT04pfSw4ODY6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5tZXRyaWNzPXZvaWQgMDtjb25zdCBuPXIoNjUzKTt0Lm1ldHJpY3M9bi5NZXRyaWNzQVBJLmdldEluc3RhbmNlKCl9LDkwMTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5WYWx1ZVR5cGU9dm9pZCAwO3ZhciByOyhmdW5jdGlvbihlKXtlW2VbXCJJTlRcIl09MF09XCJJTlRcIjtlW2VbXCJET1VCTEVcIl09MV09XCJET1VCTEVcIn0pKHI9dC5WYWx1ZVR5cGV8fCh0LlZhbHVlVHlwZT17fSkpfSwxMDI6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuY3JlYXRlTm9vcE1ldGVyPXQuTk9PUF9PQlNFUlZBQkxFX1VQX0RPV05fQ09VTlRFUl9NRVRSSUM9dC5OT09QX09CU0VSVkFCTEVfR0FVR0VfTUVUUklDPXQuTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDPXQuTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDPXQuTk9PUF9ISVNUT0dSQU1fTUVUUklDPXQuTk9PUF9DT1VOVEVSX01FVFJJQz10Lk5PT1BfTUVURVI9dC5Ob29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWM9dC5Ob29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljPXQuTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljPXQuTm9vcE9ic2VydmFibGVNZXRyaWM9dC5Ob29wSGlzdG9ncmFtTWV0cmljPXQuTm9vcFVwRG93bkNvdW50ZXJNZXRyaWM9dC5Ob29wQ291bnRlck1ldHJpYz10Lk5vb3BNZXRyaWM9dC5Ob29wTWV0ZXI9dm9pZCAwO2NsYXNzIE5vb3BNZXRlcntjb25zdHJ1Y3Rvcigpe31jcmVhdGVIaXN0b2dyYW0oZSxyKXtyZXR1cm4gdC5OT09QX0hJU1RPR1JBTV9NRVRSSUN9Y3JlYXRlQ291bnRlcihlLHIpe3JldHVybiB0Lk5PT1BfQ09VTlRFUl9NRVRSSUN9Y3JlYXRlVXBEb3duQ291bnRlcihlLHIpe3JldHVybiB0Lk5PT1BfVVBfRE9XTl9DT1VOVEVSX01FVFJJQ31jcmVhdGVPYnNlcnZhYmxlR2F1Z2UoZSxyKXtyZXR1cm4gdC5OT09QX09CU0VSVkFCTEVfR0FVR0VfTUVUUklDfWNyZWF0ZU9ic2VydmFibGVDb3VudGVyKGUscil7cmV0dXJuIHQuTk9PUF9PQlNFUlZBQkxFX0NPVU5URVJfTUVUUklDfWNyZWF0ZU9ic2VydmFibGVVcERvd25Db3VudGVyKGUscil7cmV0dXJuIHQuTk9PUF9PQlNFUlZBQkxFX1VQX0RPV05fQ09VTlRFUl9NRVRSSUN9YWRkQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2soZSx0KXt9cmVtb3ZlQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2soZSl7fX10Lk5vb3BNZXRlcj1Ob29wTWV0ZXI7Y2xhc3MgTm9vcE1ldHJpY3t9dC5Ob29wTWV0cmljPU5vb3BNZXRyaWM7Y2xhc3MgTm9vcENvdW50ZXJNZXRyaWMgZXh0ZW5kcyBOb29wTWV0cmlje2FkZChlLHQpe319dC5Ob29wQ291bnRlck1ldHJpYz1Ob29wQ291bnRlck1ldHJpYztjbGFzcyBOb29wVXBEb3duQ291bnRlck1ldHJpYyBleHRlbmRzIE5vb3BNZXRyaWN7YWRkKGUsdCl7fX10Lk5vb3BVcERvd25Db3VudGVyTWV0cmljPU5vb3BVcERvd25Db3VudGVyTWV0cmljO2NsYXNzIE5vb3BIaXN0b2dyYW1NZXRyaWMgZXh0ZW5kcyBOb29wTWV0cmlje3JlY29yZChlLHQpe319dC5Ob29wSGlzdG9ncmFtTWV0cmljPU5vb3BIaXN0b2dyYW1NZXRyaWM7Y2xhc3MgTm9vcE9ic2VydmFibGVNZXRyaWN7YWRkQ2FsbGJhY2soZSl7fXJlbW92ZUNhbGxiYWNrKGUpe319dC5Ob29wT2JzZXJ2YWJsZU1ldHJpYz1Ob29wT2JzZXJ2YWJsZU1ldHJpYztjbGFzcyBOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWMgZXh0ZW5kcyBOb29wT2JzZXJ2YWJsZU1ldHJpY3t9dC5Ob29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWM9Tm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljO2NsYXNzIE5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWMgZXh0ZW5kcyBOb29wT2JzZXJ2YWJsZU1ldHJpY3t9dC5Ob29wT2JzZXJ2YWJsZUdhdWdlTWV0cmljPU5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWM7Y2xhc3MgTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljIGV4dGVuZHMgTm9vcE9ic2VydmFibGVNZXRyaWN7fXQuTm9vcE9ic2VydmFibGVVcERvd25Db3VudGVyTWV0cmljPU5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYzt0Lk5PT1BfTUVURVI9bmV3IE5vb3BNZXRlcjt0Lk5PT1BfQ09VTlRFUl9NRVRSSUM9bmV3IE5vb3BDb3VudGVyTWV0cmljO3QuTk9PUF9ISVNUT0dSQU1fTUVUUklDPW5ldyBOb29wSGlzdG9ncmFtTWV0cmljO3QuTk9PUF9VUF9ET1dOX0NPVU5URVJfTUVUUklDPW5ldyBOb29wVXBEb3duQ291bnRlck1ldHJpYzt0Lk5PT1BfT0JTRVJWQUJMRV9DT1VOVEVSX01FVFJJQz1uZXcgTm9vcE9ic2VydmFibGVDb3VudGVyTWV0cmljO3QuTk9PUF9PQlNFUlZBQkxFX0dBVUdFX01FVFJJQz1uZXcgTm9vcE9ic2VydmFibGVHYXVnZU1ldHJpYzt0Lk5PT1BfT0JTRVJWQUJMRV9VUF9ET1dOX0NPVU5URVJfTUVUUklDPW5ldyBOb29wT2JzZXJ2YWJsZVVwRG93bkNvdW50ZXJNZXRyaWM7ZnVuY3Rpb24gY3JlYXRlTm9vcE1ldGVyKCl7cmV0dXJuIHQuTk9PUF9NRVRFUn10LmNyZWF0ZU5vb3BNZXRlcj1jcmVhdGVOb29wTWV0ZXJ9LDY2MDooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5PT1BfTUVURVJfUFJPVklERVI9dC5Ob29wTWV0ZXJQcm92aWRlcj12b2lkIDA7Y29uc3Qgbj1yKDEwMik7Y2xhc3MgTm9vcE1ldGVyUHJvdmlkZXJ7Z2V0TWV0ZXIoZSx0LHIpe3JldHVybiBuLk5PT1BfTUVURVJ9fXQuTm9vcE1ldGVyUHJvdmlkZXI9Tm9vcE1ldGVyUHJvdmlkZXI7dC5OT09QX01FVEVSX1BST1ZJREVSPW5ldyBOb29wTWV0ZXJQcm92aWRlcn0sMjAwOmZ1bmN0aW9uKGUsdCxyKXt2YXIgbj10aGlzJiZ0aGlzLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/ZnVuY3Rpb24oZSx0LHIsbil7aWYobj09PXVuZGVmaW5lZCluPXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB0W3JdfX0pfTpmdW5jdGlvbihlLHQscixuKXtpZihuPT09dW5kZWZpbmVkKW49cjtlW25dPXRbcl19KTt2YXIgYT10aGlzJiZ0aGlzLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSx0KXtmb3IodmFyIHIgaW4gZSlpZihyIT09XCJkZWZhdWx0XCImJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSluKHQsZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTthKHIoNDYpLHQpfSw2NTE6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuX2dsb2JhbFRoaXM9dm9pZCAwO3QuX2dsb2JhbFRoaXM9dHlwZW9mIGdsb2JhbFRoaXM9PT1cIm9iamVjdFwiP2dsb2JhbFRoaXM6Z2xvYmFsfSw0NjpmdW5jdGlvbihlLHQscil7dmFyIG49dGhpcyYmdGhpcy5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlP2Z1bmN0aW9uKGUsdCxyLG4pe2lmKG49PT11bmRlZmluZWQpbj1yO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4se2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtyXX19KX06ZnVuY3Rpb24oZSx0LHIsbil7aWYobj09PXVuZGVmaW5lZCluPXI7ZVtuXT10W3JdfSk7dmFyIGE9dGhpcyYmdGhpcy5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciByIGluIGUpaWYociE9PVwiZGVmYXVsdFwiJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscikpbih0LGUscil9O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7YShyKDY1MSksdCl9LDkzOTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LnByb3BhZ2F0aW9uPXZvaWQgMDtjb25zdCBuPXIoMTgxKTt0LnByb3BhZ2F0aW9uPW4uUHJvcGFnYXRpb25BUEkuZ2V0SW5zdGFuY2UoKX0sODc0OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0Lk5vb3BUZXh0TWFwUHJvcGFnYXRvcj12b2lkIDA7Y2xhc3MgTm9vcFRleHRNYXBQcm9wYWdhdG9ye2luamVjdChlLHQpe31leHRyYWN0KGUsdCl7cmV0dXJuIGV9ZmllbGRzKCl7cmV0dXJuW119fXQuTm9vcFRleHRNYXBQcm9wYWdhdG9yPU5vb3BUZXh0TWFwUHJvcGFnYXRvcn0sMTk0OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LmRlZmF1bHRUZXh0TWFwU2V0dGVyPXQuZGVmYXVsdFRleHRNYXBHZXR0ZXI9dm9pZCAwO3QuZGVmYXVsdFRleHRNYXBHZXR0ZXI9e2dldChlLHQpe2lmKGU9PW51bGwpe3JldHVybiB1bmRlZmluZWR9cmV0dXJuIGVbdF19LGtleXMoZSl7aWYoZT09bnVsbCl7cmV0dXJuW119cmV0dXJuIE9iamVjdC5rZXlzKGUpfX07dC5kZWZhdWx0VGV4dE1hcFNldHRlcj17c2V0KGUsdCxyKXtpZihlPT1udWxsKXtyZXR1cm59ZVt0XT1yfX19LDg0NTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LnRyYWNlPXZvaWQgMDtjb25zdCBuPXIoOTk3KTt0LnRyYWNlPW4uVHJhY2VBUEkuZ2V0SW5zdGFuY2UoKX0sNDAzOihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTm9uUmVjb3JkaW5nU3Bhbj12b2lkIDA7Y29uc3Qgbj1yKDQ3Nik7Y2xhc3MgTm9uUmVjb3JkaW5nU3Bhbntjb25zdHJ1Y3RvcihlPW4uSU5WQUxJRF9TUEFOX0NPTlRFWFQpe3RoaXMuX3NwYW5Db250ZXh0PWV9c3BhbkNvbnRleHQoKXtyZXR1cm4gdGhpcy5fc3BhbkNvbnRleHR9c2V0QXR0cmlidXRlKGUsdCl7cmV0dXJuIHRoaXN9c2V0QXR0cmlidXRlcyhlKXtyZXR1cm4gdGhpc31hZGRFdmVudChlLHQpe3JldHVybiB0aGlzfXNldFN0YXR1cyhlKXtyZXR1cm4gdGhpc311cGRhdGVOYW1lKGUpe3JldHVybiB0aGlzfWVuZChlKXt9aXNSZWNvcmRpbmcoKXtyZXR1cm4gZmFsc2V9cmVjb3JkRXhjZXB0aW9uKGUsdCl7fX10Lk5vblJlY29yZGluZ1NwYW49Tm9uUmVjb3JkaW5nU3Bhbn0sNjE0OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuTm9vcFRyYWNlcj12b2lkIDA7Y29uc3Qgbj1yKDQ5MSk7Y29uc3QgYT1yKDYwNyk7Y29uc3Qgbz1yKDQwMyk7Y29uc3QgaT1yKDEzOSk7Y29uc3QgYz1uLkNvbnRleHRBUEkuZ2V0SW5zdGFuY2UoKTtjbGFzcyBOb29wVHJhY2Vye3N0YXJ0U3BhbihlLHQscj1jLmFjdGl2ZSgpKXtjb25zdCBuPUJvb2xlYW4odD09PW51bGx8fHQ9PT12b2lkIDA/dm9pZCAwOnQucm9vdCk7aWYobil7cmV0dXJuIG5ldyBvLk5vblJlY29yZGluZ1NwYW59Y29uc3Qgcz1yJiYoMCxhLmdldFNwYW5Db250ZXh0KShyKTtpZihpc1NwYW5Db250ZXh0KHMpJiYoMCxpLmlzU3BhbkNvbnRleHRWYWxpZCkocykpe3JldHVybiBuZXcgby5Ob25SZWNvcmRpbmdTcGFuKHMpfWVsc2V7cmV0dXJuIG5ldyBvLk5vblJlY29yZGluZ1NwYW59fXN0YXJ0QWN0aXZlU3BhbihlLHQscixuKXtsZXQgbztsZXQgaTtsZXQgcztpZihhcmd1bWVudHMubGVuZ3RoPDIpe3JldHVybn1lbHNlIGlmKGFyZ3VtZW50cy5sZW5ndGg9PT0yKXtzPXR9ZWxzZSBpZihhcmd1bWVudHMubGVuZ3RoPT09Myl7bz10O3M9cn1lbHNle289dDtpPXI7cz1ufWNvbnN0IHU9aSE9PW51bGwmJmkhPT12b2lkIDA/aTpjLmFjdGl2ZSgpO2NvbnN0IGw9dGhpcy5zdGFydFNwYW4oZSxvLHUpO2NvbnN0IGc9KDAsYS5zZXRTcGFuKSh1LGwpO3JldHVybiBjLndpdGgoZyxzLHVuZGVmaW5lZCxsKX19dC5Ob29wVHJhY2VyPU5vb3BUcmFjZXI7ZnVuY3Rpb24gaXNTcGFuQ29udGV4dChlKXtyZXR1cm4gdHlwZW9mIGU9PT1cIm9iamVjdFwiJiZ0eXBlb2YgZVtcInNwYW5JZFwiXT09PVwic3RyaW5nXCImJnR5cGVvZiBlW1widHJhY2VJZFwiXT09PVwic3RyaW5nXCImJnR5cGVvZiBlW1widHJhY2VGbGFnc1wiXT09PVwibnVtYmVyXCJ9fSwxMjQ6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5Ob29wVHJhY2VyUHJvdmlkZXI9dm9pZCAwO2NvbnN0IG49cig2MTQpO2NsYXNzIE5vb3BUcmFjZXJQcm92aWRlcntnZXRUcmFjZXIoZSx0LHIpe3JldHVybiBuZXcgbi5Ob29wVHJhY2VyfX10Lk5vb3BUcmFjZXJQcm92aWRlcj1Ob29wVHJhY2VyUHJvdmlkZXJ9LDEyNTooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlByb3h5VHJhY2VyPXZvaWQgMDtjb25zdCBuPXIoNjE0KTtjb25zdCBhPW5ldyBuLk5vb3BUcmFjZXI7Y2xhc3MgUHJveHlUcmFjZXJ7Y29uc3RydWN0b3IoZSx0LHIsbil7dGhpcy5fcHJvdmlkZXI9ZTt0aGlzLm5hbWU9dDt0aGlzLnZlcnNpb249cjt0aGlzLm9wdGlvbnM9bn1zdGFydFNwYW4oZSx0LHIpe3JldHVybiB0aGlzLl9nZXRUcmFjZXIoKS5zdGFydFNwYW4oZSx0LHIpfXN0YXJ0QWN0aXZlU3BhbihlLHQscixuKXtjb25zdCBhPXRoaXMuX2dldFRyYWNlcigpO3JldHVybiBSZWZsZWN0LmFwcGx5KGEuc3RhcnRBY3RpdmVTcGFuLGEsYXJndW1lbnRzKX1fZ2V0VHJhY2VyKCl7aWYodGhpcy5fZGVsZWdhdGUpe3JldHVybiB0aGlzLl9kZWxlZ2F0ZX1jb25zdCBlPXRoaXMuX3Byb3ZpZGVyLmdldERlbGVnYXRlVHJhY2VyKHRoaXMubmFtZSx0aGlzLnZlcnNpb24sdGhpcy5vcHRpb25zKTtpZighZSl7cmV0dXJuIGF9dGhpcy5fZGVsZWdhdGU9ZTtyZXR1cm4gdGhpcy5fZGVsZWdhdGV9fXQuUHJveHlUcmFjZXI9UHJveHlUcmFjZXJ9LDg0NjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlByb3h5VHJhY2VyUHJvdmlkZXI9dm9pZCAwO2NvbnN0IG49cigxMjUpO2NvbnN0IGE9cigxMjQpO2NvbnN0IG89bmV3IGEuTm9vcFRyYWNlclByb3ZpZGVyO2NsYXNzIFByb3h5VHJhY2VyUHJvdmlkZXJ7Z2V0VHJhY2VyKGUsdCxyKXt2YXIgYTtyZXR1cm4oYT10aGlzLmdldERlbGVnYXRlVHJhY2VyKGUsdCxyKSkhPT1udWxsJiZhIT09dm9pZCAwP2E6bmV3IG4uUHJveHlUcmFjZXIodGhpcyxlLHQscil9Z2V0RGVsZWdhdGUoKXt2YXIgZTtyZXR1cm4oZT10aGlzLl9kZWxlZ2F0ZSkhPT1udWxsJiZlIT09dm9pZCAwP2U6b31zZXREZWxlZ2F0ZShlKXt0aGlzLl9kZWxlZ2F0ZT1lfWdldERlbGVnYXRlVHJhY2VyKGUsdCxyKXt2YXIgbjtyZXR1cm4obj10aGlzLl9kZWxlZ2F0ZSk9PT1udWxsfHxuPT09dm9pZCAwP3ZvaWQgMDpuLmdldFRyYWNlcihlLHQscil9fXQuUHJveHlUcmFjZXJQcm92aWRlcj1Qcm94eVRyYWNlclByb3ZpZGVyfSw5OTY6KGUsdCk9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuU2FtcGxpbmdEZWNpc2lvbj12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIk5PVF9SRUNPUkRcIl09MF09XCJOT1RfUkVDT1JEXCI7ZVtlW1wiUkVDT1JEXCJdPTFdPVwiUkVDT1JEXCI7ZVtlW1wiUkVDT1JEX0FORF9TQU1QTEVEXCJdPTJdPVwiUkVDT1JEX0FORF9TQU1QTEVEXCJ9KShyPXQuU2FtcGxpbmdEZWNpc2lvbnx8KHQuU2FtcGxpbmdEZWNpc2lvbj17fSkpfSw2MDc6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5nZXRTcGFuQ29udGV4dD10LnNldFNwYW5Db250ZXh0PXQuZGVsZXRlU3Bhbj10LnNldFNwYW49dC5nZXRBY3RpdmVTcGFuPXQuZ2V0U3Bhbj12b2lkIDA7Y29uc3Qgbj1yKDc4MCk7Y29uc3QgYT1yKDQwMyk7Y29uc3Qgbz1yKDQ5MSk7Y29uc3QgaT0oMCxuLmNyZWF0ZUNvbnRleHRLZXkpKFwiT3BlblRlbGVtZXRyeSBDb250ZXh0IEtleSBTUEFOXCIpO2Z1bmN0aW9uIGdldFNwYW4oZSl7cmV0dXJuIGUuZ2V0VmFsdWUoaSl8fHVuZGVmaW5lZH10LmdldFNwYW49Z2V0U3BhbjtmdW5jdGlvbiBnZXRBY3RpdmVTcGFuKCl7cmV0dXJuIGdldFNwYW4oby5Db250ZXh0QVBJLmdldEluc3RhbmNlKCkuYWN0aXZlKCkpfXQuZ2V0QWN0aXZlU3Bhbj1nZXRBY3RpdmVTcGFuO2Z1bmN0aW9uIHNldFNwYW4oZSx0KXtyZXR1cm4gZS5zZXRWYWx1ZShpLHQpfXQuc2V0U3Bhbj1zZXRTcGFuO2Z1bmN0aW9uIGRlbGV0ZVNwYW4oZSl7cmV0dXJuIGUuZGVsZXRlVmFsdWUoaSl9dC5kZWxldGVTcGFuPWRlbGV0ZVNwYW47ZnVuY3Rpb24gc2V0U3BhbkNvbnRleHQoZSx0KXtyZXR1cm4gc2V0U3BhbihlLG5ldyBhLk5vblJlY29yZGluZ1NwYW4odCkpfXQuc2V0U3BhbkNvbnRleHQ9c2V0U3BhbkNvbnRleHQ7ZnVuY3Rpb24gZ2V0U3BhbkNvbnRleHQoZSl7dmFyIHQ7cmV0dXJuKHQ9Z2V0U3BhbihlKSk9PT1udWxsfHx0PT09dm9pZCAwP3ZvaWQgMDp0LnNwYW5Db250ZXh0KCl9dC5nZXRTcGFuQ29udGV4dD1nZXRTcGFuQ29udGV4dH0sMzI1OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuVHJhY2VTdGF0ZUltcGw9dm9pZCAwO2NvbnN0IG49cig1NjQpO2NvbnN0IGE9MzI7Y29uc3Qgbz01MTI7Y29uc3QgaT1cIixcIjtjb25zdCBjPVwiPVwiO2NsYXNzIFRyYWNlU3RhdGVJbXBse2NvbnN0cnVjdG9yKGUpe3RoaXMuX2ludGVybmFsU3RhdGU9bmV3IE1hcDtpZihlKXRoaXMuX3BhcnNlKGUpfXNldChlLHQpe2NvbnN0IHI9dGhpcy5fY2xvbmUoKTtpZihyLl9pbnRlcm5hbFN0YXRlLmhhcyhlKSl7ci5faW50ZXJuYWxTdGF0ZS5kZWxldGUoZSl9ci5faW50ZXJuYWxTdGF0ZS5zZXQoZSx0KTtyZXR1cm4gcn11bnNldChlKXtjb25zdCB0PXRoaXMuX2Nsb25lKCk7dC5faW50ZXJuYWxTdGF0ZS5kZWxldGUoZSk7cmV0dXJuIHR9Z2V0KGUpe3JldHVybiB0aGlzLl9pbnRlcm5hbFN0YXRlLmdldChlKX1zZXJpYWxpemUoKXtyZXR1cm4gdGhpcy5fa2V5cygpLnJlZHVjZSgoKGUsdCk9PntlLnB1c2godCtjK3RoaXMuZ2V0KHQpKTtyZXR1cm4gZX0pLFtdKS5qb2luKGkpfV9wYXJzZShlKXtpZihlLmxlbmd0aD5vKXJldHVybjt0aGlzLl9pbnRlcm5hbFN0YXRlPWUuc3BsaXQoaSkucmV2ZXJzZSgpLnJlZHVjZSgoKGUsdCk9Pntjb25zdCByPXQudHJpbSgpO2NvbnN0IGE9ci5pbmRleE9mKGMpO2lmKGEhPT0tMSl7Y29uc3Qgbz1yLnNsaWNlKDAsYSk7Y29uc3QgaT1yLnNsaWNlKGErMSx0Lmxlbmd0aCk7aWYoKDAsbi52YWxpZGF0ZUtleSkobykmJigwLG4udmFsaWRhdGVWYWx1ZSkoaSkpe2Uuc2V0KG8saSl9ZWxzZXt9fXJldHVybiBlfSksbmV3IE1hcCk7aWYodGhpcy5faW50ZXJuYWxTdGF0ZS5zaXplPmEpe3RoaXMuX2ludGVybmFsU3RhdGU9bmV3IE1hcChBcnJheS5mcm9tKHRoaXMuX2ludGVybmFsU3RhdGUuZW50cmllcygpKS5yZXZlcnNlKCkuc2xpY2UoMCxhKSl9fV9rZXlzKCl7cmV0dXJuIEFycmF5LmZyb20odGhpcy5faW50ZXJuYWxTdGF0ZS5rZXlzKCkpLnJldmVyc2UoKX1fY2xvbmUoKXtjb25zdCBlPW5ldyBUcmFjZVN0YXRlSW1wbDtlLl9pbnRlcm5hbFN0YXRlPW5ldyBNYXAodGhpcy5faW50ZXJuYWxTdGF0ZSk7cmV0dXJuIGV9fXQuVHJhY2VTdGF0ZUltcGw9VHJhY2VTdGF0ZUltcGx9LDU2NDooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC52YWxpZGF0ZVZhbHVlPXQudmFsaWRhdGVLZXk9dm9pZCAwO2NvbnN0IHI9XCJbXzAtOWEtei0qL11cIjtjb25zdCBuPWBbYS16XSR7cn17MCwyNTV9YDtjb25zdCBhPWBbYS16MC05XSR7cn17MCwyNDB9QFthLXpdJHtyfXswLDEzfWA7Y29uc3Qgbz1uZXcgUmVnRXhwKGBeKD86JHtufXwke2F9KSRgKTtjb25zdCBpPS9eWyAtfl17MCwyNTV9WyEtfl0kLztjb25zdCBjPS8sfD0vO2Z1bmN0aW9uIHZhbGlkYXRlS2V5KGUpe3JldHVybiBvLnRlc3QoZSl9dC52YWxpZGF0ZUtleT12YWxpZGF0ZUtleTtmdW5jdGlvbiB2YWxpZGF0ZVZhbHVlKGUpe3JldHVybiBpLnRlc3QoZSkmJiFjLnRlc3QoZSl9dC52YWxpZGF0ZVZhbHVlPXZhbGlkYXRlVmFsdWV9LDk4OihlLHQscik9PntPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6dHJ1ZX0pO3QuY3JlYXRlVHJhY2VTdGF0ZT12b2lkIDA7Y29uc3Qgbj1yKDMyNSk7ZnVuY3Rpb24gY3JlYXRlVHJhY2VTdGF0ZShlKXtyZXR1cm4gbmV3IG4uVHJhY2VTdGF0ZUltcGwoZSl9dC5jcmVhdGVUcmFjZVN0YXRlPWNyZWF0ZVRyYWNlU3RhdGV9LDQ3NjooZSx0LHIpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LklOVkFMSURfU1BBTl9DT05URVhUPXQuSU5WQUxJRF9UUkFDRUlEPXQuSU5WQUxJRF9TUEFOSUQ9dm9pZCAwO2NvbnN0IG49cig0NzUpO3QuSU5WQUxJRF9TUEFOSUQ9XCIwMDAwMDAwMDAwMDAwMDAwXCI7dC5JTlZBTElEX1RSQUNFSUQ9XCIwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMFwiO3QuSU5WQUxJRF9TUEFOX0NPTlRFWFQ9e3RyYWNlSWQ6dC5JTlZBTElEX1RSQUNFSUQsc3BhbklkOnQuSU5WQUxJRF9TUEFOSUQsdHJhY2VGbGFnczpuLlRyYWNlRmxhZ3MuTk9ORX19LDM1NzooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5TcGFuS2luZD12b2lkIDA7dmFyIHI7KGZ1bmN0aW9uKGUpe2VbZVtcIklOVEVSTkFMXCJdPTBdPVwiSU5URVJOQUxcIjtlW2VbXCJTRVJWRVJcIl09MV09XCJTRVJWRVJcIjtlW2VbXCJDTElFTlRcIl09Ml09XCJDTElFTlRcIjtlW2VbXCJQUk9EVUNFUlwiXT0zXT1cIlBST0RVQ0VSXCI7ZVtlW1wiQ09OU1VNRVJcIl09NF09XCJDT05TVU1FUlwifSkocj10LlNwYW5LaW5kfHwodC5TcGFuS2luZD17fSkpfSwxMzk6KGUsdCxyKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC53cmFwU3BhbkNvbnRleHQ9dC5pc1NwYW5Db250ZXh0VmFsaWQ9dC5pc1ZhbGlkU3BhbklkPXQuaXNWYWxpZFRyYWNlSWQ9dm9pZCAwO2NvbnN0IG49cig0NzYpO2NvbnN0IGE9cig0MDMpO2NvbnN0IG89L14oWzAtOWEtZl17MzJ9KSQvaTtjb25zdCBpPS9eWzAtOWEtZl17MTZ9JC9pO2Z1bmN0aW9uIGlzVmFsaWRUcmFjZUlkKGUpe3JldHVybiBvLnRlc3QoZSkmJmUhPT1uLklOVkFMSURfVFJBQ0VJRH10LmlzVmFsaWRUcmFjZUlkPWlzVmFsaWRUcmFjZUlkO2Z1bmN0aW9uIGlzVmFsaWRTcGFuSWQoZSl7cmV0dXJuIGkudGVzdChlKSYmZSE9PW4uSU5WQUxJRF9TUEFOSUR9dC5pc1ZhbGlkU3BhbklkPWlzVmFsaWRTcGFuSWQ7ZnVuY3Rpb24gaXNTcGFuQ29udGV4dFZhbGlkKGUpe3JldHVybiBpc1ZhbGlkVHJhY2VJZChlLnRyYWNlSWQpJiZpc1ZhbGlkU3BhbklkKGUuc3BhbklkKX10LmlzU3BhbkNvbnRleHRWYWxpZD1pc1NwYW5Db250ZXh0VmFsaWQ7ZnVuY3Rpb24gd3JhcFNwYW5Db250ZXh0KGUpe3JldHVybiBuZXcgYS5Ob25SZWNvcmRpbmdTcGFuKGUpfXQud3JhcFNwYW5Db250ZXh0PXdyYXBTcGFuQ29udGV4dH0sODQ3OihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlNwYW5TdGF0dXNDb2RlPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiVU5TRVRcIl09MF09XCJVTlNFVFwiO2VbZVtcIk9LXCJdPTFdPVwiT0tcIjtlW2VbXCJFUlJPUlwiXT0yXT1cIkVSUk9SXCJ9KShyPXQuU3BhblN0YXR1c0NvZGV8fCh0LlNwYW5TdGF0dXNDb2RlPXt9KSl9LDQ3NTooZSx0KT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFwiX19lc01vZHVsZVwiLHt2YWx1ZTp0cnVlfSk7dC5UcmFjZUZsYWdzPXZvaWQgMDt2YXIgcjsoZnVuY3Rpb24oZSl7ZVtlW1wiTk9ORVwiXT0wXT1cIk5PTkVcIjtlW2VbXCJTQU1QTEVEXCJdPTFdPVwiU0FNUExFRFwifSkocj10LlRyYWNlRmxhZ3N8fCh0LlRyYWNlRmxhZ3M9e30pKX0sNTIxOihlLHQpPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTt0LlZFUlNJT049dm9pZCAwO3QuVkVSU0lPTj1cIjEuNi4wXCJ9fTt2YXIgdD17fTtmdW5jdGlvbiBfX25jY3dwY2tfcmVxdWlyZV9fKHIpe3ZhciBuPXRbcl07aWYobiE9PXVuZGVmaW5lZCl7cmV0dXJuIG4uZXhwb3J0c312YXIgYT10W3JdPXtleHBvcnRzOnt9fTt2YXIgbz10cnVlO3RyeXtlW3JdLmNhbGwoYS5leHBvcnRzLGEsYS5leHBvcnRzLF9fbmNjd3Bja19yZXF1aXJlX18pO289ZmFsc2V9ZmluYWxseXtpZihvKWRlbGV0ZSB0W3JdfXJldHVybiBhLmV4cG9ydHN9aWYodHlwZW9mIF9fbmNjd3Bja19yZXF1aXJlX18hPT1cInVuZGVmaW5lZFwiKV9fbmNjd3Bja19yZXF1aXJlX18uYWI9X19kaXJuYW1lK1wiL1wiO3ZhciByPXt9OygoKT0+e3ZhciBlPXI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOnRydWV9KTtlLnRyYWNlPWUucHJvcGFnYXRpb249ZS5tZXRyaWNzPWUuZGlhZz1lLmNvbnRleHQ9ZS5JTlZBTElEX1NQQU5fQ09OVEVYVD1lLklOVkFMSURfVFJBQ0VJRD1lLklOVkFMSURfU1BBTklEPWUuaXNWYWxpZFNwYW5JZD1lLmlzVmFsaWRUcmFjZUlkPWUuaXNTcGFuQ29udGV4dFZhbGlkPWUuY3JlYXRlVHJhY2VTdGF0ZT1lLlRyYWNlRmxhZ3M9ZS5TcGFuU3RhdHVzQ29kZT1lLlNwYW5LaW5kPWUuU2FtcGxpbmdEZWNpc2lvbj1lLlByb3h5VHJhY2VyUHJvdmlkZXI9ZS5Qcm94eVRyYWNlcj1lLmRlZmF1bHRUZXh0TWFwU2V0dGVyPWUuZGVmYXVsdFRleHRNYXBHZXR0ZXI9ZS5WYWx1ZVR5cGU9ZS5jcmVhdGVOb29wTWV0ZXI9ZS5EaWFnTG9nTGV2ZWw9ZS5EaWFnQ29uc29sZUxvZ2dlcj1lLlJPT1RfQ09OVEVYVD1lLmNyZWF0ZUNvbnRleHRLZXk9ZS5iYWdnYWdlRW50cnlNZXRhZGF0YUZyb21TdHJpbmc9dm9pZCAwO3ZhciB0PV9fbmNjd3Bja19yZXF1aXJlX18oMzY5KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImJhZ2dhZ2VFbnRyeU1ldGFkYXRhRnJvbVN0cmluZ1wiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nfX0pO3ZhciBuPV9fbmNjd3Bja19yZXF1aXJlX18oNzgwKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImNyZWF0ZUNvbnRleHRLZXlcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBuLmNyZWF0ZUNvbnRleHRLZXl9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJST09UX0NPTlRFWFRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBuLlJPT1RfQ09OVEVYVH19KTt2YXIgYT1fX25jY3dwY2tfcmVxdWlyZV9fKDk3Mik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJEaWFnQ29uc29sZUxvZ2dlclwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGEuRGlhZ0NvbnNvbGVMb2dnZXJ9fSk7dmFyIG89X19uY2N3cGNrX3JlcXVpcmVfXyg5NTcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiRGlhZ0xvZ0xldmVsXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gby5EaWFnTG9nTGV2ZWx9fSk7dmFyIGk9X19uY2N3cGNrX3JlcXVpcmVfXygxMDIpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiY3JlYXRlTm9vcE1ldGVyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaS5jcmVhdGVOb29wTWV0ZXJ9fSk7dmFyIGM9X19uY2N3cGNrX3JlcXVpcmVfXyg5MDEpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiVmFsdWVUeXBlXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYy5WYWx1ZVR5cGV9fSk7dmFyIHM9X19uY2N3cGNrX3JlcXVpcmVfXygxOTQpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiZGVmYXVsdFRleHRNYXBHZXR0ZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBzLmRlZmF1bHRUZXh0TWFwR2V0dGVyfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiZGVmYXVsdFRleHRNYXBTZXR0ZXJcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBzLmRlZmF1bHRUZXh0TWFwU2V0dGVyfX0pO3ZhciB1PV9fbmNjd3Bja19yZXF1aXJlX18oMTI1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlByb3h5VHJhY2VyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdS5Qcm94eVRyYWNlcn19KTt2YXIgbD1fX25jY3dwY2tfcmVxdWlyZV9fKDg0Nik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJQcm94eVRyYWNlclByb3ZpZGVyXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbC5Qcm94eVRyYWNlclByb3ZpZGVyfX0pO3ZhciBnPV9fbmNjd3Bja19yZXF1aXJlX18oOTk2KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlNhbXBsaW5nRGVjaXNpb25cIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBnLlNhbXBsaW5nRGVjaXNpb259fSk7dmFyIHA9X19uY2N3cGNrX3JlcXVpcmVfXygzNTcpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiU3BhbktpbmRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBwLlNwYW5LaW5kfX0pO3ZhciBkPV9fbmNjd3Bja19yZXF1aXJlX18oODQ3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIlNwYW5TdGF0dXNDb2RlXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZC5TcGFuU3RhdHVzQ29kZX19KTt2YXIgXz1fX25jY3dwY2tfcmVxdWlyZV9fKDQ3NSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJUcmFjZUZsYWdzXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gXy5UcmFjZUZsYWdzfX0pO3ZhciBmPV9fbmNjd3Bja19yZXF1aXJlX18oOTgpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiY3JlYXRlVHJhY2VTdGF0ZVwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGYuY3JlYXRlVHJhY2VTdGF0ZX19KTt2YXIgYj1fX25jY3dwY2tfcmVxdWlyZV9fKDEzOSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJpc1NwYW5Db250ZXh0VmFsaWRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiLmlzU3BhbkNvbnRleHRWYWxpZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImlzVmFsaWRUcmFjZUlkXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYi5pc1ZhbGlkVHJhY2VJZH19KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImlzVmFsaWRTcGFuSWRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBiLmlzVmFsaWRTcGFuSWR9fSk7dmFyIHY9X19uY2N3cGNrX3JlcXVpcmVfXyg0NzYpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiSU5WQUxJRF9TUEFOSURcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiB2LklOVkFMSURfU1BBTklEfX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwiSU5WQUxJRF9UUkFDRUlEXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdi5JTlZBTElEX1RSQUNFSUR9fSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJJTlZBTElEX1NQQU5fQ09OVEVYVFwiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHYuSU5WQUxJRF9TUEFOX0NPTlRFWFR9fSk7Y29uc3QgTz1fX25jY3dwY2tfcmVxdWlyZV9fKDY3KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcImNvbnRleHRcIix7ZW51bWVyYWJsZTp0cnVlLGdldDpmdW5jdGlvbigpe3JldHVybiBPLmNvbnRleHR9fSk7Y29uc3QgUD1fX25jY3dwY2tfcmVxdWlyZV9fKDUwNik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsXCJkaWFnXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUC5kaWFnfX0pO2NvbnN0IE49X19uY2N3cGNrX3JlcXVpcmVfXyg4ODYpO09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFwibWV0cmljc1wiLHtlbnVtZXJhYmxlOnRydWUsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE4ubWV0cmljc319KTtjb25zdCBTPV9fbmNjd3Bja19yZXF1aXJlX18oOTM5KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcInByb3BhZ2F0aW9uXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUy5wcm9wYWdhdGlvbn19KTtjb25zdCBDPV9fbmNjd3Bja19yZXF1aXJlX18oODQ1KTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcInRyYWNlXCIse2VudW1lcmFibGU6dHJ1ZSxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gQy50cmFjZX19KTtlW1wiZGVmYXVsdFwiXT17Y29udGV4dDpPLmNvbnRleHQsZGlhZzpQLmRpYWcsbWV0cmljczpOLm1ldHJpY3MscHJvcGFnYXRpb246Uy5wcm9wYWdhdGlvbix0cmFjZTpDLnRyYWNlfX0pKCk7bW9kdWxlLmV4cG9ydHM9cn0pKCk7Il0sIm5hbWVzIjpbImUiLCJ0IiwiciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwidmFsdWUiLCJDb250ZXh0QVBJIiwibiIsImEiLCJvIiwiaSIsImMiLCJOb29wQ29udGV4dE1hbmFnZXIiLCJjb25zdHJ1Y3RvciIsImdldEluc3RhbmNlIiwiX2luc3RhbmNlIiwic2V0R2xvYmFsQ29udGV4dE1hbmFnZXIiLCJyZWdpc3Rlckdsb2JhbCIsIkRpYWdBUEkiLCJpbnN0YW5jZSIsImFjdGl2ZSIsIl9nZXRDb250ZXh0TWFuYWdlciIsIndpdGgiLCJiaW5kIiwiZ2V0R2xvYmFsIiwiZGlzYWJsZSIsInVucmVnaXN0ZXJHbG9iYWwiLCJfbG9nUHJveHkiLCJzZXRMb2dnZXIiLCJsb2dMZXZlbCIsIkRpYWdMb2dMZXZlbCIsIklORk8iLCJzIiwiRXJyb3IiLCJlcnJvciIsInN0YWNrIiwibWVzc2FnZSIsInUiLCJsIiwiY3JlYXRlTG9nTGV2ZWxEaWFnTG9nZ2VyIiwic3VwcHJlc3NPdmVycmlkZU1lc3NhZ2UiLCJ3YXJuIiwiY3JlYXRlQ29tcG9uZW50TG9nZ2VyIiwiRGlhZ0NvbXBvbmVudExvZ2dlciIsInZlcmJvc2UiLCJkZWJ1ZyIsImluZm8iLCJNZXRyaWNzQVBJIiwic2V0R2xvYmFsTWV0ZXJQcm92aWRlciIsImdldE1ldGVyUHJvdmlkZXIiLCJOT09QX01FVEVSX1BST1ZJREVSIiwiZ2V0TWV0ZXIiLCJQcm9wYWdhdGlvbkFQSSIsIk5vb3BUZXh0TWFwUHJvcGFnYXRvciIsImNyZWF0ZUJhZ2dhZ2UiLCJnZXRCYWdnYWdlIiwiZ2V0QWN0aXZlQmFnZ2FnZSIsInNldEJhZ2dhZ2UiLCJkZWxldGVCYWdnYWdlIiwic2V0R2xvYmFsUHJvcGFnYXRvciIsImluamVjdCIsImRlZmF1bHRUZXh0TWFwU2V0dGVyIiwiX2dldEdsb2JhbFByb3BhZ2F0b3IiLCJleHRyYWN0IiwiZGVmYXVsdFRleHRNYXBHZXR0ZXIiLCJmaWVsZHMiLCJUcmFjZUFQSSIsIl9wcm94eVRyYWNlclByb3ZpZGVyIiwiUHJveHlUcmFjZXJQcm92aWRlciIsIndyYXBTcGFuQ29udGV4dCIsImlzU3BhbkNvbnRleHRWYWxpZCIsImRlbGV0ZVNwYW4iLCJnZXRTcGFuIiwiZ2V0QWN0aXZlU3BhbiIsImdldFNwYW5Db250ZXh0Iiwic2V0U3BhbiIsInNldFNwYW5Db250ZXh0Iiwic2V0R2xvYmFsVHJhY2VyUHJvdmlkZXIiLCJzZXREZWxlZ2F0ZSIsImdldFRyYWNlclByb3ZpZGVyIiwiZ2V0VHJhY2VyIiwiY3JlYXRlQ29udGV4dEtleSIsImdldFZhbHVlIiwidW5kZWZpbmVkIiwic2V0VmFsdWUiLCJkZWxldGVWYWx1ZSIsIkJhZ2dhZ2VJbXBsIiwiX2VudHJpZXMiLCJNYXAiLCJnZXRFbnRyeSIsImdldCIsImFzc2lnbiIsImdldEFsbEVudHJpZXMiLCJBcnJheSIsImZyb20iLCJlbnRyaWVzIiwibWFwIiwic2V0RW50cnkiLCJzZXQiLCJyZW1vdmVFbnRyeSIsImRlbGV0ZSIsInJlbW92ZUVudHJpZXMiLCJjbGVhciIsImJhZ2dhZ2VFbnRyeU1ldGFkYXRhU3ltYm9sIiwiU3ltYm9sIiwiYmFnZ2FnZUVudHJ5TWV0YWRhdGFGcm9tU3RyaW5nIiwiX19UWVBFX18iLCJ0b1N0cmluZyIsImNvbnRleHQiLCJST09UX0NPTlRFWFQiLCJjYWxsIiwiZW5hYmxlIiwiZm9yIiwiQmFzZUNvbnRleHQiLCJfY3VycmVudENvbnRleHQiLCJkaWFnIiwiX25hbWVzcGFjZSIsIm5hbWVzcGFjZSIsImxvZ1Byb3h5IiwidW5zaGlmdCIsIkRpYWdDb25zb2xlTG9nZ2VyIiwiX2NvbnNvbGVGdW5jIiwiY29uc29sZSIsImxvZyIsImFwcGx5IiwibGVuZ3RoIiwiTk9ORSIsIkFMTCIsIl9maWx0ZXJGdW5jIiwiRVJST1IiLCJXQVJOIiwiREVCVUciLCJWRVJCT1NFIiwiVkVSU0lPTiIsInNwbGl0IiwiX2dsb2JhbFRoaXMiLCJ2ZXJzaW9uIiwiaXNDb21wYXRpYmxlIiwiX21ha2VDb21wYXRpYmlsaXR5Q2hlY2siLCJTZXQiLCJtYXRjaCIsIm1ham9yIiwibWlub3IiLCJwYXRjaCIsInByZXJlbGVhc2UiLCJpc0V4YWN0bWF0Y2giLCJfcmVqZWN0IiwiYWRkIiwiX2FjY2VwdCIsImhhcyIsIm1ldHJpY3MiLCJWYWx1ZVR5cGUiLCJjcmVhdGVOb29wTWV0ZXIiLCJOT09QX09CU0VSVkFCTEVfVVBfRE9XTl9DT1VOVEVSX01FVFJJQyIsIk5PT1BfT0JTRVJWQUJMRV9HQVVHRV9NRVRSSUMiLCJOT09QX09CU0VSVkFCTEVfQ09VTlRFUl9NRVRSSUMiLCJOT09QX1VQX0RPV05fQ09VTlRFUl9NRVRSSUMiLCJOT09QX0hJU1RPR1JBTV9NRVRSSUMiLCJOT09QX0NPVU5URVJfTUVUUklDIiwiTk9PUF9NRVRFUiIsIk5vb3BPYnNlcnZhYmxlVXBEb3duQ291bnRlck1ldHJpYyIsIk5vb3BPYnNlcnZhYmxlR2F1Z2VNZXRyaWMiLCJOb29wT2JzZXJ2YWJsZUNvdW50ZXJNZXRyaWMiLCJOb29wT2JzZXJ2YWJsZU1ldHJpYyIsIk5vb3BIaXN0b2dyYW1NZXRyaWMiLCJOb29wVXBEb3duQ291bnRlck1ldHJpYyIsIk5vb3BDb3VudGVyTWV0cmljIiwiTm9vcE1ldHJpYyIsIk5vb3BNZXRlciIsImNyZWF0ZUhpc3RvZ3JhbSIsImNyZWF0ZUNvdW50ZXIiLCJjcmVhdGVVcERvd25Db3VudGVyIiwiY3JlYXRlT2JzZXJ2YWJsZUdhdWdlIiwiY3JlYXRlT2JzZXJ2YWJsZUNvdW50ZXIiLCJjcmVhdGVPYnNlcnZhYmxlVXBEb3duQ291bnRlciIsImFkZEJhdGNoT2JzZXJ2YWJsZUNhbGxiYWNrIiwicmVtb3ZlQmF0Y2hPYnNlcnZhYmxlQ2FsbGJhY2siLCJyZWNvcmQiLCJhZGRDYWxsYmFjayIsInJlbW92ZUNhbGxiYWNrIiwiTm9vcE1ldGVyUHJvdmlkZXIiLCJfX2NyZWF0ZUJpbmRpbmciLCJjcmVhdGUiLCJlbnVtZXJhYmxlIiwiX19leHBvcnRTdGFyIiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJnbG9iYWxUaGlzIiwiZ2xvYmFsIiwicHJvcGFnYXRpb24iLCJrZXlzIiwidHJhY2UiLCJOb25SZWNvcmRpbmdTcGFuIiwiSU5WQUxJRF9TUEFOX0NPTlRFWFQiLCJfc3BhbkNvbnRleHQiLCJzcGFuQ29udGV4dCIsInNldEF0dHJpYnV0ZSIsInNldEF0dHJpYnV0ZXMiLCJhZGRFdmVudCIsInNldFN0YXR1cyIsInVwZGF0ZU5hbWUiLCJlbmQiLCJpc1JlY29yZGluZyIsInJlY29yZEV4Y2VwdGlvbiIsIk5vb3BUcmFjZXIiLCJzdGFydFNwYW4iLCJCb29sZWFuIiwicm9vdCIsImlzU3BhbkNvbnRleHQiLCJzdGFydEFjdGl2ZVNwYW4iLCJhcmd1bWVudHMiLCJnIiwiTm9vcFRyYWNlclByb3ZpZGVyIiwiUHJveHlUcmFjZXIiLCJfcHJvdmlkZXIiLCJuYW1lIiwib3B0aW9ucyIsIl9nZXRUcmFjZXIiLCJSZWZsZWN0IiwiX2RlbGVnYXRlIiwiZ2V0RGVsZWdhdGVUcmFjZXIiLCJnZXREZWxlZ2F0ZSIsIlNhbXBsaW5nRGVjaXNpb24iLCJUcmFjZVN0YXRlSW1wbCIsIl9pbnRlcm5hbFN0YXRlIiwiX3BhcnNlIiwiX2Nsb25lIiwidW5zZXQiLCJzZXJpYWxpemUiLCJfa2V5cyIsInJlZHVjZSIsInB1c2giLCJqb2luIiwicmV2ZXJzZSIsInRyaW0iLCJpbmRleE9mIiwic2xpY2UiLCJ2YWxpZGF0ZUtleSIsInZhbGlkYXRlVmFsdWUiLCJzaXplIiwiUmVnRXhwIiwidGVzdCIsImNyZWF0ZVRyYWNlU3RhdGUiLCJJTlZBTElEX1RSQUNFSUQiLCJJTlZBTElEX1NQQU5JRCIsInRyYWNlSWQiLCJzcGFuSWQiLCJ0cmFjZUZsYWdzIiwiVHJhY2VGbGFncyIsIlNwYW5LaW5kIiwiaXNWYWxpZFNwYW5JZCIsImlzVmFsaWRUcmFjZUlkIiwiU3BhblN0YXR1c0NvZGUiLCJfX25jY3dwY2tfcmVxdWlyZV9fIiwiZXhwb3J0cyIsImFiIiwiX19kaXJuYW1lIiwicCIsImQiLCJfIiwiZiIsImIiLCJ2IiwiTyIsIlAiLCJOIiwiUyIsIkMiLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/compiled/cookie/index.js": /*!*********************************************************!*\ !*** ./node_modules/next/dist/compiled/cookie/index.js ***! \*********************************************************/ /***/ ((module) => { "use strict"; eval("\n(()=>{\n \"use strict\";\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var e = {};\n (()=>{\n var r = e;\n /*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */ r.parse = parse;\n r.serialize = serialize;\n var i = decodeURIComponent;\n var t = encodeURIComponent;\n var a = /; */;\n var n = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n function parse(e, r) {\n if (typeof e !== \"string\") {\n throw new TypeError(\"argument str must be a string\");\n }\n var t = {};\n var n = r || {};\n var o = e.split(a);\n var s = n.decode || i;\n for(var p = 0; p < o.length; p++){\n var f = o[p];\n var u = f.indexOf(\"=\");\n if (u < 0) {\n continue;\n }\n var v = f.substr(0, u).trim();\n var c = f.substr(++u, f.length).trim();\n if ('\"' == c[0]) {\n c = c.slice(1, -1);\n }\n if (undefined == t[v]) {\n t[v] = tryDecode(c, s);\n }\n }\n return t;\n }\n function serialize(e, r, i) {\n var a = i || {};\n var o = a.encode || t;\n if (typeof o !== \"function\") {\n throw new TypeError(\"option encode is invalid\");\n }\n if (!n.test(e)) {\n throw new TypeError(\"argument name is invalid\");\n }\n var s = o(r);\n if (s && !n.test(s)) {\n throw new TypeError(\"argument val is invalid\");\n }\n var p = e + \"=\" + s;\n if (null != a.maxAge) {\n var f = a.maxAge - 0;\n if (isNaN(f) || !isFinite(f)) {\n throw new TypeError(\"option maxAge is invalid\");\n }\n p += \"; Max-Age=\" + Math.floor(f);\n }\n if (a.domain) {\n if (!n.test(a.domain)) {\n throw new TypeError(\"option domain is invalid\");\n }\n p += \"; Domain=\" + a.domain;\n }\n if (a.path) {\n if (!n.test(a.path)) {\n throw new TypeError(\"option path is invalid\");\n }\n p += \"; Path=\" + a.path;\n }\n if (a.expires) {\n if (typeof a.expires.toUTCString !== \"function\") {\n throw new TypeError(\"option expires is invalid\");\n }\n p += \"; Expires=\" + a.expires.toUTCString();\n }\n if (a.httpOnly) {\n p += \"; HttpOnly\";\n }\n if (a.secure) {\n p += \"; Secure\";\n }\n if (a.sameSite) {\n var u = typeof a.sameSite === \"string\" ? a.sameSite.toLowerCase() : a.sameSite;\n switch(u){\n case true:\n p += \"; SameSite=Strict\";\n break;\n case \"lax\":\n p += \"; SameSite=Lax\";\n break;\n case \"strict\":\n p += \"; SameSite=Strict\";\n break;\n case \"none\":\n p += \"; SameSite=None\";\n break;\n default:\n throw new TypeError(\"option sameSite is invalid\");\n }\n }\n return p;\n }\n function tryDecode(e, r) {\n try {\n return r(e);\n } catch (r) {\n return e;\n }\n }\n })();\n module.exports = e;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nvb2tpZS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiO0FBQUM7SUFBSztJQUFhLElBQUcsT0FBT0Esd0JBQXNCLGFBQVlBLG9CQUFvQkMsRUFBRSxHQUFDQyxZQUFVO0lBQUksSUFBSUMsSUFBRSxDQUFDO0lBQUc7UUFBSyxJQUFJQyxJQUFFRDtRQUN6SDs7Ozs7Q0FLQyxHQUFFQyxFQUFFQyxLQUFLLEdBQUNBO1FBQU1ELEVBQUVFLFNBQVMsR0FBQ0E7UUFBVSxJQUFJQyxJQUFFQztRQUFtQixJQUFJQyxJQUFFQztRQUFtQixJQUFJQyxJQUFFO1FBQU0sSUFBSUMsSUFBRTtRQUF3QyxTQUFTUCxNQUFNRixDQUFDLEVBQUNDLENBQUM7WUFBRSxJQUFHLE9BQU9ELE1BQUksVUFBUztnQkFBQyxNQUFNLElBQUlVLFVBQVU7WUFBZ0M7WUFBQyxJQUFJSixJQUFFLENBQUM7WUFBRSxJQUFJRyxJQUFFUixLQUFHLENBQUM7WUFBRSxJQUFJVSxJQUFFWCxFQUFFWSxLQUFLLENBQUNKO1lBQUcsSUFBSUssSUFBRUosRUFBRUssTUFBTSxJQUFFVjtZQUFFLElBQUksSUFBSVcsSUFBRSxHQUFFQSxJQUFFSixFQUFFSyxNQUFNLEVBQUNELElBQUk7Z0JBQUMsSUFBSUUsSUFBRU4sQ0FBQyxDQUFDSSxFQUFFO2dCQUFDLElBQUlHLElBQUVELEVBQUVFLE9BQU8sQ0FBQztnQkFBSyxJQUFHRCxJQUFFLEdBQUU7b0JBQUM7Z0JBQVE7Z0JBQUMsSUFBSUUsSUFBRUgsRUFBRUksTUFBTSxDQUFDLEdBQUVILEdBQUdJLElBQUk7Z0JBQUcsSUFBSUMsSUFBRU4sRUFBRUksTUFBTSxDQUFDLEVBQUVILEdBQUVELEVBQUVELE1BQU0sRUFBRU0sSUFBSTtnQkFBRyxJQUFHLE9BQUtDLENBQUMsQ0FBQyxFQUFFLEVBQUM7b0JBQUNBLElBQUVBLEVBQUVDLEtBQUssQ0FBQyxHQUFFLENBQUM7Z0JBQUU7Z0JBQUMsSUFBR0MsYUFBV25CLENBQUMsQ0FBQ2MsRUFBRSxFQUFDO29CQUFDZCxDQUFDLENBQUNjLEVBQUUsR0FBQ00sVUFBVUgsR0FBRVY7Z0JBQUU7WUFBQztZQUFDLE9BQU9QO1FBQUM7UUFBQyxTQUFTSCxVQUFVSCxDQUFDLEVBQUNDLENBQUMsRUFBQ0csQ0FBQztZQUFFLElBQUlJLElBQUVKLEtBQUcsQ0FBQztZQUFFLElBQUlPLElBQUVILEVBQUVtQixNQUFNLElBQUVyQjtZQUFFLElBQUcsT0FBT0ssTUFBSSxZQUFXO2dCQUFDLE1BQU0sSUFBSUQsVUFBVTtZQUEyQjtZQUFDLElBQUcsQ0FBQ0QsRUFBRW1CLElBQUksQ0FBQzVCLElBQUc7Z0JBQUMsTUFBTSxJQUFJVSxVQUFVO1lBQTJCO1lBQUMsSUFBSUcsSUFBRUYsRUFBRVY7WUFBRyxJQUFHWSxLQUFHLENBQUNKLEVBQUVtQixJQUFJLENBQUNmLElBQUc7Z0JBQUMsTUFBTSxJQUFJSCxVQUFVO1lBQTBCO1lBQUMsSUFBSUssSUFBRWYsSUFBRSxNQUFJYTtZQUFFLElBQUcsUUFBTUwsRUFBRXFCLE1BQU0sRUFBQztnQkFBQyxJQUFJWixJQUFFVCxFQUFFcUIsTUFBTSxHQUFDO2dCQUFFLElBQUdDLE1BQU1iLE1BQUksQ0FBQ2MsU0FBU2QsSUFBRztvQkFBQyxNQUFNLElBQUlQLFVBQVU7Z0JBQTJCO2dCQUFDSyxLQUFHLGVBQWFpQixLQUFLQyxLQUFLLENBQUNoQjtZQUFFO1lBQUMsSUFBR1QsRUFBRTBCLE1BQU0sRUFBQztnQkFBQyxJQUFHLENBQUN6QixFQUFFbUIsSUFBSSxDQUFDcEIsRUFBRTBCLE1BQU0sR0FBRTtvQkFBQyxNQUFNLElBQUl4QixVQUFVO2dCQUEyQjtnQkFBQ0ssS0FBRyxjQUFZUCxFQUFFMEIsTUFBTTtZQUFBO1lBQUMsSUFBRzFCLEVBQUUyQixJQUFJLEVBQUM7Z0JBQUMsSUFBRyxDQUFDMUIsRUFBRW1CLElBQUksQ0FBQ3BCLEVBQUUyQixJQUFJLEdBQUU7b0JBQUMsTUFBTSxJQUFJekIsVUFBVTtnQkFBeUI7Z0JBQUNLLEtBQUcsWUFBVVAsRUFBRTJCLElBQUk7WUFBQTtZQUFDLElBQUczQixFQUFFNEIsT0FBTyxFQUFDO2dCQUFDLElBQUcsT0FBTzVCLEVBQUU0QixPQUFPLENBQUNDLFdBQVcsS0FBRyxZQUFXO29CQUFDLE1BQU0sSUFBSTNCLFVBQVU7Z0JBQTRCO2dCQUFDSyxLQUFHLGVBQWFQLEVBQUU0QixPQUFPLENBQUNDLFdBQVc7WUFBRTtZQUFDLElBQUc3QixFQUFFOEIsUUFBUSxFQUFDO2dCQUFDdkIsS0FBRztZQUFZO1lBQUMsSUFBR1AsRUFBRStCLE1BQU0sRUFBQztnQkFBQ3hCLEtBQUc7WUFBVTtZQUFDLElBQUdQLEVBQUVnQyxRQUFRLEVBQUM7Z0JBQUMsSUFBSXRCLElBQUUsT0FBT1YsRUFBRWdDLFFBQVEsS0FBRyxXQUFTaEMsRUFBRWdDLFFBQVEsQ0FBQ0MsV0FBVyxLQUFHakMsRUFBRWdDLFFBQVE7Z0JBQUMsT0FBT3RCO29CQUFHLEtBQUs7d0JBQUtILEtBQUc7d0JBQW9CO29CQUFNLEtBQUk7d0JBQU1BLEtBQUc7d0JBQWlCO29CQUFNLEtBQUk7d0JBQVNBLEtBQUc7d0JBQW9CO29CQUFNLEtBQUk7d0JBQU9BLEtBQUc7d0JBQWtCO29CQUFNO3dCQUFRLE1BQU0sSUFBSUwsVUFBVTtnQkFBNkI7WUFBQztZQUFDLE9BQU9LO1FBQUM7UUFBQyxTQUFTVyxVQUFVMUIsQ0FBQyxFQUFDQyxDQUFDO1lBQUUsSUFBRztnQkFBQyxPQUFPQSxFQUFFRDtZQUFFLEVBQUMsT0FBTUMsR0FBRTtnQkFBQyxPQUFPRDtZQUFDO1FBQUM7SUFBQztJQUFLMEMsT0FBT0MsT0FBTyxHQUFDM0M7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL2Nvb2tpZS9pbmRleC5qcz9iMjVlIl0sInNvdXJjZXNDb250ZW50IjpbIigoKT0+e1widXNlIHN0cmljdFwiO2lmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgZT17fTsoKCk9Pnt2YXIgcj1lO1xuLyohXG4gKiBjb29raWVcbiAqIENvcHlyaWdodChjKSAyMDEyLTIwMTQgUm9tYW4gU2h0eWxtYW5cbiAqIENvcHlyaWdodChjKSAyMDE1IERvdWdsYXMgQ2hyaXN0b3BoZXIgV2lsc29uXG4gKiBNSVQgTGljZW5zZWRcbiAqL3IucGFyc2U9cGFyc2U7ci5zZXJpYWxpemU9c2VyaWFsaXplO3ZhciBpPWRlY29kZVVSSUNvbXBvbmVudDt2YXIgdD1lbmNvZGVVUklDb21wb25lbnQ7dmFyIGE9LzsgKi87dmFyIG49L15bXFx1MDAwOVxcdTAwMjAtXFx1MDA3ZVxcdTAwODAtXFx1MDBmZl0rJC87ZnVuY3Rpb24gcGFyc2UoZSxyKXtpZih0eXBlb2YgZSE9PVwic3RyaW5nXCIpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBzdHIgbXVzdCBiZSBhIHN0cmluZ1wiKX12YXIgdD17fTt2YXIgbj1yfHx7fTt2YXIgbz1lLnNwbGl0KGEpO3ZhciBzPW4uZGVjb2RlfHxpO2Zvcih2YXIgcD0wO3A8by5sZW5ndGg7cCsrKXt2YXIgZj1vW3BdO3ZhciB1PWYuaW5kZXhPZihcIj1cIik7aWYodTwwKXtjb250aW51ZX12YXIgdj1mLnN1YnN0cigwLHUpLnRyaW0oKTt2YXIgYz1mLnN1YnN0cigrK3UsZi5sZW5ndGgpLnRyaW0oKTtpZignXCInPT1jWzBdKXtjPWMuc2xpY2UoMSwtMSl9aWYodW5kZWZpbmVkPT10W3ZdKXt0W3ZdPXRyeURlY29kZShjLHMpfX1yZXR1cm4gdH1mdW5jdGlvbiBzZXJpYWxpemUoZSxyLGkpe3ZhciBhPWl8fHt9O3ZhciBvPWEuZW5jb2RlfHx0O2lmKHR5cGVvZiBvIT09XCJmdW5jdGlvblwiKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwib3B0aW9uIGVuY29kZSBpcyBpbnZhbGlkXCIpfWlmKCFuLnRlc3QoZSkpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJhcmd1bWVudCBuYW1lIGlzIGludmFsaWRcIil9dmFyIHM9byhyKTtpZihzJiYhbi50ZXN0KHMpKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXJndW1lbnQgdmFsIGlzIGludmFsaWRcIil9dmFyIHA9ZStcIj1cIitzO2lmKG51bGwhPWEubWF4QWdlKXt2YXIgZj1hLm1heEFnZS0wO2lmKGlzTmFOKGYpfHwhaXNGaW5pdGUoZikpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gbWF4QWdlIGlzIGludmFsaWRcIil9cCs9XCI7IE1heC1BZ2U9XCIrTWF0aC5mbG9vcihmKX1pZihhLmRvbWFpbil7aWYoIW4udGVzdChhLmRvbWFpbikpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gZG9tYWluIGlzIGludmFsaWRcIil9cCs9XCI7IERvbWFpbj1cIithLmRvbWFpbn1pZihhLnBhdGgpe2lmKCFuLnRlc3QoYS5wYXRoKSl7dGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBwYXRoIGlzIGludmFsaWRcIil9cCs9XCI7IFBhdGg9XCIrYS5wYXRofWlmKGEuZXhwaXJlcyl7aWYodHlwZW9mIGEuZXhwaXJlcy50b1VUQ1N0cmluZyE9PVwiZnVuY3Rpb25cIil7dGhyb3cgbmV3IFR5cGVFcnJvcihcIm9wdGlvbiBleHBpcmVzIGlzIGludmFsaWRcIil9cCs9XCI7IEV4cGlyZXM9XCIrYS5leHBpcmVzLnRvVVRDU3RyaW5nKCl9aWYoYS5odHRwT25seSl7cCs9XCI7IEh0dHBPbmx5XCJ9aWYoYS5zZWN1cmUpe3ArPVwiOyBTZWN1cmVcIn1pZihhLnNhbWVTaXRlKXt2YXIgdT10eXBlb2YgYS5zYW1lU2l0ZT09PVwic3RyaW5nXCI/YS5zYW1lU2l0ZS50b0xvd2VyQ2FzZSgpOmEuc2FtZVNpdGU7c3dpdGNoKHUpe2Nhc2UgdHJ1ZTpwKz1cIjsgU2FtZVNpdGU9U3RyaWN0XCI7YnJlYWs7Y2FzZVwibGF4XCI6cCs9XCI7IFNhbWVTaXRlPUxheFwiO2JyZWFrO2Nhc2VcInN0cmljdFwiOnArPVwiOyBTYW1lU2l0ZT1TdHJpY3RcIjticmVhaztjYXNlXCJub25lXCI6cCs9XCI7IFNhbWVTaXRlPU5vbmVcIjticmVhaztkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoXCJvcHRpb24gc2FtZVNpdGUgaXMgaW52YWxpZFwiKX19cmV0dXJuIHB9ZnVuY3Rpb24gdHJ5RGVjb2RlKGUscil7dHJ5e3JldHVybiByKGUpfWNhdGNoKHIpe3JldHVybiBlfX19KSgpO21vZHVsZS5leHBvcnRzPWV9KSgpOyJdLCJuYW1lcyI6WyJfX25jY3dwY2tfcmVxdWlyZV9fIiwiYWIiLCJfX2Rpcm5hbWUiLCJlIiwiciIsInBhcnNlIiwic2VyaWFsaXplIiwiaSIsImRlY29kZVVSSUNvbXBvbmVudCIsInQiLCJlbmNvZGVVUklDb21wb25lbnQiLCJhIiwibiIsIlR5cGVFcnJvciIsIm8iLCJzcGxpdCIsInMiLCJkZWNvZGUiLCJwIiwibGVuZ3RoIiwiZiIsInUiLCJpbmRleE9mIiwidiIsInN1YnN0ciIsInRyaW0iLCJjIiwic2xpY2UiLCJ1bmRlZmluZWQiLCJ0cnlEZWNvZGUiLCJlbmNvZGUiLCJ0ZXN0IiwibWF4QWdlIiwiaXNOYU4iLCJpc0Zpbml0ZSIsIk1hdGgiLCJmbG9vciIsImRvbWFpbiIsInBhdGgiLCJleHBpcmVzIiwidG9VVENTdHJpbmciLCJodHRwT25seSIsInNlY3VyZSIsInNhbWVTaXRlIiwidG9Mb3dlckNhc2UiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/cookie/index.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js": /*!*****************************************************************!*\ !*** ./node_modules/next/dist/compiled/path-to-regexp/index.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n/**\n * Tokenize input string.\n */ function lexer(str) {\n var tokens = [];\n var i = 0;\n while(i < str.length){\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({\n type: \"MODIFIER\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({\n type: \"ESCAPED_CHAR\",\n index: i++,\n value: str[i++]\n });\n continue;\n }\n if (char === \"{\") {\n tokens.push({\n type: \"OPEN\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n if (char === \"}\") {\n tokens.push({\n type: \"CLOSE\",\n index: i,\n value: str[i++]\n });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while(j < str.length){\n var code = str.charCodeAt(j);\n if (// `0-9`\n code >= 48 && code <= 57 || // `A-Z`\n code >= 65 && code <= 90 || // `a-z`\n code >= 97 && code <= 122 || // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name) throw new TypeError(\"Missing parameter name at \" + i);\n tokens.push({\n type: \"NAME\",\n index: i,\n value: name\n });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError('Pattern cannot start with \"?\" at ' + j);\n }\n while(j < str.length){\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n } else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \" + j);\n }\n }\n pattern += str[j++];\n }\n if (count) throw new TypeError(\"Unbalanced pattern at \" + i);\n if (!pattern) throw new TypeError(\"Missing pattern at \" + i);\n tokens.push({\n type: \"PATTERN\",\n index: i,\n value: pattern\n });\n i = j;\n continue;\n }\n tokens.push({\n type: \"CHAR\",\n index: i,\n value: str[i++]\n });\n }\n tokens.push({\n type: \"END\",\n index: i,\n value: \"\"\n });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */ function parse(str, options) {\n if (options === void 0) {\n options = {};\n }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\" + escapeString(options.delimiter || \"/#?\") + \"]+?\";\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function(type) {\n if (i < tokens.length && tokens[i].type === type) return tokens[i++].value;\n };\n var mustConsume = function(type) {\n var value = tryConsume(type);\n if (value !== undefined) return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \" + nextType + \" at \" + index + \", expected \" + type);\n };\n var consumeText = function() {\n var result = \"\";\n var value;\n // tslint:disable-next-line\n while(value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\")){\n result += value;\n }\n return result;\n };\n while(i < tokens.length){\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\nexports.parse = parse;\n/**\n * Compile a string to a template function for the path.\n */ function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\nexports.compile = compile;\n/**\n * Expose a method for transforming tokens into the path function.\n */ function tokensToFunction(tokens, options) {\n if (options === void 0) {\n options = {};\n }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function(x) {\n return x;\n } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function(token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\" + token.pattern + \")$\", reFlags);\n }\n });\n return function(data) {\n var path = \"\";\n for(var i = 0; i < tokens.length; i++){\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but got an array');\n }\n if (value.length === 0) {\n if (optional) continue;\n throw new TypeError('Expected \"' + token.name + '\" to not be empty');\n }\n for(var j = 0; j < value.length; j++){\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"');\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but got \"' + segment + '\"');\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional) continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError('Expected \"' + token.name + '\" to be ' + typeOfMessage);\n }\n return path;\n };\n}\nexports.tokensToFunction = tokensToFunction;\n/**\n * Create path match function from `path-to-regexp` spec.\n */ function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\nexports.match = match;\n/**\n * Create a path match function from `path-to-regexp` output.\n */ function regexpToFunction(re, keys, options) {\n if (options === void 0) {\n options = {};\n }\n var _a = options.decode, decode = _a === void 0 ? function(x) {\n return x;\n } : _a;\n return function(pathname) {\n var m = re.exec(pathname);\n if (!m) return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function(i) {\n // tslint:disable-next-line\n if (m[i] === undefined) return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function(value) {\n return decode(value, key);\n });\n } else {\n params[key.name] = decode(m[i], key);\n }\n };\n for(var i = 1; i < m.length; i++){\n _loop_1(i);\n }\n return {\n path: path,\n index: index,\n params: params\n };\n };\n}\nexports.regexpToFunction = regexpToFunction;\n/**\n * Escape a regular expression string.\n */ function escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */ function flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */ function regexpToRegexp(path, keys) {\n if (!keys) return path;\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n if (groups) {\n for(var i = 0; i < groups.length; i++){\n keys.push({\n name: i,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n }\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */ function arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function(path) {\n return pathToRegexp(path, keys, options).source;\n });\n return new RegExp(\"(?:\" + parts.join(\"|\") + \")\", flags(options));\n}\n/**\n * Create a path regexp from string input.\n */ function stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */ function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) {\n options = {};\n }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function(x) {\n return x;\n } : _d;\n var endsWith = \"[\" + escapeString(options.endsWith || \"\") + \"]|$\";\n var delimiter = \"[\" + escapeString(options.delimiter || \"/#?\") + \"]\";\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for(var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++){\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n } else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys) keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\" + prefix + \"((?:\" + token.pattern + \")(?:\" + suffix + prefix + \"(?:\" + token.pattern + \"))*)\" + suffix + \")\" + mod;\n } else {\n route += \"(?:\" + prefix + \"(\" + token.pattern + \")\" + suffix + \")\" + token.modifier;\n }\n } else {\n route += \"(\" + token.pattern + \")\" + token.modifier;\n }\n } else {\n route += \"(?:\" + prefix + suffix + \")\" + token.modifier;\n }\n }\n }\n if (end) {\n if (!strict) route += delimiter + \"?\";\n route += !options.endsWith ? \"$\" : \"(?=\" + endsWith + \")\";\n } else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\" ? delimiter.indexOf(endToken[endToken.length - 1]) > -1 : endToken === undefined;\n if (!strict) {\n route += \"(?:\" + delimiter + \"(?=\" + endsWith + \"))?\";\n }\n if (!isEndDelimited) {\n route += \"(?=\" + delimiter + \"|\" + endsWith + \")\";\n }\n }\n return new RegExp(route, flags(options));\n}\nexports.tokensToRegexp = tokensToRegexp;\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */ function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp) return regexpToRegexp(path, keys);\n if (Array.isArray(path)) return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\nexports.pathToRegexp = pathToRegexp; //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BhdGgtdG8tcmVnZXhwL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUFFRyxPQUFPO0FBQUssQ0FBQyxFQUFDO0FBQzdEOztDQUVDLEdBQ0QsU0FBU0MsTUFBTUMsR0FBRztJQUNkLElBQUlDLFNBQVMsRUFBRTtJQUNmLElBQUlDLElBQUk7SUFDUixNQUFPQSxJQUFJRixJQUFJRyxNQUFNLENBQUU7UUFDbkIsSUFBSUMsT0FBT0osR0FBRyxDQUFDRSxFQUFFO1FBQ2pCLElBQUlFLFNBQVMsT0FBT0EsU0FBUyxPQUFPQSxTQUFTLEtBQUs7WUFDOUNILE9BQU9JLElBQUksQ0FBQztnQkFBRUMsTUFBTTtnQkFBWUMsT0FBT0w7Z0JBQUdKLE9BQU9FLEdBQUcsQ0FBQ0UsSUFBSTtZQUFDO1lBQzFEO1FBQ0o7UUFDQSxJQUFJRSxTQUFTLE1BQU07WUFDZkgsT0FBT0ksSUFBSSxDQUFDO2dCQUFFQyxNQUFNO2dCQUFnQkMsT0FBT0w7Z0JBQUtKLE9BQU9FLEdBQUcsQ0FBQ0UsSUFBSTtZQUFDO1lBQ2hFO1FBQ0o7UUFDQSxJQUFJRSxTQUFTLEtBQUs7WUFDZEgsT0FBT0ksSUFBSSxDQUFDO2dCQUFFQyxNQUFNO2dCQUFRQyxPQUFPTDtnQkFBR0osT0FBT0UsR0FBRyxDQUFDRSxJQUFJO1lBQUM7WUFDdEQ7UUFDSjtRQUNBLElBQUlFLFNBQVMsS0FBSztZQUNkSCxPQUFPSSxJQUFJLENBQUM7Z0JBQUVDLE1BQU07Z0JBQVNDLE9BQU9MO2dCQUFHSixPQUFPRSxHQUFHLENBQUNFLElBQUk7WUFBQztZQUN2RDtRQUNKO1FBQ0EsSUFBSUUsU0FBUyxLQUFLO1lBQ2QsSUFBSUksT0FBTztZQUNYLElBQUlDLElBQUlQLElBQUk7WUFDWixNQUFPTyxJQUFJVCxJQUFJRyxNQUFNLENBQUU7Z0JBQ25CLElBQUlPLE9BQU9WLElBQUlXLFVBQVUsQ0FBQ0Y7Z0JBQzFCLElBRUEsUUFE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UTFELFNBQVNFLFNBQVMsTUFBTWUsTUFBTWQsUUFBUTtZQUMzRDtRQUNKO0lBQ0o7SUFDQSxJQUFJb0QsS0FBSztRQUNMLElBQUksQ0FBQ0gsUUFDRE0sU0FBU25FLFlBQVk7UUFDekJtRSxTQUFTLENBQUN4RSxRQUFRdUUsUUFBUSxHQUFHLE1BQU0sUUFBUUEsV0FBVztJQUMxRCxPQUNLO1FBQ0QsSUFBSUssV0FBVzNGLE1BQU0sQ0FBQ0EsT0FBT0UsTUFBTSxHQUFHLEVBQUU7UUFDeEMsSUFBSTBGLGlCQUFpQixPQUFPRCxhQUFhLFdBQ25DdkUsVUFBVVUsT0FBTyxDQUFDNkQsUUFBUSxDQUFDQSxTQUFTekYsTUFBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLElBRWxEeUYsYUFBYWpFO1FBQ3JCLElBQUksQ0FBQ3VELFFBQVE7WUFDVE0sU0FBUyxRQUFRbkUsWUFBWSxRQUFRa0UsV0FBVztRQUNwRDtRQUNBLElBQUksQ0FBQ00sZ0JBQWdCO1lBQ2pCTCxTQUFTLFFBQVFuRSxZQUFZLE1BQU1rRSxXQUFXO1FBQ2xEO0lBQ0o7SUFDQSxPQUFPLElBQUl2QyxPQUFPd0MsT0FBT2hELE1BQU14QjtBQUNuQztBQUNBbkIsc0JBQXNCLEdBQUdvRjtBQUN6Qjs7Ozs7O0NBTUMsR0FDRCxTQUFTcEIsYUFBYXJDLElBQUksRUFBRW1DLElBQUksRUFBRTNDLE9BQU87SUFDckMsSUFBSVEsZ0JBQWdCd0IsUUFDaEIsT0FBT3lCLGVBQWVqRCxNQUFNbUM7SUFDaEMsSUFBSVAsTUFBTUMsT0FBTyxDQUFDN0IsT0FDZCxPQUFPb0QsY0FBY3BELE1BQU1tQyxNQUFNM0M7SUFDckMsT0FBT2dFLGVBQWV4RCxNQUFNbUMsTUFBTTNDO0FBQ3RDO0FBQ0FuQixvQkFBb0IsR0FBR2dFLGNBQ3ZCLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3BhdGgtdG8tcmVnZXhwL2luZGV4LmpzPzdkMTIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4vKipcbiAqIFRva2VuaXplIGlucHV0IHN0cmluZy5cbiAqL1xuZnVuY3Rpb24gbGV4ZXIoc3RyKSB7XG4gICAgdmFyIHRva2VucyA9IFtdO1xuICAgIHZhciBpID0gMDtcbiAgICB3aGlsZSAoaSA8IHN0ci5sZW5ndGgpIHtcbiAgICAgICAgdmFyIGNoYXIgPSBzdHJbaV07XG4gICAgICAgIGlmIChjaGFyID09PSBcIipcIiB8fCBjaGFyID09PSBcIitcIiB8fCBjaGFyID09PSBcIj9cIikge1xuICAgICAgICAgICAgdG9rZW5zLnB1c2goeyB0eXBlOiBcIk1PRElGSUVSXCIsIGluZGV4OiBpLCB2YWx1ZTogc3RyW2krK10gfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhciA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJFU0NBUEVEX0NIQVJcIiwgaW5kZXg6IGkrKywgdmFsdWU6IHN0cltpKytdIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09IFwie1wiKSB7XG4gICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwiT1BFTlwiLCBpbmRleDogaSwgdmFsdWU6IHN0cltpKytdIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09IFwifVwiKSB7XG4gICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwiQ0xPU0VcIiwgaW5kZXg6IGksIHZhbHVlOiBzdHJbaSsrXSB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFyID09PSBcIjpcIikge1xuICAgICAgICAgICAgdmFyIG5hbWUgPSBcIlwiO1xuICAgICAgICAgICAgdmFyIGogPSBpICsgMTtcbiAgICAgICAgICAgIHdoaWxlIChqIDwgc3RyLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgIHZhciBjb2RlID0gc3RyLmNoYXJDb2RlQXQoaik7XG4gICAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIC8vIGAwLTlgXG4gICAgICAgICAgICAgICAgKGNvZGUgPj0gNDggJiYgY29kZSA8PSA1NykgfHxcbiAgICAgICAgICAgICAgICAgICAgLy8gYEEtWmBcbiAgICAgICAgICAgICAgICAgICAgKGNvZGUgPj0gNjUgJiYgY29kZSA8PSA5MCkgfHxcbiAgICAgICAgICAgICAgICAgICAgLy8gYGEtemBcbiAgICAgICAgICAgICAgICAgICAgKGNvZGUgPj0gOTcgJiYgY29kZSA8PSAxMjIpIHx8XG4gICAgICAgICAgICAgICAgICAgIC8vIGBfYFxuICAgICAgICAgICAgICAgICAgICBjb2RlID09PSA5NSkge1xuICAgICAgICAgICAgICAgICAgICBuYW1lICs9IHN0cltqKytdO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW5hbWUpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIk1pc3NpbmcgcGFyYW1ldGVyIG5hbWUgYXQgXCIgKyBpKTtcbiAgICAgICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJOQU1FXCIsIGluZGV4OiBpLCB2YWx1ZTogbmFtZSB9KTtcbiAgICAgICAgICAgIGkgPSBqO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoYXIgPT09IFwiKFwiKSB7XG4gICAgICAgICAgICB2YXIgY291bnQgPSAxO1xuICAgICAgICAgICAgdmFyIHBhdHRlcm4gPSBcIlwiO1xuICAgICAgICAgICAgdmFyIGogPSBpICsgMTtcbiAgICAgICAgICAgIGlmIChzdHJbal0gPT09IFwiP1wiKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlBhdHRlcm4gY2Fubm90IHN0YXJ0IHdpdGggXFxcIj9cXFwiIGF0IFwiICsgaik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aGlsZSAoaiA8IHN0ci5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBpZiAoc3RyW2pdID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgICAgICAgICBwYXR0ZXJuICs9IHN0cltqKytdICsgc3RyW2orK107XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAoc3RyW2pdID09PSBcIilcIikge1xuICAgICAgICAgICAgICAgICAgICBjb3VudC0tO1xuICAgICAgICAgICAgICAgICAgICBpZiAoY291bnQgPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGorKztcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHN0cltqXSA9PT0gXCIoXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY291bnQrKztcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0cltqICsgMV0gIT09IFwiP1wiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2FwdHVyaW5nIGdyb3VwcyBhcmUgbm90IGFsbG93ZWQgYXQgXCIgKyBqKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwYXR0ZXJuICs9IHN0cltqKytdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvdW50KVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmJhbGFuY2VkIHBhdHRlcm4gYXQgXCIgKyBpKTtcbiAgICAgICAgICAgIGlmICghcGF0dGVybilcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTWlzc2luZyBwYXR0ZXJuIGF0IFwiICsgaSk7XG4gICAgICAgICAgICB0b2tlbnMucHVzaCh7IHR5cGU6IFwiUEFUVEVSTlwiLCBpbmRleDogaSwgdmFsdWU6IHBhdHRlcm4gfSk7XG4gICAgICAgICAgICBpID0gajtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJDSEFSXCIsIGluZGV4OiBpLCB2YWx1ZTogc3RyW2krK10gfSk7XG4gICAgfVxuICAgIHRva2Vucy5wdXNoKHsgdHlwZTogXCJFTkRcIiwgaW5kZXg6IGksIHZhbHVlOiBcIlwiIH0pO1xuICAgIHJldHVybiB0b2tlbnM7XG59XG4vKipcbiAqIFBhcnNlIGEgc3RyaW5nIGZvciB0aGUgcmF3IHRva2Vucy5cbiAqL1xuZnVuY3Rpb24gcGFyc2Uoc3RyLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgeyBvcHRpb25zID0ge307IH1cbiAgICB2YXIgdG9rZW5zID0gbGV4ZXIoc3RyKTtcbiAgICB2YXIgX2EgPSBvcHRpb25zLnByZWZpeGVzLCBwcmVmaXhlcyA9IF9hID09PSB2b2lkIDAgPyBcIi4vXCIgOiBfYTtcbiAgICB2YXIgZGVmYXVsdFBhdHRlcm4gPSBcIlteXCIgKyBlc2NhcGVTdHJpbmcob3B0aW9ucy5kZWxpbWl0ZXIgfHwgXCIvIz9cIikgKyBcIl0rP1wiO1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICB2YXIga2V5ID0gMDtcbiAgICB2YXIgaSA9IDA7XG4gICAgdmFyIHBhdGggPSBcIlwiO1xuICAgIHZhciB0cnlDb25zdW1lID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgaWYgKGkgPCB0b2tlbnMubGVuZ3RoICYmIHRva2Vuc1tpXS50eXBlID09PSB0eXBlKVxuICAgICAgICAgICAgcmV0dXJuIHRva2Vuc1tpKytdLnZhbHVlO1xuICAgIH07XG4gICAgdmFyIG11c3RDb25zdW1lID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgdmFyIHZhbHVlID0gdHJ5Q29uc3VtZSh0eXBlKTtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICAgIHZhciBfYSA9IHRva2Vuc1tpXSwgbmV4dFR5cGUgPSBfYS50eXBlLCBpbmRleCA9IF9hLmluZGV4O1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiVW5leHBlY3RlZCBcIiArIG5leHRUeXBlICsgXCIgYXQgXCIgKyBpbmRleCArIFwiLCBleHBlY3RlZCBcIiArIHR5cGUpO1xuICAgIH07XG4gICAgdmFyIGNvbnN1bWVUZXh0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcmVzdWx0ID0gXCJcIjtcbiAgICAgICAgdmFyIHZhbHVlO1xuICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAgICAgd2hpbGUgKCh2YWx1ZSA9IHRyeUNvbnN1bWUoXCJDSEFSXCIpIHx8IHRyeUNvbnN1bWUoXCJFU0NBUEVEX0NIQVJcIikpKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIHdoaWxlIChpIDwgdG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB2YXIgY2hhciA9IHRyeUNvbnN1bWUoXCJDSEFSXCIpO1xuICAgICAgICB2YXIgbmFtZSA9IHRyeUNvbnN1bWUoXCJOQU1FXCIpO1xuICAgICAgICB2YXIgcGF0dGVybiA9IHRyeUNvbnN1bWUoXCJQQVRURVJOXCIpO1xuICAgICAgICBpZiAobmFtZSB8fCBwYXR0ZXJuKSB7XG4gICAgICAgICAgICB2YXIgcHJlZml4ID0gY2hhciB8fCBcIlwiO1xuICAgICAgICAgICAgaWYgKHByZWZpeGVzLmluZGV4T2YocHJlZml4KSA9PT0gLTEpIHtcbiAgICAgICAgICAgICAgICBwYXRoICs9IHByZWZpeDtcbiAgICAgICAgICAgICAgICBwcmVmaXggPSBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHBhdGgpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChwYXRoKTtcbiAgICAgICAgICAgICAgICBwYXRoID0gXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgICAgICAgICBuYW1lOiBuYW1lIHx8IGtleSsrLFxuICAgICAgICAgICAgICAgIHByZWZpeDogcHJlZml4LFxuICAgICAgICAgICAgICAgIHN1ZmZpeDogXCJcIixcbiAgICAgICAgICAgICAgICBwYXR0ZXJuOiBwYXR0ZXJuIHx8IGRlZmF1bHRQYXR0ZXJuLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyOiB0cnlDb25zdW1lKFwiTU9ESUZJRVJcIikgfHwgXCJcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdmFsdWUgPSBjaGFyIHx8IHRyeUNvbnN1bWUoXCJFU0NBUEVEX0NIQVJcIik7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgcGF0aCArPSB2YWx1ZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwYXRoKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChwYXRoKTtcbiAgICAgICAgICAgIHBhdGggPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvcGVuID0gdHJ5Q29uc3VtZShcIk9QRU5cIik7XG4gICAgICAgIGlmIChvcGVuKSB7XG4gICAgICAgICAgICB2YXIgcHJlZml4ID0gY29uc3VtZVRleHQoKTtcbiAgICAgICAgICAgIHZhciBuYW1lXzEgPSB0cnlDb25zdW1lKFwiTkFNRVwiKSB8fCBcIlwiO1xuICAgICAgICAgICAgdmFyIHBhdHRlcm5fMSA9IHRyeUNvbnN1bWUoXCJQQVRURVJOXCIpIHx8IFwiXCI7XG4gICAgICAgICAgICB2YXIgc3VmZml4ID0gY29uc3VtZVRleHQoKTtcbiAgICAgICAgICAgIG11c3RDb25zdW1lKFwiQ0xPU0VcIik7XG4gICAgICAgICAgICByZXN1bHQucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogbmFtZV8xIHx8IChwYXR0ZXJuXzEgPyBrZXkrKyA6IFwiXCIpLFxuICAgICAgICAgICAgICAgIHBhdHRlcm46IG5hbWVfMSAmJiAhcGF0dGVybl8xID8gZGVmYXVsdFBhdHRlcm4gOiBwYXR0ZXJuXzEsXG4gICAgICAgICAgICAgICAgcHJlZml4OiBwcmVmaXgsXG4gICAgICAgICAgICAgICAgc3VmZml4OiBzdWZmaXgsXG4gICAgICAgICAgICAgICAgbW9kaWZpZXI6IHRyeUNvbnN1bWUoXCJNT0RJRklFUlwiKSB8fCBcIlwiXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIG11c3RDb25zdW1lKFwiRU5EXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0cy5wYXJzZSA9IHBhcnNlO1xuLyoqXG4gKiBDb21waWxlIGEgc3RyaW5nIHRvIGEgdGVtcGxhdGUgZnVuY3Rpb24gZm9yIHRoZSBwYXRoLlxuICovXG5mdW5jdGlvbiBjb21waWxlKHN0ciwgb3B0aW9ucykge1xuICAgIHJldHVybiB0b2tlbnNUb0Z1bmN0aW9uKHBhcnNlKHN0ciwgb3B0aW9ucyksIG9wdGlvbnMpO1xufVxuZXhwb3J0cy5jb21waWxlID0gY29tcGlsZTtcbi8qKlxuICogRXhwb3NlIGEgbWV0aG9kIGZvciB0cmFuc2Zvcm1pbmcgdG9rZW5zIGludG8gdGhlIHBhdGggZnVuY3Rpb24uXG4gKi9cbmZ1bmN0aW9uIHRva2Vuc1RvRnVuY3Rpb24odG9rZW5zLCBvcHRpb25zKSB7XG4gICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgeyBvcHRpb25zID0ge307IH1cbiAgICB2YXIgcmVGbGFncyA9IGZsYWdzKG9wdGlvbnMpO1xuICAgIHZhciBfYSA9IG9wdGlvbnMuZW5jb2RlLCBlbmNvZGUgPSBfYSA9PT0gdm9pZCAwID8gZnVuY3Rpb24gKHgpIHsgcmV0dXJuIHg7IH0gOiBfYSwgX2IgPSBvcHRpb25zLnZhbGlkYXRlLCB2YWxpZGF0ZSA9IF9iID09PSB2b2lkIDAgPyB0cnVlIDogX2I7XG4gICAgLy8gQ29tcGlsZSBhbGwgdGhlIHRva2VucyBpbnRvIHJlZ2V4cHMuXG4gICAgdmFyIG1hdGNoZXMgPSB0b2tlbnMubWFwKGZ1bmN0aW9uICh0b2tlbikge1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFJlZ0V4cChcIl4oPzpcIiArIHRva2VuLnBhdHRlcm4gKyBcIikkXCIsIHJlRmxhZ3MpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgIHZhciBwYXRoID0gXCJcIjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIHZhciB0b2tlbiA9IHRva2Vuc1tpXTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdG9rZW4gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBwYXRoICs9IHRva2VuO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHZhbHVlID0gZGF0YSA/IGRhdGFbdG9rZW4ubmFtZV0gOiB1bmRlZmluZWQ7XG4gICAgICAgICAgICB2YXIgb3B0aW9uYWwgPSB0b2tlbi5tb2RpZmllciA9PT0gXCI/XCIgfHwgdG9rZW4ubW9kaWZpZXIgPT09IFwiKlwiO1xuICAgICAgICAgICAgdmFyIHJlcGVhdCA9IHRva2VuLm1vZGlmaWVyID09PSBcIipcIiB8fCB0b2tlbi5tb2RpZmllciA9PT0gXCIrXCI7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlcGVhdCkge1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBub3QgcmVwZWF0LCBidXQgZ290IGFuIGFycmF5XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodmFsdWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChvcHRpb25hbClcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBub3QgYmUgZW1wdHlcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgdmFsdWUubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNlZ21lbnQgPSBlbmNvZGUodmFsdWVbal0sIHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHZhbGlkYXRlICYmICFtYXRjaGVzW2ldLnRlc3Qoc2VnbWVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhbGwgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBtYXRjaCBcXFwiXCIgKyB0b2tlbi5wYXR0ZXJuICsgXCJcXFwiLCBidXQgZ290IFxcXCJcIiArIHNlZ21lbnQgKyBcIlxcXCJcIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGF0aCArPSB0b2tlbi5wcmVmaXggKyBzZWdtZW50ICsgdG9rZW4uc3VmZml4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgdmFyIHNlZ21lbnQgPSBlbmNvZGUoU3RyaW5nKHZhbHVlKSwgdG9rZW4pO1xuICAgICAgICAgICAgICAgIGlmICh2YWxpZGF0ZSAmJiAhbWF0Y2hlc1tpXS50ZXN0KHNlZ21lbnQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBcXFwiXCIgKyB0b2tlbi5uYW1lICsgXCJcXFwiIHRvIG1hdGNoIFxcXCJcIiArIHRva2VuLnBhdHRlcm4gKyBcIlxcXCIsIGJ1dCBnb3QgXFxcIlwiICsgc2VnbWVudCArIFwiXFxcIlwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcGF0aCArPSB0b2tlbi5wcmVmaXggKyBzZWdtZW50ICsgdG9rZW4uc3VmZml4O1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG9wdGlvbmFsKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgdmFyIHR5cGVPZk1lc3NhZ2UgPSByZXBlYXQgPyBcImFuIGFycmF5XCIgOiBcImEgc3RyaW5nXCI7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgXFxcIlwiICsgdG9rZW4ubmFtZSArIFwiXFxcIiB0byBiZSBcIiArIHR5cGVPZk1lc3NhZ2UpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIH07XG59XG5leHBvcnRzLnRva2Vuc1RvRnVuY3Rpb24gPSB0b2tlbnNUb0Z1bmN0aW9uO1xuLyoqXG4gKiBDcmVhdGUgcGF0aCBtYXRjaCBmdW5jdGlvbiBmcm9tIGBwYXRoLXRvLXJlZ2V4cGAgc3BlYy5cbiAqL1xuZnVuY3Rpb24gbWF0Y2goc3RyLCBvcHRpb25zKSB7XG4gICAgdmFyIGtleXMgPSBbXTtcbiAgICB2YXIgcmUgPSBwYXRoVG9SZWdleHAoc3RyLCBrZXlzLCBvcHRpb25zKTtcbiAgICByZXR1cm4gcmVnZXhwVG9GdW5jdGlvbihyZSwga2V5cywgb3B0aW9ucyk7XG59XG5leHBvcnRzLm1hdGNoID0gbWF0Y2g7XG4vKipcbiAqIENyZWF0ZSBhIHBhdGggbWF0Y2ggZnVuY3Rpb24gZnJvbSBgcGF0aC10by1yZWdleHBgIG91dHB1dC5cbiAqL1xuZnVuY3Rpb24gcmVnZXhwVG9GdW5jdGlvbihyZSwga2V5cywgb3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIHsgb3B0aW9ucyA9IHt9OyB9XG4gICAgdmFyIF9hID0gb3B0aW9ucy5kZWNvZGUsIGRlY29kZSA9IF9hID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoeCkgeyByZXR1cm4geDsgfSA6IF9hO1xuICAgIHJldHVybiBmdW5jdGlvbiAocGF0aG5hbWUpIHtcbiAgICAgICAgdmFyIG0gPSByZS5leGVjKHBhdGhuYW1lKTtcbiAgICAgICAgaWYgKCFtKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB2YXIgcGF0aCA9IG1bMF0sIGluZGV4ID0gbS5pbmRleDtcbiAgICAgICAgdmFyIHBhcmFtcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICAgIHZhciBfbG9vcF8xID0gZnVuY3Rpb24gKGkpIHtcbiAgICAgICAgICAgIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICAgICAgICAgICAgaWYgKG1baV0gPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICByZXR1cm4gXCJjb250aW51ZVwiO1xuICAgICAgICAgICAgdmFyIGtleSA9IGtleXNbaSAtIDFdO1xuICAgICAgICAgICAgaWYgKGtleS5tb2RpZmllciA9PT0gXCIqXCIgfHwga2V5Lm1vZGlmaWVyID09PSBcIitcIikge1xuICAgICAgICAgICAgICAgIHBhcmFtc1trZXkubmFtZV0gPSBtW2ldLnNwbGl0KGtleS5wcmVmaXggKyBrZXkuc3VmZml4KS5tYXAoZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBkZWNvZGUodmFsdWUsIGtleSk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJhbXNba2V5Lm5hbWVdID0gZGVjb2RlKG1baV0sIGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGZvciAodmFyIGkgPSAxOyBpIDwgbS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgX2xvb3BfMShpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4geyBwYXRoOiBwYXRoLCBpbmRleDogaW5kZXgsIHBhcmFtczogcGFyYW1zIH07XG4gICAgfTtcbn1cbmV4cG9ydHMucmVnZXhwVG9GdW5jdGlvbiA9IHJlZ2V4cFRvRnVuY3Rpb247XG4vKipcbiAqIEVzY2FwZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVN0cmluZyhzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoLyhbLisqPz1eIToke30oKVtcXF18L1xcXFxdKS9nLCBcIlxcXFwkMVwiKTtcbn1cbi8qKlxuICogR2V0IHRoZSBmbGFncyBmb3IgYSByZWdleHAgZnJvbSB0aGUgb3B0aW9ucy5cbiAqL1xuZnVuY3Rpb24gZmxhZ3Mob3B0aW9ucykge1xuICAgIHJldHVybiBvcHRpb25zICYmIG9wdGlvbnMuc2Vuc2l0aXZlID8gXCJcIiA6IFwiaVwiO1xufVxuLyoqXG4gKiBQdWxsIG91dCBrZXlzIGZyb20gYSByZWdleHAuXG4gKi9cbmZ1bmN0aW9uIHJlZ2V4cFRvUmVnZXhwKHBhdGgsIGtleXMpIHtcbiAgICBpZiAoIWtleXMpXG4gICAgICAgIHJldHVybiBwYXRoO1xuICAgIC8vIFVzZSBhIG5lZ2F0aXZlIGxvb2thaGVhZCB0byBtYXRjaCBvbmx5IGNhcHR1cmluZyBncm91cHMuXG4gICAgdmFyIGdyb3VwcyA9IHBhdGguc291cmNlLm1hdGNoKC9cXCgoPyFcXD8pL2cpO1xuICAgIGlmIChncm91cHMpIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBncm91cHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIGtleXMucHVzaCh7XG4gICAgICAgICAgICAgICAgbmFtZTogaSxcbiAgICAgICAgICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgICAgICAgICAgc3VmZml4OiBcIlwiLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVyOiBcIlwiLFxuICAgICAgICAgICAgICAgIHBhdHRlcm46IFwiXCJcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBwYXRoO1xufVxuLyoqXG4gKiBUcmFuc2Zvcm0gYW4gYXJyYXkgaW50byBhIHJlZ2V4cC5cbiAqL1xuZnVuY3Rpb24gYXJyYXlUb1JlZ2V4cChwYXRocywga2V5cywgb3B0aW9ucykge1xuICAgIHZhciBwYXJ0cyA9IHBhdGhzLm1hcChmdW5jdGlvbiAocGF0aCkgeyByZXR1cm4gcGF0aFRvUmVnZXhwKHBhdGgsIGtleXMsIG9wdGlvbnMpLnNvdXJjZTsgfSk7XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAoXCIoPzpcIiArIHBhcnRzLmpvaW4oXCJ8XCIpICsgXCIpXCIsIGZsYWdzKG9wdGlvbnMpKTtcbn1cbi8qKlxuICogQ3JlYXRlIGEgcGF0aCByZWdleHAgZnJvbSBzdHJpbmcgaW5wdXQuXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ1RvUmVnZXhwKHBhdGgsIGtleXMsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gdG9rZW5zVG9SZWdleHAocGFyc2UocGF0aCwgb3B0aW9ucyksIGtleXMsIG9wdGlvbnMpO1xufVxuLyoqXG4gKiBFeHBvc2UgYSBmdW5jdGlvbiBmb3IgdGFraW5nIHRva2VucyBhbmQgcmV0dXJuaW5nIGEgUmVnRXhwLlxuICovXG5mdW5jdGlvbiB0b2tlbnNUb1JlZ2V4cCh0b2tlbnMsIGtleXMsIG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucyA9PT0gdm9pZCAwKSB7IG9wdGlvbnMgPSB7fTsgfVxuICAgIHZhciBfYSA9IG9wdGlvbnMuc3RyaWN0LCBzdHJpY3QgPSBfYSA9PT0gdm9pZCAwID8gZmFsc2UgOiBfYSwgX2IgPSBvcHRpb25zLnN0YXJ0LCBzdGFydCA9IF9iID09PSB2b2lkIDAgPyB0cnVlIDogX2IsIF9jID0gb3B0aW9ucy5lbmQsIGVuZCA9IF9jID09PSB2b2lkIDAgPyB0cnVlIDogX2MsIF9kID0gb3B0aW9ucy5lbmNvZGUsIGVuY29kZSA9IF9kID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoeCkgeyByZXR1cm4geDsgfSA6IF9kO1xuICAgIHZhciBlbmRzV2l0aCA9IFwiW1wiICsgZXNjYXBlU3RyaW5nKG9wdGlvbnMuZW5kc1dpdGggfHwgXCJcIikgKyBcIl18JFwiO1xuICAgIHZhciBkZWxpbWl0ZXIgPSBcIltcIiArIGVzY2FwZVN0cmluZyhvcHRpb25zLmRlbGltaXRlciB8fCBcIi8jP1wiKSArIFwiXVwiO1xuICAgIHZhciByb3V0ZSA9IHN0YXJ0ID8gXCJeXCIgOiBcIlwiO1xuICAgIC8vIEl0ZXJhdGUgb3ZlciB0aGUgdG9rZW5zIGFuZCBjcmVhdGUgb3VyIHJlZ2V4cCBzdHJpbmcuXG4gICAgZm9yICh2YXIgX2kgPSAwLCB0b2tlbnNfMSA9IHRva2VuczsgX2kgPCB0b2tlbnNfMS5sZW5ndGg7IF9pKyspIHtcbiAgICAgICAgdmFyIHRva2VuID0gdG9rZW5zXzFbX2ldO1xuICAgICAgICBpZiAodHlwZW9mIHRva2VuID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICByb3V0ZSArPSBlc2NhcGVTdHJpbmcoZW5jb2RlKHRva2VuKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YXIgcHJlZml4ID0gZXNjYXBlU3RyaW5nKGVuY29kZSh0b2tlbi5wcmVmaXgpKTtcbiAgICAgICAgICAgIHZhciBzdWZmaXggPSBlc2NhcGVTdHJpbmcoZW5jb2RlKHRva2VuLnN1ZmZpeCkpO1xuICAgICAgICAgICAgaWYgKHRva2VuLnBhdHRlcm4pIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5cylcbiAgICAgICAgICAgICAgICAgICAga2V5cy5wdXNoKHRva2VuKTtcbiAgICAgICAgICAgICAgICBpZiAocHJlZml4IHx8IHN1ZmZpeCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAodG9rZW4ubW9kaWZpZXIgPT09IFwiK1wiIHx8IHRva2VuLm1vZGlmaWVyID09PSBcIipcIikge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG1vZCA9IHRva2VuLm1vZGlmaWVyID09PSBcIipcIiA/IFwiP1wiIDogXCJcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlICs9IFwiKD86XCIgKyBwcmVmaXggKyBcIigoPzpcIiArIHRva2VuLnBhdHRlcm4gKyBcIikoPzpcIiArIHN1ZmZpeCArIHByZWZpeCArIFwiKD86XCIgKyB0b2tlbi5wYXR0ZXJuICsgXCIpKSopXCIgKyBzdWZmaXggKyBcIilcIiArIG1vZDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvdXRlICs9IFwiKD86XCIgKyBwcmVmaXggKyBcIihcIiArIHRva2VuLnBhdHRlcm4gKyBcIilcIiArIHN1ZmZpeCArIFwiKVwiICsgdG9rZW4ubW9kaWZpZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlICs9IFwiKFwiICsgdG9rZW4ucGF0dGVybiArIFwiKVwiICsgdG9rZW4ubW9kaWZpZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcm91dGUgKz0gXCIoPzpcIiArIHByZWZpeCArIHN1ZmZpeCArIFwiKVwiICsgdG9rZW4ubW9kaWZpZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGVuZCkge1xuICAgICAgICBpZiAoIXN0cmljdClcbiAgICAgICAgICAgIHJvdXRlICs9IGRlbGltaXRlciArIFwiP1wiO1xuICAgICAgICByb3V0ZSArPSAhb3B0aW9ucy5lbmRzV2l0aCA/IFwiJFwiIDogXCIoPz1cIiArIGVuZHNXaXRoICsgXCIpXCI7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgZW5kVG9rZW4gPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdO1xuICAgICAgICB2YXIgaXNFbmREZWxpbWl0ZWQgPSB0eXBlb2YgZW5kVG9rZW4gPT09IFwic3RyaW5nXCJcbiAgICAgICAgICAgID8gZGVsaW1pdGVyLmluZGV4T2YoZW5kVG9rZW5bZW5kVG9rZW4ubGVuZ3RoIC0gMV0pID4gLTFcbiAgICAgICAgICAgIDogLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lXG4gICAgICAgICAgICAgICAgZW5kVG9rZW4gPT09IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKCFzdHJpY3QpIHtcbiAgICAgICAgICAgIHJvdXRlICs9IFwiKD86XCIgKyBkZWxpbWl0ZXIgKyBcIig/PVwiICsgZW5kc1dpdGggKyBcIikpP1wiO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNFbmREZWxpbWl0ZWQpIHtcbiAgICAgICAgICAgIHJvdXRlICs9IFwiKD89XCIgKyBkZWxpbWl0ZXIgKyBcInxcIiArIGVuZHNXaXRoICsgXCIpXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG5ldyBSZWdFeHAocm91dGUsIGZsYWdzKG9wdGlvbnMpKTtcbn1cbmV4cG9ydHMudG9rZW5zVG9SZWdleHAgPSB0b2tlbnNUb1JlZ2V4cDtcbi8qKlxuICogTm9ybWFsaXplIHRoZSBnaXZlbiBwYXRoIHN0cmluZywgcmV0dXJuaW5nIGEgcmVndWxhciBleHByZXNzaW9uLlxuICpcbiAqIEFuIGVtcHR5IGFycmF5IGNhbiBiZSBwYXNzZWQgaW4gZm9yIHRoZSBrZXlzLCB3aGljaCB3aWxsIGhvbGQgdGhlXG4gKiBwbGFjZWhvbGRlciBrZXkgZGVzY3JpcHRpb25zLiBGb3IgZXhhbXBsZSwgdXNpbmcgYC91c2VyLzppZGAsIGBrZXlzYCB3aWxsXG4gKiBjb250YWluIGBbeyBuYW1lOiAnaWQnLCBkZWxpbWl0ZXI6ICcvJywgb3B0aW9uYWw6IGZhbHNlLCByZXBlYXQ6IGZhbHNlIH1dYC5cbiAqL1xuZnVuY3Rpb24gcGF0aFRvUmVnZXhwKHBhdGgsIGtleXMsIG9wdGlvbnMpIHtcbiAgICBpZiAocGF0aCBpbnN0YW5jZW9mIFJlZ0V4cClcbiAgICAgICAgcmV0dXJuIHJlZ2V4cFRvUmVnZXhwKHBhdGgsIGtleXMpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBhdGgpKVxuICAgICAgICByZXR1cm4gYXJyYXlUb1JlZ2V4cChwYXRoLCBrZXlzLCBvcHRpb25zKTtcbiAgICByZXR1cm4gc3RyaW5nVG9SZWdleHAocGF0aCwga2V5cywgb3B0aW9ucyk7XG59XG5leHBvcnRzLnBhdGhUb1JlZ2V4cCA9IHBhdGhUb1JlZ2V4cDtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImxleGVyIiwic3RyIiwidG9rZW5zIiwiaSIsImxlbmd0aCIsImNoYXIiLCJwdXNoIiwidHlwZSIsImluZGV4IiwibmFtZSIsImoiLCJjb2RlIiwiY2hhckNvZGVBdCIsIlR5cGVFcnJvciIsImNvdW50IiwicGF0dGVybiIsInBhcnNlIiwib3B0aW9ucyIsIl9hIiwicHJlZml4ZXMiLCJkZWZhdWx0UGF0dGVybiIsImVzY2FwZVN0cmluZyIsImRlbGltaXRlciIsInJlc3VsdCIsImtleSIsInBhdGgiLCJ0cnlDb25zdW1lIiwibXVzdENvbnN1bWUiLCJ1bmRlZmluZWQiLCJuZXh0VHlwZSIsImNvbnN1bWVUZXh0IiwicHJlZml4IiwiaW5kZXhPZiIsInN1ZmZpeCIsIm1vZGlmaWVyIiwib3BlbiIsIm5hbWVfMSIsInBhdHRlcm5fMSIsImNvbXBpbGUiLCJ0b2tlbnNUb0Z1bmN0aW9uIiwicmVGbGFncyIsImZsYWdzIiwiZW5jb2RlIiwieCIsIl9iIiwidmFsaWRhdGUiLCJtYXRjaGVzIiwibWFwIiwidG9rZW4iLCJSZWdFeHAiLCJkYXRhIiwib3B0aW9uYWwiLCJyZXBlYXQiLCJBcnJheSIsImlzQXJyYXkiLCJzZWdtZW50IiwidGVzdCIsIlN0cmluZyIsInR5cGVPZk1lc3NhZ2UiLCJtYXRjaCIsImtleXMiLCJyZSIsInBhdGhUb1JlZ2V4cCIsInJlZ2V4cFRvRnVuY3Rpb24iLCJkZWNvZGUiLCJwYXRobmFtZSIsIm0iLCJleGVjIiwicGFyYW1zIiwiY3JlYXRlIiwiX2xvb3BfMSIsInNwbGl0IiwicmVwbGFjZSIsInNlbnNpdGl2ZSIsInJlZ2V4cFRvUmVnZXhwIiwiZ3JvdXBzIiwic291cmNlIiwiYXJyYXlUb1JlZ2V4cCIsInBhdGhzIiwicGFydHMiLCJqb2luIiwic3RyaW5nVG9SZWdleHAiLCJ0b2tlbnNUb1JlZ2V4cCIsInN0cmljdCIsInN0YXJ0IiwiX2MiLCJlbmQiLCJfZCIsImVuZHNXaXRoIiwicm91dGUiLCJfaSIsInRva2Vuc18xIiwibW9kIiwiZW5kVG9rZW4iLCJpc0VuZERlbGltaXRlZCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("var __WEBPACK_AMD_DEFINE_RESULT__;\n(()=>{\n var i = {\n 226: function(i, e) {\n (function(o, a) {\n \"use strict\";\n var r = \"1.0.35\", t = \"\", n = \"?\", s = \"function\", b = \"undefined\", w = \"object\", l = \"string\", d = \"major\", c = \"model\", u = \"name\", p = \"type\", m = \"vendor\", f = \"version\", h = \"architecture\", v = \"console\", g = \"mobile\", k = \"tablet\", x = \"smarttv\", _ = \"wearable\", y = \"embedded\", q = 350;\n var T = \"Amazon\", S = \"Apple\", z = \"ASUS\", N = \"BlackBerry\", A = \"Browser\", C = \"Chrome\", E = \"Edge\", O = \"Firefox\", U = \"Google\", j = \"Huawei\", P = \"LG\", R = \"Microsoft\", M = \"Motorola\", B = \"Opera\", V = \"Samsung\", D = \"Sharp\", I = \"Sony\", W = \"Viera\", F = \"Xiaomi\", G = \"Zebra\", H = \"Facebook\", L = \"Chromium OS\", Z = \"Mac OS\";\n var extend = function(i, e) {\n var o = {};\n for(var a in i){\n if (e[a] && e[a].length % 2 === 0) {\n o[a] = e[a].concat(i[a]);\n } else {\n o[a] = i[a];\n }\n }\n return o;\n }, enumerize = function(i) {\n var e = {};\n for(var o = 0; o < i.length; o++){\n e[i[o].toUpperCase()] = i[o];\n }\n return e;\n }, has = function(i, e) {\n return typeof i === l ? lowerize(e).indexOf(lowerize(i)) !== -1 : false;\n }, lowerize = function(i) {\n return i.toLowerCase();\n }, majorize = function(i) {\n return typeof i === l ? i.replace(/[^\\d\\.]/g, t).split(\".\")[0] : a;\n }, trim = function(i, e) {\n if (typeof i === l) {\n i = i.replace(/^\\s\\s*/, t);\n return typeof e === b ? i : i.substring(0, q);\n }\n };\n var rgxMapper = function(i, e) {\n var o = 0, r, t, n, b, l, d;\n while(o < e.length && !l){\n var c = e[o], u = e[o + 1];\n r = t = 0;\n while(r < c.length && !l){\n if (!c[r]) {\n break;\n }\n l = c[r++].exec(i);\n if (!!l) {\n for(n = 0; n < u.length; n++){\n d = l[++t];\n b = u[n];\n if (typeof b === w && b.length > 0) {\n if (b.length === 2) {\n if (typeof b[1] == s) {\n this[b[0]] = b[1].call(this, d);\n } else {\n this[b[0]] = b[1];\n }\n } else if (b.length === 3) {\n if (typeof b[1] === s && !(b[1].exec && b[1].test)) {\n this[b[0]] = d ? b[1].call(this, d, b[2]) : a;\n } else {\n this[b[0]] = d ? d.replace(b[1], b[2]) : a;\n }\n } else if (b.length === 4) {\n this[b[0]] = d ? b[3].call(this, d.replace(b[1], b[2])) : a;\n }\n } else {\n this[b] = d ? d : a;\n }\n }\n }\n }\n o += 2;\n }\n }, strMapper = function(i, e) {\n for(var o in e){\n if (typeof e[o] === w && e[o].length > 0) {\n for(var r = 0; r < e[o].length; r++){\n if (has(e[o][r], i)) {\n return o === n ? a : o;\n }\n }\n } else if (has(e[o], i)) {\n return o === n ? a : o;\n }\n }\n return i;\n };\n var $ = {\n \"1.0\": \"/8\",\n 1.2: \"/1\",\n 1.3: \"/3\",\n \"2.0\": \"/412\",\n \"2.0.2\": \"/416\",\n \"2.0.3\": \"/417\",\n \"2.0.4\": \"/419\",\n \"?\": \"/\"\n }, X = {\n ME: \"4.90\",\n \"NT 3.11\": \"NT3.51\",\n \"NT 4.0\": \"NT4.0\",\n 2e3: \"NT 5.0\",\n XP: [\n \"NT 5.1\",\n \"NT 5.2\"\n ],\n Vista: \"NT 6.0\",\n 7: \"NT 6.1\",\n 8: \"NT 6.2\",\n 8.1: \"NT 6.3\",\n 10: [\n \"NT 6.4\",\n \"NT 10.0\"\n ],\n RT: \"ARM\"\n };\n var K = {\n browser: [\n [\n /\\b(?:crmo|crios)\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Chrome\"\n ]\n ],\n [\n /edg(?:e|ios|a)?\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Edge\"\n ]\n ],\n [\n /(opera mini)\\/([-\\w\\.]+)/i,\n /(opera [mobiletab]{3,6})\\b.+version\\/([-\\w\\.]+)/i,\n /(opera)(?:.+version\\/|[\\/ ]+)([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /opios[\\/ ]+([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B + \" Mini\"\n ]\n ],\n [\n /\\bopr\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B\n ]\n ],\n [\n /(kindle)\\/([\\w\\.]+)/i,\n /(lunascape|maxthon|netfront|jasmine|blazer)[\\/ ]?([\\w\\.]*)/i,\n /(avant |iemobile|slim)(?:browser)?[\\/ ]?([\\w\\.]*)/i,\n /(ba?idubrowser)[\\/ ]?([\\w\\.]+)/i,\n /(?:ms|\\()(ie) ([\\w\\.]+)/i,\n /(flock|rockmelt|midori|epiphany|silk|skyfire|bolt|iron|vivaldi|iridium|phantomjs|bowser|quark|qupzilla|falkon|rekonq|puffin|brave|whale(?!.+naver)|qqbrowserlite|qq|duckduckgo)\\/([-\\w\\.]+)/i,\n /(heytap|ovi)browser\\/([\\d\\.]+)/i,\n /(weibo)__([\\d\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /(?:\\buc? ?browser|(?:juc.+)ucweb)[\\/ ]?([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"UC\" + A\n ]\n ],\n [\n /microm.+\\bqbcore\\/([\\w\\.]+)/i,\n /\\bqbcore\\/([\\w\\.]+).+microm/i\n ],\n [\n f,\n [\n u,\n \"WeChat(Win) Desktop\"\n ]\n ],\n [\n /micromessenger\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"WeChat\"\n ]\n ],\n [\n /konqueror\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Konqueror\"\n ]\n ],\n [\n /trident.+rv[: ]([\\w\\.]{1,9})\\b.+like gecko/i\n ],\n [\n f,\n [\n u,\n \"IE\"\n ]\n ],\n [\n /ya(?:search)?browser\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Yandex\"\n ]\n ],\n [\n /(avast|avg)\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n /(.+)/,\n \"$1 Secure \" + A\n ],\n f\n ],\n [\n /\\bfocus\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n O + \" Focus\"\n ]\n ],\n [\n /\\bopt\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B + \" Touch\"\n ]\n ],\n [\n /coc_coc\\w+\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Coc Coc\"\n ]\n ],\n [\n /dolfin\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Dolphin\"\n ]\n ],\n [\n /coast\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n B + \" Coast\"\n ]\n ],\n [\n /miuibrowser\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"MIUI \" + A\n ]\n ],\n [\n /fxios\\/([-\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n O\n ]\n ],\n [\n /\\bqihu|(qi?ho?o?|360)browser/i\n ],\n [\n [\n u,\n \"360 \" + A\n ]\n ],\n [\n /(oculus|samsung|sailfish|huawei)browser\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n /(.+)/,\n \"$1 \" + A\n ],\n f\n ],\n [\n /(comodo_dragon)\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n /_/g,\n \" \"\n ],\n f\n ],\n [\n /(electron)\\/([\\w\\.]+) safari/i,\n /(tesla)(?: qtcarbrowser|\\/(20\\d\\d\\.[-\\w\\.]+))/i,\n /m?(qqbrowser|baiduboxapp|2345Explorer)[\\/ ]?([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /(metasr)[\\/ ]?([\\w\\.]+)/i,\n /(lbbrowser)/i,\n /\\[(linkedin)app\\]/i\n ],\n [\n u\n ],\n [\n /((?:fban\\/fbios|fb_iab\\/fb4a)(?!.+fbav)|;fbav\\/([\\w\\.]+);)/i\n ],\n [\n [\n u,\n H\n ],\n f\n ],\n [\n /(kakao(?:talk|story))[\\/ ]([\\w\\.]+)/i,\n /(naver)\\(.*?(\\d+\\.[\\w\\.]+).*\\)/i,\n /safari (line)\\/([\\w\\.]+)/i,\n /\\b(line)\\/([\\w\\.]+)\\/iab/i,\n /(chromium|instagram)[\\/ ]([-\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /\\bgsa\\/([\\w\\.]+) .*safari\\//i\n ],\n [\n f,\n [\n u,\n \"GSA\"\n ]\n ],\n [\n /musical_ly(?:.+app_?version\\/|_)([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"TikTok\"\n ]\n ],\n [\n /headlesschrome(?:\\/([\\w\\.]+)| )/i\n ],\n [\n f,\n [\n u,\n C + \" Headless\"\n ]\n ],\n [\n / wv\\).+(chrome)\\/([\\w\\.]+)/i\n ],\n [\n [\n u,\n C + \" WebView\"\n ],\n f\n ],\n [\n /droid.+ version\\/([\\w\\.]+)\\b.+(?:mobile safari|safari)/i\n ],\n [\n f,\n [\n u,\n \"Android \" + A\n ]\n ],\n [\n /(chrome|omniweb|arora|[tizenoka]{5} ?browser)\\/v?([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /version\\/([\\w\\.\\,]+) .*mobile\\/\\w+ (safari)/i\n ],\n [\n f,\n [\n u,\n \"Mobile Safari\"\n ]\n ],\n [\n /version\\/([\\w(\\.|\\,)]+) .*(mobile ?safari|safari)/i\n ],\n [\n f,\n u\n ],\n [\n /webkit.+?(mobile ?safari|safari)(\\/[\\w\\.]+)/i\n ],\n [\n u,\n [\n f,\n strMapper,\n $\n ]\n ],\n [\n /(webkit|khtml)\\/([\\w\\.]+)/i\n ],\n [\n u,\n f\n ],\n [\n /(navigator|netscape\\d?)\\/([-\\w\\.]+)/i\n ],\n [\n [\n u,\n \"Netscape\"\n ],\n f\n ],\n [\n /mobile vr; rv:([\\w\\.]+)\\).+firefox/i\n ],\n [\n f,\n [\n u,\n O + \" Reality\"\n ]\n ],\n [\n /ekiohf.+(flow)\\/([\\w\\.]+)/i,\n /(swiftfox)/i,\n /(icedragon|iceweasel|camino|chimera|fennec|maemo browser|minimo|conkeror|klar)[\\/ ]?([\\w\\.\\+]+)/i,\n /(seamonkey|k-meleon|icecat|iceape|firebird|phoenix|palemoon|basilisk|waterfox)\\/([-\\w\\.]+)$/i,\n /(firefox)\\/([\\w\\.]+)/i,\n /(mozilla)\\/([\\w\\.]+) .+rv\\:.+gecko\\/\\d+/i,\n /(polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|sleipnir|obigo|mosaic|(?:go|ice|up)[\\. ]?browser)[-\\/ ]?v?([\\w\\.]+)/i,\n /(links) \\(([\\w\\.]+)/i,\n /panasonic;(viera)/i\n ],\n [\n u,\n f\n ],\n [\n /(cobalt)\\/([\\w\\.]+)/i\n ],\n [\n u,\n [\n f,\n /master.|lts./,\n \"\"\n ]\n ]\n ],\n cpu: [\n [\n /(?:(amd|x(?:(?:86|64)[-_])?|wow|win)64)[;\\)]/i\n ],\n [\n [\n h,\n \"amd64\"\n ]\n ],\n [\n /(ia32(?=;))/i\n ],\n [\n [\n h,\n lowerize\n ]\n ],\n [\n /((?:i[346]|x)86)[;\\)]/i\n ],\n [\n [\n h,\n \"ia32\"\n ]\n ],\n [\n /\\b(aarch64|arm(v?8e?l?|_?64))\\b/i\n ],\n [\n [\n h,\n \"arm64\"\n ]\n ],\n [\n /\\b(arm(?:v[67])?ht?n?[fl]p?)\\b/i\n ],\n [\n [\n h,\n \"armhf\"\n ]\n ],\n [\n /windows (ce|mobile); ppc;/i\n ],\n [\n [\n h,\n \"arm\"\n ]\n ],\n [\n /((?:ppc|powerpc)(?:64)?)(?: mac|;|\\))/i\n ],\n [\n [\n h,\n /ower/,\n t,\n lowerize\n ]\n ],\n [\n /(sun4\\w)[;\\)]/i\n ],\n [\n [\n h,\n \"sparc\"\n ]\n ],\n [\n /((?:avr32|ia64(?=;))|68k(?=\\))|\\barm(?=v(?:[1-7]|[5-7]1)l?|;|eabi)|(?=atmel )avr|(?:irix|mips|sparc)(?:64)?\\b|pa-risc)/i\n ],\n [\n [\n h,\n lowerize\n ]\n ]\n ],\n device: [\n [\n /\\b(sch-i[89]0\\d|shw-m380s|sm-[ptx]\\w{2,4}|gt-[pn]\\d{2,4}|sgh-t8[56]9|nexus 10)/i\n ],\n [\n c,\n [\n m,\n V\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b((?:s[cgp]h|gt|sm)-\\w+|sc[g-]?[\\d]+a?|galaxy nexus)/i,\n /samsung[- ]([-\\w]+)/i,\n /sec-(sgh\\w+)/i\n ],\n [\n c,\n [\n m,\n V\n ],\n [\n p,\n g\n ]\n ],\n [\n /(?:\\/|\\()(ip(?:hone|od)[\\w, ]*)(?:\\/|;)/i\n ],\n [\n c,\n [\n m,\n S\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\((ipad);[-\\w\\),; ]+apple/i,\n /applecoremedia\\/[\\w\\.]+ \\((ipad)/i,\n /\\b(ipad)\\d\\d?,\\d\\d?[;\\]].+ios/i\n ],\n [\n c,\n [\n m,\n S\n ],\n [\n p,\n k\n ]\n ],\n [\n /(macintosh);/i\n ],\n [\n c,\n [\n m,\n S\n ]\n ],\n [\n /\\b(sh-?[altvz]?\\d\\d[a-ekm]?)/i\n ],\n [\n c,\n [\n m,\n D\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b((?:ag[rs][23]?|bah2?|sht?|btv)-a?[lw]\\d{2})\\b(?!.+d\\/s)/i\n ],\n [\n c,\n [\n m,\n j\n ],\n [\n p,\n k\n ]\n ],\n [\n /(?:huawei|honor)([-\\w ]+)[;\\)]/i,\n /\\b(nexus 6p|\\w{2,4}e?-[atu]?[ln][\\dx][012359c][adn]?)\\b(?!.+d\\/s)/i\n ],\n [\n c,\n [\n m,\n j\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(poco[\\w ]+)(?: bui|\\))/i,\n /\\b; (\\w+) build\\/hm\\1/i,\n /\\b(hm[-_ ]?note?[_ ]?(?:\\d\\w)?) bui/i,\n /\\b(redmi[\\-_ ]?(?:note|k)?[\\w_ ]+)(?: bui|\\))/i,\n /\\b(mi[-_ ]?(?:a\\d|one|one[_ ]plus|note lte|max|cc)?[_ ]?(?:\\d?\\w?)[_ ]?(?:plus|se|lite)?)(?: bui|\\))/i\n ],\n [\n [\n c,\n /_/g,\n \" \"\n ],\n [\n m,\n F\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(mi[-_ ]?(?:pad)(?:[\\w_ ]+))(?: bui|\\))/i\n ],\n [\n [\n c,\n /_/g,\n \" \"\n ],\n [\n m,\n F\n ],\n [\n p,\n k\n ]\n ],\n [\n /; (\\w+) bui.+ oppo/i,\n /\\b(cph[12]\\d{3}|p(?:af|c[al]|d\\w|e[ar])[mt]\\d0|x9007|a101op)\\b/i\n ],\n [\n c,\n [\n m,\n \"OPPO\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /vivo (\\w+)(?: bui|\\))/i,\n /\\b(v[12]\\d{3}\\w?[at])(?: bui|;)/i\n ],\n [\n c,\n [\n m,\n \"Vivo\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(rmx[12]\\d{3})(?: bui|;|\\))/i\n ],\n [\n c,\n [\n m,\n \"Realme\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(milestone|droid(?:[2-4x]| (?:bionic|x2|pro|razr))?:?( 4g)?)\\b[\\w ]+build\\//i,\n /\\bmot(?:orola)?[- ](\\w*)/i,\n /((?:moto[\\w\\(\\) ]+|xt\\d{3,4}|nexus 6)(?= bui|\\)))/i\n ],\n [\n c,\n [\n m,\n M\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(mz60\\d|xoom[2 ]{0,2}) build\\//i\n ],\n [\n c,\n [\n m,\n M\n ],\n [\n p,\n k\n ]\n ],\n [\n /((?=lg)?[vl]k\\-?\\d{3}) bui| 3\\.[-\\w; ]{10}lg?-([06cv9]{3,4})/i\n ],\n [\n c,\n [\n m,\n P\n ],\n [\n p,\n k\n ]\n ],\n [\n /(lm(?:-?f100[nv]?|-[\\w\\.]+)(?= bui|\\))|nexus [45])/i,\n /\\blg[-e;\\/ ]+((?!browser|netcast|android tv)\\w+)/i,\n /\\blg-?([\\d\\w]+) bui/i\n ],\n [\n c,\n [\n m,\n P\n ],\n [\n p,\n g\n ]\n ],\n [\n /(ideatab[-\\w ]+)/i,\n /lenovo ?(s[56]000[-\\w]+|tab(?:[\\w ]+)|yt[-\\d\\w]{6}|tb[-\\d\\w]{6})/i\n ],\n [\n c,\n [\n m,\n \"Lenovo\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(?:maemo|nokia).*(n900|lumia \\d+)/i,\n /nokia[-_ ]?([-\\w\\.]*)/i\n ],\n [\n [\n c,\n /_/g,\n \" \"\n ],\n [\n m,\n \"Nokia\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(pixel c)\\b/i\n ],\n [\n c,\n [\n m,\n U\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid.+; (pixel[\\daxl ]{0,6})(?: bui|\\))/i\n ],\n [\n c,\n [\n m,\n U\n ],\n [\n p,\n g\n ]\n ],\n [\n /droid.+ (a?\\d[0-2]{2}so|[c-g]\\d{4}|so[-gl]\\w+|xq-a\\w[4-7][12])(?= bui|\\).+chrome\\/(?![1-6]{0,1}\\d\\.))/i\n ],\n [\n c,\n [\n m,\n I\n ],\n [\n p,\n g\n ]\n ],\n [\n /sony tablet [ps]/i,\n /\\b(?:sony)?sgp\\w+(?: bui|\\))/i\n ],\n [\n [\n c,\n \"Xperia Tablet\"\n ],\n [\n m,\n I\n ],\n [\n p,\n k\n ]\n ],\n [\n / (kb2005|in20[12]5|be20[12][59])\\b/i,\n /(?:one)?(?:plus)? (a\\d0\\d\\d)(?: b|\\))/i\n ],\n [\n c,\n [\n m,\n \"OnePlus\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(alexa)webm/i,\n /(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i,\n /(kf[a-z]+)( bui|\\)).+silk\\//i\n ],\n [\n c,\n [\n m,\n T\n ],\n [\n p,\n k\n ]\n ],\n [\n /((?:sd|kf)[0349hijorstuw]+)( bui|\\)).+silk\\//i\n ],\n [\n [\n c,\n /(.+)/g,\n \"Fire Phone $1\"\n ],\n [\n m,\n T\n ],\n [\n p,\n g\n ]\n ],\n [\n /(playbook);[-\\w\\),; ]+(rim)/i\n ],\n [\n c,\n m,\n [\n p,\n k\n ]\n ],\n [\n /\\b((?:bb[a-f]|st[hv])100-\\d)/i,\n /\\(bb10; (\\w+)/i\n ],\n [\n c,\n [\n m,\n N\n ],\n [\n p,\n g\n ]\n ],\n [\n /(?:\\b|asus_)(transfo[prime ]{4,10} \\w+|eeepc|slider \\w+|nexus 7|padfone|p00[cj])/i\n ],\n [\n c,\n [\n m,\n z\n ],\n [\n p,\n k\n ]\n ],\n [\n / (z[bes]6[027][012][km][ls]|zenfone \\d\\w?)\\b/i\n ],\n [\n c,\n [\n m,\n z\n ],\n [\n p,\n g\n ]\n ],\n [\n /(nexus 9)/i\n ],\n [\n c,\n [\n m,\n \"HTC\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(htc)[-;_ ]{1,2}([\\w ]+(?=\\)| bui)|\\w+)/i,\n /(zte)[- ]([\\w ]+?)(?: bui|\\/|\\))/i,\n /(alcatel|geeksphone|nexian|panasonic(?!(?:;|\\.))|sony(?!-bra))[-_ ]?([-\\w]*)/i\n ],\n [\n m,\n [\n c,\n /_/g,\n \" \"\n ],\n [\n p,\n g\n ]\n ],\n [\n /droid.+; ([ab][1-7]-?[0178a]\\d\\d?)/i\n ],\n [\n c,\n [\n m,\n \"Acer\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid.+; (m[1-5] note) bui/i,\n /\\bmz-([-\\w]{2,})/i\n ],\n [\n c,\n [\n m,\n \"Meizu\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(blackberry|benq|palm(?=\\-)|sonyericsson|acer|asus|dell|meizu|motorola|polytron)[-_ ]?([-\\w]*)/i,\n /(hp) ([\\w ]+\\w)/i,\n /(asus)-?(\\w+)/i,\n /(microsoft); (lumia[\\w ]+)/i,\n /(lenovo)[-_ ]?([-\\w]+)/i,\n /(jolla)/i,\n /(oppo) ?([\\w ]+) bui/i\n ],\n [\n m,\n c,\n [\n p,\n g\n ]\n ],\n [\n /(kobo)\\s(ereader|touch)/i,\n /(archos) (gamepad2?)/i,\n /(hp).+(touchpad(?!.+tablet)|tablet)/i,\n /(kindle)\\/([\\w\\.]+)/i,\n /(nook)[\\w ]+build\\/(\\w+)/i,\n /(dell) (strea[kpr\\d ]*[\\dko])/i,\n /(le[- ]+pan)[- ]+(\\w{1,9}) bui/i,\n /(trinity)[- ]*(t\\d{3}) bui/i,\n /(gigaset)[- ]+(q\\w{1,9}) bui/i,\n /(vodafone) ([\\w ]+)(?:\\)| bui)/i\n ],\n [\n m,\n c,\n [\n p,\n k\n ]\n ],\n [\n /(surface duo)/i\n ],\n [\n c,\n [\n m,\n R\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid [\\d\\.]+; (fp\\du?)(?: b|\\))/i\n ],\n [\n c,\n [\n m,\n \"Fairphone\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /(u304aa)/i\n ],\n [\n c,\n [\n m,\n \"AT&T\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\bsie-(\\w*)/i\n ],\n [\n c,\n [\n m,\n \"Siemens\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(rct\\w+) b/i\n ],\n [\n c,\n [\n m,\n \"RCA\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(venue[\\d ]{2,7}) b/i\n ],\n [\n c,\n [\n m,\n \"Dell\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(q(?:mv|ta)\\w+) b/i\n ],\n [\n c,\n [\n m,\n \"Verizon\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(?:barnes[& ]+noble |bn[rt])([\\w\\+ ]*) b/i\n ],\n [\n c,\n [\n m,\n \"Barnes & Noble\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(tm\\d{3}\\w+) b/i\n ],\n [\n c,\n [\n m,\n \"NuVision\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(k88) b/i\n ],\n [\n c,\n [\n m,\n \"ZTE\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(nx\\d{3}j) b/i\n ],\n [\n c,\n [\n m,\n \"ZTE\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(gen\\d{3}) b.+49h/i\n ],\n [\n c,\n [\n m,\n \"Swiss\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(zur\\d{3}) b/i\n ],\n [\n c,\n [\n m,\n \"Swiss\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b((zeki)?tb.*\\b) b/i\n ],\n [\n c,\n [\n m,\n \"Zeki\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b([yr]\\d{2}) b/i,\n /\\b(dragon[- ]+touch |dt)(\\w{5}) b/i\n ],\n [\n [\n m,\n \"Dragon Touch\"\n ],\n c,\n [\n p,\n k\n ]\n ],\n [\n /\\b(ns-?\\w{0,9}) b/i\n ],\n [\n c,\n [\n m,\n \"Insignia\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b((nxa|next)-?\\w{0,9}) b/i\n ],\n [\n c,\n [\n m,\n \"NextBook\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(xtreme\\_)?(v(1[045]|2[015]|[3469]0|7[05])) b/i\n ],\n [\n [\n m,\n \"Voice\"\n ],\n c,\n [\n p,\n g\n ]\n ],\n [\n /\\b(lvtel\\-)?(v1[12]) b/i\n ],\n [\n [\n m,\n \"LvTel\"\n ],\n c,\n [\n p,\n g\n ]\n ],\n [\n /\\b(ph-1) /i\n ],\n [\n c,\n [\n m,\n \"Essential\"\n ],\n [\n p,\n g\n ]\n ],\n [\n /\\b(v(100md|700na|7011|917g).*\\b) b/i\n ],\n [\n c,\n [\n m,\n \"Envizen\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\b(trio[-\\w\\. ]+) b/i\n ],\n [\n c,\n [\n m,\n \"MachSpeed\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /\\btu_(1491) b/i\n ],\n [\n c,\n [\n m,\n \"Rotor\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(shield[\\w ]+) b/i\n ],\n [\n c,\n [\n m,\n \"Nvidia\"\n ],\n [\n p,\n k\n ]\n ],\n [\n /(sprint) (\\w+)/i\n ],\n [\n m,\n c,\n [\n p,\n g\n ]\n ],\n [\n /(kin\\.[onetw]{3})/i\n ],\n [\n [\n c,\n /\\./g,\n \" \"\n ],\n [\n m,\n R\n ],\n [\n p,\n g\n ]\n ],\n [\n /droid.+; (cc6666?|et5[16]|mc[239][23]x?|vc8[03]x?)\\)/i\n ],\n [\n c,\n [\n m,\n G\n ],\n [\n p,\n k\n ]\n ],\n [\n /droid.+; (ec30|ps20|tc[2-8]\\d[kx])\\)/i\n ],\n [\n c,\n [\n m,\n G\n ],\n [\n p,\n g\n ]\n ],\n [\n /smart-tv.+(samsung)/i\n ],\n [\n m,\n [\n p,\n x\n ]\n ],\n [\n /hbbtv.+maple;(\\d+)/i\n ],\n [\n [\n c,\n /^/,\n \"SmartTV\"\n ],\n [\n m,\n V\n ],\n [\n p,\n x\n ]\n ],\n [\n /(nux; netcast.+smarttv|lg (netcast\\.tv-201\\d|android tv))/i\n ],\n [\n [\n m,\n P\n ],\n [\n p,\n x\n ]\n ],\n [\n /(apple) ?tv/i\n ],\n [\n m,\n [\n c,\n S + \" TV\"\n ],\n [\n p,\n x\n ]\n ],\n [\n /crkey/i\n ],\n [\n [\n c,\n C + \"cast\"\n ],\n [\n m,\n U\n ],\n [\n p,\n x\n ]\n ],\n [\n /droid.+aft(\\w)( bui|\\))/i\n ],\n [\n c,\n [\n m,\n T\n ],\n [\n p,\n x\n ]\n ],\n [\n /\\(dtv[\\);].+(aquos)/i,\n /(aquos-tv[\\w ]+)\\)/i\n ],\n [\n c,\n [\n m,\n D\n ],\n [\n p,\n x\n ]\n ],\n [\n /(bravia[\\w ]+)( bui|\\))/i\n ],\n [\n c,\n [\n m,\n I\n ],\n [\n p,\n x\n ]\n ],\n [\n /(mitv-\\w{5}) bui/i\n ],\n [\n c,\n [\n m,\n F\n ],\n [\n p,\n x\n ]\n ],\n [\n /Hbbtv.*(technisat) (.*);/i\n ],\n [\n m,\n c,\n [\n p,\n x\n ]\n ],\n [\n /\\b(roku)[\\dx]*[\\)\\/]((?:dvp-)?[\\d\\.]*)/i,\n /hbbtv\\/\\d+\\.\\d+\\.\\d+ +\\([\\w\\+ ]*; *([\\w\\d][^;]*);([^;]*)/i\n ],\n [\n [\n m,\n trim\n ],\n [\n c,\n trim\n ],\n [\n p,\n x\n ]\n ],\n [\n /\\b(android tv|smart[- ]?tv|opera tv|tv; rv:)\\b/i\n ],\n [\n [\n p,\n x\n ]\n ],\n [\n /(ouya)/i,\n /(nintendo) ([wids3utch]+)/i\n ],\n [\n m,\n c,\n [\n p,\n v\n ]\n ],\n [\n /droid.+; (shield) bui/i\n ],\n [\n c,\n [\n m,\n \"Nvidia\"\n ],\n [\n p,\n v\n ]\n ],\n [\n /(playstation [345portablevi]+)/i\n ],\n [\n c,\n [\n m,\n I\n ],\n [\n p,\n v\n ]\n ],\n [\n /\\b(xbox(?: one)?(?!; xbox))[\\); ]/i\n ],\n [\n c,\n [\n m,\n R\n ],\n [\n p,\n v\n ]\n ],\n [\n /((pebble))app/i\n ],\n [\n m,\n c,\n [\n p,\n _\n ]\n ],\n [\n /(watch)(?: ?os[,\\/]|\\d,\\d\\/)[\\d\\.]+/i\n ],\n [\n c,\n [\n m,\n S\n ],\n [\n p,\n _\n ]\n ],\n [\n /droid.+; (glass) \\d/i\n ],\n [\n c,\n [\n m,\n U\n ],\n [\n p,\n _\n ]\n ],\n [\n /droid.+; (wt63?0{2,3})\\)/i\n ],\n [\n c,\n [\n m,\n G\n ],\n [\n p,\n _\n ]\n ],\n [\n /(quest( 2| pro)?)/i\n ],\n [\n c,\n [\n m,\n H\n ],\n [\n p,\n _\n ]\n ],\n [\n /(tesla)(?: qtcarbrowser|\\/[-\\w\\.]+)/i\n ],\n [\n m,\n [\n p,\n y\n ]\n ],\n [\n /(aeobc)\\b/i\n ],\n [\n c,\n [\n m,\n T\n ],\n [\n p,\n y\n ]\n ],\n [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+? mobile safari/i\n ],\n [\n c,\n [\n p,\n g\n ]\n ],\n [\n /droid .+?; ([^;]+?)(?: bui|\\) applew).+?(?! mobile) safari/i\n ],\n [\n c,\n [\n p,\n k\n ]\n ],\n [\n /\\b((tablet|tab)[;\\/]|focus\\/\\d(?!.+mobile))/i\n ],\n [\n [\n p,\n k\n ]\n ],\n [\n /(phone|mobile(?:[;\\/]| [ \\w\\/\\.]*safari)|pda(?=.+windows ce))/i\n ],\n [\n [\n p,\n g\n ]\n ],\n [\n /(android[-\\w\\. ]{0,9});.+buil/i\n ],\n [\n c,\n [\n m,\n \"Generic\"\n ]\n ]\n ],\n engine: [\n [\n /windows.+ edge\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n E + \"HTML\"\n ]\n ],\n [\n /webkit\\/537\\.36.+chrome\\/(?!27)([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"Blink\"\n ]\n ],\n [\n /(presto)\\/([\\w\\.]+)/i,\n /(webkit|trident|netfront|netsurf|amaya|lynx|w3m|goanna)\\/([\\w\\.]+)/i,\n /ekioh(flow)\\/([\\w\\.]+)/i,\n /(khtml|tasman|links)[\\/ ]\\(?([\\w\\.]+)/i,\n /(icab)[\\/ ]([23]\\.[\\d\\.]+)/i,\n /\\b(libweb)/i\n ],\n [\n u,\n f\n ],\n [\n /rv\\:([\\w\\.]{1,9})\\b.+(gecko)/i\n ],\n [\n f,\n u\n ]\n ],\n os: [\n [\n /microsoft (windows) (vista|xp)/i\n ],\n [\n u,\n f\n ],\n [\n /(windows) nt 6\\.2; (arm)/i,\n /(windows (?:phone(?: os)?|mobile))[\\/ ]?([\\d\\.\\w ]*)/i,\n /(windows)[\\/ ]?([ntce\\d\\. ]+\\w)(?!.+xbox)/i\n ],\n [\n u,\n [\n f,\n strMapper,\n X\n ]\n ],\n [\n /(win(?=3|9|n)|win 9x )([nt\\d\\.]+)/i\n ],\n [\n [\n u,\n \"Windows\"\n ],\n [\n f,\n strMapper,\n X\n ]\n ],\n [\n /ip[honead]{2,4}\\b(?:.*os ([\\w]+) like mac|; opera)/i,\n /ios;fbsv\\/([\\d\\.]+)/i,\n /cfnetwork\\/.+darwin/i\n ],\n [\n [\n f,\n /_/g,\n \".\"\n ],\n [\n u,\n \"iOS\"\n ]\n ],\n [\n /(mac os x) ?([\\w\\. ]*)/i,\n /(macintosh|mac_powerpc\\b)(?!.+haiku)/i\n ],\n [\n [\n u,\n Z\n ],\n [\n f,\n /_/g,\n \".\"\n ]\n ],\n [\n /droid ([\\w\\.]+)\\b.+(android[- ]x86|harmonyos)/i\n ],\n [\n f,\n u\n ],\n [\n /(android|webos|qnx|bada|rim tablet os|maemo|meego|sailfish)[-\\/ ]?([\\w\\.]*)/i,\n /(blackberry)\\w*\\/([\\w\\.]*)/i,\n /(tizen|kaios)[\\/ ]([\\w\\.]+)/i,\n /\\((series40);/i\n ],\n [\n u,\n f\n ],\n [\n /\\(bb(10);/i\n ],\n [\n f,\n [\n u,\n N\n ]\n ],\n [\n /(?:symbian ?os|symbos|s60(?=;)|series60)[-\\/ ]?([\\w\\.]*)/i\n ],\n [\n f,\n [\n u,\n \"Symbian\"\n ]\n ],\n [\n /mozilla\\/[\\d\\.]+ \\((?:mobile|tablet|tv|mobile; [\\w ]+); rv:.+ gecko\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n O + \" OS\"\n ]\n ],\n [\n /web0s;.+rt(tv)/i,\n /\\b(?:hp)?wos(?:browser)?\\/([\\w\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"webOS\"\n ]\n ],\n [\n /watch(?: ?os[,\\/]|\\d,\\d\\/)([\\d\\.]+)/i\n ],\n [\n f,\n [\n u,\n \"watchOS\"\n ]\n ],\n [\n /crkey\\/([\\d\\.]+)/i\n ],\n [\n f,\n [\n u,\n C + \"cast\"\n ]\n ],\n [\n /(cros) [\\w]+(?:\\)| ([\\w\\.]+)\\b)/i\n ],\n [\n [\n u,\n L\n ],\n f\n ],\n [\n /panasonic;(viera)/i,\n /(netrange)mmh/i,\n /(nettv)\\/(\\d+\\.[\\w\\.]+)/i,\n /(nintendo|playstation) ([wids345portablevuch]+)/i,\n /(xbox); +xbox ([^\\);]+)/i,\n /\\b(joli|palm)\\b ?(?:os)?\\/?([\\w\\.]*)/i,\n /(mint)[\\/\\(\\) ]?(\\w*)/i,\n /(mageia|vectorlinux)[; ]/i,\n /([kxln]?ubuntu|debian|suse|opensuse|gentoo|arch(?= linux)|slackware|fedora|mandriva|centos|pclinuxos|red ?hat|zenwalk|linpus|raspbian|plan 9|minix|risc os|contiki|deepin|manjaro|elementary os|sabayon|linspire)(?: gnu\\/linux)?(?: enterprise)?(?:[- ]linux)?(?:-gnu)?[-\\/ ]?(?!chrom|package)([-\\w\\.]*)/i,\n /(hurd|linux) ?([\\w\\.]*)/i,\n /(gnu) ?([\\w\\.]*)/i,\n /\\b([-frentopcghs]{0,5}bsd|dragonfly)[\\/ ]?(?!amd|[ix346]{1,2}86)([\\w\\.]*)/i,\n /(haiku) (\\w+)/i\n ],\n [\n u,\n f\n ],\n [\n /(sunos) ?([\\w\\.\\d]*)/i\n ],\n [\n [\n u,\n \"Solaris\"\n ],\n f\n ],\n [\n /((?:open)?solaris)[-\\/ ]?([\\w\\.]*)/i,\n /(aix) ((\\d)(?=\\.|\\)| )[\\w\\.])*/i,\n /\\b(beos|os\\/2|amigaos|morphos|openvms|fuchsia|hp-ux|serenityos)/i,\n /(unix) ?([\\w\\.]*)/i\n ],\n [\n u,\n f\n ]\n ]\n };\n var UAParser = function(i, e) {\n if (typeof i === w) {\n e = i;\n i = a;\n }\n if (!(this instanceof UAParser)) {\n return new UAParser(i, e).getResult();\n }\n var r = typeof o !== b && o.navigator ? o.navigator : a;\n var n = i || (r && r.userAgent ? r.userAgent : t);\n var v = r && r.userAgentData ? r.userAgentData : a;\n var x = e ? extend(K, e) : K;\n var _ = r && r.userAgent == n;\n this.getBrowser = function() {\n var i = {};\n i[u] = a;\n i[f] = a;\n rgxMapper.call(i, n, x.browser);\n i[d] = majorize(i[f]);\n if (_ && r && r.brave && typeof r.brave.isBrave == s) {\n i[u] = \"Brave\";\n }\n return i;\n };\n this.getCPU = function() {\n var i = {};\n i[h] = a;\n rgxMapper.call(i, n, x.cpu);\n return i;\n };\n this.getDevice = function() {\n var i = {};\n i[m] = a;\n i[c] = a;\n i[p] = a;\n rgxMapper.call(i, n, x.device);\n if (_ && !i[p] && v && v.mobile) {\n i[p] = g;\n }\n if (_ && i[c] == \"Macintosh\" && r && typeof r.standalone !== b && r.maxTouchPoints && r.maxTouchPoints > 2) {\n i[c] = \"iPad\";\n i[p] = k;\n }\n return i;\n };\n this.getEngine = function() {\n var i = {};\n i[u] = a;\n i[f] = a;\n rgxMapper.call(i, n, x.engine);\n return i;\n };\n this.getOS = function() {\n var i = {};\n i[u] = a;\n i[f] = a;\n rgxMapper.call(i, n, x.os);\n if (_ && !i[u] && v && v.platform != \"Unknown\") {\n i[u] = v.platform.replace(/chrome os/i, L).replace(/macos/i, Z);\n }\n return i;\n };\n this.getResult = function() {\n return {\n ua: this.getUA(),\n browser: this.getBrowser(),\n engine: this.getEngine(),\n os: this.getOS(),\n device: this.getDevice(),\n cpu: this.getCPU()\n };\n };\n this.getUA = function() {\n return n;\n };\n this.setUA = function(i) {\n n = typeof i === l && i.length > q ? trim(i, q) : i;\n return this;\n };\n this.setUA(n);\n return this;\n };\n UAParser.VERSION = r;\n UAParser.BROWSER = enumerize([\n u,\n f,\n d\n ]);\n UAParser.CPU = enumerize([\n h\n ]);\n UAParser.DEVICE = enumerize([\n c,\n m,\n p,\n v,\n g,\n x,\n k,\n _,\n y\n ]);\n UAParser.ENGINE = UAParser.OS = enumerize([\n u,\n f\n ]);\n if (typeof e !== b) {\n if (\"object\" !== b && i.exports) {\n e = i.exports = UAParser;\n }\n e.UAParser = UAParser;\n } else {\n if (\"function\" === s && __webpack_require__.amdO) {\n !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() {\n return UAParser;\n }).call(exports, __webpack_require__, exports, module),\n\t\t__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));\n } else if (typeof o !== b) {\n o.UAParser = UAParser;\n }\n }\n var Q = typeof o !== b && (o.jQuery || o.Zepto);\n if (Q && !Q.ua) {\n var Y = new UAParser;\n Q.ua = Y.getResult();\n Q.ua.get = function() {\n return Y.getUA();\n };\n Q.ua.set = function(i) {\n Y.setUA(i);\n var e = Y.getResult();\n for(var o in e){\n Q.ua[o] = e[o];\n }\n };\n }\n })( false ? 0 : this);\n }\n };\n var e = {};\n function __nccwpck_require__(o) {\n var a = e[o];\n if (a !== undefined) {\n return a.exports;\n }\n var r = e[o] = {\n exports: {}\n };\n var t = true;\n try {\n i[o].call(r.exports, r, r.exports, __nccwpck_require__);\n t = false;\n } finally{\n if (t) delete e[o];\n }\n return r.exports;\n }\n if (typeof __nccwpck_require__ !== \"undefined\") __nccwpck_require__.ab = __dirname + \"/\";\n var o = __nccwpck_require__(226);\n module.exports = o;\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3VhLXBhcnNlci1qcy91YS1wYXJzZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFDO0lBQUssSUFBSUEsSUFBRTtRQUFDLEtBQUksU0FBU0EsQ0FBQyxFQUFDQyxDQUFDO1lBQUcsVUFBU0MsQ0FBQyxFQUFDQyxDQUFDO2dCQUFFO2dCQUFhLElBQUlDLElBQUUsVUFBU0MsSUFBRSxJQUFHQyxJQUFFLEtBQUlDLElBQUUsWUFBV0MsSUFBRSxhQUFZQyxJQUFFLFVBQVNDLElBQUUsVUFBU0MsSUFBRSxTQUFRQyxJQUFFLFNBQVFDLElBQUUsUUFBT0MsSUFBRSxRQUFPQyxJQUFFLFVBQVNDLElBQUUsV0FBVUMsSUFBRSxnQkFBZUMsSUFBRSxXQUFVQyxJQUFFLFVBQVNDLElBQUUsVUFBU0MsSUFBRSxXQUFVQyxJQUFFLFlBQVdDLElBQUUsWUFBV0MsSUFBRTtnQkFBSSxJQUFJQyxJQUFFLFVBQVNDLElBQUUsU0FBUUMsSUFBRSxRQUFPQyxJQUFFLGNBQWFDLElBQUUsV0FBVUMsSUFBRSxVQUFTQyxJQUFFLFFBQU9DLElBQUUsV0FBVUMsSUFBRSxVQUFTQyxJQUFFLFVBQVNDLElBQUUsTUFBS0MsSUFBRSxhQUFZQyxJQUFFLFlBQVdDLElBQUUsU0FBUUMsSUFBRSxXQUFVQyxJQUFFLFNBQVFDLElBQUUsUUFBT0MsSUFBRSxTQUFRQyxJQUFFLFVBQVNDLElBQUUsU0FBUUMsSUFBRSxZQUFXQyxJQUFFLGVBQWNDLElBQUU7Z0JBQVMsSUFBSUMsU0FBTyxTQUFTaEQsQ0FBQyxFQUFDQyxDQUFDO29CQUFFLElBQUlDLElBQUUsQ0FBQztvQkFBRSxJQUFJLElBQUlDLEtBQUtILEVBQUU7d0JBQUMsSUFBR0MsQ0FBQyxDQUFDRSxFQUFFLElBQUVGLENBQUMsQ0FBQ0UsRUFBRSxDQUFDOEMsTUFBTSxHQUFDLE1BQUksR0FBRTs0QkFBQy9DLENBQUMsQ0FBQ0MsRUFBRSxHQUFDRixDQUFD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SUFBSSxJQUFJOUUsS0FBS0QsRUFBRTs0QkFBQzBHLEVBQUVaLEVBQUUsQ0FBQzdGLEVBQUUsR0FBQ0QsQ0FBQyxDQUFDQyxFQUFFO3dCQUFBO29CQUFDO2dCQUFDO1lBQUMsR0FBRyxNQUF3QixHQUFDK0csQ0FBTUEsR0FBQyxJQUFJO1FBQUM7SUFBQztJQUFFLElBQUloSCxJQUFFLENBQUM7SUFBRSxTQUFTaUgsb0JBQW9CaEgsQ0FBQztRQUFFLElBQUlDLElBQUVGLENBQUMsQ0FBQ0MsRUFBRTtRQUFDLElBQUdDLE1BQUlnSCxXQUFVO1lBQUMsT0FBT2hILEVBQUVxRyxPQUFPO1FBQUE7UUFBQyxJQUFJcEcsSUFBRUgsQ0FBQyxDQUFDQyxFQUFFLEdBQUM7WUFBQ3NHLFNBQVEsQ0FBQztRQUFDO1FBQUUsSUFBSW5HLElBQUU7UUFBSyxJQUFHO1lBQUNMLENBQUMsQ0FBQ0UsRUFBRSxDQUFDOEQsSUFBSSxDQUFDNUQsRUFBRW9HLE9BQU8sRUFBQ3BHLEdBQUVBLEVBQUVvRyxPQUFPLEVBQUNVO1lBQXFCN0csSUFBRTtRQUFLLFNBQVE7WUFBQyxJQUFHQSxHQUFFLE9BQU9KLENBQUMsQ0FBQ0MsRUFBRTtRQUFBO1FBQUMsT0FBT0UsRUFBRW9HLE9BQU87SUFBQTtJQUFDLElBQUcsT0FBT1Usd0JBQXNCLGFBQVlBLG9CQUFvQkUsRUFBRSxHQUFDQyxZQUFVO0lBQUksSUFBSW5ILElBQUVnSCxvQkFBb0I7SUFBS0ksT0FBT2QsT0FBTyxHQUFDdEc7QUFBQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NvbXBpbGVkL3VhLXBhcnNlci1qcy91YS1wYXJzZXIuanM/OTJiMyJdLCJzb3VyY2VzQ29udGVudCI6WyIoKCk9Pnt2YXIgaT17MjI2OmZ1bmN0aW9uKGksZSl7KGZ1bmN0aW9uKG8sYSl7XCJ1c2Ugc3RyaWN0XCI7dmFyIHI9XCIxLjAuMzVcIix0PVwiXCIsbj1cIj9cIixzPVwiZnVuY3Rpb25cIixiPVwidW5kZWZpbmVkXCIsdz1cIm9iamVjdFwiLGw9XCJzdHJpbmdcIixkPVwibWFqb3JcIixjPVwibW9kZWxcIix1PVwibmFtZVwiLHA9XCJ0eXBlXCIsbT1cInZlbmRvclwiLGY9XCJ2ZXJzaW9uXCIsaD1cImFyY2hpdGVjdHVyZVwiLHY9XCJjb25zb2xlXCIsZz1cIm1vYmlsZVwiLGs9XCJ0YWJsZXRcIix4PVwic21hcnR0dlwiLF89XCJ3ZWFyYWJsZVwiLHk9XCJlbWJlZGRlZFwiLHE9MzUwO3ZhciBUPVwiQW1hem9uXCIsUz1cIkFwcGxlXCIsej1cIkFTVVNcIixOPVwiQmxhY2tCZXJyeVwiLEE9XCJCcm93c2VyXCIsQz1cIkNocm9tZVwiLEU9XCJFZGdlXCIsTz1cIkZpcmVmb3hcIixVPVwiR29vZ2xlXCIsaj1cIkh1YXdlaVwiLFA9XCJMR1wiLFI9XCJNaWNyb3NvZnRcIixNPVwiTW90b3JvbGFcIixCPVwiT3BlcmFcIixWPVwiU2Ftc3VuZ1wiLEQ9XCJTaGFycFwiLEk9XCJTb255XCIsVz1cIlZpZXJhXCIsRj1cIlhpYW9taVwiLEc9XCJaZWJyYVwiLEg9XCJGYWNlYm9va1wiLEw9XCJDaHJvbWl1bSBPU1wiLFo9XCJNYWMgT1NcIjt2YXIgZXh0ZW5kPWZ1bmN0aW9uKGksZSl7dmFyIG89e307Zm9yKHZhciBhIGluIGkpe2lmKGVbYV0mJmVbYV0ubGVuZ3RoJTI9PT0wKXtvW2FdPWVbYV0uY29uY2F0KGlbYV0pfWVsc2V7b1thXT1pW2FdfX1yZXR1cm4gb30sZW51bWVyaXplPWZ1bmN0aW9uKGkpe3ZhciBlPXt9O2Zvcih2YXIgbz0wO288aS5sZW5ndGg7bysrKXtlW2lbb10udG9VcHBlckNhc2UoKV09aVtvXX1yZXR1cm4gZX0saGFzPWZ1bmN0aW9uKGksZSl7cmV0dXJuIHR5cGVvZiBpPT09bD9sb3dlcml6ZShlKS5pbmRleE9mKGxvd2VyaXplKGkpKSE9PS0xOmZhbHNlfSxsb3dlcml6ZT1mdW5jdGlvbihpKXtyZXR1cm4gaS50b0xvd2VyQ2FzZSgpfSxtYWpvcml6ZT1mdW5jdGlvbihpKXtyZXR1cm4gdHlwZW9mIGk9PT1sP2kucmVwbGFjZSgvW15cXGRcXC5dL2csdCkuc3BsaXQoXCIuXCIpWzBdOmF9LHRyaW09ZnVuY3Rpb24oaSxlKXtpZih0eXBlb2YgaT09PWwpe2k9aS5yZXBsYWNlKC9eXFxzXFxzKi8sdCk7cmV0dXJuIHR5cGVvZiBlPT09Yj9pOmkuc3Vic3RyaW5nKDAscSl9fTt2YXIgcmd4TWFwcGVyPWZ1bmN0aW9uKGksZSl7dmFyIG89MCxyLHQsbixiLGwsZDt3aGlsZShvPGUubGVuZ3RoJiYhbCl7dmFyIGM9ZVtvXSx1PWVbbysxXTtyPXQ9MDt3aGlsZShyPGMubGVuZ3RoJiYhbCl7aWYoIWNbcl0pe2JyZWFrfWw9Y1tyKytdLmV4ZWMoaSk7aWYoISFsKXtmb3Iobj0wO248dS5sZW5ndGg7bisrKXtkPWxbKyt0XTtiPXVbbl07aWYodHlwZW9mIGI9PT13JiZiLmxlbmd0aD4wKXtpZihiLmxlbmd0aD09PTIpe2lmKHR5cGVvZiBiWzFdPT1zKXt0aGlzW2JbMF1dPWJbMV0uY2FsbCh0aGlzLGQpfWVsc2V7dGhpc1tiWzBdXT1iWzFdfX1lbHNlIGlmKGIubGVuZ3RoPT09Myl7aWYodHlwZW9mIGJbMV09PT1zJiYhKGJbMV0uZXhlYyYmYlsxXS50ZXN0KSl7dGhpc1tiWzBdXT1kP2JbMV0uY2FsbCh0aGlzLGQsYlsyXSk6YX1lbHNle3RoaXNbYlswXV09ZD9kLnJlcGxhY2UoYlsxXSxiWzJdKTphfX1lbHNlIGlmKGIubGVuZ3RoPT09NCl7dGhpc1tiWzBdXT1kP2JbM10uY2FsbCh0aGlzLGQucmVwbGFjZShiWzFdLGJbMl0pKTphfX1lbHNle3RoaXNbYl09ZD9kOmF9fX19bys9Mn19LHN0ck1hcHBlcj1mdW5jdGlvbihpLGUpe2Zvcih2YXIgbyBpbiBlKXtpZih0eXBlb2YgZVtvXT09PXcmJmVbb10ubGVuZ3RoPjApe2Zvcih2YXIgcj0wO3I8ZVtvXS5sZW5ndGg7cisrKXtpZihoYXMoZVtvXVtyXSxpKSl7cmV0dXJuIG89PT1uP2E6b319fWVsc2UgaWYoaGFzKGVbb10saSkpe3JldHVybiBvPT09bj9hOm99fXJldHVybiBpfTt2YXIgJD17XCIxLjBcIjpcIi84XCIsMS4yOlwiLzFcIiwxLjM6XCIvM1wiLFwiMi4wXCI6XCIvNDEyXCIsXCIyLjAuMlwiOlwiLzQxNlwiLFwiMi4wLjNcIjpcIi80MTdcIixcIjIuMC40XCI6XCIvNDE5XCIsXCI/XCI6XCIvXCJ9LFg9e01FOlwiNC45MFwiLFwiTlQgMy4xMVwiOlwiTlQzLjUxXCIsXCJOVCA0LjBcIjpcIk5UNC4wXCIsMmUzOlwiTlQgNS4wXCIsWFA6W1wiTlQgNS4xXCIsXCJOVCA1LjJcIl0sVmlzdGE6XCJOVCA2LjBcIiw3OlwiTlQgNi4xXCIsODpcIk5UIDYuMlwiLDguMTpcIk5UIDYuM1wiLDEwOltcIk5UIDYuNFwiLFwiTlQgMTAuMFwiXSxSVDpcIkFSTVwifTt2YXIgSz17YnJvd3NlcjpbWy9cXGIoPzpjcm1vfGNyaW9zKVxcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiQ2hyb21lXCJdXSxbL2VkZyg/OmV8aW9zfGEpP1xcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiRWRnZVwiXV0sWy8ob3BlcmEgbWluaSlcXC8oWy1cXHdcXC5dKykvaSwvKG9wZXJhIFttb2JpbGV0YWJdezMsNn0pXFxiLit2ZXJzaW9uXFwvKFstXFx3XFwuXSspL2ksLyhvcGVyYSkoPzouK3ZlcnNpb25cXC98W1xcLyBdKykoW1xcd1xcLl0rKS9pXSxbdSxmXSxbL29waW9zW1xcLyBdKyhbXFx3XFwuXSspL2ldLFtmLFt1LEIrXCIgTWluaVwiXV0sWy9cXGJvcHJcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxCXV0sWy8oa2luZGxlKVxcLyhbXFx3XFwuXSspL2ksLyhsdW5hc2NhcGV8bWF4dGhvbnxuZXRmcm9udHxqYXNtaW5lfGJsYXplcilbXFwvIF0/KFtcXHdcXC5dKikvaSwvKGF2YW50IHxpZW1vYmlsZXxzbGltKSg/OmJyb3dzZXIpP1tcXC8gXT8oW1xcd1xcLl0qKS9pLC8oYmE/aWR1YnJvd3NlcilbXFwvIF0/KFtcXHdcXC5dKykvaSwvKD86bXN8XFwoKShpZSkgKFtcXHdcXC5dKykvaSwvKGZsb2NrfHJvY2ttZWx0fG1pZG9yaXxlcGlwaGFueXxzaWxrfHNreWZpcmV8Ym9sdHxpcm9ufHZpdmFsZGl8aXJpZGl1bXxwaGFudG9tanN8Ym93c2VyfHF1YXJrfHF1cHppbGxhfGZhbGtvbnxyZWtvbnF8cHVmZmlufGJyYXZlfHdoYWxlKD8hLituYXZlcil8cXFicm93c2VybGl0ZXxxcXxkdWNrZHVja2dvKVxcLyhbLVxcd1xcLl0rKS9pLC8oaGV5dGFwfG92aSlicm93c2VyXFwvKFtcXGRcXC5dKykvaSwvKHdlaWJvKV9fKFtcXGRcXC5dKykvaV0sW3UsZl0sWy8oPzpcXGJ1Yz8gP2Jyb3dzZXJ8KD86anVjLispdWN3ZWIpW1xcLyBdPyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiVUNcIitBXV0sWy9taWNyb20uK1xcYnFiY29yZVxcLyhbXFx3XFwuXSspL2ksL1xcYnFiY29yZVxcLyhbXFx3XFwuXSspLittaWNyb20vaV0sW2YsW3UsXCJXZUNoYXQoV2luKSBEZXNrdG9wXCJdXSxbL21pY3JvbWVzc2VuZ2VyXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJXZUNoYXRcIl1dLFsva29ucXVlcm9yXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJLb25xdWVyb3JcIl1dLFsvdHJpZGVudC4rcnZbOiBdKFtcXHdcXC5dezEsOX0pXFxiLitsaWtlIGdlY2tvL2ldLFtmLFt1LFwiSUVcIl1dLFsveWEoPzpzZWFyY2gpP2Jyb3dzZXJcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIllhbmRleFwiXV0sWy8oYXZhc3R8YXZnKVxcLyhbXFx3XFwuXSspL2ldLFtbdSwvKC4rKS8sXCIkMSBTZWN1cmUgXCIrQV0sZl0sWy9cXGJmb2N1c1xcLyhbXFx3XFwuXSspL2ldLFtmLFt1LE8rXCIgRm9jdXNcIl1dLFsvXFxib3B0XFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsQitcIiBUb3VjaFwiXV0sWy9jb2NfY29jXFx3K1xcLyhbXFx3XFwuXSspL2ldLFtmLFt1LFwiQ29jIENvY1wiXV0sWy9kb2xmaW5cXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIkRvbHBoaW5cIl1dLFsvY29hc3RcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxCK1wiIENvYXN0XCJdXSxbL21pdWlicm93c2VyXFwvKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJNSVVJIFwiK0FdXSxbL2Z4aW9zXFwvKFstXFx3XFwuXSspL2ldLFtmLFt1LE9dXSxbL1xcYnFpaHV8KHFpP2hvP28/fDM2MClicm93c2VyL2ldLFtbdSxcIjM2MCBcIitBXV0sWy8ob2N1bHVzfHNhbXN1bmd8c2FpbGZpc2h8aHVhd2VpKWJyb3dzZXJcXC8oW1xcd1xcLl0rKS9pXSxbW3UsLyguKykvLFwiJDEgXCIrQV0sZl0sWy8oY29tb2RvX2RyYWdvbilcXC8oW1xcd1xcLl0rKS9pXSxbW3UsL18vZyxcIiBcIl0sZl0sWy8oZWxlY3Ryb24pXFwvKFtcXHdcXC5dKykgc2FmYXJpL2ksLyh0ZXNsYSkoPzogcXRjYXJicm93c2VyfFxcLygyMFxcZFxcZFxcLlstXFx3XFwuXSspKS9pLC9tPyhxcWJyb3dzZXJ8YmFpZHVib3hhcHB8MjM0NUV4cGxvcmVyKVtcXC8gXT8oW1xcd1xcLl0rKS9pXSxbdSxmXSxbLyhtZXRhc3IpW1xcLyBdPyhbXFx3XFwuXSspL2ksLyhsYmJyb3dzZXIpL2ksL1xcWyhsaW5rZWRpbilhcHBcXF0vaV0sW3VdLFsvKCg/OmZiYW5cXC9mYmlvc3xmYl9pYWJcXC9mYjRhKSg/IS4rZmJhdil8O2ZiYXZcXC8oW1xcd1xcLl0rKTspL2ldLFtbdSxIXSxmXSxbLyhrYWthbyg/OnRhbGt8c3RvcnkpKVtcXC8gXShbXFx3XFwuXSspL2ksLyhuYXZlcilcXCguKj8oXFxkK1xcLltcXHdcXC5dKykuKlxcKS9pLC9zYWZhcmkgKGxpbmUpXFwvKFtcXHdcXC5dKykvaSwvXFxiKGxpbmUpXFwvKFtcXHdcXC5dKylcXC9pYWIvaSwvKGNocm9taXVtfGluc3RhZ3JhbSlbXFwvIF0oWy1cXHdcXC5dKykvaV0sW3UsZl0sWy9cXGJnc2FcXC8oW1xcd1xcLl0rKSAuKnNhZmFyaVxcLy9pXSxbZixbdSxcIkdTQVwiXV0sWy9tdXNpY2FsX2x5KD86LithcHBfP3ZlcnNpb25cXC98XykoW1xcd1xcLl0rKS9pXSxbZixbdSxcIlRpa1Rva1wiXV0sWy9oZWFkbGVzc2Nocm9tZSg/OlxcLyhbXFx3XFwuXSspfCApL2ldLFtmLFt1LEMrXCIgSGVhZGxlc3NcIl1dLFsvIHd2XFwpLisoY2hyb21lKVxcLyhbXFx3XFwuXSspL2ldLFtbdSxDK1wiIFdlYlZpZXdcIl0sZl0sWy9kcm9pZC4rIHZlcnNpb25cXC8oW1xcd1xcLl0rKVxcYi4rKD86bW9iaWxlIHNhZmFyaXxzYWZhcmkpL2ldLFtmLFt1LFwiQW5kcm9pZCBcIitBXV0sWy8oY2hyb21lfG9tbml3ZWJ8YXJvcmF8W3RpemVub2thXXs1fSA/YnJvd3NlcilcXC92PyhbXFx3XFwuXSspL2ldLFt1LGZdLFsvdmVyc2lvblxcLyhbXFx3XFwuXFwsXSspIC4qbW9iaWxlXFwvXFx3KyAoc2FmYXJpKS9pXSxbZixbdSxcIk1vYmlsZSBTYWZhcmlcIl1dLFsvdmVyc2lvblxcLyhbXFx3KFxcLnxcXCwpXSspIC4qKG1vYmlsZSA/c2FmYXJpfHNhZmFyaSkvaV0sW2YsdV0sWy93ZWJraXQuKz8obW9iaWxlID9zYWZhcml8c2FmYXJpKShcXC9bXFx3XFwuXSspL2ldLFt1LFtmLHN0ck1hcHBlciwkXV0sWy8od2Via2l0fGtodG1sKVxcLyhbXFx3XFwuXSspL2ldLFt1LGZdLFsvKG5hdmlnYXRvcnxuZXRzY2FwZVxcZD8pXFwvKFstXFx3XFwuXSspL2ldLFtbdSxcIk5ldHNjYXBlXCJdLGZdLFsvbW9iaWxlIHZyOyBydjooW1xcd1xcLl0rKVxcKS4rZmlyZWZveC9pXSxbZixbdSxPK1wiIFJlYWxpdHlcIl1dLFsvZWtpb2hmLisoZmxvdylcXC8oW1xcd1xcLl0rKS9pLC8oc3dpZnRmb3gpL2ksLyhpY2VkcmFnb258aWNld2Vhc2VsfGNhbWlub3xjaGltZXJhfGZlbm5lY3xtYWVtbyBicm93c2VyfG1pbmltb3xjb25rZXJvcnxrbGFyKVtcXC8gXT8oW1xcd1xcLlxcK10rKS9pLC8oc2VhbW9ua2V5fGstbWVsZW9ufGljZWNhdHxpY2VhcGV8ZmlyZWJpcmR8cGhvZW5peHxwYWxlbW9vbnxiYXNpbGlza3x3YXRlcmZveClcXC8oWy1cXHdcXC5dKykkL2ksLyhmaXJlZm94KVxcLyhbXFx3XFwuXSspL2ksLyhtb3ppbGxhKVxcLyhbXFx3XFwuXSspIC4rcnZcXDouK2dlY2tvXFwvXFxkKy9pLC8ocG9sYXJpc3xseW54fGRpbGxvfGljYWJ8ZG9yaXN8YW1heWF8dzNtfG5ldHN1cmZ8c2xlaXBuaXJ8b2JpZ298bW9zYWljfCg/OmdvfGljZXx1cClbXFwuIF0/YnJvd3NlcilbLVxcLyBdP3Y/KFtcXHdcXC5dKykvaSwvKGxpbmtzKSBcXCgoW1xcd1xcLl0rKS9pLC9wYW5hc29uaWM7KHZpZXJhKS9pXSxbdSxmXSxbLyhjb2JhbHQpXFwvKFtcXHdcXC5dKykvaV0sW3UsW2YsL21hc3Rlci58bHRzLi8sXCJcIl1dXSxjcHU6W1svKD86KGFtZHx4KD86KD86ODZ8NjQpWy1fXSk/fHdvd3x3aW4pNjQpWztcXCldL2ldLFtbaCxcImFtZDY0XCJdXSxbLyhpYTMyKD89OykpL2ldLFtbaCxsb3dlcml6ZV1dLFsvKCg/OmlbMzQ2XXx4KTg2KVs7XFwpXS9pXSxbW2gsXCJpYTMyXCJdXSxbL1xcYihhYXJjaDY0fGFybSh2PzhlP2w/fF8/NjQpKVxcYi9pXSxbW2gsXCJhcm02NFwiXV0sWy9cXGIoYXJtKD86dls2N10pP2h0P24/W2ZsXXA/KVxcYi9pXSxbW2gsXCJhcm1oZlwiXV0sWy93aW5kb3dzIChjZXxtb2JpbGUpOyBwcGM7L2ldLFtbaCxcImFybVwiXV0sWy8oKD86cHBjfHBvd2VycGMpKD86NjQpPykoPzogbWFjfDt8XFwpKS9pXSxbW2gsL293ZXIvLHQsbG93ZXJpemVdXSxbLyhzdW40XFx3KVs7XFwpXS9pXSxbW2gsXCJzcGFyY1wiXV0sWy8oKD86YXZyMzJ8aWE2NCg/PTspKXw2OGsoPz1cXCkpfFxcYmFybSg/PXYoPzpbMS03XXxbNS03XTEpbD98O3xlYWJpKXwoPz1hdG1lbCApYXZyfCg/OmlyaXh8bWlwc3xzcGFyYykoPzo2NCk/XFxifHBhLXJpc2MpL2ldLFtbaCxsb3dlcml6ZV1dXSxkZXZpY2U6W1svXFxiKHNjaC1pWzg5XTBcXGR8c2h3LW0zODBzfHNtLVtwdHhdXFx3ezIsNH18Z3QtW3BuXVxcZHsyLDR9fHNnaC10OFs1Nl05fG5leHVzIDEwKS9pXSxbYyxbbSxWXSxbcCxrXV0sWy9cXGIoKD86c1tjZ3BdaHxndHxzbSktXFx3K3xzY1tnLV0/W1xcZF0rYT98Z2FsYXh5IG5leHVzKS9pLC9zYW1zdW5nWy0gXShbLVxcd10rKS9pLC9zZWMtKHNnaFxcdyspL2ldLFtjLFttLFZdLFtwLGddXSxbLyg/OlxcL3xcXCgpKGlwKD86aG9uZXxvZClbXFx3LCBdKikoPzpcXC98OykvaV0sW2MsW20sU10sW3AsZ11dLFsvXFwoKGlwYWQpO1stXFx3XFwpLDsgXSthcHBsZS9pLC9hcHBsZWNvcmVtZWRpYVxcL1tcXHdcXC5dKyBcXCgoaXBhZCkvaSwvXFxiKGlwYWQpXFxkXFxkPyxcXGRcXGQ/WztcXF1dLitpb3MvaV0sW2MsW20sU10sW3Asa11dLFsvKG1hY2ludG9zaCk7L2ldLFtjLFttLFNdXSxbL1xcYihzaC0/W2FsdHZ6XT9cXGRcXGRbYS1la21dPykvaV0sW2MsW20sRF0sW3AsZ11dLFsvXFxiKCg/OmFnW3JzXVsyM10/fGJhaDI/fHNodD98YnR2KS1hP1tsd11cXGR7Mn0pXFxiKD8hLitkXFwvcykvaV0sW2MsW20sal0sW3Asa11dLFsvKD86aHVhd2VpfGhvbm9yKShbLVxcdyBdKylbO1xcKV0vaSwvXFxiKG5leHVzIDZwfFxcd3syLDR9ZT8tW2F0dV0/W2xuXVtcXGR4XVswMTIzNTljXVthZG5dPylcXGIoPyEuK2RcXC9zKS9pXSxbYyxbbSxqXSxbcCxnXV0sWy9cXGIocG9jb1tcXHcgXSspKD86IGJ1aXxcXCkpL2ksL1xcYjsgKFxcdyspIGJ1aWxkXFwvaG1cXDEvaSwvXFxiKGhtWy1fIF0/bm90ZT9bXyBdPyg/OlxcZFxcdyk/KSBidWkvaSwvXFxiKHJlZG1pW1xcLV8gXT8oPzpub3RlfGspP1tcXHdfIF0rKSg/OiBidWl8XFwpKS9pLC9cXGIobWlbLV8gXT8oPzphXFxkfG9uZXxvbmVbXyBdcGx1c3xub3RlIGx0ZXxtYXh8Y2MpP1tfIF0/KD86XFxkP1xcdz8pW18gXT8oPzpwbHVzfHNlfGxpdGUpPykoPzogYnVpfFxcKSkvaV0sW1tjLC9fL2csXCIgXCJdLFttLEZdLFtwLGddXSxbL1xcYihtaVstXyBdPyg/OnBhZCkoPzpbXFx3XyBdKykpKD86IGJ1aXxcXCkpL2ldLFtbYywvXy9nLFwiIFwiXSxbbSxGXSxbcCxrXV0sWy87IChcXHcrKSBidWkuKyBvcHBvL2ksL1xcYihjcGhbMTJdXFxkezN9fHAoPzphZnxjW2FsXXxkXFx3fGVbYXJdKVttdF1cXGQwfHg5MDA3fGExMDFvcClcXGIvaV0sW2MsW20sXCJPUFBPXCJdLFtwLGddXSxbL3Zpdm8gKFxcdyspKD86IGJ1aXxcXCkpL2ksL1xcYih2WzEyXVxcZHszfVxcdz9bYXRdKSg/OiBidWl8OykvaV0sW2MsW20sXCJWaXZvXCJdLFtwLGddXSxbL1xcYihybXhbMTJdXFxkezN9KSg/OiBidWl8O3xcXCkpL2ldLFtjLFttLFwiUmVhbG1lXCJdLFtwLGddXSxbL1xcYihtaWxlc3RvbmV8ZHJvaWQoPzpbMi00eF18ICg/OmJpb25pY3x4Mnxwcm98cmF6cikpPzo/KCA0Zyk/KVxcYltcXHcgXStidWlsZFxcLy9pLC9cXGJtb3QoPzpvcm9sYSk/Wy0gXShcXHcqKS9pLC8oKD86bW90b1tcXHdcXChcXCkgXSt8eHRcXGR7Myw0fXxuZXh1cyA2KSg/PSBidWl8XFwpKSkvaV0sW2MsW20sTV0sW3AsZ11dLFsvXFxiKG16NjBcXGR8eG9vbVsyIF17MCwyfSkgYnVpbGRcXC8vaV0sW2MsW20sTV0sW3Asa11dLFsvKCg/PWxnKT9bdmxda1xcLT9cXGR7M30pIGJ1aXwgM1xcLlstXFx3OyBdezEwfWxnPy0oWzA2Y3Y5XXszLDR9KS9pXSxbYyxbbSxQXSxbcCxrXV0sWy8obG0oPzotP2YxMDBbbnZdP3wtW1xcd1xcLl0rKSg/PSBidWl8XFwpKXxuZXh1cyBbNDVdKS9pLC9cXGJsZ1stZTtcXC8gXSsoKD8hYnJvd3NlcnxuZXRjYXN0fGFuZHJvaWQgdHYpXFx3KykvaSwvXFxibGctPyhbXFxkXFx3XSspIGJ1aS9pXSxbYyxbbSxQXSxbcCxnXV0sWy8oaWRlYXRhYlstXFx3IF0rKS9pLC9sZW5vdm8gPyhzWzU2XTAwMFstXFx3XSt8dGFiKD86W1xcdyBdKyl8eXRbLVxcZFxcd117Nn18dGJbLVxcZFxcd117Nn0pL2ldLFtjLFttLFwiTGVub3ZvXCJdLFtwLGtdXSxbLyg/Om1hZW1vfG5va2lhKS4qKG45MDB8bHVtaWEgXFxkKykvaSwvbm9raWFbLV8gXT8oWy1cXHdcXC5dKikvaV0sW1tjLC9fL2csXCIgXCJdLFttLFwiTm9raWFcIl0sW3AsZ11dLFsvKHBpeGVsIGMpXFxiL2ldLFtjLFttLFVdLFtwLGtdXSxbL2Ryb2lkLis7IChwaXhlbFtcXGRheGwgXXswLDZ9KSg/OiBidWl8XFwpKS9pXSxbYyxbbSxVXSxbcCxnXV0sWy9kcm9pZC4rIChhP1xcZFswLTJdezJ9c298W2MtZ11cXGR7NH18c29bLWdsXVxcdyt8eHEtYVxcd1s0LTddWzEyXSkoPz0gYnVpfFxcKS4rY2hyb21lXFwvKD8hWzEtNl17MCwxfVxcZFxcLikpL2ldLFtjLFttLEldLFtwLGddXSxbL3NvbnkgdGFibGV0IFtwc10vaSwvXFxiKD86c29ueSk/c2dwXFx3Kyg/OiBidWl8XFwpKS9pXSxbW2MsXCJYcGVyaWEgVGFibGV0XCJdLFttLEldLFtwLGtdXSxbLyAoa2IyMDA1fGluMjBbMTJdNXxiZTIwWzEyXVs1OV0pXFxiL2ksLyg/Om9uZSk/KD86cGx1cyk/IChhXFxkMFxcZFxcZCkoPzogYnxcXCkpL2ldLFtjLFttLFwiT25lUGx1c1wiXSxbcCxnXV0sWy8oYWxleGEpd2VibS9pLC8oa2ZbYS16XXsyfXdpfGFlb1tjLXJdezJ9KSggYnVpfFxcKSkvaSwvKGtmW2Etel0rKSggYnVpfFxcKSkuK3NpbGtcXC8vaV0sW2MsW20sVF0sW3Asa11dLFsvKCg/OnNkfGtmKVswMzQ5aGlqb3JzdHV3XSspKCBidWl8XFwpKS4rc2lsa1xcLy9pXSxbW2MsLyguKykvZyxcIkZpcmUgUGhvbmUgJDFcIl0sW20sVF0sW3AsZ11dLFsvKHBsYXlib29rKTtbLVxcd1xcKSw7IF0rKHJpbSkvaV0sW2MsbSxbcCxrXV0sWy9cXGIoKD86YmJbYS1mXXxzdFtodl0pMTAwLVxcZCkvaSwvXFwoYmIxMDsgKFxcdyspL2ldLFtjLFttLE5dLFtwLGddXSxbLyg/OlxcYnxhc3VzXykodHJhbnNmb1twcmltZSBdezQsMTB9IFxcdyt8ZWVlcGN8c2xpZGVyIFxcdyt8bmV4dXMgN3xwYWRmb25lfHAwMFtjal0pL2ldLFtjLFttLHpdLFtwLGtdXSxbLyAoeltiZXNdNlswMjddWzAxMl1ba21dW2xzXXx6ZW5mb25lIFxcZFxcdz8pXFxiL2ldLFtjLFttLHpdLFtwLGddXSxbLyhuZXh1cyA5KS9pXSxbYyxbbSxcIkhUQ1wiXSxbcCxrXV0sWy8oaHRjKVstO18gXXsxLDJ9KFtcXHcgXSsoPz1cXCl8IGJ1aSl8XFx3KykvaSwvKHp0ZSlbLSBdKFtcXHcgXSs/KSg/OiBidWl8XFwvfFxcKSkvaSwvKGFsY2F0ZWx8Z2Vla3NwaG9uZXxuZXhpYW58cGFuYXNvbmljKD8hKD86O3xcXC4pKXxzb255KD8hLWJyYSkpWy1fIF0/KFstXFx3XSopL2ldLFttLFtjLC9fL2csXCIgXCJdLFtwLGddXSxbL2Ryb2lkLis7IChbYWJdWzEtN10tP1swMTc4YV1cXGRcXGQ/KS9pXSxbYyxbbSxcIkFjZXJcIl0sW3Asa11dLFsvZHJvaWQuKzsgKG1bMS01XSBub3RlKSBidWkvaSwvXFxibXotKFstXFx3XXsyLH0pL2ldLFtjLFttLFwiTWVpenVcIl0sW3AsZ11dLFsvKGJsYWNrYmVycnl8YmVucXxwYWxtKD89XFwtKXxzb255ZXJpY3Nzb258YWNlcnxhc3VzfGRlbGx8bWVpenV8bW90b3JvbGF8cG9seXRyb24pWy1fIF0/KFstXFx3XSopL2ksLyhocCkgKFtcXHcgXStcXHcpL2ksLyhhc3VzKS0/KFxcdyspL2ksLyhtaWNyb3NvZnQpOyAobHVtaWFbXFx3IF0rKS9pLC8obGVub3ZvKVstXyBdPyhbLVxcd10rKS9pLC8oam9sbGEpL2ksLyhvcHBvKSA/KFtcXHcgXSspIGJ1aS9pXSxbbSxjLFtwLGddXSxbLyhrb2JvKVxccyhlcmVhZGVyfHRvdWNoKS9pLC8oYXJjaG9zKSAoZ2FtZXBhZDI/KS9pLC8oaHApLisodG91Y2hwYWQoPyEuK3RhYmxldCl8dGFibGV0KS9pLC8oa2luZGxlKVxcLyhbXFx3XFwuXSspL2ksLyhub29rKVtcXHcgXStidWlsZFxcLyhcXHcrKS9pLC8oZGVsbCkgKHN0cmVhW2twclxcZCBdKltcXGRrb10pL2ksLyhsZVstIF0rcGFuKVstIF0rKFxcd3sxLDl9KSBidWkvaSwvKHRyaW5pdHkpWy0gXSoodFxcZHszfSkgYnVpL2ksLyhnaWdhc2V0KVstIF0rKHFcXHd7MSw5fSkgYnVpL2ksLyh2b2RhZm9uZSkgKFtcXHcgXSspKD86XFwpfCBidWkpL2ldLFttLGMsW3Asa11dLFsvKHN1cmZhY2UgZHVvKS9pXSxbYyxbbSxSXSxbcCxrXV0sWy9kcm9pZCBbXFxkXFwuXSs7IChmcFxcZHU/KSg/OiBifFxcKSkvaV0sW2MsW20sXCJGYWlycGhvbmVcIl0sW3AsZ11dLFsvKHUzMDRhYSkvaV0sW2MsW20sXCJBVCZUXCJdLFtwLGddXSxbL1xcYnNpZS0oXFx3KikvaV0sW2MsW20sXCJTaWVtZW5zXCJdLFtwLGddXSxbL1xcYihyY3RcXHcrKSBiL2ldLFtjLFttLFwiUkNBXCJdLFtwLGtdXSxbL1xcYih2ZW51ZVtcXGQgXXsyLDd9KSBiL2ldLFtjLFttLFwiRGVsbFwiXSxbcCxrXV0sWy9cXGIocSg/Om12fHRhKVxcdyspIGIvaV0sW2MsW20sXCJWZXJpem9uXCJdLFtwLGtdXSxbL1xcYig/OmJhcm5lc1smIF0rbm9ibGUgfGJuW3J0XSkoW1xcd1xcKyBdKikgYi9pXSxbYyxbbSxcIkJhcm5lcyAmIE5vYmxlXCJdLFtwLGtdXSxbL1xcYih0bVxcZHszfVxcdyspIGIvaV0sW2MsW20sXCJOdVZpc2lvblwiXSxbcCxrXV0sWy9cXGIoazg4KSBiL2ldLFtjLFttLFwiWlRFXCJdLFtwLGtdXSxbL1xcYihueFxcZHszfWopIGIvaV0sW2MsW20sXCJaVEVcIl0sW3AsZ11dLFsvXFxiKGdlblxcZHszfSkgYi4rNDloL2ldLFtjLFttLFwiU3dpc3NcIl0sW3AsZ11dLFsvXFxiKHp1clxcZHszfSkgYi9pXSxbYyxbbSxcIlN3aXNzXCJdLFtwLGtdXSxbL1xcYigoemVraSk/dGIuKlxcYikgYi9pXSxbYyxbbSxcIlpla2lcIl0sW3Asa11dLFsvXFxiKFt5cl1cXGR7Mn0pIGIvaSwvXFxiKGRyYWdvblstIF0rdG91Y2ggfGR0KShcXHd7NX0pIGIvaV0sW1ttLFwiRHJhZ29uIFRvdWNoXCJdLGMsW3Asa11dLFsvXFxiKG5zLT9cXHd7MCw5fSkgYi9pXSxbYyxbbSxcIkluc2lnbmlhXCJdLFtwLGtdXSxbL1xcYigobnhhfG5leHQpLT9cXHd7MCw5fSkgYi9pXSxbYyxbbSxcIk5leHRCb29rXCJdLFtwLGtdXSxbL1xcYih4dHJlbWVcXF8pPyh2KDFbMDQ1XXwyWzAxNV18WzM0NjldMHw3WzA1XSkpIGIvaV0sW1ttLFwiVm9pY2VcIl0sYyxbcCxnXV0sWy9cXGIobHZ0ZWxcXC0pPyh2MVsxMl0pIGIvaV0sW1ttLFwiTHZUZWxcIl0sYyxbcCxnXV0sWy9cXGIocGgtMSkgL2ldLFtjLFttLFwiRXNzZW50aWFsXCJdLFtwLGddXSxbL1xcYih2KDEwMG1kfDcwMG5hfDcwMTF8OTE3ZykuKlxcYikgYi9pXSxbYyxbbSxcIkVudml6ZW5cIl0sW3Asa11dLFsvXFxiKHRyaW9bLVxcd1xcLiBdKykgYi9pXSxbYyxbbSxcIk1hY2hTcGVlZFwiXSxbcCxrXV0sWy9cXGJ0dV8oMTQ5MSkgYi9pXSxbYyxbbSxcIlJvdG9yXCJdLFtwLGtdXSxbLyhzaGllbGRbXFx3IF0rKSBiL2ldLFtjLFttLFwiTnZpZGlhXCJdLFtwLGtdXSxbLyhzcHJpbnQpIChcXHcrKS9pXSxbbSxjLFtwLGddXSxbLyhraW5cXC5bb25ldHddezN9KS9pXSxbW2MsL1xcLi9nLFwiIFwiXSxbbSxSXSxbcCxnXV0sWy9kcm9pZC4rOyAoY2M2NjY2P3xldDVbMTZdfG1jWzIzOV1bMjNdeD98dmM4WzAzXXg/KVxcKS9pXSxbYyxbbSxHXSxbcCxrXV0sWy9kcm9pZC4rOyAoZWMzMHxwczIwfHRjWzItOF1cXGRba3hdKVxcKS9pXSxbYyxbbSxHXSxbcCxnXV0sWy9zbWFydC10di4rKHNhbXN1bmcpL2ldLFttLFtwLHhdXSxbL2hiYnR2LittYXBsZTsoXFxkKykvaV0sW1tjLC9eLyxcIlNtYXJ0VFZcIl0sW20sVl0sW3AseF1dLFsvKG51eDsgbmV0Y2FzdC4rc21hcnR0dnxsZyAobmV0Y2FzdFxcLnR2LTIwMVxcZHxhbmRyb2lkIHR2KSkvaV0sW1ttLFBdLFtwLHhdXSxbLyhhcHBsZSkgP3R2L2ldLFttLFtjLFMrXCIgVFZcIl0sW3AseF1dLFsvY3JrZXkvaV0sW1tjLEMrXCJjYXN0XCJdLFttLFVdLFtwLHhdXSxbL2Ryb2lkLithZnQoXFx3KSggYnVpfFxcKSkvaV0sW2MsW20sVF0sW3AseF1dLFsvXFwoZHR2W1xcKTtdLisoYXF1b3MpL2ksLyhhcXVvcy10dltcXHcgXSspXFwpL2ldLFtjLFttLERdLFtwLHhdXSxbLyhicmF2aWFbXFx3IF0rKSggYnVpfFxcKSkvaV0sW2MsW20sSV0sW3AseF1dLFsvKG1pdHYtXFx3ezV9KSBidWkvaV0sW2MsW20sRl0sW3AseF1dLFsvSGJidHYuKih0ZWNobmlzYXQpICguKik7L2ldLFttLGMsW3AseF1dLFsvXFxiKHJva3UpW1xcZHhdKltcXClcXC9dKCg/OmR2cC0pP1tcXGRcXC5dKikvaSwvaGJidHZcXC9cXGQrXFwuXFxkK1xcLlxcZCsgK1xcKFtcXHdcXCsgXSo7ICooW1xcd1xcZF1bXjtdKik7KFteO10qKS9pXSxbW20sdHJpbV0sW2MsdHJpbV0sW3AseF1dLFsvXFxiKGFuZHJvaWQgdHZ8c21hcnRbLSBdP3R2fG9wZXJhIHR2fHR2OyBydjopXFxiL2ldLFtbcCx4XV0sWy8ob3V5YSkvaSwvKG5pbnRlbmRvKSAoW3dpZHMzdXRjaF0rKS9pXSxbbSxjLFtwLHZdXSxbL2Ryb2lkLis7IChzaGllbGQpIGJ1aS9pXSxbYyxbbSxcIk52aWRpYVwiXSxbcCx2XV0sWy8ocGxheXN0YXRpb24gWzM0NXBvcnRhYmxldmldKykvaV0sW2MsW20sSV0sW3Asdl1dLFsvXFxiKHhib3goPzogb25lKT8oPyE7IHhib3gpKVtcXCk7IF0vaV0sW2MsW20sUl0sW3Asdl1dLFsvKChwZWJibGUpKWFwcC9pXSxbbSxjLFtwLF9dXSxbLyh3YXRjaCkoPzogP29zWyxcXC9dfFxcZCxcXGRcXC8pW1xcZFxcLl0rL2ldLFtjLFttLFNdLFtwLF9dXSxbL2Ryb2lkLis7IChnbGFzcykgXFxkL2ldLFtjLFttLFVdLFtwLF9dXSxbL2Ryb2lkLis7ICh3dDYzPzB7MiwzfSlcXCkvaV0sW2MsW20sR10sW3AsX11dLFsvKHF1ZXN0KCAyfCBwcm8pPykvaV0sW2MsW20sSF0sW3AsX11dLFsvKHRlc2xhKSg/OiBxdGNhcmJyb3dzZXJ8XFwvWy1cXHdcXC5dKykvaV0sW20sW3AseV1dLFsvKGFlb2JjKVxcYi9pXSxbYyxbbSxUXSxbcCx5XV0sWy9kcm9pZCAuKz87IChbXjtdKz8pKD86IGJ1aXxcXCkgYXBwbGV3KS4rPyBtb2JpbGUgc2FmYXJpL2ldLFtjLFtwLGddXSxbL2Ryb2lkIC4rPzsgKFteO10rPykoPzogYnVpfFxcKSBhcHBsZXcpLis/KD8hIG1vYmlsZSkgc2FmYXJpL2ldLFtjLFtwLGtdXSxbL1xcYigodGFibGV0fHRhYilbO1xcL118Zm9jdXNcXC9cXGQoPyEuK21vYmlsZSkpL2ldLFtbcCxrXV0sWy8ocGhvbmV8bW9iaWxlKD86WztcXC9dfCBbIFxcd1xcL1xcLl0qc2FmYXJpKXxwZGEoPz0uK3dpbmRvd3MgY2UpKS9pXSxbW3AsZ11dLFsvKGFuZHJvaWRbLVxcd1xcLiBdezAsOX0pOy4rYnVpbC9pXSxbYyxbbSxcIkdlbmVyaWNcIl1dXSxlbmdpbmU6W1svd2luZG93cy4rIGVkZ2VcXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxFK1wiSFRNTFwiXV0sWy93ZWJraXRcXC81MzdcXC4zNi4rY2hyb21lXFwvKD8hMjcpKFtcXHdcXC5dKykvaV0sW2YsW3UsXCJCbGlua1wiXV0sWy8ocHJlc3RvKVxcLyhbXFx3XFwuXSspL2ksLyh3ZWJraXR8dHJpZGVudHxuZXRmcm9udHxuZXRzdXJmfGFtYXlhfGx5bnh8dzNtfGdvYW5uYSlcXC8oW1xcd1xcLl0rKS9pLC9la2lvaChmbG93KVxcLyhbXFx3XFwuXSspL2ksLyhraHRtbHx0YXNtYW58bGlua3MpW1xcLyBdXFwoPyhbXFx3XFwuXSspL2ksLyhpY2FiKVtcXC8gXShbMjNdXFwuW1xcZFxcLl0rKS9pLC9cXGIobGlid2ViKS9pXSxbdSxmXSxbL3J2XFw6KFtcXHdcXC5dezEsOX0pXFxiLisoZ2Vja28pL2ldLFtmLHVdXSxvczpbWy9taWNyb3NvZnQgKHdpbmRvd3MpICh2aXN0YXx4cCkvaV0sW3UsZl0sWy8od2luZG93cykgbnQgNlxcLjI7IChhcm0pL2ksLyh3aW5kb3dzICg/OnBob25lKD86IG9zKT98bW9iaWxlKSlbXFwvIF0/KFtcXGRcXC5cXHcgXSopL2ksLyh3aW5kb3dzKVtcXC8gXT8oW250Y2VcXGRcXC4gXStcXHcpKD8hLit4Ym94KS9pXSxbdSxbZixzdHJNYXBwZXIsWF1dLFsvKHdpbig/PTN8OXxuKXx3aW4gOXggKShbbnRcXGRcXC5dKykvaV0sW1t1LFwiV2luZG93c1wiXSxbZixzdHJNYXBwZXIsWF1dLFsvaXBbaG9uZWFkXXsyLDR9XFxiKD86LipvcyAoW1xcd10rKSBsaWtlIG1hY3w7IG9wZXJhKS9pLC9pb3M7ZmJzdlxcLyhbXFxkXFwuXSspL2ksL2NmbmV0d29ya1xcLy4rZGFyd2luL2ldLFtbZiwvXy9nLFwiLlwiXSxbdSxcImlPU1wiXV0sWy8obWFjIG9zIHgpID8oW1xcd1xcLiBdKikvaSwvKG1hY2ludG9zaHxtYWNfcG93ZXJwY1xcYikoPyEuK2hhaWt1KS9pXSxbW3UsWl0sW2YsL18vZyxcIi5cIl1dLFsvZHJvaWQgKFtcXHdcXC5dKylcXGIuKyhhbmRyb2lkWy0gXXg4NnxoYXJtb255b3MpL2ldLFtmLHVdLFsvKGFuZHJvaWR8d2Vib3N8cW54fGJhZGF8cmltIHRhYmxldCBvc3xtYWVtb3xtZWVnb3xzYWlsZmlzaClbLVxcLyBdPyhbXFx3XFwuXSopL2ksLyhibGFja2JlcnJ5KVxcdypcXC8oW1xcd1xcLl0qKS9pLC8odGl6ZW58a2Fpb3MpW1xcLyBdKFtcXHdcXC5dKykvaSwvXFwoKHNlcmllczQwKTsvaV0sW3UsZl0sWy9cXChiYigxMCk7L2ldLFtmLFt1LE5dXSxbLyg/OnN5bWJpYW4gP29zfHN5bWJvc3xzNjAoPz07KXxzZXJpZXM2MClbLVxcLyBdPyhbXFx3XFwuXSopL2ldLFtmLFt1LFwiU3ltYmlhblwiXV0sWy9tb3ppbGxhXFwvW1xcZFxcLl0rIFxcKCg/Om1vYmlsZXx0YWJsZXR8dHZ8bW9iaWxlOyBbXFx3IF0rKTsgcnY6LisgZ2Vja29cXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxPK1wiIE9TXCJdXSxbL3dlYjBzOy4rcnQodHYpL2ksL1xcYig/OmhwKT93b3MoPzpicm93c2VyKT9cXC8oW1xcd1xcLl0rKS9pXSxbZixbdSxcIndlYk9TXCJdXSxbL3dhdGNoKD86ID9vc1ssXFwvXXxcXGQsXFxkXFwvKShbXFxkXFwuXSspL2ldLFtmLFt1LFwid2F0Y2hPU1wiXV0sWy9jcmtleVxcLyhbXFxkXFwuXSspL2ldLFtmLFt1LEMrXCJjYXN0XCJdXSxbLyhjcm9zKSBbXFx3XSsoPzpcXCl8IChbXFx3XFwuXSspXFxiKS9pXSxbW3UsTF0sZl0sWy9wYW5hc29uaWM7KHZpZXJhKS9pLC8obmV0cmFuZ2UpbW1oL2ksLyhuZXR0dilcXC8oXFxkK1xcLltcXHdcXC5dKykvaSwvKG5pbnRlbmRvfHBsYXlzdGF0aW9uKSAoW3dpZHMzNDVwb3J0YWJsZXZ1Y2hdKykvaSwvKHhib3gpOyAreGJveCAoW15cXCk7XSspL2ksL1xcYihqb2xpfHBhbG0pXFxiID8oPzpvcyk/XFwvPyhbXFx3XFwuXSopL2ksLyhtaW50KVtcXC9cXChcXCkgXT8oXFx3KikvaSwvKG1hZ2VpYXx2ZWN0b3JsaW51eClbOyBdL2ksLyhba3hsbl0/dWJ1bnR1fGRlYmlhbnxzdXNlfG9wZW5zdXNlfGdlbnRvb3xhcmNoKD89IGxpbnV4KXxzbGFja3dhcmV8ZmVkb3JhfG1hbmRyaXZhfGNlbnRvc3xwY2xpbnV4b3N8cmVkID9oYXR8emVud2Fsa3xsaW5wdXN8cmFzcGJpYW58cGxhbiA5fG1pbml4fHJpc2Mgb3N8Y29udGlraXxkZWVwaW58bWFuamFyb3xlbGVtZW50YXJ5IG9zfHNhYmF5b258bGluc3BpcmUpKD86IGdudVxcL2xpbnV4KT8oPzogZW50ZXJwcmlzZSk/KD86Wy0gXWxpbnV4KT8oPzotZ251KT9bLVxcLyBdPyg/IWNocm9tfHBhY2thZ2UpKFstXFx3XFwuXSopL2ksLyhodXJkfGxpbnV4KSA/KFtcXHdcXC5dKikvaSwvKGdudSkgPyhbXFx3XFwuXSopL2ksL1xcYihbLWZyZW50b3BjZ2hzXXswLDV9YnNkfGRyYWdvbmZseSlbXFwvIF0/KD8hYW1kfFtpeDM0Nl17MSwyfTg2KShbXFx3XFwuXSopL2ksLyhoYWlrdSkgKFxcdyspL2ldLFt1LGZdLFsvKHN1bm9zKSA/KFtcXHdcXC5cXGRdKikvaV0sW1t1LFwiU29sYXJpc1wiXSxmXSxbLygoPzpvcGVuKT9zb2xhcmlzKVstXFwvIF0/KFtcXHdcXC5dKikvaSwvKGFpeCkgKChcXGQpKD89XFwufFxcKXwgKVtcXHdcXC5dKSovaSwvXFxiKGJlb3N8b3NcXC8yfGFtaWdhb3N8bW9ycGhvc3xvcGVudm1zfGZ1Y2hzaWF8aHAtdXh8c2VyZW5pdHlvcykvaSwvKHVuaXgpID8oW1xcd1xcLl0qKS9pXSxbdSxmXV19O3ZhciBVQVBhcnNlcj1mdW5jdGlvbihpLGUpe2lmKHR5cGVvZiBpPT09dyl7ZT1pO2k9YX1pZighKHRoaXMgaW5zdGFuY2VvZiBVQVBhcnNlcikpe3JldHVybiBuZXcgVUFQYXJzZXIoaSxlKS5nZXRSZXN1bHQoKX12YXIgcj10eXBlb2YgbyE9PWImJm8ubmF2aWdhdG9yP28ubmF2aWdhdG9yOmE7dmFyIG49aXx8KHImJnIudXNlckFnZW50P3IudXNlckFnZW50OnQpO3ZhciB2PXImJnIudXNlckFnZW50RGF0YT9yLnVzZXJBZ2VudERhdGE6YTt2YXIgeD1lP2V4dGVuZChLLGUpOks7dmFyIF89ciYmci51c2VyQWdlbnQ9PW47dGhpcy5nZXRCcm93c2VyPWZ1bmN0aW9uKCl7dmFyIGk9e307aVt1XT1hO2lbZl09YTtyZ3hNYXBwZXIuY2FsbChpLG4seC5icm93c2VyKTtpW2RdPW1ham9yaXplKGlbZl0pO2lmKF8mJnImJnIuYnJhdmUmJnR5cGVvZiByLmJyYXZlLmlzQnJhdmU9PXMpe2lbdV09XCJCcmF2ZVwifXJldHVybiBpfTt0aGlzLmdldENQVT1mdW5jdGlvbigpe3ZhciBpPXt9O2lbaF09YTtyZ3hNYXBwZXIuY2FsbChpLG4seC5jcHUpO3JldHVybiBpfTt0aGlzLmdldERldmljZT1mdW5jdGlvbigpe3ZhciBpPXt9O2lbbV09YTtpW2NdPWE7aVtwXT1hO3JneE1hcHBlci5jYWxsKGksbix4LmRldmljZSk7aWYoXyYmIWlbcF0mJnYmJnYubW9iaWxlKXtpW3BdPWd9aWYoXyYmaVtjXT09XCJNYWNpbnRvc2hcIiYmciYmdHlwZW9mIHIuc3RhbmRhbG9uZSE9PWImJnIubWF4VG91Y2hQb2ludHMmJnIubWF4VG91Y2hQb2ludHM+Mil7aVtjXT1cImlQYWRcIjtpW3BdPWt9cmV0dXJuIGl9O3RoaXMuZ2V0RW5naW5lPWZ1bmN0aW9uKCl7dmFyIGk9e307aVt1XT1hO2lbZl09YTtyZ3hNYXBwZXIuY2FsbChpLG4seC5lbmdpbmUpO3JldHVybiBpfTt0aGlzLmdldE9TPWZ1bmN0aW9uKCl7dmFyIGk9e307aVt1XT1hO2lbZl09YTtyZ3hNYXBwZXIuY2FsbChpLG4seC5vcyk7aWYoXyYmIWlbdV0mJnYmJnYucGxhdGZvcm0hPVwiVW5rbm93blwiKXtpW3VdPXYucGxhdGZvcm0ucmVwbGFjZSgvY2hyb21lIG9zL2ksTCkucmVwbGFjZSgvbWFjb3MvaSxaKX1yZXR1cm4gaX07dGhpcy5nZXRSZXN1bHQ9ZnVuY3Rpb24oKXtyZXR1cm57dWE6dGhpcy5nZXRVQSgpLGJyb3dzZXI6dGhpcy5nZXRCcm93c2VyKCksZW5naW5lOnRoaXMuZ2V0RW5naW5lKCksb3M6dGhpcy5nZXRPUygpLGRldmljZTp0aGlzLmdldERldmljZSgpLGNwdTp0aGlzLmdldENQVSgpfX07dGhpcy5nZXRVQT1mdW5jdGlvbigpe3JldHVybiBufTt0aGlzLnNldFVBPWZ1bmN0aW9uKGkpe249dHlwZW9mIGk9PT1sJiZpLmxlbmd0aD5xP3RyaW0oaSxxKTppO3JldHVybiB0aGlzfTt0aGlzLnNldFVBKG4pO3JldHVybiB0aGlzfTtVQVBhcnNlci5WRVJTSU9OPXI7VUFQYXJzZXIuQlJPV1NFUj1lbnVtZXJpemUoW3UsZixkXSk7VUFQYXJzZXIuQ1BVPWVudW1lcml6ZShbaF0pO1VBUGFyc2VyLkRFVklDRT1lbnVtZXJpemUoW2MsbSxwLHYsZyx4LGssXyx5XSk7VUFQYXJzZXIuRU5HSU5FPVVBUGFyc2VyLk9TPWVudW1lcml6ZShbdSxmXSk7aWYodHlwZW9mIGUhPT1iKXtpZihcIm9iamVjdFwiIT09YiYmaS5leHBvcnRzKXtlPWkuZXhwb3J0cz1VQVBhcnNlcn1lLlVBUGFyc2VyPVVBUGFyc2VyfWVsc2V7aWYodHlwZW9mIGRlZmluZT09PXMmJmRlZmluZS5hbWQpe2RlZmluZSgoZnVuY3Rpb24oKXtyZXR1cm4gVUFQYXJzZXJ9KSl9ZWxzZSBpZih0eXBlb2YgbyE9PWIpe28uVUFQYXJzZXI9VUFQYXJzZXJ9fXZhciBRPXR5cGVvZiBvIT09YiYmKG8ualF1ZXJ5fHxvLlplcHRvKTtpZihRJiYhUS51YSl7dmFyIFk9bmV3IFVBUGFyc2VyO1EudWE9WS5nZXRSZXN1bHQoKTtRLnVhLmdldD1mdW5jdGlvbigpe3JldHVybiBZLmdldFVBKCl9O1EudWEuc2V0PWZ1bmN0aW9uKGkpe1kuc2V0VUEoaSk7dmFyIGU9WS5nZXRSZXN1bHQoKTtmb3IodmFyIG8gaW4gZSl7US51YVtvXT1lW29dfX19fSkodHlwZW9mIHdpbmRvdz09PVwib2JqZWN0XCI/d2luZG93OnRoaXMpfX07dmFyIGU9e307ZnVuY3Rpb24gX19uY2N3cGNrX3JlcXVpcmVfXyhvKXt2YXIgYT1lW29dO2lmKGEhPT11bmRlZmluZWQpe3JldHVybiBhLmV4cG9ydHN9dmFyIHI9ZVtvXT17ZXhwb3J0czp7fX07dmFyIHQ9dHJ1ZTt0cnl7aVtvXS5jYWxsKHIuZXhwb3J0cyxyLHIuZXhwb3J0cyxfX25jY3dwY2tfcmVxdWlyZV9fKTt0PWZhbHNlfWZpbmFsbHl7aWYodClkZWxldGUgZVtvXX1yZXR1cm4gci5leHBvcnRzfWlmKHR5cGVvZiBfX25jY3dwY2tfcmVxdWlyZV9fIT09XCJ1bmRlZmluZWRcIilfX25jY3dwY2tfcmVxdWlyZV9fLmFiPV9fZGlybmFtZStcIi9cIjt2YXIgbz1fX25jY3dwY2tfcmVxdWlyZV9fKDIyNik7bW9kdWxlLmV4cG9ydHM9b30pKCk7Il0sIm5hbWVzIjpbImkiLCJlIiwibyIsImEiLCJyIiwidCIsIm4iLCJzIiwiYiIsInciLCJsIiwiZCIsImMiLCJ1IiwicCIsIm0iLCJmIiwiaCIsInYiLCJnIiwiayIsIngiLCJfIiwieSIsInEiLCJUIiwiUyIsInoiLCJOIiwiQSIsIkMiLCJFIiwiTyIsIlUiLCJqIiwiUCIsIlIiLCJNIiwiQiIsIlYiLCJEIiwiSSIsIlciLCJGIiwiRyIsIkgiLCJMIiwiWiIsImV4dGVuZCIsImxlbmd0aCIsImNvbmNhdCIsImVudW1lcml6ZSIsInRvVXBwZXJDYXNlIiwiaGFzIiwibG93ZXJpemUiLCJpbmRleE9mIiwidG9Mb3dlckNhc2UiLCJtYWpvcml6ZSIsInJlcGxhY2UiLCJzcGxpdCIsInRyaW0iLCJzdWJzdHJpbmciLCJyZ3hNYXBwZXIiLCJleGVjIiwiY2FsbCIsInRlc3QiLCJzdHJNYXBwZXIiLCIkIiwiWCIsIk1FIiwiWFAiLCJWaXN0YSIsIlJUIiwiSyIsImJyb3dzZXIiLCJjcHUiLCJkZXZpY2UiLCJlbmdpbmUiLCJvcyIsIlVBUGFyc2VyIiwiZ2V0UmVzdWx0IiwibmF2aWdhdG9yIiwidXNlckFnZW50IiwidXNlckFnZW50RGF0YSIsImdldEJyb3dzZXIiLCJicmF2ZSIsImlzQnJhdmUiLCJnZXRDUFUiLCJnZXREZXZpY2UiLCJtb2JpbGUiLCJzdGFuZGFsb25lIiwibWF4VG91Y2hQb2ludHMiLCJnZXRFbmdpbmUiLCJnZXRPUyIsInBsYXRmb3JtIiwidWEiLCJnZXRVQSIsInNldFVBIiwiVkVSU0lPTiIsIkJST1dTRVIiLCJDUFUiLCJERVZJQ0UiLCJFTkdJTkUiLCJPUyIsImV4cG9ydHMiLCJkZWZpbmUiLCJhbWQiLCJRIiwialF1ZXJ5IiwiWmVwdG8iLCJZIiwiZ2V0Iiwic2V0Iiwid2luZG93IiwiX19uY2N3cGNrX3JlcXVpcmVfXyIsInVuZGVmaW5lZCIsImFiIiwiX19kaXJuYW1lIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/lib/constants.js": /*!*************************************************!*\ !*** ./node_modules/next/dist/lib/constants.js ***! \*************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n NEXT_QUERY_PARAM_PREFIX: function() {\n return NEXT_QUERY_PARAM_PREFIX;\n },\n PRERENDER_REVALIDATE_HEADER: function() {\n return PRERENDER_REVALIDATE_HEADER;\n },\n PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER: function() {\n return PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER;\n },\n RSC_PREFETCH_SUFFIX: function() {\n return RSC_PREFETCH_SUFFIX;\n },\n RSC_SUFFIX: function() {\n return RSC_SUFFIX;\n },\n NEXT_DATA_SUFFIX: function() {\n return NEXT_DATA_SUFFIX;\n },\n NEXT_META_SUFFIX: function() {\n return NEXT_META_SUFFIX;\n },\n NEXT_BODY_SUFFIX: function() {\n return NEXT_BODY_SUFFIX;\n },\n NEXT_CACHE_TAGS_HEADER: function() {\n return NEXT_CACHE_TAGS_HEADER;\n },\n NEXT_CACHE_SOFT_TAGS_HEADER: function() {\n return NEXT_CACHE_SOFT_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATED_TAGS_HEADER: function() {\n return NEXT_CACHE_REVALIDATED_TAGS_HEADER;\n },\n NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER: function() {\n return NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER;\n },\n NEXT_CACHE_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_SOFT_TAG_MAX_LENGTH: function() {\n return NEXT_CACHE_SOFT_TAG_MAX_LENGTH;\n },\n NEXT_CACHE_IMPLICIT_TAG_ID: function() {\n return NEXT_CACHE_IMPLICIT_TAG_ID;\n },\n CACHE_ONE_YEAR: function() {\n return CACHE_ONE_YEAR;\n },\n MIDDLEWARE_FILENAME: function() {\n return MIDDLEWARE_FILENAME;\n },\n MIDDLEWARE_LOCATION_REGEXP: function() {\n return MIDDLEWARE_LOCATION_REGEXP;\n },\n INSTRUMENTATION_HOOK_FILENAME: function() {\n return INSTRUMENTATION_HOOK_FILENAME;\n },\n PAGES_DIR_ALIAS: function() {\n return PAGES_DIR_ALIAS;\n },\n DOT_NEXT_ALIAS: function() {\n return DOT_NEXT_ALIAS;\n },\n ROOT_DIR_ALIAS: function() {\n return ROOT_DIR_ALIAS;\n },\n APP_DIR_ALIAS: function() {\n return APP_DIR_ALIAS;\n },\n RSC_MOD_REF_PROXY_ALIAS: function() {\n return RSC_MOD_REF_PROXY_ALIAS;\n },\n RSC_ACTION_VALIDATE_ALIAS: function() {\n return RSC_ACTION_VALIDATE_ALIAS;\n },\n RSC_ACTION_PROXY_ALIAS: function() {\n return RSC_ACTION_PROXY_ALIAS;\n },\n RSC_ACTION_ENCRYPTION_ALIAS: function() {\n return RSC_ACTION_ENCRYPTION_ALIAS;\n },\n RSC_ACTION_CLIENT_WRAPPER_ALIAS: function() {\n return RSC_ACTION_CLIENT_WRAPPER_ALIAS;\n },\n PUBLIC_DIR_MIDDLEWARE_CONFLICT: function() {\n return PUBLIC_DIR_MIDDLEWARE_CONFLICT;\n },\n SSG_GET_INITIAL_PROPS_CONFLICT: function() {\n return SSG_GET_INITIAL_PROPS_CONFLICT;\n },\n SERVER_PROPS_GET_INIT_PROPS_CONFLICT: function() {\n return SERVER_PROPS_GET_INIT_PROPS_CONFLICT;\n },\n SERVER_PROPS_SSG_CONFLICT: function() {\n return SERVER_PROPS_SSG_CONFLICT;\n },\n STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR: function() {\n return STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR;\n },\n SERVER_PROPS_EXPORT_ERROR: function() {\n return SERVER_PROPS_EXPORT_ERROR;\n },\n GSP_NO_RETURNED_VALUE: function() {\n return GSP_NO_RETURNED_VALUE;\n },\n GSSP_NO_RETURNED_VALUE: function() {\n return GSSP_NO_RETURNED_VALUE;\n },\n UNSTABLE_REVALIDATE_RENAME_ERROR: function() {\n return UNSTABLE_REVALIDATE_RENAME_ERROR;\n },\n GSSP_COMPONENT_MEMBER_ERROR: function() {\n return GSSP_COMPONENT_MEMBER_ERROR;\n },\n NON_STANDARD_NODE_ENV: function() {\n return NON_STANDARD_NODE_ENV;\n },\n SSG_FALLBACK_EXPORT_ERROR: function() {\n return SSG_FALLBACK_EXPORT_ERROR;\n },\n ESLINT_DEFAULT_DIRS: function() {\n return ESLINT_DEFAULT_DIRS;\n },\n ESLINT_PROMPT_VALUES: function() {\n return ESLINT_PROMPT_VALUES;\n },\n SERVER_RUNTIME: function() {\n return SERVER_RUNTIME;\n },\n WEBPACK_LAYERS: function() {\n return WEBPACK_LAYERS;\n },\n WEBPACK_RESOURCE_QUERIES: function() {\n return WEBPACK_RESOURCE_QUERIES;\n }\n});\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst PRERENDER_REVALIDATE_HEADER = \"x-prerender-revalidate\";\nconst PRERENDER_REVALIDATE_ONLY_GENERATED_HEADER = \"x-prerender-revalidate-if-generated\";\nconst RSC_PREFETCH_SUFFIX = \".prefetch.rsc\";\nconst RSC_SUFFIX = \".rsc\";\nconst NEXT_DATA_SUFFIX = \".json\";\nconst NEXT_META_SUFFIX = \".meta\";\nconst NEXT_BODY_SUFFIX = \".body\";\nconst NEXT_CACHE_TAGS_HEADER = \"x-next-cache-tags\";\nconst NEXT_CACHE_SOFT_TAGS_HEADER = \"x-next-cache-soft-tags\";\nconst NEXT_CACHE_REVALIDATED_TAGS_HEADER = \"x-next-revalidated-tags\";\nconst NEXT_CACHE_REVALIDATE_TAG_TOKEN_HEADER = \"x-next-revalidate-tag-token\";\nconst NEXT_CACHE_TAG_MAX_LENGTH = 256;\nconst NEXT_CACHE_SOFT_TAG_MAX_LENGTH = 1024;\nconst NEXT_CACHE_IMPLICIT_TAG_ID = \"_N_T_\";\nconst CACHE_ONE_YEAR = 31536000;\nconst MIDDLEWARE_FILENAME = \"middleware\";\nconst MIDDLEWARE_LOCATION_REGEXP = `(?:src/)?${MIDDLEWARE_FILENAME}`;\nconst INSTRUMENTATION_HOOK_FILENAME = \"instrumentation\";\nconst PAGES_DIR_ALIAS = \"private-next-pages\";\nconst DOT_NEXT_ALIAS = \"private-dot-next\";\nconst ROOT_DIR_ALIAS = \"private-next-root-dir\";\nconst APP_DIR_ALIAS = \"private-next-app-dir\";\nconst RSC_MOD_REF_PROXY_ALIAS = \"next/dist/build/webpack/loaders/next-flight-loader/module-proxy\";\nconst RSC_ACTION_VALIDATE_ALIAS = \"private-next-rsc-action-validate\";\nconst RSC_ACTION_PROXY_ALIAS = \"private-next-rsc-action-proxy\";\nconst RSC_ACTION_ENCRYPTION_ALIAS = \"private-next-rsc-action-encryption\";\nconst RSC_ACTION_CLIENT_WRAPPER_ALIAS = \"private-next-rsc-action-client-wrapper\";\nconst PUBLIC_DIR_MIDDLEWARE_CONFLICT = `You can not have a '_next' folder inside of your public folder. This conflicts with the internal '/_next' route. https://nextjs.org/docs/messages/public-next-folder-conflict`;\nconst SSG_GET_INITIAL_PROPS_CONFLICT = `You can not use getInitialProps with getStaticProps. To use SSG, please remove your getInitialProps`;\nconst SERVER_PROPS_GET_INIT_PROPS_CONFLICT = `You can not use getInitialProps with getServerSideProps. Please remove getInitialProps.`;\nconst SERVER_PROPS_SSG_CONFLICT = `You can not use getStaticProps or getStaticPaths with getServerSideProps. To use SSG, please remove getServerSideProps`;\nconst STATIC_STATUS_PAGE_GET_INITIAL_PROPS_ERROR = `can not have getInitialProps/getServerSideProps, https://nextjs.org/docs/messages/404-get-initial-props`;\nconst SERVER_PROPS_EXPORT_ERROR = `pages with \\`getServerSideProps\\` can not be exported. See more info here: https://nextjs.org/docs/messages/gssp-export`;\nconst GSP_NO_RETURNED_VALUE = \"Your `getStaticProps` function did not return an object. Did you forget to add a `return`?\";\nconst GSSP_NO_RETURNED_VALUE = \"Your `getServerSideProps` function did not return an object. Did you forget to add a `return`?\";\nconst UNSTABLE_REVALIDATE_RENAME_ERROR = \"The `unstable_revalidate` property is available for general use.\\n\" + \"Please use `revalidate` instead.\";\nconst GSSP_COMPONENT_MEMBER_ERROR = `can not be attached to a page's component and must be exported from the page. See more info here: https://nextjs.org/docs/messages/gssp-component-member`;\nconst NON_STANDARD_NODE_ENV = `You are using a non-standard \"NODE_ENV\" value in your environment. This creates inconsistencies in the project and is strongly advised against. Read more: https://nextjs.org/docs/messages/non-standard-node-env`;\nconst SSG_FALLBACK_EXPORT_ERROR = `Pages with \\`fallback\\` enabled in \\`getStaticPaths\\` can not be exported. See more info here: https://nextjs.org/docs/messages/ssg-fallback-true-export`;\nconst ESLINT_DEFAULT_DIRS = [\n \"app\",\n \"pages\",\n \"components\",\n \"lib\",\n \"src\"\n];\nconst ESLINT_PROMPT_VALUES = [\n {\n title: \"Strict\",\n recommended: true,\n config: {\n extends: \"next/core-web-vitals\"\n }\n },\n {\n title: \"Base\",\n config: {\n extends: \"next\"\n }\n },\n {\n title: \"Cancel\",\n config: null\n }\n];\nconst SERVER_RUNTIME = {\n edge: \"edge\",\n experimentalEdge: \"experimental-edge\",\n nodejs: \"nodejs\"\n};\n/**\n * The names of the webpack layers. These layers are the primitives for the\n * webpack chunks.\n */ const WEBPACK_LAYERS_NAMES = {\n /**\n * The layer for the shared code between the client and server bundles.\n */ shared: \"shared\",\n /**\n * React Server Components layer (rsc).\n */ reactServerComponents: \"rsc\",\n /**\n * Server Side Rendering layer for app (ssr).\n */ serverSideRendering: \"ssr\",\n /**\n * The browser client bundle layer for actions.\n */ actionBrowser: \"action-browser\",\n /**\n * The layer for the API routes.\n */ api: \"api\",\n /**\n * The layer for the middleware code.\n */ middleware: \"middleware\",\n /**\n * The layer for assets on the edge.\n */ edgeAsset: \"edge-asset\",\n /**\n * The browser client bundle layer for App directory.\n */ appPagesBrowser: \"app-pages-browser\",\n /**\n * The server bundle layer for metadata routes.\n */ appMetadataRoute: \"app-metadata-route\",\n /**\n * The layer for the server bundle for App Route handlers.\n */ appRouteHandler: \"app-route-handler\"\n};\nconst WEBPACK_LAYERS = {\n ...WEBPACK_LAYERS_NAMES,\n GROUP: {\n server: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler\n ],\n nonClientServerTarget: [\n // plus middleware and pages api\n WEBPACK_LAYERS_NAMES.middleware,\n WEBPACK_LAYERS_NAMES.api\n ],\n app: [\n WEBPACK_LAYERS_NAMES.reactServerComponents,\n WEBPACK_LAYERS_NAMES.actionBrowser,\n WEBPACK_LAYERS_NAMES.appMetadataRoute,\n WEBPACK_LAYERS_NAMES.appRouteHandler,\n WEBPACK_LAYERS_NAMES.serverSideRendering,\n WEBPACK_LAYERS_NAMES.appPagesBrowser,\n WEBPACK_LAYERS_NAMES.shared\n ]\n }\n};\nconst WEBPACK_RESOURCE_QUERIES = {\n edgeSSREntry: \"__next_edge_ssr_entry__\",\n metadata: \"__next_metadata__\",\n metadataRoute: \"__next_metadata_route__\",\n metadataImageMeta: \"__next_metadata_image_meta__\"\n}; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9jb25zdGFudHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0E4Q047QUFDQSxTQUFTOEMsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXBELE9BQU9DLGNBQWMsQ0FBQ2tELFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUWhELFNBQVM7SUFDYkcseUJBQXlCO1FBQ3JCLE9BQU9BO0lBQ1g7SUFDQUMsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7SUFDQUMsNENBQTRDO1FBQ3hDLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsd0JBQXdCO1FBQ3BCLE9BQU9BO0lBQ1g7SUFDQUMsNkJBQTZCO1FBQ3pCLE9BQU9BO0lBQ1g7SUFDQUMsb0NBQW9DO1FBQ2hDLE9BQU9BO0lBQ1g7SUFDQUMsd0NBQXdDO1FBQ3BDLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsZ0NBQWdDO1FBQzVCLE9BQU9BO0lBQ1g7SUFDQUMsNEJBQTRCO1FBQ3hCLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQywrQkFBK0I7UUFDM0IsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJ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bUI7QUFDdkIsR0FFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvY29uc3RhbnRzLmpzPzgxY2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWDogbnVsbCxcbiAgICBQUkVSRU5ERVJfUkVWQUxJREFURV9IRUFERVI6IG51bGwsXG4gICAgUFJFUkVOREVSX1JFVkFMSURBVEVfT05MWV9HRU5FUkFURURfSEVBREVSOiBudWxsLFxuICAgIFJTQ19QUkVGRVRDSF9TVUZGSVg6IG51bGwsXG4gICAgUlNDX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX0RBVEFfU1VGRklYOiBudWxsLFxuICAgIE5FWFRfTUVUQV9TVUZGSVg6IG51bGwsXG4gICAgTkVYVF9CT0RZX1NVRkZJWDogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1RBR1NfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUjogbnVsbCxcbiAgICBORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfUkVWQUxJREFURV9UQUdfVE9LRU5fSEVBREVSOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEg6IG51bGwsXG4gICAgTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIOiBudWxsLFxuICAgIE5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEOiBudWxsLFxuICAgIENBQ0hFX09ORV9ZRUFSOiBudWxsLFxuICAgIE1JRERMRVdBUkVfRklMRU5BTUU6IG51bGwsXG4gICAgTUlERExFV0FSRV9MT0NBVElPTl9SRUdFWFA6IG51bGwsXG4gICAgSU5TVFJVTUVOVEFUSU9OX0hPT0tfRklMRU5BTUU6IG51bGwsXG4gICAgUEFHRVNfRElSX0FMSUFTOiBudWxsLFxuICAgIERPVF9ORVhUX0FMSUFTOiBudWxsLFxuICAgIFJPT1RfRElSX0FMSUFTOiBudWxsLFxuICAgIEFQUF9ESVJfQUxJQVM6IG51bGwsXG4gICAgUlNDX01PRF9SRUZfUFJPWFlfQUxJQVM6IG51bGwsXG4gICAgUlNDX0FDVElPTl9WQUxJREFURV9BTElBUzogbnVsbCxcbiAgICBSU0NfQUNUSU9OX1BST1hZX0FMSUFTOiBudWxsLFxuICAgIFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUzogbnVsbCxcbiAgICBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTOiBudWxsLFxuICAgIFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDogbnVsbCxcbiAgICBTU0dfR0VUX0lOSVRJQUxfUFJPUFNfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUOiBudWxsLFxuICAgIFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q6IG51bGwsXG4gICAgU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SOiBudWxsLFxuICAgIFNFUlZFUl9QUk9QU19FWFBPUlRfRVJST1I6IG51bGwsXG4gICAgR1NQX05PX1JFVFVSTkVEX1ZBTFVFOiBudWxsLFxuICAgIEdTU1BfTk9fUkVUVVJORURfVkFMVUU6IG51bGwsXG4gICAgVU5TVEFCTEVfUkVWQUxJREFURV9SRU5BTUVfRVJST1I6IG51bGwsXG4gICAgR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SOiBudWxsLFxuICAgIE5PTl9TVEFOREFSRF9OT0RFX0VOVjogbnVsbCxcbiAgICBTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SOiBudWxsLFxuICAgIEVTTElOVF9ERUZBVUxUX0RJUlM6IG51bGwsXG4gICAgRVNMSU5UX1BST01QVF9WQUxVRVM6IG51bGwsXG4gICAgU0VSVkVSX1JVTlRJTUU6IG51bGwsXG4gICAgV0VCUEFDS19MQVlFUlM6IG51bGwsXG4gICAgV0VCUEFDS19SRVNPVVJDRV9RVUVSSUVTOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIE5FWFRfUVVFUllfUEFSQU1fUFJFRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfUVVFUllfUEFSQU1fUFJFRklYO1xuICAgIH0sXG4gICAgUFJFUkVOREVSX1JFVkFMSURBVEVfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUjtcbiAgICB9LFxuICAgIFBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVI7XG4gICAgfSxcbiAgICBSU0NfUFJFRkVUQ0hfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19QUkVGRVRDSF9TVUZGSVg7XG4gICAgfSxcbiAgICBSU0NfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19TVUZGSVg7XG4gICAgfSxcbiAgICBORVhUX0RBVEFfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfREFUQV9TVUZGSVg7XG4gICAgfSxcbiAgICBORVhUX01FVEFfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfTUVUQV9TVUZGSVg7XG4gICAgfSxcbiAgICBORVhUX0JPRFlfU1VGRklYOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQk9EWV9TVUZGSVg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1RBR1NfSEVBREVSOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfVEFHU19IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1NPRlRfVEFHU19IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9SRVZBTElEQVRFRF9UQUdTX0hFQURFUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9SRVZBTElEQVRFX1RBR19UT0tFTl9IRUFERVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9SRVZBTElEQVRFX1RBR19UT0tFTl9IRUFERVI7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1RBR19NQVhfTEVOR1RIOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEg7XG4gICAgfSxcbiAgICBORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9TT0ZUX1RBR19NQVhfTEVOR1RIO1xuICAgIH0sXG4gICAgTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQ7XG4gICAgfSxcbiAgICBDQUNIRV9PTkVfWUVBUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBDQUNIRV9PTkVfWUVBUjtcbiAgICB9LFxuICAgIE1JRERMRVdBUkVfRklMRU5BTUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTUlERExFV0FSRV9GSUxFTkFNRTtcbiAgICB9LFxuICAgIE1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQO1xuICAgIH0sXG4gICAgSU5TVFJVTUVOVEFUSU9OX0hPT0tfRklMRU5BTUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5TVFJVTUVOVEFUSU9OX0hPT0tfRklMRU5BTUU7XG4gICAgfSxcbiAgICBQQUdFU19ESVJfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUEFHRVNfRElSX0FMSUFTO1xuICAgIH0sXG4gICAgRE9UX05FWFRfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRE9UX05FWFRfQUxJQVM7XG4gICAgfSxcbiAgICBST09UX0RJUl9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBST09UX0RJUl9BTElBUztcbiAgICB9LFxuICAgIEFQUF9ESVJfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gQVBQX0RJUl9BTElBUztcbiAgICB9LFxuICAgIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9WQUxJREFURV9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfQUNUSU9OX1ZBTElEQVRFX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9QUk9YWV9BTElBUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSU0NfQUNUSU9OX1BST1hZX0FMSUFTO1xuICAgIH0sXG4gICAgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJTQ19BQ1RJT05fRU5DUllQVElPTl9BTElBUztcbiAgICB9LFxuICAgIFJTQ19BQ1RJT05fQ0xJRU5UX1dSQVBQRVJfQUxJQVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUlNDX0FDVElPTl9DTElFTlRfV1JBUFBFUl9BTElBUztcbiAgICB9LFxuICAgIFBVQkxJQ19ESVJfTUlERExFV0FSRV9DT05GTElDVDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQVUJMSUNfRElSX01JRERMRVdBUkVfQ09ORkxJQ1Q7XG4gICAgfSxcbiAgICBTU0dfR0VUX0lOSVRJQUxfUFJPUFNfQ09ORkxJQ1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUO1xuICAgIH0sXG4gICAgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9QUk9QU19HRVRfSU5JVF9QUk9QU19DT05GTElDVDtcbiAgICB9LFxuICAgIFNFUlZFUl9QUk9QU19TU0dfQ09ORkxJQ1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1BST1BTX1NTR19DT05GTElDVDtcbiAgICB9LFxuICAgIFNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTVEFUSUNfU1RBVFVTX1BBR0VfR0VUX0lOSVRJQUxfUFJPUFNfRVJST1I7XG4gICAgfSxcbiAgICBTRVJWRVJfUFJPUFNfRVhQT1JUX0VSUk9SOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNFUlZFUl9QUk9QU19FWFBPUlRfRVJST1I7XG4gICAgfSxcbiAgICBHU1BfTk9fUkVUVVJORURfVkFMVUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NQX05PX1JFVFVSTkVEX1ZBTFVFO1xuICAgIH0sXG4gICAgR1NTUF9OT19SRVRVUk5FRF9WQUxVRTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFO1xuICAgIH0sXG4gICAgVU5TVEFCTEVfUkVWQUxJREFURV9SRU5BTUVfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gVU5TVEFCTEVfUkVWQUxJREFURV9SRU5BTUVfRVJST1I7XG4gICAgfSxcbiAgICBHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SO1xuICAgIH0sXG4gICAgTk9OX1NUQU5EQVJEX05PREVfRU5WOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5PTl9TVEFOREFSRF9OT0RFX0VOVjtcbiAgICB9LFxuICAgIFNTR19GQUxMQkFDS19FWFBPUlRfRVJST1I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1NHX0ZBTExCQUNLX0VYUE9SVF9FUlJPUjtcbiAgICB9LFxuICAgIEVTTElOVF9ERUZBVUxUX0RJUlM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gRVNMSU5UX0RFRkFVTFRfRElSUztcbiAgICB9LFxuICAgIEVTTElOVF9QUk9NUFRfVkFMVUVTOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEVTTElOVF9QUk9NUFRfVkFMVUVTO1xuICAgIH0sXG4gICAgU0VSVkVSX1JVTlRJTUU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU0VSVkVSX1JVTlRJTUU7XG4gICAgfSxcbiAgICBXRUJQQUNLX0xBWUVSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBXRUJQQUNLX0xBWUVSUztcbiAgICB9LFxuICAgIFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBXRUJQQUNLX1JFU09VUkNFX1FVRVJJRVM7XG4gICAgfVxufSk7XG5jb25zdCBORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCA9IFwibnh0UFwiO1xuY29uc3QgUFJFUkVOREVSX1JFVkFMSURBVEVfSEVBREVSID0gXCJ4LXByZXJlbmRlci1yZXZhbGlkYXRlXCI7XG5jb25zdCBQUkVSRU5ERVJfUkVWQUxJREFURV9PTkxZX0dFTkVSQVRFRF9IRUFERVIgPSBcIngtcHJlcmVuZGVyLXJldmFsaWRhdGUtaWYtZ2VuZXJhdGVkXCI7XG5jb25zdCBSU0NfUFJFRkVUQ0hfU1VGRklYID0gXCIucHJlZmV0Y2gucnNjXCI7XG5jb25zdCBSU0NfU1VGRklYID0gXCIucnNjXCI7XG5jb25zdCBORVhUX0RBVEFfU1VGRklYID0gXCIuanNvblwiO1xuY29uc3QgTkVYVF9NRVRBX1NVRkZJWCA9IFwiLm1ldGFcIjtcbmNvbnN0IE5FWFRfQk9EWV9TVUZGSVggPSBcIi5ib2R5XCI7XG5jb25zdCBORVhUX0NBQ0hFX1RBR1NfSEVBREVSID0gXCJ4LW5leHQtY2FjaGUtdGFnc1wiO1xuY29uc3QgTkVYVF9DQUNIRV9TT0ZUX1RBR1NfSEVBREVSID0gXCJ4LW5leHQtY2FjaGUtc29mdC10YWdzXCI7XG5jb25zdCBORVhUX0NBQ0hFX1JFVkFMSURBVEVEX1RBR1NfSEVBREVSID0gXCJ4LW5leHQtcmV2YWxpZGF0ZWQtdGFnc1wiO1xuY29uc3QgTkVYVF9DQUNIRV9SRVZBTElEQVRFX1RBR19UT0tFTl9IRUFERVIgPSBcIngtbmV4dC1yZXZhbGlkYXRlLXRhZy10b2tlblwiO1xuY29uc3QgTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSCA9IDI1NjtcbmNvbnN0IE5FWFRfQ0FDSEVfU09GVF9UQUdfTUFYX0xFTkdUSCA9IDEwMjQ7XG5jb25zdCBORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRCA9IFwiX05fVF9cIjtcbmNvbnN0IENBQ0hFX09ORV9ZRUFSID0gMzE1MzYwMDA7XG5jb25zdCBNSURETEVXQVJFX0ZJTEVOQU1FID0gXCJtaWRkbGV3YXJlXCI7XG5jb25zdCBNSURETEVXQVJFX0xPQ0FUSU9OX1JFR0VYUCA9IGAoPzpzcmMvKT8ke01JRERMRVdBUkVfRklMRU5BTUV9YDtcbmNvbnN0IElOU1RSVU1FTlRBVElPTl9IT09LX0ZJTEVOQU1FID0gXCJpbnN0cnVtZW50YXRpb25cIjtcbmNvbnN0IFBBR0VTX0RJUl9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LXBhZ2VzXCI7XG5jb25zdCBET1RfTkVYVF9BTElBUyA9IFwicHJpdmF0ZS1kb3QtbmV4dFwiO1xuY29uc3QgUk9PVF9ESVJfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yb290LWRpclwiO1xuY29uc3QgQVBQX0RJUl9BTElBUyA9IFwicHJpdmF0ZS1uZXh0LWFwcC1kaXJcIjtcbmNvbnN0IFJTQ19NT0RfUkVGX1BST1hZX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLW1vZC1yZWYtcHJveHlcIjtcbmNvbnN0IFJTQ19BQ1RJT05fVkFMSURBVEVfQUxJQVMgPSBcInByaXZhdGUtbmV4dC1yc2MtYWN0aW9uLXZhbGlkYXRlXCI7XG5jb25zdCBSU0NfQUNUSU9OX1BST1hZX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi1wcm94eVwiO1xuY29uc3QgUlNDX0FDVElPTl9FTkNSWVBUSU9OX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi1lbmNyeXB0aW9uXCI7XG5jb25zdCBSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTID0gXCJwcml2YXRlLW5leHQtcnNjLWFjdGlvbi1jbGllbnQtd3JhcHBlclwiO1xuY29uc3QgUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IGhhdmUgYSAnX25leHQnIGZvbGRlciBpbnNpZGUgb2YgeW91ciBwdWJsaWMgZm9sZGVyLiBUaGlzIGNvbmZsaWN0cyB3aXRoIHRoZSBpbnRlcm5hbCAnL19uZXh0JyByb3V0ZS4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvcHVibGljLW5leHQtZm9sZGVyLWNvbmZsaWN0YDtcbmNvbnN0IFNTR19HRVRfSU5JVElBTF9QUk9QU19DT05GTElDVCA9IGBZb3UgY2FuIG5vdCB1c2UgZ2V0SW5pdGlhbFByb3BzIHdpdGggZ2V0U3RhdGljUHJvcHMuIFRvIHVzZSBTU0csIHBsZWFzZSByZW1vdmUgeW91ciBnZXRJbml0aWFsUHJvcHNgO1xuY29uc3QgU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IHVzZSBnZXRJbml0aWFsUHJvcHMgd2l0aCBnZXRTZXJ2ZXJTaWRlUHJvcHMuIFBsZWFzZSByZW1vdmUgZ2V0SW5pdGlhbFByb3BzLmA7XG5jb25zdCBTRVJWRVJfUFJPUFNfU1NHX0NPTkZMSUNUID0gYFlvdSBjYW4gbm90IHVzZSBnZXRTdGF0aWNQcm9wcyBvciBnZXRTdGF0aWNQYXRocyB3aXRoIGdldFNlcnZlclNpZGVQcm9wcy4gVG8gdXNlIFNTRywgcGxlYXNlIHJlbW92ZSBnZXRTZXJ2ZXJTaWRlUHJvcHNgO1xuY29uc3QgU1RBVElDX1NUQVRVU19QQUdFX0dFVF9JTklUSUFMX1BST1BTX0VSUk9SID0gYGNhbiBub3QgaGF2ZSBnZXRJbml0aWFsUHJvcHMvZ2V0U2VydmVyU2lkZVByb3BzLCBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy80MDQtZ2V0LWluaXRpYWwtcHJvcHNgO1xuY29uc3QgU0VSVkVSX1BST1BTX0VYUE9SVF9FUlJPUiA9IGBwYWdlcyB3aXRoIFxcYGdldFNlcnZlclNpZGVQcm9wc1xcYCBjYW4gbm90IGJlIGV4cG9ydGVkLiBTZWUgbW9yZSBpbmZvIGhlcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2dzc3AtZXhwb3J0YDtcbmNvbnN0IEdTUF9OT19SRVRVUk5FRF9WQUxVRSA9IFwiWW91ciBgZ2V0U3RhdGljUHJvcHNgIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYWRkIGEgYHJldHVybmA/XCI7XG5jb25zdCBHU1NQX05PX1JFVFVSTkVEX1ZBTFVFID0gXCJZb3VyIGBnZXRTZXJ2ZXJTaWRlUHJvcHNgIGZ1bmN0aW9uIGRpZCBub3QgcmV0dXJuIGFuIG9iamVjdC4gRGlkIHlvdSBmb3JnZXQgdG8gYWRkIGEgYHJldHVybmA/XCI7XG5jb25zdCBVTlNUQUJMRV9SRVZBTElEQVRFX1JFTkFNRV9FUlJPUiA9IFwiVGhlIGB1bnN0YWJsZV9yZXZhbGlkYXRlYCBwcm9wZXJ0eSBpcyBhdmFpbGFibGUgZm9yIGdlbmVyYWwgdXNlLlxcblwiICsgXCJQbGVhc2UgdXNlIGByZXZhbGlkYXRlYCBpbnN0ZWFkLlwiO1xuY29uc3QgR1NTUF9DT01QT05FTlRfTUVNQkVSX0VSUk9SID0gYGNhbiBub3QgYmUgYXR0YWNoZWQgdG8gYSBwYWdlJ3MgY29tcG9uZW50IGFuZCBtdXN0IGJlIGV4cG9ydGVkIGZyb20gdGhlIHBhZ2UuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ3NzcC1jb21wb25lbnQtbWVtYmVyYDtcbmNvbnN0IE5PTl9TVEFOREFSRF9OT0RFX0VOViA9IGBZb3UgYXJlIHVzaW5nIGEgbm9uLXN0YW5kYXJkIFwiTk9ERV9FTlZcIiB2YWx1ZSBpbiB5b3VyIGVudmlyb25tZW50LiBUaGlzIGNyZWF0ZXMgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBwcm9qZWN0IGFuZCBpcyBzdHJvbmdseSBhZHZpc2VkIGFnYWluc3QuIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbm9uLXN0YW5kYXJkLW5vZGUtZW52YDtcbmNvbnN0IFNTR19GQUxMQkFDS19FWFBPUlRfRVJST1IgPSBgUGFnZXMgd2l0aCBcXGBmYWxsYmFja1xcYCBlbmFibGVkIGluIFxcYGdldFN0YXRpY1BhdGhzXFxgIGNhbiBub3QgYmUgZXhwb3J0ZWQuIFNlZSBtb3JlIGluZm8gaGVyZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvc3NnLWZhbGxiYWNrLXRydWUtZXhwb3J0YDtcbmNvbnN0IEVTTElOVF9ERUZBVUxUX0RJUlMgPSBbXG4gICAgXCJhcHBcIixcbiAgICBcInBhZ2VzXCIsXG4gICAgXCJjb21wb25lbnRzXCIsXG4gICAgXCJsaWJcIixcbiAgICBcInNyY1wiXG5dO1xuY29uc3QgRVNMSU5UX1BST01QVF9WQUxVRVMgPSBbXG4gICAge1xuICAgICAgICB0aXRsZTogXCJTdHJpY3RcIixcbiAgICAgICAgcmVjb21tZW5kZWQ6IHRydWUsXG4gICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgZXh0ZW5kczogXCJuZXh0L2NvcmUtd2ViLXZpdGFsc1wiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGl0bGU6IFwiQmFzZVwiLFxuICAgICAgICBjb25maWc6IHtcbiAgICAgICAgICAgIGV4dGVuZHM6IFwibmV4dFwiXG4gICAgICAgIH1cbiAgICB9LFxuICAgIHtcbiAgICAgICAgdGl0bGU6IFwiQ2FuY2VsXCIsXG4gICAgICAgIGNvbmZpZzogbnVsbFxuICAgIH1cbl07XG5jb25zdCBTRVJWRVJfUlVOVElNRSA9IHtcbiAgICBlZGdlOiBcImVkZ2VcIixcbiAgICBleHBlcmltZW50YWxFZGdlOiBcImV4cGVyaW1lbnRhbC1lZGdlXCIsXG4gICAgbm9kZWpzOiBcIm5vZGVqc1wiXG59O1xuLyoqXG4gKiBUaGUgbmFtZXMgb2YgdGhlIHdlYnBhY2sgbGF5ZXJzLiBUaGVzZSBsYXllcnMgYXJlIHRoZSBwcmltaXRpdmVzIGZvciB0aGVcbiAqIHdlYnBhY2sgY2h1bmtzLlxuICovIGNvbnN0IFdFQlBBQ0tfTEFZRVJTX05BTUVTID0ge1xuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIHRoZSBzaGFyZWQgY29kZSBiZXR3ZWVuIHRoZSBjbGllbnQgYW5kIHNlcnZlciBidW5kbGVzLlxuICAgKi8gc2hhcmVkOiBcInNoYXJlZFwiLFxuICAgIC8qKlxuICAgKiBSZWFjdCBTZXJ2ZXIgQ29tcG9uZW50cyBsYXllciAocnNjKS5cbiAgICovIHJlYWN0U2VydmVyQ29tcG9uZW50czogXCJyc2NcIixcbiAgICAvKipcbiAgICogU2VydmVyIFNpZGUgUmVuZGVyaW5nIGxheWVyIGZvciBhcHAgKHNzcikuXG4gICAqLyBzZXJ2ZXJTaWRlUmVuZGVyaW5nOiBcInNzclwiLFxuICAgIC8qKlxuICAgKiBUaGUgYnJvd3NlciBjbGllbnQgYnVuZGxlIGxheWVyIGZvciBhY3Rpb25zLlxuICAgKi8gYWN0aW9uQnJvd3NlcjogXCJhY3Rpb24tYnJvd3NlclwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIHRoZSBBUEkgcm91dGVzLlxuICAgKi8gYXBpOiBcImFwaVwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIHRoZSBtaWRkbGV3YXJlIGNvZGUuXG4gICAqLyBtaWRkbGV3YXJlOiBcIm1pZGRsZXdhcmVcIixcbiAgICAvKipcbiAgICogVGhlIGxheWVyIGZvciBhc3NldHMgb24gdGhlIGVkZ2UuXG4gICAqLyBlZGdlQXNzZXQ6IFwiZWRnZS1hc3NldFwiLFxuICAgIC8qKlxuICAgKiBUaGUgYnJvd3NlciBjbGllbnQgYnVuZGxlIGxheWVyIGZvciBBcHAgZGlyZWN0b3J5LlxuICAgKi8gYXBwUGFnZXNCcm93c2VyOiBcImFwcC1wYWdlcy1icm93c2VyXCIsXG4gICAgLyoqXG4gICAqIFRoZSBzZXJ2ZXIgYnVuZGxlIGxheWVyIGZvciBtZXRhZGF0YSByb3V0ZXMuXG4gICAqLyBhcHBNZXRhZGF0YVJvdXRlOiBcImFwcC1tZXRhZGF0YS1yb3V0ZVwiLFxuICAgIC8qKlxuICAgKiBUaGUgbGF5ZXIgZm9yIHRoZSBzZXJ2ZXIgYnVuZGxlIGZvciBBcHAgUm91dGUgaGFuZGxlcnMuXG4gICAqLyBhcHBSb3V0ZUhhbmRsZXI6IFwiYXBwLXJvdXRlLWhhbmRsZXJcIlxufTtcbmNvbnN0IFdFQlBBQ0tfTEFZRVJTID0ge1xuICAgIC4uLldFQlBBQ0tfTEFZRVJTX05BTUVTLFxuICAgIEdST1VQOiB7XG4gICAgICAgIHNlcnZlcjogW1xuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMucmVhY3RTZXJ2ZXJDb21wb25lbnRzLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYWN0aW9uQnJvd3NlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcE1ldGFkYXRhUm91dGUsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBSb3V0ZUhhbmRsZXJcbiAgICAgICAgXSxcbiAgICAgICAgbm9uQ2xpZW50U2VydmVyVGFyZ2V0OiBbXG4gICAgICAgICAgICAvLyBwbHVzIG1pZGRsZXdhcmUgYW5kIHBhZ2VzIGFwaVxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMubWlkZGxld2FyZSxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwaVxuICAgICAgICBdLFxuICAgICAgICBhcHA6IFtcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnJlYWN0U2VydmVyQ29tcG9uZW50cyxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFjdGlvbkJyb3dzZXIsXG4gICAgICAgICAgICBXRUJQQUNLX0xBWUVSU19OQU1FUy5hcHBNZXRhZGF0YVJvdXRlLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuYXBwUm91dGVIYW5kbGVyLFxuICAgICAgICAgICAgV0VCUEFDS19MQVlFUlNfTkFNRVMuc2VydmVyU2lkZVJlbmRlcmluZyxcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLmFwcFBhZ2VzQnJvd3NlcixcbiAgICAgICAgICAgIFdFQlBBQ0tfTEFZRVJTX05BTUVTLnNoYXJlZFxuICAgICAgICBdXG4gICAgfVxufTtcbmNvbnN0IFdFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUyA9IHtcbiAgICBlZGdlU1NSRW50cnk6IFwiX19uZXh0X2VkZ2Vfc3NyX2VudHJ5X19cIixcbiAgICBtZXRhZGF0YTogXCJfX25leHRfbWV0YWRhdGFfX1wiLFxuICAgIG1ldGFkYXRhUm91dGU6IFwiX19uZXh0X21ldGFkYXRhX3JvdXRlX19cIixcbiAgICBtZXRhZGF0YUltYWdlTWV0YTogXCJfX25leHRfbWV0YWRhdGFfaW1hZ2VfbWV0YV9fXCJcbn07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsIlBSRVJFTkRFUl9SRVZBTElEQVRFX0hFQURFUiIsIlBSRVJFTkRFUl9SRVZBTElEQVRFX09OTFlfR0VORVJBVEVEX0hFQURFUiIsIlJTQ19QUkVGRVRDSF9TVUZGSVgiLCJSU0NfU1VGRklYIiwiTkVYVF9EQVRBX1NVRkZJWCIsIk5FWFRfTUVUQV9TVUZGSVgiLCJORVhUX0JPRFlfU1VGRklYIiwiTkVYVF9DQUNIRV9UQUdTX0hFQURFUiIsIk5FWFRfQ0FDSEVfU09GVF9UQUdTX0hFQURFUiIsIk5FWFRfQ0FDSEVfUkVWQUxJREFURURfVEFHU19IRUFERVIiLCJORVhUX0NBQ0hFX1JFVkFMSURBVEVfVEFHX1RPS0VOX0hFQURFUiIsIk5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEgiLCJORVhUX0NBQ0hFX1NPRlRfVEFHX01BWF9MRU5HVEgiLCJORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRCIsIkNBQ0hFX09ORV9ZRUFSIiwiTUlERExFV0FSRV9GSUxFTkFNRSIsIk1JRERMRVdBUkVfTE9DQVRJT05fUkVHRVhQIiwiSU5TVFJVTUVOVEFUSU9OX0hPT0tfRklMRU5BTUUiLCJQQUdFU19ESVJfQUxJQVMiLCJET1RfTkVYVF9BTElBUyIsIlJPT1RfRElSX0FMSUFTIiwiQVBQX0RJUl9BTElBUyIsIlJTQ19NT0RfUkVGX1BST1hZX0FMSUFTIiwiUlNDX0FDVElPTl9WQUxJREFURV9BTElBUyIsIlJTQ19BQ1RJT05fUFJPWFlfQUxJQVMiLCJSU0NfQUNUSU9OX0VOQ1JZUFRJT05fQUxJQVMiLCJSU0NfQUNUSU9OX0NMSUVOVF9XUkFQUEVSX0FMSUFTIiwiUFVCTElDX0RJUl9NSURETEVXQVJFX0NPTkZMSUNUIiwiU1NHX0dFVF9JTklUSUFMX1BST1BTX0NPTkZMSUNUIiwiU0VSVkVSX1BST1BTX0dFVF9JTklUX1BST1BTX0NPTkZMSUNUIiwiU0VSVkVSX1BST1BTX1NTR19DT05GTElDVCIsIlNUQVRJQ19TVEFUVVNfUEFHRV9HRVRfSU5JVElBTF9QUk9QU19FUlJPUiIsIlNFUlZFUl9QUk9QU19FWFBPUlRfRVJST1IiLCJHU1BfTk9fUkVUVVJORURfVkFMVUUiLCJHU1NQX05PX1JFVFVSTkVEX1ZBTFVFIiwiVU5TVEFCTEVfUkVWQUxJREFURV9SRU5BTUVfRVJST1IiLCJHU1NQX0NPTVBPTkVOVF9NRU1CRVJfRVJST1IiLCJOT05fU1RBTkRBUkRfTk9ERV9FTlYiLCJTU0dfRkFMTEJBQ0tfRVhQT1JUX0VSUk9SIiwiRVNMSU5UX0RFRkFVTFRfRElSUyIsIkVTTElOVF9QUk9NUFRfVkFMVUVTIiwiU0VSVkVSX1JVTlRJTUUiLCJXRUJQQUNLX0xBWUVSUyIsIldFQlBBQ0tfUkVTT1VSQ0VfUVVFUklFUyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInRpdGxlIiwicmVjb21tZW5kZWQiLCJjb25maWciLCJleHRlbmRzIiwiZWRnZSIsImV4cGVyaW1lbnRhbEVkZ2UiLCJub2RlanMiLCJXRUJQQUNLX0xBWUVSU19OQU1FUyIsInNoYXJlZCIsInJlYWN0U2VydmVyQ29tcG9uZW50cyIsInNlcnZlclNpZGVSZW5kZXJpbmciLCJhY3Rpb25Ccm93c2VyIiwiYXBpIiwibWlkZGxld2FyZSIsImVkZ2VBc3NldCIsImFwcFBhZ2VzQnJvd3NlciIsImFwcE1ldGFkYXRhUm91dGUiLCJhcHBSb3V0ZUhhbmRsZXIiLCJHUk9VUCIsInNlcnZlciIsIm5vbkNsaWVudFNlcnZlclRhcmdldCIsImFwcCIsImVkZ2VTU1JFbnRyeSIsIm1ldGFkYXRhIiwibWV0YWRhdGFSb3V0ZSIsIm1ldGFkYXRhSW1hZ2VNZXRhIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/constants.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/lib/metadata/get-metadata-route.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n fillMetadataSegment: function() {\n return fillMetadataSegment;\n },\n normalizeMetadataRoute: function() {\n return normalizeMetadataRoute;\n }\n});\nconst _ismetadataroute = __webpack_require__(/*! ./is-metadata-route */ \"(rsc)/./node_modules/next/dist/lib/metadata/is-metadata-route.js\");\nconst _path = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../shared/lib/isomorphic/path */ \"(rsc)/./node_modules/next/dist/shared/lib/isomorphic/path.js\"));\nconst _serverutils = __webpack_require__(/*! ../../server/server-utils */ \"(rsc)/./node_modules/next/dist/server/server-utils.js\");\nconst _routeregex = __webpack_require__(/*! ../../shared/lib/router/utils/route-regex */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _hash = __webpack_require__(/*! ../../shared/lib/hash */ \"(rsc)/./node_modules/next/dist/shared/lib/hash.js\");\nconst _apppaths = __webpack_require__(/*! ../../shared/lib/router/utils/app-paths */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst _normalizepathsep = __webpack_require__(/*! ../../shared/lib/page-path/normalize-path-sep */ \"(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\n/*\n * If there's special convention like (...) or @ in the page path,\n * Give it a unique hash suffix to avoid conflicts\n *\n * e.g.\n * /app/open-graph.tsx -> /open-graph/route\n * /app/(post)/open-graph.tsx -> /open-graph/route-[0-9a-z]{6}\n */ function getMetadataRouteSuffix(page) {\n let suffix = \"\";\n if (page.includes(\"(\") && page.includes(\")\") || page.includes(\"@\")) {\n suffix = (0, _hash.djb2Hash)(page).toString(36).slice(0, 6);\n }\n return suffix;\n}\nfunction fillMetadataSegment(segment, params, imageSegment) {\n const pathname = (0, _apppaths.normalizeAppPath)(segment);\n const routeRegex = (0, _routeregex.getNamedRouteRegex)(pathname, false);\n const route = (0, _serverutils.interpolateDynamicPath)(pathname, params, routeRegex);\n const suffix = getMetadataRouteSuffix(segment);\n const routeSuffix = suffix ? `-${suffix}` : \"\";\n const { name, ext } = _path.default.parse(imageSegment);\n return (0, _normalizepathsep.normalizePathSep)(_path.default.join(route, `${name}${routeSuffix}${ext}`));\n}\nfunction normalizeMetadataRoute(page) {\n if (!(0, _ismetadataroute.isMetadataRoute)(page)) {\n return page;\n }\n let route = page;\n let suffix = \"\";\n if (page === \"/robots\") {\n route += \".txt\";\n } else if (page === \"/manifest\") {\n route += \".webmanifest\";\n } else if (page.endsWith(\"/sitemap\")) {\n route += \".xml\";\n } else {\n // Remove the file extension, e.g. /route-path/robots.txt -> /route-path\n const pathnamePrefix = page.slice(0, -(_path.default.basename(page).length + 1));\n suffix = getMetadataRouteSuffix(pathnamePrefix);\n }\n // Support both /<metadata-route.ext> and custom routes /<metadata-route>/route.ts.\n // If it's a metadata file route, we need to append /[id]/route to the page.\n if (!route.endsWith(\"/route\")) {\n const { dir, name: baseName, ext } = _path.default.parse(route);\n const isStaticRoute = (0, _ismetadataroute.isStaticMetadataRoute)(page);\n route = _path.default.posix.join(dir, `${baseName}${suffix ? `-${suffix}` : \"\"}${ext}`, isStaticRoute ? \"\" : \"[[...__metadata_id__]]\", \"route\");\n }\n return route;\n} //# sourceMappingURL=get-metadata-route.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9nZXQtbWV0YWRhdGEtcm91dGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxtQkFBbUJDLG1CQUFPQSxDQUFDLDZGQUFxQjtBQUN0RCxNQUFNQyxRQUFRLFdBQVcsR0FBR0MseUJBQXlCRixtQkFBT0EsQ0FBQyxzR0FBa0M7QUFDL0YsTUFBTUcsZUFBZUgsbUJBQU9BLENBQUMsd0ZBQTJCO0FBQ3hELE1BQU1JLGNBQWNKLG1CQUFPQSxDQUFDLHdIQUEyQztBQUN2RSxNQUFNSyxRQUFRTCxtQkFBT0EsQ0FBQyxnRkFBdUI7QUFDN0MsTUFBTU0sWUFBWU4sbUJBQU9BLENBQUMsb0hBQXlDO0FBQ25FLE1BQU1PLG9CQUFvQlAsbUJBQU9BLENBQUMsZ0lBQStDO0FBQ2pGLFNBQVNFLHlCQUF5Qk0sR0FBRztJQUNqQyxPQUFPQSxPQUFPQSxJQUFJQyxVQUFVLEdBQUdELE1BQU07UUFDakNFLFNBQVNGO0lBQ2I7QUFDSjtBQUNBOzs7Ozs7O0NBT0MsR0FBRyxTQUFTRyx1QkFBdUJDLElBQUk7SUFDcEMsSUFBSUMsU0FBUztJQUNiLElBQUlELEtBQUtFLFFBQVEsQ0FBQyxRQUFRRixLQUFLRSxRQUFRLENBQUMsUUFBUUYsS0FBS0UsUUFBUSxDQUFDLE1BQU07UUFDaEVELFNBQVMsQ0FBQyxHQUFHUixNQUFNVSxRQUFRLEVBQUVILE1BQU1JLFFBQVEsQ0FBQyxJQUFJQyxLQUFLLENBQUMsR0FBRztJQUM3RDtJQUNBLE9BQU9KO0FBQ1g7QUFDQSxTQUFTdEIsb0JBQW9CMkIsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFlBQVk7SUFDdEQsTUFBTUMsV0FBVyxDQUFDLEdBQUdmLFVBQVVnQixnQkFBZ0IsRUFBRUo7SUFDakQsTUFBTUssYUFBYSxDQUFDLEdBQUduQixZQUFZb0Isa0JBQWtCLEVBQUVILFVBQVU7SUFDakUsTUFBTUksUUFBUSxDQUFDLEdBQUd0QixhQUFhdUIsc0JBQXNCLEVBQUVMLFVBQVVGLFFBQVFJO0lBQ3pFLE1BQU1WLFNBQVNGLHVCQUF1Qk87SUFDdEMsTUFBTVMsY0FBY2QsU0FBUyxDQUFDLENBQUMsRUFBRUEsT0FBTyxDQUFDLEdBQUc7SUFDNUMsTUFBTSxFQUFFakIsSUFBSSxFQUFFZ0MsR0FBRyxFQUFFLEdBQUczQixNQUFNUyxPQUFPLENBQUNtQixLQUFLLENBQUNUO0lBQzFDLE9BQU8sQ0FBQyxHQUFHYixrQkFBa0J1QixnQkFBZ0IsRUFBRTdCLE1BQU1TLE9BQU8sQ0FBQ3FCLElBQUksQ0FBQ04sT0FBTyxDQUFDLEVBQUU3QixLQUFLLEVBQUUrQixZQUFZLEVBQUVDLElBQUksQ0FBQztBQUMxRztBQUNBLFNBQVNwQyx1QkFBdUJvQixJQUFJO0lBQ2hDLElBQUksQ0FBQyxDQUFDLEdBQUdiLGlCQUFpQmlDLGVBQWUsRUFBRXBCLE9BQU87UUFDOUMsT0FBT0E7SUFDWDtJQUNBLElBQUlhLFFBQVFiO0lBQ1osSUFBSUMsU0FBUztJQUNiLElBQUlELFNBQVMsV0FBVztRQUNwQmEsU0FBUztJQUNiLE9BQU8sSUFBSWIsU0FBUyxhQUFhO1FBQzdCYSxTQUFTO0lBQ2IsT0FBTyxJQUFJYixLQUFLcUIsUUFBUSxDQUFDLGFBQWE7UUFDbENSLFNBQVM7SUFDYixPQUFPO1FBQ0gsd0VBQXdFO1FBQ3hFLE1BQU1TLGlCQUFpQnRCLEtBQUtLLEtBQUssQ0FBQyxHQUFHLENBQUVoQixDQUFBQSxNQUFNUyxPQUFPLENBQUN5QixRQUFRLENBQUN2QixNQUFNd0IsTUFBTSxHQUFHO1FBQzdFdkIsU0FBU0YsdUJBQXVCdUI7SUFDcEM7SUFDQSxtRkFBbUY7SUFDbkYsNEVBQTRFO0lBQzVFLElBQUksQ0FBQ1QsTUFBTVEsUUFBUSxDQUFDLFdBQVc7UUFDM0IsTUFBTSxFQUFFSSxHQUFHLEVBQUV6QyxNQUFNMEMsUUFBUSxFQUFFVixHQUFHLEVBQUUsR0FBRzNCLE1BQU1TLE9BQU8sQ0FBQ21CLEtBQUssQ0FBQ0o7UUFDekQsTUFBTWMsZ0JBQWdCLENBQUMsR0FBR3hDLGlCQUFpQnlDLHFCQUFxQixFQUFFNUI7UUFDbEVhLFFBQVF4QixNQUFNUyxPQUFPLENBQUMrQixLQUFLLENBQUNWLElBQUksQ0FBQ00sS0FBSyxDQUFDLEVBQUVDLFNBQVMsRUFBRXpCLFNBQVMsQ0FBQyxDQUFDLEVBQUVBLE9BQU8sQ0FBQyxHQUFHLEdBQUcsRUFBRWUsSUFBSSxDQUFDLEVBQUVXLGdCQUFnQixLQUFLLDBCQUEwQjtJQUMzSTtJQUNBLE9BQU9kO0FBQ1gsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvbWV0YWRhdGEvZ2V0LW1ldGFkYXRhLXJvdXRlLmpzPzY1ZjYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBmaWxsTWV0YWRhdGFTZWdtZW50OiBudWxsLFxuICAgIG5vcm1hbGl6ZU1ldGFkYXRhUm91dGU6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZmlsbE1ldGFkYXRhU2VnbWVudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBmaWxsTWV0YWRhdGFTZWdtZW50O1xuICAgIH0sXG4gICAgbm9ybWFsaXplTWV0YWRhdGFSb3V0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVNZXRhZGF0YVJvdXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX2lzbWV0YWRhdGFyb3V0ZSA9IHJlcXVpcmUoXCIuL2lzLW1ldGFkYXRhLXJvdXRlXCIpO1xuY29uc3QgX3BhdGggPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9pc29tb3JwaGljL3BhdGhcIikpO1xuY29uc3QgX3NlcnZlcnV0aWxzID0gcmVxdWlyZShcIi4uLy4uL3NlcnZlci9zZXJ2ZXItdXRpbHNcIik7XG5jb25zdCBfcm91dGVyZWdleCA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleFwiKTtcbmNvbnN0IF9oYXNoID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvaGFzaFwiKTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBfbm9ybWFsaXplcGF0aHNlcCA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3BhZ2UtcGF0aC9ub3JtYWxpemUtcGF0aC1zZXBcIik7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbi8qXG4gKiBJZiB0aGVyZSdzIHNwZWNpYWwgY29udmVudGlvbiBsaWtlICguLi4pIG9yIEAgaW4gdGhlIHBhZ2UgcGF0aCxcbiAqIEdpdmUgaXQgYSB1bmlxdWUgaGFzaCBzdWZmaXggdG8gYXZvaWQgY29uZmxpY3RzXG4gKlxuICogZS5nLlxuICogL2FwcC9vcGVuLWdyYXBoLnRzeCAtPiAvb3Blbi1ncmFwaC9yb3V0ZVxuICogL2FwcC8ocG9zdCkvb3Blbi1ncmFwaC50c3ggLT4gL29wZW4tZ3JhcGgvcm91dGUtWzAtOWEtel17Nn1cbiAqLyBmdW5jdGlvbiBnZXRNZXRhZGF0YVJvdXRlU3VmZml4KHBhZ2UpIHtcbiAgICBsZXQgc3VmZml4ID0gXCJcIjtcbiAgICBpZiAocGFnZS5pbmNsdWRlcyhcIihcIikgJiYgcGFnZS5pbmNsdWRlcyhcIilcIikgfHwgcGFnZS5pbmNsdWRlcyhcIkBcIikpIHtcbiAgICAgICAgc3VmZml4ID0gKDAsIF9oYXNoLmRqYjJIYXNoKShwYWdlKS50b1N0cmluZygzNikuc2xpY2UoMCwgNik7XG4gICAgfVxuICAgIHJldHVybiBzdWZmaXg7XG59XG5mdW5jdGlvbiBmaWxsTWV0YWRhdGFTZWdtZW50KHNlZ21lbnQsIHBhcmFtcywgaW1hZ2VTZWdtZW50KSB7XG4gICAgY29uc3QgcGF0aG5hbWUgPSAoMCwgX2FwcHBhdGhzLm5vcm1hbGl6ZUFwcFBhdGgpKHNlZ21lbnQpO1xuICAgIGNvbnN0IHJvdXRlUmVnZXggPSAoMCwgX3JvdXRlcmVnZXguZ2V0TmFtZWRSb3V0ZVJlZ2V4KShwYXRobmFtZSwgZmFsc2UpO1xuICAgIGNvbnN0IHJvdXRlID0gKDAsIF9zZXJ2ZXJ1dGlscy5pbnRlcnBvbGF0ZUR5bmFtaWNQYXRoKShwYXRobmFtZSwgcGFyYW1zLCByb3V0ZVJlZ2V4KTtcbiAgICBjb25zdCBzdWZmaXggPSBnZXRNZXRhZGF0YVJvdXRlU3VmZml4KHNlZ21lbnQpO1xuICAgIGNvbnN0IHJvdXRlU3VmZml4ID0gc3VmZml4ID8gYC0ke3N1ZmZpeH1gIDogXCJcIjtcbiAgICBjb25zdCB7IG5hbWUsIGV4dCB9ID0gX3BhdGguZGVmYXVsdC5wYXJzZShpbWFnZVNlZ21lbnQpO1xuICAgIHJldHVybiAoMCwgX25vcm1hbGl6ZXBhdGhzZXAubm9ybWFsaXplUGF0aFNlcCkoX3BhdGguZGVmYXVsdC5qb2luKHJvdXRlLCBgJHtuYW1lfSR7cm91dGVTdWZmaXh9JHtleHR9YCkpO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplTWV0YWRhdGFSb3V0ZShwYWdlKSB7XG4gICAgaWYgKCEoMCwgX2lzbWV0YWRhdGFyb3V0ZS5pc01ldGFkYXRhUm91dGUpKHBhZ2UpKSB7XG4gICAgICAgIHJldHVybiBwYWdlO1xuICAgIH1cbiAgICBsZXQgcm91dGUgPSBwYWdlO1xuICAgIGxldCBzdWZmaXggPSBcIlwiO1xuICAgIGlmIChwYWdlID09PSBcIi9yb2JvdHNcIikge1xuICAgICAgICByb3V0ZSArPSBcIi50eHRcIjtcbiAgICB9IGVsc2UgaWYgKHBhZ2UgPT09IFwiL21hbmlmZXN0XCIpIHtcbiAgICAgICAgcm91dGUgKz0gXCIud2VibWFuaWZlc3RcIjtcbiAgICB9IGVsc2UgaWYgKHBhZ2UuZW5kc1dpdGgoXCIvc2l0ZW1hcFwiKSkge1xuICAgICAgICByb3V0ZSArPSBcIi54bWxcIjtcbiAgICB9IGVsc2Uge1xuICAgICAgICAvLyBSZW1vdmUgdGhlIGZpbGUgZXh0ZW5zaW9uLCBlLmcuIC9yb3V0ZS1wYXRoL3JvYm90cy50eHQgLT4gL3JvdXRlLXBhdGhcbiAgICAgICAgY29uc3QgcGF0aG5hbWVQcmVmaXggPSBwYWdlLnNsaWNlKDAsIC0oX3BhdGguZGVmYXVsdC5iYXNlbmFtZShwYWdlKS5sZW5ndGggKyAxKSk7XG4gICAgICAgIHN1ZmZpeCA9IGdldE1ldGFkYXRhUm91dGVTdWZmaXgocGF0aG5hbWVQcmVmaXgpO1xuICAgIH1cbiAgICAvLyBTdXBwb3J0IGJvdGggLzxtZXRhZGF0YS1yb3V0ZS5leHQ+IGFuZCBjdXN0b20gcm91dGVzIC88bWV0YWRhdGEtcm91dGU+L3JvdXRlLnRzLlxuICAgIC8vIElmIGl0J3MgYSBtZXRhZGF0YSBmaWxlIHJvdXRlLCB3ZSBuZWVkIHRvIGFwcGVuZCAvW2lkXS9yb3V0ZSB0byB0aGUgcGFnZS5cbiAgICBpZiAoIXJvdXRlLmVuZHNXaXRoKFwiL3JvdXRlXCIpKSB7XG4gICAgICAgIGNvbnN0IHsgZGlyLCBuYW1lOiBiYXNlTmFtZSwgZXh0IH0gPSBfcGF0aC5kZWZhdWx0LnBhcnNlKHJvdXRlKTtcbiAgICAgICAgY29uc3QgaXNTdGF0aWNSb3V0ZSA9ICgwLCBfaXNtZXRhZGF0YXJvdXRlLmlzU3RhdGljTWV0YWRhdGFSb3V0ZSkocGFnZSk7XG4gICAgICAgIHJvdXRlID0gX3BhdGguZGVmYXVsdC5wb3NpeC5qb2luKGRpciwgYCR7YmFzZU5hbWV9JHtzdWZmaXggPyBgLSR7c3VmZml4fWAgOiBcIlwifSR7ZXh0fWAsIGlzU3RhdGljUm91dGUgPyBcIlwiIDogXCJbWy4uLl9fbWV0YWRhdGFfaWRfX11dXCIsIFwicm91dGVcIik7XG4gICAgfVxuICAgIHJldHVybiByb3V0ZTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Z2V0LW1ldGFkYXRhLXJvdXRlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImZpbGxNZXRhZGF0YVNlZ21lbnQiLCJub3JtYWxpemVNZXRhZGF0YVJvdXRlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2lzbWV0YWRhdGFyb3V0ZSIsInJlcXVpcmUiLCJfcGF0aCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9zZXJ2ZXJ1dGlscyIsIl9yb3V0ZXJlZ2V4IiwiX2hhc2giLCJfYXBwcGF0aHMiLCJfbm9ybWFsaXplcGF0aHNlcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiZ2V0TWV0YWRhdGFSb3V0ZVN1ZmZpeCIsInBhZ2UiLCJzdWZmaXgiLCJpbmNsdWRlcyIsImRqYjJIYXNoIiwidG9TdHJpbmciLCJzbGljZSIsInNlZ21lbnQiLCJwYXJhbXMiLCJpbWFnZVNlZ21lbnQiLCJwYXRobmFtZSIsIm5vcm1hbGl6ZUFwcFBhdGgiLCJyb3V0ZVJlZ2V4IiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4Iiwicm91dGUiLCJpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoIiwicm91dGVTdWZmaXgiLCJleHQiLCJwYXJzZSIsIm5vcm1hbGl6ZVBhdGhTZXAiLCJqb2luIiwiaXNNZXRhZGF0YVJvdXRlIiwiZW5kc1dpdGgiLCJwYXRobmFtZVByZWZpeCIsImJhc2VuYW1lIiwibGVuZ3RoIiwiZGlyIiwiYmFzZU5hbWUiLCJpc1N0YXRpY1JvdXRlIiwiaXNTdGF0aWNNZXRhZGF0YVJvdXRlIiwicG9zaXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/metadata/get-metadata-route.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/lib/metadata/is-metadata-route.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/lib/metadata/is-metadata-route.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n STATIC_METADATA_IMAGES: function() {\n return STATIC_METADATA_IMAGES;\n },\n isMetadataRouteFile: function() {\n return isMetadataRouteFile;\n },\n isStaticMetadataRouteFile: function() {\n return isStaticMetadataRouteFile;\n },\n isStaticMetadataRoute: function() {\n return isStaticMetadataRoute;\n },\n isMetadataRoute: function() {\n return isMetadataRoute;\n }\n});\nconst _normalizepathsep = __webpack_require__(/*! ../../shared/lib/page-path/normalize-path-sep */ \"(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\");\nconst STATIC_METADATA_IMAGES = {\n icon: {\n filename: \"icon\",\n extensions: [\n \"ico\",\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"svg\"\n ]\n },\n apple: {\n filename: \"apple-icon\",\n extensions: [\n \"jpg\",\n \"jpeg\",\n \"png\"\n ]\n },\n favicon: {\n filename: \"favicon\",\n extensions: [\n \"ico\"\n ]\n },\n openGraph: {\n filename: \"opengraph-image\",\n extensions: [\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"gif\"\n ]\n },\n twitter: {\n filename: \"twitter-image\",\n extensions: [\n \"jpg\",\n \"jpeg\",\n \"png\",\n \"gif\"\n ]\n }\n};\n// Match routes that are metadata routes, e.g. /sitemap.xml, /favicon.<ext>, /<icon>.<ext>, etc.\n// TODO-METADATA: support more metadata routes with more extensions\nconst defaultExtensions = [\n \"js\",\n \"jsx\",\n \"ts\",\n \"tsx\"\n];\nconst getExtensionRegexString = (extensions)=>`(?:${extensions.join(\"|\")})`;\nfunction isMetadataRouteFile(appDirRelativePath, pageExtensions, withExtension) {\n const metadataRouteFilesRegex = [\n new RegExp(`^[\\\\\\\\/]robots${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(\"txt\"))}$` : \"\"}`),\n new RegExp(`^[\\\\\\\\/]manifest${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(\"webmanifest\", \"json\"))}$` : \"\"}`),\n new RegExp(`^[\\\\\\\\/]favicon\\\\.ico$`),\n new RegExp(`[\\\\\\\\/]sitemap${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(\"xml\"))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.icon.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.icon.extensions))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.apple.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.apple.extensions))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.openGraph.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.openGraph.extensions))}$` : \"\"}`),\n new RegExp(`[\\\\\\\\/]${STATIC_METADATA_IMAGES.twitter.filename}\\\\d?${withExtension ? `\\\\.${getExtensionRegexString(pageExtensions.concat(STATIC_METADATA_IMAGES.twitter.extensions))}$` : \"\"}`)\n ];\n const normalizedAppDirRelativePath = (0, _normalizepathsep.normalizePathSep)(appDirRelativePath);\n return metadataRouteFilesRegex.some((r)=>r.test(normalizedAppDirRelativePath));\n}\nfunction isStaticMetadataRouteFile(appDirRelativePath) {\n return isMetadataRouteFile(appDirRelativePath, [], true);\n}\nfunction isStaticMetadataRoute(page) {\n return page === \"/robots\" || page === \"/manifest\" || isStaticMetadataRouteFile(page);\n}\nfunction isMetadataRoute(route) {\n let page = route.replace(/^\\/?app\\//, \"\").replace(/\\/route$/, \"\");\n if (page[0] !== \"/\") page = \"/\" + page;\n return !page.endsWith(\"/page\") && isMetadataRouteFile(page, defaultExtensions, false);\n} //# sourceMappingURL=is-metadata-route.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9tZXRhZGF0YS9pcy1tZXRhZGF0YS1yb3V0ZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU1OO0FBQ0EsU0FBU00sUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVosT0FBT0MsY0FBYyxDQUFDVSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFSLFNBQVM7SUFDYkcsd0JBQXdCO1FBQ3BCLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sb0JBQW9CQyxtQkFBT0EsQ0FBQyxnSUFBK0M7QUFDakYsTUFBTVoseUJBQXlCO0lBQzNCYSxNQUFNO1FBQ0ZDLFVBQVU7UUFDVkMsWUFBWTtZQUNSO1lBQ0E7WUFDQTtZQUNBO1lBQ0E7U0FDSDtJQUNMO0lBQ0FDLE9BQU87UUFDSEYsVUFBVTtRQUNWQyxZQUFZO1lBQ1I7WUFDQTtZQUNBO1NBQ0g7SUFDTDtJQUNBRSxTQUFTO1FBQ0xILFVBQVU7UUFDVkMsWUFBWTtZQUNSO1NBQ0g7SUFDTDtJQUNBRyxXQUFXO1FBQ1BKLFVBQVU7UUFDVkMsWUFBWTtZQUNSO1lBQ0E7WUFDQTtZQUNBO1NBQ0g7SUFDTDtJQUNBSSxTQUFTO1FBQ0xMLFVBQVU7UUFDVkMsWUFBWTtZQUNSO1lBQ0E7WUFDQTtZQUNBO1NBQ0g7SUFDTDtBQUNKO0FBQ0EsZ0dBQWdHO0FBQ2hHLG1FQUFtRTtBQUNuRSxNQUFNSyxvQkFBb0I7SUFDdEI7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELE1BQU1DLDBCQUEwQixDQUFDTixhQUFhLENBQUMsR0FBRyxFQUFFQSxXQUFXTyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7QUFDM0UsU0FBU3JCLG9CQUFvQnNCLGtCQUFrQixFQUFFQyxjQUFjLEVBQUVDLGFBQWE7SUFDMUUsTUFBTUMsMEJBQTBCO1FBQzVCLElBQUlDLE9BQU8sQ0FBQyxjQUFjLEVBQUVGLGdCQUFnQixDQUFDLEdBQUcsRUFBRUosd0JBQXdCRyxlQUFlSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDakgsSUFBSUQsT0FBTyxDQUFDLGdCQUFnQixFQUFFRixnQkFBZ0IsQ0FBQyxHQUFHLEVBQUVKLHdCQUF3QkcsZUFBZUksTUFBTSxDQUFDLGVBQWUsU0FBUyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDbkksSUFBSUQsT0FBTyxDQUFDLHNCQUFzQixDQUFDO1FBQ25DLElBQUlBLE9BQU8sQ0FBQyxjQUFjLEVBQUVGLGdCQUFnQixDQUFDLEdBQUcsRUFBRUosd0JBQXdCRyxlQUFlSSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDakgsSUFBSUQsT0FBTyxDQUFDLE9BQU8sRUFBRTNCLHVCQUF1QmEsSUFBSSxDQUFDQyxRQUFRLENBQUMsSUFBSSxFQUFFVyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUVKLHdCQUF3QkcsZUFBZUksTUFBTSxDQUFDNUIsdUJBQXVCYSxJQUFJLENBQUNFLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7UUFDdEwsSUFBSVksT0FBTyxDQUFDLE9BQU8sRUFBRTNCLHVCQUF1QmdCLEtBQUssQ0FBQ0YsUUFBUSxDQUFDLElBQUksRUFBRVcsZ0JBQWdCLENBQUMsR0FBRyxFQUFFSix3QkFBd0JHLGVBQWVJLE1BQU0sQ0FBQzVCLHVCQUF1QmdCLEtBQUssQ0FBQ0QsVUFBVSxHQUFHLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUN4TCxJQUFJWSxPQUFPLENBQUMsT0FBTyxFQUFFM0IsdUJBQXVCa0IsU0FBUyxDQUFDSixRQUFRLENBQUMsSUFBSSxFQUFFVyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUVKLHdCQUF3QkcsZUFBZUksTUFBTSxDQUFDNUIsdUJBQXVCa0IsU0FBUyxDQUFDSCxVQUFVLEdBQUcsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO1FBQ2hNLElBQUlZLE9BQU8sQ0FBQyxPQUFPLEVBQUUzQix1QkFBdUJtQixPQUFPLENBQUNMLFFBQVEsQ0FBQyxJQUFJLEVBQUVXLGdCQUFnQixDQUFDLEdBQUcsRUFBRUosd0JBQXdCRyxlQUFlSSxNQUFNLENBQUM1Qix1QkFBdUJtQixPQUFPLENBQUNKLFVBQVUsR0FBRyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7S0FDL0w7SUFDRCxNQUFNYywrQkFBK0IsQ0FBQyxHQUFHbEIsa0JBQWtCbUIsZ0JBQWdCLEVBQUVQO0lBQzdFLE9BQU9HLHdCQUF3QkssSUFBSSxDQUFDLENBQUNDLElBQUlBLEVBQUVDLElBQUksQ0FBQ0o7QUFDcEQ7QUFDQSxTQUFTM0IsMEJBQTBCcUIsa0JBQWtCO0lBQ2pELE9BQU90QixvQkFBb0JzQixvQkFBb0IsRUFBRSxFQUFFO0FBQ3ZEO0FBQ0EsU0FBU3BCLHNCQUFzQitCLElBQUk7SUFDL0IsT0FBT0EsU0FBUyxhQUFhQSxTQUFTLGVBQWVoQywwQkFBMEJnQztBQUNuRjtBQUNBLFNBQVM5QixnQkFBZ0IrQixLQUFLO0lBQzFCLElBQUlELE9BQU9DLE1BQU1DLE9BQU8sQ0FBQyxhQUFhLElBQUlBLE9BQU8sQ0FBQyxZQUFZO0lBQzlELElBQUlGLElBQUksQ0FBQyxFQUFFLEtBQUssS0FBS0EsT0FBTyxNQUFNQTtJQUNsQyxPQUFPLENBQUNBLEtBQUtHLFFBQVEsQ0FBQyxZQUFZcEMsb0JBQW9CaUMsTUFBTWQsbUJBQW1CO0FBQ25GLEVBRUEsNkNBQTZDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvbGliL21ldGFkYXRhL2lzLW1ldGFkYXRhLXJvdXRlLmpzPzFlNDQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBTVEFUSUNfTUVUQURBVEFfSU1BR0VTOiBudWxsLFxuICAgIGlzTWV0YWRhdGFSb3V0ZUZpbGU6IG51bGwsXG4gICAgaXNTdGF0aWNNZXRhZGF0YVJvdXRlRmlsZTogbnVsbCxcbiAgICBpc1N0YXRpY01ldGFkYXRhUm91dGU6IG51bGwsXG4gICAgaXNNZXRhZGF0YVJvdXRlOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFNUQVRJQ19NRVRBREFUQV9JTUFHRVM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1RBVElDX01FVEFEQVRBX0lNQUdFUztcbiAgICB9LFxuICAgIGlzTWV0YWRhdGFSb3V0ZUZpbGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNNZXRhZGF0YVJvdXRlRmlsZTtcbiAgICB9LFxuICAgIGlzU3RhdGljTWV0YWRhdGFSb3V0ZUZpbGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNTdGF0aWNNZXRhZGF0YVJvdXRlRmlsZTtcbiAgICB9LFxuICAgIGlzU3RhdGljTWV0YWRhdGFSb3V0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc1N0YXRpY01ldGFkYXRhUm91dGU7XG4gICAgfSxcbiAgICBpc01ldGFkYXRhUm91dGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNNZXRhZGF0YVJvdXRlO1xuICAgIH1cbn0pO1xuY29uc3QgX25vcm1hbGl6ZXBhdGhzZXAgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9wYWdlLXBhdGgvbm9ybWFsaXplLXBhdGgtc2VwXCIpO1xuY29uc3QgU1RBVElDX01FVEFEQVRBX0lNQUdFUyA9IHtcbiAgICBpY29uOiB7XG4gICAgICAgIGZpbGVuYW1lOiBcImljb25cIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1xuICAgICAgICAgICAgXCJpY29cIixcbiAgICAgICAgICAgIFwianBnXCIsXG4gICAgICAgICAgICBcImpwZWdcIixcbiAgICAgICAgICAgIFwicG5nXCIsXG4gICAgICAgICAgICBcInN2Z1wiXG4gICAgICAgIF1cbiAgICB9LFxuICAgIGFwcGxlOiB7XG4gICAgICAgIGZpbGVuYW1lOiBcImFwcGxlLWljb25cIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1xuICAgICAgICAgICAgXCJqcGdcIixcbiAgICAgICAgICAgIFwianBlZ1wiLFxuICAgICAgICAgICAgXCJwbmdcIlxuICAgICAgICBdXG4gICAgfSxcbiAgICBmYXZpY29uOiB7XG4gICAgICAgIGZpbGVuYW1lOiBcImZhdmljb25cIixcbiAgICAgICAgZXh0ZW5zaW9uczogW1xuICAgICAgICAgICAgXCJpY29cIlxuICAgICAgICBdXG4gICAgfSxcbiAgICBvcGVuR3JhcGg6IHtcbiAgICAgICAgZmlsZW5hbWU6IFwib3BlbmdyYXBoLWltYWdlXCIsXG4gICAgICAgIGV4dGVuc2lvbnM6IFtcbiAgICAgICAgICAgIFwianBnXCIsXG4gICAgICAgICAgICBcImpwZWdcIixcbiAgICAgICAgICAgIFwicG5nXCIsXG4gICAgICAgICAgICBcImdpZlwiXG4gICAgICAgIF1cbiAgICB9LFxuICAgIHR3aXR0ZXI6IHtcbiAgICAgICAgZmlsZW5hbWU6IFwidHdpdHRlci1pbWFnZVwiLFxuICAgICAgICBleHRlbnNpb25zOiBbXG4gICAgICAgICAgICBcImpwZ1wiLFxuICAgICAgICAgICAgXCJqcGVnXCIsXG4gICAgICAgICAgICBcInBuZ1wiLFxuICAgICAgICAgICAgXCJnaWZcIlxuICAgICAgICBdXG4gICAgfVxufTtcbi8vIE1hdGNoIHJvdXRlcyB0aGF0IGFyZSBtZXRhZGF0YSByb3V0ZXMsIGUuZy4gL3NpdGVtYXAueG1sLCAvZmF2aWNvbi48ZXh0PiwgLzxpY29uPi48ZXh0PiwgZXRjLlxuLy8gVE9ETy1NRVRBREFUQTogc3VwcG9ydCBtb3JlIG1ldGFkYXRhIHJvdXRlcyB3aXRoIG1vcmUgZXh0ZW5zaW9uc1xuY29uc3QgZGVmYXVsdEV4dGVuc2lvbnMgPSBbXG4gICAgXCJqc1wiLFxuICAgIFwianN4XCIsXG4gICAgXCJ0c1wiLFxuICAgIFwidHN4XCJcbl07XG5jb25zdCBnZXRFeHRlbnNpb25SZWdleFN0cmluZyA9IChleHRlbnNpb25zKT0+YCg/OiR7ZXh0ZW5zaW9ucy5qb2luKFwifFwiKX0pYDtcbmZ1bmN0aW9uIGlzTWV0YWRhdGFSb3V0ZUZpbGUoYXBwRGlyUmVsYXRpdmVQYXRoLCBwYWdlRXh0ZW5zaW9ucywgd2l0aEV4dGVuc2lvbikge1xuICAgIGNvbnN0IG1ldGFkYXRhUm91dGVGaWxlc1JlZ2V4ID0gW1xuICAgICAgICBuZXcgUmVnRXhwKGBeW1xcXFxcXFxcL11yb2JvdHMke3dpdGhFeHRlbnNpb24gPyBgXFxcXC4ke2dldEV4dGVuc2lvblJlZ2V4U3RyaW5nKHBhZ2VFeHRlbnNpb25zLmNvbmNhdChcInR4dFwiKSl9JGAgOiBcIlwifWApLFxuICAgICAgICBuZXcgUmVnRXhwKGBeW1xcXFxcXFxcL11tYW5pZmVzdCR7d2l0aEV4dGVuc2lvbiA/IGBcXFxcLiR7Z2V0RXh0ZW5zaW9uUmVnZXhTdHJpbmcocGFnZUV4dGVuc2lvbnMuY29uY2F0KFwid2VibWFuaWZlc3RcIiwgXCJqc29uXCIpKX0kYCA6IFwiXCJ9YCksXG4gICAgICAgIG5ldyBSZWdFeHAoYF5bXFxcXFxcXFwvXWZhdmljb25cXFxcLmljbyRgKSxcbiAgICAgICAgbmV3IFJlZ0V4cChgW1xcXFxcXFxcL11zaXRlbWFwJHt3aXRoRXh0ZW5zaW9uID8gYFxcXFwuJHtnZXRFeHRlbnNpb25SZWdleFN0cmluZyhwYWdlRXh0ZW5zaW9ucy5jb25jYXQoXCJ4bWxcIikpfSRgIDogXCJcIn1gKSxcbiAgICAgICAgbmV3IFJlZ0V4cChgW1xcXFxcXFxcL10ke1NUQVRJQ19NRVRBREFUQV9JTUFHRVMuaWNvbi5maWxlbmFtZX1cXFxcZD8ke3dpdGhFeHRlbnNpb24gPyBgXFxcXC4ke2dldEV4dGVuc2lvblJlZ2V4U3RyaW5nKHBhZ2VFeHRlbnNpb25zLmNvbmNhdChTVEFUSUNfTUVUQURBVEFfSU1BR0VTLmljb24uZXh0ZW5zaW9ucykpfSRgIDogXCJcIn1gKSxcbiAgICAgICAgbmV3IFJlZ0V4cChgW1xcXFxcXFxcL10ke1NUQVRJQ19NRVRBREFUQV9JTUFHRVMuYXBwbGUuZmlsZW5hbWV9XFxcXGQ/JHt3aXRoRXh0ZW5zaW9uID8gYFxcXFwuJHtnZXRFeHRlbnNpb25SZWdleFN0cmluZyhwYWdlRXh0ZW5zaW9ucy5jb25jYXQoU1RBVElDX01FVEFEQVRBX0lNQUdFUy5hcHBsZS5leHRlbnNpb25zKSl9JGAgOiBcIlwifWApLFxuICAgICAgICBuZXcgUmVnRXhwKGBbXFxcXFxcXFwvXSR7U1RBVElDX01FVEFEQVRBX0lNQUdFUy5vcGVuR3JhcGguZmlsZW5hbWV9XFxcXGQ/JHt3aXRoRXh0ZW5zaW9uID8gYFxcXFwuJHtnZXRFeHRlbnNpb25SZWdleFN0cmluZyhwYWdlRXh0ZW5zaW9ucy5jb25jYXQoU1RBVElDX01FVEFEQVRBX0lNQUdFUy5vcGVuR3JhcGguZXh0ZW5zaW9ucykpfSRgIDogXCJcIn1gKSxcbiAgICAgICAgbmV3IFJlZ0V4cChgW1xcXFxcXFxcL10ke1NUQVRJQ19NRVRBREFUQV9JTUFHRVMudHdpdHRlci5maWxlbmFtZX1cXFxcZD8ke3dpdGhFeHRlbnNpb24gPyBgXFxcXC4ke2dldEV4dGVuc2lvblJlZ2V4U3RyaW5nKHBhZ2VFeHRlbnNpb25zLmNvbmNhdChTVEFUSUNfTUVUQURBVEFfSU1BR0VTLnR3aXR0ZXIuZXh0ZW5zaW9ucykpfSRgIDogXCJcIn1gKVxuICAgIF07XG4gICAgY29uc3Qgbm9ybWFsaXplZEFwcERpclJlbGF0aXZlUGF0aCA9ICgwLCBfbm9ybWFsaXplcGF0aHNlcC5ub3JtYWxpemVQYXRoU2VwKShhcHBEaXJSZWxhdGl2ZVBhdGgpO1xuICAgIHJldHVybiBtZXRhZGF0YVJvdXRlRmlsZXNSZWdleC5zb21lKChyKT0+ci50ZXN0KG5vcm1hbGl6ZWRBcHBEaXJSZWxhdGl2ZVBhdGgpKTtcbn1cbmZ1bmN0aW9uIGlzU3RhdGljTWV0YWRhdGFSb3V0ZUZpbGUoYXBwRGlyUmVsYXRpdmVQYXRoKSB7XG4gICAgcmV0dXJuIGlzTWV0YWRhdGFSb3V0ZUZpbGUoYXBwRGlyUmVsYXRpdmVQYXRoLCBbXSwgdHJ1ZSk7XG59XG5mdW5jdGlvbiBpc1N0YXRpY01ldGFkYXRhUm91dGUocGFnZSkge1xuICAgIHJldHVybiBwYWdlID09PSBcIi9yb2JvdHNcIiB8fCBwYWdlID09PSBcIi9tYW5pZmVzdFwiIHx8IGlzU3RhdGljTWV0YWRhdGFSb3V0ZUZpbGUocGFnZSk7XG59XG5mdW5jdGlvbiBpc01ldGFkYXRhUm91dGUocm91dGUpIHtcbiAgICBsZXQgcGFnZSA9IHJvdXRlLnJlcGxhY2UoL15cXC8/YXBwXFwvLywgXCJcIikucmVwbGFjZSgvXFwvcm91dGUkLywgXCJcIik7XG4gICAgaWYgKHBhZ2VbMF0gIT09IFwiL1wiKSBwYWdlID0gXCIvXCIgKyBwYWdlO1xuICAgIHJldHVybiAhcGFnZS5lbmRzV2l0aChcIi9wYWdlXCIpICYmIGlzTWV0YWRhdGFSb3V0ZUZpbGUocGFnZSwgZGVmYXVsdEV4dGVuc2lvbnMsIGZhbHNlKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aXMtbWV0YWRhdGEtcm91dGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiU1RBVElDX01FVEFEQVRBX0lNQUdFUyIsImlzTWV0YWRhdGFSb3V0ZUZpbGUiLCJpc1N0YXRpY01ldGFkYXRhUm91dGVGaWxlIiwiaXNTdGF0aWNNZXRhZGF0YVJvdXRlIiwiaXNNZXRhZGF0YVJvdXRlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX25vcm1hbGl6ZXBhdGhzZXAiLCJyZXF1aXJlIiwiaWNvbiIsImZpbGVuYW1lIiwiZXh0ZW5zaW9ucyIsImFwcGxlIiwiZmF2aWNvbiIsIm9wZW5HcmFwaCIsInR3aXR0ZXIiLCJkZWZhdWx0RXh0ZW5zaW9ucyIsImdldEV4dGVuc2lvblJlZ2V4U3RyaW5nIiwiam9pbiIsImFwcERpclJlbGF0aXZlUGF0aCIsInBhZ2VFeHRlbnNpb25zIiwid2l0aEV4dGVuc2lvbiIsIm1ldGFkYXRhUm91dGVGaWxlc1JlZ2V4IiwiUmVnRXhwIiwiY29uY2F0Iiwibm9ybWFsaXplZEFwcERpclJlbGF0aXZlUGF0aCIsIm5vcm1hbGl6ZVBhdGhTZXAiLCJzb21lIiwiciIsInRlc3QiLCJwYWdlIiwicm91dGUiLCJyZXBsYWNlIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/metadata/is-metadata-route.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/lib/picocolors.js": /*!**************************************************!*\ !*** ./node_modules/next/dist/lib/picocolors.js ***! \**************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// ISC License\n// Copyright (c) 2021 Alexey Raspopov, Kostiantyn Denysov, Anton Verinov\n// Permission to use, copy, modify, and/or distribute this software for any\n// purpose with or without fee is hereby granted, provided that the above\n// copyright notice and this permission notice appear in all copies.\n// THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES\n// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF\n// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR\n// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES\n// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN\n// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF\n// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n//\n// https://github.com/alexeyraspopov/picocolors/blob/b6261487e7b81aaab2440e397a356732cad9e342/picocolors.js#L1\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n reset: function() {\n return reset;\n },\n bold: function() {\n return bold;\n },\n dim: function() {\n return dim;\n },\n italic: function() {\n return italic;\n },\n underline: function() {\n return underline;\n },\n inverse: function() {\n return inverse;\n },\n hidden: function() {\n return hidden;\n },\n strikethrough: function() {\n return strikethrough;\n },\n black: function() {\n return black;\n },\n red: function() {\n return red;\n },\n green: function() {\n return green;\n },\n yellow: function() {\n return yellow;\n },\n blue: function() {\n return blue;\n },\n magenta: function() {\n return magenta;\n },\n purple: function() {\n return purple;\n },\n cyan: function() {\n return cyan;\n },\n white: function() {\n return white;\n },\n gray: function() {\n return gray;\n },\n bgBlack: function() {\n return bgBlack;\n },\n bgRed: function() {\n return bgRed;\n },\n bgGreen: function() {\n return bgGreen;\n },\n bgYellow: function() {\n return bgYellow;\n },\n bgBlue: function() {\n return bgBlue;\n },\n bgMagenta: function() {\n return bgMagenta;\n },\n bgCyan: function() {\n return bgCyan;\n },\n bgWhite: function() {\n return bgWhite;\n }\n});\nvar _globalThis;\nconst { env, stdout } = ((_globalThis = globalThis) == null ? void 0 : _globalThis.process) ?? {};\nconst enabled = env && !env.NO_COLOR && (env.FORCE_COLOR || (stdout == null ? void 0 : stdout.isTTY) && !env.CI && env.TERM !== \"dumb\");\nconst replaceClose = (str, close, replace, index)=>{\n const start = str.substring(0, index) + replace;\n const end = str.substring(index + close.length);\n const nextIndex = end.indexOf(close);\n return ~nextIndex ? start + replaceClose(end, close, replace, nextIndex) : start + end;\n};\nconst formatter = (open, close, replace = open)=>{\n if (!enabled) return String;\n return (input)=>{\n const string = \"\" + input;\n const index = string.indexOf(close, open.length);\n return ~index ? open + replaceClose(string, close, replace, index) + close : open + string + close;\n };\n};\nconst reset = enabled ? (s)=>`\\x1b[0m${s}\\x1b[0m` : String;\nconst bold = formatter(\"\\x1b[1m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[1m\");\nconst dim = formatter(\"\\x1b[2m\", \"\\x1b[22m\", \"\\x1b[22m\\x1b[2m\");\nconst italic = formatter(\"\\x1b[3m\", \"\\x1b[23m\");\nconst underline = formatter(\"\\x1b[4m\", \"\\x1b[24m\");\nconst inverse = formatter(\"\\x1b[7m\", \"\\x1b[27m\");\nconst hidden = formatter(\"\\x1b[8m\", \"\\x1b[28m\");\nconst strikethrough = formatter(\"\\x1b[9m\", \"\\x1b[29m\");\nconst black = formatter(\"\\x1b[30m\", \"\\x1b[39m\");\nconst red = formatter(\"\\x1b[31m\", \"\\x1b[39m\");\nconst green = formatter(\"\\x1b[32m\", \"\\x1b[39m\");\nconst yellow = formatter(\"\\x1b[33m\", \"\\x1b[39m\");\nconst blue = formatter(\"\\x1b[34m\", \"\\x1b[39m\");\nconst magenta = formatter(\"\\x1b[35m\", \"\\x1b[39m\");\nconst purple = formatter(\"\\x1b[38;2;173;127;168m\", \"\\x1b[39m\");\nconst cyan = formatter(\"\\x1b[36m\", \"\\x1b[39m\");\nconst white = formatter(\"\\x1b[37m\", \"\\x1b[39m\");\nconst gray = formatter(\"\\x1b[90m\", \"\\x1b[39m\");\nconst bgBlack = formatter(\"\\x1b[40m\", \"\\x1b[49m\");\nconst bgRed = formatter(\"\\x1b[41m\", \"\\x1b[49m\");\nconst bgGreen = formatter(\"\\x1b[42m\", \"\\x1b[49m\");\nconst bgYellow = formatter(\"\\x1b[43m\", \"\\x1b[49m\");\nconst bgBlue = formatter(\"\\x1b[44m\", \"\\x1b[49m\");\nconst bgMagenta = formatter(\"\\x1b[45m\", \"\\x1b[49m\");\nconst bgCyan = formatter(\"\\x1b[46m\", \"\\x1b[49m\");\nconst bgWhite = formatter(\"\\x1b[47m\", \"\\x1b[49m\"); //# sourceMappingURL=picocolors.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2xpYi9waWNvY29sb3JzLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWM7QUFDZCx3RUFBd0U7QUFDeEUsMkVBQTJFO0FBQzNFLHlFQUF5RTtBQUN6RSxvRUFBb0U7QUFDcEUsMkVBQTJFO0FBQzNFLG1FQUFtRTtBQUNuRSwwRUFBMEU7QUFDMUUseUVBQXlFO0FBQ3pFLHdFQUF3RTtBQUN4RSwwRUFBMEU7QUFDMUUsaUVBQWlFO0FBQ2pFLEVBQUU7QUFDRiw4R0FBOEc7QUFDakc7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0EyQk47QUFDQSxTQUFTMkIsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWpDLE9BQU9DLGNBQWMsQ0FBQytCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUTdCLFNBQVM7SUFDYkcsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsS0FBSztRQUNELE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7SUFDQUMsU0FBUztRQUNMLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMsS0FBSztRQUNELE9BQU9BO0lBQ1g7SUFDQUMsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsU0FBUztRQUNMLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7SUFDQUMs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U2dDLFVBQVUsWUFBWTtBQUNyQyxNQUFNL0IsWUFBWStCLFVBQVUsWUFBWTtBQUN4QyxNQUFNOUIsU0FBUzhCLFVBQVUsWUFBWTtBQUNyQyxNQUFNN0IsVUFBVTZCLFVBQVUsWUFBWSxhQUV0QyxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9saWIvcGljb2NvbG9ycy5qcz81MDA4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIElTQyBMaWNlbnNlXG4vLyBDb3B5cmlnaHQgKGMpIDIwMjEgQWxleGV5IFJhc3BvcG92LCBLb3N0aWFudHluIERlbnlzb3YsIEFudG9uIFZlcmlub3Zcbi8vIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueVxuLy8gcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZVxuLy8gY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy5cbi8vIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCBcIkFTIElTXCIgQU5EIFRIRSBBVVRIT1IgRElTQ0xBSU1TIEFMTCBXQVJSQU5USUVTXG4vLyBXSVRIIFJFR0FSRCBUTyBUSElTIFNPRlRXQVJFIElOQ0xVRElORyBBTEwgSU1QTElFRCBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUgTElBQkxFIEZPUlxuLy8gQU5ZIFNQRUNJQUwsIERJUkVDVCwgSU5ESVJFQ1QsIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBPUiBBTlkgREFNQUdFU1xuLy8gV0hBVFNPRVZFUiBSRVNVTFRJTkcgRlJPTSBMT1NTIE9GIFVTRSwgREFUQSBPUiBQUk9GSVRTLCBXSEVUSEVSIElOIEFOXG4vLyBBQ1RJT04gT0YgQ09OVFJBQ1QsIE5FR0xJR0VOQ0UgT1IgT1RIRVIgVE9SVElPVVMgQUNUSU9OLCBBUklTSU5HIE9VVCBPRlxuLy8gT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBVU0UgT1IgUEVSRk9STUFOQ0UgT0YgVEhJUyBTT0ZUV0FSRS5cbi8vXG4vLyBodHRwczovL2dpdGh1Yi5jb20vYWxleGV5cmFzcG9wb3YvcGljb2NvbG9ycy9ibG9iL2I2MjYxNDg3ZTdiODFhYWFiMjQ0MGUzOTdhMzU2NzMyY2FkOWUzNDIvcGljb2NvbG9ycy5qcyNMMVxuXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICByZXNldDogbnVsbCxcbiAgICBib2xkOiBudWxsLFxuICAgIGRpbTogbnVsbCxcbiAgICBpdGFsaWM6IG51bGwsXG4gICAgdW5kZXJsaW5lOiBudWxsLFxuICAgIGludmVyc2U6IG51bGwsXG4gICAgaGlkZGVuOiBudWxsLFxuICAgIHN0cmlrZXRocm91Z2g6IG51bGwsXG4gICAgYmxhY2s6IG51bGwsXG4gICAgcmVkOiBudWxsLFxuICAgIGdyZWVuOiBudWxsLFxuICAgIHllbGxvdzogbnVsbCxcbiAgICBibHVlOiBudWxsLFxuICAgIG1hZ2VudGE6IG51bGwsXG4gICAgcHVycGxlOiBudWxsLFxuICAgIGN5YW46IG51bGwsXG4gICAgd2hpdGU6IG51bGwsXG4gICAgZ3JheTogbnVsbCxcbiAgICBiZ0JsYWNrOiBudWxsLFxuICAgIGJnUmVkOiBudWxsLFxuICAgIGJnR3JlZW46IG51bGwsXG4gICAgYmdZZWxsb3c6IG51bGwsXG4gICAgYmdCbHVlOiBudWxsLFxuICAgIGJnTWFnZW50YTogbnVsbCxcbiAgICBiZ0N5YW46IG51bGwsXG4gICAgYmdXaGl0ZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICByZXNldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZXNldDtcbiAgICB9LFxuICAgIGJvbGQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYm9sZDtcbiAgICB9LFxuICAgIGRpbTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkaW07XG4gICAgfSxcbiAgICBpdGFsaWM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXRhbGljO1xuICAgIH0sXG4gICAgdW5kZXJsaW5lOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVybGluZTtcbiAgICB9LFxuICAgIGludmVyc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaW52ZXJzZTtcbiAgICB9LFxuICAgIGhpZGRlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBoaWRkZW47XG4gICAgfSxcbiAgICBzdHJpa2V0aHJvdWdoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHN0cmlrZXRocm91Z2g7XG4gICAgfSxcbiAgICBibGFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBibGFjaztcbiAgICB9LFxuICAgIHJlZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZWQ7XG4gICAgfSxcbiAgICBncmVlbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBncmVlbjtcbiAgICB9LFxuICAgIHllbGxvdzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB5ZWxsb3c7XG4gICAgfSxcbiAgICBibHVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJsdWU7XG4gICAgfSxcbiAgICBtYWdlbnRhOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG1hZ2VudGE7XG4gICAgfSxcbiAgICBwdXJwbGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHVycGxlO1xuICAgIH0sXG4gICAgY3lhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjeWFuO1xuICAgIH0sXG4gICAgd2hpdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gd2hpdGU7XG4gICAgfSxcbiAgICBncmF5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdyYXk7XG4gICAgfSxcbiAgICBiZ0JsYWNrOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnQmxhY2s7XG4gICAgfSxcbiAgICBiZ1JlZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ1JlZDtcbiAgICB9LFxuICAgIGJnR3JlZW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdHcmVlbjtcbiAgICB9LFxuICAgIGJnWWVsbG93OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnWWVsbG93O1xuICAgIH0sXG4gICAgYmdCbHVlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGJnQmx1ZTtcbiAgICB9LFxuICAgIGJnTWFnZW50YTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ01hZ2VudGE7XG4gICAgfSxcbiAgICBiZ0N5YW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYmdDeWFuO1xuICAgIH0sXG4gICAgYmdXaGl0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBiZ1doaXRlO1xuICAgIH1cbn0pO1xudmFyIF9nbG9iYWxUaGlzO1xuY29uc3QgeyBlbnYsIHN0ZG91dCB9ID0gKChfZ2xvYmFsVGhpcyA9IGdsb2JhbFRoaXMpID09IG51bGwgPyB2b2lkIDAgOiBfZ2xvYmFsVGhpcy5wcm9jZXNzKSA/PyB7fTtcbmNvbnN0IGVuYWJsZWQgPSBlbnYgJiYgIWVudi5OT19DT0xPUiAmJiAoZW52LkZPUkNFX0NPTE9SIHx8IChzdGRvdXQgPT0gbnVsbCA/IHZvaWQgMCA6IHN0ZG91dC5pc1RUWSkgJiYgIWVudi5DSSAmJiBlbnYuVEVSTSAhPT0gXCJkdW1iXCIpO1xuY29uc3QgcmVwbGFjZUNsb3NlID0gKHN0ciwgY2xvc2UsIHJlcGxhY2UsIGluZGV4KT0+e1xuICAgIGNvbnN0IHN0YXJ0ID0gc3RyLnN1YnN0cmluZygwLCBpbmRleCkgKyByZXBsYWNlO1xuICAgIGNvbnN0IGVuZCA9IHN0ci5zdWJzdHJpbmcoaW5kZXggKyBjbG9zZS5sZW5ndGgpO1xuICAgIGNvbnN0IG5leHRJbmRleCA9IGVuZC5pbmRleE9mKGNsb3NlKTtcbiAgICByZXR1cm4gfm5leHRJbmRleCA/IHN0YXJ0ICsgcmVwbGFjZUNsb3NlKGVuZCwgY2xvc2UsIHJlcGxhY2UsIG5leHRJbmRleCkgOiBzdGFydCArIGVuZDtcbn07XG5jb25zdCBmb3JtYXR0ZXIgPSAob3BlbiwgY2xvc2UsIHJlcGxhY2UgPSBvcGVuKT0+e1xuICAgIGlmICghZW5hYmxlZCkgcmV0dXJuIFN0cmluZztcbiAgICByZXR1cm4gKGlucHV0KT0+e1xuICAgICAgICBjb25zdCBzdHJpbmcgPSBcIlwiICsgaW5wdXQ7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gc3RyaW5nLmluZGV4T2YoY2xvc2UsIG9wZW4ubGVuZ3RoKTtcbiAgICAgICAgcmV0dXJuIH5pbmRleCA/IG9wZW4gKyByZXBsYWNlQ2xvc2Uoc3RyaW5nLCBjbG9zZSwgcmVwbGFjZSwgaW5kZXgpICsgY2xvc2UgOiBvcGVuICsgc3RyaW5nICsgY2xvc2U7XG4gICAgfTtcbn07XG5jb25zdCByZXNldCA9IGVuYWJsZWQgPyAocyk9PmBcXHgxYlswbSR7c31cXHgxYlswbWAgOiBTdHJpbmc7XG5jb25zdCBib2xkID0gZm9ybWF0dGVyKFwiXFx4MWJbMW1cIiwgXCJcXHgxYlsyMm1cIiwgXCJcXHgxYlsyMm1cXHgxYlsxbVwiKTtcbmNvbnN0IGRpbSA9IGZvcm1hdHRlcihcIlxceDFiWzJtXCIsIFwiXFx4MWJbMjJtXCIsIFwiXFx4MWJbMjJtXFx4MWJbMm1cIik7XG5jb25zdCBpdGFsaWMgPSBmb3JtYXR0ZXIoXCJcXHgxYlszbVwiLCBcIlxceDFiWzIzbVwiKTtcbmNvbnN0IHVuZGVybGluZSA9IGZvcm1hdHRlcihcIlxceDFiWzRtXCIsIFwiXFx4MWJbMjRtXCIpO1xuY29uc3QgaW52ZXJzZSA9IGZvcm1hdHRlcihcIlxceDFiWzdtXCIsIFwiXFx4MWJbMjdtXCIpO1xuY29uc3QgaGlkZGVuID0gZm9ybWF0dGVyKFwiXFx4MWJbOG1cIiwgXCJcXHgxYlsyOG1cIik7XG5jb25zdCBzdHJpa2V0aHJvdWdoID0gZm9ybWF0dGVyKFwiXFx4MWJbOW1cIiwgXCJcXHgxYlsyOW1cIik7XG5jb25zdCBibGFjayA9IGZvcm1hdHRlcihcIlxceDFiWzMwbVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IHJlZCA9IGZvcm1hdHRlcihcIlxceDFiWzMxbVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IGdyZWVuID0gZm9ybWF0dGVyKFwiXFx4MWJbMzJtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgeWVsbG93ID0gZm9ybWF0dGVyKFwiXFx4MWJbMzNtXCIsIFwiXFx4MWJbMzltXCIpO1xuY29uc3QgYmx1ZSA9IGZvcm1hdHRlcihcIlxceDFiWzM0bVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IG1hZ2VudGEgPSBmb3JtYXR0ZXIoXCJcXHgxYlszNW1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBwdXJwbGUgPSBmb3JtYXR0ZXIoXCJcXHgxYlszODsyOzE3MzsxMjc7MTY4bVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IGN5YW4gPSBmb3JtYXR0ZXIoXCJcXHgxYlszNm1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCB3aGl0ZSA9IGZvcm1hdHRlcihcIlxceDFiWzM3bVwiLCBcIlxceDFiWzM5bVwiKTtcbmNvbnN0IGdyYXkgPSBmb3JtYXR0ZXIoXCJcXHgxYls5MG1cIiwgXCJcXHgxYlszOW1cIik7XG5jb25zdCBiZ0JsYWNrID0gZm9ybWF0dGVyKFwiXFx4MWJbNDBtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdSZWQgPSBmb3JtYXR0ZXIoXCJcXHgxYls0MW1cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ0dyZWVuID0gZm9ybWF0dGVyKFwiXFx4MWJbNDJtXCIsIFwiXFx4MWJbNDltXCIpO1xuY29uc3QgYmdZZWxsb3cgPSBmb3JtYXR0ZXIoXCJcXHgxYls0M21cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ0JsdWUgPSBmb3JtYXR0ZXIoXCJcXHgxYls0NG1cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ01hZ2VudGEgPSBmb3JtYXR0ZXIoXCJcXHgxYls0NW1cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ0N5YW4gPSBmb3JtYXR0ZXIoXCJcXHgxYls0Nm1cIiwgXCJcXHgxYls0OW1cIik7XG5jb25zdCBiZ1doaXRlID0gZm9ybWF0dGVyKFwiXFx4MWJbNDdtXCIsIFwiXFx4MWJbNDltXCIpO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1waWNvY29sb3JzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInJlc2V0IiwiYm9sZCIsImRpbSIsIml0YWxpYyIsInVuZGVybGluZSIsImludmVyc2UiLCJoaWRkZW4iLCJzdHJpa2V0aHJvdWdoIiwiYmxhY2siLCJyZWQiLCJncmVlbiIsInllbGxvdyIsImJsdWUiLCJtYWdlbnRhIiwicHVycGxlIiwiY3lhbiIsIndoaXRlIiwiZ3JheSIsImJnQmxhY2siLCJiZ1JlZCIsImJnR3JlZW4iLCJiZ1llbGxvdyIsImJnQmx1ZSIsImJnTWFnZW50YSIsImJnQ3lhbiIsImJnV2hpdGUiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2xvYmFsVGhpcyIsImVudiIsInN0ZG91dCIsImdsb2JhbFRoaXMiLCJwcm9jZXNzIiwiZW5hYmxlZCIsIk5PX0NPTE9SIiwiRk9SQ0VfQ09MT1IiLCJpc1RUWSIsIkNJIiwiVEVSTSIsInJlcGxhY2VDbG9zZSIsInN0ciIsImNsb3NlIiwicmVwbGFjZSIsImluZGV4Iiwic3RhcnQiLCJzdWJzdHJpbmciLCJlbmQiLCJsZW5ndGgiLCJuZXh0SW5kZXgiLCJpbmRleE9mIiwiZm9ybWF0dGVyIiwib3BlbiIsIlN0cmluZyIsImlucHV0Iiwic3RyaW5nIiwicyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/lib/picocolors.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/api-utils/get-cookie-parser.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/server/api-utils/get-cookie-parser.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getCookieParser\", ({\n enumerable: true,\n get: function() {\n return getCookieParser;\n }\n}));\nfunction getCookieParser(headers) {\n return function parseCookie() {\n const { cookie } = headers;\n if (!cookie) {\n return {};\n }\n const { parse: parseCookieFn } = __webpack_require__(/*! next/dist/compiled/cookie */ \"(rsc)/./node_modules/next/dist/compiled/cookie/index.js\");\n return parseCookieFn(Array.isArray(cookie) ? cookie.join(\"; \") : cookie);\n };\n} //# sourceMappingURL=get-cookie-parser.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcGktdXRpbHMvZ2V0LWNvb2tpZS1wYXJzZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLGdCQUFnQkMsT0FBTztJQUM1QixPQUFPLFNBQVNDO1FBQ1osTUFBTSxFQUFFQyxNQUFNLEVBQUUsR0FBR0Y7UUFDbkIsSUFBSSxDQUFDRSxRQUFRO1lBQ1QsT0FBTyxDQUFDO1FBQ1o7UUFDQSxNQUFNLEVBQUVDLE9BQU9DLGFBQWEsRUFBRSxHQUFHQyxtQkFBT0EsQ0FBQywwRkFBMkI7UUFDcEUsT0FBT0QsY0FBY0UsTUFBTUMsT0FBTyxDQUFDTCxVQUFVQSxPQUFPTSxJQUFJLENBQUMsUUFBUU47SUFDckU7QUFDSixFQUVBLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcGktdXRpbHMvZ2V0LWNvb2tpZS1wYXJzZXIuanM/OTljZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldENvb2tpZVBhcnNlclwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0Q29va2llUGFyc2VyO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0Q29va2llUGFyc2VyKGhlYWRlcnMpIHtcbiAgICByZXR1cm4gZnVuY3Rpb24gcGFyc2VDb29raWUoKSB7XG4gICAgICAgIGNvbnN0IHsgY29va2llIH0gPSBoZWFkZXJzO1xuICAgICAgICBpZiAoIWNvb2tpZSkge1xuICAgICAgICAgICAgcmV0dXJuIHt9O1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgcGFyc2U6IHBhcnNlQ29va2llRm4gfSA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvY29va2llXCIpO1xuICAgICAgICByZXR1cm4gcGFyc2VDb29raWVGbihBcnJheS5pc0FycmF5KGNvb2tpZSkgPyBjb29raWUuam9pbihcIjsgXCIpIDogY29va2llKTtcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1nZXQtY29va2llLXBhcnNlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0Q29va2llUGFyc2VyIiwiaGVhZGVycyIsInBhcnNlQ29va2llIiwiY29va2llIiwicGFyc2UiLCJwYXJzZUNvb2tpZUZuIiwicmVxdWlyZSIsIkFycmF5IiwiaXNBcnJheSIsImpvaW4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/api-utils/get-cookie-parser.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/app-render/entry-base.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/entry-base.js ***! \****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n renderToReadableStream: function() {\n return _serveredge.renderToReadableStream;\n },\n decodeReply: function() {\n return _serveredge.decodeReply;\n },\n decodeAction: function() {\n return _serveredge.decodeAction;\n },\n decodeFormState: function() {\n return _serveredge.decodeFormState;\n },\n AppRouter: function() {\n return _approuter.default;\n },\n LayoutRouter: function() {\n return _layoutrouter.default;\n },\n RenderFromTemplateContext: function() {\n return _renderfromtemplatecontext.default;\n },\n staticGenerationAsyncStorage: function() {\n return _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage;\n },\n requestAsyncStorage: function() {\n return _requestasyncstorageexternal.requestAsyncStorage;\n },\n actionAsyncStorage: function() {\n return _actionasyncstorageexternal.actionAsyncStorage;\n },\n staticGenerationBailout: function() {\n return _staticgenerationbailout.staticGenerationBailout;\n },\n createSearchParamsBailoutProxy: function() {\n return _searchparamsbailoutproxy.createSearchParamsBailoutProxy;\n },\n serverHooks: function() {\n return _hooksservercontext;\n },\n preloadStyle: function() {\n return _preloads.preloadStyle;\n },\n preloadFont: function() {\n return _preloads.preloadFont;\n },\n preconnect: function() {\n return _preloads.preconnect;\n },\n taintObjectReference: function() {\n return _taint.taintObjectReference;\n },\n StaticGenerationSearchParamsBailoutProvider: function() {\n return _staticgenerationsearchparamsbailoutprovider.default;\n },\n NotFoundBoundary: function() {\n return _notfoundboundary.NotFoundBoundary;\n },\n patchFetch: function() {\n return patchFetch;\n }\n});\nconst _serveredge = __webpack_require__(/*! react-server-dom-webpack/server.edge */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\");\nconst _approuter = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/app-router */ \"(rsc)/./node_modules/next/dist/client/components/app-router.js\"));\nconst _layoutrouter = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/layout-router */ \"(rsc)/./node_modules/next/dist/client/components/layout-router.js\"));\nconst _renderfromtemplatecontext = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/render-from-template-context */ \"(rsc)/./node_modules/next/dist/client/components/render-from-template-context.js\"));\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ../../client/components/static-generation-async-storage.external */ \"../../client/components/static-generation-async-storage.external\");\nconst _requestasyncstorageexternal = __webpack_require__(/*! ../../client/components/request-async-storage.external */ \"../../client/components/request-async-storage.external\");\nconst _actionasyncstorageexternal = __webpack_require__(/*! ../../client/components/action-async-storage.external */ \"../../client/components/action-async-storage.external\");\nconst _staticgenerationbailout = __webpack_require__(/*! ../../client/components/static-generation-bailout */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-bailout.js\");\nconst _staticgenerationsearchparamsbailoutprovider = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! ../../client/components/static-generation-searchparams-bailout-provider */ \"(rsc)/./node_modules/next/dist/client/components/static-generation-searchparams-bailout-provider.js\"));\nconst _searchparamsbailoutproxy = __webpack_require__(/*! ../../client/components/searchparams-bailout-proxy */ \"(rsc)/./node_modules/next/dist/client/components/searchparams-bailout-proxy.js\");\nconst _hooksservercontext = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../client/components/hooks-server-context */ \"(rsc)/./node_modules/next/dist/client/components/hooks-server-context.js\"));\nconst _notfoundboundary = __webpack_require__(/*! ../../client/components/not-found-boundary */ \"(rsc)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _patchfetch = __webpack_require__(/*! ../lib/patch-fetch */ \"(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\");\n__webpack_require__(/*! ../../client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _preloads = __webpack_require__(/*! ../../server/app-render/rsc/preloads */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js\");\nconst _taint = __webpack_require__(/*! ../../server/app-render/rsc/taint */ \"(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js\");\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\n// patchFetch makes use of APIs such as `React.unstable_postpone` which are only available\n// in the experimental channel of React, so export it from here so that it comes from the bundled runtime\nfunction patchFetch() {\n return (0, _patchfetch.patchFetch)({\n serverHooks: _hooksservercontext,\n staticGenerationAsyncStorage: _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage\n });\n} //# sourceMappingURL=entry-base.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FxQk47QUFDQSxTQUFTcUIsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSTNCLE9BQU9DLGNBQWMsQ0FBQ3lCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXZCLFNBQVM7SUFDYkcsd0JBQXdCO1FBQ3BCLE9BQU8wQixZQUFZMUIsc0JBQXNCO0lBQzdDO0lBQ0FDLGFBQWE7UUFDVCxPQUFPeUIsWUFBWXpCLFdBQVc7SUFDbEM7SUFDQUMsY0FBYztRQUNWLE9BQU93QixZQUFZeEIsWUFBWTtJQUNuQztJQUNBQyxpQkFBaUI7UUFDYixPQUFPdUIsWUFBWXZCLGVBQWU7SUFDdEM7SUFDQUMsV0FBVztRQUNQLE9BQU91QixXQUFXQyxPQUFPO0lBQzdCO0lBQ0F2QixjQUFjO1FBQ1YsT0FBT3dCLGNBQWNELE9BQU87SUFDaEM7SUFDQXRCLDJCQUEyQjtRQUN2QixPQUFPd0IsMkJBQTJCRixPQUFPO0lBQzdDO0lBQ0FyQiw4QkFBOEI7UUFDMUIsT0FBT3dCLHNDQUFzQ3hCLDRCQUE0QjtJQUM3RTtJQUNBQyxxQkFBcUI7UUFDakIsT0FBT3dCLDZCQUE2QnhCLG1CQUFtQjtJQUMzRDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT3dCLDRCQUE0QnhCLGtCQUFrQjtJQUN6RDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT3dCLHlCQUF5QnhCLHVCQUF1QjtJQUMzRDtJQUNBQyxnQ0FBZ0M7UUFDNUIsT0FBT3dCLDBCQUEwQnhCLDhCQUE4QjtJQUNuRTtJQUNBQyxhQUFhO1FBQ1QsT0FBT3dCO0lBQ1g7SUFDQXZC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QyxHQUFHLElBQUlvQyxLQUFLQyxHQUFHLEdBQUc7Z0JBQ2hDbkUsT0FBT0MsY0FBYyxDQUFDMEQsUUFBUUcsS0FBS0k7WUFDdkMsT0FBTztnQkFDSFAsTUFBTSxDQUFDRyxJQUFJLEdBQUdaLEdBQUcsQ0FBQ1ksSUFBSTtZQUMxQjtRQUNKO0lBQ0o7SUFDQUgsT0FBTzFCLE9BQU8sR0FBR2lCO0lBQ2pCLElBQUlPLE9BQU87UUFDUEEsTUFBTVUsR0FBRyxDQUFDakIsS0FBS1M7SUFDbkI7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsMEZBQTBGO0FBQzFGLHlHQUF5RztBQUN6RyxTQUFTbkM7SUFDTCxPQUFPLENBQUMsR0FBR3lCLFlBQVl6QixVQUFVLEVBQUU7UUFDL0JQLGFBQWF3QjtRQUNiN0IsOEJBQThCd0Isc0NBQXNDeEIsNEJBQTRCO0lBQ3BHO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlLmpzPzE4NDEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICByZW5kZXJUb1JlYWRhYmxlU3RyZWFtOiBudWxsLFxuICAgIGRlY29kZVJlcGx5OiBudWxsLFxuICAgIGRlY29kZUFjdGlvbjogbnVsbCxcbiAgICBkZWNvZGVGb3JtU3RhdGU6IG51bGwsXG4gICAgQXBwUm91dGVyOiBudWxsLFxuICAgIExheW91dFJvdXRlcjogbnVsbCxcbiAgICBSZW5kZXJGcm9tVGVtcGxhdGVDb250ZXh0OiBudWxsLFxuICAgIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2U6IG51bGwsXG4gICAgcmVxdWVzdEFzeW5jU3RvcmFnZTogbnVsbCxcbiAgICBhY3Rpb25Bc3luY1N0b3JhZ2U6IG51bGwsXG4gICAgc3RhdGljR2VuZXJhdGlvbkJhaWxvdXQ6IG51bGwsXG4gICAgY3JlYXRlU2VhcmNoUGFyYW1zQmFpbG91dFByb3h5OiBudWxsLFxuICAgIHNlcnZlckhvb2tzOiBudWxsLFxuICAgIHByZWxvYWRTdHlsZTogbnVsbCxcbiAgICBwcmVsb2FkRm9udDogbnVsbCxcbiAgICBwcmVjb25uZWN0OiBudWxsLFxuICAgIHRhaW50T2JqZWN0UmVmZXJlbmNlOiBudWxsLFxuICAgIFN0YXRpY0dlbmVyYXRpb25TZWFyY2hQYXJhbXNCYWlsb3V0UHJvdmlkZXI6IG51bGwsXG4gICAgTm90Rm91bmRCb3VuZGFyeTogbnVsbCxcbiAgICBwYXRjaEZldGNoOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHJlbmRlclRvUmVhZGFibGVTdHJlYW06IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3NlcnZlcmVkZ2UucmVuZGVyVG9SZWFkYWJsZVN0cmVhbTtcbiAgICB9LFxuICAgIGRlY29kZVJlcGx5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJlZGdlLmRlY29kZVJlcGx5O1xuICAgIH0sXG4gICAgZGVjb2RlQWN0aW9uOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zZXJ2ZXJlZGdlLmRlY29kZUFjdGlvbjtcbiAgICB9LFxuICAgIGRlY29kZUZvcm1TdGF0ZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2VydmVyZWRnZS5kZWNvZGVGb3JtU3RhdGU7XG4gICAgfSxcbiAgICBBcHBSb3V0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2FwcHJvdXRlci5kZWZhdWx0O1xuICAgIH0sXG4gICAgTGF5b3V0Um91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9sYXlvdXRyb3V0ZXIuZGVmYXVsdDtcbiAgICB9LFxuICAgIFJlbmRlckZyb21UZW1wbGF0ZUNvbnRleHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3JlbmRlcmZyb210ZW1wbGF0ZWNvbnRleHQuZGVmYXVsdDtcbiAgICB9LFxuICAgIHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlO1xuICAgIH0sXG4gICAgcmVxdWVzdEFzeW5jU3RvcmFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsLnJlcXVlc3RBc3luY1N0b3JhZ2U7XG4gICAgfSxcbiAgICBhY3Rpb25Bc3luY1N0b3JhZ2U6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsLmFjdGlvbkFzeW5jU3RvcmFnZTtcbiAgICB9LFxuICAgIHN0YXRpY0dlbmVyYXRpb25CYWlsb3V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zdGF0aWNnZW5lcmF0aW9uYmFpbG91dC5zdGF0aWNHZW5lcmF0aW9uQmFpbG91dDtcbiAgICB9LFxuICAgIGNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfc2VhcmNocGFyYW1zYmFpbG91dHByb3h5LmNyZWF0ZVNlYXJjaFBhcmFtc0JhaWxvdXRQcm94eTtcbiAgICB9LFxuICAgIHNlcnZlckhvb2tzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9ob29rc3NlcnZlcmNvbnRleHQ7XG4gICAgfSxcbiAgICBwcmVsb2FkU3R5bGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3ByZWxvYWRzLnByZWxvYWRTdHlsZTtcbiAgICB9LFxuICAgIHByZWxvYWRGb250OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9wcmVsb2Fkcy5wcmVsb2FkRm9udDtcbiAgICB9LFxuICAgIHByZWNvbm5lY3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX3ByZWxvYWRzLnByZWNvbm5lY3Q7XG4gICAgfSxcbiAgICB0YWludE9iamVjdFJlZmVyZW5jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfdGFpbnQudGFpbnRPYmplY3RSZWZlcmVuY2U7XG4gICAgfSxcbiAgICBTdGF0aWNHZW5lcmF0aW9uU2VhcmNoUGFyYW1zQmFpbG91dFByb3ZpZGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9zdGF0aWNnZW5lcmF0aW9uc2VhcmNocGFyYW1zYmFpbG91dHByb3ZpZGVyLmRlZmF1bHQ7XG4gICAgfSxcbiAgICBOb3RGb3VuZEJvdW5kYXJ5OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9ub3Rmb3VuZGJvdW5kYXJ5Lk5vdEZvdW5kQm91bmRhcnk7XG4gICAgfSxcbiAgICBwYXRjaEZldGNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhdGNoRmV0Y2g7XG4gICAgfVxufSk7XG5jb25zdCBfc2VydmVyZWRnZSA9IHJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2svc2VydmVyLmVkZ2VcIik7XG5jb25zdCBfYXBwcm91dGVyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXJcIikpO1xuY29uc3QgX2xheW91dHJvdXRlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0KHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9sYXlvdXQtcm91dGVyXCIpKTtcbmNvbnN0IF9yZW5kZXJmcm9tdGVtcGxhdGVjb250ZXh0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3JlbmRlci1mcm9tLXRlbXBsYXRlLWNvbnRleHRcIikpO1xuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9zdGF0aWMtZ2VuZXJhdGlvbi1hc3luYy1zdG9yYWdlLmV4dGVybmFsXCIpO1xuY29uc3QgX3JlcXVlc3Rhc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9yZXF1ZXN0LWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfYWN0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvYWN0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XG5jb25zdCBfc3RhdGljZ2VuZXJhdGlvbmJhaWxvdXQgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc3RhdGljLWdlbmVyYXRpb24tYmFpbG91dFwiKTtcbmNvbnN0IF9zdGF0aWNnZW5lcmF0aW9uc2VhcmNocGFyYW1zYmFpbG91dHByb3ZpZGVyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQocmVxdWlyZShcIi4uLy4uL2NsaWVudC9jb21wb25lbnRzL3N0YXRpYy1nZW5lcmF0aW9uLXNlYXJjaHBhcmFtcy1iYWlsb3V0LXByb3ZpZGVyXCIpKTtcbmNvbnN0IF9zZWFyY2hwYXJhbXNiYWlsb3V0cHJveHkgPSByZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvc2VhcmNocGFyYW1zLWJhaWxvdXQtcHJveHlcIik7XG5jb25zdCBfaG9va3NzZXJ2ZXJjb250ZXh0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9ob29rcy1zZXJ2ZXItY29udGV4dFwiKSk7XG5jb25zdCBfbm90Zm91bmRib3VuZGFyeSA9IHJlcXVpcmUoXCIuLi8uLi9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtYm91bmRhcnlcIik7XG5jb25zdCBfcGF0Y2hmZXRjaCA9IHJlcXVpcmUoXCIuLi9saWIvcGF0Y2gtZmV0Y2hcIik7XG5yZXF1aXJlKFwiLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIik7XG5jb25zdCBfcHJlbG9hZHMgPSByZXF1aXJlKFwiLi4vLi4vc2VydmVyL2FwcC1yZW5kZXIvcnNjL3ByZWxvYWRzXCIpO1xuY29uc3QgX3RhaW50ID0gcmVxdWlyZShcIi4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL3JzYy90YWludFwiKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IG9ialxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkge1xuICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG4gICAgfVxuICAgIHZhciBuZXdPYmogPSB7fTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgZm9yKHZhciBrZXkgaW4gb2JqKXtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09iajtcbn1cbi8vIHBhdGNoRmV0Y2ggbWFrZXMgdXNlIG9mIEFQSXMgc3VjaCBhcyBgUmVhY3QudW5zdGFibGVfcG9zdHBvbmVgIHdoaWNoIGFyZSBvbmx5IGF2YWlsYWJsZVxuLy8gaW4gdGhlIGV4cGVyaW1lbnRhbCBjaGFubmVsIG9mIFJlYWN0LCBzbyBleHBvcnQgaXQgZnJvbSBoZXJlIHNvIHRoYXQgaXQgY29tZXMgZnJvbSB0aGUgYnVuZGxlZCBydW50aW1lXG5mdW5jdGlvbiBwYXRjaEZldGNoKCkge1xuICAgIHJldHVybiAoMCwgX3BhdGNoZmV0Y2gucGF0Y2hGZXRjaCkoe1xuICAgICAgICBzZXJ2ZXJIb29rczogX2hvb2tzc2VydmVyY29udGV4dCxcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZTogX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbC5zdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlXG4gICAgfSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVudHJ5LWJhc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwicmVuZGVyVG9SZWFkYWJsZVN0cmVhbSIsImRlY29kZVJlcGx5IiwiZGVjb2RlQWN0aW9uIiwiZGVjb2RlRm9ybVN0YXRlIiwiQXBwUm91dGVyIiwiTGF5b3V0Um91dGVyIiwiUmVuZGVyRnJvbVRlbXBsYXRlQ29udGV4dCIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiLCJyZXF1ZXN0QXN5bmNTdG9yYWdlIiwiYWN0aW9uQXN5bmNTdG9yYWdlIiwic3RhdGljR2VuZXJhdGlvbkJhaWxvdXQiLCJjcmVhdGVTZWFyY2hQYXJhbXNCYWlsb3V0UHJveHkiLCJzZXJ2ZXJIb29rcyIsInByZWxvYWRTdHlsZSIsInByZWxvYWRGb250IiwicHJlY29ubmVjdCIsInRhaW50T2JqZWN0UmVmZXJlbmNlIiwiU3RhdGljR2VuZXJhdGlvblNlYXJjaFBhcmFtc0JhaWxvdXRQcm92aWRlciIsIk5vdEZvdW5kQm91bmRhcnkiLCJwYXRjaEZldGNoIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NlcnZlcmVkZ2UiLCJfYXBwcm91dGVyIiwiZGVmYXVsdCIsIl9sYXlvdXRyb3V0ZXIiLCJfcmVuZGVyZnJvbXRlbXBsYXRlY29udGV4dCIsIl9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwiLCJfcmVxdWVzdGFzeW5jc3RvcmFnZWV4dGVybmFsIiwiX2FjdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwiX3N0YXRpY2dlbmVyYXRpb25iYWlsb3V0IiwiX3NlYXJjaHBhcmFtc2JhaWxvdXRwcm94eSIsIl9ob29rc3NlcnZlcmNvbnRleHQiLCJfcHJlbG9hZHMiLCJfdGFpbnQiLCJfc3RhdGljZ2VuZXJhdGlvbnNlYXJjaHBhcmFtc2JhaWxvdXRwcm92aWRlciIsIl9ub3Rmb3VuZGJvdW5kYXJ5IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfcGF0Y2hmZXRjaCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJjYWNoZSIsImhhcyIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js": /*!******************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/rsc/preloads.js ***! \******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n preloadStyle: function() {\n return preloadStyle;\n },\n preloadFont: function() {\n return preloadFont;\n },\n preconnect: function() {\n return preconnect;\n }\n});\nconst _reactdom = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! react-dom */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction preloadStyle(href, crossOrigin) {\n const opts = {\n as: \"style\"\n };\n if (typeof crossOrigin === \"string\") {\n opts.crossOrigin = crossOrigin;\n }\n _reactdom.default.preload(href, opts);\n}\nfunction preloadFont(href, type, crossOrigin) {\n const opts = {\n as: \"font\",\n type\n };\n if (typeof crossOrigin === \"string\") {\n opts.crossOrigin = crossOrigin;\n }\n _reactdom.default.preload(href, opts);\n}\nfunction preconnect(href, crossOrigin) {\n _reactdom.default.preconnect(href, typeof crossOrigin === \"string\" ? {\n crossOrigin\n } : undefined);\n} //# sourceMappingURL=preloads.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy9wcmVsb2Fkcy5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBLEdBQWdCO0FBQ2hCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsY0FBYztRQUNWLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFlBQVksV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLGdIQUFXO0FBQzVFLFNBQVNELHlCQUF5QkUsR0FBRztJQUNqQyxPQUFPQSxPQUFPQSxJQUFJQyxVQUFVLEdBQUdELE1BQU07UUFDakNFLFNBQVNGO0lBQ2I7QUFDSjtBQUNBLFNBQVNaLGFBQWFlLElBQUksRUFBRUMsV0FBVztJQUNuQyxNQUFNQyxPQUFPO1FBQ1RDLElBQUk7SUFDUjtJQUNBLElBQUksT0FBT0YsZ0JBQWdCLFVBQVU7UUFDakNDLEtBQUtELFdBQVcsR0FBR0E7SUFDdkI7SUFDQVAsVUFBVUssT0FBTyxDQUFDSyxPQUFPLENBQUNKLE1BQU1FO0FBQ3BDO0FBQ0EsU0FBU2hCLFlBQVljLElBQUksRUFBRUssSUFBSSxFQUFFSixXQUFXO0lBQ3hDLE1BQU1DLE9BQU87UUFDVEMsSUFBSTtRQUNKRTtJQUNKO0lBQ0EsSUFBSSxPQUFPSixnQkFBZ0IsVUFBVTtRQUNqQ0MsS0FBS0QsV0FBVyxHQUFHQTtJQUN2QjtJQUNBUCxVQUFVSyxPQUFPLENBQUNLLE9BQU8sQ0FBQ0osTUFBTUU7QUFDcEM7QUFDQSxTQUFTZixXQUFXYSxJQUFJLEVBQUVDLFdBQVc7SUFDakNQLFVBQVVLLE9BQU8sQ0FBQ1osVUFBVSxDQUFDYSxNQUFNLE9BQU9DLGdCQUFnQixXQUFXO1FBQ2pFQTtJQUNKLElBQUlLO0FBQ1IsRUFFQSxvQ0FBb0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9yc2MvcHJlbG9hZHMuanM/YTI4YiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuXG5GaWxlcyBpbiB0aGUgcnNjIGRpcmVjdG9yeSBhcmUgbWVhbnQgdG8gYmUgcGFja2FnZWQgYXMgcGFydCBvZiB0aGUgUlNDIGdyYXBoIHVzaW5nIG5leHQtYXBwLWxvYWRlci5cblxuKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBwcmVsb2FkU3R5bGU6IG51bGwsXG4gICAgcHJlbG9hZEZvbnQ6IG51bGwsXG4gICAgcHJlY29ubmVjdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBwcmVsb2FkU3R5bGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlbG9hZFN0eWxlO1xuICAgIH0sXG4gICAgcHJlbG9hZEZvbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlbG9hZEZvbnQ7XG4gICAgfSxcbiAgICBwcmVjb25uZWN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHByZWNvbm5lY3Q7XG4gICAgfVxufSk7XG5jb25zdCBfcmVhY3Rkb20gPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwicmVhY3QtZG9tXCIpKTtcbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDoge1xuICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICB9O1xufVxuZnVuY3Rpb24gcHJlbG9hZFN0eWxlKGhyZWYsIGNyb3NzT3JpZ2luKSB7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgICAgYXM6IFwic3R5bGVcIlxuICAgIH07XG4gICAgaWYgKHR5cGVvZiBjcm9zc09yaWdpbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBvcHRzLmNyb3NzT3JpZ2luID0gY3Jvc3NPcmlnaW47XG4gICAgfVxuICAgIF9yZWFjdGRvbS5kZWZhdWx0LnByZWxvYWQoaHJlZiwgb3B0cyk7XG59XG5mdW5jdGlvbiBwcmVsb2FkRm9udChocmVmLCB0eXBlLCBjcm9zc09yaWdpbikge1xuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICAgIGFzOiBcImZvbnRcIixcbiAgICAgICAgdHlwZVxuICAgIH07XG4gICAgaWYgKHR5cGVvZiBjcm9zc09yaWdpbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBvcHRzLmNyb3NzT3JpZ2luID0gY3Jvc3NPcmlnaW47XG4gICAgfVxuICAgIF9yZWFjdGRvbS5kZWZhdWx0LnByZWxvYWQoaHJlZiwgb3B0cyk7XG59XG5mdW5jdGlvbiBwcmVjb25uZWN0KGhyZWYsIGNyb3NzT3JpZ2luKSB7XG4gICAgX3JlYWN0ZG9tLmRlZmF1bHQucHJlY29ubmVjdChocmVmLCB0eXBlb2YgY3Jvc3NPcmlnaW4gPT09IFwic3RyaW5nXCIgPyB7XG4gICAgICAgIGNyb3NzT3JpZ2luXG4gICAgfSA6IHVuZGVmaW5lZCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByZWxvYWRzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsInByZWxvYWRTdHlsZSIsInByZWxvYWRGb250IiwicHJlY29ubmVjdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9yZWFjdGRvbSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhyZWYiLCJjcm9zc09yaWdpbiIsIm9wdHMiLCJhcyIsInByZWxvYWQiLCJ0eXBlIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/preloads.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/server/app-render/rsc/taint.js ***! \***************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("/*\n\nFiles in the rsc directory are meant to be packaged as part of the RSC graph using next-app-loader.\n\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n taintObjectReference: function() {\n return taintObjectReference;\n },\n taintUniqueValue: function() {\n return taintUniqueValue;\n }\n});\nconst _react = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! react */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nfunction notImplemented() {\n throw new Error(\"Taint can only be used with the taint flag.\");\n}\nconst taintObjectReference = false ? 0 : notImplemented;\nconst taintUniqueValue = false ? 0 : notImplemented; //# sourceMappingURL=taint.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL3JzYy90YWludC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztBQUlBLEdBQWdCO0FBQ2hCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sU0FBUyxXQUFXLEdBQUdDLDBCQUEwQkMsbUJBQU9BLENBQUMsd0dBQU87QUFDdEUsU0FBU0MseUJBQXlCQyxXQUFXO0lBQ3pDLElBQUksT0FBT0MsWUFBWSxZQUFZLE9BQU87SUFDMUMsSUFBSUMsb0JBQW9CLElBQUlEO0lBQzVCLElBQUlFLG1CQUFtQixJQUFJRjtJQUMzQixPQUFPLENBQUNGLDJCQUEyQixTQUFTQyxXQUFXO1FBQ25ELE9BQU9BLGNBQWNHLG1CQUFtQkQ7SUFDNUMsR0FBR0Y7QUFDUDtBQUNBLFNBQVNILDBCQUEwQk8sR0FBRyxFQUFFSixXQUFXO0lBQy9DLElBQUksQ0FBQ0EsZUFBZUksT0FBT0EsSUFBSUMsVUFBVSxFQUFFO1FBQ3ZDLE9BQU9EO0lBQ1g7SUFDQSxJQUFJQSxRQUFRLFFBQVEsT0FBT0EsUUFBUSxZQUFZLE9BQU9BLFFBQVEsWUFBWTtRQUN0RSxPQUFPO1lBQ0hFLFNBQVNGO1FBQ2I7SUFDSjtJQUNBLElBQUlHLFFBQVFSLHlCQUF5QkM7SUFDckMsSUFBSU8sU0FBU0EsTUFBTUMsR0FBRyxDQUFDSixNQUFNO1FBQ3pCLE9BQU9HLE1BQU1aLEdBQUcsQ0FBQ1M7SUFDckI7SUFDQSxJQUFJSyxTQUFTLENBQUM7SUFDZCxJQUFJQyx3QkFBd0IzQixPQUFPQyxjQUFjLElBQUlELE9BQU80Qix3QkFBd0I7SUFDcEYsSUFBSSxJQUFJQyxPQUFPUixJQUFJO1FBQ2YsSUFBSVEsUUFBUSxhQUFhN0IsT0FBTzhCLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNYLEtBQUtRLE1BQU07WUFDckUsSUFBSUksT0FBT04sd0JBQXdCM0IsT0FBTzRCLHdCQUF3QixDQUFDUCxLQUFLUSxPQUFPO1lBQy9FLElBQUlJLFFBQVNBLENBQUFBLEtBQUtyQixHQUFHLElBQUlxQixLQUFLQyxHQUFHLEdBQUc7Z0JBQ2hDbEMsT0FBT0MsY0FBYyxDQUFDeUIsUUFBUUcsS0FBS0k7WUFDdkMsT0FBTztnQkFDSFAsTUFBTSxDQUFDRyxJQUFJLEdBQUdSLEdBQUcsQ0FBQ1EsSUFBSTtZQUMxQjtRQUNKO0lBQ0o7SUFDQUgsT0FBT0gsT0FBTyxHQUFHRjtJQUNqQixJQUFJRyxPQUFPO1FBQ1BBLE1BQU1VLEdBQUcsQ0FBQ2IsS0FBS0s7SUFDbkI7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsU0FBU1M7SUFDTCxNQUFNLElBQUlDLE1BQU07QUFDcEI7QUFDQSxNQUFNL0IsdUJBQXVCZ0MsTUFBcUMsR0FBR3hCLENBQXdDLEdBQUdzQjtBQUNoSCxNQUFNN0IsbUJBQW1CK0IsTUFBcUMsR0FBR3hCLENBQW9DLEdBQUdzQixnQkFFeEcsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvcnNjL3RhaW50LmpzPzg3ODciXSwic291cmNlc0NvbnRlbnQiOlsiLypcblxuRmlsZXMgaW4gdGhlIHJzYyBkaXJlY3RvcnkgYXJlIG1lYW50IHRvIGJlIHBhY2thZ2VkIGFzIHBhcnQgb2YgdGhlIFJTQyBncmFwaCB1c2luZyBuZXh0LWFwcC1sb2FkZXIuXG5cbiovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgdGFpbnRPYmplY3RSZWZlcmVuY2U6IG51bGwsXG4gICAgdGFpbnRVbmlxdWVWYWx1ZTogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICB0YWludE9iamVjdFJlZmVyZW5jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0YWludE9iamVjdFJlZmVyZW5jZTtcbiAgICB9LFxuICAgIHRhaW50VW5pcXVlVmFsdWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGFpbnRVbmlxdWVWYWx1ZTtcbiAgICB9XG59KTtcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZChyZXF1aXJlKFwicmVhY3RcIikpO1xuZnVuY3Rpb24gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKSB7XG4gICAgaWYgKHR5cGVvZiBXZWFrTWFwICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiBudWxsO1xuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHJldHVybiAoX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlID0gZnVuY3Rpb24obm9kZUludGVyb3ApIHtcbiAgICAgICAgcmV0dXJuIG5vZGVJbnRlcm9wID8gY2FjaGVOb2RlSW50ZXJvcCA6IGNhY2hlQmFiZWxJbnRlcm9wO1xuICAgIH0pKG5vZGVJbnRlcm9wKTtcbn1cbmZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSB7XG4gICAgICAgIHJldHVybiBvYmo7XG4gICAgfVxuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGRlZmF1bHQ6IG9ialxuICAgICAgICB9O1xuICAgIH1cbiAgICB2YXIgY2FjaGUgPSBfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUobm9kZUludGVyb3ApO1xuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkge1xuICAgICAgICByZXR1cm4gY2FjaGUuZ2V0KG9iaik7XG4gICAgfVxuICAgIHZhciBuZXdPYmogPSB7fTtcbiAgICB2YXIgaGFzUHJvcGVydHlEZXNjcmlwdG9yID0gT2JqZWN0LmRlZmluZVByb3BlcnR5ICYmIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG4gICAgZm9yKHZhciBrZXkgaW4gb2JqKXtcbiAgICAgICAgaWYgKGtleSAhPT0gXCJkZWZhdWx0XCIgJiYgT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwga2V5KSkge1xuICAgICAgICAgICAgdmFyIGRlc2MgPSBoYXNQcm9wZXJ0eURlc2NyaXB0b3IgPyBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iaiwga2V5KSA6IG51bGw7XG4gICAgICAgICAgICBpZiAoZGVzYyAmJiAoZGVzYy5nZXQgfHwgZGVzYy5zZXQpKSB7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG5ld09iaiwga2V5LCBkZXNjKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgbmV3T2JqW2tleV0gPSBvYmpba2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcbiAgICBpZiAoY2FjaGUpIHtcbiAgICAgICAgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld09iajtcbn1cbmZ1bmN0aW9uIG5vdEltcGxlbWVudGVkKCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRhaW50IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgdGFpbnQgZmxhZy5cIik7XG59XG5jb25zdCB0YWludE9iamVjdFJlZmVyZW5jZSA9IHByb2Nlc3MuZW52Ll9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QgPyBfcmVhY3QuZXhwZXJpbWVudGFsX3RhaW50T2JqZWN0UmVmZXJlbmNlIDogbm90SW1wbGVtZW50ZWQ7XG5jb25zdCB0YWludFVuaXF1ZVZhbHVlID0gcHJvY2Vzcy5lbnYuX19ORVhUX0VYUEVSSU1FTlRBTF9SRUFDVCA/IF9yZWFjdC5leHBlcmltZW50YWxfdGFpbnRVbmlxdWVWYWx1ZSA6IG5vdEltcGxlbWVudGVkO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD10YWludC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJ0YWludE9iamVjdFJlZmVyZW5jZSIsInRhaW50VW5pcXVlVmFsdWUiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfcmVhY3QiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0Iiwibm90SW1wbGVtZW50ZWQiLCJFcnJvciIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfRVhQRVJJTUVOVEFMX1JFQUNUIiwiZXhwZXJpbWVudGFsX3RhaW50T2JqZWN0UmVmZXJlbmNlIiwiZXhwZXJpbWVudGFsX3RhaW50VW5pcXVlVmFsdWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/app-render/rsc/taint.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/server/future/helpers/interception-routes.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERCEPTION_ROUTE_MARKERS: function() {\n return INTERCEPTION_ROUTE_MARKERS;\n },\n isInterceptionRouteAppPath: function() {\n return isInterceptionRouteAppPath;\n },\n extractInterceptionRouteInformation: function() {\n return extractInterceptionRouteInformation;\n }\n});\nconst _apppaths = __webpack_require__(/*! ../../../shared/lib/router/utils/app-paths */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst INTERCEPTION_ROUTE_MARKERS = [\n \"(..)(..)\",\n \"(.)\",\n \"(..)\",\n \"(...)\"\n];\nfunction isInterceptionRouteAppPath(path) {\n // TODO-APP: add more serious validation\n return path.split(\"/\").find((segment)=>INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m))) !== undefined;\n}\nfunction extractInterceptionRouteInformation(path) {\n let interceptingRoute, marker, interceptedRoute;\n for (const segment of path.split(\"/\")){\n marker = INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n [interceptingRoute, interceptedRoute] = path.split(marker, 2);\n break;\n }\n }\n if (!interceptingRoute || !marker || !interceptedRoute) {\n throw new Error(`Invalid interception route: ${path}. Must be in the format /<intercepting route>/(..|...|..)(..)/<intercepted route>`);\n }\n interceptingRoute = (0, _apppaths.normalizeAppPath)(interceptingRoute) // normalize the path, e.g. /(blog)/feed -> /feed\n ;\n switch(marker){\n case \"(.)\":\n // (.) indicates that we should match with sibling routes, so we just need to append the intercepted route to the intercepting route\n if (interceptingRoute === \"/\") {\n interceptedRoute = `/${interceptedRoute}`;\n } else {\n interceptedRoute = interceptingRoute + \"/\" + interceptedRoute;\n }\n break;\n case \"(..)\":\n // (..) indicates that we should match at one level up, so we need to remove the last segment of the intercepting route\n if (interceptingRoute === \"/\") {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..) marker at the root level, use (.) instead.`);\n }\n interceptedRoute = interceptingRoute.split(\"/\").slice(0, -1).concat(interceptedRoute).join(\"/\");\n break;\n case \"(...)\":\n // (...) will match the route segment in the root directory, so we need to use the root directory to prepend the intercepted route\n interceptedRoute = \"/\" + interceptedRoute;\n break;\n case \"(..)(..)\":\n // (..)(..) indicates that we should match at two levels up, so we need to remove the last two segments of the intercepting route\n const splitInterceptingRoute = interceptingRoute.split(\"/\");\n if (splitInterceptingRoute.length <= 2) {\n throw new Error(`Invalid interception route: ${path}. Cannot use (..)(..) marker at the root level or one level up.`);\n }\n interceptedRoute = splitInterceptingRoute.slice(0, -2).concat(interceptedRoute).join(\"/\");\n break;\n default:\n throw new Error(\"Invariant: unexpected marker\");\n }\n return {\n interceptingRoute,\n interceptedRoute\n };\n} //# sourceMappingURL=interception-routes.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyw0QkFBNEI7UUFDeEIsT0FBT0E7SUFDWDtJQUNBQyxxQ0FBcUM7UUFDakMsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sWUFBWUMsbUJBQU9BLENBQUMsdUhBQTRDO0FBQ3RFLE1BQU1WLDZCQUE2QjtJQUMvQjtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0QsU0FBU0MsMkJBQTJCVSxJQUFJO0lBQ3BDLHdDQUF3QztJQUN4QyxPQUFPQSxLQUFLQyxLQUFLLENBQUMsS0FBS0MsSUFBSSxDQUFDLENBQUNDLFVBQVVkLDJCQUEyQmEsSUFBSSxDQUFDLENBQUNFLElBQUlELFFBQVFFLFVBQVUsQ0FBQ0QsU0FBU0U7QUFDNUc7QUFDQSxTQUFTZixvQ0FBb0NTLElBQUk7SUFDN0MsSUFBSU8sbUJBQW1CQyxRQUFRQztJQUMvQixLQUFLLE1BQU1OLFdBQVdILEtBQUtDLEtBQUssQ0FBQyxLQUFLO1FBQ2xDTyxTQUFTbkIsMkJBQTJCYSxJQUFJLENBQUMsQ0FBQ0UsSUFBSUQsUUFBUUUsVUFBVSxDQUFDRDtRQUNqRSxJQUFJSSxRQUFRO1lBQ1IsQ0FBQ0QsbUJBQW1CRSxpQkFBaUIsR0FBR1QsS0FBS0MsS0FBSyxDQUFDTyxRQUFRO1lBQzNEO1FBQ0o7SUFDSjtJQUNBLElBQUksQ0FBQ0QscUJBQXFCLENBQUNDLFVBQVUsQ0FBQ0Msa0JBQWtCO1FBQ3BELE1BQU0sSUFBSUMsTUFBTSxDQUFDLDRCQUE0QixFQUFFVixLQUFLLGlGQUFpRixDQUFDO0lBQzFJO0lBQ0FPLG9CQUFvQixDQUFDLEdBQUdULFVBQVVhLGdCQUFnQixFQUFFSixtQkFBbUIsaURBQWlEOztJQUV4SCxPQUFPQztRQUNILEtBQUs7WUFDRCxvSUFBb0k7WUFDcEksSUFBSUQsc0JBQXNCLEtBQUs7Z0JBQzNCRSxtQkFBbUIsQ0FBQyxDQUFDLEVBQUVBLGlCQUFpQixDQUFDO1lBQzdDLE9BQU87Z0JBQ0hBLG1CQUFtQkYsb0JBQW9CLE1BQU1FO1lBQ2pEO1lBQ0E7UUFDSixLQUFLO1lBQ0QsdUhBQXVIO1lBQ3ZILElBQUlGLHNCQUFzQixLQUFLO2dCQUMzQixNQUFNLElBQUlHLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRVYsS0FBSyw0REFBNEQsQ0FBQztZQUNySDtZQUNBUyxtQkFBbUJGLGtCQUFrQk4sS0FBSyxDQUFDLEtBQUtXLEtBQUssQ0FBQyxHQUFHLENBQUMsR0FBR0MsTUFBTSxDQUFDSixrQkFBa0JLLElBQUksQ0FBQztZQUMzRjtRQUNKLEtBQUs7WUFDRCxrSUFBa0k7WUFDbElMLG1CQUFtQixNQUFNQTtZQUN6QjtRQUNKLEtBQUs7WUFDRCxpSUFBaUk7WUFDakksTUFBTU0seUJBQXlCUixrQkFBa0JOLEtBQUssQ0FBQztZQUN2RCxJQUFJYyx1QkFBdUJDLE1BQU0sSUFBSSxHQUFHO2dCQUNwQyxNQUFNLElBQUlOLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRVYsS0FBSywrREFBK0QsQ0FBQztZQUN4SDtZQUNBUyxtQkFBbUJNLHVCQUF1QkgsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHQyxNQUFNLENBQUNKLGtCQUFrQkssSUFBSSxDQUFDO1lBQ3JGO1FBQ0o7WUFDSSxNQUFNLElBQUlKLE1BQU07SUFDeEI7SUFDQSxPQUFPO1FBQ0hIO1FBQ0FFO0lBQ0o7QUFDSixFQUVBLCtDQUErQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzLmpzPzM1Y2MiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzogbnVsbCxcbiAgICBpc0ludGVyY2VwdGlvblJvdXRlQXBwUGF0aDogbnVsbCxcbiAgICBleHRyYWN0SW50ZXJjZXB0aW9uUm91dGVJbmZvcm1hdGlvbjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUztcbiAgICB9LFxuICAgIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoO1xuICAgIH0sXG4gICAgZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb247XG4gICAgfVxufSk7XG5jb25zdCBfYXBwcGF0aHMgPSByZXF1aXJlKFwiLi4vLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYXBwLXBhdGhzXCIpO1xuY29uc3QgSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMgPSBbXG4gICAgXCIoLi4pKC4uKVwiLFxuICAgIFwiKC4pXCIsXG4gICAgXCIoLi4pXCIsXG4gICAgXCIoLi4uKVwiXG5dO1xuZnVuY3Rpb24gaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgocGF0aCkge1xuICAgIC8vIFRPRE8tQVBQOiBhZGQgbW9yZSBzZXJpb3VzIHZhbGlkYXRpb25cbiAgICByZXR1cm4gcGF0aC5zcGxpdChcIi9cIikuZmluZCgoc2VnbWVudCk9PklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpKSAhPT0gdW5kZWZpbmVkO1xufVxuZnVuY3Rpb24gZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24ocGF0aCkge1xuICAgIGxldCBpbnRlcmNlcHRpbmdSb3V0ZSwgbWFya2VyLCBpbnRlcmNlcHRlZFJvdXRlO1xuICAgIGZvciAoY29uc3Qgc2VnbWVudCBvZiBwYXRoLnNwbGl0KFwiL1wiKSl7XG4gICAgICAgIG1hcmtlciA9IElOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpO1xuICAgICAgICBpZiAobWFya2VyKSB7XG4gICAgICAgICAgICBbaW50ZXJjZXB0aW5nUm91dGUsIGludGVyY2VwdGVkUm91dGVdID0gcGF0aC5zcGxpdChtYXJrZXIsIDIpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFpbnRlcmNlcHRpbmdSb3V0ZSB8fCAhbWFya2VyIHx8ICFpbnRlcmNlcHRlZFJvdXRlKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7cGF0aH0uIE11c3QgYmUgaW4gdGhlIGZvcm1hdCAvPGludGVyY2VwdGluZyByb3V0ZT4vKC4ufC4uLnwuLikoLi4pLzxpbnRlcmNlcHRlZCByb3V0ZT5gKTtcbiAgICB9XG4gICAgaW50ZXJjZXB0aW5nUm91dGUgPSAoMCwgX2FwcHBhdGhzLm5vcm1hbGl6ZUFwcFBhdGgpKGludGVyY2VwdGluZ1JvdXRlKSAvLyBub3JtYWxpemUgdGhlIHBhdGgsIGUuZy4gLyhibG9nKS9mZWVkIC0+IC9mZWVkXG4gICAgO1xuICAgIHN3aXRjaChtYXJrZXIpe1xuICAgICAgICBjYXNlIFwiKC4pXCI6XG4gICAgICAgICAgICAvLyAoLikgaW5kaWNhdGVzIHRoYXQgd2Ugc2hvdWxkIG1hdGNoIHdpdGggc2libGluZyByb3V0ZXMsIHNvIHdlIGp1c3QgbmVlZCB0byBhcHBlbmQgdGhlIGludGVyY2VwdGVkIHJvdXRlIHRvIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGlmIChpbnRlcmNlcHRpbmdSb3V0ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgICBpbnRlcmNlcHRlZFJvdXRlID0gYC8ke2ludGVyY2VwdGVkUm91dGV9YDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgaW50ZXJjZXB0ZWRSb3V0ZSA9IGludGVyY2VwdGluZ1JvdXRlICsgXCIvXCIgKyBpbnRlcmNlcHRlZFJvdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCIoLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4pIGluZGljYXRlcyB0aGF0IHdlIHNob3VsZCBtYXRjaCBhdCBvbmUgbGV2ZWwgdXAsIHNvIHdlIG5lZWQgdG8gcmVtb3ZlIHRoZSBsYXN0IHNlZ21lbnQgb2YgdGhlIGludGVyY2VwdGluZyByb3V0ZVxuICAgICAgICAgICAgaWYgKGludGVyY2VwdGluZ1JvdXRlID09PSBcIi9cIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7cGF0aH0uIENhbm5vdCB1c2UgKC4uKSBtYXJrZXIgYXQgdGhlIHJvb3QgbGV2ZWwsIHVzZSAoLikgaW5zdGVhZC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZS5zcGxpdChcIi9cIikuc2xpY2UoMCwgLTEpLmNvbmNhdChpbnRlcmNlcHRlZFJvdXRlKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiKC4uLilcIjpcbiAgICAgICAgICAgIC8vICguLi4pIHdpbGwgbWF0Y2ggdGhlIHJvdXRlIHNlZ21lbnQgaW4gdGhlIHJvb3QgZGlyZWN0b3J5LCBzbyB3ZSBuZWVkIHRvIHVzZSB0aGUgcm9vdCBkaXJlY3RvcnkgdG8gcHJlcGVuZCB0aGUgaW50ZXJjZXB0ZWQgcm91dGVcbiAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBcIi9cIiArIGludGVyY2VwdGVkUm91dGU7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIiguLikoLi4pXCI6XG4gICAgICAgICAgICAvLyAoLi4pKC4uKSBpbmRpY2F0ZXMgdGhhdCB3ZSBzaG91bGQgbWF0Y2ggYXQgdHdvIGxldmVscyB1cCwgc28gd2UgbmVlZCB0byByZW1vdmUgdGhlIGxhc3QgdHdvIHNlZ21lbnRzIG9mIHRoZSBpbnRlcmNlcHRpbmcgcm91dGVcbiAgICAgICAgICAgIGNvbnN0IHNwbGl0SW50ZXJjZXB0aW5nUm91dGUgPSBpbnRlcmNlcHRpbmdSb3V0ZS5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICBpZiAoc3BsaXRJbnRlcmNlcHRpbmdSb3V0ZS5sZW5ndGggPD0gMikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCBpbnRlcmNlcHRpb24gcm91dGU6ICR7cGF0aH0uIENhbm5vdCB1c2UgKC4uKSguLikgbWFya2VyIGF0IHRoZSByb290IGxldmVsIG9yIG9uZSBsZXZlbCB1cC5gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGludGVyY2VwdGVkUm91dGUgPSBzcGxpdEludGVyY2VwdGluZ1JvdXRlLnNsaWNlKDAsIC0yKS5jb25jYXQoaW50ZXJjZXB0ZWRSb3V0ZSkuam9pbihcIi9cIik7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogdW5leHBlY3RlZCBtYXJrZXJcIik7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGludGVyY2VwdGluZ1JvdXRlLFxuICAgICAgICBpbnRlcmNlcHRlZFJvdXRlXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aW50ZXJjZXB0aW9uLXJvdXRlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoIiwiZXh0cmFjdEludGVyY2VwdGlvblJvdXRlSW5mb3JtYXRpb24iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfYXBwcGF0aHMiLCJyZXF1aXJlIiwicGF0aCIsInNwbGl0IiwiZmluZCIsInNlZ21lbnQiLCJtIiwic3RhcnRzV2l0aCIsInVuZGVmaW5lZCIsImludGVyY2VwdGluZ1JvdXRlIiwibWFya2VyIiwiaW50ZXJjZXB0ZWRSb3V0ZSIsIkVycm9yIiwibm9ybWFsaXplQXBwUGF0aCIsInNsaWNlIiwiY29uY2F0Iiwiam9pbiIsInNwbGl0SW50ZXJjZXB0aW5nUm91dGUiLCJsZW5ndGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-kind.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-kind.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"RouteKind\", ({\n enumerable: true,\n get: function() {\n return RouteKind;\n }\n}));\nvar RouteKind;\n(function(RouteKind) {\n RouteKind[/**\n * `PAGES` represents all the React pages that are under `pages/`.\n */ \"PAGES\"] = \"PAGES\";\n RouteKind[/**\n * `PAGES_API` represents all the API routes under `pages/api/`.\n */ \"PAGES_API\"] = \"PAGES_API\";\n RouteKind[/**\n * `APP_PAGE` represents all the React pages that are under `app/` with the\n * filename of `page.{j,t}s{,x}`.\n */ \"APP_PAGE\"] = \"APP_PAGE\";\n RouteKind[/**\n * `APP_ROUTE` represents all the API routes and metadata routes that are under `app/` with the\n * filename of `route.{j,t}s{,x}`.\n */ \"APP_ROUTE\"] = \"APP_ROUTE\";\n})(RouteKind || (RouteKind = {})); //# sourceMappingURL=route-kind.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsSUFBSUE7QUFDSCxVQUFTQSxTQUFTO0lBQ2ZBLFNBQVMsQ0FBQzs7R0FFWCxHQUFHLFFBQVEsR0FBRztJQUNiQSxTQUFTLENBQUM7O0dBRVgsR0FBRyxZQUFZLEdBQUc7SUFDakJBLFNBQVMsQ0FBQzs7O0dBR1gsR0FBRyxXQUFXLEdBQUc7SUFDaEJBLFNBQVMsQ0FBQzs7O0dBR1gsR0FBRyxZQUFZLEdBQUc7QUFDckIsR0FBR0EsYUFBY0EsQ0FBQUEsWUFBWSxDQUFDLEtBRTlCLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZC5qcz8zOTc5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiUm91dGVLaW5kXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSb3V0ZUtpbmQ7XG4gICAgfVxufSk7XG52YXIgUm91dGVLaW5kO1xuKGZ1bmN0aW9uKFJvdXRlS2luZCkge1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYFBBR0VTYCByZXByZXNlbnRzIGFsbCB0aGUgUmVhY3QgcGFnZXMgdGhhdCBhcmUgdW5kZXIgYHBhZ2VzL2AuXG4gICAqLyBcIlBBR0VTXCJdID0gXCJQQUdFU1wiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYFBBR0VTX0FQSWAgcmVwcmVzZW50cyBhbGwgdGhlIEFQSSByb3V0ZXMgdW5kZXIgYHBhZ2VzL2FwaS9gLlxuICAgKi8gXCJQQUdFU19BUElcIl0gPSBcIlBBR0VTX0FQSVwiO1xuICAgIFJvdXRlS2luZFsvKipcbiAgICogYEFQUF9QQUdFYCByZXByZXNlbnRzIGFsbCB0aGUgUmVhY3QgcGFnZXMgdGhhdCBhcmUgdW5kZXIgYGFwcC9gIHdpdGggdGhlXG4gICAqIGZpbGVuYW1lIG9mIGBwYWdlLntqLHR9c3sseH1gLlxuICAgKi8gXCJBUFBfUEFHRVwiXSA9IFwiQVBQX1BBR0VcIjtcbiAgICBSb3V0ZUtpbmRbLyoqXG4gICAqIGBBUFBfUk9VVEVgIHJlcHJlc2VudHMgYWxsIHRoZSBBUEkgcm91dGVzIGFuZCBtZXRhZGF0YSByb3V0ZXMgdGhhdCBhcmUgdW5kZXIgYGFwcC9gIHdpdGggdGhlXG4gICAqIGZpbGVuYW1lIG9mIGByb3V0ZS57aix0fXN7LHh9YC5cbiAgICovIFwiQVBQX1JPVVRFXCJdID0gXCJBUFBfUk9VVEVcIjtcbn0pKFJvdXRlS2luZCB8fCAoUm91dGVLaW5kID0ge30pKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUta2luZC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUm91dGVLaW5kIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-kind.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97": /*!****************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js ***! \****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-page.runtime.dev.js */ \"next/dist/compiled/next-server/app-page.runtime.dev.js\");\n } else {}\n }\n} //# sourceMappingURL=module.compiled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS9tb2R1bGUuY29tcGlsZWQuanM/OWQ5NyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiLElBQUlBLEtBQW1DLEVBQUUsRUFFeEMsTUFBTTtJQUNILElBQUlBLEtBQXFDLEVBQUUsRUFRMUMsTUFBTTtRQUNILElBQUlBLElBQXNDLEVBQUU7WUFDeENHLDRKQUFrRjtRQUN0RixPQUFPLEVBSU47SUFDTDtBQUNKLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZC5qcz9jNGVlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5qc1wiKTtcbn0gZWxzZSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QpIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5kZXYuanNcIik7XG4gICAgICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UtdHVyYm8tZXhwZXJpbWVudGFsLnJ1bnRpbWUucHJvZC5qc1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS1leHBlcmltZW50YWwucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS5ydW50aW1lLmRldi5qc1wiKTtcbiAgICAgICAgfSBlbHNlIGlmIChwcm9jZXNzLmVudi5UVVJCT1BBQ0spIHtcbiAgICAgICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcGFnZS10dXJiby5ydW50aW1lLnByb2QuanNcIik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXBhZ2UucnVudGltZS5wcm9kLmpzXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1tb2R1bGUuY29tcGlsZWQuanMubWFwIl0sIm5hbWVzIjpbInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsIl9fTkVYVF9FWFBFUklNRU5UQUxfUkVBQ1QiLCJUVVJCT1BBQ0siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js": /*!***********************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js ***! \***********************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactDOM; //# sourceMappingURL=react-dom.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtZG9tLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLCtMQUFnRixFQUVoRixxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvcnNjL3JlYWN0LWRvbS5qcz9kZmIxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3QtcnNjXCJdLlJlYWN0RE9NO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yZWFjdC1kb20uanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdERPTSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-dom.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js ***! \***********************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactJsxDevRuntime; //# sourceMappingURL=react-jsx-dev-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LWRldi1ydW50aW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHlNQUEwRixFQUUxRixpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvcnNjL3JlYWN0LWpzeC1kZXYtcnVudGltZS5qcz8yYjRlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3QtcnNjXCJdLlJlYWN0SnN4RGV2UnVudGltZTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QtanN4LWRldi1ydW50aW1lLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RKc3hEZXZSdW50aW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js": /*!*******************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js ***! \*******************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactJsxRuntime; //# sourceMappingURL=react-jsx-runtime.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LXJ1bnRpbWUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsc01BQXVGLEVBRXZGLDZDQUE2QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QtanN4LXJ1bnRpbWUuanM/NjE1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdEpzeFJ1bnRpbWU7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LWpzeC1ydW50aW1lLmpzLm1hcCJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwicmVxdWlyZSIsInZlbmRvcmVkIiwiUmVhY3RKc3hSdW50aW1lIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-runtime.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js": /*!**************************************************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js ***! \**************************************************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].ReactServerDOMWebpackServerEdge; //# sourceMappingURL=react-server-dom-webpack-server-edge.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrLXNlcnZlci1lZGdlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLHNOQUF1RyxFQUV2RyxnRUFBZ0UiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvdmVuZG9yZWQvcnNjL3JlYWN0LXNlcnZlci1kb20td2VicGFjay1zZXJ2ZXItZWRnZS5qcz8yNjdlIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xubW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwiLi4vLi4vbW9kdWxlLmNvbXBpbGVkXCIpLnZlbmRvcmVkW1wicmVhY3QtcnNjXCJdLlJlYWN0U2VydmVyRE9NV2VicGFja1NlcnZlckVkZ2U7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlYWN0LXNlcnZlci1kb20td2VicGFjay1zZXJ2ZXItZWRnZS5qcy5tYXAiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJ2ZW5kb3JlZCIsIlJlYWN0U2VydmVyRE9NV2VicGFja1NlcnZlckVkZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-server-dom-webpack-server-edge.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js ***! \*******************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nmodule.exports = __webpack_require__(/*! ../../module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?9d97\").vendored[\"react-rsc\"].React; //# sourceMappingURL=react.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsNExBQTZFLEVBRTdFLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcGFnZS92ZW5kb3JlZC9yc2MvcmVhY3QuanM/NTJhMyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIi4uLy4uL21vZHVsZS5jb21waWxlZFwiKS52ZW5kb3JlZFtcInJlYWN0LXJzY1wiXS5SZWFjdDtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVhY3QuanMubWFwIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJyZXF1aXJlIiwidmVuZG9yZWQiLCJSZWFjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js": /*!*****************************************************************************************!*\ !*** ./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js ***! \*****************************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("\nif (false) {} else {\n if (true) {\n module.exports = __webpack_require__(/*! next/dist/compiled/next-server/app-route.runtime.dev.js */ \"next/dist/compiled/next-server/app-route.runtime.dev.js\");\n } else {}\n} //# sourceMappingURL=module.compiled.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmNvbXBpbGVkLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2IsSUFBSUEsS0FBbUMsRUFBRSxFQUV4QyxNQUFNO0lBQ0gsSUFBSUEsSUFBc0MsRUFBRTtRQUN4Q0csOEpBQW1GO0lBQ3ZGLE9BQU8sRUFJTjtBQUNMLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1yb3V0ZS9tb2R1bGUuY29tcGlsZWQuanM/ODgwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbmlmIChwcm9jZXNzLmVudi5ORVhUX1JVTlRJTUUgPT09IFwiZWRnZVwiKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUtbW9kdWxlcy9hcHAtcm91dGUvbW9kdWxlLmpzXCIpO1xufSBlbHNlIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvbmV4dC1zZXJ2ZXIvYXBwLXJvdXRlLnJ1bnRpbWUuZGV2LmpzXCIpO1xuICAgIH0gZWxzZSBpZiAocHJvY2Vzcy5lbnYuVFVSQk9QQUNLKSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcm91dGUtdHVyYm8ucnVudGltZS5wcm9kLmpzXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9uZXh0LXNlcnZlci9hcHAtcm91dGUucnVudGltZS5wcm9kLmpzXCIpO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bW9kdWxlLmNvbXBpbGVkLmpzLm1hcCJdLCJuYW1lcyI6WyJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwibW9kdWxlIiwiZXhwb3J0cyIsInJlcXVpcmUiLCJUVVJCT1BBQ0siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/future/route-modules/app-route/module.compiled.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/server/lib/patch-fetch.js ***! \**********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n validateRevalidate: function() {\n return validateRevalidate;\n },\n validateTags: function() {\n return validateTags;\n },\n addImplicitTags: function() {\n return addImplicitTags;\n },\n patchFetch: function() {\n return patchFetch;\n }\n});\nconst _constants = __webpack_require__(/*! ./trace/constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\nconst _tracer = __webpack_require__(/*! ./trace/tracer */ \"(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\");\nconst _constants1 = __webpack_require__(/*! ../../lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\nconst _log = /*#__PURE__*/ _interop_require_wildcard(__webpack_require__(/*! ../../build/output/log */ \"(rsc)/./node_modules/next/dist/build/output/log.js\"));\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) {\n return obj;\n }\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") {\n return {\n default: obj\n };\n }\n var cache = _getRequireWildcardCache(nodeInterop);\n if (cache && cache.has(obj)) {\n return cache.get(obj);\n }\n var newObj = {};\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n for(var key in obj){\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) {\n Object.defineProperty(newObj, key, desc);\n } else {\n newObj[key] = obj[key];\n }\n }\n }\n newObj.default = obj;\n if (cache) {\n cache.set(obj, newObj);\n }\n return newObj;\n}\nconst isEdgeRuntime = \"nodejs\" === \"edge\";\nfunction validateRevalidate(revalidateVal, pathname) {\n try {\n let normalizedRevalidate = undefined;\n if (revalidateVal === false) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal === \"number\" && !isNaN(revalidateVal) && revalidateVal > -1) {\n normalizedRevalidate = revalidateVal;\n } else if (typeof revalidateVal !== \"undefined\") {\n throw new Error(`Invalid revalidate value \"${revalidateVal}\" on \"${pathname}\", must be a non-negative number or \"false\"`);\n }\n return normalizedRevalidate;\n } catch (err) {\n // handle client component error from attempting to check revalidate value\n if (err instanceof Error && err.message.includes(\"Invalid revalidate\")) {\n throw err;\n }\n return undefined;\n }\n}\nfunction validateTags(tags, description) {\n const validTags = [];\n const invalidTags = [];\n for (const tag of tags){\n if (typeof tag !== \"string\") {\n invalidTags.push({\n tag,\n reason: \"invalid type, must be a string\"\n });\n } else if (tag.length > _constants1.NEXT_CACHE_TAG_MAX_LENGTH) {\n invalidTags.push({\n tag,\n reason: `exceeded max length of ${_constants1.NEXT_CACHE_TAG_MAX_LENGTH}`\n });\n } else {\n validTags.push(tag);\n }\n }\n if (invalidTags.length > 0) {\n console.warn(`Warning: invalid tags passed to ${description}: `);\n for (const { tag, reason } of invalidTags){\n console.log(`tag: \"${tag}\" ${reason}`);\n }\n }\n return validTags;\n}\nconst getDerivedTags = (pathname)=>{\n const derivedTags = [\n `/layout`\n ];\n // we automatically add the current path segments as tags\n // for revalidatePath handling\n if (pathname.startsWith(\"/\")) {\n const pathnameParts = pathname.split(\"/\");\n for(let i = 1; i < pathnameParts.length + 1; i++){\n let curPathname = pathnameParts.slice(0, i).join(\"/\");\n if (curPathname) {\n // all derived tags other than the page are layout tags\n if (!curPathname.endsWith(\"/page\") && !curPathname.endsWith(\"/route\")) {\n curPathname = `${curPathname}${!curPathname.endsWith(\"/\") ? \"/\" : \"\"}layout`;\n }\n derivedTags.push(curPathname);\n }\n }\n }\n return derivedTags;\n};\nfunction addImplicitTags(staticGenerationStore) {\n const newTags = [];\n const { pagePath, urlPathname } = staticGenerationStore;\n if (!Array.isArray(staticGenerationStore.tags)) {\n staticGenerationStore.tags = [];\n }\n if (pagePath) {\n const derivedTags = getDerivedTags(pagePath);\n for (let tag of derivedTags){\n var _staticGenerationStore_tags;\n tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${tag}`;\n if (!((_staticGenerationStore_tags = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n }\n if (urlPathname) {\n var _staticGenerationStore_tags1;\n const parsedPathname = new URL(urlPathname, \"http://n\").pathname;\n const tag = `${_constants1.NEXT_CACHE_IMPLICIT_TAG_ID}${parsedPathname}`;\n if (!((_staticGenerationStore_tags1 = staticGenerationStore.tags) == null ? void 0 : _staticGenerationStore_tags1.includes(tag))) {\n staticGenerationStore.tags.push(tag);\n }\n newTags.push(tag);\n }\n return newTags;\n}\nfunction trackFetchMetric(staticGenerationStore, ctx) {\n if (!staticGenerationStore) return;\n if (!staticGenerationStore.fetchMetrics) {\n staticGenerationStore.fetchMetrics = [];\n }\n const dedupeFields = [\n \"url\",\n \"status\",\n \"method\"\n ];\n // don't add metric if one already exists for the fetch\n if (staticGenerationStore.fetchMetrics.some((metric)=>{\n return dedupeFields.every((field)=>metric[field] === ctx[field]);\n })) {\n return;\n }\n staticGenerationStore.fetchMetrics.push({\n url: ctx.url,\n cacheStatus: ctx.cacheStatus,\n cacheReason: ctx.cacheReason,\n status: ctx.status,\n method: ctx.method,\n start: ctx.start,\n end: Date.now(),\n idx: staticGenerationStore.nextFetchId || 0\n });\n}\nfunction patchFetch({ serverHooks, staticGenerationAsyncStorage }) {\n if (!globalThis._nextOriginalFetch) {\n globalThis._nextOriginalFetch = globalThis.fetch;\n }\n if (globalThis.fetch.__nextPatched) return;\n const { DynamicServerError } = serverHooks;\n const originFetch = globalThis._nextOriginalFetch;\n globalThis.fetch = async (input, init)=>{\n var _init_method, _this;\n let url;\n try {\n url = new URL(input instanceof Request ? input.url : input);\n url.username = \"\";\n url.password = \"\";\n } catch {\n // Error caused by malformed URL should be handled by native fetch\n url = undefined;\n }\n const fetchUrl = (url == null ? void 0 : url.href) ?? \"\";\n const fetchStart = Date.now();\n const method = (init == null ? void 0 : (_init_method = init.method) == null ? void 0 : _init_method.toUpperCase()) || \"GET\";\n // Do create a new span trace for internal fetches in the\n // non-verbose mode.\n const isInternal = ((_this = init == null ? void 0 : init.next) == null ? void 0 : _this.internal) === true;\n const hideSpan = process.env.NEXT_OTEL_FETCH_DISABLED === \"1\";\n return await (0, _tracer.getTracer)().trace(isInternal ? _constants.NextNodeServerSpan.internalFetch : _constants.AppRenderSpan.fetch, {\n hideSpan,\n kind: _tracer.SpanKind.CLIENT,\n spanName: [\n \"fetch\",\n method,\n fetchUrl\n ].filter(Boolean).join(\" \"),\n attributes: {\n \"http.url\": fetchUrl,\n \"http.method\": method,\n \"net.peer.name\": url == null ? void 0 : url.hostname,\n \"net.peer.port\": (url == null ? void 0 : url.port) || undefined\n }\n }, async ()=>{\n var _getRequestMeta;\n const staticGenerationStore = staticGenerationAsyncStorage.getStore() || (fetch.__nextGetStaticStore == null ? void 0 : fetch.__nextGetStaticStore.call(fetch));\n const isRequestInput = input && typeof input === \"object\" && typeof input.method === \"string\";\n const getRequestMeta = (field)=>{\n // If request input is present but init is not, retrieve from input first.\n const value = init == null ? void 0 : init[field];\n return value || (isRequestInput ? input[field] : null);\n };\n // If the staticGenerationStore is not available, we can't do any\n // special treatment of fetch, therefore fallback to the original\n // fetch implementation.\n if (!staticGenerationStore || isInternal || staticGenerationStore.isDraftMode) {\n return originFetch(input, init);\n }\n let revalidate = undefined;\n const getNextField = (field)=>{\n var _init_next, _init_next1, _input_next;\n return typeof (init == null ? void 0 : (_init_next = init.next) == null ? void 0 : _init_next[field]) !== \"undefined\" ? init == null ? void 0 : (_init_next1 = init.next) == null ? void 0 : _init_next1[field] : isRequestInput ? (_input_next = input.next) == null ? void 0 : _input_next[field] : undefined;\n };\n // RequestInit doesn't keep extra fields e.g. next so it's\n // only available if init is used separate\n let curRevalidate = getNextField(\"revalidate\");\n const tags = validateTags(getNextField(\"tags\") || [], `fetch ${input.toString()}`);\n if (Array.isArray(tags)) {\n if (!staticGenerationStore.tags) {\n staticGenerationStore.tags = [];\n }\n for (const tag of tags){\n if (!staticGenerationStore.tags.includes(tag)) {\n staticGenerationStore.tags.push(tag);\n }\n }\n }\n const implicitTags = addImplicitTags(staticGenerationStore);\n const isOnlyCache = staticGenerationStore.fetchCache === \"only-cache\";\n const isForceCache = staticGenerationStore.fetchCache === \"force-cache\";\n const isDefaultCache = staticGenerationStore.fetchCache === \"default-cache\";\n const isDefaultNoStore = staticGenerationStore.fetchCache === \"default-no-store\";\n const isOnlyNoStore = staticGenerationStore.fetchCache === \"only-no-store\";\n const isForceNoStore = staticGenerationStore.fetchCache === \"force-no-store\";\n const isUsingNoStore = !!staticGenerationStore.isUnstableNoStore;\n let _cache = getRequestMeta(\"cache\");\n let cacheReason = \"\";\n if (typeof _cache === \"string\" && typeof curRevalidate !== \"undefined\") {\n // when providing fetch with a Request input, it'll automatically set a cache value of 'default'\n // we only want to warn if the user is explicitly setting a cache value\n if (!(isRequestInput && _cache === \"default\")) {\n _log.warn(`fetch for ${fetchUrl} on ${staticGenerationStore.urlPathname} specified \"cache: ${_cache}\" and \"revalidate: ${curRevalidate}\", only one should be specified.`);\n }\n _cache = undefined;\n }\n if (_cache === \"force-cache\") {\n curRevalidate = false;\n } else if (_cache === \"no-cache\" || _cache === \"no-store\" || isForceNoStore || isOnlyNoStore) {\n curRevalidate = 0;\n }\n if (_cache === \"no-cache\" || _cache === \"no-store\") {\n cacheReason = `cache: ${_cache}`;\n }\n revalidate = validateRevalidate(curRevalidate, staticGenerationStore.urlPathname);\n const _headers = getRequestMeta(\"headers\");\n const initHeaders = typeof (_headers == null ? void 0 : _headers.get) === \"function\" ? _headers : new Headers(_headers || {});\n const hasUnCacheableHeader = initHeaders.get(\"authorization\") || initHeaders.get(\"cookie\");\n const isUnCacheableMethod = ![\n \"get\",\n \"head\"\n ].includes(((_getRequestMeta = getRequestMeta(\"method\")) == null ? void 0 : _getRequestMeta.toLowerCase()) || \"get\");\n // if there are authorized headers or a POST method and\n // dynamic data usage was present above the tree we bail\n // e.g. if cookies() is used before an authed/POST fetch\n const autoNoCache = (hasUnCacheableHeader || isUnCacheableMethod) && staticGenerationStore.revalidate === 0;\n if (isForceNoStore) {\n cacheReason = \"fetchCache = force-no-store\";\n }\n if (isOnlyNoStore) {\n if (_cache === \"force-cache\" || typeof revalidate !== \"undefined\" && (revalidate === false || revalidate > 0)) {\n throw new Error(`cache: 'force-cache' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-no-store'`);\n }\n cacheReason = \"fetchCache = only-no-store\";\n }\n if (isOnlyCache && _cache === \"no-store\") {\n throw new Error(`cache: 'no-store' used on fetch for ${fetchUrl} with 'export const fetchCache = 'only-cache'`);\n }\n if (isForceCache && (typeof curRevalidate === \"undefined\" || curRevalidate === 0)) {\n cacheReason = \"fetchCache = force-cache\";\n revalidate = false;\n }\n if (typeof revalidate === \"undefined\") {\n if (isDefaultCache) {\n revalidate = false;\n cacheReason = \"fetchCache = default-cache\";\n } else if (autoNoCache) {\n revalidate = 0;\n cacheReason = \"auto no cache\";\n } else if (isDefaultNoStore) {\n revalidate = 0;\n cacheReason = \"fetchCache = default-no-store\";\n } else if (isUsingNoStore) {\n revalidate = 0;\n cacheReason = \"noStore call\";\n } else {\n cacheReason = \"auto cache\";\n revalidate = typeof staticGenerationStore.revalidate === \"boolean\" || typeof staticGenerationStore.revalidate === \"undefined\" ? false : staticGenerationStore.revalidate;\n }\n } else if (!cacheReason) {\n cacheReason = `revalidate: ${revalidate}`;\n }\n if (// `revalidate: 0` values\n !(staticGenerationStore.forceStatic && revalidate === 0) && // we don't consider autoNoCache to switch to dynamic during\n // revalidate although if it occurs during build we do\n !autoNoCache && // If the revalidate value isn't currently set or the value is less\n // than the current revalidate value, we should update the revalidate\n // value.\n (typeof staticGenerationStore.revalidate === \"undefined\" || typeof revalidate === \"number\" && (staticGenerationStore.revalidate === false || typeof staticGenerationStore.revalidate === \"number\" && revalidate < staticGenerationStore.revalidate))) {\n // If we were setting the revalidate value to 0, we should try to\n // postpone instead first.\n if (revalidate === 0) {\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, \"revalidate: 0\");\n }\n staticGenerationStore.revalidate = revalidate;\n }\n const isCacheableRevalidate = typeof revalidate === \"number\" && revalidate > 0 || revalidate === false;\n let cacheKey;\n if (staticGenerationStore.incrementalCache && isCacheableRevalidate) {\n try {\n cacheKey = await staticGenerationStore.incrementalCache.fetchCacheKey(fetchUrl, isRequestInput ? input : init);\n } catch (err) {\n console.error(`Failed to generate cache key for`, input);\n }\n }\n const fetchIdx = staticGenerationStore.nextFetchId ?? 1;\n staticGenerationStore.nextFetchId = fetchIdx + 1;\n const normalizedRevalidate = typeof revalidate !== \"number\" ? _constants1.CACHE_ONE_YEAR : revalidate;\n const doOriginalFetch = async (isStale, cacheReasonOverride)=>{\n const requestInputFields = [\n \"cache\",\n \"credentials\",\n \"headers\",\n \"integrity\",\n \"keepalive\",\n \"method\",\n \"mode\",\n \"redirect\",\n \"referrer\",\n \"referrerPolicy\",\n \"window\",\n \"duplex\",\n // don't pass through signal when revalidating\n ...isStale ? [] : [\n \"signal\"\n ]\n ];\n if (isRequestInput) {\n const reqInput = input;\n const reqOptions = {\n body: reqInput._ogBody || reqInput.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n reqOptions[field] = reqInput[field];\n }\n input = new Request(reqInput.url, reqOptions);\n } else if (init) {\n const initialInit = init;\n init = {\n body: init._ogBody || init.body\n };\n for (const field of requestInputFields){\n // @ts-expect-error custom fields\n init[field] = initialInit[field];\n }\n }\n // add metadata to init without editing the original\n const clonedInit = {\n ...init,\n next: {\n ...init == null ? void 0 : init.next,\n fetchType: \"origin\",\n fetchIdx\n }\n };\n return originFetch(input, clonedInit).then(async (res)=>{\n if (!isStale) {\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason: cacheReasonOverride || cacheReason,\n cacheStatus: revalidate === 0 || cacheReasonOverride ? \"skip\" : \"miss\",\n status: res.status,\n method: clonedInit.method || \"GET\"\n });\n }\n if (res.status === 200 && staticGenerationStore.incrementalCache && cacheKey && isCacheableRevalidate) {\n const bodyBuffer = Buffer.from(await res.arrayBuffer());\n try {\n await staticGenerationStore.incrementalCache.set(cacheKey, {\n kind: \"FETCH\",\n data: {\n headers: Object.fromEntries(res.headers.entries()),\n body: bodyBuffer.toString(\"base64\"),\n status: res.status,\n url: res.url\n },\n revalidate: normalizedRevalidate\n }, {\n fetchCache: true,\n revalidate,\n fetchUrl,\n fetchIdx,\n tags\n });\n } catch (err) {\n console.warn(`Failed to set fetch cache`, input, err);\n }\n const response = new Response(bodyBuffer, {\n headers: new Headers(res.headers),\n status: res.status\n });\n Object.defineProperty(response, \"url\", {\n value: res.url\n });\n return response;\n }\n return res;\n });\n };\n let handleUnlock = ()=>Promise.resolve();\n let cacheReasonOverride;\n if (cacheKey && staticGenerationStore.incrementalCache) {\n handleUnlock = await staticGenerationStore.incrementalCache.lock(cacheKey);\n const entry = staticGenerationStore.isOnDemandRevalidate ? null : await staticGenerationStore.incrementalCache.get(cacheKey, {\n kindHint: \"fetch\",\n revalidate,\n fetchUrl,\n fetchIdx,\n tags,\n softTags: implicitTags\n });\n if (entry) {\n await handleUnlock();\n } else {\n // in dev, incremental cache response will be null in case the browser adds `cache-control: no-cache` in the request headers\n cacheReasonOverride = \"cache-control: no-cache (hard refresh)\";\n }\n if ((entry == null ? void 0 : entry.value) && entry.value.kind === \"FETCH\") {\n // when stale and is revalidating we wait for fresh data\n // so the revalidated entry has the updated data\n if (!(staticGenerationStore.isRevalidate && entry.isStale)) {\n if (entry.isStale) {\n staticGenerationStore.pendingRevalidates ??= {};\n if (!staticGenerationStore.pendingRevalidates[cacheKey]) {\n staticGenerationStore.pendingRevalidates[cacheKey] = doOriginalFetch(true).catch(console.error);\n }\n }\n const resData = entry.value.data;\n trackFetchMetric(staticGenerationStore, {\n start: fetchStart,\n url: fetchUrl,\n cacheReason,\n cacheStatus: \"hit\",\n status: resData.status || 200,\n method: (init == null ? void 0 : init.method) || \"GET\"\n });\n const response = new Response(Buffer.from(resData.body, \"base64\"), {\n headers: resData.headers,\n status: resData.status\n });\n Object.defineProperty(response, \"url\", {\n value: entry.value.data.url\n });\n return response;\n }\n }\n }\n if (staticGenerationStore.isStaticGeneration && init && typeof init === \"object\") {\n const { cache } = init;\n // Delete `cache` property as Cloudflare Workers will throw an error\n if (isEdgeRuntime) delete init.cache;\n if (!staticGenerationStore.forceStatic && cache === \"no-store\") {\n const dynamicUsageReason = `no-store fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, dynamicUsageReason);\n // PPR is not enabled, or React postpone is not available, we\n // should set the revalidate to 0.\n staticGenerationStore.revalidate = 0;\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n }\n const hasNextConfig = \"next\" in init;\n const { next = {} } = init;\n if (typeof next.revalidate === \"number\" && (typeof staticGenerationStore.revalidate === \"undefined\" || typeof staticGenerationStore.revalidate === \"number\" && next.revalidate < staticGenerationStore.revalidate)) {\n if (!staticGenerationStore.forceDynamic && !staticGenerationStore.forceStatic && next.revalidate === 0) {\n const dynamicUsageReason = `revalidate: 0 fetch ${input}${staticGenerationStore.urlPathname ? ` ${staticGenerationStore.urlPathname}` : \"\"}`;\n // If enabled, we should bail out of static generation.\n staticGenerationStore.postpone == null ? void 0 : staticGenerationStore.postpone.call(staticGenerationStore, dynamicUsageReason);\n const err = new DynamicServerError(dynamicUsageReason);\n staticGenerationStore.dynamicUsageErr = err;\n staticGenerationStore.dynamicUsageDescription = dynamicUsageReason;\n }\n if (!staticGenerationStore.forceStatic || next.revalidate !== 0) {\n staticGenerationStore.revalidate = next.revalidate;\n }\n }\n if (hasNextConfig) delete init.next;\n }\n return doOriginalFetch(false, cacheReasonOverride).finally(handleUnlock);\n });\n };\n globalThis.fetch.__nextGetStaticStore = ()=>{\n return staticGenerationAsyncStorage;\n };\n globalThis.fetch.__nextPatched = true;\n} //# sourceMappingURL=patch-fetch.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvcGF0Y2gtZmV0Y2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGNBQWM7UUFDVixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGFBQWFDLG1CQUFPQSxDQUFDLHVGQUFtQjtBQUM5QyxNQUFNQyxVQUFVRCxtQkFBT0EsQ0FBQyxpRkFBZ0I7QUFDeEMsTUFBTUUsY0FBY0YsbUJBQU9BLENBQUMsNEVBQXFCO0FBQ2pELE1BQU1HLE9BQU8sV0FBVyxHQUFHQywwQkFBMEJKLG1CQUFPQSxDQUFDLGtGQUF3QjtBQUNyRixTQUFTSyx5QkFBeUJDLFdBQVc7SUFDekMsSUFBSSxPQUFPQyxZQUFZLFlBQVksT0FBTztJQUMxQyxJQUFJQyxvQkFBb0IsSUFBSUQ7SUFDNUIsSUFBSUUsbUJBQW1CLElBQUlGO0lBQzNCLE9BQU8sQ0FBQ0YsMkJBQTJCLFNBQVNDLFdBQVc7UUFDbkQsT0FBT0EsY0FBY0csbUJBQW1CRDtJQUM1QyxHQUFHRjtBQUNQO0FBQ0EsU0FBU0YsMEJBQTBCTSxHQUFHLEVBQUVKLFdBQVc7SUFDL0MsSUFBSSxDQUFDQSxlQUFlSSxPQUFPQSxJQUFJQyxVQUFVLEVBQUU7UUFDdkMsT0FBT0Q7SUFDWDtJQUNBLElBQUlBLFFBQVEsUUFB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SXlFLGVBQWUsT0FBTzVHLEtBQUtXLElBQUk7WUFDdkM7WUFDQSxPQUFPMEQsZ0JBQWdCLE9BQU9FLHFCQUFxQnVDLE9BQU8sQ0FBQ2xCO1FBQy9EO0lBQ0o7SUFDQW5HLFdBQVdFLEtBQUssQ0FBQ29DLG9CQUFvQixHQUFHO1FBQ3BDLE9BQU92QztJQUNYO0lBQ0FDLFdBQVdFLEtBQUssQ0FBQ0MsYUFBYSxHQUFHO0FBQ3JDLEVBRUEsdUNBQXVDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2xpYi9wYXRjaC1mZXRjaC5qcz80Mjk1Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgdmFsaWRhdGVSZXZhbGlkYXRlOiBudWxsLFxuICAgIHZhbGlkYXRlVGFnczogbnVsbCxcbiAgICBhZGRJbXBsaWNpdFRhZ3M6IG51bGwsXG4gICAgcGF0Y2hGZXRjaDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICB2YWxpZGF0ZVJldmFsaWRhdGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdmFsaWRhdGVSZXZhbGlkYXRlO1xuICAgIH0sXG4gICAgdmFsaWRhdGVUYWdzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRlVGFncztcbiAgICB9LFxuICAgIGFkZEltcGxpY2l0VGFnczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRJbXBsaWNpdFRhZ3M7XG4gICAgfSxcbiAgICBwYXRjaEZldGNoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhdGNoRmV0Y2g7XG4gICAgfVxufSk7XG5jb25zdCBfY29uc3RhbnRzID0gcmVxdWlyZShcIi4vdHJhY2UvY29uc3RhbnRzXCIpO1xuY29uc3QgX3RyYWNlciA9IHJlcXVpcmUoXCIuL3RyYWNlL3RyYWNlclwiKTtcbmNvbnN0IF9jb25zdGFudHMxID0gcmVxdWlyZShcIi4uLy4uL2xpYi9jb25zdGFudHNcIik7XG5jb25zdCBfbG9nID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKHJlcXVpcmUoXCIuLi8uLi9idWlsZC9vdXRwdXQvbG9nXCIpKTtcbmZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcbiAgICB2YXIgY2FjaGVCYWJlbEludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuICAgIHZhciBjYWNoZU5vZGVJbnRlcm9wID0gbmV3IFdlYWtNYXAoKTtcbiAgICByZXR1cm4gKF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSA9IGZ1bmN0aW9uKG5vZGVJbnRlcm9wKSB7XG4gICAgICAgIHJldHVybiBub2RlSW50ZXJvcCA/IGNhY2hlTm9kZUludGVyb3AgOiBjYWNoZUJhYmVsSW50ZXJvcDtcbiAgICB9KShub2RlSW50ZXJvcCk7XG59XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkKG9iaiwgbm9kZUludGVyb3ApIHtcbiAgICBpZiAoIW5vZGVJbnRlcm9wICYmIG9iaiAmJiBvYmouX19lc01vZHVsZSkge1xuICAgICAgICByZXR1cm4gb2JqO1xuICAgIH1cbiAgICBpZiAob2JqID09PSBudWxsIHx8IHR5cGVvZiBvYmogIT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIG9iaiAhPT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkZWZhdWx0OiBvYmpcbiAgICAgICAgfTtcbiAgICB9XG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcbiAgICBpZiAoY2FjaGUgJiYgY2FjaGUuaGFzKG9iaikpIHtcbiAgICAgICAgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuICAgIH1cbiAgICB2YXIgbmV3T2JqID0ge307XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuICAgIGZvcih2YXIga2V5IGluIG9iail7XG4gICAgICAgIGlmIChrZXkgIT09IFwiZGVmYXVsdFwiICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvYmosIGtleSkpIHtcbiAgICAgICAgICAgIHZhciBkZXNjID0gaGFzUHJvcGVydHlEZXNjcmlwdG9yID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihvYmosIGtleSkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGRlc2MgJiYgKGRlc2MuZ2V0IHx8IGRlc2Muc2V0KSkge1xuICAgICAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5ld09ialtrZXldID0gb2JqW2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmV3T2JqLmRlZmF1bHQgPSBvYmo7XG4gICAgaWYgKGNhY2hlKSB7XG4gICAgICAgIGNhY2hlLnNldChvYmosIG5ld09iaik7XG4gICAgfVxuICAgIHJldHVybiBuZXdPYmo7XG59XG5jb25zdCBpc0VkZ2VSdW50aW1lID0gcHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIjtcbmZ1bmN0aW9uIHZhbGlkYXRlUmV2YWxpZGF0ZShyZXZhbGlkYXRlVmFsLCBwYXRobmFtZSkge1xuICAgIHRyeSB7XG4gICAgICAgIGxldCBub3JtYWxpemVkUmV2YWxpZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgaWYgKHJldmFsaWRhdGVWYWwgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBub3JtYWxpemVkUmV2YWxpZGF0ZSA9IHJldmFsaWRhdGVWYWw7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHJldmFsaWRhdGVWYWwgPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHJldmFsaWRhdGVWYWwpICYmIHJldmFsaWRhdGVWYWwgPiAtMSkge1xuICAgICAgICAgICAgbm9ybWFsaXplZFJldmFsaWRhdGUgPSByZXZhbGlkYXRlVmFsO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiByZXZhbGlkYXRlVmFsICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgcmV2YWxpZGF0ZSB2YWx1ZSBcIiR7cmV2YWxpZGF0ZVZhbH1cIiBvbiBcIiR7cGF0aG5hbWV9XCIsIG11c3QgYmUgYSBub24tbmVnYXRpdmUgbnVtYmVyIG9yIFwiZmFsc2VcImApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBub3JtYWxpemVkUmV2YWxpZGF0ZTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgLy8gaGFuZGxlIGNsaWVudCBjb21wb25lbnQgZXJyb3IgZnJvbSBhdHRlbXB0aW5nIHRvIGNoZWNrIHJldmFsaWRhdGUgdmFsdWVcbiAgICAgICAgaWYgKGVyciBpbnN0YW5jZW9mIEVycm9yICYmIGVyci5tZXNzYWdlLmluY2x1ZGVzKFwiSW52YWxpZCByZXZhbGlkYXRlXCIpKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG59XG5mdW5jdGlvbiB2YWxpZGF0ZVRhZ3ModGFncywgZGVzY3JpcHRpb24pIHtcbiAgICBjb25zdCB2YWxpZFRhZ3MgPSBbXTtcbiAgICBjb25zdCBpbnZhbGlkVGFncyA9IFtdO1xuICAgIGZvciAoY29uc3QgdGFnIG9mIHRhZ3Mpe1xuICAgICAgICBpZiAodHlwZW9mIHRhZyAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgaW52YWxpZFRhZ3MucHVzaCh7XG4gICAgICAgICAgICAgICAgdGFnLFxuICAgICAgICAgICAgICAgIHJlYXNvbjogXCJpbnZhbGlkIHR5cGUsIG11c3QgYmUgYSBzdHJpbmdcIlxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSBpZiAodGFnLmxlbmd0aCA+IF9jb25zdGFudHMxLk5FWFRfQ0FDSEVfVEFHX01BWF9MRU5HVEgpIHtcbiAgICAgICAgICAgIGludmFsaWRUYWdzLnB1c2goe1xuICAgICAgICAgICAgICAgIHRhZyxcbiAgICAgICAgICAgICAgICByZWFzb246IGBleGNlZWRlZCBtYXggbGVuZ3RoIG9mICR7X2NvbnN0YW50czEuTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSH1gXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHZhbGlkVGFncy5wdXNoKHRhZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKGludmFsaWRUYWdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc29sZS53YXJuKGBXYXJuaW5nOiBpbnZhbGlkIHRhZ3MgcGFzc2VkIHRvICR7ZGVzY3JpcHRpb259OiBgKTtcbiAgICAgICAgZm9yIChjb25zdCB7IHRhZywgcmVhc29uIH0gb2YgaW52YWxpZFRhZ3Mpe1xuICAgICAgICAgICAgY29uc29sZS5sb2coYHRhZzogXCIke3RhZ31cIiAke3JlYXNvbn1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdmFsaWRUYWdzO1xufVxuY29uc3QgZ2V0RGVyaXZlZFRhZ3MgPSAocGF0aG5hbWUpPT57XG4gICAgY29uc3QgZGVyaXZlZFRhZ3MgPSBbXG4gICAgICAgIGAvbGF5b3V0YFxuICAgIF07XG4gICAgLy8gd2UgYXV0b21hdGljYWxseSBhZGQgdGhlIGN1cnJlbnQgcGF0aCBzZWdtZW50cyBhcyB0YWdzXG4gICAgLy8gZm9yIHJldmFsaWRhdGVQYXRoIGhhbmRsaW5nXG4gICAgaWYgKHBhdGhuYW1lLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIGNvbnN0IHBhdGhuYW1lUGFydHMgPSBwYXRobmFtZS5zcGxpdChcIi9cIik7XG4gICAgICAgIGZvcihsZXQgaSA9IDE7IGkgPCBwYXRobmFtZVBhcnRzLmxlbmd0aCArIDE7IGkrKyl7XG4gICAgICAgICAgICBsZXQgY3VyUGF0aG5hbWUgPSBwYXRobmFtZVBhcnRzLnNsaWNlKDAsIGkpLmpvaW4oXCIvXCIpO1xuICAgICAgICAgICAgaWYgKGN1clBhdGhuYW1lKSB7XG4gICAgICAgICAgICAgICAgLy8gYWxsIGRlcml2ZWQgdGFncyBvdGhlciB0aGFuIHRoZSBwYWdlIGFyZSBsYXlvdXQgdGFnc1xuICAgICAgICAgICAgICAgIGlmICghY3VyUGF0aG5hbWUuZW5kc1dpdGgoXCIvcGFnZVwiKSAmJiAhY3VyUGF0aG5hbWUuZW5kc1dpdGgoXCIvcm91dGVcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VyUGF0aG5hbWUgPSBgJHtjdXJQYXRobmFtZX0keyFjdXJQYXRobmFtZS5lbmRzV2l0aChcIi9cIikgPyBcIi9cIiA6IFwiXCJ9bGF5b3V0YDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVyaXZlZFRhZ3MucHVzaChjdXJQYXRobmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRlcml2ZWRUYWdzO1xufTtcbmZ1bmN0aW9uIGFkZEltcGxpY2l0VGFncyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUpIHtcbiAgICBjb25zdCBuZXdUYWdzID0gW107XG4gICAgY29uc3QgeyBwYWdlUGF0aCwgdXJsUGF0aG5hbWUgfSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MpKSB7XG4gICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzID0gW107XG4gICAgfVxuICAgIGlmIChwYWdlUGF0aCkge1xuICAgICAgICBjb25zdCBkZXJpdmVkVGFncyA9IGdldERlcml2ZWRUYWdzKHBhZ2VQYXRoKTtcbiAgICAgICAgZm9yIChsZXQgdGFnIG9mIGRlcml2ZWRUYWdzKXtcbiAgICAgICAgICAgIHZhciBfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3M7XG4gICAgICAgICAgICB0YWcgPSBgJHtfY29uc3RhbnRzMS5ORVhUX0NBQ0hFX0lNUExJQ0lUX1RBR19JRH0ke3RhZ31gO1xuICAgICAgICAgICAgaWYgKCEoKF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFncyA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzKSA9PSBudWxsID8gdm9pZCAwIDogX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzLmluY2x1ZGVzKHRhZykpKSB7XG4gICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnRhZ3MucHVzaCh0YWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbmV3VGFncy5wdXNoKHRhZyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHVybFBhdGhuYW1lKSB7XG4gICAgICAgIHZhciBfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MxO1xuICAgICAgICBjb25zdCBwYXJzZWRQYXRobmFtZSA9IG5ldyBVUkwodXJsUGF0aG5hbWUsIFwiaHR0cDovL25cIikucGF0aG5hbWU7XG4gICAgICAgIGNvbnN0IHRhZyA9IGAke19jb25zdGFudHMxLk5FWFRfQ0FDSEVfSU1QTElDSVRfVEFHX0lEfSR7cGFyc2VkUGF0aG5hbWV9YDtcbiAgICAgICAgaWYgKCEoKF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFnczEgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUudGFncykgPT0gbnVsbCA/IHZvaWQgMCA6IF9zdGF0aWNHZW5lcmF0aW9uU3RvcmVfdGFnczEuaW5jbHVkZXModGFnKSkpIHtcbiAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzLnB1c2godGFnKTtcbiAgICAgICAgfVxuICAgICAgICBuZXdUYWdzLnB1c2godGFnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld1RhZ3M7XG59XG5mdW5jdGlvbiB0cmFja0ZldGNoTWV0cmljKHN0YXRpY0dlbmVyYXRpb25TdG9yZSwgY3R4KSB7XG4gICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUpIHJldHVybjtcbiAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaE1ldHJpY3MpIHtcbiAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoTWV0cmljcyA9IFtdO1xuICAgIH1cbiAgICBjb25zdCBkZWR1cGVGaWVsZHMgPSBbXG4gICAgICAgIFwidXJsXCIsXG4gICAgICAgIFwic3RhdHVzXCIsXG4gICAgICAgIFwibWV0aG9kXCJcbiAgICBdO1xuICAgIC8vIGRvbid0IGFkZCBtZXRyaWMgaWYgb25lIGFscmVhZHkgZXhpc3RzIGZvciB0aGUgZmV0Y2hcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoTWV0cmljcy5zb21lKChtZXRyaWMpPT57XG4gICAgICAgIHJldHVybiBkZWR1cGVGaWVsZHMuZXZlcnkoKGZpZWxkKT0+bWV0cmljW2ZpZWxkXSA9PT0gY3R4W2ZpZWxkXSk7XG4gICAgfSkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hNZXRyaWNzLnB1c2goe1xuICAgICAgICB1cmw6IGN0eC51cmwsXG4gICAgICAgIGNhY2hlU3RhdHVzOiBjdHguY2FjaGVTdGF0dXMsXG4gICAgICAgIGNhY2hlUmVhc29uOiBjdHguY2FjaGVSZWFzb24sXG4gICAgICAgIHN0YXR1czogY3R4LnN0YXR1cyxcbiAgICAgICAgbWV0aG9kOiBjdHgubWV0aG9kLFxuICAgICAgICBzdGFydDogY3R4LnN0YXJ0LFxuICAgICAgICBlbmQ6IERhdGUubm93KCksXG4gICAgICAgIGlkeDogc3RhdGljR2VuZXJhdGlvblN0b3JlLm5leHRGZXRjaElkIHx8IDBcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIHBhdGNoRmV0Y2goeyBzZXJ2ZXJIb29rcywgc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSB9KSB7XG4gICAgaWYgKCFnbG9iYWxUaGlzLl9uZXh0T3JpZ2luYWxGZXRjaCkge1xuICAgICAgICBnbG9iYWxUaGlzLl9uZXh0T3JpZ2luYWxGZXRjaCA9IGdsb2JhbFRoaXMuZmV0Y2g7XG4gICAgfVxuICAgIGlmIChnbG9iYWxUaGlzLmZldGNoLl9fbmV4dFBhdGNoZWQpIHJldHVybjtcbiAgICBjb25zdCB7IER5bmFtaWNTZXJ2ZXJFcnJvciB9ID0gc2VydmVySG9va3M7XG4gICAgY29uc3Qgb3JpZ2luRmV0Y2ggPSBnbG9iYWxUaGlzLl9uZXh0T3JpZ2luYWxGZXRjaDtcbiAgICBnbG9iYWxUaGlzLmZldGNoID0gYXN5bmMgKGlucHV0LCBpbml0KT0+e1xuICAgICAgICB2YXIgX2luaXRfbWV0aG9kLCBfdGhpcztcbiAgICAgICAgbGV0IHVybDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHVybCA9IG5ldyBVUkwoaW5wdXQgaW5zdGFuY2VvZiBSZXF1ZXN0ID8gaW5wdXQudXJsIDogaW5wdXQpO1xuICAgICAgICAgICAgdXJsLnVzZXJuYW1lID0gXCJcIjtcbiAgICAgICAgICAgIHVybC5wYXNzd29yZCA9IFwiXCI7XG4gICAgICAgIH0gY2F0Y2ggIHtcbiAgICAgICAgICAgIC8vIEVycm9yIGNhdXNlZCBieSBtYWxmb3JtZWQgVVJMIHNob3VsZCBiZSBoYW5kbGVkIGJ5IG5hdGl2ZSBmZXRjaFxuICAgICAgICAgICAgdXJsID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZldGNoVXJsID0gKHVybCA9PSBudWxsID8gdm9pZCAwIDogdXJsLmhyZWYpID8/IFwiXCI7XG4gICAgICAgIGNvbnN0IGZldGNoU3RhcnQgPSBEYXRlLm5vdygpO1xuICAgICAgICBjb25zdCBtZXRob2QgPSAoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogKF9pbml0X21ldGhvZCA9IGluaXQubWV0aG9kKSA9PSBudWxsID8gdm9pZCAwIDogX2luaXRfbWV0aG9kLnRvVXBwZXJDYXNlKCkpIHx8IFwiR0VUXCI7XG4gICAgICAgIC8vIERvIGNyZWF0ZSBhIG5ldyBzcGFuIHRyYWNlIGZvciBpbnRlcm5hbCBmZXRjaGVzIGluIHRoZVxuICAgICAgICAvLyBub24tdmVyYm9zZSBtb2RlLlxuICAgICAgICBjb25zdCBpc0ludGVybmFsID0gKChfdGhpcyA9IGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXQubmV4dCkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzLmludGVybmFsKSA9PT0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaGlkZVNwYW4gPSBwcm9jZXNzLmVudi5ORVhUX09URUxfRkVUQ0hfRElTQUJMRUQgPT09IFwiMVwiO1xuICAgICAgICByZXR1cm4gYXdhaXQgKDAsIF90cmFjZXIuZ2V0VHJhY2VyKSgpLnRyYWNlKGlzSW50ZXJuYWwgPyBfY29uc3RhbnRzLk5leHROb2RlU2VydmVyU3Bhbi5pbnRlcm5hbEZldGNoIDogX2NvbnN0YW50cy5BcHBSZW5kZXJTcGFuLmZldGNoLCB7XG4gICAgICAgICAgICBoaWRlU3BhbixcbiAgICAgICAgICAgIGtpbmQ6IF90cmFjZXIuU3BhbktpbmQuQ0xJRU5ULFxuICAgICAgICAgICAgc3Bhbk5hbWU6IFtcbiAgICAgICAgICAgICAgICBcImZldGNoXCIsXG4gICAgICAgICAgICAgICAgbWV0aG9kLFxuICAgICAgICAgICAgICAgIGZldGNoVXJsXG4gICAgICAgICAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKFwiIFwiKSxcbiAgICAgICAgICAgIGF0dHJpYnV0ZXM6IHtcbiAgICAgICAgICAgICAgICBcImh0dHAudXJsXCI6IGZldGNoVXJsLFxuICAgICAgICAgICAgICAgIFwiaHR0cC5tZXRob2RcIjogbWV0aG9kLFxuICAgICAgICAgICAgICAgIFwibmV0LnBlZXIubmFtZVwiOiB1cmwgPT0gbnVsbCA/IHZvaWQgMCA6IHVybC5ob3N0bmFtZSxcbiAgICAgICAgICAgICAgICBcIm5ldC5wZWVyLnBvcnRcIjogKHVybCA9PSBudWxsID8gdm9pZCAwIDogdXJsLnBvcnQpIHx8IHVuZGVmaW5lZFxuICAgICAgICAgICAgfVxuICAgICAgICB9LCBhc3luYyAoKT0+e1xuICAgICAgICAgICAgdmFyIF9nZXRSZXF1ZXN0TWV0YTtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9IHN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UuZ2V0U3RvcmUoKSB8fCAoZmV0Y2guX19uZXh0R2V0U3RhdGljU3RvcmUgPT0gbnVsbCA/IHZvaWQgMCA6IGZldGNoLl9fbmV4dEdldFN0YXRpY1N0b3JlLmNhbGwoZmV0Y2gpKTtcbiAgICAgICAgICAgIGNvbnN0IGlzUmVxdWVzdElucHV0ID0gaW5wdXQgJiYgdHlwZW9mIGlucHV0ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBpbnB1dC5tZXRob2QgPT09IFwic3RyaW5nXCI7XG4gICAgICAgICAgICBjb25zdCBnZXRSZXF1ZXN0TWV0YSA9IChmaWVsZCk9PntcbiAgICAgICAgICAgICAgICAvLyBJZiByZXF1ZXN0IGlucHV0IGlzIHByZXNlbnQgYnV0IGluaXQgaXMgbm90LCByZXRyaWV2ZSBmcm9tIGlucHV0IGZpcnN0LlxuICAgICAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdFtmaWVsZF07XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbHVlIHx8IChpc1JlcXVlc3RJbnB1dCA/IGlucHV0W2ZpZWxkXSA6IG51bGwpO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vIElmIHRoZSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUgaXMgbm90IGF2YWlsYWJsZSwgd2UgY2FuJ3QgZG8gYW55XG4gICAgICAgICAgICAvLyBzcGVjaWFsIHRyZWF0bWVudCBvZiBmZXRjaCwgdGhlcmVmb3JlIGZhbGxiYWNrIHRvIHRoZSBvcmlnaW5hbFxuICAgICAgICAgICAgLy8gZmV0Y2ggaW1wbGVtZW50YXRpb24uXG4gICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZSB8fCBpc0ludGVybmFsIHx8IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc0RyYWZ0TW9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5GZXRjaChpbnB1dCwgaW5pdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgcmV2YWxpZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIGNvbnN0IGdldE5leHRGaWVsZCA9IChmaWVsZCk9PntcbiAgICAgICAgICAgICAgICB2YXIgX2luaXRfbmV4dCwgX2luaXRfbmV4dDEsIF9pbnB1dF9uZXh0O1xuICAgICAgICAgICAgICAgIHJldHVybiB0eXBlb2YgKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IChfaW5pdF9uZXh0ID0gaW5pdC5uZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2luaXRfbmV4dFtmaWVsZF0pICE9PSBcInVuZGVmaW5lZFwiID8gaW5pdCA9PSBudWxsID8gdm9pZCAwIDogKF9pbml0X25leHQxID0gaW5pdC5uZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2luaXRfbmV4dDFbZmllbGRdIDogaXNSZXF1ZXN0SW5wdXQgPyAoX2lucHV0X25leHQgPSBpbnB1dC5uZXh0KSA9PSBudWxsID8gdm9pZCAwIDogX2lucHV0X25leHRbZmllbGRdIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIC8vIFJlcXVlc3RJbml0IGRvZXNuJ3Qga2VlcCBleHRyYSBmaWVsZHMgZS5nLiBuZXh0IHNvIGl0J3NcbiAgICAgICAgICAgIC8vIG9ubHkgYXZhaWxhYmxlIGlmIGluaXQgaXMgdXNlZCBzZXBhcmF0ZVxuICAgICAgICAgICAgbGV0IGN1clJldmFsaWRhdGUgPSBnZXROZXh0RmllbGQoXCJyZXZhbGlkYXRlXCIpO1xuICAgICAgICAgICAgY29uc3QgdGFncyA9IHZhbGlkYXRlVGFncyhnZXROZXh0RmllbGQoXCJ0YWdzXCIpIHx8IFtdLCBgZmV0Y2ggJHtpbnB1dC50b1N0cmluZygpfWApO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGFncykpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzID0gW107XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3QgdGFnIG9mIHRhZ3Mpe1xuICAgICAgICAgICAgICAgICAgICBpZiAoIXN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzLmluY2x1ZGVzKHRhZykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS50YWdzLnB1c2godGFnKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGltcGxpY2l0VGFncyA9IGFkZEltcGxpY2l0VGFncyhzdGF0aWNHZW5lcmF0aW9uU3RvcmUpO1xuICAgICAgICAgICAgY29uc3QgaXNPbmx5Q2FjaGUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hDYWNoZSA9PT0gXCJvbmx5LWNhY2hlXCI7XG4gICAgICAgICAgICBjb25zdCBpc0ZvcmNlQ2FjaGUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hDYWNoZSA9PT0gXCJmb3JjZS1jYWNoZVwiO1xuICAgICAgICAgICAgY29uc3QgaXNEZWZhdWx0Q2FjaGUgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZmV0Y2hDYWNoZSA9PT0gXCJkZWZhdWx0LWNhY2hlXCI7XG4gICAgICAgICAgICBjb25zdCBpc0RlZmF1bHROb1N0b3JlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoQ2FjaGUgPT09IFwiZGVmYXVsdC1uby1zdG9yZVwiO1xuICAgICAgICAgICAgY29uc3QgaXNPbmx5Tm9TdG9yZSA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mZXRjaENhY2hlID09PSBcIm9ubHktbm8tc3RvcmVcIjtcbiAgICAgICAgICAgIGNvbnN0IGlzRm9yY2VOb1N0b3JlID0gc3RhdGljR2VuZXJhdGlvblN0b3JlLmZldGNoQ2FjaGUgPT09IFwiZm9yY2Utbm8tc3RvcmVcIjtcbiAgICAgICAgICAgIGNvbnN0IGlzVXNpbmdOb1N0b3JlID0gISFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNVbnN0YWJsZU5vU3RvcmU7XG4gICAgICAgICAgICBsZXQgX2NhY2hlID0gZ2V0UmVxdWVzdE1ldGEoXCJjYWNoZVwiKTtcbiAgICAgICAgICAgIGxldCBjYWNoZVJlYXNvbiA9IFwiXCI7XG4gICAgICAgICAgICBpZiAodHlwZW9mIF9jYWNoZSA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgY3VyUmV2YWxpZGF0ZSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIC8vIHdoZW4gcHJvdmlkaW5nIGZldGNoIHdpdGggYSBSZXF1ZXN0IGlucHV0LCBpdCdsbCBhdXRvbWF0aWNhbGx5IHNldCBhIGNhY2hlIHZhbHVlIG9mICdkZWZhdWx0J1xuICAgICAgICAgICAgICAgIC8vIHdlIG9ubHkgd2FudCB0byB3YXJuIGlmIHRoZSB1c2VyIGlzIGV4cGxpY2l0bHkgc2V0dGluZyBhIGNhY2hlIHZhbHVlXG4gICAgICAgICAgICAgICAgaWYgKCEoaXNSZXF1ZXN0SW5wdXQgJiYgX2NhY2hlID09PSBcImRlZmF1bHRcIikpIHtcbiAgICAgICAgICAgICAgICAgICAgX2xvZy53YXJuKGBmZXRjaCBmb3IgJHtmZXRjaFVybH0gb24gJHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWV9IHNwZWNpZmllZCBcImNhY2hlOiAke19jYWNoZX1cIiBhbmQgXCJyZXZhbGlkYXRlOiAke2N1clJldmFsaWRhdGV9XCIsIG9ubHkgb25lIHNob3VsZCBiZSBzcGVjaWZpZWQuYCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF9jYWNoZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChfY2FjaGUgPT09IFwiZm9yY2UtY2FjaGVcIikge1xuICAgICAgICAgICAgICAgIGN1clJldmFsaWRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoX2NhY2hlID09PSBcIm5vLWNhY2hlXCIgfHwgX2NhY2hlID09PSBcIm5vLXN0b3JlXCIgfHwgaXNGb3JjZU5vU3RvcmUgfHwgaXNPbmx5Tm9TdG9yZSkge1xuICAgICAgICAgICAgICAgIGN1clJldmFsaWRhdGUgPSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJuby1jYWNoZVwiIHx8IF9jYWNoZSA9PT0gXCJuby1zdG9yZVwiKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBgY2FjaGU6ICR7X2NhY2hlfWA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXZhbGlkYXRlID0gdmFsaWRhdGVSZXZhbGlkYXRlKGN1clJldmFsaWRhdGUsIHN0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZSk7XG4gICAgICAgICAgICBjb25zdCBfaGVhZGVycyA9IGdldFJlcXVlc3RNZXRhKFwiaGVhZGVyc1wiKTtcbiAgICAgICAgICAgIGNvbnN0IGluaXRIZWFkZXJzID0gdHlwZW9mIChfaGVhZGVycyA9PSBudWxsID8gdm9pZCAwIDogX2hlYWRlcnMuZ2V0KSA9PT0gXCJmdW5jdGlvblwiID8gX2hlYWRlcnMgOiBuZXcgSGVhZGVycyhfaGVhZGVycyB8fCB7fSk7XG4gICAgICAgICAgICBjb25zdCBoYXNVbkNhY2hlYWJsZUhlYWRlciA9IGluaXRIZWFkZXJzLmdldChcImF1dGhvcml6YXRpb25cIikgfHwgaW5pdEhlYWRlcnMuZ2V0KFwiY29va2llXCIpO1xuICAgICAgICAgICAgY29uc3QgaXNVbkNhY2hlYWJsZU1ldGhvZCA9ICFbXG4gICAgICAgICAgICAgICAgXCJnZXRcIixcbiAgICAgICAgICAgICAgICBcImhlYWRcIlxuICAgICAgICAgICAgXS5pbmNsdWRlcygoKF9nZXRSZXF1ZXN0TWV0YSA9IGdldFJlcXVlc3RNZXRhKFwibWV0aG9kXCIpKSA9PSBudWxsID8gdm9pZCAwIDogX2dldFJlcXVlc3RNZXRhLnRvTG93ZXJDYXNlKCkpIHx8IFwiZ2V0XCIpO1xuICAgICAgICAgICAgLy8gaWYgdGhlcmUgYXJlIGF1dGhvcml6ZWQgaGVhZGVycyBvciBhIFBPU1QgbWV0aG9kIGFuZFxuICAgICAgICAgICAgLy8gZHluYW1pYyBkYXRhIHVzYWdlIHdhcyBwcmVzZW50IGFib3ZlIHRoZSB0cmVlIHdlIGJhaWxcbiAgICAgICAgICAgIC8vIGUuZy4gaWYgY29va2llcygpIGlzIHVzZWQgYmVmb3JlIGFuIGF1dGhlZC9QT1NUIGZldGNoXG4gICAgICAgICAgICBjb25zdCBhdXRvTm9DYWNoZSA9IChoYXNVbkNhY2hlYWJsZUhlYWRlciB8fCBpc1VuQ2FjaGVhYmxlTWV0aG9kKSAmJiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gMDtcbiAgICAgICAgICAgIGlmIChpc0ZvcmNlTm9TdG9yZSkge1xuICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZm9yY2Utbm8tc3RvcmVcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc09ubHlOb1N0b3JlKSB7XG4gICAgICAgICAgICAgICAgaWYgKF9jYWNoZSA9PT0gXCJmb3JjZS1jYWNoZVwiIHx8IHR5cGVvZiByZXZhbGlkYXRlICE9PSBcInVuZGVmaW5lZFwiICYmIChyZXZhbGlkYXRlID09PSBmYWxzZSB8fCByZXZhbGlkYXRlID4gMCkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBjYWNoZTogJ2ZvcmNlLWNhY2hlJyB1c2VkIG9uIGZldGNoIGZvciAke2ZldGNoVXJsfSB3aXRoICdleHBvcnQgY29uc3QgZmV0Y2hDYWNoZSA9ICdvbmx5LW5vLXN0b3JlJ2ApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IG9ubHktbm8tc3RvcmVcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc09ubHlDYWNoZSAmJiBfY2FjaGUgPT09IFwibm8tc3RvcmVcIikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgY2FjaGU6ICduby1zdG9yZScgdXNlZCBvbiBmZXRjaCBmb3IgJHtmZXRjaFVybH0gd2l0aCAnZXhwb3J0IGNvbnN0IGZldGNoQ2FjaGUgPSAnb25seS1jYWNoZSdgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpc0ZvcmNlQ2FjaGUgJiYgKHR5cGVvZiBjdXJSZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiIHx8IGN1clJldmFsaWRhdGUgPT09IDApKSB7XG4gICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImZldGNoQ2FjaGUgPSBmb3JjZS1jYWNoZVwiO1xuICAgICAgICAgICAgICAgIHJldmFsaWRhdGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmV2YWxpZGF0ZSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgICAgIGlmIChpc0RlZmF1bHRDYWNoZSkge1xuICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJmZXRjaENhY2hlID0gZGVmYXVsdC1jYWNoZVwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXV0b05vQ2FjaGUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gXCJhdXRvIG5vIGNhY2hlXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChpc0RlZmF1bHROb1N0b3JlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUgPSAwO1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwiZmV0Y2hDYWNoZSA9IGRlZmF1bHQtbm8tc3RvcmVcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGlzVXNpbmdOb1N0b3JlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUgPSAwO1xuICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbiA9IFwibm9TdG9yZSBjYWxsXCI7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY2FjaGVSZWFzb24gPSBcImF1dG8gY2FjaGVcIjtcbiAgICAgICAgICAgICAgICAgICAgcmV2YWxpZGF0ZSA9IHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJib29sZWFuXCIgfHwgdHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiID8gZmFsc2UgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKCFjYWNoZVJlYXNvbikge1xuICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uID0gYHJldmFsaWRhdGU6ICR7cmV2YWxpZGF0ZX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKC8vIHdoZW4gZm9yY2Ugc3RhdGljIGlzIGNvbmZpZ3VyZWQgd2UgZG9uJ3QgYmFpbCBmcm9tXG4gICAgICAgICAgICAvLyBgcmV2YWxpZGF0ZTogMGAgdmFsdWVzXG4gICAgICAgICAgICAhKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5mb3JjZVN0YXRpYyAmJiByZXZhbGlkYXRlID09PSAwKSAmJiAvLyB3ZSBkb24ndCBjb25zaWRlciBhdXRvTm9DYWNoZSB0byBzd2l0Y2ggdG8gZHluYW1pYyBkdXJpbmdcbiAgICAgICAgICAgIC8vIHJldmFsaWRhdGUgYWx0aG91Z2ggaWYgaXQgb2NjdXJzIGR1cmluZyBidWlsZCB3ZSBkb1xuICAgICAgICAgICAgIWF1dG9Ob0NhY2hlICYmIC8vIElmIHRoZSByZXZhbGlkYXRlIHZhbHVlIGlzbid0IGN1cnJlbnRseSBzZXQgb3IgdGhlIHZhbHVlIGlzIGxlc3NcbiAgICAgICAgICAgIC8vIHRoYW4gdGhlIGN1cnJlbnQgcmV2YWxpZGF0ZSB2YWx1ZSwgd2Ugc2hvdWxkIHVwZGF0ZSB0aGUgcmV2YWxpZGF0ZVxuICAgICAgICAgICAgLy8gdmFsdWUuXG4gICAgICAgICAgICAodHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiIHx8IHR5cGVvZiByZXZhbGlkYXRlID09PSBcIm51bWJlclwiICYmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gZmFsc2UgfHwgdHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcIm51bWJlclwiICYmIHJldmFsaWRhdGUgPCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSkpKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2Ugd2VyZSBzZXR0aW5nIHRoZSByZXZhbGlkYXRlIHZhbHVlIHRvIDAsIHdlIHNob3VsZCB0cnkgdG9cbiAgICAgICAgICAgICAgICAvLyBwb3N0cG9uZSBpbnN0ZWFkIGZpcnN0LlxuICAgICAgICAgICAgICAgIGlmIChyZXZhbGlkYXRlID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5wb3N0cG9uZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lLmNhbGwoc3RhdGljR2VuZXJhdGlvblN0b3JlLCBcInJldmFsaWRhdGU6IDBcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID0gcmV2YWxpZGF0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbnN0IGlzQ2FjaGVhYmxlUmV2YWxpZGF0ZSA9IHR5cGVvZiByZXZhbGlkYXRlID09PSBcIm51bWJlclwiICYmIHJldmFsaWRhdGUgPiAwIHx8IHJldmFsaWRhdGUgPT09IGZhbHNlO1xuICAgICAgICAgICAgbGV0IGNhY2hlS2V5O1xuICAgICAgICAgICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlICYmIGlzQ2FjaGVhYmxlUmV2YWxpZGF0ZSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGNhY2hlS2V5ID0gYXdhaXQgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUuZmV0Y2hDYWNoZUtleShmZXRjaFVybCwgaXNSZXF1ZXN0SW5wdXQgPyBpbnB1dCA6IGluaXQpO1xuICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGYWlsZWQgdG8gZ2VuZXJhdGUgY2FjaGUga2V5IGZvcmAsIGlucHV0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBmZXRjaElkeCA9IHN0YXRpY0dlbmVyYXRpb25TdG9yZS5uZXh0RmV0Y2hJZCA/PyAxO1xuICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLm5leHRGZXRjaElkID0gZmV0Y2hJZHggKyAxO1xuICAgICAgICAgICAgY29uc3Qgbm9ybWFsaXplZFJldmFsaWRhdGUgPSB0eXBlb2YgcmV2YWxpZGF0ZSAhPT0gXCJudW1iZXJcIiA/IF9jb25zdGFudHMxLkNBQ0hFX09ORV9ZRUFSIDogcmV2YWxpZGF0ZTtcbiAgICAgICAgICAgIGNvbnN0IGRvT3JpZ2luYWxGZXRjaCA9IGFzeW5jIChpc1N0YWxlLCBjYWNoZVJlYXNvbk92ZXJyaWRlKT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IHJlcXVlc3RJbnB1dEZpZWxkcyA9IFtcbiAgICAgICAgICAgICAgICAgICAgXCJjYWNoZVwiLFxuICAgICAgICAgICAgICAgICAgICBcImNyZWRlbnRpYWxzXCIsXG4gICAgICAgICAgICAgICAgICAgIFwiaGVhZGVyc1wiLFxuICAgICAgICAgICAgICAgICAgICBcImludGVncml0eVwiLFxuICAgICAgICAgICAgICAgICAgICBcImtlZXBhbGl2ZVwiLFxuICAgICAgICAgICAgICAgICAgICBcIm1ldGhvZFwiLFxuICAgICAgICAgICAgICAgICAgICBcIm1vZGVcIixcbiAgICAgICAgICAgICAgICAgICAgXCJyZWRpcmVjdFwiLFxuICAgICAgICAgICAgICAgICAgICBcInJlZmVycmVyXCIsXG4gICAgICAgICAgICAgICAgICAgIFwicmVmZXJyZXJQb2xpY3lcIixcbiAgICAgICAgICAgICAgICAgICAgXCJ3aW5kb3dcIixcbiAgICAgICAgICAgICAgICAgICAgXCJkdXBsZXhcIixcbiAgICAgICAgICAgICAgICAgICAgLy8gZG9uJ3QgcGFzcyB0aHJvdWdoIHNpZ25hbCB3aGVuIHJldmFsaWRhdGluZ1xuICAgICAgICAgICAgICAgICAgICAuLi5pc1N0YWxlID8gW10gOiBbXG4gICAgICAgICAgICAgICAgICAgICAgICBcInNpZ25hbFwiXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgIGlmIChpc1JlcXVlc3RJbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXFJbnB1dCA9IGlucHV0O1xuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXFPcHRpb25zID0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9keTogcmVxSW5wdXQuX29nQm9keSB8fCByZXFJbnB1dC5ib2R5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgcmVxdWVzdElucHV0RmllbGRzKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgY3VzdG9tIGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVxT3B0aW9uc1tmaWVsZF0gPSByZXFJbnB1dFtmaWVsZF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaW5wdXQgPSBuZXcgUmVxdWVzdChyZXFJbnB1dC51cmwsIHJlcU9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaW5pdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbml0aWFsSW5pdCA9IGluaXQ7XG4gICAgICAgICAgICAgICAgICAgIGluaXQgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib2R5OiBpbml0Ll9vZ0JvZHkgfHwgaW5pdC5ib2R5XG4gICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgZmllbGQgb2YgcmVxdWVzdElucHV0RmllbGRzKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgY3VzdG9tIGZpZWxkc1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFtmaWVsZF0gPSBpbml0aWFsSW5pdFtmaWVsZF07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gYWRkIG1ldGFkYXRhIHRvIGluaXQgd2l0aG91dCBlZGl0aW5nIHRoZSBvcmlnaW5hbFxuICAgICAgICAgICAgICAgIGNvbnN0IGNsb25lZEluaXQgPSB7XG4gICAgICAgICAgICAgICAgICAgIC4uLmluaXQsXG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLmluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXQubmV4dCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoVHlwZTogXCJvcmlnaW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGZldGNoSWR4XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5GZXRjaChpbnB1dCwgY2xvbmVkSW5pdCkudGhlbihhc3luYyAocmVzKT0+e1xuICAgICAgICAgICAgICAgICAgICBpZiAoIWlzU3RhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrRmV0Y2hNZXRyaWMoc3RhdGljR2VuZXJhdGlvblN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZldGNoU3RhcnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBmZXRjaFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbjogY2FjaGVSZWFzb25PdmVycmlkZSB8fCBjYWNoZVJlYXNvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVN0YXR1czogcmV2YWxpZGF0ZSA9PT0gMCB8fCBjYWNoZVJlYXNvbk92ZXJyaWRlID8gXCJza2lwXCIgOiBcIm1pc3NcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXMsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiBjbG9uZWRJbml0Lm1ldGhvZCB8fCBcIkdFVFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAocmVzLnN0YXR1cyA9PT0gMjAwICYmIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlICYmIGNhY2hlS2V5ICYmIGlzQ2FjaGVhYmxlUmV2YWxpZGF0ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgYm9keUJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGF3YWl0IHJlcy5hcnJheUJ1ZmZlcigpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXdhaXQgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUuc2V0KGNhY2hlS2V5LCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtpbmQ6IFwiRkVUQ0hcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogT2JqZWN0LmZyb21FbnRyaWVzKHJlcy5oZWFkZXJzLmVudHJpZXMoKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiBib2R5QnVmZmVyLnRvU3RyaW5nKFwiYmFzZTY0XCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdHVzOiByZXMuc3RhdHVzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiByZXMudXJsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGU6IG5vcm1hbGl6ZWRSZXZhbGlkYXRlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaENhY2hlOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXZhbGlkYXRlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmZXRjaFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hJZHgsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhZ3NcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihgRmFpbGVkIHRvIHNldCBmZXRjaCBjYWNoZWAsIGlucHV0LCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoYm9keUJ1ZmZlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIZWFkZXJzKHJlcy5oZWFkZXJzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlcy5zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3BvbnNlLCBcInVybFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHJlcy51cmxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlc3BvbnNlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgbGV0IGhhbmRsZVVubG9jayA9ICgpPT5Qcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIGxldCBjYWNoZVJlYXNvbk92ZXJyaWRlO1xuICAgICAgICAgICAgaWYgKGNhY2hlS2V5ICYmIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pbmNyZW1lbnRhbENhY2hlKSB7XG4gICAgICAgICAgICAgICAgaGFuZGxlVW5sb2NrID0gYXdhaXQgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUubG9jayhjYWNoZUtleSk7XG4gICAgICAgICAgICAgICAgY29uc3QgZW50cnkgPSBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNPbkRlbWFuZFJldmFsaWRhdGUgPyBudWxsIDogYXdhaXQgc3RhdGljR2VuZXJhdGlvblN0b3JlLmluY3JlbWVudGFsQ2FjaGUuZ2V0KGNhY2hlS2V5LCB7XG4gICAgICAgICAgICAgICAgICAgIGtpbmRIaW50OiBcImZldGNoXCIsXG4gICAgICAgICAgICAgICAgICAgIHJldmFsaWRhdGUsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoVXJsLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaElkeCxcbiAgICAgICAgICAgICAgICAgICAgdGFncyxcbiAgICAgICAgICAgICAgICAgICAgc29mdFRhZ3M6IGltcGxpY2l0VGFnc1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChlbnRyeSkge1xuICAgICAgICAgICAgICAgICAgICBhd2FpdCBoYW5kbGVVbmxvY2soKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBpbiBkZXYsIGluY3JlbWVudGFsIGNhY2hlIHJlc3BvbnNlIHdpbGwgYmUgbnVsbCBpbiBjYXNlIHRoZSBicm93c2VyIGFkZHMgYGNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlYCBpbiB0aGUgcmVxdWVzdCBoZWFkZXJzXG4gICAgICAgICAgICAgICAgICAgIGNhY2hlUmVhc29uT3ZlcnJpZGUgPSBcImNhY2hlLWNvbnRyb2w6IG5vLWNhY2hlIChoYXJkIHJlZnJlc2gpXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICgoZW50cnkgPT0gbnVsbCA/IHZvaWQgMCA6IGVudHJ5LnZhbHVlKSAmJiBlbnRyeS52YWx1ZS5raW5kID09PSBcIkZFVENIXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBzdGFsZSBhbmQgaXMgcmV2YWxpZGF0aW5nIHdlIHdhaXQgZm9yIGZyZXNoIGRhdGFcbiAgICAgICAgICAgICAgICAgICAgLy8gc28gdGhlIHJldmFsaWRhdGVkIGVudHJ5IGhhcyB0aGUgdXBkYXRlZCBkYXRhXG4gICAgICAgICAgICAgICAgICAgIGlmICghKHN0YXRpY0dlbmVyYXRpb25TdG9yZS5pc1JldmFsaWRhdGUgJiYgZW50cnkuaXNTdGFsZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChlbnRyeS5pc1N0YWxlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBlbmRpbmdSZXZhbGlkYXRlcyA/Pz0ge307XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUucGVuZGluZ1JldmFsaWRhdGVzW2NhY2hlS2V5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucGVuZGluZ1JldmFsaWRhdGVzW2NhY2hlS2V5XSA9IGRvT3JpZ2luYWxGZXRjaCh0cnVlKS5jYXRjaChjb25zb2xlLmVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNEYXRhID0gZW50cnkudmFsdWUuZGF0YTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrRmV0Y2hNZXRyaWMoc3RhdGljR2VuZXJhdGlvblN0b3JlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZldGNoU3RhcnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBmZXRjaFVybCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVJlYXNvbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZVN0YXR1czogXCJoaXRcIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXM6IHJlc0RhdGEuc3RhdHVzIHx8IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZXRob2Q6IChpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0Lm1ldGhvZCkgfHwgXCJHRVRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IG5ldyBSZXNwb25zZShCdWZmZXIuZnJvbShyZXNEYXRhLmJvZHksIFwiYmFzZTY0XCIpLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyczogcmVzRGF0YS5oZWFkZXJzLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1czogcmVzRGF0YS5zdGF0dXNcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHJlc3BvbnNlLCBcInVybFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGVudHJ5LnZhbHVlLmRhdGEudXJsXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uICYmIGluaXQgJiYgdHlwZW9mIGluaXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGNhY2hlIH0gPSBpbml0O1xuICAgICAgICAgICAgICAgIC8vIERlbGV0ZSBgY2FjaGVgIHByb3BlcnR5IGFzIENsb3VkZmxhcmUgV29ya2VycyB3aWxsIHRocm93IGFuIGVycm9yXG4gICAgICAgICAgICAgICAgaWYgKGlzRWRnZVJ1bnRpbWUpIGRlbGV0ZSBpbml0LmNhY2hlO1xuICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljICYmIGNhY2hlID09PSBcIm5vLXN0b3JlXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHluYW1pY1VzYWdlUmVhc29uID0gYG5vLXN0b3JlIGZldGNoICR7aW5wdXR9JHtzdGF0aWNHZW5lcmF0aW9uU3RvcmUudXJsUGF0aG5hbWUgPyBgICR7c3RhdGljR2VuZXJhdGlvblN0b3JlLnVybFBhdGhuYW1lfWAgOiBcIlwifWA7XG4gICAgICAgICAgICAgICAgICAgIC8vIElmIGVuYWJsZWQsIHdlIHNob3VsZCBiYWlsIG91dCBvZiBzdGF0aWMgZ2VuZXJhdGlvbi5cbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUuY2FsbChzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIGR5bmFtaWNVc2FnZVJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgIC8vIFBQUiBpcyBub3QgZW5hYmxlZCwgb3IgUmVhY3QgcG9zdHBvbmUgaXMgbm90IGF2YWlsYWJsZSwgd2VcbiAgICAgICAgICAgICAgICAgICAgLy8gc2hvdWxkIHNldCB0aGUgcmV2YWxpZGF0ZSB0byAwLlxuICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9IDA7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IG5ldyBEeW5hbWljU2VydmVyRXJyb3IoZHluYW1pY1VzYWdlUmVhc29uKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZUVyciA9IGVycjtcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gZHluYW1pY1VzYWdlUmVhc29uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb25zdCBoYXNOZXh0Q29uZmlnID0gXCJuZXh0XCIgaW4gaW5pdDtcbiAgICAgICAgICAgICAgICBjb25zdCB7IG5leHQgPSB7fSB9ID0gaW5pdDtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIG5leHQucmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIiAmJiAodHlwZW9mIHN0YXRpY0dlbmVyYXRpb25TdG9yZS5yZXZhbGlkYXRlID09PSBcInVuZGVmaW5lZFwiIHx8IHR5cGVvZiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSA9PT0gXCJudW1iZXJcIiAmJiBuZXh0LnJldmFsaWRhdGUgPCBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucmV2YWxpZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VEeW5hbWljICYmICFzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZm9yY2VTdGF0aWMgJiYgbmV4dC5yZXZhbGlkYXRlID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBkeW5hbWljVXNhZ2VSZWFzb24gPSBgcmV2YWxpZGF0ZTogMCBmZXRjaCAke2lucHV0fSR7c3RhdGljR2VuZXJhdGlvblN0b3JlLnVybFBhdGhuYW1lID8gYCAke3N0YXRpY0dlbmVyYXRpb25TdG9yZS51cmxQYXRobmFtZX1gIDogXCJcIn1gO1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgZW5hYmxlZCwgd2Ugc2hvdWxkIGJhaWwgb3V0IG9mIHN0YXRpYyBnZW5lcmF0aW9uLlxuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnBvc3Rwb25lID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUucG9zdHBvbmUuY2FsbChzdGF0aWNHZW5lcmF0aW9uU3RvcmUsIGR5bmFtaWNVc2FnZVJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnIgPSBuZXcgRHluYW1pY1NlcnZlckVycm9yKGR5bmFtaWNVc2FnZVJlYXNvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuZHluYW1pY1VzYWdlRXJyID0gZXJyO1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLmR5bmFtaWNVc2FnZURlc2NyaXB0aW9uID0gZHluYW1pY1VzYWdlUmVhc29uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmICghc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljIHx8IG5leHQucmV2YWxpZGF0ZSAhPT0gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGljR2VuZXJhdGlvblN0b3JlLnJldmFsaWRhdGUgPSBuZXh0LnJldmFsaWRhdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGhhc05leHRDb25maWcpIGRlbGV0ZSBpbml0Lm5leHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gZG9PcmlnaW5hbEZldGNoKGZhbHNlLCBjYWNoZVJlYXNvbk92ZXJyaWRlKS5maW5hbGx5KGhhbmRsZVVubG9jayk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgZ2xvYmFsVGhpcy5mZXRjaC5fX25leHRHZXRTdGF0aWNTdG9yZSA9ICgpPT57XG4gICAgICAgIHJldHVybiBzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlO1xuICAgIH07XG4gICAgZ2xvYmFsVGhpcy5mZXRjaC5fX25leHRQYXRjaGVkID0gdHJ1ZTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGF0Y2gtZmV0Y2guanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwidmFsaWRhdGVSZXZhbGlkYXRlIiwidmFsaWRhdGVUYWdzIiwiYWRkSW1wbGljaXRUYWdzIiwicGF0Y2hGZXRjaCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9jb25zdGFudHMiLCJyZXF1aXJlIiwiX3RyYWNlciIsIl9jb25zdGFudHMxIiwiX2xvZyIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsImlzRWRnZVJ1bnRpbWUiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9SVU5USU1FIiwicmV2YWxpZGF0ZVZhbCIsInBhdGhuYW1lIiwibm9ybWFsaXplZFJldmFsaWRhdGUiLCJ1bmRlZmluZWQiLCJpc05hTiIsIkVycm9yIiwiZXJyIiwibWVzc2FnZSIsImluY2x1ZGVzIiwidGFncyIsImRlc2NyaXB0aW9uIiwidmFsaWRUYWdzIiwiaW52YWxpZFRhZ3MiLCJ0YWciLCJwdXNoIiwicmVhc29uIiwibGVuZ3RoIiwiTkVYVF9DQUNIRV9UQUdfTUFYX0xFTkdUSCIsImNvbnNvbGUiLCJ3YXJuIiwibG9nIiwiZ2V0RGVyaXZlZFRhZ3MiLCJkZXJpdmVkVGFncyIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZVBhcnRzIiwic3BsaXQiLCJpIiwiY3VyUGF0aG5hbWUiLCJzbGljZSIsImpvaW4iLCJlbmRzV2l0aCIsInN0YXRpY0dlbmVyYXRpb25TdG9yZSIsIm5ld1RhZ3MiLCJwYWdlUGF0aCIsInVybFBhdGhuYW1lIiwiQXJyYXkiLCJpc0FycmF5IiwiX3N0YXRpY0dlbmVyYXRpb25TdG9yZV90YWdzIiwiTkVYVF9DQUNIRV9JTVBMSUNJVF9UQUdfSUQiLCJfc3RhdGljR2VuZXJhdGlvblN0b3JlX3RhZ3MxIiwicGFyc2VkUGF0aG5hbWUiLCJVUkwiLCJ0cmFja0ZldGNoTWV0cmljIiwiY3R4IiwiZmV0Y2hNZXRyaWNzIiwiZGVkdXBlRmllbGRzIiwic29tZSIsIm1ldHJpYyIsImV2ZXJ5IiwiZmllbGQiLCJ1cmwiLCJjYWNoZVN0YXR1cyIsImNhY2hlUmVhc29uIiwic3RhdHVzIiwibWV0aG9kIiwic3RhcnQiLCJlbmQiLCJEYXRlIiwibm93IiwiaWR4IiwibmV4dEZldGNoSWQiLCJzZXJ2ZXJIb29rcyIsInN0YXRpY0dlbmVyYXRpb25Bc3luY1N0b3JhZ2UiLCJnbG9iYWxUaGlzIiwiX25leHRPcmlnaW5hbEZldGNoIiwiZmV0Y2giLCJfX25leHRQYXRjaGVkIiwiRHluYW1pY1NlcnZlckVycm9yIiwib3JpZ2luRmV0Y2giLCJpbnB1dCIsImluaXQiLCJfaW5pdF9tZXRob2QiLCJfdGhpcyIsIlJlcXVlc3QiLCJ1c2VybmFtZSIsInBhc3N3b3JkIiwiZmV0Y2hVcmwiLCJocmVmIiwiZmV0Y2hTdGFydCIsInRvVXBwZXJDYXNlIiwiaXNJbnRlcm5hbCIsIm5leHQiLCJpbnRlcm5hbCIsImhpZGVTcGFuIiwiTkVYVF9PVEVMX0ZFVENIX0RJU0FCTEVEIiwiZ2V0VHJhY2VyIiwidHJhY2UiLCJOZXh0Tm9kZVNlcnZlclNwYW4iLCJpbnRlcm5hbEZldGNoIiwiQXBwUmVuZGVyU3BhbiIsImtpbmQiLCJTcGFuS2luZCIsIkNMSUVOVCIsInNwYW5OYW1lIiwiZmlsdGVyIiwiQm9vbGVhbiIsImF0dHJpYnV0ZXMiLCJob3N0bmFtZSIsInBvcnQiLCJfZ2V0UmVxdWVzdE1ldGEiLCJnZXRTdG9yZSIsIl9fbmV4dEdldFN0YXRpY1N0b3JlIiwiaXNSZXF1ZXN0SW5wdXQiLCJnZXRSZXF1ZXN0TWV0YSIsImlzRHJhZnRNb2RlIiwicmV2YWxpZGF0ZSIsImdldE5leHRGaWVsZCIsIl9pbml0X25leHQiLCJfaW5pdF9uZXh0MSIsIl9pbnB1dF9uZXh0IiwiY3VyUmV2YWxpZGF0ZSIsInRvU3RyaW5nIiwiaW1wbGljaXRUYWdzIiwiaXNPbmx5Q2FjaGUiLCJmZXRjaENhY2hlIiwiaXNGb3JjZUNhY2hlIiwiaXNEZWZhdWx0Q2FjaGUiLCJpc0RlZmF1bHROb1N0b3JlIiwiaXNPbmx5Tm9TdG9yZSIsImlzRm9yY2VOb1N0b3JlIiwiaXNVc2luZ05vU3RvcmUiLCJpc1Vuc3RhYmxlTm9TdG9yZSIsIl9jYWNoZSIsIl9oZWFkZXJzIiwiaW5pdEhlYWRlcnMiLCJIZWFkZXJzIiwiaGFzVW5DYWNoZWFibGVIZWFkZXIiLCJpc1VuQ2FjaGVhYmxlTWV0aG9kIiwidG9Mb3dlckNhc2UiLCJhdXRvTm9DYWNoZSIsImZvcmNlU3RhdGljIiwicG9zdHBvbmUiLCJpc0NhY2hlYWJsZVJldmFsaWRhdGUiLCJjYWNoZUtleSIsImluY3JlbWVudGFsQ2FjaGUiLCJmZXRjaENhY2hlS2V5IiwiZXJyb3IiLCJmZXRjaElkeCIsIkNBQ0hFX09ORV9ZRUFSIiwiZG9PcmlnaW5hbEZldGNoIiwiaXNTdGFsZSIsImNhY2hlUmVhc29uT3ZlcnJpZGUiLCJyZXF1ZXN0SW5wdXRGaWVsZHMiLCJyZXFJbnB1dCIsInJlcU9wdGlvbnMiLCJib2R5IiwiX29nQm9keSIsImluaXRpYWxJbml0IiwiY2xvbmVkSW5pdCIsImZldGNoVHlwZSIsInRoZW4iLCJyZXMiLCJib2R5QnVmZmVyIiwiQnVmZmVyIiwiZnJvbSIsImFycmF5QnVmZmVyIiwiZGF0YSIsImhlYWRlcnMiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJyZXNwb25zZSIsIlJlc3BvbnNlIiwiaGFuZGxlVW5sb2NrIiwiUHJvbWlzZSIsInJlc29sdmUiLCJsb2NrIiwiZW50cnkiLCJpc09uRGVtYW5kUmV2YWxpZGF0ZSIsImtpbmRIaW50Iiwic29mdFRhZ3MiLCJpc1JldmFsaWRhdGUiLCJwZW5kaW5nUmV2YWxpZGF0ZXMiLCJjYXRjaCIsInJlc0RhdGEiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJkeW5hbWljVXNhZ2VSZWFzb24iLCJkeW5hbWljVXNhZ2VFcnIiLCJkeW5hbWljVXNhZ2VEZXNjcmlwdGlvbiIsImhhc05leHRDb25maWciLCJmb3JjZUR5bmFtaWMiLCJmaW5hbGx5Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/patch-fetch.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/lib/trace/constants.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/server/lib/trace/constants.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Contains predefined constants for the trace span name in next/server.\n *\n * Currently, next/server/tracer is internal implementation only for tracking\n * next.js's implementation only with known span names defined here.\n **/ // eslint typescript has a bug with TS enums\n/* eslint-disable no-shadow */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n NextVanillaSpanAllowlist: function() {\n return NextVanillaSpanAllowlist;\n },\n BaseServerSpan: function() {\n return BaseServerSpan;\n },\n LoadComponentsSpan: function() {\n return LoadComponentsSpan;\n },\n NextServerSpan: function() {\n return NextServerSpan;\n },\n NextNodeServerSpan: function() {\n return NextNodeServerSpan;\n },\n StartServerSpan: function() {\n return StartServerSpan;\n },\n RenderSpan: function() {\n return RenderSpan;\n },\n RouterSpan: function() {\n return RouterSpan;\n },\n AppRenderSpan: function() {\n return AppRenderSpan;\n },\n NodeSpan: function() {\n return NodeSpan;\n },\n AppRouteRouteHandlersSpan: function() {\n return AppRouteRouteHandlersSpan;\n },\n ResolveMetadataSpan: function() {\n return ResolveMetadataSpan;\n }\n});\nvar BaseServerSpan;\n(function(BaseServerSpan) {\n BaseServerSpan[\"handleRequest\"] = \"BaseServer.handleRequest\";\n BaseServerSpan[\"run\"] = \"BaseServer.run\";\n BaseServerSpan[\"pipe\"] = \"BaseServer.pipe\";\n BaseServerSpan[\"getStaticHTML\"] = \"BaseServer.getStaticHTML\";\n BaseServerSpan[\"render\"] = \"BaseServer.render\";\n BaseServerSpan[\"renderToResponseWithComponents\"] = \"BaseServer.renderToResponseWithComponents\";\n BaseServerSpan[\"renderToResponse\"] = \"BaseServer.renderToResponse\";\n BaseServerSpan[\"renderToHTML\"] = \"BaseServer.renderToHTML\";\n BaseServerSpan[\"renderError\"] = \"BaseServer.renderError\";\n BaseServerSpan[\"renderErrorToResponse\"] = \"BaseServer.renderErrorToResponse\";\n BaseServerSpan[\"renderErrorToHTML\"] = \"BaseServer.renderErrorToHTML\";\n BaseServerSpan[\"render404\"] = \"BaseServer.render404\";\n})(BaseServerSpan || (BaseServerSpan = {}));\nvar LoadComponentsSpan;\n(function(LoadComponentsSpan) {\n LoadComponentsSpan[\"loadDefaultErrorComponents\"] = \"LoadComponents.loadDefaultErrorComponents\";\n LoadComponentsSpan[\"loadComponents\"] = \"LoadComponents.loadComponents\";\n})(LoadComponentsSpan || (LoadComponentsSpan = {}));\nvar NextServerSpan;\n(function(NextServerSpan) {\n NextServerSpan[\"getRequestHandler\"] = \"NextServer.getRequestHandler\";\n NextServerSpan[\"getServer\"] = \"NextServer.getServer\";\n NextServerSpan[\"getServerRequestHandler\"] = \"NextServer.getServerRequestHandler\";\n NextServerSpan[\"createServer\"] = \"createServer.createServer\";\n})(NextServerSpan || (NextServerSpan = {}));\nvar NextNodeServerSpan;\n(function(NextNodeServerSpan) {\n NextNodeServerSpan[\"compression\"] = \"NextNodeServer.compression\";\n NextNodeServerSpan[\"getBuildId\"] = \"NextNodeServer.getBuildId\";\n NextNodeServerSpan[\"getLayoutOrPageModule\"] = \"NextNodeServer.getLayoutOrPageModule\";\n NextNodeServerSpan[\"generateStaticRoutes\"] = \"NextNodeServer.generateStaticRoutes\";\n NextNodeServerSpan[\"generateFsStaticRoutes\"] = \"NextNodeServer.generateFsStaticRoutes\";\n NextNodeServerSpan[\"generatePublicRoutes\"] = \"NextNodeServer.generatePublicRoutes\";\n NextNodeServerSpan[\"generateImageRoutes\"] = \"NextNodeServer.generateImageRoutes.route\";\n NextNodeServerSpan[\"sendRenderResult\"] = \"NextNodeServer.sendRenderResult\";\n NextNodeServerSpan[\"proxyRequest\"] = \"NextNodeServer.proxyRequest\";\n NextNodeServerSpan[\"runApi\"] = \"NextNodeServer.runApi\";\n NextNodeServerSpan[\"render\"] = \"NextNodeServer.render\";\n NextNodeServerSpan[\"renderHTML\"] = \"NextNodeServer.renderHTML\";\n NextNodeServerSpan[\"imageOptimizer\"] = \"NextNodeServer.imageOptimizer\";\n NextNodeServerSpan[\"getPagePath\"] = \"NextNodeServer.getPagePath\";\n NextNodeServerSpan[\"getRoutesManifest\"] = \"NextNodeServer.getRoutesManifest\";\n NextNodeServerSpan[\"findPageComponents\"] = \"NextNodeServer.findPageComponents\";\n NextNodeServerSpan[\"getFontManifest\"] = \"NextNodeServer.getFontManifest\";\n NextNodeServerSpan[\"getServerComponentManifest\"] = \"NextNodeServer.getServerComponentManifest\";\n NextNodeServerSpan[\"getRequestHandler\"] = \"NextNodeServer.getRequestHandler\";\n NextNodeServerSpan[\"renderToHTML\"] = \"NextNodeServer.renderToHTML\";\n NextNodeServerSpan[\"renderError\"] = \"NextNodeServer.renderError\";\n NextNodeServerSpan[\"renderErrorToHTML\"] = \"NextNodeServer.renderErrorToHTML\";\n NextNodeServerSpan[\"render404\"] = \"NextNodeServer.render404\";\n NextNodeServerSpan[\"route\"] = \"route\";\n NextNodeServerSpan[\"onProxyReq\"] = \"onProxyReq\";\n NextNodeServerSpan[\"apiResolver\"] = \"apiResolver\";\n NextNodeServerSpan[\"internalFetch\"] = \"internalFetch\";\n})(NextNodeServerSpan || (NextNodeServerSpan = {}));\nvar StartServerSpan;\n(function(StartServerSpan) {\n StartServerSpan[\"startServer\"] = \"startServer.startServer\";\n})(StartServerSpan || (StartServerSpan = {}));\nvar RenderSpan;\n(function(RenderSpan) {\n RenderSpan[\"getServerSideProps\"] = \"Render.getServerSideProps\";\n RenderSpan[\"getStaticProps\"] = \"Render.getStaticProps\";\n RenderSpan[\"renderToString\"] = \"Render.renderToString\";\n RenderSpan[\"renderDocument\"] = \"Render.renderDocument\";\n RenderSpan[\"createBodyResult\"] = \"Render.createBodyResult\";\n})(RenderSpan || (RenderSpan = {}));\nvar AppRenderSpan;\n(function(AppRenderSpan) {\n AppRenderSpan[\"renderToString\"] = \"AppRender.renderToString\";\n AppRenderSpan[\"renderToReadableStream\"] = \"AppRender.renderToReadableStream\";\n AppRenderSpan[\"getBodyResult\"] = \"AppRender.getBodyResult\";\n AppRenderSpan[\"fetch\"] = \"AppRender.fetch\";\n})(AppRenderSpan || (AppRenderSpan = {}));\nvar RouterSpan;\n(function(RouterSpan) {\n RouterSpan[\"executeRoute\"] = \"Router.executeRoute\";\n})(RouterSpan || (RouterSpan = {}));\nvar NodeSpan;\n(function(NodeSpan) {\n NodeSpan[\"runHandler\"] = \"Node.runHandler\";\n})(NodeSpan || (NodeSpan = {}));\nvar AppRouteRouteHandlersSpan;\n(function(AppRouteRouteHandlersSpan) {\n AppRouteRouteHandlersSpan[\"runHandler\"] = \"AppRouteRouteHandlers.runHandler\";\n})(AppRouteRouteHandlersSpan || (AppRouteRouteHandlersSpan = {}));\nvar ResolveMetadataSpan;\n(function(ResolveMetadataSpan) {\n ResolveMetadataSpan[\"generateMetadata\"] = \"ResolveMetadata.generateMetadata\";\n ResolveMetadataSpan[\"generateViewport\"] = \"ResolveMetadata.generateViewport\";\n})(ResolveMetadataSpan || (ResolveMetadataSpan = {}));\nconst NextVanillaSpanAllowlist = [\n \"BaseServer.handleRequest\",\n \"Render.getServerSideProps\",\n \"Render.getStaticProps\",\n \"AppRender.fetch\",\n \"AppRender.getBodyResult\",\n \"Render.renderDocument\",\n \"Node.runHandler\",\n \"AppRouteRouteHandlers.runHandler\",\n \"ResolveMetadata.generateMetadata\",\n \"ResolveMetadata.generateViewport\",\n \"NextNodeServer.findPageComponents\",\n \"NextNodeServer.getLayoutOrPageModule\"\n]; //# sourceMappingURL=constants.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvY29uc3RhbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7OztFQUtFLEdBQUcsNENBQTRDO0FBQ2pELDRCQUE0QixHQUFnQjtBQUM1Q0EsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FhTjtBQUNBLFNBQVNhLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUluQixPQUFPQyxjQUFjLENBQUNpQixRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFmLFNBQVM7SUFDYkcsMEJBQTBCO1FBQ3RCLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlWO0FBQ0gsVUFBU0EsY0FBYztJQUNwQkEsY0FBYyxDQUFDLGdCQUFnQixHQUFHO0lBQ2xDQSxjQUFjLENBQUMsTUFBTSxHQUFHO0lBQ3hCQSxjQUFjLENBQUMsT0FBTyxHQUFHO0lBQ3pCQSxjQUFjLENBQUMsZ0JBQWdCLEdBQUc7SUFDbENBLGNBQWMsQ0FBQyxTQUFTLEdBQUc7SUFDM0JBLGNBQWMsQ0FBQyxpQ0FBaUMsR0FBRztJQUNuREEsY0FBYyxDQUFDLG1CQUFtQixHQUFHO0lBQ3JDQSxjQUFjLENBQUMsZUFBZSxHQUFHO0lBQ2pDQSxjQUFjLENBQUMsY0FBYyxHQUFHO0lBQ2hDQSxjQUFjLENBQUMsd0JBQXdCLEdBQUc7SUFDMUNBLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRztJQUN0Q0EsY0FBYyxDQUFDLFlBQVksR0FBRztBQUNsQyxHQUFHQSxrQkFBbUJBLENBQUFBLGlCQUFpQixDQUFDO0FBQ3hDLElBQUlDO0FBQ0gsVUFBU0Esa0JBQWtCO0lBQ3hCQSxrQkFBa0IsQ0FBQyw2QkFBNkIsR0FBRztJQUNuREEsa0JBQWtCLENBQUMsaUJBQWlCLEdBQUc7QUFDM0MsR0FBR0Esc0JBQXVCQSxDQUFBQSxxQkFBcUIsQ0FBQztBQUNoRCxJQUFJQztBQUNILFVBQVNBLGNBQWM7SUFDcEJBLGNBQWMsQ0FBQyxvQkFBb0IsR0FBRztJQUN0Q0EsY0FBYyxDQUFDLFlBQVksR0FBRztJQUM5QkEsY0FBYyxDQUFDLDBCQUEwQixHQUFHO0lBQzVDQSxjQUFjLENBQUMsZUFBZSxHQUFHO0FBQ3JDLEdBQUdBLGtCQUFtQkEsQ0FBQUEsaUJBQWlCLENBQUM7QUFDeEMsSUFBSUM7QUFDSCxVQUFTQSxrQkFBa0I7SUFDeEJBLGtCQUFrQixDQUFDLGNBQWMsR0FBRztJQUNwQ0Esa0JBQWtCLENBQUMsYUFBYSxHQUFHO0lBQ25DQSxrQkFBa0IsQ0FBQyx3QkFBd0IsR0FBRztJQUM5Q0Esa0JBQWtCLENBQUMsdUJBQXVCLEdBQUc7SUFDN0NBLGtCQUFrQixDQUFDLHlCQUF5QixHQUFHO0lBQy9DQSxrQkFBa0IsQ0FBQyx1QkFBdUIsR0FBRztJQUM3Q0Esa0JBQWtCLENBQUMsc0JBQXNCLEdBQUc7SUFDNUNBLGtCQUFrQixDQUFDLG1CQUFtQixHQUFHO0lBQ3pDQSxrQkFBa0IsQ0FBQyxlQUFlLEdBQUc7SUFDckNBLGtCQUFrQixDQUFDLFNBQVMsR0FBRztJQUMvQkEsa0JBQWtCLENBQUMsU0FBUyxHQUFHO0lBQy9CQSxrQkFBa0IsQ0FBQyxhQUFhLEdBQUc7SUFDbkNBLGtCQUFrQixDQUFDLGlCQUFpQixHQUFHO0lBQ3ZDQSxrQkFBa0IsQ0FBQyxjQUFjLEdBQUc7SUFDcENBLGtCQUFrQixDQUFDLG9CQUFvQixHQUFHO0lBQzFDQSxrQkFBa0IsQ0FBQyxxQkFBcUIsR0FBRztJQUMzQ0Esa0JBQWtCLENBQUMsa0JBQWtCLEdBQUc7SUFDeENBLGtCQUFrQixDQUFDLDZCQUE2QixHQUFHO0lBQ25EQSxrQkFBa0IsQ0FBQyxvQkFBb0IsR0FBRztJQUMxQ0Esa0JBQWtCLENBQUMsZUFBZSxHQUFHO0lBQ3JDQSxrQkFBa0IsQ0FBQyxjQUFjLEdBQUc7SUFDcENBLGtCQUFrQixDQUFDLG9CQUFvQixHQUFHO0lBQzFDQSxrQkFBa0IsQ0FBQyxZQUFZLEdBQUc7SUFDbENBLGtCQUFrQixDQUNsQixRQUFRLEdBQUc7SUFDWEEsa0JBQWtCLENBQUMsYUFBYSxHQUFHO0lBQ25DQSxrQkFBa0IsQ0FBQyxjQUFjLEdBQUc7SUFDcENBLGtCQUFrQixDQUFDLGdCQUFnQixHQUFHO0FBQzFDLEdBQUdBLHNCQUF1QkEsQ0FBQUEscUJBQXFCLENBQUM7QUFDaEQsSUFBSUM7QUFDSCxVQUFTQSxlQUFlO0lBQ3JCQSxlQUFlLENBQUMsY0FBYyxHQUFHO0FBQ3JDLEdBQUdBLG1CQUFvQkEsQ0FBQUEsa0JBQWtCLENBQUM7QUFDMUMsSUFBSUM7QUFDSCxVQUFTQSxVQUFVO0lBQ2hCQSxVQUFVLENBQUMscUJBQXFCLEdBQUc7SUFDbkNBLFVBQVUsQ0FBQyxpQkFBaUIsR0FBRztJQUMvQkEsVUFBVSxDQUFDLGlCQUFpQixHQUFHO0lBQy9CQSxVQUFVLENBQUMsaUJBQWlCLEdBQUc7SUFDL0JBLFVBQVUsQ0FBQyxtQkFBbUIsR0FBRztBQUNyQyxHQUFHQSxjQUFlQSxDQUFBQSxhQUFhLENBQUM7QUFDaEMsSUFBSUU7QUFDSCxVQUFTQSxhQUFhO0lBQ25CQSxhQUFhLENBQUMsaUJBQWlCLEdBQUc7SUFDbENBLGFBQWEsQ0FBQyx5QkFBeUIsR0FBRztJQUMxQ0EsYUFBYSxDQUFDLGdCQUFnQixHQUFHO0lBQ2pDQSxhQUFhLENBQUMsUUFBUSxHQUFHO0FBQzdCLEdBQUdBLGlCQUFrQkEsQ0FBQUEsZ0JBQWdCLENBQUM7QUFDdEMsSUFBSUQ7QUFDSCxVQUFTQSxVQUFVO0lBQ2hCQSxVQUFVLENBQUMsZUFBZSxHQUFHO0FBQ2pDLEdBQUdBLGNBQWVBLENBQUFBLGFBQWEsQ0FBQztBQUNoQyxJQUFJRTtBQUNILFVBQVNBLFFBQVE7SUFDZEEsUUFBUSxDQUFDLGFBQWEsR0FBRztBQUM3QixHQUFHQSxZQUFhQSxDQUFBQSxXQUFXLENBQUM7QUFDNUIsSUFBSUM7QUFDSCxVQUFTQSx5QkFBeUI7SUFDL0JBLHlCQUF5QixDQUFDLGFBQWEsR0FBRztBQUM5QyxHQUFHQSw2QkFBOEJBLENBQUFBLDRCQUE0QixDQUFDO0FBQzlELElBQUlDO0FBQ0gsVUFBU0EsbUJBQW1CO0lBQ3pCQSxtQkFBbUIsQ0FBQyxtQkFBbUIsR0FBRztJQUMxQ0EsbUJBQW1CLENBQUMsbUJBQW1CLEdBQUc7QUFDOUMsR0FBR0EsdUJBQXdCQSxDQUFBQSxzQkFBc0IsQ0FBQztBQUNsRCxNQUFNWCwyQkFBMkI7SUFDN0I7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0gsRUFFRCxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvbGliL3RyYWNlL2NvbnN0YW50cy5qcz9mODI1Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udGFpbnMgcHJlZGVmaW5lZCBjb25zdGFudHMgZm9yIHRoZSB0cmFjZSBzcGFuIG5hbWUgaW4gbmV4dC9zZXJ2ZXIuXG4gKlxuICogQ3VycmVudGx5LCBuZXh0L3NlcnZlci90cmFjZXIgaXMgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gb25seSBmb3IgdHJhY2tpbmdcbiAqIG5leHQuanMncyBpbXBsZW1lbnRhdGlvbiBvbmx5IHdpdGgga25vd24gc3BhbiBuYW1lcyBkZWZpbmVkIGhlcmUuXG4gKiovIC8vIGVzbGludCB0eXBlc2NyaXB0IGhhcyBhIGJ1ZyB3aXRoIFRTIGVudW1zXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1zaGFkb3cgKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3Q6IG51bGwsXG4gICAgQmFzZVNlcnZlclNwYW46IG51bGwsXG4gICAgTG9hZENvbXBvbmVudHNTcGFuOiBudWxsLFxuICAgIE5leHRTZXJ2ZXJTcGFuOiBudWxsLFxuICAgIE5leHROb2RlU2VydmVyU3BhbjogbnVsbCxcbiAgICBTdGFydFNlcnZlclNwYW46IG51bGwsXG4gICAgUmVuZGVyU3BhbjogbnVsbCxcbiAgICBSb3V0ZXJTcGFuOiBudWxsLFxuICAgIEFwcFJlbmRlclNwYW46IG51bGwsXG4gICAgTm9kZVNwYW46IG51bGwsXG4gICAgQXBwUm91dGVSb3V0ZUhhbmRsZXJzU3BhbjogbnVsbCxcbiAgICBSZXNvbHZlTWV0YWRhdGFTcGFuOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIE5leHRWYW5pbGxhU3BhbkFsbG93bGlzdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3Q7XG4gICAgfSxcbiAgICBCYXNlU2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBCYXNlU2VydmVyU3BhbjtcbiAgICB9LFxuICAgIExvYWRDb21wb25lbnRzU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBMb2FkQ29tcG9uZW50c1NwYW47XG4gICAgfSxcbiAgICBOZXh0U2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0U2VydmVyU3BhbjtcbiAgICB9LFxuICAgIE5leHROb2RlU2VydmVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBOZXh0Tm9kZVNlcnZlclNwYW47XG4gICAgfSxcbiAgICBTdGFydFNlcnZlclNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3RhcnRTZXJ2ZXJTcGFuO1xuICAgIH0sXG4gICAgUmVuZGVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZW5kZXJTcGFuO1xuICAgIH0sXG4gICAgUm91dGVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSb3V0ZXJTcGFuO1xuICAgIH0sXG4gICAgQXBwUmVuZGVyU3BhbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBBcHBSZW5kZXJTcGFuO1xuICAgIH0sXG4gICAgTm9kZVNwYW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTm9kZVNwYW47XG4gICAgfSxcbiAgICBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW47XG4gICAgfSxcbiAgICBSZXNvbHZlTWV0YWRhdGFTcGFuOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlc29sdmVNZXRhZGF0YVNwYW47XG4gICAgfVxufSk7XG52YXIgQmFzZVNlcnZlclNwYW47XG4oZnVuY3Rpb24oQmFzZVNlcnZlclNwYW4pIHtcbiAgICBCYXNlU2VydmVyU3BhbltcImhhbmRsZVJlcXVlc3RcIl0gPSBcIkJhc2VTZXJ2ZXIuaGFuZGxlUmVxdWVzdFwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicnVuXCJdID0gXCJCYXNlU2VydmVyLnJ1blwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicGlwZVwiXSA9IFwiQmFzZVNlcnZlci5waXBlXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJnZXRTdGF0aWNIVE1MXCJdID0gXCJCYXNlU2VydmVyLmdldFN0YXRpY0hUTUxcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclRvUmVzcG9uc2VXaXRoQ29tcG9uZW50c1wiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJUb1Jlc3BvbnNlV2l0aENvbXBvbmVudHNcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlclRvUmVzcG9uc2VcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyVG9SZXNwb25zZVwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyVG9IVE1MXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlclRvSFRNTFwiO1xuICAgIEJhc2VTZXJ2ZXJTcGFuW1wicmVuZGVyRXJyb3JcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyRXJyb3JcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlckVycm9yVG9SZXNwb25zZVwiXSA9IFwiQmFzZVNlcnZlci5yZW5kZXJFcnJvclRvUmVzcG9uc2VcIjtcbiAgICBCYXNlU2VydmVyU3BhbltcInJlbmRlckVycm9yVG9IVE1MXCJdID0gXCJCYXNlU2VydmVyLnJlbmRlckVycm9yVG9IVE1MXCI7XG4gICAgQmFzZVNlcnZlclNwYW5bXCJyZW5kZXI0MDRcIl0gPSBcIkJhc2VTZXJ2ZXIucmVuZGVyNDA0XCI7XG59KShCYXNlU2VydmVyU3BhbiB8fCAoQmFzZVNlcnZlclNwYW4gPSB7fSkpO1xudmFyIExvYWRDb21wb25lbnRzU3BhbjtcbihmdW5jdGlvbihMb2FkQ29tcG9uZW50c1NwYW4pIHtcbiAgICBMb2FkQ29tcG9uZW50c1NwYW5bXCJsb2FkRGVmYXVsdEVycm9yQ29tcG9uZW50c1wiXSA9IFwiTG9hZENvbXBvbmVudHMubG9hZERlZmF1bHRFcnJvckNvbXBvbmVudHNcIjtcbiAgICBMb2FkQ29tcG9uZW50c1NwYW5bXCJsb2FkQ29tcG9uZW50c1wiXSA9IFwiTG9hZENvbXBvbmVudHMubG9hZENvbXBvbmVudHNcIjtcbn0pKExvYWRDb21wb25lbnRzU3BhbiB8fCAoTG9hZENvbXBvbmVudHNTcGFuID0ge30pKTtcbnZhciBOZXh0U2VydmVyU3BhbjtcbihmdW5jdGlvbihOZXh0U2VydmVyU3Bhbikge1xuICAgIE5leHRTZXJ2ZXJTcGFuW1wiZ2V0UmVxdWVzdEhhbmRsZXJcIl0gPSBcIk5leHRTZXJ2ZXIuZ2V0UmVxdWVzdEhhbmRsZXJcIjtcbiAgICBOZXh0U2VydmVyU3BhbltcImdldFNlcnZlclwiXSA9IFwiTmV4dFNlcnZlci5nZXRTZXJ2ZXJcIjtcbiAgICBOZXh0U2VydmVyU3BhbltcImdldFNlcnZlclJlcXVlc3RIYW5kbGVyXCJdID0gXCJOZXh0U2VydmVyLmdldFNlcnZlclJlcXVlc3RIYW5kbGVyXCI7XG4gICAgTmV4dFNlcnZlclNwYW5bXCJjcmVhdGVTZXJ2ZXJcIl0gPSBcImNyZWF0ZVNlcnZlci5jcmVhdGVTZXJ2ZXJcIjtcbn0pKE5leHRTZXJ2ZXJTcGFuIHx8IChOZXh0U2VydmVyU3BhbiA9IHt9KSk7XG52YXIgTmV4dE5vZGVTZXJ2ZXJTcGFuO1xuKGZ1bmN0aW9uKE5leHROb2RlU2VydmVyU3Bhbikge1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImNvbXByZXNzaW9uXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5jb21wcmVzc2lvblwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldEJ1aWxkSWRcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldEJ1aWxkSWRcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRMYXlvdXRPclBhZ2VNb2R1bGVcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldExheW91dE9yUGFnZU1vZHVsZVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdlbmVyYXRlU3RhdGljUm91dGVzXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZW5lcmF0ZVN0YXRpY1JvdXRlc1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdlbmVyYXRlRnNTdGF0aWNSb3V0ZXNcIl0gPSBcIk5leHROb2RlU2VydmVyLmdlbmVyYXRlRnNTdGF0aWNSb3V0ZXNcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZW5lcmF0ZVB1YmxpY1JvdXRlc1wiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2VuZXJhdGVQdWJsaWNSb3V0ZXNcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZW5lcmF0ZUltYWdlUm91dGVzXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5nZW5lcmF0ZUltYWdlUm91dGVzLnJvdXRlXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wic2VuZFJlbmRlclJlc3VsdFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuc2VuZFJlbmRlclJlc3VsdFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInByb3h5UmVxdWVzdFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucHJveHlSZXF1ZXN0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicnVuQXBpXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5ydW5BcGlcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXJcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcInJlbmRlckhUTUxcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlckhUTUxcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJpbWFnZU9wdGltaXplclwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuaW1hZ2VPcHRpbWl6ZXJcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRQYWdlUGF0aFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0UGFnZVBhdGhcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJnZXRSb3V0ZXNNYW5pZmVzdFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0Um91dGVzTWFuaWZlc3RcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJmaW5kUGFnZUNvbXBvbmVudHNcIl0gPSBcIk5leHROb2RlU2VydmVyLmZpbmRQYWdlQ29tcG9uZW50c1wiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImdldEZvbnRNYW5pZmVzdFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0Rm9udE1hbmlmZXN0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0U2VydmVyQ29tcG9uZW50TWFuaWZlc3RcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldFNlcnZlckNvbXBvbmVudE1hbmlmZXN0XCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wiZ2V0UmVxdWVzdEhhbmRsZXJcIl0gPSBcIk5leHROb2RlU2VydmVyLmdldFJlcXVlc3RIYW5kbGVyXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wicmVuZGVyVG9IVE1MXCJdID0gXCJOZXh0Tm9kZVNlcnZlci5yZW5kZXJUb0hUTUxcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXJFcnJvclwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyRXJyb3JcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXJFcnJvclRvSFRNTFwiXSA9IFwiTmV4dE5vZGVTZXJ2ZXIucmVuZGVyRXJyb3JUb0hUTUxcIjtcbiAgICBOZXh0Tm9kZVNlcnZlclNwYW5bXCJyZW5kZXI0MDRcIl0gPSBcIk5leHROb2RlU2VydmVyLnJlbmRlcjQwNFwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhblsvLyBuZXN0ZWQgaW5uZXIgc3BhbiwgZG9lcyBub3QgcmVxdWlyZSBwYXJlbnQgc2NvcGUgbmFtZVxuICAgIFwicm91dGVcIl0gPSBcInJvdXRlXCI7XG4gICAgTmV4dE5vZGVTZXJ2ZXJTcGFuW1wib25Qcm94eVJlcVwiXSA9IFwib25Qcm94eVJlcVwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImFwaVJlc29sdmVyXCJdID0gXCJhcGlSZXNvbHZlclwiO1xuICAgIE5leHROb2RlU2VydmVyU3BhbltcImludGVybmFsRmV0Y2hcIl0gPSBcImludGVybmFsRmV0Y2hcIjtcbn0pKE5leHROb2RlU2VydmVyU3BhbiB8fCAoTmV4dE5vZGVTZXJ2ZXJTcGFuID0ge30pKTtcbnZhciBTdGFydFNlcnZlclNwYW47XG4oZnVuY3Rpb24oU3RhcnRTZXJ2ZXJTcGFuKSB7XG4gICAgU3RhcnRTZXJ2ZXJTcGFuW1wic3RhcnRTZXJ2ZXJcIl0gPSBcInN0YXJ0U2VydmVyLnN0YXJ0U2VydmVyXCI7XG59KShTdGFydFNlcnZlclNwYW4gfHwgKFN0YXJ0U2VydmVyU3BhbiA9IHt9KSk7XG52YXIgUmVuZGVyU3BhbjtcbihmdW5jdGlvbihSZW5kZXJTcGFuKSB7XG4gICAgUmVuZGVyU3BhbltcImdldFNlcnZlclNpZGVQcm9wc1wiXSA9IFwiUmVuZGVyLmdldFNlcnZlclNpZGVQcm9wc1wiO1xuICAgIFJlbmRlclNwYW5bXCJnZXRTdGF0aWNQcm9wc1wiXSA9IFwiUmVuZGVyLmdldFN0YXRpY1Byb3BzXCI7XG4gICAgUmVuZGVyU3BhbltcInJlbmRlclRvU3RyaW5nXCJdID0gXCJSZW5kZXIucmVuZGVyVG9TdHJpbmdcIjtcbiAgICBSZW5kZXJTcGFuW1wicmVuZGVyRG9jdW1lbnRcIl0gPSBcIlJlbmRlci5yZW5kZXJEb2N1bWVudFwiO1xuICAgIFJlbmRlclNwYW5bXCJjcmVhdGVCb2R5UmVzdWx0XCJdID0gXCJSZW5kZXIuY3JlYXRlQm9keVJlc3VsdFwiO1xufSkoUmVuZGVyU3BhbiB8fCAoUmVuZGVyU3BhbiA9IHt9KSk7XG52YXIgQXBwUmVuZGVyU3BhbjtcbihmdW5jdGlvbihBcHBSZW5kZXJTcGFuKSB7XG4gICAgQXBwUmVuZGVyU3BhbltcInJlbmRlclRvU3RyaW5nXCJdID0gXCJBcHBSZW5kZXIucmVuZGVyVG9TdHJpbmdcIjtcbiAgICBBcHBSZW5kZXJTcGFuW1wicmVuZGVyVG9SZWFkYWJsZVN0cmVhbVwiXSA9IFwiQXBwUmVuZGVyLnJlbmRlclRvUmVhZGFibGVTdHJlYW1cIjtcbiAgICBBcHBSZW5kZXJTcGFuW1wiZ2V0Qm9keVJlc3VsdFwiXSA9IFwiQXBwUmVuZGVyLmdldEJvZHlSZXN1bHRcIjtcbiAgICBBcHBSZW5kZXJTcGFuW1wiZmV0Y2hcIl0gPSBcIkFwcFJlbmRlci5mZXRjaFwiO1xufSkoQXBwUmVuZGVyU3BhbiB8fCAoQXBwUmVuZGVyU3BhbiA9IHt9KSk7XG52YXIgUm91dGVyU3BhbjtcbihmdW5jdGlvbihSb3V0ZXJTcGFuKSB7XG4gICAgUm91dGVyU3BhbltcImV4ZWN1dGVSb3V0ZVwiXSA9IFwiUm91dGVyLmV4ZWN1dGVSb3V0ZVwiO1xufSkoUm91dGVyU3BhbiB8fCAoUm91dGVyU3BhbiA9IHt9KSk7XG52YXIgTm9kZVNwYW47XG4oZnVuY3Rpb24oTm9kZVNwYW4pIHtcbiAgICBOb2RlU3BhbltcInJ1bkhhbmRsZXJcIl0gPSBcIk5vZGUucnVuSGFuZGxlclwiO1xufSkoTm9kZVNwYW4gfHwgKE5vZGVTcGFuID0ge30pKTtcbnZhciBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuO1xuKGZ1bmN0aW9uKEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4pIHtcbiAgICBBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuW1wicnVuSGFuZGxlclwiXSA9IFwiQXBwUm91dGVSb3V0ZUhhbmRsZXJzLnJ1bkhhbmRsZXJcIjtcbn0pKEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4gfHwgKEFwcFJvdXRlUm91dGVIYW5kbGVyc1NwYW4gPSB7fSkpO1xudmFyIFJlc29sdmVNZXRhZGF0YVNwYW47XG4oZnVuY3Rpb24oUmVzb2x2ZU1ldGFkYXRhU3Bhbikge1xuICAgIFJlc29sdmVNZXRhZGF0YVNwYW5bXCJnZW5lcmF0ZU1ldGFkYXRhXCJdID0gXCJSZXNvbHZlTWV0YWRhdGEuZ2VuZXJhdGVNZXRhZGF0YVwiO1xuICAgIFJlc29sdmVNZXRhZGF0YVNwYW5bXCJnZW5lcmF0ZVZpZXdwb3J0XCJdID0gXCJSZXNvbHZlTWV0YWRhdGEuZ2VuZXJhdGVWaWV3cG9ydFwiO1xufSkoUmVzb2x2ZU1ldGFkYXRhU3BhbiB8fCAoUmVzb2x2ZU1ldGFkYXRhU3BhbiA9IHt9KSk7XG5jb25zdCBOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3QgPSBbXG4gICAgXCJCYXNlU2VydmVyLmhhbmRsZVJlcXVlc3RcIixcbiAgICBcIlJlbmRlci5nZXRTZXJ2ZXJTaWRlUHJvcHNcIixcbiAgICBcIlJlbmRlci5nZXRTdGF0aWNQcm9wc1wiLFxuICAgIFwiQXBwUmVuZGVyLmZldGNoXCIsXG4gICAgXCJBcHBSZW5kZXIuZ2V0Qm9keVJlc3VsdFwiLFxuICAgIFwiUmVuZGVyLnJlbmRlckRvY3VtZW50XCIsXG4gICAgXCJOb2RlLnJ1bkhhbmRsZXJcIixcbiAgICBcIkFwcFJvdXRlUm91dGVIYW5kbGVycy5ydW5IYW5kbGVyXCIsXG4gICAgXCJSZXNvbHZlTWV0YWRhdGEuZ2VuZXJhdGVNZXRhZGF0YVwiLFxuICAgIFwiUmVzb2x2ZU1ldGFkYXRhLmdlbmVyYXRlVmlld3BvcnRcIixcbiAgICBcIk5leHROb2RlU2VydmVyLmZpbmRQYWdlQ29tcG9uZW50c1wiLFxuICAgIFwiTmV4dE5vZGVTZXJ2ZXIuZ2V0TGF5b3V0T3JQYWdlTW9kdWxlXCJcbl07XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWNvbnN0YW50cy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3QiLCJCYXNlU2VydmVyU3BhbiIsIkxvYWRDb21wb25lbnRzU3BhbiIsIk5leHRTZXJ2ZXJTcGFuIiwiTmV4dE5vZGVTZXJ2ZXJTcGFuIiwiU3RhcnRTZXJ2ZXJTcGFuIiwiUmVuZGVyU3BhbiIsIlJvdXRlclNwYW4iLCJBcHBSZW5kZXJTcGFuIiwiTm9kZVNwYW4iLCJBcHBSb3V0ZVJvdXRlSGFuZGxlcnNTcGFuIiwiUmVzb2x2ZU1ldGFkYXRhU3BhbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/server/lib/trace/tracer.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getTracer: function() {\n return getTracer;\n },\n SpanStatusCode: function() {\n return SpanStatusCode;\n },\n SpanKind: function() {\n return SpanKind;\n }\n});\nconst _constants = __webpack_require__(/*! ./constants */ \"(rsc)/./node_modules/next/dist/server/lib/trace/constants.js\");\nlet api;\n// we want to allow users to use their own version of @opentelemetry/api if they\n// want to, so we try to require it first, and if it fails we fall back to the\n// version that is bundled with Next.js\n// this is because @opentelemetry/api has to be synced with the version of\n// @opentelemetry/tracing that is used, and we don't want to force users to use\n// the version that is bundled with Next.js.\n// the API is ~stable, so this should be fine\nif (false) {} else {\n try {\n api = __webpack_require__(/*! @opentelemetry/api */ \"(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n } catch (err) {\n api = __webpack_require__(/*! next/dist/compiled/@opentelemetry/api */ \"(rsc)/./node_modules/next/dist/compiled/@opentelemetry/api/index.js\");\n }\n}\nconst { context, propagation, trace, SpanStatusCode, SpanKind, ROOT_CONTEXT } = api;\nconst isPromise = (p)=>{\n return p !== null && typeof p === \"object\" && typeof p.then === \"function\";\n};\nconst closeSpanWithError = (span, error)=>{\n if ((error == null ? void 0 : error.bubble) === true) {\n span.setAttribute(\"next.bubble\", true);\n } else {\n if (error) {\n span.recordException(error);\n }\n span.setStatus({\n code: SpanStatusCode.ERROR,\n message: error == null ? void 0 : error.message\n });\n }\n span.end();\n};\n/** we use this map to propagate attributes from nested spans to the top span */ const rootSpanAttributesStore = new Map();\nconst rootSpanIdKey = api.createContextKey(\"next.rootSpanId\");\nlet lastSpanId = 0;\nconst getSpanId = ()=>lastSpanId++;\nclass NextTracerImpl {\n /**\n * Returns an instance to the trace with configured name.\n * Since wrap / trace can be defined in any place prior to actual trace subscriber initialization,\n * This should be lazily evaluated.\n */ getTracerInstance() {\n return trace.getTracer(\"next.js\", \"0.0.1\");\n }\n getContext() {\n return context;\n }\n getActiveScopeSpan() {\n return trace.getSpan(context == null ? void 0 : context.active());\n }\n withPropagatedContext(carrier, fn, getter) {\n const activeContext = context.active();\n if (trace.getSpanContext(activeContext)) {\n // Active span is already set, too late to propagate.\n return fn();\n }\n const remoteContext = propagation.extract(activeContext, carrier, getter);\n return context.with(remoteContext, fn);\n }\n trace(...args) {\n var _trace_getSpanContext;\n const [type, fnOrOptions, fnOrEmpty] = args;\n // coerce options form overload\n const { fn, options } = typeof fnOrOptions === \"function\" ? {\n fn: fnOrOptions,\n options: {}\n } : {\n fn: fnOrEmpty,\n options: {\n ...fnOrOptions\n }\n };\n if (!_constants.NextVanillaSpanAllowlist.includes(type) && process.env.NEXT_OTEL_VERBOSE !== \"1\" || options.hideSpan) {\n return fn();\n }\n const spanName = options.spanName ?? type;\n // Trying to get active scoped span to assign parent. If option specifies parent span manually, will try to use it.\n let spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n let isRootSpan = false;\n if (!spanContext) {\n spanContext = ROOT_CONTEXT;\n isRootSpan = true;\n } else if ((_trace_getSpanContext = trace.getSpanContext(spanContext)) == null ? void 0 : _trace_getSpanContext.isRemote) {\n isRootSpan = true;\n }\n const spanId = getSpanId();\n options.attributes = {\n \"next.span_name\": spanName,\n \"next.span_type\": type,\n ...options.attributes\n };\n return context.with(spanContext.setValue(rootSpanIdKey, spanId), ()=>this.getTracerInstance().startActiveSpan(spanName, options, (span)=>{\n const onCleanup = ()=>{\n rootSpanAttributesStore.delete(spanId);\n };\n if (isRootSpan) {\n rootSpanAttributesStore.set(spanId, new Map(Object.entries(options.attributes ?? {})));\n }\n try {\n if (fn.length > 1) {\n return fn(span, (err)=>closeSpanWithError(span, err));\n }\n const result = fn(span);\n if (isPromise(result)) {\n // If there's error make sure it throws\n return result.then((res)=>{\n span.end();\n // Need to pass down the promise result,\n // it could be react stream response with error { error, stream }\n return res;\n }).catch((err)=>{\n closeSpanWithError(span, err);\n throw err;\n }).finally(onCleanup);\n } else {\n span.end();\n onCleanup();\n }\n return result;\n } catch (err) {\n closeSpanWithError(span, err);\n onCleanup();\n throw err;\n }\n }));\n }\n wrap(...args) {\n const tracer = this;\n const [name, options, fn] = args.length === 3 ? args : [\n args[0],\n {},\n args[1]\n ];\n if (!_constants.NextVanillaSpanAllowlist.includes(name) && process.env.NEXT_OTEL_VERBOSE !== \"1\") {\n return fn;\n }\n return function() {\n let optionsObj = options;\n if (typeof optionsObj === \"function\" && typeof fn === \"function\") {\n optionsObj = optionsObj.apply(this, arguments);\n }\n const lastArgId = arguments.length - 1;\n const cb = arguments[lastArgId];\n if (typeof cb === \"function\") {\n const scopeBoundCb = tracer.getContext().bind(context.active(), cb);\n return tracer.trace(name, optionsObj, (_span, done)=>{\n arguments[lastArgId] = function(err) {\n done == null ? void 0 : done(err);\n return scopeBoundCb.apply(this, arguments);\n };\n return fn.apply(this, arguments);\n });\n } else {\n return tracer.trace(name, optionsObj, ()=>fn.apply(this, arguments));\n }\n };\n }\n startSpan(...args) {\n const [type, options] = args;\n const spanContext = this.getSpanContext((options == null ? void 0 : options.parentSpan) ?? this.getActiveScopeSpan());\n return this.getTracerInstance().startSpan(type, options, spanContext);\n }\n getSpanContext(parentSpan) {\n const spanContext = parentSpan ? trace.setSpan(context.active(), parentSpan) : undefined;\n return spanContext;\n }\n getRootSpanAttributes() {\n const spanId = context.active().getValue(rootSpanIdKey);\n return rootSpanAttributesStore.get(spanId);\n }\n}\nconst getTracer = (()=>{\n const tracer = new NextTracerImpl();\n return ()=>tracer;\n})(); //# sourceMappingURL=tracer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9saWIvdHJhY2UvdHJhY2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxXQUFXO1FBQ1AsT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxhQUFhQyxtQkFBT0EsQ0FBQyxpRkFBYTtBQUN4QyxJQUFJQztBQUNKLGdGQUFnRjtBQUNoRiw4RUFBOEU7QUFDOUUsdUNBQXVDO0FBQ3ZDLDBFQUEwRTtBQUMxRSwrRUFBK0U7QUFDL0UsNENBQTRDO0FBQzVDLDZDQUE2QztBQUM3QyxJQUFJQyxLQUFtQyxFQUFFLEVBRXhDLE1BQU07SUFDSCxJQUFJO1FBQ0FELE1BQU1ELG1CQUFPQSxDQUFDLCtGQUFvQjtJQUN0QyxFQUFFLE9BQU9LLEtBQUs7UUFDVkosTUFBTUQsbUJBQU9BLENBQUMsa0hBQXVDO0lBQ3pEO0FBQ0o7QUFDQSxNQUFNLEVBQUVNLE9BQU8sRUFBRUMsV0FBVyxFQUFFQyxLQUFLLEVBQUVqQixjQUFjLEVBQUVDLFFBQVEsRUFBRWlCLFlBQVksRUFBRSxHQUFHUjtBQUNoRixNQUFNUyxZQUFZLENBQUNDO0lBQ2YsT0FBT0EsTUFBTSxRQUFRLE9BQU9BLE1BQU0sWUFBWSxPQUFPQSxFQUFFQyxJQUFJLEtBQUs7QUFDcEU7QUFDQSxNQUFNQyxxQkFBcUIsQ0FBQ0MsTUFBTUM7SUFDOUIsSUFBSSxD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L0UsT0FBTzlCO0lBQ1g7SUFDQStCLHdCQUF3QjtRQUNwQixNQUFNM0IsU0FBU3RELFFBQVE2QixNQUFNLEdBQUdxRCxRQUFRLENBQUM5RDtRQUN6QyxPQUFPRix3QkFBd0IxQixHQUFHLENBQUM4RDtJQUN2QztBQUNKO0FBQ0EsTUFBTXRFLFlBQVksQ0FBQztJQUNmLE1BQU1vRixTQUFTLElBQUk1QztJQUNuQixPQUFPLElBQUk0QztBQUNmLE1BRUEsa0NBQWtDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL2xpYi90cmFjZS90cmFjZXIuanM/MjAyNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGdldFRyYWNlcjogbnVsbCxcbiAgICBTcGFuU3RhdHVzQ29kZTogbnVsbCxcbiAgICBTcGFuS2luZDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBnZXRUcmFjZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VHJhY2VyO1xuICAgIH0sXG4gICAgU3BhblN0YXR1c0NvZGU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU3BhblN0YXR1c0NvZGU7XG4gICAgfSxcbiAgICBTcGFuS2luZDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBTcGFuS2luZDtcbiAgICB9XG59KTtcbmNvbnN0IF9jb25zdGFudHMgPSByZXF1aXJlKFwiLi9jb25zdGFudHNcIik7XG5sZXQgYXBpO1xuLy8gd2Ugd2FudCB0byBhbGxvdyB1c2VycyB0byB1c2UgdGhlaXIgb3duIHZlcnNpb24gb2YgQG9wZW50ZWxlbWV0cnkvYXBpIGlmIHRoZXlcbi8vIHdhbnQgdG8sIHNvIHdlIHRyeSB0byByZXF1aXJlIGl0IGZpcnN0LCBhbmQgaWYgaXQgZmFpbHMgd2UgZmFsbCBiYWNrIHRvIHRoZVxuLy8gdmVyc2lvbiB0aGF0IGlzIGJ1bmRsZWQgd2l0aCBOZXh0LmpzXG4vLyB0aGlzIGlzIGJlY2F1c2UgQG9wZW50ZWxlbWV0cnkvYXBpIGhhcyB0byBiZSBzeW5jZWQgd2l0aCB0aGUgdmVyc2lvbiBvZlxuLy8gQG9wZW50ZWxlbWV0cnkvdHJhY2luZyB0aGF0IGlzIHVzZWQsIGFuZCB3ZSBkb24ndCB3YW50IHRvIGZvcmNlIHVzZXJzIHRvIHVzZVxuLy8gdGhlIHZlcnNpb24gdGhhdCBpcyBidW5kbGVkIHdpdGggTmV4dC5qcy5cbi8vIHRoZSBBUEkgaXMgfnN0YWJsZSwgc28gdGhpcyBzaG91bGQgYmUgZmluZVxuaWYgKHByb2Nlc3MuZW52Lk5FWFRfUlVOVElNRSA9PT0gXCJlZGdlXCIpIHtcbiAgICBhcGkgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvYXBpXCIpO1xufSBlbHNlIHtcbiAgICB0cnkge1xuICAgICAgICBhcGkgPSByZXF1aXJlKFwiQG9wZW50ZWxlbWV0cnkvYXBpXCIpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBhcGkgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL0BvcGVudGVsZW1ldHJ5L2FwaVwiKTtcbiAgICB9XG59XG5jb25zdCB7IGNvbnRleHQsIHByb3BhZ2F0aW9uLCB0cmFjZSwgU3BhblN0YXR1c0NvZGUsIFNwYW5LaW5kLCBST09UX0NPTlRFWFQgfSA9IGFwaTtcbmNvbnN0IGlzUHJvbWlzZSA9IChwKT0+e1xuICAgIHJldHVybiBwICE9PSBudWxsICYmIHR5cGVvZiBwID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBwLnRoZW4gPT09IFwiZnVuY3Rpb25cIjtcbn07XG5jb25zdCBjbG9zZVNwYW5XaXRoRXJyb3IgPSAoc3BhbiwgZXJyb3IpPT57XG4gICAgaWYgKChlcnJvciA9PSBudWxsID8gdm9pZCAwIDogZXJyb3IuYnViYmxlKSA9PT0gdHJ1ZSkge1xuICAgICAgICBzcGFuLnNldEF0dHJpYnV0ZShcIm5leHQuYnViYmxlXCIsIHRydWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgc3Bhbi5yZWNvcmRFeGNlcHRpb24oZXJyb3IpO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4uc2V0U3RhdHVzKHtcbiAgICAgICAgICAgIGNvZGU6IFNwYW5TdGF0dXNDb2RlLkVSUk9SLFxuICAgICAgICAgICAgbWVzc2FnZTogZXJyb3IgPT0gbnVsbCA/IHZvaWQgMCA6IGVycm9yLm1lc3NhZ2VcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNwYW4uZW5kKCk7XG59O1xuLyoqIHdlIHVzZSB0aGlzIG1hcCB0byBwcm9wYWdhdGUgYXR0cmlidXRlcyBmcm9tIG5lc3RlZCBzcGFucyB0byB0aGUgdG9wIHNwYW4gKi8gY29uc3Qgcm9vdFNwYW5BdHRyaWJ1dGVzU3RvcmUgPSBuZXcgTWFwKCk7XG5jb25zdCByb290U3BhbklkS2V5ID0gYXBpLmNyZWF0ZUNvbnRleHRLZXkoXCJuZXh0LnJvb3RTcGFuSWRcIik7XG5sZXQgbGFzdFNwYW5JZCA9IDA7XG5jb25zdCBnZXRTcGFuSWQgPSAoKT0+bGFzdFNwYW5JZCsrO1xuY2xhc3MgTmV4dFRyYWNlckltcGwge1xuICAgIC8qKlxuICAgKiBSZXR1cm5zIGFuIGluc3RhbmNlIHRvIHRoZSB0cmFjZSB3aXRoIGNvbmZpZ3VyZWQgbmFtZS5cbiAgICogU2luY2Ugd3JhcCAvIHRyYWNlIGNhbiBiZSBkZWZpbmVkIGluIGFueSBwbGFjZSBwcmlvciB0byBhY3R1YWwgdHJhY2Ugc3Vic2NyaWJlciBpbml0aWFsaXphdGlvbixcbiAgICogVGhpcyBzaG91bGQgYmUgbGF6aWx5IGV2YWx1YXRlZC5cbiAgICovIGdldFRyYWNlckluc3RhbmNlKCkge1xuICAgICAgICByZXR1cm4gdHJhY2UuZ2V0VHJhY2VyKFwibmV4dC5qc1wiLCBcIjAuMC4xXCIpO1xuICAgIH1cbiAgICBnZXRDb250ZXh0KCkge1xuICAgICAgICByZXR1cm4gY29udGV4dDtcbiAgICB9XG4gICAgZ2V0QWN0aXZlU2NvcGVTcGFuKCkge1xuICAgICAgICByZXR1cm4gdHJhY2UuZ2V0U3Bhbihjb250ZXh0ID09IG51bGwgPyB2b2lkIDAgOiBjb250ZXh0LmFjdGl2ZSgpKTtcbiAgICB9XG4gICAgd2l0aFByb3BhZ2F0ZWRDb250ZXh0KGNhcnJpZXIsIGZuLCBnZXR0ZXIpIHtcbiAgICAgICAgY29uc3QgYWN0aXZlQ29udGV4dCA9IGNvbnRleHQuYWN0aXZlKCk7XG4gICAgICAgIGlmICh0cmFjZS5nZXRTcGFuQ29udGV4dChhY3RpdmVDb250ZXh0KSkge1xuICAgICAgICAgICAgLy8gQWN0aXZlIHNwYW4gaXMgYWxyZWFkeSBzZXQsIHRvbyBsYXRlIHRvIHByb3BhZ2F0ZS5cbiAgICAgICAgICAgIHJldHVybiBmbigpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJlbW90ZUNvbnRleHQgPSBwcm9wYWdhdGlvbi5leHRyYWN0KGFjdGl2ZUNvbnRleHQsIGNhcnJpZXIsIGdldHRlcik7XG4gICAgICAgIHJldHVybiBjb250ZXh0LndpdGgocmVtb3RlQ29udGV4dCwgZm4pO1xuICAgIH1cbiAgICB0cmFjZSguLi5hcmdzKSB7XG4gICAgICAgIHZhciBfdHJhY2VfZ2V0U3BhbkNvbnRleHQ7XG4gICAgICAgIGNvbnN0IFt0eXBlLCBmbk9yT3B0aW9ucywgZm5PckVtcHR5XSA9IGFyZ3M7XG4gICAgICAgIC8vIGNvZXJjZSBvcHRpb25zIGZvcm0gb3ZlcmxvYWRcbiAgICAgICAgY29uc3QgeyBmbiwgb3B0aW9ucyB9ID0gdHlwZW9mIGZuT3JPcHRpb25zID09PSBcImZ1bmN0aW9uXCIgPyB7XG4gICAgICAgICAgICBmbjogZm5Pck9wdGlvbnMsXG4gICAgICAgICAgICBvcHRpb25zOiB7fVxuICAgICAgICB9IDoge1xuICAgICAgICAgICAgZm46IGZuT3JFbXB0eSxcbiAgICAgICAgICAgIG9wdGlvbnM6IHtcbiAgICAgICAgICAgICAgICAuLi5mbk9yT3B0aW9uc1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgICBpZiAoIV9jb25zdGFudHMuTmV4dFZhbmlsbGFTcGFuQWxsb3dsaXN0LmluY2x1ZGVzKHR5cGUpICYmIHByb2Nlc3MuZW52Lk5FWFRfT1RFTF9WRVJCT1NFICE9PSBcIjFcIiB8fCBvcHRpb25zLmhpZGVTcGFuKSB7XG4gICAgICAgICAgICByZXR1cm4gZm4oKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBzcGFuTmFtZSA9IG9wdGlvbnMuc3Bhbk5hbWUgPz8gdHlwZTtcbiAgICAgICAgLy8gVHJ5aW5nIHRvIGdldCBhY3RpdmUgc2NvcGVkIHNwYW4gdG8gYXNzaWduIHBhcmVudC4gSWYgb3B0aW9uIHNwZWNpZmllcyBwYXJlbnQgc3BhbiBtYW51YWxseSwgd2lsbCB0cnkgdG8gdXNlIGl0LlxuICAgICAgICBsZXQgc3BhbkNvbnRleHQgPSB0aGlzLmdldFNwYW5Db250ZXh0KChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnBhcmVudFNwYW4pID8/IHRoaXMuZ2V0QWN0aXZlU2NvcGVTcGFuKCkpO1xuICAgICAgICBsZXQgaXNSb290U3BhbiA9IGZhbHNlO1xuICAgICAgICBpZiAoIXNwYW5Db250ZXh0KSB7XG4gICAgICAgICAgICBzcGFuQ29udGV4dCA9IFJPT1RfQ09OVEVYVDtcbiAgICAgICAgICAgIGlzUm9vdFNwYW4gPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKChfdHJhY2VfZ2V0U3BhbkNvbnRleHQgPSB0cmFjZS5nZXRTcGFuQ29udGV4dChzcGFuQ29udGV4dCkpID09IG51bGwgPyB2b2lkIDAgOiBfdHJhY2VfZ2V0U3BhbkNvbnRleHQuaXNSZW1vdGUpIHtcbiAgICAgICAgICAgIGlzUm9vdFNwYW4gPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNwYW5JZCA9IGdldFNwYW5JZCgpO1xuICAgICAgICBvcHRpb25zLmF0dHJpYnV0ZXMgPSB7XG4gICAgICAgICAgICBcIm5leHQuc3Bhbl9uYW1lXCI6IHNwYW5OYW1lLFxuICAgICAgICAgICAgXCJuZXh0LnNwYW5fdHlwZVwiOiB0eXBlLFxuICAgICAgICAgICAgLi4ub3B0aW9ucy5hdHRyaWJ1dGVzXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBjb250ZXh0LndpdGgoc3BhbkNvbnRleHQuc2V0VmFsdWUocm9vdFNwYW5JZEtleSwgc3BhbklkKSwgKCk9PnRoaXMuZ2V0VHJhY2VySW5zdGFuY2UoKS5zdGFydEFjdGl2ZVNwYW4oc3Bhbk5hbWUsIG9wdGlvbnMsIChzcGFuKT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IG9uQ2xlYW51cCA9ICgpPT57XG4gICAgICAgICAgICAgICAgICAgIHJvb3RTcGFuQXR0cmlidXRlc1N0b3JlLmRlbGV0ZShzcGFuSWQpO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaWYgKGlzUm9vdFNwYW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcm9vdFNwYW5BdHRyaWJ1dGVzU3RvcmUuc2V0KHNwYW5JZCwgbmV3IE1hcChPYmplY3QuZW50cmllcyhvcHRpb25zLmF0dHJpYnV0ZXMgPz8ge30pKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChmbi5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZm4oc3BhbiwgKGVycik9PmNsb3NlU3BhbldpdGhFcnJvcihzcGFuLCBlcnIpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjb25zdCByZXN1bHQgPSBmbihzcGFuKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzUHJvbWlzZShyZXN1bHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGVyZSdzIGVycm9yIG1ha2Ugc3VyZSBpdCB0aHJvd3NcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQudGhlbigocmVzKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwYW4uZW5kKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTmVlZCB0byBwYXNzIGRvd24gdGhlIHByb21pc2UgcmVzdWx0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGl0IGNvdWxkIGJlIHJlYWN0IHN0cmVhbSByZXNwb25zZSB3aXRoIGVycm9yIHsgZXJyb3IsIHN0cmVhbSB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJlcztcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pLmNhdGNoKChlcnIpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VTcGFuV2l0aEVycm9yKHNwYW4sIGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSkuZmluYWxseShvbkNsZWFudXApO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgc3Bhbi5lbmQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xlYW51cCgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGNsb3NlU3BhbldpdGhFcnJvcihzcGFuLCBlcnIpO1xuICAgICAgICAgICAgICAgICAgICBvbkNsZWFudXAoKTtcbiAgICAgICAgICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pKTtcbiAgICB9XG4gICAgd3JhcCguLi5hcmdzKSB7XG4gICAgICAgIGNvbnN0IHRyYWNlciA9IHRoaXM7XG4gICAgICAgIGNvbnN0IFtuYW1lLCBvcHRpb25zLCBmbl0gPSBhcmdzLmxlbmd0aCA9PT0gMyA/IGFyZ3MgOiBbXG4gICAgICAgICAgICBhcmdzWzBdLFxuICAgICAgICAgICAge30sXG4gICAgICAgICAgICBhcmdzWzFdXG4gICAgICAgIF07XG4gICAgICAgIGlmICghX2NvbnN0YW50cy5OZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3QuaW5jbHVkZXMobmFtZSkgJiYgcHJvY2Vzcy5lbnYuTkVYVF9PVEVMX1ZFUkJPU0UgIT09IFwiMVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZm47XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xuICAgICAgICAgICAgbGV0IG9wdGlvbnNPYmogPSBvcHRpb25zO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBvcHRpb25zT2JqID09PSBcImZ1bmN0aW9uXCIgJiYgdHlwZW9mIGZuID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICBvcHRpb25zT2JqID0gb3B0aW9uc09iai5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgbGFzdEFyZ0lkID0gYXJndW1lbnRzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBjb25zdCBjYiA9IGFyZ3VtZW50c1tsYXN0QXJnSWRdO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBjYiA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2NvcGVCb3VuZENiID0gdHJhY2VyLmdldENvbnRleHQoKS5iaW5kKGNvbnRleHQuYWN0aXZlKCksIGNiKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJhY2VyLnRyYWNlKG5hbWUsIG9wdGlvbnNPYmosIChfc3BhbiwgZG9uZSk9PntcbiAgICAgICAgICAgICAgICAgICAgYXJndW1lbnRzW2xhc3RBcmdJZF0gPSBmdW5jdGlvbihlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUgPT0gbnVsbCA/IHZvaWQgMCA6IGRvbmUoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBzY29wZUJvdW5kQ2IuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cmFjZXIudHJhY2UobmFtZSwgb3B0aW9uc09iaiwgKCk9PmZuLmFwcGx5KHRoaXMsIGFyZ3VtZW50cykpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH1cbiAgICBzdGFydFNwYW4oLi4uYXJncykge1xuICAgICAgICBjb25zdCBbdHlwZSwgb3B0aW9uc10gPSBhcmdzO1xuICAgICAgICBjb25zdCBzcGFuQ29udGV4dCA9IHRoaXMuZ2V0U3BhbkNvbnRleHQoKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMucGFyZW50U3BhbikgPz8gdGhpcy5nZXRBY3RpdmVTY29wZVNwYW4oKSk7XG4gICAgICAgIHJldHVybiB0aGlzLmdldFRyYWNlckluc3RhbmNlKCkuc3RhcnRTcGFuKHR5cGUsIG9wdGlvbnMsIHNwYW5Db250ZXh0KTtcbiAgICB9XG4gICAgZ2V0U3BhbkNvbnRleHQocGFyZW50U3Bhbikge1xuICAgICAgICBjb25zdCBzcGFuQ29udGV4dCA9IHBhcmVudFNwYW4gPyB0cmFjZS5zZXRTcGFuKGNvbnRleHQuYWN0aXZlKCksIHBhcmVudFNwYW4pIDogdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gc3BhbkNvbnRleHQ7XG4gICAgfVxuICAgIGdldFJvb3RTcGFuQXR0cmlidXRlcygpIHtcbiAgICAgICAgY29uc3Qgc3BhbklkID0gY29udGV4dC5hY3RpdmUoKS5nZXRWYWx1ZShyb290U3BhbklkS2V5KTtcbiAgICAgICAgcmV0dXJuIHJvb3RTcGFuQXR0cmlidXRlc1N0b3JlLmdldChzcGFuSWQpO1xuICAgIH1cbn1cbmNvbnN0IGdldFRyYWNlciA9ICgoKT0+e1xuICAgIGNvbnN0IHRyYWNlciA9IG5ldyBOZXh0VHJhY2VySW1wbCgpO1xuICAgIHJldHVybiAoKT0+dHJhY2VyO1xufSkoKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dHJhY2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImdldFRyYWNlciIsIlNwYW5TdGF0dXNDb2RlIiwiU3BhbktpbmQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfY29uc3RhbnRzIiwicmVxdWlyZSIsImFwaSIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1JVTlRJTUUiLCJlcnIiLCJjb250ZXh0IiwicHJvcGFnYXRpb24iLCJ0cmFjZSIsIlJPT1RfQ09OVEVYVCIsImlzUHJvbWlzZSIsInAiLCJ0aGVuIiwiY2xvc2VTcGFuV2l0aEVycm9yIiwic3BhbiIsImVycm9yIiwiYnViYmxlIiwic2V0QXR0cmlidXRlIiwicmVjb3JkRXhjZXB0aW9uIiwic2V0U3RhdHVzIiwiY29kZSIsIkVSUk9SIiwibWVzc2FnZSIsImVuZCIsInJvb3RTcGFuQXR0cmlidXRlc1N0b3JlIiwiTWFwIiwicm9vdFNwYW5JZEtleSIsImNyZWF0ZUNvbnRleHRLZXkiLCJsYXN0U3BhbklkIiwiZ2V0U3BhbklkIiwiTmV4dFRyYWNlckltcGwiLCJnZXRUcmFjZXJJbnN0YW5jZSIsImdldENvbnRleHQiLCJnZXRBY3RpdmVTY29wZVNwYW4iLCJnZXRTcGFuIiwiYWN0aXZlIiwid2l0aFByb3BhZ2F0ZWRDb250ZXh0IiwiY2FycmllciIsImZuIiwiZ2V0dGVyIiwiYWN0aXZlQ29udGV4dCIsImdldFNwYW5Db250ZXh0IiwicmVtb3RlQ29udGV4dCIsImV4dHJhY3QiLCJ3aXRoIiwiYXJncyIsIl90cmFjZV9nZXRTcGFuQ29udGV4dCIsInR5cGUiLCJmbk9yT3B0aW9ucyIsImZuT3JFbXB0eSIsIm9wdGlvbnMiLCJOZXh0VmFuaWxsYVNwYW5BbGxvd2xpc3QiLCJpbmNsdWRlcyIsIk5FWFRfT1RFTF9WRVJCT1NFIiwiaGlkZVNwYW4iLCJzcGFuTmFtZSIsInNwYW5Db250ZXh0IiwicGFyZW50U3BhbiIsImlzUm9vdFNwYW4iLCJpc1JlbW90ZSIsInNwYW5JZCIsImF0dHJpYnV0ZXMiLCJzZXRWYWx1ZSIsInN0YXJ0QWN0aXZlU3BhbiIsIm9uQ2xlYW51cCIsImRlbGV0ZSIsInNldCIsImVudHJpZXMiLCJsZW5ndGgiLCJyZXN1bHQiLCJyZXMiLCJjYXRjaCIsImZpbmFsbHkiLCJ3cmFwIiwidHJhY2VyIiwib3B0aW9uc09iaiIsImFwcGx5IiwiYXJndW1lbnRzIiwibGFzdEFyZ0lkIiwiY2IiLCJzY29wZUJvdW5kQ2IiLCJiaW5kIiwiX3NwYW4iLCJkb25lIiwic3RhcnRTcGFuIiwic2V0U3BhbiIsInVuZGVmaW5lZCIsImdldFJvb3RTcGFuQXR0cmlidXRlcyIsImdldFZhbHVlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/lib/trace/tracer.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/server/server-utils.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/server/server-utils.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeVercelUrl: function() {\n return normalizeVercelUrl;\n },\n interpolateDynamicPath: function() {\n return interpolateDynamicPath;\n },\n normalizeDynamicRouteParams: function() {\n return normalizeDynamicRouteParams;\n },\n getUtils: function() {\n return getUtils;\n }\n});\nconst _url = __webpack_require__(/*! url */ \"url\");\nconst _normalizelocalepath = __webpack_require__(/*! ../shared/lib/i18n/normalize-locale-path */ \"(rsc)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _pathmatch = __webpack_require__(/*! ../shared/lib/router/utils/path-match */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/path-match.js\");\nconst _routeregex = __webpack_require__(/*! ../shared/lib/router/utils/route-regex */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\");\nconst _routematcher = __webpack_require__(/*! ../shared/lib/router/utils/route-matcher */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\");\nconst _preparedestination = __webpack_require__(/*! ../shared/lib/router/utils/prepare-destination */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js\");\nconst _removetrailingslash = __webpack_require__(/*! ../shared/lib/router/utils/remove-trailing-slash */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _apppaths = __webpack_require__(/*! ../shared/lib/router/utils/app-paths */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\");\nconst _constants = __webpack_require__(/*! ../lib/constants */ \"(rsc)/./node_modules/next/dist/lib/constants.js\");\nfunction normalizeVercelUrl(req, trustQuery, paramKeys, pageIsDynamic, defaultRouteRegex) {\n // make sure to normalize req.url on Vercel to strip dynamic params\n // from the query which are added during routing\n if (pageIsDynamic && trustQuery && defaultRouteRegex) {\n const _parsedUrl = (0, _url.parse)(req.url, true);\n delete _parsedUrl.search;\n for (const key of Object.keys(_parsedUrl.query)){\n if (key !== _constants.NEXT_QUERY_PARAM_PREFIX && key.startsWith(_constants.NEXT_QUERY_PARAM_PREFIX) || (paramKeys || Object.keys(defaultRouteRegex.groups)).includes(key)) {\n delete _parsedUrl.query[key];\n }\n }\n req.url = (0, _url.format)(_parsedUrl);\n }\n}\nfunction interpolateDynamicPath(pathname, params, defaultRouteRegex) {\n if (!defaultRouteRegex) return pathname;\n for (const param of Object.keys(defaultRouteRegex.groups)){\n const { optional, repeat } = defaultRouteRegex.groups[param];\n let builtParam = `[${repeat ? \"...\" : \"\"}${param}]`;\n if (optional) {\n builtParam = `[${builtParam}]`;\n }\n const paramIdx = pathname.indexOf(builtParam);\n if (paramIdx > -1) {\n let paramValue;\n const value = params[param];\n if (Array.isArray(value)) {\n paramValue = value.map((v)=>v && encodeURIComponent(v)).join(\"/\");\n } else if (value) {\n paramValue = encodeURIComponent(value);\n } else {\n paramValue = \"\";\n }\n pathname = pathname.slice(0, paramIdx) + paramValue + pathname.slice(paramIdx + builtParam.length);\n }\n }\n return pathname;\n}\nfunction normalizeDynamicRouteParams(params, ignoreOptional, defaultRouteRegex, defaultRouteMatches) {\n let hasValidParams = true;\n if (!defaultRouteRegex) return {\n params,\n hasValidParams: false\n };\n params = Object.keys(defaultRouteRegex.groups).reduce((prev, key)=>{\n let value = params[key];\n if (typeof value === \"string\") {\n value = (0, _apppaths.normalizeRscURL)(value);\n }\n if (Array.isArray(value)) {\n value = value.map((val)=>{\n if (typeof val === \"string\") {\n val = (0, _apppaths.normalizeRscURL)(val);\n }\n return val;\n });\n }\n // if the value matches the default value we can't rely\n // on the parsed params, this is used to signal if we need\n // to parse x-now-route-matches or not\n const defaultValue = defaultRouteMatches[key];\n const isOptional = defaultRouteRegex.groups[key].optional;\n const isDefaultValue = Array.isArray(defaultValue) ? defaultValue.some((defaultVal)=>{\n return Array.isArray(value) ? value.some((val)=>val.includes(defaultVal)) : value == null ? void 0 : value.includes(defaultVal);\n }) : value == null ? void 0 : value.includes(defaultValue);\n if (isDefaultValue || typeof value === \"undefined\" && !(isOptional && ignoreOptional)) {\n hasValidParams = false;\n }\n // non-provided optional values should be undefined so normalize\n // them to undefined\n if (isOptional && (!value || Array.isArray(value) && value.length === 1 && // fallback optional catch-all SSG pages have\n // [[...paramName]] for the root path on Vercel\n (value[0] === \"index\" || value[0] === `[[...${key}]]`))) {\n value = undefined;\n delete params[key];\n }\n // query values from the proxy aren't already split into arrays\n // so make sure to normalize catch-all values\n if (value && typeof value === \"string\" && defaultRouteRegex.groups[key].repeat) {\n value = value.split(\"/\");\n }\n if (value) {\n prev[key] = value;\n }\n return prev;\n }, {});\n return {\n params,\n hasValidParams\n };\n}\nfunction getUtils({ page, i18n, basePath, rewrites, pageIsDynamic, trailingSlash, caseSensitive }) {\n let defaultRouteRegex;\n let dynamicRouteMatcher;\n let defaultRouteMatches;\n if (pageIsDynamic) {\n defaultRouteRegex = (0, _routeregex.getNamedRouteRegex)(page, false);\n dynamicRouteMatcher = (0, _routematcher.getRouteMatcher)(defaultRouteRegex);\n defaultRouteMatches = dynamicRouteMatcher(page);\n }\n function handleRewrites(req, parsedUrl) {\n const rewriteParams = {};\n let fsPathname = parsedUrl.pathname;\n const matchesPage = ()=>{\n const fsPathnameNoSlash = (0, _removetrailingslash.removeTrailingSlash)(fsPathname || \"\");\n return fsPathnameNoSlash === (0, _removetrailingslash.removeTrailingSlash)(page) || (dynamicRouteMatcher == null ? void 0 : dynamicRouteMatcher(fsPathnameNoSlash));\n };\n const checkRewrite = (rewrite)=>{\n const matcher = (0, _pathmatch.getPathMatch)(rewrite.source + (trailingSlash ? \"(/)?\" : \"\"), {\n removeUnnamedParams: true,\n strict: true,\n sensitive: !!caseSensitive\n });\n let params = matcher(parsedUrl.pathname);\n if ((rewrite.has || rewrite.missing) && params) {\n const hasParams = (0, _preparedestination.matchHas)(req, parsedUrl.query, rewrite.has, rewrite.missing);\n if (hasParams) {\n Object.assign(params, hasParams);\n } else {\n params = false;\n }\n }\n if (params) {\n const { parsedDestination, destQuery } = (0, _preparedestination.prepareDestination)({\n appendParamsToQuery: true,\n destination: rewrite.destination,\n params: params,\n query: parsedUrl.query\n });\n // if the rewrite destination is external break rewrite chain\n if (parsedDestination.protocol) {\n return true;\n }\n Object.assign(rewriteParams, destQuery, params);\n Object.assign(parsedUrl.query, parsedDestination.query);\n delete parsedDestination.query;\n Object.assign(parsedUrl, parsedDestination);\n fsPathname = parsedUrl.pathname;\n if (basePath) {\n fsPathname = fsPathname.replace(new RegExp(`^${basePath}`), \"\") || \"/\";\n }\n if (i18n) {\n const destLocalePathResult = (0, _normalizelocalepath.normalizeLocalePath)(fsPathname, i18n.locales);\n fsPathname = destLocalePathResult.pathname;\n parsedUrl.query.nextInternalLocale = destLocalePathResult.detectedLocale || params.nextInternalLocale;\n }\n if (fsPathname === page) {\n return true;\n }\n if (pageIsDynamic && dynamicRouteMatcher) {\n const dynamicParams = dynamicRouteMatcher(fsPathname);\n if (dynamicParams) {\n parsedUrl.query = {\n ...parsedUrl.query,\n ...dynamicParams\n };\n return true;\n }\n }\n }\n return false;\n };\n for (const rewrite of rewrites.beforeFiles || []){\n checkRewrite(rewrite);\n }\n if (fsPathname !== page) {\n let finished = false;\n for (const rewrite of rewrites.afterFiles || []){\n finished = checkRewrite(rewrite);\n if (finished) break;\n }\n if (!finished && !matchesPage()) {\n for (const rewrite of rewrites.fallback || []){\n finished = checkRewrite(rewrite);\n if (finished) break;\n }\n }\n }\n return rewriteParams;\n }\n function getParamsFromRouteMatches(req, renderOpts, detectedLocale) {\n return (0, _routematcher.getRouteMatcher)(function() {\n const { groups, routeKeys } = defaultRouteRegex;\n return {\n re: {\n // Simulate a RegExp match from the \\`req.url\\` input\n exec: (str)=>{\n const obj = Object.fromEntries(new URLSearchParams(str));\n const matchesHasLocale = i18n && detectedLocale && obj[\"1\"] === detectedLocale;\n for (const key of Object.keys(obj)){\n const value = obj[key];\n if (key !== _constants.NEXT_QUERY_PARAM_PREFIX && key.startsWith(_constants.NEXT_QUERY_PARAM_PREFIX)) {\n const normalizedKey = key.substring(_constants.NEXT_QUERY_PARAM_PREFIX.length);\n obj[normalizedKey] = value;\n delete obj[key];\n }\n }\n // favor named matches if available\n const routeKeyNames = Object.keys(routeKeys || {});\n const filterLocaleItem = (val)=>{\n if (i18n) {\n // locale items can be included in route-matches\n // for fallback SSG pages so ensure they are\n // filtered\n const isCatchAll = Array.isArray(val);\n const _val = isCatchAll ? val[0] : val;\n if (typeof _val === \"string\" && i18n.locales.some((item)=>{\n if (item.toLowerCase() === _val.toLowerCase()) {\n detectedLocale = item;\n renderOpts.locale = detectedLocale;\n return true;\n }\n return false;\n })) {\n // remove the locale item from the match\n if (isCatchAll) {\n val.splice(0, 1);\n }\n // the value is only a locale item and\n // shouldn't be added\n return isCatchAll ? val.length === 0 : true;\n }\n }\n return false;\n };\n if (routeKeyNames.every((name)=>obj[name])) {\n return routeKeyNames.reduce((prev, keyName)=>{\n const paramName = routeKeys == null ? void 0 : routeKeys[keyName];\n if (paramName && !filterLocaleItem(obj[keyName])) {\n prev[groups[paramName].pos] = obj[keyName];\n }\n return prev;\n }, {});\n }\n return Object.keys(obj).reduce((prev, key)=>{\n if (!filterLocaleItem(obj[key])) {\n let normalizedKey = key;\n if (matchesHasLocale) {\n normalizedKey = parseInt(key, 10) - 1 + \"\";\n }\n return Object.assign(prev, {\n [normalizedKey]: obj[key]\n });\n }\n return prev;\n }, {});\n }\n },\n groups\n };\n }())(req.headers[\"x-now-route-matches\"]);\n }\n return {\n handleRewrites,\n defaultRouteRegex,\n dynamicRouteMatcher,\n defaultRouteMatches,\n getParamsFromRouteMatches,\n normalizeDynamicRouteParams: (params, ignoreOptional)=>normalizeDynamicRouteParams(params, ignoreOptional, defaultRouteRegex, defaultRouteMatches),\n normalizeVercelUrl: (req, trustQuery, paramKeys)=>normalizeVercelUrl(req, trustQuery, paramKeys, pageIsDynamic, defaultRouteRegex),\n interpolateDynamicPath: (pathname, params)=>interpolateDynamicPath(pathname, params, defaultRouteRegex)\n };\n} //# sourceMappingURL=server-utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci9zZXJ2ZXItdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxPQUFPQyxtQkFBT0EsQ0FBQyxnQkFBSztBQUMxQixNQUFNQyx1QkFBdUJELG1CQUFPQSxDQUFDLHlIQUEwQztBQUMvRSxNQUFNRSxhQUFhRixtQkFBT0EsQ0FBQyxtSEFBdUM7QUFDbEUsTUFBTUcsY0FBY0gsbUJBQU9BLENBQUMscUhBQXdDO0FBQ3BFLE1BQU1JLGdCQUFnQkosbUJBQU9BLENBQUMseUhBQTBDO0FBQ3hFLE1BQU1LLHNCQUFzQkwsbUJBQU9BLENBQUMscUlBQWdEO0FBQ3BGLE1BQU1NLHVCQUF1Qk4sbUJBQU9BLENBQUMseUlBQWtEO0FBQ3ZGLE1BQU1PLFlBQVlQLG1CQUFPQSxDQUFDLGlIQUFzQztBQUNoRSxNQUFNUSxhQUFhUixtQkFBT0EsQ0FBQyx5RUFBa0I7QUFDN0MsU0FBU1gsbUJBQW1Cb0IsR0FBRyxFQUFFQyxVQUFVLEVBQUVDLFNBQVMsRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUI7SUFDcEYsbUVBQW1FO0lBQ25FLGdEQUFnRDtJQUNoRCxJQUFJRCxpQkFBaUJGLGNBQWNHLG1C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cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3NlcnZlci11dGlscy5qcz84OTExIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbm9ybWFsaXplVmVyY2VsVXJsOiBudWxsLFxuICAgIGludGVycG9sYXRlRHluYW1pY1BhdGg6IG51bGwsXG4gICAgbm9ybWFsaXplRHluYW1pY1JvdXRlUGFyYW1zOiBudWxsLFxuICAgIGdldFV0aWxzOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIG5vcm1hbGl6ZVZlcmNlbFVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVWZXJjZWxVcmw7XG4gICAgfSxcbiAgICBpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGludGVycG9sYXRlRHluYW1pY1BhdGg7XG4gICAgfSxcbiAgICBub3JtYWxpemVEeW5hbWljUm91dGVQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbm9ybWFsaXplRHluYW1pY1JvdXRlUGFyYW1zO1xuICAgIH0sXG4gICAgZ2V0VXRpbHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VXRpbHM7XG4gICAgfVxufSk7XG5jb25zdCBfdXJsID0gcmVxdWlyZShcInVybFwiKTtcbmNvbnN0IF9ub3JtYWxpemVsb2NhbGVwYXRoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGhcIik7XG5jb25zdCBfcGF0aG1hdGNoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtbWF0Y2hcIik7XG5jb25zdCBfcm91dGVyZWdleCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleFwiKTtcbmNvbnN0IF9yb3V0ZW1hdGNoZXIgPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlclwiKTtcbmNvbnN0IF9wcmVwYXJlZGVzdGluYXRpb24gPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcHJlcGFyZS1kZXN0aW5hdGlvblwiKTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IF9hcHBwYXRocyA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hcHAtcGF0aHNcIik7XG5jb25zdCBfY29uc3RhbnRzID0gcmVxdWlyZShcIi4uL2xpYi9jb25zdGFudHNcIik7XG5mdW5jdGlvbiBub3JtYWxpemVWZXJjZWxVcmwocmVxLCB0cnVzdFF1ZXJ5LCBwYXJhbUtleXMsIHBhZ2VJc0R5bmFtaWMsIGRlZmF1bHRSb3V0ZVJlZ2V4KSB7XG4gICAgLy8gbWFrZSBzdXJlIHRvIG5vcm1hbGl6ZSByZXEudXJsIG9uIFZlcmNlbCB0byBzdHJpcCBkeW5hbWljIHBhcmFtc1xuICAgIC8vIGZyb20gdGhlIHF1ZXJ5IHdoaWNoIGFyZSBhZGRlZCBkdXJpbmcgcm91dGluZ1xuICAgIGlmIChwYWdlSXNEeW5hbWljICYmIHRydXN0UXVlcnkgJiYgZGVmYXVsdFJvdXRlUmVnZXgpIHtcbiAgICAgICAgY29uc3QgX3BhcnNlZFVybCA9ICgwLCBfdXJsLnBhcnNlKShyZXEudXJsLCB0cnVlKTtcbiAgICAgICAgZGVsZXRlIF9wYXJzZWRVcmwuc2VhcmNoO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhfcGFyc2VkVXJsLnF1ZXJ5KSl7XG4gICAgICAgICAgICBpZiAoa2V5ICE9PSBfY29uc3RhbnRzLk5FWFRfUVVFUllfUEFSQU1fUFJFRklYICYmIGtleS5zdGFydHNXaXRoKF9jb25zdGFudHMuTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgpIHx8IChwYXJhbUtleXMgfHwgT2JqZWN0LmtleXMoZGVmYXVsdFJvdXRlUmVnZXguZ3JvdXBzKSkuaW5jbHVkZXMoa2V5KSkge1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBfcGFyc2VkVXJsLnF1ZXJ5W2tleV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmVxLnVybCA9ICgwLCBfdXJsLmZvcm1hdCkoX3BhcnNlZFVybCk7XG4gICAgfVxufVxuZnVuY3Rpb24gaW50ZXJwb2xhdGVEeW5hbWljUGF0aChwYXRobmFtZSwgcGFyYW1zLCBkZWZhdWx0Um91dGVSZWdleCkge1xuICAgIGlmICghZGVmYXVsdFJvdXRlUmVnZXgpIHJldHVybiBwYXRobmFtZTtcbiAgICBmb3IgKGNvbnN0IHBhcmFtIG9mIE9iamVjdC5rZXlzKGRlZmF1bHRSb3V0ZVJlZ2V4Lmdyb3Vwcykpe1xuICAgICAgICBjb25zdCB7IG9wdGlvbmFsLCByZXBlYXQgfSA9IGRlZmF1bHRSb3V0ZVJlZ2V4Lmdyb3Vwc1twYXJhbV07XG4gICAgICAgIGxldCBidWlsdFBhcmFtID0gYFske3JlcGVhdCA/IFwiLi4uXCIgOiBcIlwifSR7cGFyYW19XWA7XG4gICAgICAgIGlmIChvcHRpb25hbCkge1xuICAgICAgICAgICAgYnVpbHRQYXJhbSA9IGBbJHtidWlsdFBhcmFtfV1gO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHBhcmFtSWR4ID0gcGF0aG5hbWUuaW5kZXhPZihidWlsdFBhcmFtKTtcbiAgICAgICAgaWYgKHBhcmFtSWR4ID4gLTEpIHtcbiAgICAgICAgICAgIGxldCBwYXJhbVZhbHVlO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBwYXJhbXNbcGFyYW1dO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1WYWx1ZSA9IHZhbHVlLm1hcCgodik9PnYgJiYgZW5jb2RlVVJJQ29tcG9uZW50KHYpKS5qb2luKFwiL1wiKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBwYXJhbVZhbHVlID0gZW5jb2RlVVJJQ29tcG9uZW50KHZhbHVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFyYW1WYWx1ZSA9IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lLnNsaWNlKDAsIHBhcmFtSWR4KSArIHBhcmFtVmFsdWUgKyBwYXRobmFtZS5zbGljZShwYXJhbUlkeCArIGJ1aWx0UGFyYW0ubGVuZ3RoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcGF0aG5hbWU7XG59XG5mdW5jdGlvbiBub3JtYWxpemVEeW5hbWljUm91dGVQYXJhbXMocGFyYW1zLCBpZ25vcmVPcHRpb25hbCwgZGVmYXVsdFJvdXRlUmVnZXgsIGRlZmF1bHRSb3V0ZU1hdGNoZXMpIHtcbiAgICBsZXQgaGFzVmFsaWRQYXJhbXMgPSB0cnVlO1xuICAgIGlmICghZGVmYXVsdFJvdXRlUmVnZXgpIHJldHVybiB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGFzVmFsaWRQYXJhbXM6IGZhbHNlXG4gICAgfTtcbiAgICBwYXJhbXMgPSBPYmplY3Qua2V5cyhkZWZhdWx0Um91dGVSZWdleC5ncm91cHMpLnJlZHVjZSgocHJldiwga2V5KT0+e1xuICAgICAgICBsZXQgdmFsdWUgPSBwYXJhbXNba2V5XTtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgdmFsdWUgPSAoMCwgX2FwcHBhdGhzLm5vcm1hbGl6ZVJzY1VSTCkodmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5tYXAoKHZhbCk9PntcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgICAgICAgICB2YWwgPSAoMCwgX2FwcHBhdGhzLm5vcm1hbGl6ZVJzY1VSTCkodmFsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHZhbDtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIC8vIGlmIHRoZSB2YWx1ZSBtYXRjaGVzIHRoZSBkZWZhdWx0IHZhbHVlIHdlIGNhbid0IHJlbHlcbiAgICAgICAgLy8gb24gdGhlIHBhcnNlZCBwYXJhbXMsIHRoaXMgaXMgdXNlZCB0byBzaWduYWwgaWYgd2UgbmVlZFxuICAgICAgICAvLyB0byBwYXJzZSB4LW5vdy1yb3V0ZS1tYXRjaGVzIG9yIG5vdFxuICAgICAgICBjb25zdCBkZWZhdWx0VmFsdWUgPSBkZWZhdWx0Um91dGVNYXRjaGVzW2tleV07XG4gICAgICAgIGNvbnN0IGlzT3B0aW9uYWwgPSBkZWZhdWx0Um91dGVSZWdleC5ncm91cHNba2V5XS5vcHRpb25hbDtcbiAgICAgICAgY29uc3QgaXNEZWZhdWx0VmFsdWUgPSBBcnJheS5pc0FycmF5KGRlZmF1bHRWYWx1ZSkgPyBkZWZhdWx0VmFsdWUuc29tZSgoZGVmYXVsdFZhbCk9PntcbiAgICAgICAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlLnNvbWUoKHZhbCk9PnZhbC5pbmNsdWRlcyhkZWZhdWx0VmFsKSkgOiB2YWx1ZSA9PSBudWxsID8gdm9pZCAwIDogdmFsdWUuaW5jbHVkZXMoZGVmYXVsdFZhbCk7XG4gICAgICAgIH0pIDogdmFsdWUgPT0gbnVsbCA/IHZvaWQgMCA6IHZhbHVlLmluY2x1ZGVzKGRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIGlmIChpc0RlZmF1bHRWYWx1ZSB8fCB0eXBlb2YgdmFsdWUgPT09IFwidW5kZWZpbmVkXCIgJiYgIShpc09wdGlvbmFsICYmIGlnbm9yZU9wdGlvbmFsKSkge1xuICAgICAgICAgICAgaGFzVmFsaWRQYXJhbXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBub24tcHJvdmlkZWQgb3B0aW9uYWwgdmFsdWVzIHNob3VsZCBiZSB1bmRlZmluZWQgc28gbm9ybWFsaXplXG4gICAgICAgIC8vIHRoZW0gdG8gdW5kZWZpbmVkXG4gICAgICAgIGlmIChpc09wdGlvbmFsICYmICghdmFsdWUgfHwgQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgdmFsdWUubGVuZ3RoID09PSAxICYmIC8vIGZhbGxiYWNrIG9wdGlvbmFsIGNhdGNoLWFsbCBTU0cgcGFnZXMgaGF2ZVxuICAgICAgICAvLyBbWy4uLnBhcmFtTmFtZV1dIGZvciB0aGUgcm9vdCBwYXRoIG9uIFZlcmNlbFxuICAgICAgICAodmFsdWVbMF0gPT09IFwiaW5kZXhcIiB8fCB2YWx1ZVswXSA9PT0gYFtbLi4uJHtrZXl9XV1gKSkpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgZGVsZXRlIHBhcmFtc1trZXldO1xuICAgICAgICB9XG4gICAgICAgIC8vIHF1ZXJ5IHZhbHVlcyBmcm9tIHRoZSBwcm94eSBhcmVuJ3QgYWxyZWFkeSBzcGxpdCBpbnRvIGFycmF5c1xuICAgICAgICAvLyBzbyBtYWtlIHN1cmUgdG8gbm9ybWFsaXplIGNhdGNoLWFsbCB2YWx1ZXNcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiAmJiBkZWZhdWx0Um91dGVSZWdleC5ncm91cHNba2V5XS5yZXBlYXQpIHtcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuc3BsaXQoXCIvXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgcHJldltrZXldID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgfSwge30pO1xuICAgIHJldHVybiB7XG4gICAgICAgIHBhcmFtcyxcbiAgICAgICAgaGFzVmFsaWRQYXJhbXNcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0VXRpbHMoeyBwYWdlLCBpMThuLCBiYXNlUGF0aCwgcmV3cml0ZXMsIHBhZ2VJc0R5bmFtaWMsIHRyYWlsaW5nU2xhc2gsIGNhc2VTZW5zaXRpdmUgfSkge1xuICAgIGxldCBkZWZhdWx0Um91dGVSZWdleDtcbiAgICBsZXQgZHluYW1pY1JvdXRlTWF0Y2hlcjtcbiAgICBsZXQgZGVmYXVsdFJvdXRlTWF0Y2hlcztcbiAgICBpZiAocGFnZUlzRHluYW1pYykge1xuICAgICAgICBkZWZhdWx0Um91dGVSZWdleCA9ICgwLCBfcm91dGVyZWdleC5nZXROYW1lZFJvdXRlUmVnZXgpKHBhZ2UsIGZhbHNlKTtcbiAgICAgICAgZHluYW1pY1JvdXRlTWF0Y2hlciA9ICgwLCBfcm91dGVtYXRjaGVyLmdldFJvdXRlTWF0Y2hlcikoZGVmYXVsdFJvdXRlUmVnZXgpO1xuICAgICAgICBkZWZhdWx0Um91dGVNYXRjaGVzID0gZHluYW1pY1JvdXRlTWF0Y2hlcihwYWdlKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaGFuZGxlUmV3cml0ZXMocmVxLCBwYXJzZWRVcmwpIHtcbiAgICAgICAgY29uc3QgcmV3cml0ZVBhcmFtcyA9IHt9O1xuICAgICAgICBsZXQgZnNQYXRobmFtZSA9IHBhcnNlZFVybC5wYXRobmFtZTtcbiAgICAgICAgY29uc3QgbWF0Y2hlc1BhZ2UgPSAoKT0+e1xuICAgICAgICAgICAgY29uc3QgZnNQYXRobmFtZU5vU2xhc2ggPSAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkoZnNQYXRobmFtZSB8fCBcIlwiKTtcbiAgICAgICAgICAgIHJldHVybiBmc1BhdGhuYW1lTm9TbGFzaCA9PT0gKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHBhZ2UpIHx8IChkeW5hbWljUm91dGVNYXRjaGVyID09IG51bGwgPyB2b2lkIDAgOiBkeW5hbWljUm91dGVNYXRjaGVyKGZzUGF0aG5hbWVOb1NsYXNoKSk7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGNoZWNrUmV3cml0ZSA9IChyZXdyaXRlKT0+e1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlciA9ICgwLCBfcGF0aG1hdGNoLmdldFBhdGhNYXRjaCkocmV3cml0ZS5zb3VyY2UgKyAodHJhaWxpbmdTbGFzaCA/IFwiKC8pP1wiIDogXCJcIiksIHtcbiAgICAgICAgICAgICAgICByZW1vdmVVbm5hbWVkUGFyYW1zOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0cmljdDogdHJ1ZSxcbiAgICAgICAgICAgICAgICBzZW5zaXRpdmU6ICEhY2FzZVNlbnNpdGl2ZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBsZXQgcGFyYW1zID0gbWF0Y2hlcihwYXJzZWRVcmwucGF0aG5hbWUpO1xuICAgICAgICAgICAgaWYgKChyZXdyaXRlLmhhcyB8fCByZXdyaXRlLm1pc3NpbmcpICYmIHBhcmFtcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IGhhc1BhcmFtcyA9ICgwLCBfcHJlcGFyZWRlc3RpbmF0aW9uLm1hdGNoSGFzKShyZXEsIHBhcnNlZFVybC5xdWVyeSwgcmV3cml0ZS5oYXMsIHJld3JpdGUubWlzc2luZyk7XG4gICAgICAgICAgICAgICAgaWYgKGhhc1BhcmFtcykge1xuICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKHBhcmFtcywgaGFzUGFyYW1zKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJhbXMgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBwYXJzZWREZXN0aW5hdGlvbiwgZGVzdFF1ZXJ5IH0gPSAoMCwgX3ByZXBhcmVkZXN0aW5hdGlvbi5wcmVwYXJlRGVzdGluYXRpb24pKHtcbiAgICAgICAgICAgICAgICAgICAgYXBwZW5kUGFyYW1zVG9RdWVyeTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZGVzdGluYXRpb246IHJld3JpdGUuZGVzdGluYXRpb24sXG4gICAgICAgICAgICAgICAgICAgIHBhcmFtczogcGFyYW1zLFxuICAgICAgICAgICAgICAgICAgICBxdWVyeTogcGFyc2VkVXJsLnF1ZXJ5XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgLy8gaWYgdGhlIHJld3JpdGUgZGVzdGluYXRpb24gaXMgZXh0ZXJuYWwgYnJlYWsgcmV3cml0ZSBjaGFpblxuICAgICAgICAgICAgICAgIGlmIChwYXJzZWREZXN0aW5hdGlvbi5wcm90b2NvbCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihyZXdyaXRlUGFyYW1zLCBkZXN0UXVlcnksIHBhcmFtcyk7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJzZWRVcmwucXVlcnksIHBhcnNlZERlc3RpbmF0aW9uLnF1ZXJ5KTtcbiAgICAgICAgICAgICAgICBkZWxldGUgcGFyc2VkRGVzdGluYXRpb24ucXVlcnk7XG4gICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihwYXJzZWRVcmwsIHBhcnNlZERlc3RpbmF0aW9uKTtcbiAgICAgICAgICAgICAgICBmc1BhdGhuYW1lID0gcGFyc2VkVXJsLnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgIGlmIChiYXNlUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBmc1BhdGhuYW1lID0gZnNQYXRobmFtZS5yZXBsYWNlKG5ldyBSZWdFeHAoYF4ke2Jhc2VQYXRofWApLCBcIlwiKSB8fCBcIi9cIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGkxOG4pIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVzdExvY2FsZVBhdGhSZXN1bHQgPSAoMCwgX25vcm1hbGl6ZWxvY2FsZXBhdGgubm9ybWFsaXplTG9jYWxlUGF0aCkoZnNQYXRobmFtZSwgaTE4bi5sb2NhbGVzKTtcbiAgICAgICAgICAgICAgICAgICAgZnNQYXRobmFtZSA9IGRlc3RMb2NhbGVQYXRoUmVzdWx0LnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICAgICBwYXJzZWRVcmwucXVlcnkubmV4dEludGVybmFsTG9jYWxlID0gZGVzdExvY2FsZVBhdGhSZXN1bHQuZGV0ZWN0ZWRMb2NhbGUgfHwgcGFyYW1zLm5leHRJbnRlcm5hbExvY2FsZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGZzUGF0aG5hbWUgPT09IHBhZ2UpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwYWdlSXNEeW5hbWljICYmIGR5bmFtaWNSb3V0ZU1hdGNoZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZHluYW1pY1BhcmFtcyA9IGR5bmFtaWNSb3V0ZU1hdGNoZXIoZnNQYXRobmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkeW5hbWljUGFyYW1zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJzZWRVcmwucXVlcnkgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucGFyc2VkVXJsLnF1ZXJ5LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLmR5bmFtaWNQYXJhbXNcbiAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfTtcbiAgICAgICAgZm9yIChjb25zdCByZXdyaXRlIG9mIHJld3JpdGVzLmJlZm9yZUZpbGVzIHx8IFtdKXtcbiAgICAgICAgICAgIGNoZWNrUmV3cml0ZShyZXdyaXRlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZnNQYXRobmFtZSAhPT0gcGFnZSkge1xuICAgICAgICAgICAgbGV0IGZpbmlzaGVkID0gZmFsc2U7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHJld3JpdGUgb2YgcmV3cml0ZXMuYWZ0ZXJGaWxlcyB8fCBbXSl7XG4gICAgICAgICAgICAgICAgZmluaXNoZWQgPSBjaGVja1Jld3JpdGUocmV3cml0ZSk7XG4gICAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkKSBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICghZmluaXNoZWQgJiYgIW1hdGNoZXNQYWdlKCkpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHJld3JpdGUgb2YgcmV3cml0ZXMuZmFsbGJhY2sgfHwgW10pe1xuICAgICAgICAgICAgICAgICAgICBmaW5pc2hlZCA9IGNoZWNrUmV3cml0ZShyZXdyaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGZpbmlzaGVkKSBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJld3JpdGVQYXJhbXM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGdldFBhcmFtc0Zyb21Sb3V0ZU1hdGNoZXMocmVxLCByZW5kZXJPcHRzLCBkZXRlY3RlZExvY2FsZSkge1xuICAgICAgICByZXR1cm4gKDAsIF9yb3V0ZW1hdGNoZXIuZ2V0Um91dGVNYXRjaGVyKShmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZ3JvdXBzLCByb3V0ZUtleXMgfSA9IGRlZmF1bHRSb3V0ZVJlZ2V4O1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICByZToge1xuICAgICAgICAgICAgICAgICAgICAvLyBTaW11bGF0ZSBhIFJlZ0V4cCBtYXRjaCBmcm9tIHRoZSBcXGByZXEudXJsXFxgIGlucHV0XG4gICAgICAgICAgICAgICAgICAgIGV4ZWM6IChzdHIpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBvYmogPSBPYmplY3QuZnJvbUVudHJpZXMobmV3IFVSTFNlYXJjaFBhcmFtcyhzdHIpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG1hdGNoZXNIYXNMb2NhbGUgPSBpMThuICYmIGRldGVjdGVkTG9jYWxlICYmIG9ialtcIjFcIl0gPT09IGRldGVjdGVkTG9jYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqKSl7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBvYmpba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoa2V5ICE9PSBfY29uc3RhbnRzLk5FWFRfUVVFUllfUEFSQU1fUFJFRklYICYmIGtleS5zdGFydHNXaXRoKF9jb25zdGFudHMuTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5vcm1hbGl6ZWRLZXkgPSBrZXkuc3Vic3RyaW5nKF9jb25zdGFudHMuTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2JqW25vcm1hbGl6ZWRLZXldID0gdmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBmYXZvciBuYW1lZCBtYXRjaGVzIGlmIGF2YWlsYWJsZVxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgcm91dGVLZXlOYW1lcyA9IE9iamVjdC5rZXlzKHJvdXRlS2V5cyB8fCB7fSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmaWx0ZXJMb2NhbGVJdGVtID0gKHZhbCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaTE4bikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBsb2NhbGUgaXRlbXMgY2FuIGJlIGluY2x1ZGVkIGluIHJvdXRlLW1hdGNoZXNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIGZhbGxiYWNrIFNTRyBwYWdlcyBzbyBlbnN1cmUgdGhleSBhcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZmlsdGVyZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNDYXRjaEFsbCA9IEFycmF5LmlzQXJyYXkodmFsKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgX3ZhbCA9IGlzQ2F0Y2hBbGwgPyB2YWxbMF0gOiB2YWw7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgX3ZhbCA9PT0gXCJzdHJpbmdcIiAmJiBpMThuLmxvY2FsZXMuc29tZSgoaXRlbSk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpdGVtLnRvTG93ZXJDYXNlKCkgPT09IF92YWwudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldGVjdGVkTG9jYWxlID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW5kZXJPcHRzLmxvY2FsZSA9IGRldGVjdGVkTG9jYWxlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHRoZSBsb2NhbGUgaXRlbSBmcm9tIHRoZSBtYXRjaFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzQ2F0Y2hBbGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWwuc3BsaWNlKDAsIDEpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIHZhbHVlIGlzIG9ubHkgYSBsb2NhbGUgaXRlbSBhbmRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNob3VsZG4ndCBiZSBhZGRlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGlzQ2F0Y2hBbGwgPyB2YWwubGVuZ3RoID09PSAwIDogdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJvdXRlS2V5TmFtZXMuZXZlcnkoKG5hbWUpPT5vYmpbbmFtZV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJvdXRlS2V5TmFtZXMucmVkdWNlKChwcmV2LCBrZXlOYW1lKT0+e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSByb3V0ZUtleXMgPT0gbnVsbCA/IHZvaWQgMCA6IHJvdXRlS2V5c1trZXlOYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtTmFtZSAmJiAhZmlsdGVyTG9jYWxlSXRlbShvYmpba2V5TmFtZV0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2W2dyb3Vwc1twYXJhbU5hbWVdLnBvc10gPSBvYmpba2V5TmFtZV07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwge30pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5rZXlzKG9iaikucmVkdWNlKChwcmV2LCBrZXkpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFmaWx0ZXJMb2NhbGVJdGVtKG9ialtrZXldKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbm9ybWFsaXplZEtleSA9IGtleTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoZXNIYXNMb2NhbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vcm1hbGl6ZWRLZXkgPSBwYXJzZUludChrZXksIDEwKSAtIDEgKyBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKHByZXYsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3JtYWxpemVkS2V5XTogb2JqW2tleV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBwcmV2O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSwge30pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBncm91cHNcbiAgICAgICAgICAgIH07XG4gICAgICAgIH0oKSkocmVxLmhlYWRlcnNbXCJ4LW5vdy1yb3V0ZS1tYXRjaGVzXCJdKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaGFuZGxlUmV3cml0ZXMsXG4gICAgICAgIGRlZmF1bHRSb3V0ZVJlZ2V4LFxuICAgICAgICBkeW5hbWljUm91dGVNYXRjaGVyLFxuICAgICAgICBkZWZhdWx0Um91dGVNYXRjaGVzLFxuICAgICAgICBnZXRQYXJhbXNGcm9tUm91dGVNYXRjaGVzLFxuICAgICAgICBub3JtYWxpemVEeW5hbWljUm91dGVQYXJhbXM6IChwYXJhbXMsIGlnbm9yZU9wdGlvbmFsKT0+bm9ybWFsaXplRHluYW1pY1JvdXRlUGFyYW1zKHBhcmFtcywgaWdub3JlT3B0aW9uYWwsIGRlZmF1bHRSb3V0ZVJlZ2V4LCBkZWZhdWx0Um91dGVNYXRjaGVzKSxcbiAgICAgICAgbm9ybWFsaXplVmVyY2VsVXJsOiAocmVxLCB0cnVzdFF1ZXJ5LCBwYXJhbUtleXMpPT5ub3JtYWxpemVWZXJjZWxVcmwocmVxLCB0cnVzdFF1ZXJ5LCBwYXJhbUtleXMsIHBhZ2VJc0R5bmFtaWMsIGRlZmF1bHRSb3V0ZVJlZ2V4KSxcbiAgICAgICAgaW50ZXJwb2xhdGVEeW5hbWljUGF0aDogKHBhdGhuYW1lLCBwYXJhbXMpPT5pbnRlcnBvbGF0ZUR5bmFtaWNQYXRoKHBhdGhuYW1lLCBwYXJhbXMsIGRlZmF1bHRSb3V0ZVJlZ2V4KVxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXNlcnZlci11dGlscy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJub3JtYWxpemVWZXJjZWxVcmwiLCJpbnRlcnBvbGF0ZUR5bmFtaWNQYXRoIiwibm9ybWFsaXplRHluYW1pY1JvdXRlUGFyYW1zIiwiZ2V0VXRpbHMiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfdXJsIiwicmVxdWlyZSIsIl9ub3JtYWxpemVsb2NhbGVwYXRoIiwiX3BhdGhtYXRjaCIsIl9yb3V0ZXJlZ2V4IiwiX3JvdXRlbWF0Y2hlciIsIl9wcmVwYXJlZGVzdGluYXRpb24iLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsIl9hcHBwYXRocyIsIl9jb25zdGFudHMiLCJyZXEiLCJ0cnVzdFF1ZXJ5IiwicGFyYW1LZXlzIiwicGFnZUlzRHluYW1pYyIsImRlZmF1bHRSb3V0ZVJlZ2V4IiwiX3BhcnNlZFVybCIsInBhcnNlIiwidXJsIiwic2VhcmNoIiwia2V5Iiwia2V5cyIsInF1ZXJ5IiwiTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVgiLCJzdGFydHNXaXRoIiwiZ3JvdXBzIiwiaW5jbHVkZXMiLCJmb3JtYXQiLCJwYXRobmFtZSIsInBhcmFtcyIsInBhcmFtIiwib3B0aW9uYWwiLCJyZXBlYXQiLCJidWlsdFBhcmFtIiwicGFyYW1JZHgiLCJpbmRleE9mIiwicGFyYW1WYWx1ZSIsIkFycmF5IiwiaXNBcnJheSIsIm1hcCIsInYiLCJlbmNvZGVVUklDb21wb25lbnQiLCJqb2luIiwic2xpY2UiLCJsZW5ndGgiLCJpZ25vcmVPcHRpb25hbCIsImRlZmF1bHRSb3V0ZU1hdGNoZXMiLCJoYXNWYWxpZFBhcmFtcyIsInJlZHVjZSIsInByZXYiLCJub3JtYWxpemVSc2NVUkwiLCJ2YWwiLCJkZWZhdWx0VmFsdWUiLCJpc09wdGlvbmFsIiwiaXNEZWZhdWx0VmFsdWUiLCJzb21lIiwiZGVmYXVsdFZhbCIsInVuZGVmaW5lZCIsInNwbGl0IiwicGFnZSIsImkxOG4iLCJiYXNlUGF0aCIsInJld3JpdGVzIiwidHJhaWxpbmdTbGFzaCIsImNhc2VTZW5zaXRpdmUiLCJkeW5hbWljUm91dGVNYXRjaGVyIiwiZ2V0TmFtZWRSb3V0ZVJlZ2V4IiwiZ2V0Um91dGVNYXRjaGVyIiwiaGFuZGxlUmV3cml0ZXMiLCJwYXJzZWRVcmwiLCJyZXdyaXRlUGFyYW1zIiwiZnNQYXRobmFtZSIsIm1hdGNoZXNQYWdlIiwiZnNQYXRobmFtZU5vU2xhc2giLCJyZW1vdmVUcmFpbGluZ1NsYXNoIiwiY2hlY2tSZXdyaXRlIiwicmV3cml0ZSIsIm1hdGNoZXIiLCJnZXRQYXRoTWF0Y2giLCJzb3VyY2UiLCJyZW1vdmVVbm5hbWVkUGFyYW1zIiwic3RyaWN0Iiwic2Vuc2l0aXZlIiwiaGFzIiwibWlzc2luZyIsImhhc1BhcmFtcyIsIm1hdGNoSGFzIiwiYXNzaWduIiwicGFyc2VkRGVzdGluYXRpb24iLCJkZXN0UXVlcnkiLCJwcmVwYXJlRGVzdGluYXRpb24iLCJhcHBlbmRQYXJhbXNUb1F1ZXJ5IiwiZGVzdGluYXRpb24iLCJwcm90b2NvbCIsInJlcGxhY2UiLCJSZWdFeHAiLCJkZXN0TG9jYWxlUGF0aFJlc3VsdCIsIm5vcm1hbGl6ZUxvY2FsZVBhdGgiLCJsb2NhbGVzIiwibmV4dEludGVybmFsTG9jYWxlIiwiZGV0ZWN0ZWRMb2NhbGUiLCJkeW5hbWljUGFyYW1zIiwiYmVmb3JlRmlsZXMiLCJmaW5pc2hlZCIsImFmdGVyRmlsZXMiLCJmYWxsYmFjayIsImdldFBhcmFtc0Zyb21Sb3V0ZU1hdGNoZXMiLCJyZW5kZXJPcHRzIiwicm91dGVLZXlzIiwicmUiLCJleGVjIiwic3RyIiwib2JqIiwiZnJvbUVudHJpZXMiLCJVUkxTZWFyY2hQYXJhbXMiLCJtYXRjaGVzSGFzTG9jYWxlIiwibm9ybWFsaXplZEtleSIsInN1YnN0cmluZyIsInJvdXRlS2V5TmFtZXMiLCJmaWx0ZXJMb2NhbGVJdGVtIiwiaXNDYXRjaEFsbCIsIl92YWwiLCJpdGVtIiwidG9Mb3dlckNhc2UiLCJsb2NhbGUiLCJzcGxpY2UiLCJldmVyeSIsImtleU5hbWUiLCJwYXJhbU5hbWUiLCJwb3MiLCJwYXJzZUludCIsImhlYWRlcnMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/server/server-utils.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/error.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/server/web/error.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n PageSignatureError: function() {\n return PageSignatureError;\n },\n RemovedPageError: function() {\n return RemovedPageError;\n },\n RemovedUAError: function() {\n return RemovedUAError;\n }\n});\nclass PageSignatureError extends Error {\n constructor({ page }){\n super(`The middleware \"${page}\" accepts an async API directly with the form:\n \n export function middleware(request, event) {\n return NextResponse.redirect('/new-location')\n }\n \n Read more: https://nextjs.org/docs/messages/middleware-new-signature\n `);\n }\n}\nclass RemovedPageError extends Error {\n constructor(){\n super(`The request.page has been deprecated in favour of \\`URLPattern\\`.\n Read more: https://nextjs.org/docs/messages/middleware-request-page\n `);\n }\n}\nclass RemovedUAError extends Error {\n constructor(){\n super(`The request.ua has been removed in favour of \\`userAgent\\` function.\n Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n `);\n }\n} //# sourceMappingURL=error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLGtCQUFrQjtRQUNkLE9BQU9BO0lBQ1g7SUFDQUMsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTUYsMkJBQTJCUztJQUM3QkMsWUFBWSxFQUFFQyxJQUFJLEVBQUUsQ0FBQztRQUNqQixLQUFLLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRUEsS0FBSzs7Ozs7OztFQU9wQyxDQUFDO0lBQ0M7QUFDSjtBQUNBLE1BQU1WLHlCQUF5QlE7SUFDM0JDLGFBQWE7UUFDVCxLQUFLLENBQUMsQ0FBQzs7RUFFYixDQUFDO0lBQ0M7QUFDSjtBQUNBLE1BQU1SLHVCQUF1Qk87SUFDekJDLGFBQWE7UUFDVCxLQUFLLENBQUMsQ0FBQzs7RUFFYixDQUFDO0lBQ0M7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvZXJyb3IuanM/ZWY5OSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFBhZ2VTaWduYXR1cmVFcnJvcjogbnVsbCxcbiAgICBSZW1vdmVkUGFnZUVycm9yOiBudWxsLFxuICAgIFJlbW92ZWRVQUVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFBhZ2VTaWduYXR1cmVFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBQYWdlU2lnbmF0dXJlRXJyb3I7XG4gICAgfSxcbiAgICBSZW1vdmVkUGFnZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFJlbW92ZWRQYWdlRXJyb3I7XG4gICAgfSxcbiAgICBSZW1vdmVkVUFFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBSZW1vdmVkVUFFcnJvcjtcbiAgICB9XG59KTtcbmNsYXNzIFBhZ2VTaWduYXR1cmVFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcih7IHBhZ2UgfSl7XG4gICAgICAgIHN1cGVyKGBUaGUgbWlkZGxld2FyZSBcIiR7cGFnZX1cIiBhY2NlcHRzIGFuIGFzeW5jIEFQSSBkaXJlY3RseSB3aXRoIHRoZSBmb3JtOlxuICBcbiAgZXhwb3J0IGZ1bmN0aW9uIG1pZGRsZXdhcmUocmVxdWVzdCwgZXZlbnQpIHtcbiAgICByZXR1cm4gTmV4dFJlc3BvbnNlLnJlZGlyZWN0KCcvbmV3LWxvY2F0aW9uJylcbiAgfVxuICBcbiAgUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9taWRkbGV3YXJlLW5ldy1zaWduYXR1cmVcbiAgYCk7XG4gICAgfVxufVxuY2xhc3MgUmVtb3ZlZFBhZ2VFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcigpe1xuICAgICAgICBzdXBlcihgVGhlIHJlcXVlc3QucGFnZSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBcXGBVUkxQYXR0ZXJuXFxgLlxuICBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL21pZGRsZXdhcmUtcmVxdWVzdC1wYWdlXG4gIGApO1xuICAgIH1cbn1cbmNsYXNzIFJlbW92ZWRVQUVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHN1cGVyKGBUaGUgcmVxdWVzdC51YSBoYXMgYmVlbiByZW1vdmVkIGluIGZhdm91ciBvZiBcXGB1c2VyQWdlbnRcXGAgZnVuY3Rpb24uXG4gIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1wYXJzZS11c2VyLWFnZW50XG4gIGApO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZXJyb3IuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUGFnZVNpZ25hdHVyZUVycm9yIiwiUmVtb3ZlZFBhZ2VFcnJvciIsIlJlbW92ZWRVQUVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsInBhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/error.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js": /*!*******************************************************!*\ !*** ./node_modules/next/dist/server/web/next-url.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NextURL\", ({\n enumerable: true,\n get: function() {\n return NextURL;\n }\n}));\nconst _detectdomainlocale = __webpack_require__(/*! ../../shared/lib/i18n/detect-domain-locale */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js\");\nconst _formatnextpathnameinfo = __webpack_require__(/*! ../../shared/lib/router/utils/format-next-pathname-info */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\");\nconst _gethostname = __webpack_require__(/*! ../../shared/lib/get-hostname */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/get-hostname.js\");\nconst _getnextpathnameinfo = __webpack_require__(/*! ../../shared/lib/router/utils/get-next-pathname-info */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\");\nconst REGEX_LOCALHOST_HOSTNAME = /(?!^https?:\\/\\/)(127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}|\\[::1\\]|localhost)/;\nfunction parseURL(url, base) {\n return new URL(String(url).replace(REGEX_LOCALHOST_HOSTNAME, \"localhost\"), base && String(base).replace(REGEX_LOCALHOST_HOSTNAME, \"localhost\"));\n}\nconst Internal = Symbol(\"NextURLInternal\");\nclass NextURL {\n constructor(input, baseOrOpts, opts){\n let base;\n let options;\n if (typeof baseOrOpts === \"object\" && \"pathname\" in baseOrOpts || typeof baseOrOpts === \"string\") {\n base = baseOrOpts;\n options = opts || {};\n } else {\n options = opts || baseOrOpts || {};\n }\n this[Internal] = {\n url: parseURL(input, base ?? options.base),\n options: options,\n basePath: \"\"\n };\n this.analyze();\n }\n analyze() {\n var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig, _this_Internal_domainLocale, _this_Internal_options_nextConfig_i18n1, _this_Internal_options_nextConfig1;\n const info = (0, _getnextpathnameinfo.getNextPathnameInfo)(this[Internal].url.pathname, {\n nextConfig: this[Internal].options.nextConfig,\n parseData: !undefined,\n i18nProvider: this[Internal].options.i18nProvider\n });\n const hostname = (0, _gethostname.getHostname)(this[Internal].url, this[Internal].options.headers);\n this[Internal].domainLocale = this[Internal].options.i18nProvider ? this[Internal].options.i18nProvider.detectDomainLocale(hostname) : (0, _detectdomainlocale.detectDomainLocale)((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.domains, hostname);\n const defaultLocale = ((_this_Internal_domainLocale = this[Internal].domainLocale) == null ? void 0 : _this_Internal_domainLocale.defaultLocale) || ((_this_Internal_options_nextConfig1 = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n1 = _this_Internal_options_nextConfig1.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n1.defaultLocale);\n this[Internal].url.pathname = info.pathname;\n this[Internal].defaultLocale = defaultLocale;\n this[Internal].basePath = info.basePath ?? \"\";\n this[Internal].buildId = info.buildId;\n this[Internal].locale = info.locale ?? defaultLocale;\n this[Internal].trailingSlash = info.trailingSlash;\n }\n formatPathname() {\n return (0, _formatnextpathnameinfo.formatNextPathnameInfo)({\n basePath: this[Internal].basePath,\n buildId: this[Internal].buildId,\n defaultLocale: !this[Internal].options.forceLocale ? this[Internal].defaultLocale : undefined,\n locale: this[Internal].locale,\n pathname: this[Internal].url.pathname,\n trailingSlash: this[Internal].trailingSlash\n });\n }\n formatSearch() {\n return this[Internal].url.search;\n }\n get buildId() {\n return this[Internal].buildId;\n }\n set buildId(buildId) {\n this[Internal].buildId = buildId;\n }\n get locale() {\n return this[Internal].locale ?? \"\";\n }\n set locale(locale) {\n var _this_Internal_options_nextConfig_i18n, _this_Internal_options_nextConfig;\n if (!this[Internal].locale || !((_this_Internal_options_nextConfig = this[Internal].options.nextConfig) == null ? void 0 : (_this_Internal_options_nextConfig_i18n = _this_Internal_options_nextConfig.i18n) == null ? void 0 : _this_Internal_options_nextConfig_i18n.locales.includes(locale))) {\n throw new TypeError(`The NextURL configuration includes no locale \"${locale}\"`);\n }\n this[Internal].locale = locale;\n }\n get defaultLocale() {\n return this[Internal].defaultLocale;\n }\n get domainLocale() {\n return this[Internal].domainLocale;\n }\n get searchParams() {\n return this[Internal].url.searchParams;\n }\n get host() {\n return this[Internal].url.host;\n }\n set host(value) {\n this[Internal].url.host = value;\n }\n get hostname() {\n return this[Internal].url.hostname;\n }\n set hostname(value) {\n this[Internal].url.hostname = value;\n }\n get port() {\n return this[Internal].url.port;\n }\n set port(value) {\n this[Internal].url.port = value;\n }\n get protocol() {\n return this[Internal].url.protocol;\n }\n set protocol(value) {\n this[Internal].url.protocol = value;\n }\n get href() {\n const pathname = this.formatPathname();\n const search = this.formatSearch();\n return `${this.protocol}//${this.host}${pathname}${search}${this.hash}`;\n }\n set href(url) {\n this[Internal].url = parseURL(url);\n this.analyze();\n }\n get origin() {\n return this[Internal].url.origin;\n }\n get pathname() {\n return this[Internal].url.pathname;\n }\n set pathname(value) {\n this[Internal].url.pathname = value;\n }\n get hash() {\n return this[Internal].url.hash;\n }\n set hash(value) {\n this[Internal].url.hash = value;\n }\n get search() {\n return this[Internal].url.search;\n }\n set search(value) {\n this[Internal].url.search = value;\n }\n get password() {\n return this[Internal].url.password;\n }\n set password(value) {\n this[Internal].url.password = value;\n }\n get username() {\n return this[Internal].url.username;\n }\n set username(value) {\n this[Internal].url.username = value;\n }\n get basePath() {\n return this[Internal].basePath;\n }\n set basePath(value) {\n this[Internal].basePath = value.startsWith(\"/\") ? value : `/${value}`;\n }\n toString() {\n return this.href;\n }\n toJSON() {\n return this.href;\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return {\n href: this.href,\n origin: this.origin,\n protocol: this.protocol,\n username: this.username,\n password: this.password,\n host: this.host,\n hostname: this.hostname,\n port: this.port,\n pathname: this.pathname,\n search: this.search,\n searchParams: this.searchParams,\n hash: this.hash\n };\n }\n clone() {\n return new NextURL(String(this), this[Internal].options);\n }\n} //# sourceMappingURL=next-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvbmV4dC11cmwuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHNCQUFzQkMsbUJBQU9BLENBQUMseUlBQTRDO0FBQ2hGLE1BQU1DLDBCQUEwQkQsbUJBQU9BLENBQUMsbUtBQXlEO0FBQ2pHLE1BQU1FLGVBQWVGLG1CQUFPQSxDQUFDLCtHQUErQjtBQUM1RCxNQUFNRyx1QkFBdUJILG1CQUFPQSxDQUFDLDZKQUFzRDtBQUMzRixNQUFNSSwyQkFBMkI7QUFDakMsU0FBU0MsU0FBU0MsR0FBRyxFQUFFQyxJQUFJO0lBQ3ZCLE9BQU8sSUFBSUMsSUFBSUMsT0FBT0gsS0FBS0ksT0FBTyxDQUFDTiwwQkFBMEIsY0FBY0csUUFBUUUsT0FBT0YsTUFBTUcsT0FBTyxDQUFDTiwwQkFBMEI7QUFDdEk7QUFDQSxNQUFNTyxXQUFXQyxPQUFPO0FBQ3hCLE1BQU1kO0lBQ0ZlLFlBQVlDLEtBQUssRUFBRUMsVUFBVSxFQUFFQyxJQUFJLENBQUM7UUFDaEMsSUFBSVQ7UUFDSixJQUFJVTtRQUNKLElBQUksT0FBT0YsZUFBZSxZQUFZLGNBQWNBLGNBQWMsT0FBT0EsZUFBZSxVQUFVO1lBQzlGUixPQUFPUTtZQUNQRSxVQUFVRCxRQUFRLENBQUM7UUFDdkIsT0FBTztZQUNIQyxVQUFVRCxRQUFRRCxjQUFjLENBQUM7UUFDckM7UUFDQSxJQUFJLENBQUNKLFNBQVMsR0FBRztZQUNiTCxLQUFLRCxTQUFTUyxPQUFPUCxRQUFRVSxRQUFRVixJQUFJO1lBQ3pDVSxTQUFTQTtZQUNUQyxVQUFVO1FBQ2Q7UUFDQSxJQUFJLENBQUNDLE9BQU87SUFDaEI7SUFDQUEsVUFBVTtRQUNOLElBQUlDLHdDQUF3Q0MsbUNBQW1DQyw2QkFBNkJDLHlDQUF5Q0M7UUFDckosTUFBTUMsT0FBTyxDQUFDLEdBQUd0QixxQkFBcUJ1QixtQkFBbUIsRUFBRSxJQUFJLENBQUNmLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDcUIsUUFBUSxFQUFFO1lBQ3BGQyxZQUFZLElBQUksQ0FBQ2pCLFNBQVMsQ0FBQ00sT0FBTyxDQUFDVyxVQUFVO1lBQzdDQyxXQUFXLENBQUNDLFNBQThDO1lBQzFERyxjQUFjLElBQUksQ0FBQ3RCLFNBQVMsQ0FBQ00sT0FBTyxDQUFDZ0IsWUFBWTtRQUNyRDtRQUNBLE1BQU1DLFdBQVcsQ0FBQyxHQUFHaEMsYUFBYWlDLFdBQVcsRUFBRSxJQUFJLENBQUN4QixTQUFTLENBQUNMLEdBQUcsRUFBRSxJQUFJLENBQUNLLFNBQVMsQ0FBQ00sT0FBTyxDQUFDbUIsT0FBTztRQUNqRyxJQUFJLENBQUN6QixTQUFTLENBQUMwQixZQUFZLEdBQUcsSUFBSSxDQUFDMUIsU0FBUyxDQUFDTSxPQUFPLENBQUNnQixZQUFZLEdBQUcsSUFBSSxDQUFDdEIsU0FBUyxDQUFDTSxPQUFPLENBQUNnQixZQUFZLENBQUNLLGtCQUFrQixDQUFDSixZQUFZLENBQUMsR0FBR25DLG9CQUFvQnVDLGtCQUFrQixFQUFFLENBQUNqQixvQ0FBb0MsSUFBSSxDQUFDVixTQUFTLENBQUNNLE9BQU8sQ0FBQ1csVUFBVSxLQUFLLE9BQU8sS0FBSyxJQUFJLENBQUNSLHlDQUF5Q0Msa0NBQWtDa0IsSUFBSSxLQUFLLE9BQU8sS0FBSyxJQUFJbkIsdUNBQXVDb0IsT0FBTyxFQUFFTjtRQUNuYSxNQUFNTyxnQkFBZ0IsQ0FBQyxDQUFDbkIsOEJBQThCLElBQUksQ0FBQ1gsU0FBUyxDQUFDMEIsWUFBWSxLQUFLLE9BQU8sS0FBSyxJQUFJZiw0QkFBNEJtQixhQUFhLEtBQU0sRUFBQ2pCLHFDQUFxQyxJQUFJLENBQUNiLFNBQVMsQ0FBQ00sT0FBTyxDQUFDVyxVQUFVLEtBQUssT0FBTyxLQUFLLElBQUksQ0FBQ0wsMENBQTBDQyxtQ0FBbUNlLElBQUksS0FBSyxPQUFPLEtBQUssSUFBSWhCLHdDQUF3Q2tCLGFBQWE7UUFDN1ksSUFBSSxDQUFDOUIsU0FBUyxDQUFDTCxHQUFHLENBQUNxQixRQUFRLEdBQUdGLEtBQUtFLFFBQVE7UUFDM0MsSUFBSSxDQUFDaEIsU0FBUyxDQUFDOEIsYUFBYSxHQUFHQTtRQUMvQixJQUFJLENBQUM5QixTQUFTLENBQUNPLFFBQVEsR0FBR08sS0FBS1AsUUFBUSxJQUFJO1FBQzNDLElBQUksQ0FBQ1AsU0FBUyxDQUFDK0IsT0FBTyxHQUFHakIsS0FBS2lCLE9BQU87UUFDckMsSUFBSSxDQUFDL0IsU0FBUyxDQUFDZ0MsTUFBTSxHQUFHbEIsS0FBS2tCLE1BQU0sSUFBSUY7UUFDdkMsSUFBSSxDQUFDOUIsU0FBUyxDQUFDaUMsYUFBYSxHQUFHbkIsS0FBS21CLGFBQWE7SUFDckQ7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBTyxDQUFDLEdBQUc1Qyx3QkFBd0I2QyxzQkFBc0IsRUFBRTtZQUN2RDVCLFVBQVUsSUFBSSxDQUFDUCxTQUFTLENBQUNPLFFBQVE7WUFDakN3QixTQUFTLElBQUksQ0FBQy9CLFNBQVMsQ0FBQytCLE9BQU87WUFDL0JELGVBQWUsQ0FBQyxJQUFJLENBQUM5QixTQUFTLENBQUNNLE9BQU8sQ0FBQzhCLFdBQVcsR0FBRyxJQUFJLENBQUNwQyxTQUFTLENBQUM4QixhQUFhLEdBQUdPO1lBQ3BGTCxRQUFRLElBQUksQ0FBQ2hDLFNBQVMsQ0FBQ2dDLE1BQU07WUFDN0JoQixVQUFVLElBQUksQ0FBQ2hCLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDcUIsUUFBUTtZQUNyQ2lCLGVBQWUsSUFBSSxDQUFDakMsU0FBUyxDQUFDaUMsYUFBYTtRQUMvQztJQUNKO0lBQ0FLLGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQ3RDLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDNEMsTUFBTTtJQUNwQztJQUNBLElBQUlSLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQy9CLFNBQVMsQ0FBQytCLE9BQU87SUFDakM7SUFDQSxJQUFJQSxRQUFRQSxPQUFPLEVBQUU7UUFDakIsSUFBSSxDQUFDL0IsU0FBUyxDQUFDK0IsT0FBTyxHQUFHQTtJQUM3QjtJQUNBLElBQUlDLFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQ2hDLFNBQVMsQ0FBQ2dDLE1BQU0sSUFBSTtJQUNwQztJQUNBLElBQUlBLE9BQU9BLE1BQU0sRUFBRTtRQUNmLElBQUl2Qix3Q0FBd0NDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUNWLFNBQVMsQ0FBQ2dDLE1BQU0sSUFBSSxDQUFFLEVBQUN0QixvQ0FBb0MsSUFBSSxDQUFDVixTQUFTLENBQUNNLE9BQU8sQ0FBQ1csVUFBVSxLQUFLLE9BQU8sS0FBSyxJQUFJLENBQUNSLHlDQUF5Q0Msa0NBQWtDa0IsSUFBSSxLQUFLLE9BQU8sS0FBSyxJQUFJbkIsdUNBQXVDK0IsT0FBTyxDQUFDQyxRQUFRLENBQUNULE9BQU0sR0FBSTtZQUM5UixNQUFNLElBQUlVLFVBQVUsQ0FBQyw4Q0FBOEMsRUFBRVYsT0FBTyxDQUFDLENBQUM7UUFDbEY7UUFDQSxJQUFJLENBQUNoQyxTQUFTLENBQUNnQyxNQUFNLEdBQUdBO0lBQzVCO0lBQ0EsSUFBSUYsZ0JBQWdCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDOUIsU0FBUyxDQUFDOEIsYUFBYTtJQUN2QztJQUNBLElBQUlKLGVBQWU7UUFDZixPQUFPLElBQUksQ0FBQzFCLFNBQVMsQ0FBQzBCLFlBQVk7SUFDdEM7SUFDQSxJQUFJaUIsZUFBZTtRQUNmLE9BQU8sSUFBSSxDQUFDM0MsU0FBUyxDQUFDTCxHQUFHLENBQUNnRCxZQUFZO0lBQzFDO0lBQ0EsSUFBSUMsT0FBTztRQUNQLE9BQU8sSUFBSSxDQUFDNUMsU0FBUyxDQUFDTCxHQUFHLENBQUNpRCxJQUFJO0lBQ2xDO0lBQ0EsSUFBSUEsS0FBSzVELEtBQUssRUFBRTtRQUNaLElBQUksQ0FBQ2dCLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDaUQsSUFBSSxHQUFHNUQ7SUFDOUI7SUFDQSxJQUFJdUMsV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDdkIsU0FBUyxDQUFDTCxHQUFHLENBQUM0QixRQUFRO0lBQ3RDO0lBQ0EsSUFBSUEsU0FBU3ZDLEtBQUssRUFBRTtRQUNoQixJQUFJLENBQUNnQixTQUFTLENBQUNMLEdBQUcsQ0FBQzRCLFFBQVEsR0FBR3ZDO0lBQ2xDO0lBQ0EsSUFBSTZELE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQzdDLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDa0QsSUFBSTtJQUNsQztJQUNBLElBQUlBLEtBQUs3RCxLQUFLLEVBQUU7UUFDWixJQUFJLENBQUNnQixTQUFTLENBQUNMLEdBQUcsQ0FBQ2tELElBQUksR0FBRzdEO0lBQzlCO0lBQ0EsSUFBSThELFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQzlDLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDbUQsUUFBUTtJQUN0QztJQUNBLElBQUlBLFNBQVM5RCxLQUFLLEVBQUU7UUFDaEIsSUFBSSxDQUFDZ0IsU0FBUyxDQUFDTCxHQUFHLENBQUNtRCxRQUFRLEdBQUc5RDtJQUNsQztJQUNBLElBQUkrRCxPQUFPO1FBQ1AsTUFBTS9CLFdBQVcsSUFBSSxDQUFDa0IsY0FBYztRQUNwQyxNQUFNSyxTQUFTLElBQUksQ0FBQ0QsWUFBWTtRQUNoQyxPQUFPLENBQUMsRUFBRSxJQUFJLENBQUNRLFFBQVEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDRixJQUFJLENBQUMsRUFBRTVCLFNBQVMsRUFBRXVCLE9BQU8sRUFBRSxJQUFJLENBQUNTLElBQUksQ0FBQyxDQUFDO0lBQzNFO0lBQ0EsSUFBSUQsS0FBS3BELEdBQUcsRUFBRTtRQUNWLElBQUksQ0FBQ0ssU0FBUyxDQUFDTCxHQUFHLEdBQUdELFNBQVNDO1FBQzlCLElBQUksQ0FBQ2EsT0FBTztJQUNoQjtJQUNBLElBQUl5QyxTQUFTO1FBQ1QsT0FBTyxJQUFJLENBQUNqRCxTQUFTLENBQUNMLEdBQUcsQ0FBQ3NELE1BQU07SUFDcEM7SUFDQSxJQUFJakMsV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDaEIsU0FBUyxDQUFDTCxHQUFHLENBQUNxQixRQUFRO0lBQ3RDO0lBQ0EsSUFBSUEsU0FBU2hDLEtBQUssRUFBRTtRQUNoQixJQUFJLENBQUNnQixTQUFTLENBQUNMLEdBQUcsQ0FBQ3FCLFFBQVEsR0FBR2hDO0lBQ2xDO0lBQ0EsSUFBSWdFLE9BQU87UUFDUCxPQUFPLElBQUksQ0FBQ2hELFNBQVMsQ0FBQ0wsR0FBRyxDQUFDcUQsSUFBSTtJQUNsQztJQUNBLElBQUlBLEtBQUtoRSxLQUFLLEVBQUU7UUFDWixJQUFJLENBQUNnQixTQUFTLENBQUNMLEdBQUcsQ0FBQ3FELElBQUksR0FBR2hFO0lBQzlCO0lBQ0EsSUFBSXVELFNBQVM7UUFDVCxPQUFPLElBQUksQ0FBQ3ZDLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDNEMsTUFBTTtJQUNwQztJQUNBLElBQUlBLE9BQU92RCxLQUFLLEVBQUU7UUFDZCxJQUFJLENBQUNnQixTQUFTLENBQUNMLEdBQUcsQ0FBQzRDLE1BQU0sR0FBR3ZEO0lBQ2hDO0lBQ0EsSUFBSWtFLFdBQVc7UUFDWCxPQUFPLElBQUksQ0FBQ2xELFNBQVMsQ0FBQ0wsR0FBRyxDQUFDdUQsUUFBUTtJQUN0QztJQUNBLElBQUlBLFNBQVNsRSxLQUFLLEVBQUU7UUFDaEIsSUFBSSxDQUFDZ0IsU0FBUyxDQUFDTCxHQUFHLENBQUN1RCxRQUFRLEdBQUdsRTtJQUNsQztJQUNBLElBQUltRSxXQUFXO1FBQ1gsT0FBTyxJQUFJLENBQUNuRCxTQUFTLENBQUNMLEdBQUcsQ0FBQ3dELFFBQVE7SUFDdEM7SUFDQSxJQUFJQSxTQUFTbkUsS0FBSyxFQUFFO1FBQ2hCLElBQUksQ0FBQ2dCLFNBQVMsQ0FBQ0wsR0FBRyxDQUFDd0QsUUFBUSxHQUFHbkU7SUFDbEM7SUFDQSxJQUFJdUIsV0FBVztRQUNYLE9BQU8sSUFBSSxDQUFDUCxTQUFTLENBQUNPLFFBQVE7SUFDbEM7SUFDQSxJQUFJQSxTQUFTdkIsS0FBSyxFQUFFO1FBQ2hCLElBQUksQ0FBQ2dCLFNBQVMsQ0FBQ08sUUFBUSxHQUFHdkIsTUFBTW9FLFVBQVUsQ0FBQyxPQUFPcEUsUUFBUSxDQUFDLENBQUMsRUFBRUEsTUFBTSxDQUFDO0lBQ3pFO0lBQ0FxRSxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUNOLElBQUk7SUFDcEI7SUFDQU8sU0FBUztRQUNMLE9BQU8sSUFBSSxDQUFDUCxJQUFJO0lBQ3BCO0lBQ0EsQ0FBQzlDLE9BQU9zRCxHQUFHLENBQUMsK0JBQStCLEdBQUc7UUFDMUMsT0FBTztZQUNIUixNQUFNLElBQUksQ0FBQ0EsSUFBSTtZQUNmRSxRQUFRLElBQUksQ0FBQ0EsTUFBTTtZQUNuQkgsVUFBVSxJQUFJLENBQUNBLFFBQVE7WUFDdkJLLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCRCxVQUFVLElBQUksQ0FBQ0EsUUFBUTtZQUN2Qk4sTUFBTSxJQUFJLENBQUNBLElBQUk7WUFDZnJCLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCc0IsTUFBTSxJQUFJLENBQUNBLElBQUk7WUFDZjdCLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCdUIsUUFBUSxJQUFJLENBQUNBLE1BQU07WUFDbkJJLGNBQWMsSUFBSSxDQUFDQSxZQUFZO1lBQy9CSyxNQUFNLElBQUksQ0FBQ0EsSUFBSTtRQUNuQjtJQUNKO0lBQ0FRLFFBQVE7UUFDSixPQUFPLElBQUlyRSxRQUFRVyxPQUFPLElBQUksR0FBRyxJQUFJLENBQUNFLFNBQVMsQ0FBQ00sT0FBTztJQUMzRDtBQUNKLEVBRUEsb0NBQW9DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9uZXh0LXVybC5qcz80N2Y2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTmV4dFVSTFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFVSTDtcbiAgICB9XG59KTtcbmNvbnN0IF9kZXRlY3Rkb21haW5sb2NhbGUgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9pMThuL2RldGVjdC1kb21haW4tbG9jYWxlXCIpO1xuY29uc3QgX2Zvcm1hdG5leHRwYXRobmFtZWluZm8gPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZm9ybWF0LW5leHQtcGF0aG5hbWUtaW5mb1wiKTtcbmNvbnN0IF9nZXRob3N0bmFtZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2dldC1ob3N0bmFtZVwiKTtcbmNvbnN0IF9nZXRuZXh0cGF0aG5hbWVpbmZvID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm9cIik7XG5jb25zdCBSRUdFWF9MT0NBTEhPU1RfSE9TVE5BTUUgPSAvKD8hXmh0dHBzPzpcXC9cXC8pKDEyNyg/OlxcLig/OjI1WzAtNV18MlswLTRdWzAtOV18WzAxXT9bMC05XVswLTldPykpezN9fFxcWzo6MVxcXXxsb2NhbGhvc3QpLztcbmZ1bmN0aW9uIHBhcnNlVVJMKHVybCwgYmFzZSkge1xuICAgIHJldHVybiBuZXcgVVJMKFN0cmluZyh1cmwpLnJlcGxhY2UoUkVHRVhfTE9DQUxIT1NUX0hPU1ROQU1FLCBcImxvY2FsaG9zdFwiKSwgYmFzZSAmJiBTdHJpbmcoYmFzZSkucmVwbGFjZShSRUdFWF9MT0NBTEhPU1RfSE9TVE5BTUUsIFwibG9jYWxob3N0XCIpKTtcbn1cbmNvbnN0IEludGVybmFsID0gU3ltYm9sKFwiTmV4dFVSTEludGVybmFsXCIpO1xuY2xhc3MgTmV4dFVSTCB7XG4gICAgY29uc3RydWN0b3IoaW5wdXQsIGJhc2VPck9wdHMsIG9wdHMpe1xuICAgICAgICBsZXQgYmFzZTtcbiAgICAgICAgbGV0IG9wdGlvbnM7XG4gICAgICAgIGlmICh0eXBlb2YgYmFzZU9yT3B0cyA9PT0gXCJvYmplY3RcIiAmJiBcInBhdGhuYW1lXCIgaW4gYmFzZU9yT3B0cyB8fCB0eXBlb2YgYmFzZU9yT3B0cyA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgICAgYmFzZSA9IGJhc2VPck9wdHM7XG4gICAgICAgICAgICBvcHRpb25zID0gb3B0cyB8fCB7fTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSBvcHRzIHx8IGJhc2VPck9wdHMgfHwge307XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tJbnRlcm5hbF0gPSB7XG4gICAgICAgICAgICB1cmw6IHBhcnNlVVJMKGlucHV0LCBiYXNlID8/IG9wdGlvbnMuYmFzZSksXG4gICAgICAgICAgICBvcHRpb25zOiBvcHRpb25zLFxuICAgICAgICAgICAgYmFzZVBhdGg6IFwiXCJcbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5hbmFseXplKCk7XG4gICAgfVxuICAgIGFuYWx5emUoKSB7XG4gICAgICAgIHZhciBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4biwgX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnLCBfdGhpc19JbnRlcm5hbF9kb21haW5Mb2NhbGUsIF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuMSwgX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnMTtcbiAgICAgICAgY29uc3QgaW5mbyA9ICgwLCBfZ2V0bmV4dHBhdGhuYW1laW5mby5nZXROZXh0UGF0aG5hbWVJbmZvKSh0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWUsIHtcbiAgICAgICAgICAgIG5leHRDb25maWc6IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMubmV4dENvbmZpZyxcbiAgICAgICAgICAgIHBhcnNlRGF0YTogIXByb2Nlc3MuZW52Ll9fTkVYVF9OT19NSURETEVXQVJFX1VSTF9OT1JNQUxJWkUsXG4gICAgICAgICAgICBpMThuUHJvdmlkZXI6IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMuaTE4blByb3ZpZGVyXG4gICAgICAgIH0pO1xuICAgICAgICBjb25zdCBob3N0bmFtZSA9ICgwLCBfZ2V0aG9zdG5hbWUuZ2V0SG9zdG5hbWUpKHRoaXNbSW50ZXJuYWxdLnVybCwgdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5oZWFkZXJzKTtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uZG9tYWluTG9jYWxlID0gdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5pMThuUHJvdmlkZXIgPyB0aGlzW0ludGVybmFsXS5vcHRpb25zLmkxOG5Qcm92aWRlci5kZXRlY3REb21haW5Mb2NhbGUoaG9zdG5hbWUpIDogKDAsIF9kZXRlY3Rkb21haW5sb2NhbGUuZGV0ZWN0RG9tYWluTG9jYWxlKSgoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnID0gdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5uZXh0Q29uZmlnKSA9PSBudWxsID8gdm9pZCAwIDogKF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuID0gX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnLmkxOG4pID09IG51bGwgPyB2b2lkIDAgOiBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bi5kb21haW5zLCBob3N0bmFtZSk7XG4gICAgICAgIGNvbnN0IGRlZmF1bHRMb2NhbGUgPSAoKF90aGlzX0ludGVybmFsX2RvbWFpbkxvY2FsZSA9IHRoaXNbSW50ZXJuYWxdLmRvbWFpbkxvY2FsZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90aGlzX0ludGVybmFsX2RvbWFpbkxvY2FsZS5kZWZhdWx0TG9jYWxlKSB8fCAoKF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZzEgPSB0aGlzW0ludGVybmFsXS5vcHRpb25zLm5leHRDb25maWcpID09IG51bGwgPyB2b2lkIDAgOiAoX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4xID0gX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnMS5pMThuKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4xLmRlZmF1bHRMb2NhbGUpO1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWUgPSBpbmZvLnBhdGhuYW1lO1xuICAgICAgICB0aGlzW0ludGVybmFsXS5kZWZhdWx0TG9jYWxlID0gZGVmYXVsdExvY2FsZTtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uYmFzZVBhdGggPSBpbmZvLmJhc2VQYXRoID8/IFwiXCI7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmJ1aWxkSWQgPSBpbmZvLmJ1aWxkSWQ7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmxvY2FsZSA9IGluZm8ubG9jYWxlID8/IGRlZmF1bHRMb2NhbGU7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnRyYWlsaW5nU2xhc2ggPSBpbmZvLnRyYWlsaW5nU2xhc2g7XG4gICAgfVxuICAgIGZvcm1hdFBhdGhuYW1lKCkge1xuICAgICAgICByZXR1cm4gKDAsIF9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvLmZvcm1hdE5leHRQYXRobmFtZUluZm8pKHtcbiAgICAgICAgICAgIGJhc2VQYXRoOiB0aGlzW0ludGVybmFsXS5iYXNlUGF0aCxcbiAgICAgICAgICAgIGJ1aWxkSWQ6IHRoaXNbSW50ZXJuYWxdLmJ1aWxkSWQsXG4gICAgICAgICAgICBkZWZhdWx0TG9jYWxlOiAhdGhpc1tJbnRlcm5hbF0ub3B0aW9ucy5mb3JjZUxvY2FsZSA/IHRoaXNbSW50ZXJuYWxdLmRlZmF1bHRMb2NhbGUgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICBsb2NhbGU6IHRoaXNbSW50ZXJuYWxdLmxvY2FsZSxcbiAgICAgICAgICAgIHBhdGhuYW1lOiB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWUsXG4gICAgICAgICAgICB0cmFpbGluZ1NsYXNoOiB0aGlzW0ludGVybmFsXS50cmFpbGluZ1NsYXNoXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBmb3JtYXRTZWFyY2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuc2VhcmNoO1xuICAgIH1cbiAgICBnZXQgYnVpbGRJZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLmJ1aWxkSWQ7XG4gICAgfVxuICAgIHNldCBidWlsZElkKGJ1aWxkSWQpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uYnVpbGRJZCA9IGJ1aWxkSWQ7XG4gICAgfVxuICAgIGdldCBsb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS5sb2NhbGUgPz8gXCJcIjtcbiAgICB9XG4gICAgc2V0IGxvY2FsZShsb2NhbGUpIHtcbiAgICAgICAgdmFyIF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZ19pMThuLCBfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWc7XG4gICAgICAgIGlmICghdGhpc1tJbnRlcm5hbF0ubG9jYWxlIHx8ICEoKF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZyA9IHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMubmV4dENvbmZpZykgPT0gbnVsbCA/IHZvaWQgMCA6IChfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4biA9IF90aGlzX0ludGVybmFsX29wdGlvbnNfbmV4dENvbmZpZy5pMThuKSA9PSBudWxsID8gdm9pZCAwIDogX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4ubG9jYWxlcy5pbmNsdWRlcyhsb2NhbGUpKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIE5leHRVUkwgY29uZmlndXJhdGlvbiBpbmNsdWRlcyBubyBsb2NhbGUgXCIke2xvY2FsZX1cImApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLmxvY2FsZSA9IGxvY2FsZTtcbiAgICB9XG4gICAgZ2V0IGRlZmF1bHRMb2NhbGUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS5kZWZhdWx0TG9jYWxlO1xuICAgIH1cbiAgICBnZXQgZG9tYWluTG9jYWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0uZG9tYWluTG9jYWxlO1xuICAgIH1cbiAgICBnZXQgc2VhcmNoUGFyYW1zKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnNlYXJjaFBhcmFtcztcbiAgICB9XG4gICAgZ2V0IGhvc3QoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuaG9zdDtcbiAgICB9XG4gICAgc2V0IGhvc3QodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLmhvc3QgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGhvc3RuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLmhvc3RuYW1lO1xuICAgIH1cbiAgICBzZXQgaG9zdG5hbWUodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLmhvc3RuYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwb3J0KCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnBvcnQ7XG4gICAgfVxuICAgIHNldCBwb3J0KHZhbHVlKSB7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wb3J0ID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBwcm90b2NvbCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5wcm90b2NvbDtcbiAgICB9XG4gICAgc2V0IHByb3RvY29sKHZhbHVlKSB7XG4gICAgICAgIHRoaXNbSW50ZXJuYWxdLnVybC5wcm90b2NvbCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgaHJlZigpIHtcbiAgICAgICAgY29uc3QgcGF0aG5hbWUgPSB0aGlzLmZvcm1hdFBhdGhuYW1lKCk7XG4gICAgICAgIGNvbnN0IHNlYXJjaCA9IHRoaXMuZm9ybWF0U2VhcmNoKCk7XG4gICAgICAgIHJldHVybiBgJHt0aGlzLnByb3RvY29sfS8vJHt0aGlzLmhvc3R9JHtwYXRobmFtZX0ke3NlYXJjaH0ke3RoaXMuaGFzaH1gO1xuICAgIH1cbiAgICBzZXQgaHJlZih1cmwpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsID0gcGFyc2VVUkwodXJsKTtcbiAgICAgICAgdGhpcy5hbmFseXplKCk7XG4gICAgfVxuICAgIGdldCBvcmlnaW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwub3JpZ2luO1xuICAgIH1cbiAgICBnZXQgcGF0aG5hbWUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWU7XG4gICAgfVxuICAgIHNldCBwYXRobmFtZSh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwucGF0aG5hbWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IGhhc2goKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwuaGFzaDtcbiAgICB9XG4gICAgc2V0IGhhc2godmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLmhhc2ggPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHNlYXJjaCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLnVybC5zZWFyY2g7XG4gICAgfVxuICAgIHNldCBzZWFyY2godmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLnNlYXJjaCA9IHZhbHVlO1xuICAgIH1cbiAgICBnZXQgcGFzc3dvcmQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0ludGVybmFsXS51cmwucGFzc3dvcmQ7XG4gICAgfVxuICAgIHNldCBwYXNzd29yZCh2YWx1ZSkge1xuICAgICAgICB0aGlzW0ludGVybmFsXS51cmwucGFzc3dvcmQgPSB2YWx1ZTtcbiAgICB9XG4gICAgZ2V0IHVzZXJuYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJbnRlcm5hbF0udXJsLnVzZXJuYW1lO1xuICAgIH1cbiAgICBzZXQgdXNlcm5hbWUodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0udXJsLnVzZXJuYW1lID0gdmFsdWU7XG4gICAgfVxuICAgIGdldCBiYXNlUGF0aCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSW50ZXJuYWxdLmJhc2VQYXRoO1xuICAgIH1cbiAgICBzZXQgYmFzZVBhdGgodmFsdWUpIHtcbiAgICAgICAgdGhpc1tJbnRlcm5hbF0uYmFzZVBhdGggPSB2YWx1ZS5zdGFydHNXaXRoKFwiL1wiKSA/IHZhbHVlIDogYC8ke3ZhbHVlfWA7XG4gICAgfVxuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5ocmVmO1xuICAgIH1cbiAgICB0b0pTT04oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhyZWY7XG4gICAgfVxuICAgIFtTeW1ib2wuZm9yKFwiZWRnZS1ydW50aW1lLmluc3BlY3QuY3VzdG9tXCIpXSgpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGhyZWY6IHRoaXMuaHJlZixcbiAgICAgICAgICAgIG9yaWdpbjogdGhpcy5vcmlnaW4sXG4gICAgICAgICAgICBwcm90b2NvbDogdGhpcy5wcm90b2NvbCxcbiAgICAgICAgICAgIHVzZXJuYW1lOiB0aGlzLnVzZXJuYW1lLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHRoaXMucGFzc3dvcmQsXG4gICAgICAgICAgICBob3N0OiB0aGlzLmhvc3QsXG4gICAgICAgICAgICBob3N0bmFtZTogdGhpcy5ob3N0bmFtZSxcbiAgICAgICAgICAgIHBvcnQ6IHRoaXMucG9ydCxcbiAgICAgICAgICAgIHBhdGhuYW1lOiB0aGlzLnBhdGhuYW1lLFxuICAgICAgICAgICAgc2VhcmNoOiB0aGlzLnNlYXJjaCxcbiAgICAgICAgICAgIHNlYXJjaFBhcmFtczogdGhpcy5zZWFyY2hQYXJhbXMsXG4gICAgICAgICAgICBoYXNoOiB0aGlzLmhhc2hcbiAgICAgICAgfTtcbiAgICB9XG4gICAgY2xvbmUoKSB7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFVSTChTdHJpbmcodGhpcyksIHRoaXNbSW50ZXJuYWxdLm9wdGlvbnMpO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bmV4dC11cmwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIk5leHRVUkwiLCJfZGV0ZWN0ZG9tYWlubG9jYWxlIiwicmVxdWlyZSIsIl9mb3JtYXRuZXh0cGF0aG5hbWVpbmZvIiwiX2dldGhvc3RuYW1lIiwiX2dldG5leHRwYXRobmFtZWluZm8iLCJSRUdFWF9MT0NBTEhPU1RfSE9TVE5BTUUiLCJwYXJzZVVSTCIsInVybCIsImJhc2UiLCJVUkwiLCJTdHJpbmciLCJyZXBsYWNlIiwiSW50ZXJuYWwiLCJTeW1ib2wiLCJjb25zdHJ1Y3RvciIsImlucHV0IiwiYmFzZU9yT3B0cyIsIm9wdHMiLCJvcHRpb25zIiwiYmFzZVBhdGgiLCJhbmFseXplIiwiX3RoaXNfSW50ZXJuYWxfb3B0aW9uc19uZXh0Q29uZmlnX2kxOG4iLCJfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWciLCJfdGhpc19JbnRlcm5hbF9kb21haW5Mb2NhbGUiLCJfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWdfaTE4bjEiLCJfdGhpc19JbnRlcm5hbF9vcHRpb25zX25leHRDb25maWcxIiwiaW5mbyIsImdldE5leHRQYXRobmFtZUluZm8iLCJwYXRobmFtZSIsIm5leHRDb25maWciLCJwYXJzZURhdGEiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX05PX01JRERMRVdBUkVfVVJMX05PUk1BTElaRSIsImkxOG5Qcm92aWRlciIsImhvc3RuYW1lIiwiZ2V0SG9zdG5hbWUiLCJoZWFkZXJzIiwiZG9tYWluTG9jYWxlIiwiZGV0ZWN0RG9tYWluTG9jYWxlIiwiaTE4biIsImRvbWFpbnMiLCJkZWZhdWx0TG9jYWxlIiwiYnVpbGRJZCIsImxvY2FsZSIsInRyYWlsaW5nU2xhc2giLCJmb3JtYXRQYXRobmFtZSIsImZvcm1hdE5leHRQYXRobmFtZUluZm8iLCJmb3JjZUxvY2FsZSIsInVuZGVmaW5lZCIsImZvcm1hdFNlYXJjaCIsInNlYXJjaCIsImxvY2FsZXMiLCJpbmNsdWRlcyIsIlR5cGVFcnJvciIsInNlYXJjaFBhcmFtcyIsImhvc3QiLCJwb3J0IiwicHJvdG9jb2wiLCJocmVmIiwiaGFzaCIsIm9yaWdpbiIsInBhc3N3b3JkIiwidXNlcm5hbWUiLCJzdGFydHNXaXRoIiwidG9TdHJpbmciLCJ0b0pTT04iLCJmb3IiLCJjbG9uZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/cookies.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RequestCookies: function() {\n return _cookies.RequestCookies;\n },\n ResponseCookies: function() {\n return _cookies.ResponseCookies;\n }\n});\nconst _cookies = __webpack_require__(/*! next/dist/compiled/@edge-runtime/cookies */ \"(app-metadata-route)/./node_modules/next/dist/compiled/@edge-runtime/cookies/index.js\"); //# sourceMappingURL=cookies.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vY29va2llcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT1EsU0FBU1IsY0FBYztJQUNsQztJQUNBQyxpQkFBaUI7UUFDYixPQUFPTyxTQUFTUCxlQUFlO0lBQ25DO0FBQ0o7QUFDQSxNQUFNTyxXQUFXQyxtQkFBT0EsQ0FBQyx1SUFBMEMsR0FFbkUsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9jb29raWVzLmpzPzE0MjQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBSZXF1ZXN0Q29va2llczogbnVsbCxcbiAgICBSZXNwb25zZUNvb2tpZXM6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUmVxdWVzdENvb2tpZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2Nvb2tpZXMuUmVxdWVzdENvb2tpZXM7XG4gICAgfSxcbiAgICBSZXNwb25zZUNvb2tpZXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2Nvb2tpZXMuUmVzcG9uc2VDb29raWVzO1xuICAgIH1cbn0pO1xuY29uc3QgX2Nvb2tpZXMgPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL0BlZGdlLXJ1bnRpbWUvY29va2llc1wiKTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Y29va2llcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSZXF1ZXN0Q29va2llcyIsIlJlc3BvbnNlQ29va2llcyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9jb29raWVzIiwicmVxdWlyZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/image-response.js": /*!****************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/image-response.js ***! \****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * @deprecated ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead.\n * Migration with codemods: https://nextjs.org/docs/app/building-your-application/upgrading/codemods#next-og-import\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ImageResponse\", ({\n enumerable: true,\n get: function() {\n return ImageResponse;\n }\n}));\nfunction ImageResponse() {\n throw new Error('ImageResponse moved from \"next/server\" to \"next/og\" since Next.js 14, please import from \"next/og\" instead');\n} //# sourceMappingURL=image-response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vaW1hZ2UtcmVzcG9uc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7OztDQUdDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0E7SUFDTCxNQUFNLElBQUlDLE1BQU07QUFDcEIsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2ltYWdlLXJlc3BvbnNlLmpzPzg4MTciXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZGVwcmVjYXRlZCBJbWFnZVJlc3BvbnNlIG1vdmVkIGZyb20gXCJuZXh0L3NlcnZlclwiIHRvIFwibmV4dC9vZ1wiIHNpbmNlIE5leHQuanMgMTQsIHBsZWFzZSBpbXBvcnQgZnJvbSBcIm5leHQvb2dcIiBpbnN0ZWFkLlxuICogTWlncmF0aW9uIHdpdGggY29kZW1vZHM6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL2FwcC9idWlsZGluZy15b3VyLWFwcGxpY2F0aW9uL3VwZ3JhZGluZy9jb2RlbW9kcyNuZXh0LW9nLWltcG9ydFxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiSW1hZ2VSZXNwb25zZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSW1hZ2VSZXNwb25zZTtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIEltYWdlUmVzcG9uc2UoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbWFnZVJlc3BvbnNlIG1vdmVkIGZyb20gXCJuZXh0L3NlcnZlclwiIHRvIFwibmV4dC9vZ1wiIHNpbmNlIE5leHQuanMgMTQsIHBsZWFzZSBpbXBvcnQgZnJvbSBcIm5leHQvb2dcIiBpbnN0ZWFkJyk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWltYWdlLXJlc3BvbnNlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJJbWFnZVJlc3BvbnNlIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/image-response.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/request.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/request.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n INTERNALS: function() {\n return INTERNALS;\n },\n NextRequest: function() {\n return NextRequest;\n }\n});\nconst _nexturl = __webpack_require__(/*! ../next-url */ \"(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js\");\nconst _utils = __webpack_require__(/*! ../utils */ \"(app-metadata-route)/./node_modules/next/dist/server/web/utils.js\");\nconst _error = __webpack_require__(/*! ../error */ \"(app-metadata-route)/./node_modules/next/dist/server/web/error.js\");\nconst _cookies = __webpack_require__(/*! ./cookies */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst INTERNALS = Symbol(\"internal request\");\nclass NextRequest extends Request {\n constructor(input, init = {}){\n const url = typeof input !== \"string\" && \"url\" in input ? input.url : String(input);\n (0, _utils.validateURL)(url);\n if (input instanceof Request) super(input, init);\n else super(url, init);\n const nextUrl = new _nexturl.NextURL(url, {\n headers: (0, _utils.toNodeOutgoingHttpHeaders)(this.headers),\n nextConfig: init.nextConfig\n });\n this[INTERNALS] = {\n cookies: new _cookies.RequestCookies(this.headers),\n geo: init.geo || {},\n ip: init.ip,\n nextUrl,\n url: false ? 0 : nextUrl.toString()\n };\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return {\n cookies: this.cookies,\n geo: this.geo,\n ip: this.ip,\n nextUrl: this.nextUrl,\n url: this.url,\n // rest of props come from Request\n bodyUsed: this.bodyUsed,\n cache: this.cache,\n credentials: this.credentials,\n destination: this.destination,\n headers: Object.fromEntries(this.headers),\n integrity: this.integrity,\n keepalive: this.keepalive,\n method: this.method,\n mode: this.mode,\n redirect: this.redirect,\n referrer: this.referrer,\n referrerPolicy: this.referrerPolicy,\n signal: this.signal\n };\n }\n get cookies() {\n return this[INTERNALS].cookies;\n }\n get geo() {\n return this[INTERNALS].geo;\n }\n get ip() {\n return this[INTERNALS].ip;\n }\n get nextUrl() {\n return this[INTERNALS].nextUrl;\n }\n /**\n * @deprecated\n * `page` has been deprecated in favour of `URLPattern`.\n * Read more: https://nextjs.org/docs/messages/middleware-request-page\n */ get page() {\n throw new _error.RemovedPageError();\n }\n /**\n * @deprecated\n * `ua` has been removed in favour of \\`userAgent\\` function.\n * Read more: https://nextjs.org/docs/messages/middleware-parse-user-agent\n */ get ua() {\n throw new _error.RemovedUAError();\n }\n get url() {\n return this[INTERNALS].url;\n }\n} //# sourceMappingURL=request.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVxdWVzdC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsV0FBVztRQUNQLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLFdBQVdDLG1CQUFPQSxDQUFDLHlGQUFhO0FBQ3RDLE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLG1GQUFVO0FBQ2pDLE1BQU1FLFNBQVNGLG1CQUFPQSxDQUFDLG1GQUFVO0FBQ2pDLE1BQU1HLFdBQVdILG1CQUFPQSxDQUFDLHFHQUFXO0FBQ3BDLE1BQU1ULFlBQVlhLE9BQU87QUFDekIsTUFBTVosb0JBQW9CYTtJQUN0QkMsWUFBWUMsS0FBSyxFQUFFQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ3pCLE1BQU1DLE1BQU0sT0FBT0YsVUFBVSxZQUFZLFNBQVNBLFFBQVFBLE1BQU1FLEdBQUcsR0FBR0MsT0FBT0g7UUFDNUUsSUFBR04sT0FBT1UsV0FBVyxFQUFFRjtRQUN4QixJQUFJRixpQkFBaUJGLFNBQVMsS0FBSyxDQUFDRSxPQUFPQzthQUN0QyxLQUFLLENBQUNDLEtBQUtEO1FBQ2hCLE1BQU1JLFVBQVUsSUFBSWIsU0FBU2MsT0FBTyxDQUFDSixLQUFLO1lBQ3RDSyxTQUFTLENBQUMsR0FBR2IsT0FBT2MseUJBQXlCLEVBQUUsSUFBSSxDQUFDRCxPQUFPO1lBQzNERSxZQUFZUixLQUFLUSxVQUFVO1FBQy9CO1FBQ0EsSUFBSSxDQUFDekIsVUFBVSxHQUFHO1lBQ2QwQixTQUFTLElBQUlkLFNBQVNlLGNBQWMsQ0FBQyxJQUFJLENBQUNKLE9BQU87WUFDakRLLEtBQUtYLEtBQUtXLEdBQUcsSUFBSSxDQUFDO1lBQ2xCQyxJQUFJWixLQUFLWSxFQUFFO1lBQ1hSO1lBQ0FILEtBQUtZLE1BQThDLEdBQUdaLENBQUdBLEdBQUdHLFFBQVFZLFFBQVE7UUFDaEY7SUFDSjtJQUNBLENBQUNwQixPQUFPcUIsR0FBRyxDQUFDLCtCQUErQixHQUFHO1FBQzFDLE9BQU87WUFDSFIsU0FBUyxJQUFJLENBQUNBLE9BQU87WUFDckJFLEtBQUssSUFBSSxDQUFDQSxHQUFHO1lBQ2JDLElBQUksSUFBSSxDQUFDQSxFQUFFO1lBQ1hSLFNBQVMsSUFBSSxDQUFDQSxPQUFPO1lBQ3JCSCxLQUFLLElBQUksQ0FBQ0EsR0FBRztZQUNiLGtDQUFrQztZQUNsQ2lCLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCQyxPQUFPLElBQUksQ0FBQ0EsS0FBSztZQUNqQkMsYUFBYSxJQUFJLENBQUNBLFdBQVc7WUFDN0JDLGFBQWEsSUFBSSxDQUFDQSxXQUFXO1lBQzdCZixTQUFTNUIsT0FBTzRDLFdBQVcsQ0FBQyxJQUFJLENBQUNoQixPQUFPO1lBQ3hDaUIsV0FBVyxJQUFJLENBQUNBLFNBQVM7WUFDekJDLFdBQVcsSUFBSSxDQUFDQSxTQUFTO1lBQ3pCQyxRQUFRLElBQUksQ0FBQ0EsTUFBTTtZQUNuQkMsTUFBTSxJQUFJLENBQUNBLElBQUk7WUFDZkMsVUFBVSxJQUFJLENBQUNBLFFBQVE7WUFDdkJDLFVBQVUsSUFBSSxDQUFDQSxRQUFRO1lBQ3ZCQyxnQkFBZ0IsSUFBSSxDQUFDQSxjQUFjO1lBQ25DQyxRQUFRLElBQUksQ0FBQ0EsTUFBTTtRQUN2QjtJQUNKO0lBQ0EsSUFBSXJCLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQzFCLFVBQVUsQ0FBQzBCLE9BQU87SUFDbEM7SUFDQSxJQUFJRSxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUM1QixVQUFVLENBQUM0QixHQUFHO0lBQzlCO0lBQ0EsSUFBSUMsS0FBSztRQUNMLE9BQU8sSUFBSSxDQUFDN0IsVUFBVSxDQUFDNkIsRUFBRTtJQUM3QjtJQUNBLElBQUlSLFVBQVU7UUFDVixPQUFPLElBQUksQ0FBQ3JCLFVBQVUsQ0FBQ3FCLE9BQU87SUFDbEM7SUFDQTs7OztHQUlELEdBQUcsSUFBSTJCLE9BQU87UUFDVCxNQUFNLElBQUlyQyxPQUFPc0MsZ0JBQWdCO0lBQ3JDO0lBQ0E7Ozs7R0FJRCxHQUFHLElBQUlDLEtBQUs7UUFDUCxNQUFNLElBQUl2QyxPQUFPd0MsY0FBYztJQUNuQztJQUNBLElBQUlqQyxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUNsQixVQUFVLENBQUNrQixHQUFHO0lBQzlCO0FBQ0osRUFFQSxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3JlcXVlc3QuanM/NWIzNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIElOVEVSTkFMUzogbnVsbCxcbiAgICBOZXh0UmVxdWVzdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBJTlRFUk5BTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gSU5URVJOQUxTO1xuICAgIH0sXG4gICAgTmV4dFJlcXVlc3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gTmV4dFJlcXVlc3Q7XG4gICAgfVxufSk7XG5jb25zdCBfbmV4dHVybCA9IHJlcXVpcmUoXCIuLi9uZXh0LXVybFwiKTtcbmNvbnN0IF91dGlscyA9IHJlcXVpcmUoXCIuLi91dGlsc1wiKTtcbmNvbnN0IF9lcnJvciA9IHJlcXVpcmUoXCIuLi9lcnJvclwiKTtcbmNvbnN0IF9jb29raWVzID0gcmVxdWlyZShcIi4vY29va2llc1wiKTtcbmNvbnN0IElOVEVSTkFMUyA9IFN5bWJvbChcImludGVybmFsIHJlcXVlc3RcIik7XG5jbGFzcyBOZXh0UmVxdWVzdCBleHRlbmRzIFJlcXVlc3Qge1xuICAgIGNvbnN0cnVjdG9yKGlucHV0LCBpbml0ID0ge30pe1xuICAgICAgICBjb25zdCB1cmwgPSB0eXBlb2YgaW5wdXQgIT09IFwic3RyaW5nXCIgJiYgXCJ1cmxcIiBpbiBpbnB1dCA/IGlucHV0LnVybCA6IFN0cmluZyhpbnB1dCk7XG4gICAgICAgICgwLCBfdXRpbHMudmFsaWRhdGVVUkwpKHVybCk7XG4gICAgICAgIGlmIChpbnB1dCBpbnN0YW5jZW9mIFJlcXVlc3QpIHN1cGVyKGlucHV0LCBpbml0KTtcbiAgICAgICAgZWxzZSBzdXBlcih1cmwsIGluaXQpO1xuICAgICAgICBjb25zdCBuZXh0VXJsID0gbmV3IF9uZXh0dXJsLk5leHRVUkwodXJsLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiAoMCwgX3V0aWxzLnRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnMpKHRoaXMuaGVhZGVycyksXG4gICAgICAgICAgICBuZXh0Q29uZmlnOiBpbml0Lm5leHRDb25maWdcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXNbSU5URVJOQUxTXSA9IHtcbiAgICAgICAgICAgIGNvb2tpZXM6IG5ldyBfY29va2llcy5SZXF1ZXN0Q29va2llcyh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgZ2VvOiBpbml0LmdlbyB8fCB7fSxcbiAgICAgICAgICAgIGlwOiBpbml0LmlwLFxuICAgICAgICAgICAgbmV4dFVybCxcbiAgICAgICAgICAgIHVybDogcHJvY2Vzcy5lbnYuX19ORVhUX05PX01JRERMRVdBUkVfVVJMX05PUk1BTElaRSA/IHVybCA6IG5leHRVcmwudG9TdHJpbmcoKVxuICAgICAgICB9O1xuICAgIH1cbiAgICBbU3ltYm9sLmZvcihcImVkZ2UtcnVudGltZS5pbnNwZWN0LmN1c3RvbVwiKV0oKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb29raWVzOiB0aGlzLmNvb2tpZXMsXG4gICAgICAgICAgICBnZW86IHRoaXMuZ2VvLFxuICAgICAgICAgICAgaXA6IHRoaXMuaXAsXG4gICAgICAgICAgICBuZXh0VXJsOiB0aGlzLm5leHRVcmwsXG4gICAgICAgICAgICB1cmw6IHRoaXMudXJsLFxuICAgICAgICAgICAgLy8gcmVzdCBvZiBwcm9wcyBjb21lIGZyb20gUmVxdWVzdFxuICAgICAgICAgICAgYm9keVVzZWQ6IHRoaXMuYm9keVVzZWQsXG4gICAgICAgICAgICBjYWNoZTogdGhpcy5jYWNoZSxcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiB0aGlzLmNyZWRlbnRpYWxzLFxuICAgICAgICAgICAgZGVzdGluYXRpb246IHRoaXMuZGVzdGluYXRpb24sXG4gICAgICAgICAgICBoZWFkZXJzOiBPYmplY3QuZnJvbUVudHJpZXModGhpcy5oZWFkZXJzKSxcbiAgICAgICAgICAgIGludGVncml0eTogdGhpcy5pbnRlZ3JpdHksXG4gICAgICAgICAgICBrZWVwYWxpdmU6IHRoaXMua2VlcGFsaXZlLFxuICAgICAgICAgICAgbWV0aG9kOiB0aGlzLm1ldGhvZCxcbiAgICAgICAgICAgIG1vZGU6IHRoaXMubW9kZSxcbiAgICAgICAgICAgIHJlZGlyZWN0OiB0aGlzLnJlZGlyZWN0LFxuICAgICAgICAgICAgcmVmZXJyZXI6IHRoaXMucmVmZXJyZXIsXG4gICAgICAgICAgICByZWZlcnJlclBvbGljeTogdGhpcy5yZWZlcnJlclBvbGljeSxcbiAgICAgICAgICAgIHNpZ25hbDogdGhpcy5zaWduYWxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZ2V0IGNvb2tpZXMoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMU10uY29va2llcztcbiAgICB9XG4gICAgZ2V0IGdlbygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS5nZW87XG4gICAgfVxuICAgIGdldCBpcCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbSU5URVJOQUxTXS5pcDtcbiAgICB9XG4gICAgZ2V0IG5leHRVcmwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMU10ubmV4dFVybDtcbiAgICB9XG4gICAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIGBwYWdlYCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBgVVJMUGF0dGVybmAuXG4gICAqIFJlYWQgbW9yZTogaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbWlkZGxld2FyZS1yZXF1ZXN0LXBhZ2VcbiAgICovIGdldCBwYWdlKCkge1xuICAgICAgICB0aHJvdyBuZXcgX2Vycm9yLlJlbW92ZWRQYWdlRXJyb3IoKTtcbiAgICB9XG4gICAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqIGB1YWAgaGFzIGJlZW4gcmVtb3ZlZCBpbiBmYXZvdXIgb2YgXFxgdXNlckFnZW50XFxgIGZ1bmN0aW9uLlxuICAgKiBSZWFkIG1vcmU6IGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL21pZGRsZXdhcmUtcGFyc2UtdXNlci1hZ2VudFxuICAgKi8gZ2V0IHVhKCkge1xuICAgICAgICB0aHJvdyBuZXcgX2Vycm9yLlJlbW92ZWRVQUVycm9yKCk7XG4gICAgfVxuICAgIGdldCB1cmwoKSB7XG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMU10udXJsO1xuICAgIH1cbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVxdWVzdC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJJTlRFUk5BTFMiLCJOZXh0UmVxdWVzdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9uZXh0dXJsIiwicmVxdWlyZSIsIl91dGlscyIsIl9lcnJvciIsIl9jb29raWVzIiwiU3ltYm9sIiwiUmVxdWVzdCIsImNvbnN0cnVjdG9yIiwiaW5wdXQiLCJpbml0IiwidXJsIiwiU3RyaW5nIiwidmFsaWRhdGVVUkwiLCJuZXh0VXJsIiwiTmV4dFVSTCIsImhlYWRlcnMiLCJ0b05vZGVPdXRnb2luZ0h0dHBIZWFkZXJzIiwibmV4dENvbmZpZyIsImNvb2tpZXMiLCJSZXF1ZXN0Q29va2llcyIsImdlbyIsImlwIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9OT19NSURETEVXQVJFX1VSTF9OT1JNQUxJWkUiLCJ0b1N0cmluZyIsImZvciIsImJvZHlVc2VkIiwiY2FjaGUiLCJjcmVkZW50aWFscyIsImRlc3RpbmF0aW9uIiwiZnJvbUVudHJpZXMiLCJpbnRlZ3JpdHkiLCJrZWVwYWxpdmUiLCJtZXRob2QiLCJtb2RlIiwicmVkaXJlY3QiLCJyZWZlcnJlciIsInJlZmVycmVyUG9saWN5Iiwic2lnbmFsIiwicGFnZSIsIlJlbW92ZWRQYWdlRXJyb3IiLCJ1YSIsIlJlbW92ZWRVQUVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/request.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/response.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/response.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NextResponse\", ({\n enumerable: true,\n get: function() {\n return NextResponse;\n }\n}));\nconst _nexturl = __webpack_require__(/*! ../next-url */ \"(app-metadata-route)/./node_modules/next/dist/server/web/next-url.js\");\nconst _utils = __webpack_require__(/*! ../utils */ \"(app-metadata-route)/./node_modules/next/dist/server/web/utils.js\");\nconst _cookies = __webpack_require__(/*! ./cookies */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/cookies.js\");\nconst INTERNALS = Symbol(\"internal response\");\nconst REDIRECTS = new Set([\n 301,\n 302,\n 303,\n 307,\n 308\n]);\nfunction handleMiddlewareField(init, headers) {\n var _init_request;\n if (init == null ? void 0 : (_init_request = init.request) == null ? void 0 : _init_request.headers) {\n if (!(init.request.headers instanceof Headers)) {\n throw new Error(\"request.headers must be an instance of Headers\");\n }\n const keys = [];\n for (const [key, value] of init.request.headers){\n headers.set(\"x-middleware-request-\" + key, value);\n keys.push(key);\n }\n headers.set(\"x-middleware-override-headers\", keys.join(\",\"));\n }\n}\nclass NextResponse extends Response {\n constructor(body, init = {}){\n super(body, init);\n this[INTERNALS] = {\n cookies: new _cookies.ResponseCookies(this.headers),\n url: init.url ? new _nexturl.NextURL(init.url, {\n headers: (0, _utils.toNodeOutgoingHttpHeaders)(this.headers),\n nextConfig: init.nextConfig\n }) : undefined\n };\n }\n [Symbol.for(\"edge-runtime.inspect.custom\")]() {\n return {\n cookies: this.cookies,\n url: this.url,\n // rest of props come from Response\n body: this.body,\n bodyUsed: this.bodyUsed,\n headers: Object.fromEntries(this.headers),\n ok: this.ok,\n redirected: this.redirected,\n status: this.status,\n statusText: this.statusText,\n type: this.type\n };\n }\n get cookies() {\n return this[INTERNALS].cookies;\n }\n static json(body, init) {\n const response = Response.json(body, init);\n return new NextResponse(response.body, response);\n }\n static redirect(url, init) {\n const status = typeof init === \"number\" ? init : (init == null ? void 0 : init.status) ?? 307;\n if (!REDIRECTS.has(status)) {\n throw new RangeError('Failed to execute \"redirect\" on \"response\": Invalid status code');\n }\n const initObj = typeof init === \"object\" ? init : {};\n const headers = new Headers(initObj == null ? void 0 : initObj.headers);\n headers.set(\"Location\", (0, _utils.validateURL)(url));\n return new NextResponse(null, {\n ...initObj,\n headers,\n status\n });\n }\n static rewrite(destination, init) {\n const headers = new Headers(init == null ? void 0 : init.headers);\n headers.set(\"x-middleware-rewrite\", (0, _utils.validateURL)(destination));\n handleMiddlewareField(init, headers);\n return new NextResponse(null, {\n ...init,\n headers\n });\n }\n static next(init) {\n const headers = new Headers(init == null ? void 0 : init.headers);\n headers.set(\"x-middleware-next\", \"1\");\n handleMiddlewareField(init, headers);\n return new NextResponse(null, {\n ...init,\n headers\n });\n }\n} //# sourceMappingURL=response.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVzcG9uc2UuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGdEQUErQztJQUMzQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFdBQVdDLG1CQUFPQSxDQUFDLHlGQUFhO0FBQ3RDLE1BQU1DLFNBQVNELG1CQUFPQSxDQUFDLG1GQUFVO0FBQ2pDLE1BQU1FLFdBQVdGLG1CQUFPQSxDQUFDLHFHQUFXO0FBQ3BDLE1BQU1HLFlBQVlDLE9BQU87QUFDekIsTUFBTUMsWUFBWSxJQUFJQyxJQUFJO0lBQ3RCO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7Q0FDSDtBQUNELFNBQVNDLHNCQUFzQkMsSUFBSSxFQUFFQyxPQUFPO0lBQ3hDLElBQUlDO0lBQ0osSUFBSUYsUUFBUSxPQUFPLEtBQUssSUFBSSxDQUFDRSxnQkFBZ0JGLEtBQUtHLE9BQU8sS0FBSyxPQUFPLEtBQUssSUFBSUQsY0FBY0QsT0FBTyxFQUFFO1FBQ2pHLElBQUksQ0FBRUQsQ0FBQUEsS0FBS0csT0FBTyxDQUFDRixPQUFPLFlBQVlHLE9BQU0sR0FBSTtZQUM1QyxNQUFNLElBQUlDLE1BQU07UUFDcEI7UUFDQSxNQUFNQyxPQUFPLEVBQUU7UUFDZixLQUFLLE1BQU0sQ0FBQ0MsS0FBS3BCLE1BQU0sSUFBSWEsS0FBS0csT0FBTyxDQUFDRixPQUFPLENBQUM7WUFDNUNBLFFBQVFPLEdBQUcsQ0FBQywwQkFBMEJELEtBQUtwQjtZQUMzQ21CLEtBQUtHLElBQUksQ0FBQ0Y7UUFDZDtRQUNBTixRQUFRTyxHQUFHLENBQUMsaUNBQWlDRixLQUFLSSxJQUFJLENBQUM7SUFDM0Q7QUFDSjtBQUNBLE1BQU1wQixxQkFBcUJxQjtJQUN2QkMsWUFBWUMsSUFBSSxF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bWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL3Jlc3BvbnNlLmpzPzJmOGIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJOZXh0UmVzcG9uc2VcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5leHRSZXNwb25zZTtcbiAgICB9XG59KTtcbmNvbnN0IF9uZXh0dXJsID0gcmVxdWlyZShcIi4uL25leHQtdXJsXCIpO1xuY29uc3QgX3V0aWxzID0gcmVxdWlyZShcIi4uL3V0aWxzXCIpO1xuY29uc3QgX2Nvb2tpZXMgPSByZXF1aXJlKFwiLi9jb29raWVzXCIpO1xuY29uc3QgSU5URVJOQUxTID0gU3ltYm9sKFwiaW50ZXJuYWwgcmVzcG9uc2VcIik7XG5jb25zdCBSRURJUkVDVFMgPSBuZXcgU2V0KFtcbiAgICAzMDEsXG4gICAgMzAyLFxuICAgIDMwMyxcbiAgICAzMDcsXG4gICAgMzA4XG5dKTtcbmZ1bmN0aW9uIGhhbmRsZU1pZGRsZXdhcmVGaWVsZChpbml0LCBoZWFkZXJzKSB7XG4gICAgdmFyIF9pbml0X3JlcXVlc3Q7XG4gICAgaWYgKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IChfaW5pdF9yZXF1ZXN0ID0gaW5pdC5yZXF1ZXN0KSA9PSBudWxsID8gdm9pZCAwIDogX2luaXRfcmVxdWVzdC5oZWFkZXJzKSB7XG4gICAgICAgIGlmICghKGluaXQucmVxdWVzdC5oZWFkZXJzIGluc3RhbmNlb2YgSGVhZGVycykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInJlcXVlc3QuaGVhZGVycyBtdXN0IGJlIGFuIGluc3RhbmNlIG9mIEhlYWRlcnNcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBpbml0LnJlcXVlc3QuaGVhZGVycyl7XG4gICAgICAgICAgICBoZWFkZXJzLnNldChcIngtbWlkZGxld2FyZS1yZXF1ZXN0LVwiICsga2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICBrZXlzLnB1c2goa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBoZWFkZXJzLnNldChcIngtbWlkZGxld2FyZS1vdmVycmlkZS1oZWFkZXJzXCIsIGtleXMuam9pbihcIixcIikpO1xuICAgIH1cbn1cbmNsYXNzIE5leHRSZXNwb25zZSBleHRlbmRzIFJlc3BvbnNlIHtcbiAgICBjb25zdHJ1Y3Rvcihib2R5LCBpbml0ID0ge30pe1xuICAgICAgICBzdXBlcihib2R5LCBpbml0KTtcbiAgICAgICAgdGhpc1tJTlRFUk5BTFNdID0ge1xuICAgICAgICAgICAgY29va2llczogbmV3IF9jb29raWVzLlJlc3BvbnNlQ29va2llcyh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgdXJsOiBpbml0LnVybCA/IG5ldyBfbmV4dHVybC5OZXh0VVJMKGluaXQudXJsLCB7XG4gICAgICAgICAgICAgICAgaGVhZGVyczogKDAsIF91dGlscy50b05vZGVPdXRnb2luZ0h0dHBIZWFkZXJzKSh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgICAgIG5leHRDb25maWc6IGluaXQubmV4dENvbmZpZ1xuICAgICAgICAgICAgfSkgOiB1bmRlZmluZWRcbiAgICAgICAgfTtcbiAgICB9XG4gICAgW1N5bWJvbC5mb3IoXCJlZGdlLXJ1bnRpbWUuaW5zcGVjdC5jdXN0b21cIildKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgY29va2llczogdGhpcy5jb29raWVzLFxuICAgICAgICAgICAgdXJsOiB0aGlzLnVybCxcbiAgICAgICAgICAgIC8vIHJlc3Qgb2YgcHJvcHMgY29tZSBmcm9tIFJlc3BvbnNlXG4gICAgICAgICAgICBib2R5OiB0aGlzLmJvZHksXG4gICAgICAgICAgICBib2R5VXNlZDogdGhpcy5ib2R5VXNlZCxcbiAgICAgICAgICAgIGhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyh0aGlzLmhlYWRlcnMpLFxuICAgICAgICAgICAgb2s6IHRoaXMub2ssXG4gICAgICAgICAgICByZWRpcmVjdGVkOiB0aGlzLnJlZGlyZWN0ZWQsXG4gICAgICAgICAgICBzdGF0dXM6IHRoaXMuc3RhdHVzLFxuICAgICAgICAgICAgc3RhdHVzVGV4dDogdGhpcy5zdGF0dXNUZXh0LFxuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlXG4gICAgICAgIH07XG4gICAgfVxuICAgIGdldCBjb29raWVzKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tJTlRFUk5BTFNdLmNvb2tpZXM7XG4gICAgfVxuICAgIHN0YXRpYyBqc29uKGJvZHksIGluaXQpIHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBSZXNwb25zZS5qc29uKGJvZHksIGluaXQpO1xuICAgICAgICByZXR1cm4gbmV3IE5leHRSZXNwb25zZShyZXNwb25zZS5ib2R5LCByZXNwb25zZSk7XG4gICAgfVxuICAgIHN0YXRpYyByZWRpcmVjdCh1cmwsIGluaXQpIHtcbiAgICAgICAgY29uc3Qgc3RhdHVzID0gdHlwZW9mIGluaXQgPT09IFwibnVtYmVyXCIgPyBpbml0IDogKGluaXQgPT0gbnVsbCA/IHZvaWQgMCA6IGluaXQuc3RhdHVzKSA/PyAzMDc7XG4gICAgICAgIGlmICghUkVESVJFQ1RTLmhhcyhzdGF0dXMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignRmFpbGVkIHRvIGV4ZWN1dGUgXCJyZWRpcmVjdFwiIG9uIFwicmVzcG9uc2VcIjogSW52YWxpZCBzdGF0dXMgY29kZScpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGluaXRPYmogPSB0eXBlb2YgaW5pdCA9PT0gXCJvYmplY3RcIiA/IGluaXQgOiB7fTtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKGluaXRPYmogPT0gbnVsbCA/IHZvaWQgMCA6IGluaXRPYmouaGVhZGVycyk7XG4gICAgICAgIGhlYWRlcnMuc2V0KFwiTG9jYXRpb25cIiwgKDAsIF91dGlscy52YWxpZGF0ZVVSTCkodXJsKSk7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKG51bGwsIHtcbiAgICAgICAgICAgIC4uLmluaXRPYmosXG4gICAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgICAgc3RhdHVzXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgcmV3cml0ZShkZXN0aW5hdGlvbiwgaW5pdCkge1xuICAgICAgICBjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMoaW5pdCA9PSBudWxsID8gdm9pZCAwIDogaW5pdC5oZWFkZXJzKTtcbiAgICAgICAgaGVhZGVycy5zZXQoXCJ4LW1pZGRsZXdhcmUtcmV3cml0ZVwiLCAoMCwgX3V0aWxzLnZhbGlkYXRlVVJMKShkZXN0aW5hdGlvbikpO1xuICAgICAgICBoYW5kbGVNaWRkbGV3YXJlRmllbGQoaW5pdCwgaGVhZGVycyk7XG4gICAgICAgIHJldHVybiBuZXcgTmV4dFJlc3BvbnNlKG51bGwsIHtcbiAgICAgICAgICAgIC4uLmluaXQsXG4gICAgICAgICAgICBoZWFkZXJzXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgbmV4dChpbml0KSB7XG4gICAgICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhpbml0ID09IG51bGwgPyB2b2lkIDAgOiBpbml0LmhlYWRlcnMpO1xuICAgICAgICBoZWFkZXJzLnNldChcIngtbWlkZGxld2FyZS1uZXh0XCIsIFwiMVwiKTtcbiAgICAgICAgaGFuZGxlTWlkZGxld2FyZUZpZWxkKGluaXQsIGhlYWRlcnMpO1xuICAgICAgICByZXR1cm4gbmV3IE5leHRSZXNwb25zZShudWxsLCB7XG4gICAgICAgICAgICAuLi5pbml0LFxuICAgICAgICAgICAgaGVhZGVyc1xuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlc3BvbnNlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJOZXh0UmVzcG9uc2UiLCJfbmV4dHVybCIsInJlcXVpcmUiLCJfdXRpbHMiLCJfY29va2llcyIsIklOVEVSTkFMUyIsIlN5bWJvbCIsIlJFRElSRUNUUyIsIlNldCIsImhhbmRsZU1pZGRsZXdhcmVGaWVsZCIsImluaXQiLCJoZWFkZXJzIiwiX2luaXRfcmVxdWVzdCIsInJlcXVlc3QiLCJIZWFkZXJzIiwiRXJyb3IiLCJrZXlzIiwia2V5Iiwic2V0IiwicHVzaCIsImpvaW4iLCJSZXNwb25zZSIsImNvbnN0cnVjdG9yIiwiYm9keSIsImNvb2tpZXMiLCJSZXNwb25zZUNvb2tpZXMiLCJ1cmwiLCJOZXh0VVJMIiwidG9Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycyIsIm5leHRDb25maWciLCJ1bmRlZmluZWQiLCJmb3IiLCJib2R5VXNlZCIsImZyb21FbnRyaWVzIiwib2siLCJyZWRpcmVjdGVkIiwic3RhdHVzIiwic3RhdHVzVGV4dCIsInR5cGUiLCJqc29uIiwicmVzcG9uc2UiLCJyZWRpcmVjdCIsImhhcyIsIlJhbmdlRXJyb3IiLCJpbml0T2JqIiwidmFsaWRhdGVVUkwiLCJyZXdyaXRlIiwiZGVzdGluYXRpb24iLCJuZXh0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/response.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/server/web/spec-extension/user-agent.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isBot: function() {\n return isBot;\n },\n userAgentFromString: function() {\n return userAgentFromString;\n },\n userAgent: function() {\n return userAgent;\n }\n});\nconst _uaparserjs = /*#__PURE__*/ _interop_require_default(__webpack_require__(/*! next/dist/compiled/ua-parser-js */ \"(app-metadata-route)/./node_modules/next/dist/compiled/ua-parser-js/ua-parser.js\"));\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n}\nfunction isBot(input) {\n return /Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Google-InspectionTool|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(input);\n}\nfunction userAgentFromString(input) {\n return {\n ...(0, _uaparserjs.default)(input),\n isBot: input === undefined ? false : isBot(input)\n };\n}\nfunction userAgent({ headers }) {\n return userAgentFromString(headers.get(\"user-agent\") || undefined);\n} //# sourceMappingURL=user-agent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vdXNlci1hZ2VudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsT0FBTztRQUNILE9BQU9BO0lBQ1g7SUFDQUMscUJBQXFCO1FBQ2pCLE9BQU9BO0lBQ1g7SUFDQUMsV0FBVztRQUNQLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGNBQWMsV0FBVyxHQUFHQyx5QkFBeUJDLG1CQUFPQSxDQUFDLHlIQUFpQztBQUNwRyxTQUFTRCx5QkFBeUJFLEdBQUc7SUFDakMsT0FBT0EsT0FBT0EsSUFBSUMsVUFBVSxHQUFHRCxNQUFNO1FBQ2pDRSxTQUFTRjtJQUNiO0FBQ0o7QUFDQSxTQUFTWixNQUFNZSxLQUFLO0lBQ2hCLE9BQU8sMFdBQTBXQyxJQUFJLENBQUNEO0FBQzFYO0FBQ0EsU0FBU2Qsb0JBQW9CYyxLQUFLO0lBQzlCLE9BQU87UUFDSCxHQUFHLENBQUMsR0FBR04sWUFBWUssT0FBTyxFQUFFQyxNQUFNO1FBQ2xDZixPQUFPZSxVQUFVRSxZQUFZLFFBQVFqQixNQUFNZTtJQUMvQztBQUNKO0FBQ0EsU0FBU2IsVUFBVSxFQUFFZ0IsT0FBTyxFQUFFO0lBQzFCLE9BQU9qQixvQkFBb0JpQixRQUFRVixHQUFHLENBQUMsaUJBQWlCUztBQUM1RCxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vdXNlci1hZ2VudC5qcz85NDM3Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgaXNCb3Q6IG51bGwsXG4gICAgdXNlckFnZW50RnJvbVN0cmluZzogbnVsbCxcbiAgICB1c2VyQWdlbnQ6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNCb3Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNCb3Q7XG4gICAgfSxcbiAgICB1c2VyQWdlbnRGcm9tU3RyaW5nOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHVzZXJBZ2VudEZyb21TdHJpbmc7XG4gICAgfSxcbiAgICB1c2VyQWdlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlckFnZW50O1xuICAgIH1cbn0pO1xuY29uc3QgX3VhcGFyc2VyanMgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3VhLXBhcnNlci1qc1wiKSk7XG5mdW5jdGlvbiBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQob2JqKSB7XG4gICAgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHtcbiAgICAgICAgZGVmYXVsdDogb2JqXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGlzQm90KGlucHV0KSB7XG4gICAgcmV0dXJuIC9Hb29nbGVib3R8TWVkaWFwYXJ0bmVycy1Hb29nbGV8QWRzQm90LUdvb2dsZXxnb29nbGV3ZWJsaWdodHxTdG9yZWJvdC1Hb29nbGV8R29vZ2xlLVBhZ2VSZW5kZXJlcnxHb29nbGUtSW5zcGVjdGlvblRvb2x8QmluZ2JvdHxCaW5nUHJldmlld3xTbHVycHxEdWNrRHVja0JvdHxiYWlkdXNwaWRlcnx5YW5kZXh8c29nb3V8TGlua2VkSW5Cb3R8Yml0bHlib3R8dHVtYmxyfHZrU2hhcmV8cXVvcmEgbGluayBwcmV2aWV3fGZhY2Vib29rZXh0ZXJuYWxoaXR8ZmFjZWJvb2tjYXRhbG9nfFR3aXR0ZXJib3R8YXBwbGVib3R8cmVkZGl0Ym90fFNsYWNrYm90fERpc2NvcmRib3R8V2hhdHNBcHB8U2t5cGVVcmlQcmV2aWV3fGlhX2FyY2hpdmVyL2kudGVzdChpbnB1dCk7XG59XG5mdW5jdGlvbiB1c2VyQWdlbnRGcm9tU3RyaW5nKGlucHV0KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uKDAsIF91YXBhcnNlcmpzLmRlZmF1bHQpKGlucHV0KSxcbiAgICAgICAgaXNCb3Q6IGlucHV0ID09PSB1bmRlZmluZWQgPyBmYWxzZSA6IGlzQm90KGlucHV0KVxuICAgIH07XG59XG5mdW5jdGlvbiB1c2VyQWdlbnQoeyBoZWFkZXJzIH0pIHtcbiAgICByZXR1cm4gdXNlckFnZW50RnJvbVN0cmluZyhoZWFkZXJzLmdldChcInVzZXItYWdlbnRcIikgfHwgdW5kZWZpbmVkKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXNlci1hZ2VudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJpc0JvdCIsInVzZXJBZ2VudEZyb21TdHJpbmciLCJ1c2VyQWdlbnQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfdWFwYXJzZXJqcyIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImlucHV0IiwidGVzdCIsInVuZGVmaW5lZCIsImhlYWRlcnMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/server/web/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/server/web/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n fromNodeOutgoingHttpHeaders: function() {\n return fromNodeOutgoingHttpHeaders;\n },\n splitCookiesString: function() {\n return splitCookiesString;\n },\n toNodeOutgoingHttpHeaders: function() {\n return toNodeOutgoingHttpHeaders;\n },\n validateURL: function() {\n return validateURL;\n }\n});\nfunction fromNodeOutgoingHttpHeaders(nodeHeaders) {\n const headers = new Headers();\n for (let [key, value] of Object.entries(nodeHeaders)){\n const values = Array.isArray(value) ? value : [\n value\n ];\n for (let v of values){\n if (typeof v === \"undefined\") continue;\n if (typeof v === \"number\") {\n v = v.toString();\n }\n headers.append(key, v);\n }\n }\n return headers;\n}\nfunction splitCookiesString(cookiesString) {\n var cookiesStrings = [];\n var pos = 0;\n var start;\n var ch;\n var lastComma;\n var nextStart;\n var cookiesSeparatorFound;\n function skipWhitespace() {\n while(pos < cookiesString.length && /\\s/.test(cookiesString.charAt(pos))){\n pos += 1;\n }\n return pos < cookiesString.length;\n }\n function notSpecialChar() {\n ch = cookiesString.charAt(pos);\n return ch !== \"=\" && ch !== \";\" && ch !== \",\";\n }\n while(pos < cookiesString.length){\n start = pos;\n cookiesSeparatorFound = false;\n while(skipWhitespace()){\n ch = cookiesString.charAt(pos);\n if (ch === \",\") {\n // ',' is a cookie separator if we have later first '=', not ';' or ','\n lastComma = pos;\n pos += 1;\n skipWhitespace();\n nextStart = pos;\n while(pos < cookiesString.length && notSpecialChar()){\n pos += 1;\n }\n // currently special character\n if (pos < cookiesString.length && cookiesString.charAt(pos) === \"=\") {\n // we found cookies separator\n cookiesSeparatorFound = true;\n // pos is inside the next cookie, so back up and return it.\n pos = nextStart;\n cookiesStrings.push(cookiesString.substring(start, lastComma));\n start = pos;\n } else {\n // in param ',' or param separator ';',\n // we continue from that comma\n pos = lastComma + 1;\n }\n } else {\n pos += 1;\n }\n }\n if (!cookiesSeparatorFound || pos >= cookiesString.length) {\n cookiesStrings.push(cookiesString.substring(start, cookiesString.length));\n }\n }\n return cookiesStrings;\n}\nfunction toNodeOutgoingHttpHeaders(headers) {\n const nodeHeaders = {};\n const cookies = [];\n if (headers) {\n for (const [key, value] of headers.entries()){\n if (key.toLowerCase() === \"set-cookie\") {\n // We may have gotten a comma joined string of cookies, or multiple\n // set-cookie headers. We need to merge them into one header array\n // to represent all the cookies.\n cookies.push(...splitCookiesString(value));\n nodeHeaders[key] = cookies.length === 1 ? cookies[0] : cookies;\n } else {\n nodeHeaders[key] = value;\n }\n }\n }\n return nodeHeaders;\n}\nfunction validateURL(url) {\n try {\n return String(new URL(String(url)));\n } catch (error) {\n throw new Error(`URL is malformed \"${String(url)}\". Please use only absolute URLs - https://nextjs.org/docs/messages/middleware-relative-urls`, {\n cause: error\n });\n }\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NlcnZlci93ZWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FLTjtBQUNBLFNBQVNLLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlYLE9BQU9DLGNBQWMsQ0FBQ1MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRUCxTQUFTO0lBQ2JHLDZCQUE2QjtRQUN6QixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQjtRQUNoQixPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTSCw0QkFBNEJVLFdBQVc7SUFDNUMsTUFBTUMsVUFBVSxJQUFJQztJQUNwQixLQUFLLElBQUksQ0FBQ0MsS0FBS2YsTUFBTSxJQUFJSCxPQUFPbUIsT0FBTyxDQUFDSixhQUFhO1FBQ2pELE1BQU1LLFNBQVNDLE1BQU1DLE9BQU8sQ0FBQ25CLFNBQVNBLFFBQVE7WUFDMUNBO1NBQ0g7UUFDRCxLQUFLLElBQUlvQixLQUFLSCxPQUFPO1lBQ2pCLElBQUksT0FBT0csTUFBTSxhQUFhO1lBQzlCLElBQUksT0FBT0EsTUFBTSxVQUFVO2dCQUN2QkEsSUFBSUEsRUFBRUMsUUFBUTtZQUNsQjtZQUNBUixRQUFRUyxNQUFNLENBQUNQLEtBQUtLO1FBQ3hCO0lBQ0o7SUFDQSxPQUFPUDtBQUNYO0FBQ0EsU0FBU1YsbUJBQW1Cb0IsYUFBYTtJQUNyQyxJQUFJQyxpQkFBaUIsRUFBRTtJQUN2QixJQUFJQyxNQUFNO0lBQ1YsSUFBSUM7SUFDSixJQUFJQztJQUNKLElBQUlDO0lBQ0osSUFBSUM7SUFDSixJQUFJQztJQUNKLFNBQVNDO1FBQ0wsTUFBTU4sTUFBTUYsY0FBY1MsTUFBTSxJQUFJLEtBQUtDLElBQUksQ0FBQ1YsY0FBY1csTUFBTSxDQUFDVCxNQUFNO1lBQ3JFQSxPQUFPO1FBQ1g7UUFDQSxPQUFPQSxNQUFNRixjQUFjUyxNQUFNO0lBQ3JDO0lBQ0EsU0FBU0c7UUFDTFIsS0FBS0osY0FBY1csTUFBTSxDQUFDVDtRQUMxQixPQUFPRSxPQUFPLE9BQU9BLE9BQU8sT0FBT0EsT0FBTztJQUM5QztJQUNBLE1BQU1GLE1BQU1GLGNBQWNTLE1BQU0sQ0FBQztRQUM3Qk4sUUFBUUQ7UUFDUkssd0JBQXdCO1FBQ3hCLE1BQU1DLGlCQUFpQjtZQUNuQkosS0FBS0osY0FBY1csTUFBTSxDQUFDVDtZQUMxQixJQUFJRSxPQUFPLEtBQUs7Z0JBQ1osdUVBQXVFO2dCQUN2RUMsWUFBWUg7Z0JBQ1pBLE9BQU87Z0JBQ1BNO2dCQUNBRixZQUFZSjtnQkFDWixNQUFNQSxNQUFNRixjQUFjUyxNQUFNLElBQUlHLGlCQUFpQjtvQkFDakRWLE9BQU87Z0JBQ1g7Z0JBQ0EsOEJBQThCO2dCQUM5QixJQUFJQSxNQUFNRixjQUFjUyxNQUFNLElBQUlULGNBQWNXLE1BQU0sQ0FBQ1QsU0FBUyxLQUFLO29CQUNqRSw2QkFBNkI7b0JBQzdCSyx3QkFBd0I7b0JBQ3hCLDJEQUEyRDtvQkFDM0RMLE1BQU1JO29CQUNOTCxlQUFlWSxJQUFJLENBQUNiLGNBQWNjLFNBQVMsQ0FBQ1gsT0FBT0U7b0JBQ25ERixRQUFRRDtnQkFDWixPQUFPO29CQUNILHVDQUF1QztvQkFDdkMsOEJBQThCO29CQUM5QkEsTUFBTUcsWUFBWTtnQkFDdEI7WUFDSixPQUFPO2dCQUNISCxPQUFPO1lBQ1g7UUFDSjtRQUNBLElBQUksQ0FBQ0sseUJBQXlCTCxPQUFPRixjQUFjUyxNQUFNLEVBQUU7WUFDdkRSLGVBQWVZLElBQUksQ0FBQ2IsY0FBY2MsU0FBUyxDQUFDWCxPQUFPSCxjQUFjUyxNQUFNO1FBQzNFO0lBQ0o7SUFDQSxPQUFPUjtBQUNYO0FBQ0EsU0FBU3BCLDBCQUEwQlMsT0FBTztJQUN0QyxNQUFNRCxjQUFjLENBQUM7SUFDckIsTUFBTTBCLFVBQVUsRUFBRTtJQUNsQixJQUFJekIsU0FBUztRQUNULEtBQUssTUFBTSxDQUFDRSxLQUFLZixNQUFNLElBQUlhLFFBQVFHLE9BQU8sR0FBRztZQUN6QyxJQUFJRCxJQUFJd0IsV0FBVyxPQUFPLGNBQWM7Z0JBQ3BDLG1FQUFtRTtnQkFDbkUsa0VBQWtFO2dCQUNsRSxnQ0FBZ0M7Z0JBQ2hDRCxRQUFRRixJQUFJLElBQUlqQyxtQkFBbUJIO2dCQUNuQ1ksV0FBVyxDQUFDRyxJQUFJLEdBQUd1QixRQUFRTixNQUFNLEtBQUssSUFBSU0sT0FBTyxDQUFDLEVBQUUsR0FBR0E7WUFDM0QsT0FBTztnQkFDSDFCLFdBQVcsQ0FBQ0csSUFBSSxHQUFHZjtZQUN2QjtRQUNKO0lBQ0o7SUFDQSxPQUFPWTtBQUNYO0FBQ0EsU0FBU1AsWUFBWW1DLEdBQUc7SUFDcEIsSUFBSTtRQUNBLE9BQU9DLE9BQU8sSUFBSUMsSUFBSUQsT0FBT0Q7SUFDakMsRUFBRSxPQUFPRyxPQUFPO1FBQ1osTUFBTSxJQUFJQyxNQUFNLENBQUMsa0JBQWtCLEVBQUVILE9BQU9ELEtBQUssNEZBQTRGLENBQUMsRUFBRTtZQUM1SUssT0FBT0Y7UUFDWDtJQUNKO0FBQ0osRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zZXJ2ZXIvd2ViL3V0aWxzLmpzPzJhNzYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBmcm9tTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IG51bGwsXG4gICAgc3BsaXRDb29raWVzU3RyaW5nOiBudWxsLFxuICAgIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM6IG51bGwsXG4gICAgdmFsaWRhdGVVUkw6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZnJvbU5vZGVPdXRnb2luZ0h0dHBIZWFkZXJzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZyb21Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycztcbiAgICB9LFxuICAgIHNwbGl0Q29va2llc1N0cmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzcGxpdENvb2tpZXNTdHJpbmc7XG4gICAgfSxcbiAgICB0b05vZGVPdXRnb2luZ0h0dHBIZWFkZXJzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnM7XG4gICAgfSxcbiAgICB2YWxpZGF0ZVVSTDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB2YWxpZGF0ZVVSTDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGZyb21Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycyhub2RlSGVhZGVycykge1xuICAgIGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycygpO1xuICAgIGZvciAobGV0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhub2RlSGVhZGVycykpe1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW1xuICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgXTtcbiAgICAgICAgZm9yIChsZXQgdiBvZiB2YWx1ZXMpe1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2ID09PSBcInVuZGVmaW5lZFwiKSBjb250aW51ZTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgdiA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgIHYgPSB2LnRvU3RyaW5nKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoZWFkZXJzLmFwcGVuZChrZXksIHYpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBoZWFkZXJzO1xufVxuZnVuY3Rpb24gc3BsaXRDb29raWVzU3RyaW5nKGNvb2tpZXNTdHJpbmcpIHtcbiAgICB2YXIgY29va2llc1N0cmluZ3MgPSBbXTtcbiAgICB2YXIgcG9zID0gMDtcbiAgICB2YXIgc3RhcnQ7XG4gICAgdmFyIGNoO1xuICAgIHZhciBsYXN0Q29tbWE7XG4gICAgdmFyIG5leHRTdGFydDtcbiAgICB2YXIgY29va2llc1NlcGFyYXRvckZvdW5kO1xuICAgIGZ1bmN0aW9uIHNraXBXaGl0ZXNwYWNlKCkge1xuICAgICAgICB3aGlsZShwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCAmJiAvXFxzLy50ZXN0KGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcykpKXtcbiAgICAgICAgICAgIHBvcyArPSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aDtcbiAgICB9XG4gICAgZnVuY3Rpb24gbm90U3BlY2lhbENoYXIoKSB7XG4gICAgICAgIGNoID0gY29va2llc1N0cmluZy5jaGFyQXQocG9zKTtcbiAgICAgICAgcmV0dXJuIGNoICE9PSBcIj1cIiAmJiBjaCAhPT0gXCI7XCIgJiYgY2ggIT09IFwiLFwiO1xuICAgIH1cbiAgICB3aGlsZShwb3MgPCBjb29raWVzU3RyaW5nLmxlbmd0aCl7XG4gICAgICAgIHN0YXJ0ID0gcG9zO1xuICAgICAgICBjb29raWVzU2VwYXJhdG9yRm91bmQgPSBmYWxzZTtcbiAgICAgICAgd2hpbGUoc2tpcFdoaXRlc3BhY2UoKSl7XG4gICAgICAgICAgICBjaCA9IGNvb2tpZXNTdHJpbmcuY2hhckF0KHBvcyk7XG4gICAgICAgICAgICBpZiAoY2ggPT09IFwiLFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gJywnIGlzIGEgY29va2llIHNlcGFyYXRvciBpZiB3ZSBoYXZlIGxhdGVyIGZpcnN0ICc9Jywgbm90ICc7JyBvciAnLCdcbiAgICAgICAgICAgICAgICBsYXN0Q29tbWEgPSBwb3M7XG4gICAgICAgICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgICAgICAgICAgc2tpcFdoaXRlc3BhY2UoKTtcbiAgICAgICAgICAgICAgICBuZXh0U3RhcnQgPSBwb3M7XG4gICAgICAgICAgICAgICAgd2hpbGUocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgbm90U3BlY2lhbENoYXIoKSl7XG4gICAgICAgICAgICAgICAgICAgIHBvcyArPSAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBjdXJyZW50bHkgc3BlY2lhbCBjaGFyYWN0ZXJcbiAgICAgICAgICAgICAgICBpZiAocG9zIDwgY29va2llc1N0cmluZy5sZW5ndGggJiYgY29va2llc1N0cmluZy5jaGFyQXQocG9zKSA9PT0gXCI9XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gd2UgZm91bmQgY29va2llcyBzZXBhcmF0b3JcbiAgICAgICAgICAgICAgICAgICAgY29va2llc1NlcGFyYXRvckZvdW5kID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcG9zIGlzIGluc2lkZSB0aGUgbmV4dCBjb29raWUsIHNvIGJhY2sgdXAgYW5kIHJldHVybiBpdC5cbiAgICAgICAgICAgICAgICAgICAgcG9zID0gbmV4dFN0YXJ0O1xuICAgICAgICAgICAgICAgICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBsYXN0Q29tbWEpKTtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBwb3M7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gaW4gcGFyYW0gJywnIG9yIHBhcmFtIHNlcGFyYXRvciAnOycsXG4gICAgICAgICAgICAgICAgICAgIC8vIHdlIGNvbnRpbnVlIGZyb20gdGhhdCBjb21tYVxuICAgICAgICAgICAgICAgICAgICBwb3MgPSBsYXN0Q29tbWEgKyAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcG9zICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjb29raWVzU2VwYXJhdG9yRm91bmQgfHwgcG9zID49IGNvb2tpZXNTdHJpbmcubGVuZ3RoKSB7XG4gICAgICAgICAgICBjb29raWVzU3RyaW5ncy5wdXNoKGNvb2tpZXNTdHJpbmcuc3Vic3RyaW5nKHN0YXJ0LCBjb29raWVzU3RyaW5nLmxlbmd0aCkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb29raWVzU3RyaW5ncztcbn1cbmZ1bmN0aW9uIHRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnMoaGVhZGVycykge1xuICAgIGNvbnN0IG5vZGVIZWFkZXJzID0ge307XG4gICAgY29uc3QgY29va2llcyA9IFtdO1xuICAgIGlmIChoZWFkZXJzKSB7XG4gICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIGhlYWRlcnMuZW50cmllcygpKXtcbiAgICAgICAgICAgIGlmIChrZXkudG9Mb3dlckNhc2UoKSA9PT0gXCJzZXQtY29va2llXCIpIHtcbiAgICAgICAgICAgICAgICAvLyBXZSBtYXkgaGF2ZSBnb3R0ZW4gYSBjb21tYSBqb2luZWQgc3RyaW5nIG9mIGNvb2tpZXMsIG9yIG11bHRpcGxlXG4gICAgICAgICAgICAgICAgLy8gc2V0LWNvb2tpZSBoZWFkZXJzLiBXZSBuZWVkIHRvIG1lcmdlIHRoZW0gaW50byBvbmUgaGVhZGVyIGFycmF5XG4gICAgICAgICAgICAgICAgLy8gdG8gcmVwcmVzZW50IGFsbCB0aGUgY29va2llcy5cbiAgICAgICAgICAgICAgICBjb29raWVzLnB1c2goLi4uc3BsaXRDb29raWVzU3RyaW5nKHZhbHVlKSk7XG4gICAgICAgICAgICAgICAgbm9kZUhlYWRlcnNba2V5XSA9IGNvb2tpZXMubGVuZ3RoID09PSAxID8gY29va2llc1swXSA6IGNvb2tpZXM7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG5vZGVIZWFkZXJzW2tleV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbm9kZUhlYWRlcnM7XG59XG5mdW5jdGlvbiB2YWxpZGF0ZVVSTCh1cmwpIHtcbiAgICB0cnkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKG5ldyBVUkwoU3RyaW5nKHVybCkpKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVSTCBpcyBtYWxmb3JtZWQgXCIke1N0cmluZyh1cmwpfVwiLiBQbGVhc2UgdXNlIG9ubHkgYWJzb2x1dGUgVVJMcyAtIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL21pZGRsZXdhcmUtcmVsYXRpdmUtdXJsc2AsIHtcbiAgICAgICAgICAgIGNhdXNlOiBlcnJvclxuICAgICAgICB9KTtcbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXV0aWxzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImZyb21Ob2RlT3V0Z29pbmdIdHRwSGVhZGVycyIsInNwbGl0Q29va2llc1N0cmluZyIsInRvTm9kZU91dGdvaW5nSHR0cEhlYWRlcnMiLCJ2YWxpZGF0ZVVSTCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIm5vZGVIZWFkZXJzIiwiaGVhZGVycyIsIkhlYWRlcnMiLCJrZXkiLCJlbnRyaWVzIiwidmFsdWVzIiwiQXJyYXkiLCJpc0FycmF5IiwidiIsInRvU3RyaW5nIiwiYXBwZW5kIiwiY29va2llc1N0cmluZyIsImNvb2tpZXNTdHJpbmdzIiwicG9zIiwic3RhcnQiLCJjaCIsImxhc3RDb21tYSIsIm5leHRTdGFydCIsImNvb2tpZXNTZXBhcmF0b3JGb3VuZCIsInNraXBXaGl0ZXNwYWNlIiwibGVuZ3RoIiwidGVzdCIsImNoYXJBdCIsIm5vdFNwZWNpYWxDaGFyIiwicHVzaCIsInN1YnN0cmluZyIsImNvb2tpZXMiLCJ0b0xvd2VyQ2FzZSIsInVybCIsIlN0cmluZyIsIlVSTCIsImVycm9yIiwiRXJyb3IiLCJjYXVzZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/server/web/utils.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js": /*!************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/escape-regexp.js ***! \************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// regexp is based on https://github.com/sindresorhus/escape-string-regexp\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"escapeStringRegexp\", ({\n enumerable: true,\n get: function() {\n return escapeStringRegexp;\n }\n}));\nconst reHasRegExp = /[|\\\\{}()[\\]^$+*?.-]/;\nconst reReplaceRegExp = /[|\\\\{}()[\\]^$+*?.-]/g;\nfunction escapeStringRegexp(str) {\n // see also: https://github.com/lodash/lodash/blob/2da024c3b4f9947a48517639de7560457cd4ec6c/escapeRegExp.js#L23\n if (reHasRegExp.test(str)) {\n return str.replace(reReplaceRegExp, \"\\\\$&\");\n }\n return str;\n} //# sourceMappingURL=escape-regexp.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcyIsIm1hcHBpbmdzIjoiQUFBQSwwRUFBMEU7QUFDN0Q7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGNBQWM7QUFDcEIsTUFBTUMsa0JBQWtCO0FBQ3hCLFNBQVNGLG1CQUFtQkcsR0FBRztJQUMzQiwrR0FBK0c7SUFDL0csSUFBSUYsWUFBWUcsSUFBSSxDQUFDRCxNQUFNO1FBQ3ZCLE9BQU9BLElBQUlFLE9BQU8sQ0FBQ0gsaUJBQWlCO0lBQ3hDO0lBQ0EsT0FBT0M7QUFDWCxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZXNjYXBlLXJlZ2V4cC5qcz9kYmZiIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIHJlZ2V4cCBpcyBiYXNlZCBvbiBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL2VzY2FwZS1zdHJpbmctcmVnZXhwXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImVzY2FwZVN0cmluZ1JlZ2V4cFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZXNjYXBlU3RyaW5nUmVnZXhwO1xuICAgIH1cbn0pO1xuY29uc3QgcmVIYXNSZWdFeHAgPSAvW3xcXFxce30oKVtcXF1eJCsqPy4tXS87XG5jb25zdCByZVJlcGxhY2VSZWdFeHAgPSAvW3xcXFxce30oKVtcXF1eJCsqPy4tXS9nO1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nUmVnZXhwKHN0cikge1xuICAgIC8vIHNlZSBhbHNvOiBodHRwczovL2dpdGh1Yi5jb20vbG9kYXNoL2xvZGFzaC9ibG9iLzJkYTAyNGMzYjRmOTk0N2E0ODUxNzYzOWRlNzU2MDQ1N2NkNGVjNmMvZXNjYXBlUmVnRXhwLmpzI0wyM1xuICAgIGlmIChyZUhhc1JlZ0V4cC50ZXN0KHN0cikpIHtcbiAgICAgICAgcmV0dXJuIHN0ci5yZXBsYWNlKHJlUmVwbGFjZVJlZ0V4cCwgXCJcXFxcJCZcIik7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVzY2FwZS1yZWdleHAuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImVzY2FwZVN0cmluZ1JlZ2V4cCIsInJlSGFzUmVnRXhwIiwicmVSZXBsYWNlUmVnRXhwIiwic3RyIiwidGVzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/get-hostname.js": /*!***********************************************************!*\ !*** ./node_modules/next/dist/shared/lib/get-hostname.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getHostname\", ({\n enumerable: true,\n get: function() {\n return getHostname;\n }\n}));\nfunction getHostname(parsed, headers) {\n // Get the hostname from the headers if it exists, otherwise use the parsed\n // hostname.\n let hostname;\n if ((headers == null ? void 0 : headers.host) && !Array.isArray(headers.host)) {\n hostname = headers.host.toString().split(\":\", 1)[0];\n } else if (parsed.hostname) {\n hostname = parsed.hostname;\n } else return;\n return hostname.toLowerCase();\n} //# sourceMappingURL=get-hostname.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvZ2V0LWhvc3RuYW1lLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxZQUFZQyxNQUFNLEVBQUVDLE9BQU87SUFDaEMsMkVBQTJFO0lBQzNFLFlBQVk7SUFDWixJQUFJQztJQUNKLElBQUksQ0FBQ0QsV0FBVyxPQUFPLEtBQUssSUFBSUEsUUFBUUUsSUFBSSxLQUFLLENBQUNDLE1BQU1DLE9BQU8sQ0FBQ0osUUFBUUUsSUFBSSxHQUFHO1FBQzNFRCxXQUFXRCxRQUFRRSxJQUFJLENBQUNHLFFBQVEsR0FBR0MsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDLEVBQUU7SUFDdkQsT0FBTyxJQUFJUCxPQUFPRSxRQUFRLEVBQUU7UUFDeEJBLFdBQVdGLE9BQU9FLFFBQVE7SUFDOUIsT0FBTztJQUNQLE9BQU9BLFNBQVNNLFdBQVc7QUFDL0IsRUFFQSx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2dldC1ob3N0bmFtZS5qcz80Y2Y5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0SG9zdG5hbWVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldEhvc3RuYW1lO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0SG9zdG5hbWUocGFyc2VkLCBoZWFkZXJzKSB7XG4gICAgLy8gR2V0IHRoZSBob3N0bmFtZSBmcm9tIHRoZSBoZWFkZXJzIGlmIGl0IGV4aXN0cywgb3RoZXJ3aXNlIHVzZSB0aGUgcGFyc2VkXG4gICAgLy8gaG9zdG5hbWUuXG4gICAgbGV0IGhvc3RuYW1lO1xuICAgIGlmICgoaGVhZGVycyA9PSBudWxsID8gdm9pZCAwIDogaGVhZGVycy5ob3N0KSAmJiAhQXJyYXkuaXNBcnJheShoZWFkZXJzLmhvc3QpKSB7XG4gICAgICAgIGhvc3RuYW1lID0gaGVhZGVycy5ob3N0LnRvU3RyaW5nKCkuc3BsaXQoXCI6XCIsIDEpWzBdO1xuICAgIH0gZWxzZSBpZiAocGFyc2VkLmhvc3RuYW1lKSB7XG4gICAgICAgIGhvc3RuYW1lID0gcGFyc2VkLmhvc3RuYW1lO1xuICAgIH0gZWxzZSByZXR1cm47XG4gICAgcmV0dXJuIGhvc3RuYW1lLnRvTG93ZXJDYXNlKCk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1ob3N0bmFtZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZ2V0SG9zdG5hbWUiLCJwYXJzZWQiLCJoZWFkZXJzIiwiaG9zdG5hbWUiLCJob3N0IiwiQXJyYXkiLCJpc0FycmF5IiwidG9TdHJpbmciLCJzcGxpdCIsInRvTG93ZXJDYXNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/get-hostname.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/hash.js": /*!***************************************************!*\ !*** ./node_modules/next/dist/shared/lib/hash.js ***! \***************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("// http://www.cse.yorku.ca/~oz/hash.html\n// More specifically, 32-bit hash via djbxor\n// (ref: https://gist.github.com/eplawless/52813b1d8ad9af510d85?permalink_comment_id=3367765#gistcomment-3367765)\n// This is due to number type differences between rust for turbopack to js number types,\n// where rust does not have easy way to repreesnt js's 53-bit float number type for the matching\n// overflow behavior. This is more `correct` in terms of having canonical hash across different runtime / implementation\n// as can gaurantee determinstic output from 32bit hash.\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n djb2Hash: function() {\n return djb2Hash;\n },\n hexHash: function() {\n return hexHash;\n }\n});\nfunction djb2Hash(str) {\n let hash = 5381;\n for(let i = 0; i < str.length; i++){\n const char = str.charCodeAt(i);\n hash = (hash << 5) + hash + char & 0xffffffff;\n }\n return hash >>> 0;\n}\nfunction hexHash(str) {\n return djb2Hash(str).toString(36).slice(0, 5);\n} //# sourceMappingURL=hash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQSx3Q0FBd0M7QUFDeEMsNENBQTRDO0FBQzVDLGlIQUFpSDtBQUNqSCx3RkFBd0Y7QUFDeEYsZ0dBQWdHO0FBQ2hHLHdIQUF3SDtBQUN4SCx3REFBd0Q7QUFDM0M7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FHTjtBQUNBLFNBQVNHLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlULE9BQU9DLGNBQWMsQ0FBQ08sUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTCxTQUFTO0lBQ2JHLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLFNBQVM7UUFDTCxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRCxTQUFTUSxHQUFHO0lBQ2pCLElBQUlDLE9BQU87SUFDWCxJQUFJLElBQUlDLElBQUksR0FBR0EsSUFBSUYsSUFBSUcsTUFBTSxFQUFFRCxJQUFJO1FBQy9CLE1BQU1FLE9BQU9KLElBQUlLLFVBQVUsQ0FBQ0g7UUFDNUJELE9BQU8sQ0FBQ0EsUUFBUSxLQUFLQSxPQUFPRyxPQUFPO0lBQ3ZDO0lBQ0EsT0FBT0gsU0FBUztBQUNwQjtBQUNBLFNBQVNSLFFBQVFPLEdBQUc7SUFDaEIsT0FBT1IsU0FBU1EsS0FBS00sUUFBUSxDQUFDLElBQUlDLEtBQUssQ0FBQyxHQUFHO0FBQy9DLEVBRUEsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9oYXNoLmpzP2NiNmYiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gaHR0cDovL3d3dy5jc2UueW9ya3UuY2Evfm96L2hhc2guaHRtbFxuLy8gTW9yZSBzcGVjaWZpY2FsbHksIDMyLWJpdCBoYXNoIHZpYSBkamJ4b3Jcbi8vIChyZWY6IGh0dHBzOi8vZ2lzdC5naXRodWIuY29tL2VwbGF3bGVzcy81MjgxM2IxZDhhZDlhZjUxMGQ4NT9wZXJtYWxpbmtfY29tbWVudF9pZD0zMzY3NzY1I2dpc3Rjb21tZW50LTMzNjc3NjUpXG4vLyBUaGlzIGlzIGR1ZSB0byBudW1iZXIgdHlwZSBkaWZmZXJlbmNlcyBiZXR3ZWVuIHJ1c3QgZm9yIHR1cmJvcGFjayB0byBqcyBudW1iZXIgdHlwZXMsXG4vLyB3aGVyZSBydXN0IGRvZXMgbm90IGhhdmUgZWFzeSB3YXkgdG8gcmVwcmVlc250IGpzJ3MgNTMtYml0IGZsb2F0IG51bWJlciB0eXBlIGZvciB0aGUgbWF0Y2hpbmdcbi8vIG92ZXJmbG93IGJlaGF2aW9yLiBUaGlzIGlzIG1vcmUgYGNvcnJlY3RgIGluIHRlcm1zIG9mIGhhdmluZyBjYW5vbmljYWwgaGFzaCBhY3Jvc3MgZGlmZmVyZW50IHJ1bnRpbWUgLyBpbXBsZW1lbnRhdGlvblxuLy8gYXMgY2FuIGdhdXJhbnRlZSBkZXRlcm1pbnN0aWMgb3V0cHV0IGZyb20gMzJiaXQgaGFzaC5cblwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZGpiMkhhc2g6IG51bGwsXG4gICAgaGV4SGFzaDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBkamIySGFzaDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkamIySGFzaDtcbiAgICB9LFxuICAgIGhleEhhc2g6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaGV4SGFzaDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGRqYjJIYXNoKHN0cikge1xuICAgIGxldCBoYXNoID0gNTM4MTtcbiAgICBmb3IobGV0IGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKXtcbiAgICAgICAgY29uc3QgY2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBoYXNoID0gKGhhc2ggPDwgNSkgKyBoYXNoICsgY2hhciAmIDB4ZmZmZmZmZmY7XG4gICAgfVxuICAgIHJldHVybiBoYXNoID4+PiAwO1xufVxuZnVuY3Rpb24gaGV4SGFzaChzdHIpIHtcbiAgICByZXR1cm4gZGpiMkhhc2goc3RyKS50b1N0cmluZygzNikuc2xpY2UoMCwgNSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhc2guanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZGpiMkhhc2giLCJoZXhIYXNoIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3RyIiwiaGFzaCIsImkiLCJsZW5ndGgiLCJjaGFyIiwiY2hhckNvZGVBdCIsInRvU3RyaW5nIiwic2xpY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/hash.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js ***! \************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nfunction detectDomainLocale(domainItems, hostname, detectedLocale) {\n if (!domainItems) return;\n if (detectedLocale) {\n detectedLocale = detectedLocale.toLowerCase();\n }\n for (const item of domainItems){\n var _item_domain, _item_locales;\n // remove port if present\n const domainHostname = (_item_domain = item.domain) == null ? void 0 : _item_domain.split(\":\", 1)[0].toLowerCase();\n if (hostname === domainHostname || detectedLocale === item.defaultLocale.toLowerCase() || ((_item_locales = item.locales) == null ? void 0 : _item_locales.some((locale)=>locale.toLowerCase() === detectedLocale))) {\n return item;\n }\n }\n} //# sourceMappingURL=detect-domain-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsc0RBQXFEO0lBQ2pESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsbUJBQW1CQyxXQUFXLEVBQUVDLFFBQVEsRUFBRUMsY0FBYztJQUM3RCxJQUFJLENBQUNGLGFBQWE7SUFDbEIsSUFBSUUsZ0JBQWdCO1FBQ2hCQSxpQkFBaUJBLGVBQWVDLFdBQVc7SUFDL0M7SUFDQSxLQUFLLE1BQU1DLFFBQVFKLFlBQVk7UUFDM0IsSUFBSUssY0FBY0M7UUFDbEIseUJBQXlCO1FBQ3pCLE1BQU1DLGlCQUFpQixDQUFDRixlQUFlRCxLQUFLSSxNQUFNLEtBQUssT0FBTyxLQUFLLElBQUlILGFBQWFJLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUNOLFdBQVc7UUFDaEgsSUFBSUYsYUFBYU0sa0JBQWtCTCxtQkFBbUJFLEtBQUtNLGFBQWEsQ0FBQ1AsV0FBVyxNQUFPLEVBQUNHLGdCQUFnQkYsS0FBS08sT0FBTyxLQUFLLE9BQU8sS0FBSyxJQUFJTCxjQUFjTSxJQUFJLENBQUMsQ0FBQ0MsU0FBU0EsT0FBT1YsV0FBVyxPQUFPRCxlQUFjLEdBQUk7WUFDak4sT0FBT0U7UUFDWDtJQUNKO0FBQ0osRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2kxOG4vZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanM/NzhkMSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRldGVjdERvbWFpbkxvY2FsZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGV0ZWN0RG9tYWluTG9jYWxlO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZGV0ZWN0RG9tYWluTG9jYWxlKGRvbWFpbkl0ZW1zLCBob3N0bmFtZSwgZGV0ZWN0ZWRMb2NhbGUpIHtcbiAgICBpZiAoIWRvbWFpbkl0ZW1zKSByZXR1cm47XG4gICAgaWYgKGRldGVjdGVkTG9jYWxlKSB7XG4gICAgICAgIGRldGVjdGVkTG9jYWxlID0gZGV0ZWN0ZWRMb2NhbGUudG9Mb3dlckNhc2UoKTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGRvbWFpbkl0ZW1zKXtcbiAgICAgICAgdmFyIF9pdGVtX2RvbWFpbiwgX2l0ZW1fbG9jYWxlcztcbiAgICAgICAgLy8gcmVtb3ZlIHBvcnQgaWYgcHJlc2VudFxuICAgICAgICBjb25zdCBkb21haW5Ib3N0bmFtZSA9IChfaXRlbV9kb21haW4gPSBpdGVtLmRvbWFpbikgPT0gbnVsbCA/IHZvaWQgMCA6IF9pdGVtX2RvbWFpbi5zcGxpdChcIjpcIiwgMSlbMF0udG9Mb3dlckNhc2UoKTtcbiAgICAgICAgaWYgKGhvc3RuYW1lID09PSBkb21haW5Ib3N0bmFtZSB8fCBkZXRlY3RlZExvY2FsZSA9PT0gaXRlbS5kZWZhdWx0TG9jYWxlLnRvTG93ZXJDYXNlKCkgfHwgKChfaXRlbV9sb2NhbGVzID0gaXRlbS5sb2NhbGVzKSA9PSBudWxsID8gdm9pZCAwIDogX2l0ZW1fbG9jYWxlcy5zb21lKChsb2NhbGUpPT5sb2NhbGUudG9Mb3dlckNhc2UoKSA9PT0gZGV0ZWN0ZWRMb2NhbGUpKSkge1xuICAgICAgICAgICAgcmV0dXJuIGl0ZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWRldGVjdC1kb21haW4tbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJkZXRlY3REb21haW5Mb2NhbGUiLCJkb21haW5JdGVtcyIsImhvc3RuYW1lIiwiZGV0ZWN0ZWRMb2NhbGUiLCJ0b0xvd2VyQ2FzZSIsIml0ZW0iLCJfaXRlbV9kb21haW4iLCJfaXRlbV9sb2NhbGVzIiwiZG9tYWluSG9zdG5hbWUiLCJkb21haW4iLCJzcGxpdCIsImRlZmF1bHRMb2NhbGUiLCJsb2NhbGVzIiwic29tZSIsImxvY2FsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/detect-domain-locale.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG9CQUFvQkMsUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osK0RBQStEO0lBQy9ELE1BQU1DLGdCQUFnQkgsU0FBU0ksS0FBSyxDQUFDO0lBQ3BDSCxDQUFBQSxXQUFXLEVBQUUsRUFBRUksSUFBSSxDQUFDLENBQUNDO1FBQ2xCLElBQUlILGFBQWEsQ0FBQyxFQUFFLElBQUlBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUFJO1lBQzdFTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNYO1FBQ0EsT0FBTztJQUNYO0lBQ0EsT0FBTztRQUNIVDtRQUNBRTtJQUNKO0FBQ0osRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzPzA0M2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJub3JtYWxpemVMb2NhbGVQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVMb2NhbGVQYXRoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gbm9ybWFsaXplTG9jYWxlUGF0aChwYXRobmFtZSwgbG9jYWxlcykge1xuICAgIGxldCBkZXRlY3RlZExvY2FsZTtcbiAgICAvLyBmaXJzdCBpdGVtIHdpbGwgYmUgZW1wdHkgc3RyaW5nIGZyb20gc3BsaXR0aW5nIGF0IGZpcnN0IGNoYXJcbiAgICBjb25zdCBwYXRobmFtZVBhcnRzID0gcGF0aG5hbWUuc3BsaXQoXCIvXCIpO1xuICAgIChsb2NhbGVzIHx8IFtdKS5zb21lKChsb2NhbGUpPT57XG4gICAgICAgIGlmIChwYXRobmFtZVBhcnRzWzFdICYmIHBhdGhuYW1lUGFydHNbMV0udG9Mb3dlckNhc2UoKSA9PT0gbG9jYWxlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGRldGVjdGVkTG9jYWxlID0gbG9jYWxlO1xuICAgICAgICAgICAgcGF0aG5hbWVQYXJ0cy5zcGxpY2UoMSwgMSk7XG4gICAgICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lUGFydHMuam9pbihcIi9cIikgfHwgXCIvXCI7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIGRldGVjdGVkTG9jYWxlXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwicGF0aG5hbWUiLCJsb2NhbGVzIiwiZGV0ZWN0ZWRMb2NhbGUiLCJwYXRobmFtZVBhcnRzIiwic3BsaXQiLCJzb21lIiwibG9jYWxlIiwidG9Mb3dlckNhc2UiLCJzcGxpY2UiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizeLocalePath\", ({\n enumerable: true,\n get: function() {\n return normalizeLocalePath;\n }\n}));\nfunction normalizeLocalePath(pathname, locales) {\n let detectedLocale;\n // first item will be empty string from splitting at first char\n const pathnameParts = pathname.split(\"/\");\n (locales || []).some((locale)=>{\n if (pathnameParts[1] && pathnameParts[1].toLowerCase() === locale.toLowerCase()) {\n detectedLocale = locale;\n pathnameParts.splice(1, 1);\n pathname = pathnameParts.join(\"/\") || \"/\";\n return true;\n }\n return false;\n });\n return {\n pathname,\n detectedLocale\n };\n} //# sourceMappingURL=normalize-locale-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaTE4bi9ub3JtYWxpemUtbG9jYWxlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG9CQUFvQkMsUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osK0RBQStEO0lBQy9ELE1BQU1DLGdCQUFnQkgsU0FBU0ksS0FBSyxDQUFDO0lBQ3BDSCxDQUFBQSxXQUFXLEVBQUUsRUFBRUksSUFBSSxDQUFDLENBQUNDO1FBQ2xCLElBQUlILGFBQWEsQ0FBQyxFQUFFLElBQUlBLGFBQWEsQ0FBQyxFQUFFLENBQUNJLFdBQVcsT0FBT0QsT0FBT0MsV0FBVyxJQUFJO1lBQzdFTCxpQkFBaUJJO1lBQ2pCSCxjQUFjSyxNQUFNLENBQUMsR0FBRztZQUN4QlIsV0FBV0csY0FBY00sSUFBSSxDQUFDLFFBQVE7WUFDdEMsT0FBTztRQUNYO1FBQ0EsT0FBTztJQUNYO0lBQ0EsT0FBTztRQUNIVDtRQUNBRTtJQUNKO0FBQ0osRUFFQSxpREFBaUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzPzA0M2IiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJub3JtYWxpemVMb2NhbGVQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVMb2NhbGVQYXRoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gbm9ybWFsaXplTG9jYWxlUGF0aChwYXRobmFtZSwgbG9jYWxlcykge1xuICAgIGxldCBkZXRlY3RlZExvY2FsZTtcbiAgICAvLyBmaXJzdCBpdGVtIHdpbGwgYmUgZW1wdHkgc3RyaW5nIGZyb20gc3BsaXR0aW5nIGF0IGZpcnN0IGNoYXJcbiAgICBjb25zdCBwYXRobmFtZVBhcnRzID0gcGF0aG5hbWUuc3BsaXQoXCIvXCIpO1xuICAgIChsb2NhbGVzIHx8IFtdKS5zb21lKChsb2NhbGUpPT57XG4gICAgICAgIGlmIChwYXRobmFtZVBhcnRzWzFdICYmIHBhdGhuYW1lUGFydHNbMV0udG9Mb3dlckNhc2UoKSA9PT0gbG9jYWxlLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgICAgICAgIGRldGVjdGVkTG9jYWxlID0gbG9jYWxlO1xuICAgICAgICAgICAgcGF0aG5hbWVQYXJ0cy5zcGxpY2UoMSwgMSk7XG4gICAgICAgICAgICBwYXRobmFtZSA9IHBhdGhuYW1lUGFydHMuam9pbihcIi9cIikgfHwgXCIvXCI7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWUsXG4gICAgICAgIGRldGVjdGVkTG9jYWxlXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLWxvY2FsZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVMb2NhbGVQYXRoIiwicGF0aG5hbWUiLCJsb2NhbGVzIiwiZGV0ZWN0ZWRMb2NhbGUiLCJwYXRobmFtZVBhcnRzIiwic3BsaXQiLCJzb21lIiwibG9jYWxlIiwidG9Mb3dlckNhc2UiLCJzcGxpY2UiLCJqb2luIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/isomorphic/path.js": /*!**************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/isomorphic/path.js ***! \**************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; eval("/**\n * This module is for next.js server internal usage of path module.\n * It will use native path module for nodejs runtime.\n * It will use path-browserify polyfill for edge runtime.\n */ \nlet path;\nif (false) {} else {\n path = __webpack_require__(/*! path */ \"path\");\n}\nmodule.exports = path; //# sourceMappingURL=path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvaXNvbW9ycGhpYy9wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7O0NBSUMsR0FBZ0I7QUFDakIsSUFBSUE7QUFDSixJQUFJQyxLQUFtQyxFQUFFLEVBRXhDLE1BQU07SUFDSEQsT0FBT0ksbUJBQU9BLENBQUMsa0JBQU07QUFDekI7QUFDQUMsT0FBT0MsT0FBTyxHQUFHTixNQUVqQixnQ0FBZ0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL2lzb21vcnBoaWMvcGF0aC5qcz8yYmU3Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhpcyBtb2R1bGUgaXMgZm9yIG5leHQuanMgc2VydmVyIGludGVybmFsIHVzYWdlIG9mIHBhdGggbW9kdWxlLlxuICogSXQgd2lsbCB1c2UgbmF0aXZlIHBhdGggbW9kdWxlIGZvciBub2RlanMgcnVudGltZS5cbiAqIEl0IHdpbGwgdXNlIHBhdGgtYnJvd3NlcmlmeSBwb2x5ZmlsbCBmb3IgZWRnZSBydW50aW1lLlxuICovIFwidXNlIHN0cmljdFwiO1xubGV0IHBhdGg7XG5pZiAocHJvY2Vzcy5lbnYuTkVYVF9SVU5USU1FID09PSBcImVkZ2VcIikge1xuICAgIHBhdGggPSByZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3BhdGgtYnJvd3NlcmlmeVwiKTtcbn0gZWxzZSB7XG4gICAgcGF0aCA9IHJlcXVpcmUoXCJwYXRoXCIpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBwYXRoO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJwYXRoIiwicHJvY2VzcyIsImVudiIsIk5FWFRfUlVOVElNRSIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/isomorphic/path.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js": /*!*****************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js ***! \*****************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is a leading slash.\n * If there is not a leading slash, one is added, otherwise it is noop.\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"ensureLeadingSlash\", ({\n enumerable: true,\n get: function() {\n return ensureLeadingSlash;\n }\n}));\nfunction ensureLeadingSlash(path) {\n return path.startsWith(\"/\") ? path : \"/\" + path;\n} //# sourceMappingURL=ensure-leading-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzIiwibWFwcGluZ3MiOiJBQUFBOzs7Q0FHQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHNEQUFxRDtJQUNqREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLG1CQUFtQkMsSUFBSTtJQUM1QixPQUFPQSxLQUFLQyxVQUFVLENBQUMsT0FBT0QsT0FBTyxNQUFNQTtBQUMvQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoLmpzP2NmMzIiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIGEgbGVhZGluZyBzbGFzaC5cbiAqIElmIHRoZXJlIGlzIG5vdCBhIGxlYWRpbmcgc2xhc2gsIG9uZSBpcyBhZGRlZCwgb3RoZXJ3aXNlIGl0IGlzIG5vb3AuXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJlbnN1cmVMZWFkaW5nU2xhc2hcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGVuc3VyZUxlYWRpbmdTbGFzaDtcbiAgICB9XG59KTtcbmZ1bmN0aW9uIGVuc3VyZUxlYWRpbmdTbGFzaChwYXRoKSB7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aChcIi9cIikgPyBwYXRoIDogXCIvXCIgKyBwYXRoO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1lbnN1cmUtbGVhZGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZW5zdXJlTGVhZGluZ1NsYXNoIiwicGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * For a given page path, this function ensures that there is no backslash\n * escaping slashes in the path. Example:\n * - `foo\\/bar\\/baz` -> `foo/bar/baz`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"normalizePathSep\", ({\n enumerable: true,\n get: function() {\n return normalizePathSep;\n }\n}));\nfunction normalizePathSep(path) {\n return path.replace(/\\\\/g, \"/\");\n} //# sourceMappingURL=normalize-path-sep.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcGFnZS1wYXRoL25vcm1hbGl6ZS1wYXRoLXNlcC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7OztDQUlDLEdBQWdCO0FBQ2pCQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsU0FBU0EsaUJBQWlCQyxJQUFJO0lBQzFCLE9BQU9BLEtBQUtDLE9BQU8sQ0FBQyxPQUFPO0FBQy9CLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9wYWdlLXBhdGgvbm9ybWFsaXplLXBhdGgtc2VwLmpzP2JhYjgiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBGb3IgYSBnaXZlbiBwYWdlIHBhdGgsIHRoaXMgZnVuY3Rpb24gZW5zdXJlcyB0aGF0IHRoZXJlIGlzIG5vIGJhY2tzbGFzaFxuICogZXNjYXBpbmcgc2xhc2hlcyBpbiB0aGUgcGF0aC4gRXhhbXBsZTpcbiAqICAtIGBmb29cXC9iYXJcXC9iYXpgIC0+IGBmb28vYmFyL2JhemBcbiAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhdGhTZXBcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVBhdGhTZXA7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBub3JtYWxpemVQYXRoU2VwKHBhdGgpIHtcbiAgICByZXR1cm4gcGF0aC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm9ybWFsaXplLXBhdGgtc2VwLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJub3JtYWxpemVQYXRoU2VwIiwicGF0aCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/page-path/normalize-path-sep.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-locale.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-locale.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction addLocale(path, locale, defaultLocale, ignorePrefix) {\n // If no locale was given or the locale is the default locale, we don't need\n // to prefix the path.\n if (!locale || locale === defaultLocale) return path;\n const lower = path.toLowerCase();\n // If the path is an API path or the path already has the locale prefix, we\n // don't need to prefix the path.\n if (!ignorePrefix) {\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/api\")) return path;\n if ((0, _pathhasprefix.pathHasPrefix)(lower, \"/\" + locale.toLowerCase())) return path;\n }\n // Add the locale prefix to the path.\n return (0, _addpathprefix.addPathPrefix)(path, \"/\" + locale);\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGUuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGlCQUFpQkMsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELFNBQVNGLFVBQVVJLElBQUksRUFBRUMsTUFBTSxFQUFFQyxhQUFhLEVBQUVDLFlBQVk7SUFDeEQsNEVBQTRFO0lBQzVFLHNCQUFzQjtJQUN0QixJQUFJLENBQUNGLFVBQVVBLFdBQVdDLGVBQWUsT0FBT0Y7SUFDaEQsTUFBTUksUUFBUUosS0FBS0ssV0FBVztJQUM5QiwyRUFBMkU7SUFDM0UsaUNBQWlDO0lBQ2pDLElBQUksQ0FBQ0YsY0FBYztRQUNmLElBQUksQ0FBQyxHQUFHSixlQUFlTyxhQUFhLEVBQUVGLE9BQU8sU0FBUyxPQUFPSjtRQUM3RCxJQUFJLENBQUMsR0FBR0QsZUFBZU8sYUFBYSxFQUFFRixPQUFPLE1BQU1ILE9BQU9JLFdBQVcsS0FBSyxPQUFPTDtJQUNyRjtJQUNBLHFDQUFxQztJQUNyQyxPQUFPLENBQUMsR0FBR0gsZUFBZVUsYUFBYSxFQUFFUCxNQUFNLE1BQU1DO0FBQ3pELEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLWxvY2FsZS5qcz8wMjMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkTG9jYWxlXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRMb2NhbGU7XG4gICAgfVxufSk7XG5jb25zdCBfYWRkcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuL2FkZC1wYXRoLXByZWZpeFwiKTtcbmNvbnN0IF9wYXRoaGFzcHJlZml4ID0gcmVxdWlyZShcIi4vcGF0aC1oYXMtcHJlZml4XCIpO1xuZnVuY3Rpb24gYWRkTG9jYWxlKHBhdGgsIGxvY2FsZSwgZGVmYXVsdExvY2FsZSwgaWdub3JlUHJlZml4KSB7XG4gICAgLy8gSWYgbm8gbG9jYWxlIHdhcyBnaXZlbiBvciB0aGUgbG9jYWxlIGlzIHRoZSBkZWZhdWx0IGxvY2FsZSwgd2UgZG9uJ3QgbmVlZFxuICAgIC8vIHRvIHByZWZpeCB0aGUgcGF0aC5cbiAgICBpZiAoIWxvY2FsZSB8fCBsb2NhbGUgPT09IGRlZmF1bHRMb2NhbGUpIHJldHVybiBwYXRoO1xuICAgIGNvbnN0IGxvd2VyID0gcGF0aC50b0xvd2VyQ2FzZSgpO1xuICAgIC8vIElmIHRoZSBwYXRoIGlzIGFuIEFQSSBwYXRoIG9yIHRoZSBwYXRoIGFscmVhZHkgaGFzIHRoZSBsb2NhbGUgcHJlZml4LCB3ZVxuICAgIC8vIGRvbid0IG5lZWQgdG8gcHJlZml4IHRoZSBwYXRoLlxuICAgIGlmICghaWdub3JlUHJlZml4KSB7XG4gICAgICAgIGlmICgoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkobG93ZXIsIFwiL2FwaVwiKSkgcmV0dXJuIHBhdGg7XG4gICAgICAgIGlmICgoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkobG93ZXIsIFwiL1wiICsgbG9jYWxlLnRvTG93ZXJDYXNlKCkpKSByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgLy8gQWRkIHRoZSBsb2NhbGUgcHJlZml4IHRvIHRoZSBwYXRoLlxuICAgIHJldHVybiAoMCwgX2FkZHBhdGhwcmVmaXguYWRkUGF0aFByZWZpeCkocGF0aCwgXCIvXCIgKyBsb2NhbGUpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGQtbG9jYWxlLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhZGRMb2NhbGUiLCJfYWRkcGF0aHByZWZpeCIsInJlcXVpcmUiLCJfcGF0aGhhc3ByZWZpeCIsInBhdGgiLCJsb2NhbGUiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwibG93ZXIiLCJ0b0xvd2VyQ2FzZSIsInBhdGhIYXNQcmVmaXgiLCJhZGRQYXRoUHJlZml4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-locale.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathPrefix\", ({\n enumerable: true,\n get: function() {\n return addPathPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathPrefix(path, prefix) {\n if (!path.startsWith(\"/\") || !prefix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + prefix + pathname + query + hash;\n} //# sourceMappingURL=add-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMseUdBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQzVELE9BQU8sS0FBS0MsU0FBU0UsV0FBV0MsUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXguanM/YzEyOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZFBhdGhQcmVmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZFBhdGhQcmVmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGFyc2VwYXRoID0gcmVxdWlyZShcIi4vcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIGFkZFBhdGhQcmVmaXgocGF0aCwgcHJlZml4KSB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8ICFwcmVmaXgpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUsIHF1ZXJ5LCBoYXNoIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBcIlwiICsgcHJlZml4ICsgcGF0aG5hbWUgKyBxdWVyeSArIGhhc2g7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1wYXRoLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkUGF0aFByZWZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addPathSuffix\", ({\n enumerable: true,\n get: function() {\n return addPathSuffix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction addPathSuffix(path, suffix) {\n if (!path.startsWith(\"/\") || !suffix) {\n return path;\n }\n const { pathname, query, hash } = (0, _parsepath.parsePath)(path);\n return \"\" + pathname + suffix + query + hash;\n} //# sourceMappingURL=add-path-suffix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1wYXRoLXN1ZmZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMseUdBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksQ0FBQ0QsS0FBS0UsVUFBVSxDQUFDLFFBQVEsQ0FBQ0QsUUFBUTtRQUNsQyxPQUFPRDtJQUNYO0lBQ0EsTUFBTSxFQUFFRyxRQUFRLEVBQUVDLEtBQUssRUFBRUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHUCxXQUFXUSxTQUFTLEVBQUVOO0lBQzVELE9BQU8sS0FBS0csV0FBV0YsU0FBU0csUUFBUUM7QUFDNUMsRUFFQSwyQ0FBMkMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1zdWZmaXguanM/N2IzNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImFkZFBhdGhTdWZmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZFBhdGhTdWZmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGFyc2VwYXRoID0gcmVxdWlyZShcIi4vcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIGFkZFBhdGhTdWZmaXgocGF0aCwgc3VmZml4KSB7XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8ICFzdWZmaXgpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUsIHF1ZXJ5LCBoYXNoIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBcIlwiICsgcGF0aG5hbWUgKyBzdWZmaXggKyBxdWVyeSArIGhhc2g7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1wYXRoLXN1ZmZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkUGF0aFN1ZmZpeCIsIl9wYXJzZXBhdGgiLCJyZXF1aXJlIiwicGF0aCIsInN1ZmZpeCIsInN0YXJ0c1dpdGgiLCJwYXRobmFtZSIsInF1ZXJ5IiwiaGFzaCIsInBhcnNlUGF0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/app-paths.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n normalizeAppPath: function() {\n return normalizeAppPath;\n },\n normalizeRscURL: function() {\n return normalizeRscURL;\n }\n});\nconst _ensureleadingslash = __webpack_require__(/*! ../../page-path/ensure-leading-slash */ \"(rsc)/./node_modules/next/dist/shared/lib/page-path/ensure-leading-slash.js\");\nconst _segment = __webpack_require__(/*! ../../segment */ \"(rsc)/./node_modules/next/dist/shared/lib/segment.js\");\nfunction normalizeAppPath(route) {\n return (0, _ensureleadingslash.ensureLeadingSlash)(route.split(\"/\").reduce((pathname, segment, index, segments)=>{\n // Empty segments are ignored.\n if (!segment) {\n return pathname;\n }\n // Groups are ignored.\n if ((0, _segment.isGroupSegment)(segment)) {\n return pathname;\n }\n // Parallel segments are ignored.\n if (segment[0] === \"@\") {\n return pathname;\n }\n // The last segment (if it's a leaf) should be ignored.\n if ((segment === \"page\" || segment === \"route\") && index === segments.length - 1) {\n return pathname;\n }\n return pathname + \"/\" + segment;\n }, \"\"));\n}\nfunction normalizeRscURL(url) {\n return url.replace(/\\.rsc($|\\?)/, \"$1\");\n} //# sourceMappingURL=app-paths.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsa0JBQWtCO1FBQ2QsT0FBT0E7SUFDWDtJQUNBQyxpQkFBaUI7UUFDYixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNTyxzQkFBc0JDLG1CQUFPQSxDQUFDLHlIQUFzQztBQUMxRSxNQUFNQyxXQUFXRCxtQkFBT0EsQ0FBQywyRUFBZTtBQUN4QyxTQUFTVCxpQkFBaUJXLEtBQUs7SUFDM0IsT0FBTyxDQUFDLEdBQUdILG9CQUFvQkksa0JBQWtCLEVBQUVELE1BQU1FLEtBQUssQ0FBQyxLQUFLQyxNQUFNLENBQUMsQ0FBQ0MsVUFBVUMsU0FBU0MsT0FBT0M7UUFDbEcsOEJBQThCO1FBQzlCLElBQUksQ0FBQ0YsU0FBUztZQUNWLE9BQU9EO1FBQ1g7UUFDQSxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLEdBQUdMLFNBQVNTLGNBQWMsRUFBRUgsVUFBVTtZQUN2QyxPQUFPRDtRQUNYO1FBQ0EsaUNBQWlDO1FBQ2pDLElBQUlDLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSztZQUNwQixPQUFPRDtRQUNYO1FBQ0EsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0MsWUFBWSxVQUFVQSxZQUFZLE9BQU0sS0FBTUMsVUFBVUMsU0FBU0UsTUFBTSxHQUFHLEdBQUc7WUFDOUUsT0FBT0w7UUFDWDtRQUNBLE9BQU9BLFdBQVcsTUFBTUM7SUFDNUIsR0FBRztBQUNQO0FBQ0EsU0FBU2YsZ0JBQWdCb0IsR0FBRztJQUN4QixPQUFPQSxJQUFJQyxPQUFPLENBQUMsZUFDbkI7QUFDSixFQUVBLHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FwcC1wYXRocy5qcz83ZTUyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbm9ybWFsaXplQXBwUGF0aDogbnVsbCxcbiAgICBub3JtYWxpemVSc2NVUkw6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgbm9ybWFsaXplQXBwUGF0aDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVBcHBQYXRoO1xuICAgIH0sXG4gICAgbm9ybWFsaXplUnNjVVJMOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJzY1VSTDtcbiAgICB9XG59KTtcbmNvbnN0IF9lbnN1cmVsZWFkaW5nc2xhc2ggPSByZXF1aXJlKFwiLi4vLi4vcGFnZS1wYXRoL2Vuc3VyZS1sZWFkaW5nLXNsYXNoXCIpO1xuY29uc3QgX3NlZ21lbnQgPSByZXF1aXJlKFwiLi4vLi4vc2VnbWVudFwiKTtcbmZ1bmN0aW9uIG5vcm1hbGl6ZUFwcFBhdGgocm91dGUpIHtcbiAgICByZXR1cm4gKDAsIF9lbnN1cmVsZWFkaW5nc2xhc2guZW5zdXJlTGVhZGluZ1NsYXNoKShyb3V0ZS5zcGxpdChcIi9cIikucmVkdWNlKChwYXRobmFtZSwgc2VnbWVudCwgaW5kZXgsIHNlZ21lbnRzKT0+e1xuICAgICAgICAvLyBFbXB0eSBzZWdtZW50cyBhcmUgaWdub3JlZC5cbiAgICAgICAgaWYgKCFzZWdtZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gR3JvdXBzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoKDAsIF9zZWdtZW50LmlzR3JvdXBTZWdtZW50KShzZWdtZW50KSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIC8vIFBhcmFsbGVsIHNlZ21lbnRzIGFyZSBpZ25vcmVkLlxuICAgICAgICBpZiAoc2VnbWVudFswXSA9PT0gXCJAXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbGFzdCBzZWdtZW50IChpZiBpdCdzIGEgbGVhZikgc2hvdWxkIGJlIGlnbm9yZWQuXG4gICAgICAgIGlmICgoc2VnbWVudCA9PT0gXCJwYWdlXCIgfHwgc2VnbWVudCA9PT0gXCJyb3V0ZVwiKSAmJiBpbmRleCA9PT0gc2VnbWVudHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhuYW1lO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXRobmFtZSArIFwiL1wiICsgc2VnbWVudDtcbiAgICB9LCBcIlwiKSk7XG59XG5mdW5jdGlvbiBub3JtYWxpemVSc2NVUkwodXJsKSB7XG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKC9cXC5yc2MoJHxcXD8pLywgLy8gJDEgZW5zdXJlcyBgP2AgaXMgcHJlc2VydmVkXG4gICAgXCIkMVwiKTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhdGhzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vcm1hbGl6ZUFwcFBhdGgiLCJub3JtYWxpemVSc2NVUkwiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZW5zdXJlbGVhZGluZ3NsYXNoIiwicmVxdWlyZSIsIl9zZWdtZW50Iiwicm91dGUiLCJlbnN1cmVMZWFkaW5nU2xhc2giLCJzcGxpdCIsInJlZHVjZSIsInBhdGhuYW1lIiwic2VnbWVudCIsImluZGV4Iiwic2VnbWVudHMiLCJpc0dyb3VwU2VnbWVudCIsImxlbmd0aCIsInVybCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/app-paths.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js": /*!*************************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js ***! \*************************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"formatNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return formatNextPathnameInfo;\n }\n}));\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _addpathprefix = __webpack_require__(/*! ./add-path-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _addpathsuffix = __webpack_require__(/*! ./add-path-suffix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-path-suffix.js\");\nconst _addlocale = __webpack_require__(/*! ./add-locale */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/add-locale.js\");\nfunction formatNextPathnameInfo(info) {\n let pathname = (0, _addlocale.addLocale)(info.pathname, info.locale, info.buildId ? undefined : info.defaultLocale, info.ignorePrefix);\n if (info.buildId || !info.trailingSlash) {\n pathname = (0, _removetrailingslash.removeTrailingSlash)(pathname);\n }\n if (info.buildId) {\n pathname = (0, _addpathsuffix.addPathSuffix)((0, _addpathprefix.addPathPrefix)(pathname, \"/_next/data/\" + info.buildId), info.pathname === \"/\" ? \"index.json\" : \".json\");\n }\n pathname = (0, _addpathprefix.addPathPrefix)(pathname, info.basePath);\n return !info.buildId && info.trailingSlash ? !pathname.endsWith(\"/\") ? (0, _addpathsuffix.addPathSuffix)(pathname, \"/\") : pathname : (0, _removetrailingslash.removeTrailingSlash)(pathname);\n} //# sourceMappingURL=format-next-pathname-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDBEQUF5RDtJQUNyREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsK0hBQXlCO0FBQzlELE1BQU1DLGlCQUFpQkQsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELE1BQU1HLGFBQWFILG1CQUFPQSxDQUFDLHlHQUFjO0FBQ3pDLFNBQVNGLHVCQUF1Qk0sSUFBSTtJQUNoQyxJQUFJQyxXQUFXLENBQUMsR0FBR0YsV0FBV0csU0FBUyxFQUFFRixLQUFLQyxRQUFRLEVBQUVELEtBQUtHLE1BQU0sRUFBRUgsS0FBS0ksT0FBTyxHQUFHQyxZQUFZTCxLQUFLTSxhQUFhLEVBQUVOLEtBQUtPLFlBQVk7SUFDckksSUFBSVAsS0FBS0ksT0FBTyxJQUFJLENBQUNKLEtBQUtRLGFBQWEsRUFBRTtRQUNyQ1AsV0FBVyxDQUFDLEdBQUdOLHFCQUFxQmMsbUJBQW1CLEVBQUVSO0lBQzdEO0lBQ0EsSUFBSUQsS0FBS0ksT0FBTyxFQUFFO1FBQ2RILFdBQVcsQ0FBQyxHQUFHSCxlQUFlWSxhQUFhLEVBQUUsQ0FBQyxHQUFHYixlQUFlYyxhQUFhLEVBQUVWLFVBQVUsaUJBQWlCRCxLQUFLSSxPQUFPLEdBQUdKLEtBQUtDLFFBQVEsS0FBSyxNQUFNLGVBQWU7SUFDcEs7SUFDQUEsV0FBVyxDQUFDLEdBQUdKLGVBQWVjLGFBQWEsRUFBRVYsVUFBVUQsS0FBS1ksUUFBUTtJQUNwRSxPQUFPLENBQUNaLEtBQUtJLE9BQU8sSUFBSUosS0FBS1EsYUFBYSxHQUFHLENBQUNQLFNBQVNZLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBR2YsZUFBZVksYUFBYSxFQUFFVCxVQUFVLE9BQU9BLFdBQVcsQ0FBQyxHQUFHTixxQkFBcUJjLG1CQUFtQixFQUFFUjtBQUN2TCxFQUVBLHFEQUFxRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2Zvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanM/YjE0NiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImZvcm1hdE5leHRQYXRobmFtZUluZm9cIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGZvcm1hdE5leHRQYXRobmFtZUluZm87XG4gICAgfVxufSk7XG5jb25zdCBfcmVtb3ZldHJhaWxpbmdzbGFzaCA9IHJlcXVpcmUoXCIuL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IF9hZGRwYXRocHJlZml4ID0gcmVxdWlyZShcIi4vYWRkLXBhdGgtcHJlZml4XCIpO1xuY29uc3QgX2FkZHBhdGhzdWZmaXggPSByZXF1aXJlKFwiLi9hZGQtcGF0aC1zdWZmaXhcIik7XG5jb25zdCBfYWRkbG9jYWxlID0gcmVxdWlyZShcIi4vYWRkLWxvY2FsZVwiKTtcbmZ1bmN0aW9uIGZvcm1hdE5leHRQYXRobmFtZUluZm8oaW5mbykge1xuICAgIGxldCBwYXRobmFtZSA9ICgwLCBfYWRkbG9jYWxlLmFkZExvY2FsZSkoaW5mby5wYXRobmFtZSwgaW5mby5sb2NhbGUsIGluZm8uYnVpbGRJZCA/IHVuZGVmaW5lZCA6IGluZm8uZGVmYXVsdExvY2FsZSwgaW5mby5pZ25vcmVQcmVmaXgpO1xuICAgIGlmIChpbmZvLmJ1aWxkSWQgfHwgIWluZm8udHJhaWxpbmdTbGFzaCkge1xuICAgICAgICBwYXRobmFtZSA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG4gICAgfVxuICAgIGlmIChpbmZvLmJ1aWxkSWQpIHtcbiAgICAgICAgcGF0aG5hbWUgPSAoMCwgX2FkZHBhdGhzdWZmaXguYWRkUGF0aFN1ZmZpeCkoKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGhuYW1lLCBcIi9fbmV4dC9kYXRhL1wiICsgaW5mby5idWlsZElkKSwgaW5mby5wYXRobmFtZSA9PT0gXCIvXCIgPyBcImluZGV4Lmpzb25cIiA6IFwiLmpzb25cIik7XG4gICAgfVxuICAgIHBhdGhuYW1lID0gKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGhuYW1lLCBpbmZvLmJhc2VQYXRoKTtcbiAgICByZXR1cm4gIWluZm8uYnVpbGRJZCAmJiBpbmZvLnRyYWlsaW5nU2xhc2ggPyAhcGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpID8gKDAsIF9hZGRwYXRoc3VmZml4LmFkZFBhdGhTdWZmaXgpKHBhdGhuYW1lLCBcIi9cIikgOiBwYXRobmFtZSA6ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShwYXRobmFtZSk7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWZvcm1hdC1uZXh0LXBhdGhuYW1lLWluZm8uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImZvcm1hdE5leHRQYXRobmFtZUluZm8iLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsInJlcXVpcmUiLCJfYWRkcGF0aHByZWZpeCIsIl9hZGRwYXRoc3VmZml4IiwiX2FkZGxvY2FsZSIsImluZm8iLCJwYXRobmFtZSIsImFkZExvY2FsZSIsImxvY2FsZSIsImJ1aWxkSWQiLCJ1bmRlZmluZWQiLCJkZWZhdWx0TG9jYWxlIiwiaWdub3JlUHJlZml4IiwidHJhaWxpbmdTbGFzaCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJhZGRQYXRoU3VmZml4IiwiYWRkUGF0aFByZWZpeCIsImJhc2VQYXRoIiwiZW5kc1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/format-next-pathname-info.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js": /*!**********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js ***! \**********************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getNextPathnameInfo\", ({\n enumerable: true,\n get: function() {\n return getNextPathnameInfo;\n }\n}));\nconst _normalizelocalepath = __webpack_require__(/*! ../../i18n/normalize-locale-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/i18n/normalize-locale-path.js\");\nconst _removepathprefix = __webpack_require__(/*! ./remove-path-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\");\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction getNextPathnameInfo(pathname, options) {\n var _options_nextConfig;\n const { basePath, i18n, trailingSlash } = (_options_nextConfig = options.nextConfig) != null ? _options_nextConfig : {};\n const info = {\n pathname,\n trailingSlash: pathname !== \"/\" ? pathname.endsWith(\"/\") : trailingSlash\n };\n if (basePath && (0, _pathhasprefix.pathHasPrefix)(info.pathname, basePath)) {\n info.pathname = (0, _removepathprefix.removePathPrefix)(info.pathname, basePath);\n info.basePath = basePath;\n }\n let pathnameNoDataPrefix = info.pathname;\n if (info.pathname.startsWith(\"/_next/data/\") && info.pathname.endsWith(\".json\")) {\n const paths = info.pathname.replace(/^\\/_next\\/data\\//, \"\").replace(/\\.json$/, \"\").split(\"/\");\n const buildId = paths[0];\n info.buildId = buildId;\n pathnameNoDataPrefix = paths[1] !== \"index\" ? \"/\" + paths.slice(1).join(\"/\") : \"/\";\n // update pathname with normalized if enabled although\n // we use normalized to populate locale info still\n if (options.parseData === true) {\n info.pathname = pathnameNoDataPrefix;\n }\n }\n // If provided, use the locale route normalizer to detect the locale instead\n // of the function below.\n if (i18n) {\n let result = options.i18nProvider ? options.i18nProvider.analyze(info.pathname) : (0, _normalizelocalepath.normalizeLocalePath)(info.pathname, i18n.locales);\n info.locale = result.detectedLocale;\n var _result_pathname;\n info.pathname = (_result_pathname = result.pathname) != null ? _result_pathname : info.pathname;\n if (!result.detectedLocale && info.buildId) {\n result = options.i18nProvider ? options.i18nProvider.analyze(pathnameNoDataPrefix) : (0, _normalizelocalepath.normalizeLocalePath)(pathnameNoDataPrefix, i18n.locales);\n if (result.detectedLocale) {\n info.locale = result.detectedLocale;\n }\n }\n }\n return info;\n} //# sourceMappingURL=get-next-pathname-info.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2dldC1uZXh0LXBhdGhuYW1lLWluZm8uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILHVEQUFzRDtJQUNsREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLHVCQUF1QkMsbUJBQU9BLENBQUMsZ0lBQWtDO0FBQ3ZFLE1BQU1DLG9CQUFvQkQsbUJBQU9BLENBQUMseUhBQXNCO0FBQ3hELE1BQU1FLGlCQUFpQkYsbUJBQU9BLENBQUMsbUhBQW1CO0FBQ2xELFNBQVNGLG9CQUFvQkssUUFBUSxFQUFFQyxPQUFPO0lBQzFDLElBQUlDO0lBQ0osTUFBTSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsYUFBYSxFQUFFLEdBQUcsQ0FBQ0gsc0JBQXNCRCxRQUFRSyxVQUFVLEtBQUssT0FBT0osc0JBQXNCLENBQUM7SUFDdEgsTUFBTUssT0FBTztRQUNUUDtRQUNBSyxlQUFlTCxhQUFhLE1BQU1BLFNBQVNRLFFBQVEsQ0FBQyxPQUFPSDtJQUMvRDtJQUNBLElBQUlGLFlBQVksQ0FBQyxHQUFHSixlQUFlVSxhQUFhLEVBQUVGLEtBQUtQLFFBQVEsRUFBRUcsV0FBVztRQUN4RUksS0FBS1AsUUFBUSxHQUFHLENBQUMsR0FBR0Ysa0JBQWtCWSxnQkFBZ0IsRUFBRUgsS0FBS1AsUUFBUSxFQUFFRztRQUN2RUksS0FBS0osUUFBUSxHQUFHQTtJQUNwQjtJQUNBLElBQUlRLHVCQUF1QkosS0FBS1AsUUFBUTtJQUN4QyxJQUFJTyxLQUFLUCxRQUFRLENBQUNZLFVBQVUsQ0FBQyxtQkFBbUJMLEtBQUtQLFFBQVEsQ0FBQ1EsUUFBUSxDQUFDLFVBQVU7UUFDN0UsTUFBTUssUUFBUU4sS0FBS1AsUUFBUSxDQUFDYyxPQUFPLENBQUMsb0JBQW9CLElBQUlBLE9BQU8sQ0FBQyxXQUFXLElBQUlDLEtBQUssQ0FBQztRQUN6RixNQUFNQyxVQUFVSCxLQUFLLENBQUMsRUFBRTtRQUN4Qk4sS0FBS1MsT0FBTyxHQUFHQTtRQUNmTCx1QkFBdUJFLEtBQUssQ0FBQyxFQUFFLEtBQUssVUFBVSxNQUFNQSxNQUFNSSxLQUFLLENBQUMsR0FBR0MsSUFBSSxDQUFDLE9BQU87UUFDL0Usc0RBQXNEO1FBQ3RELGtEQUFrRDtRQUNsRCxJQUFJakIsUUFBUWtCLFNBQVMsS0FBSyxNQUFNO1lBQzVCWixLQUFLUCxRQUFRLEdBQUdXO1FBQ3BCO0lBQ0o7SUFDQSw0RUFBNEU7SUFDNUUseUJBQXlCO0lBQ3pCLElBQUlQLE1BQU07UUFDTixJQUFJZ0IsU0FBU25CLFFBQVFvQixZQUFZLEdBQUdwQixRQUFRb0IsWUFBWSxDQUFDQyxPQUFPLENBQUNmLEtBQUtQLFFBQVEsSUFBSSxDQUFDLEdBQUdKLHFCQUFxQjJCLG1CQUFtQixFQUFFaEIsS0FBS1AsUUFBUSxFQUFFSSxLQUFLb0IsT0FBTztRQUMzSmpCLEtBQUtrQixNQUFNLEdBQUdMLE9BQU9NLGNBQWM7UUFDbkMsSUFBSUM7UUFDSnBCLEtBQUtQLFFBQVEsR0FBRyxDQUFDMkIsbUJBQW1CUCxPQUFPcEIsUUFBUSxLQUFLLE9BQU8yQixtQkFBbUJwQixLQUFLUCxRQUFRO1FBQy9GLElBQUksQ0FBQ29CLE9BQU9NLGNBQWMsSUFBSW5CLEtBQUtTLE9BQU8sRUFBRTtZQUN4Q0ksU0FBU25CLFFBQVFvQixZQUFZLEdBQUdwQixRQUFRb0IsWUFBWSxDQUFDQyxPQUFPLENBQUNYLHdCQUF3QixDQUFDLEdBQUdmLHFCQUFxQjJCLG1CQUFtQixFQUFFWixzQkFBc0JQLEtBQUtvQixPQUFPO1lBQ3JLLElBQUlKLE9BQU9NLGNBQWMsRUFBRTtnQkFDdkJuQixLQUFLa0IsTUFBTSxHQUFHTCxPQUFPTSxjQUFjO1lBQ3ZDO1FBQ0o7SUFDSjtJQUNBLE9BQU9uQjtBQUNYLEVBRUEsa0RBQWtEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZ2V0LW5leHQtcGF0aG5hbWUtaW5mby5qcz8wZDI2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0TmV4dFBhdGhuYW1lSW5mb1wiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TmV4dFBhdGhuYW1lSW5mbztcbiAgICB9XG59KTtcbmNvbnN0IF9ub3JtYWxpemVsb2NhbGVwYXRoID0gcmVxdWlyZShcIi4uLy4uL2kxOG4vbm9ybWFsaXplLWxvY2FsZS1wYXRoXCIpO1xuY29uc3QgX3JlbW92ZXBhdGhwcmVmaXggPSByZXF1aXJlKFwiLi9yZW1vdmUtcGF0aC1wcmVmaXhcIik7XG5jb25zdCBfcGF0aGhhc3ByZWZpeCA9IHJlcXVpcmUoXCIuL3BhdGgtaGFzLXByZWZpeFwiKTtcbmZ1bmN0aW9uIGdldE5leHRQYXRobmFtZUluZm8ocGF0aG5hbWUsIG9wdGlvbnMpIHtcbiAgICB2YXIgX29wdGlvbnNfbmV4dENvbmZpZztcbiAgICBjb25zdCB7IGJhc2VQYXRoLCBpMThuLCB0cmFpbGluZ1NsYXNoIH0gPSAoX29wdGlvbnNfbmV4dENvbmZpZyA9IG9wdGlvbnMubmV4dENvbmZpZykgIT0gbnVsbCA/IF9vcHRpb25zX25leHRDb25maWcgOiB7fTtcbiAgICBjb25zdCBpbmZvID0ge1xuICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgdHJhaWxpbmdTbGFzaDogcGF0aG5hbWUgIT09IFwiL1wiID8gcGF0aG5hbWUuZW5kc1dpdGgoXCIvXCIpIDogdHJhaWxpbmdTbGFzaFxuICAgIH07XG4gICAgaWYgKGJhc2VQYXRoICYmICgwLCBfcGF0aGhhc3ByZWZpeC5wYXRoSGFzUHJlZml4KShpbmZvLnBhdGhuYW1lLCBiYXNlUGF0aCkpIHtcbiAgICAgICAgaW5mby5wYXRobmFtZSA9ICgwLCBfcmVtb3ZlcGF0aHByZWZpeC5yZW1vdmVQYXRoUHJlZml4KShpbmZvLnBhdGhuYW1lLCBiYXNlUGF0aCk7XG4gICAgICAgIGluZm8uYmFzZVBhdGggPSBiYXNlUGF0aDtcbiAgICB9XG4gICAgbGV0IHBhdGhuYW1lTm9EYXRhUHJlZml4ID0gaW5mby5wYXRobmFtZTtcbiAgICBpZiAoaW5mby5wYXRobmFtZS5zdGFydHNXaXRoKFwiL19uZXh0L2RhdGEvXCIpICYmIGluZm8ucGF0aG5hbWUuZW5kc1dpdGgoXCIuanNvblwiKSkge1xuICAgICAgICBjb25zdCBwYXRocyA9IGluZm8ucGF0aG5hbWUucmVwbGFjZSgvXlxcL19uZXh0XFwvZGF0YVxcLy8sIFwiXCIpLnJlcGxhY2UoL1xcLmpzb24kLywgXCJcIikuc3BsaXQoXCIvXCIpO1xuICAgICAgICBjb25zdCBidWlsZElkID0gcGF0aHNbMF07XG4gICAgICAgIGluZm8uYnVpbGRJZCA9IGJ1aWxkSWQ7XG4gICAgICAgIHBhdGhuYW1lTm9EYXRhUHJlZml4ID0gcGF0aHNbMV0gIT09IFwiaW5kZXhcIiA/IFwiL1wiICsgcGF0aHMuc2xpY2UoMSkuam9pbihcIi9cIikgOiBcIi9cIjtcbiAgICAgICAgLy8gdXBkYXRlIHBhdGhuYW1lIHdpdGggbm9ybWFsaXplZCBpZiBlbmFibGVkIGFsdGhvdWdoXG4gICAgICAgIC8vIHdlIHVzZSBub3JtYWxpemVkIHRvIHBvcHVsYXRlIGxvY2FsZSBpbmZvIHN0aWxsXG4gICAgICAgIGlmIChvcHRpb25zLnBhcnNlRGF0YSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgaW5mby5wYXRobmFtZSA9IHBhdGhuYW1lTm9EYXRhUHJlZml4O1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIElmIHByb3ZpZGVkLCB1c2UgdGhlIGxvY2FsZSByb3V0ZSBub3JtYWxpemVyIHRvIGRldGVjdCB0aGUgbG9jYWxlIGluc3RlYWRcbiAgICAvLyBvZiB0aGUgZnVuY3Rpb24gYmVsb3cuXG4gICAgaWYgKGkxOG4pIHtcbiAgICAgICAgbGV0IHJlc3VsdCA9IG9wdGlvbnMuaTE4blByb3ZpZGVyID8gb3B0aW9ucy5pMThuUHJvdmlkZXIuYW5hbHl6ZShpbmZvLnBhdGhuYW1lKSA6ICgwLCBfbm9ybWFsaXplbG9jYWxlcGF0aC5ub3JtYWxpemVMb2NhbGVQYXRoKShpbmZvLnBhdGhuYW1lLCBpMThuLmxvY2FsZXMpO1xuICAgICAgICBpbmZvLmxvY2FsZSA9IHJlc3VsdC5kZXRlY3RlZExvY2FsZTtcbiAgICAgICAgdmFyIF9yZXN1bHRfcGF0aG5hbWU7XG4gICAgICAgIGluZm8ucGF0aG5hbWUgPSAoX3Jlc3VsdF9wYXRobmFtZSA9IHJlc3VsdC5wYXRobmFtZSkgIT0gbnVsbCA/IF9yZXN1bHRfcGF0aG5hbWUgOiBpbmZvLnBhdGhuYW1lO1xuICAgICAgICBpZiAoIXJlc3VsdC5kZXRlY3RlZExvY2FsZSAmJiBpbmZvLmJ1aWxkSWQpIHtcbiAgICAgICAgICAgIHJlc3VsdCA9IG9wdGlvbnMuaTE4blByb3ZpZGVyID8gb3B0aW9ucy5pMThuUHJvdmlkZXIuYW5hbHl6ZShwYXRobmFtZU5vRGF0YVByZWZpeCkgOiAoMCwgX25vcm1hbGl6ZWxvY2FsZXBhdGgubm9ybWFsaXplTG9jYWxlUGF0aCkocGF0aG5hbWVOb0RhdGFQcmVmaXgsIGkxOG4ubG9jYWxlcyk7XG4gICAgICAgICAgICBpZiAocmVzdWx0LmRldGVjdGVkTG9jYWxlKSB7XG4gICAgICAgICAgICAgICAgaW5mby5sb2NhbGUgPSByZXN1bHQuZGV0ZWN0ZWRMb2NhbGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGluZm87XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWdldC1uZXh0LXBhdGhuYW1lLWluZm8uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldE5leHRQYXRobmFtZUluZm8iLCJfbm9ybWFsaXplbG9jYWxlcGF0aCIsInJlcXVpcmUiLCJfcmVtb3ZlcGF0aHByZWZpeCIsIl9wYXRoaGFzcHJlZml4IiwicGF0aG5hbWUiLCJvcHRpb25zIiwiX29wdGlvbnNfbmV4dENvbmZpZyIsImJhc2VQYXRoIiwiaTE4biIsInRyYWlsaW5nU2xhc2giLCJuZXh0Q29uZmlnIiwiaW5mbyIsImVuZHNXaXRoIiwicGF0aEhhc1ByZWZpeCIsInJlbW92ZVBhdGhQcmVmaXgiLCJwYXRobmFtZU5vRGF0YVByZWZpeCIsInN0YXJ0c1dpdGgiLCJwYXRocyIsInJlcGxhY2UiLCJzcGxpdCIsImJ1aWxkSWQiLCJzbGljZSIsImpvaW4iLCJwYXJzZURhdGEiLCJyZXN1bHQiLCJpMThuUHJvdmlkZXIiLCJhbmFseXplIiwibm9ybWFsaXplTG9jYWxlUGF0aCIsImxvY2FsZXMiLCJsb2NhbGUiLCJkZXRlY3RlZExvY2FsZSIsIl9yZXN1bHRfcGF0aG5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/get-next-pathname-info.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/parse-path.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Given a path this function will find the pathname, query and hash and return\n * them. This is useful to parse full paths on the client side.\n * @param path A path to parse e.g. /foo/bar?id=1#hash\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parsePath\", ({\n enumerable: true,\n get: function() {\n return parsePath;\n }\n}));\nfunction parsePath(path) {\n const hashIndex = path.indexOf(\"#\");\n const queryIndex = path.indexOf(\"?\");\n const hasQuery = queryIndex > -1 && (hashIndex < 0 || queryIndex < hashIndex);\n if (hasQuery || hashIndex > -1) {\n return {\n pathname: path.substring(0, hasQuery ? queryIndex : hashIndex),\n query: hasQuery ? path.substring(queryIndex, hashIndex > -1 ? hashIndex : undefined) : \"\",\n hash: hashIndex > -1 ? path.slice(hashIndex) : \"\"\n };\n }\n return {\n pathname: path,\n query: \"\",\n hash: \"\"\n };\n} //# sourceMappingURL=parse-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXBhdGguanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Q0FJQyxHQUFnQjtBQUNqQkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLFNBQVNBLFVBQVVDLElBQUk7SUFDbkIsTUFBTUMsWUFBWUQsS0FBS0UsT0FBTyxDQUFDO0lBQy9CLE1BQU1DLGFBQWFILEtBQUtFLE9BQU8sQ0FBQztJQUNoQyxNQUFNRSxXQUFXRCxhQUFhLENBQUMsS0FBTUYsQ0FBQUEsWUFBWSxLQUFLRSxhQUFhRixTQUFRO0lBQzNFLElBQUlHLFlBQVlILFlBQVksQ0FBQyxHQUFHO1FBQzVCLE9BQU87WUFDSEksVUFBVUwsS0FBS00sU0FBUyxDQUFDLEdBQUdGLFdBQVdELGFBQWFGO1lBQ3BETSxPQUFPSCxXQUFXSixLQUFLTSxTQUFTLENBQUNILFlBQVlGLFlBQVksQ0FBQyxJQUFJQSxZQUFZTyxhQUFhO1lBQ3ZGQyxNQUFNUixZQUFZLENBQUMsSUFBSUQsS0FBS1UsS0FBSyxDQUFDVCxhQUFhO1FBQ25EO0lBQ0o7SUFDQSxPQUFPO1FBQ0hJLFVBQVVMO1FBQ1ZPLE9BQU87UUFDUEUsTUFBTTtJQUNWO0FBQ0osRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1wYXRoLmpzP2U1MmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHaXZlbiBhIHBhdGggdGhpcyBmdW5jdGlvbiB3aWxsIGZpbmQgdGhlIHBhdGhuYW1lLCBxdWVyeSBhbmQgaGFzaCBhbmQgcmV0dXJuXG4gKiB0aGVtLiBUaGlzIGlzIHVzZWZ1bCB0byBwYXJzZSBmdWxsIHBhdGhzIG9uIHRoZSBjbGllbnQgc2lkZS5cbiAqIEBwYXJhbSBwYXRoIEEgcGF0aCB0byBwYXJzZSBlLmcuIC9mb28vYmFyP2lkPTEjaGFzaFxuICovIFwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VQYXRoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVBhdGg7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBwYXJzZVBhdGgocGF0aCkge1xuICAgIGNvbnN0IGhhc2hJbmRleCA9IHBhdGguaW5kZXhPZihcIiNcIik7XG4gICAgY29uc3QgcXVlcnlJbmRleCA9IHBhdGguaW5kZXhPZihcIj9cIik7XG4gICAgY29uc3QgaGFzUXVlcnkgPSBxdWVyeUluZGV4ID4gLTEgJiYgKGhhc2hJbmRleCA8IDAgfHwgcXVlcnlJbmRleCA8IGhhc2hJbmRleCk7XG4gICAgaWYgKGhhc1F1ZXJ5IHx8IGhhc2hJbmRleCA+IC0xKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBwYXRobmFtZTogcGF0aC5zdWJzdHJpbmcoMCwgaGFzUXVlcnkgPyBxdWVyeUluZGV4IDogaGFzaEluZGV4KSxcbiAgICAgICAgICAgIHF1ZXJ5OiBoYXNRdWVyeSA/IHBhdGguc3Vic3RyaW5nKHF1ZXJ5SW5kZXgsIGhhc2hJbmRleCA+IC0xID8gaGFzaEluZGV4IDogdW5kZWZpbmVkKSA6IFwiXCIsXG4gICAgICAgICAgICBoYXNoOiBoYXNoSW5kZXggPiAtMSA/IHBhdGguc2xpY2UoaGFzaEluZGV4KSA6IFwiXCJcbiAgICAgICAgfTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcGF0aG5hbWU6IHBhdGgsXG4gICAgICAgIHF1ZXJ5OiBcIlwiLFxuICAgICAgICBoYXNoOiBcIlwiXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cGFyc2UtcGF0aC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicGFyc2VQYXRoIiwicGF0aCIsImhhc2hJbmRleCIsImluZGV4T2YiLCJxdWVyeUluZGV4IiwiaGFzUXVlcnkiLCJwYXRobmFtZSIsInN1YnN0cmluZyIsInF1ZXJ5IiwidW5kZWZpbmVkIiwiaGFzaCIsInNsaWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseRelativeUrl\", ({\n enumerable: true,\n get: function() {\n return parseRelativeUrl;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(rsc)/./node_modules/next/dist/shared/lib/utils.js\");\nconst _querystring = __webpack_require__(/*! ./querystring */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nfunction parseRelativeUrl(url, base) {\n const globalBase = new URL( true ? \"http://n\" : 0);\n const resolvedBase = base ? new URL(base, globalBase) : url.startsWith(\".\") ? new URL( true ? \"http://n\" : 0) : globalBase;\n const { pathname, searchParams, search, hash, href, origin } = new URL(url, resolvedBase);\n if (origin !== globalBase.origin) {\n throw new Error(\"invariant: invalid relative URL, router received \" + url);\n }\n return {\n pathname,\n query: (0, _querystring.searchParamsToUrlQuery)(searchParams),\n search,\n hash,\n href: href.slice(globalBase.origin.length)\n };\n} //# sourceMappingURL=parse-relative-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXJlbGF0aXZlLXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsU0FBU0MsbUJBQU9BLENBQUMsdUVBQWE7QUFDcEMsTUFBTUMsZUFBZUQsbUJBQU9BLENBQUMsNEZBQWU7QUFDNUMsU0FBU0YsaUJBQWlCSSxHQUFHLEVBQUVDLElBQUk7SUFDL0IsTUFBTUMsYUFBYSxJQUFJQyxJQUFJLEtBQTZCLEdBQUcsYUFBYSxDQUErQjtJQUN2RyxNQUFNRSxlQUFlSixPQUFPLElBQUlFLElBQUlGLE1BQU1DLGNBQWNGLElBQUlNLFVBQVUsQ0FBQyxPQUFPLElBQUlILElBQUksS0FBNkIsR0FBRyxhQUFhSSxDQUFvQixJQUFJTDtJQUMzSixNQUFNLEVBQUVRLFFBQVEsRUFBRUMsWUFBWSxFQUFFQyxNQUFNLEVBQUVDLElBQUksRUFBRUosSUFBSSxFQUFFSyxNQUFNLEVBQUUsR0FBRyxJQUFJWCxJQUFJSCxLQUFLSztJQUM1RSxJQUFJUyxXQUFXWixXQUFXWSxNQUFNLEVBQUU7UUFDOUIsTUFBTSxJQUFJQyxNQUFNLHNEQUFzRGY7SUFDMUU7SUFDQSxPQUFPO1FBQ0hVO1FBQ0FNLE9BQU8sQ0FBQyxHQUFHakIsYUFBYWtCLHNCQUFzQixFQUFFTjtRQUNoREM7UUFDQUM7UUFDQUosTUFBTUEsS0FBS1MsS0FBSyxDQUFDaEIsV0FBV1ksTUFBTSxDQUFDSyxNQUFNO0lBQzdDO0FBQ0osRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS1yZWxhdGl2ZS11cmwuanM/NGVkZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlUmVsYXRpdmVVcmxcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHBhcnNlUmVsYXRpdmVVcmw7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHNcIik7XG5jb25zdCBfcXVlcnlzdHJpbmcgPSByZXF1aXJlKFwiLi9xdWVyeXN0cmluZ1wiKTtcbmZ1bmN0aW9uIHBhcnNlUmVsYXRpdmVVcmwodXJsLCBiYXNlKSB7XG4gICAgY29uc3QgZ2xvYmFsQmFzZSA9IG5ldyBVUkwodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwiaHR0cDovL25cIiA6ICgwLCBfdXRpbHMuZ2V0TG9jYXRpb25PcmlnaW4pKCkpO1xuICAgIGNvbnN0IHJlc29sdmVkQmFzZSA9IGJhc2UgPyBuZXcgVVJMKGJhc2UsIGdsb2JhbEJhc2UpIDogdXJsLnN0YXJ0c1dpdGgoXCIuXCIpID8gbmV3IFVSTCh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiID8gXCJodHRwOi8vblwiIDogd2luZG93LmxvY2F0aW9uLmhyZWYpIDogZ2xvYmFsQmFzZTtcbiAgICBjb25zdCB7IHBhdGhuYW1lLCBzZWFyY2hQYXJhbXMsIHNlYXJjaCwgaGFzaCwgaHJlZiwgb3JpZ2luIH0gPSBuZXcgVVJMKHVybCwgcmVzb2x2ZWRCYXNlKTtcbiAgICBpZiAob3JpZ2luICE9PSBnbG9iYWxCYXNlLm9yaWdpbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnZhcmlhbnQ6IGludmFsaWQgcmVsYXRpdmUgVVJMLCByb3V0ZXIgcmVjZWl2ZWQgXCIgKyB1cmwpO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBwYXRobmFtZSxcbiAgICAgICAgcXVlcnk6ICgwLCBfcXVlcnlzdHJpbmcuc2VhcmNoUGFyYW1zVG9VcmxRdWVyeSkoc2VhcmNoUGFyYW1zKSxcbiAgICAgICAgc2VhcmNoLFxuICAgICAgICBoYXNoLFxuICAgICAgICBocmVmOiBocmVmLnNsaWNlKGdsb2JhbEJhc2Uub3JpZ2luLmxlbmd0aClcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZS1yZWxhdGl2ZS11cmwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInBhcnNlUmVsYXRpdmVVcmwiLCJfdXRpbHMiLCJyZXF1aXJlIiwiX3F1ZXJ5c3RyaW5nIiwidXJsIiwiYmFzZSIsImdsb2JhbEJhc2UiLCJVUkwiLCJnZXRMb2NhdGlvbk9yaWdpbiIsInJlc29sdmVkQmFzZSIsInN0YXJ0c1dpdGgiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhyZWYiLCJwYXRobmFtZSIsInNlYXJjaFBhcmFtcyIsInNlYXJjaCIsImhhc2giLCJvcmlnaW4iLCJFcnJvciIsInF1ZXJ5Iiwic2VhcmNoUGFyYW1zVG9VcmxRdWVyeSIsInNsaWNlIiwibGVuZ3RoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-url.js": /*!*********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/parse-url.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"parseUrl\", ({\n enumerable: true,\n get: function() {\n return parseUrl;\n }\n}));\nconst _querystring = __webpack_require__(/*! ./querystring */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\");\nconst _parserelativeurl = __webpack_require__(/*! ./parse-relative-url */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.js\");\nfunction parseUrl(url) {\n if (url.startsWith(\"/\")) {\n return (0, _parserelativeurl.parseRelativeUrl)(url);\n }\n const parsedURL = new URL(url);\n return {\n hash: parsedURL.hash,\n hostname: parsedURL.hostname,\n href: parsedURL.href,\n pathname: parsedURL.pathname,\n port: parsedURL.port,\n protocol: parsedURL.protocol,\n query: (0, _querystring.searchParamsToUrlQuery)(parsedURL.searchParams),\n search: parsedURL.search\n };\n} //# sourceMappingURL=parse-url.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhcnNlLXVybC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNENBQTJDO0lBQ3ZDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZUFBZUMsbUJBQU9BLENBQUMsNEZBQWU7QUFDNUMsTUFBTUMsb0JBQW9CRCxtQkFBT0EsQ0FBQywwR0FBc0I7QUFDeEQsU0FBU0YsU0FBU0ksR0FBRztJQUNqQixJQUFJQSxJQUFJQyxVQUFVLENBQUMsTUFBTTtRQUNyQixPQUFPLENBQUMsR0FBR0Ysa0JBQWtCRyxnQkFBZ0IsRUFBRUY7SUFDbkQ7SUFDQSxNQUFNRyxZQUFZLElBQUlDLElBQUlKO0lBQzFCLE9BQU87UUFDSEssTUFBTUYsVUFBVUUsSUFBSTtRQUNwQkMsVUFBVUgsVUFBVUcsUUFBUTtRQUM1QkMsTUFBTUosVUFBVUksSUFBSTtRQUNwQkMsVUFBVUwsVUFBVUssUUFBUTtRQUM1QkMsTUFBTU4sVUFBVU0sSUFBSTtRQUNwQkMsVUFBVVAsVUFBVU8sUUFBUTtRQUM1QkMsT0FBTyxDQUFDLEdBQUdkLGFBQWFlLHNCQUFzQixFQUFFVCxVQUFVVSxZQUFZO1FBQ3RFQyxRQUFRWCxVQUFVVyxNQUFNO0lBQzVCO0FBQ0osRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9wYXJzZS11cmwuanM/Nzk1OCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInBhcnNlVXJsXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBwYXJzZVVybDtcbiAgICB9XG59KTtcbmNvbnN0IF9xdWVyeXN0cmluZyA9IHJlcXVpcmUoXCIuL3F1ZXJ5c3RyaW5nXCIpO1xuY29uc3QgX3BhcnNlcmVsYXRpdmV1cmwgPSByZXF1aXJlKFwiLi9wYXJzZS1yZWxhdGl2ZS11cmxcIik7XG5mdW5jdGlvbiBwYXJzZVVybCh1cmwpIHtcbiAgICBpZiAodXJsLnN0YXJ0c1dpdGgoXCIvXCIpKSB7XG4gICAgICAgIHJldHVybiAoMCwgX3BhcnNlcmVsYXRpdmV1cmwucGFyc2VSZWxhdGl2ZVVybCkodXJsKTtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkVVJMID0gbmV3IFVSTCh1cmwpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGhhc2g6IHBhcnNlZFVSTC5oYXNoLFxuICAgICAgICBob3N0bmFtZTogcGFyc2VkVVJMLmhvc3RuYW1lLFxuICAgICAgICBocmVmOiBwYXJzZWRVUkwuaHJlZixcbiAgICAgICAgcGF0aG5hbWU6IHBhcnNlZFVSTC5wYXRobmFtZSxcbiAgICAgICAgcG9ydDogcGFyc2VkVVJMLnBvcnQsXG4gICAgICAgIHByb3RvY29sOiBwYXJzZWRVUkwucHJvdG9jb2wsXG4gICAgICAgIHF1ZXJ5OiAoMCwgX3F1ZXJ5c3RyaW5nLnNlYXJjaFBhcmFtc1RvVXJsUXVlcnkpKHBhcnNlZFVSTC5zZWFyY2hQYXJhbXMpLFxuICAgICAgICBzZWFyY2g6IHBhcnNlZFVSTC5zZWFyY2hcbiAgICB9O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXJzZS11cmwuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInBhcnNlVXJsIiwiX3F1ZXJ5c3RyaW5nIiwicmVxdWlyZSIsIl9wYXJzZXJlbGF0aXZldXJsIiwidXJsIiwic3RhcnRzV2l0aCIsInBhcnNlUmVsYXRpdmVVcmwiLCJwYXJzZWRVUkwiLCJVUkwiLCJoYXNoIiwiaG9zdG5hbWUiLCJocmVmIiwicGF0aG5hbWUiLCJwb3J0IiwicHJvdG9jb2wiLCJxdWVyeSIsInNlYXJjaFBhcmFtc1RvVXJsUXVlcnkiLCJzZWFyY2hQYXJhbXMiLCJzZWFyY2giXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-url.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js": /*!***************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"pathHasPrefix\", ({\n enumerable: true,\n get: function() {\n return pathHasPrefix;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ./parse-path */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction pathHasPrefix(path, prefix) {\n if (typeof path !== \"string\") {\n return false;\n }\n const { pathname } = (0, _parsepath.parsePath)(path);\n return pathname === prefix || pathname.startsWith(prefix + \"/\");\n} //# sourceMappingURL=path-has-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsaURBQWdEO0lBQzVDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMseUdBQWM7QUFDekMsU0FBU0YsY0FBY0csSUFBSSxFQUFFQyxNQUFNO0lBQy9CLElBQUksT0FBT0QsU0FBUyxVQUFVO1FBQzFCLE9BQU87SUFDWDtJQUNBLE1BQU0sRUFBRUUsUUFBUSxFQUFFLEdBQUcsQ0FBQyxHQUFHSixXQUFXSyxTQUFTLEVBQUVIO0lBQy9DLE9BQU9FLGFBQWFELFVBQVVDLFNBQVNFLFVBQVUsQ0FBQ0gsU0FBUztBQUMvRCxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtaGFzLXByZWZpeC5qcz9iNTM4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGF0aEhhc1ByZWZpeFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcGF0aEhhc1ByZWZpeDtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi9wYXJzZS1wYXRoXCIpO1xuZnVuY3Rpb24gcGF0aEhhc1ByZWZpeChwYXRoLCBwcmVmaXgpIHtcbiAgICBpZiAodHlwZW9mIHBhdGggIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IHBhdGhuYW1lIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIHJldHVybiBwYXRobmFtZSA9PT0gcHJlZml4IHx8IHBhdGhuYW1lLnN0YXJ0c1dpdGgocHJlZml4ICsgXCIvXCIpO1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1wYXRoLWhhcy1wcmVmaXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInBhdGhIYXNQcmVmaXgiLCJfcGFyc2VwYXRoIiwicmVxdWlyZSIsInBhdGgiLCJwcmVmaXgiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInN0YXJ0c1dpdGgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/path-match.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/path-match.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getPathMatch\", ({\n enumerable: true,\n get: function() {\n return getPathMatch;\n }\n}));\nconst _pathtoregexp = __webpack_require__(/*! next/dist/compiled/path-to-regexp */ \"(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js\");\nfunction getPathMatch(path, options) {\n const keys = [];\n const regexp = (0, _pathtoregexp.pathToRegexp)(path, keys, {\n delimiter: \"/\",\n sensitive: typeof (options == null ? void 0 : options.sensitive) === \"boolean\" ? options.sensitive : false,\n strict: options == null ? void 0 : options.strict\n });\n const matcher = (0, _pathtoregexp.regexpToFunction)((options == null ? void 0 : options.regexModifier) ? new RegExp(options.regexModifier(regexp.source), regexp.flags) : regexp, keys);\n /**\n * A matcher function that will check if a given pathname matches the path\n * given in the builder function. When the path does not match it will return\n * `false` but if it does it will return an object with the matched params\n * merged with the params provided in the second argument.\n */ return (pathname, params)=>{\n // If no pathname is provided it's not a match.\n if (typeof pathname !== \"string\") return false;\n const match = matcher(pathname);\n // If the path did not match `false` will be returned.\n if (!match) return false;\n /**\n * If unnamed params are not allowed they must be removed from\n * the matched parameters. path-to-regexp uses \"string\" for named and\n * \"number\" for unnamed parameters.\n */ if (options == null ? void 0 : options.removeUnnamedParams) {\n for (const key of keys){\n if (typeof key.name === \"number\") {\n delete match.params[key.name];\n }\n }\n }\n return {\n ...params,\n ...match.params\n };\n };\n} //# sourceMappingURL=path-match.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtbWF0Y2guanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGdEQUErQztJQUMzQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGdCQUFnQkMsbUJBQU9BLENBQUMsMEdBQW1DO0FBQ2pFLFNBQVNGLGFBQWFHLElBQUksRUFBRUMsT0FBTztJQUMvQixNQUFNQyxPQUFPLEVBQUU7SUFDZixNQUFNQyxTQUFTLENBQUMsR0FBR0wsY0FBY00sWUFBWSxFQUFFSixNQUFNRSxNQUFNO1FBQ3ZERyxXQUFXO1FBQ1hDLFdBQVcsT0FBUUwsQ0FBQUEsV0FBVyxPQUFPLEtBQUssSUFBSUEsUUFBUUssU0FBUyxNQUFNLFlBQVlMLFFBQVFLLFNBQVMsR0FBRztRQUNyR0MsUUFBUU4sV0FBVyxPQUFPLEtBQUssSUFBSUEsUUFBUU0sTUFBTTtJQUNyRDtJQUNBLE1BQU1DLFVBQVUsQ0FBQyxHQUFHVixjQUFjVyxnQkFBZ0IsRUFBRSxDQUFDUixXQUFXLE9BQU8sS0FBSyxJQUFJQSxRQUFRUyxhQUFhLElBQUksSUFBSUMsT0FBT1YsUUFBUVMsYUFBYSxDQUFDUCxPQUFPUyxNQUFNLEdBQUdULE9BQU9VLEtBQUssSUFBSVYsUUFBUUQ7SUFDbEw7Ozs7O0dBS0QsR0FBRyxPQUFPLENBQUNZLFVBQVVDO1FBQ2hCLCtDQUErQztRQUMvQyxJQUFJLE9BQU9ELGFBQWEsVUFBVSxPQUFPO1FBQ3pDLE1BQU1FLFFBQVFSLFFBQVFNO1FBQ3RCLHNEQUFzRDtRQUN0RCxJQUFJLENBQUNFLE9BQU8sT0FBTztRQUNuQjs7OztLQUlILEdBQUcsSUFBSWYsV0FBVyxPQUFPLEtBQUssSUFBSUEsUUFBUWdCLG1CQUFtQixFQUFFO1lBQ3hELEtBQUssTUFBTUMsT0FBT2hCLEtBQUs7Z0JBQ25CLElBQUksT0FBT2dCLElBQUlDLElBQUksS0FBSyxVQUFVO29CQUM5QixPQUFPSCxNQUFNRCxNQUFNLENBQUNHLElBQUlDLElBQUksQ0FBQztnQkFDakM7WUFDSjtRQUNKO1FBQ0EsT0FBTztZQUNILEdBQUdKLE1BQU07WUFDVCxHQUFHQyxNQUFNRCxNQUFNO1FBQ25CO0lBQ0o7QUFDSixFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3BhdGgtbWF0Y2guanM/MTI5NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImdldFBhdGhNYXRjaFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0UGF0aE1hdGNoO1xuICAgIH1cbn0pO1xuY29uc3QgX3BhdGh0b3JlZ2V4cCA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcGF0aC10by1yZWdleHBcIik7XG5mdW5jdGlvbiBnZXRQYXRoTWF0Y2gocGF0aCwgb3B0aW9ucykge1xuICAgIGNvbnN0IGtleXMgPSBbXTtcbiAgICBjb25zdCByZWdleHAgPSAoMCwgX3BhdGh0b3JlZ2V4cC5wYXRoVG9SZWdleHApKHBhdGgsIGtleXMsIHtcbiAgICAgICAgZGVsaW1pdGVyOiBcIi9cIixcbiAgICAgICAgc2Vuc2l0aXZlOiB0eXBlb2YgKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMuc2Vuc2l0aXZlKSA9PT0gXCJib29sZWFuXCIgPyBvcHRpb25zLnNlbnNpdGl2ZSA6IGZhbHNlLFxuICAgICAgICBzdHJpY3Q6IG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMuc3RyaWN0XG4gICAgfSk7XG4gICAgY29uc3QgbWF0Y2hlciA9ICgwLCBfcGF0aHRvcmVnZXhwLnJlZ2V4cFRvRnVuY3Rpb24pKChvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLnJlZ2V4TW9kaWZpZXIpID8gbmV3IFJlZ0V4cChvcHRpb25zLnJlZ2V4TW9kaWZpZXIocmVnZXhwLnNvdXJjZSksIHJlZ2V4cC5mbGFncykgOiByZWdleHAsIGtleXMpO1xuICAgIC8qKlxuICAgKiBBIG1hdGNoZXIgZnVuY3Rpb24gdGhhdCB3aWxsIGNoZWNrIGlmIGEgZ2l2ZW4gcGF0aG5hbWUgbWF0Y2hlcyB0aGUgcGF0aFxuICAgKiBnaXZlbiBpbiB0aGUgYnVpbGRlciBmdW5jdGlvbi4gV2hlbiB0aGUgcGF0aCBkb2VzIG5vdCBtYXRjaCBpdCB3aWxsIHJldHVyblxuICAgKiBgZmFsc2VgIGJ1dCBpZiBpdCBkb2VzIGl0IHdpbGwgcmV0dXJuIGFuIG9iamVjdCB3aXRoIHRoZSBtYXRjaGVkIHBhcmFtc1xuICAgKiBtZXJnZWQgd2l0aCB0aGUgcGFyYW1zIHByb3ZpZGVkIGluIHRoZSBzZWNvbmQgYXJndW1lbnQuXG4gICAqLyByZXR1cm4gKHBhdGhuYW1lLCBwYXJhbXMpPT57XG4gICAgICAgIC8vIElmIG5vIHBhdGhuYW1lIGlzIHByb3ZpZGVkIGl0J3Mgbm90IGEgbWF0Y2guXG4gICAgICAgIGlmICh0eXBlb2YgcGF0aG5hbWUgIT09IFwic3RyaW5nXCIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSBtYXRjaGVyKHBhdGhuYW1lKTtcbiAgICAgICAgLy8gSWYgdGhlIHBhdGggZGlkIG5vdCBtYXRjaCBgZmFsc2VgIHdpbGwgYmUgcmV0dXJuZWQuXG4gICAgICAgIGlmICghbWF0Y2gpIHJldHVybiBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICogSWYgdW5uYW1lZCBwYXJhbXMgYXJlIG5vdCBhbGxvd2VkIHRoZXkgbXVzdCBiZSByZW1vdmVkIGZyb21cbiAgICAgKiB0aGUgbWF0Y2hlZCBwYXJhbWV0ZXJzLiBwYXRoLXRvLXJlZ2V4cCB1c2VzIFwic3RyaW5nXCIgZm9yIG5hbWVkIGFuZFxuICAgICAqIFwibnVtYmVyXCIgZm9yIHVubmFtZWQgcGFyYW1ldGVycy5cbiAgICAgKi8gaWYgKG9wdGlvbnMgPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnMucmVtb3ZlVW5uYW1lZFBhcmFtcykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cyl7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBrZXkubmFtZSA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgICAgICAgICBkZWxldGUgbWF0Y2gucGFyYW1zW2tleS5uYW1lXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgIC4uLm1hdGNoLnBhcmFtc1xuICAgICAgICB9O1xuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXBhdGgtbWF0Y2guanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFBhdGhNYXRjaCIsIl9wYXRodG9yZWdleHAiLCJyZXF1aXJlIiwicGF0aCIsIm9wdGlvbnMiLCJrZXlzIiwicmVnZXhwIiwicGF0aFRvUmVnZXhwIiwiZGVsaW1pdGVyIiwic2Vuc2l0aXZlIiwic3RyaWN0IiwibWF0Y2hlciIsInJlZ2V4cFRvRnVuY3Rpb24iLCJyZWdleE1vZGlmaWVyIiwiUmVnRXhwIiwic291cmNlIiwiZmxhZ3MiLCJwYXRobmFtZSIsInBhcmFtcyIsIm1hdGNoIiwicmVtb3ZlVW5uYW1lZFBhcmFtcyIsImtleSIsIm5hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/path-match.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js": /*!*******************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js ***! \*******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n matchHas: function() {\n return matchHas;\n },\n compileNonPath: function() {\n return compileNonPath;\n },\n prepareDestination: function() {\n return prepareDestination;\n }\n});\nconst _pathtoregexp = __webpack_require__(/*! next/dist/compiled/path-to-regexp */ \"(rsc)/./node_modules/next/dist/compiled/path-to-regexp/index.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _parseurl = __webpack_require__(/*! ./parse-url */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/parse-url.js\");\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _approuterheaders = __webpack_require__(/*! ../../../../client/components/app-router-headers */ \"(rsc)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _getcookieparser = __webpack_require__(/*! ../../../../server/api-utils/get-cookie-parser */ \"(rsc)/./node_modules/next/dist/server/api-utils/get-cookie-parser.js\");\n/**\n * Ensure only a-zA-Z are used for param names for proper interpolating\n * with path-to-regexp\n */ function getSafeParamName(paramName) {\n let newParamName = \"\";\n for(let i = 0; i < paramName.length; i++){\n const charCode = paramName.charCodeAt(i);\n if (charCode > 64 && charCode < 91 || // A-Z\n charCode > 96 && charCode < 123 // a-z\n ) {\n newParamName += paramName[i];\n }\n }\n return newParamName;\n}\nfunction escapeSegment(str, segmentName) {\n return str.replace(new RegExp(\":\" + (0, _escaperegexp.escapeStringRegexp)(segmentName), \"g\"), \"__ESC_COLON_\" + segmentName);\n}\nfunction unescapeSegments(str) {\n return str.replace(/__ESC_COLON_/gi, \":\");\n}\nfunction matchHas(req, query, has, missing) {\n if (has === void 0) has = [];\n if (missing === void 0) missing = [];\n const params = {};\n const hasMatch = (hasItem)=>{\n let value;\n let key = hasItem.key;\n switch(hasItem.type){\n case \"header\":\n {\n key = key.toLowerCase();\n value = req.headers[key];\n break;\n }\n case \"cookie\":\n {\n if (\"cookies\" in req) {\n value = req.cookies[hasItem.key];\n } else {\n const cookies = (0, _getcookieparser.getCookieParser)(req.headers)();\n value = cookies[hasItem.key];\n }\n break;\n }\n case \"query\":\n {\n value = query[key];\n break;\n }\n case \"host\":\n {\n const { host } = (req == null ? void 0 : req.headers) || {};\n // remove port from host if present\n const hostname = host == null ? void 0 : host.split(\":\", 1)[0].toLowerCase();\n value = hostname;\n break;\n }\n default:\n {\n break;\n }\n }\n if (!hasItem.value && value) {\n params[getSafeParamName(key)] = value;\n return true;\n } else if (value) {\n const matcher = new RegExp(\"^\" + hasItem.value + \"$\");\n const matches = Array.isArray(value) ? value.slice(-1)[0].match(matcher) : value.match(matcher);\n if (matches) {\n if (Array.isArray(matches)) {\n if (matches.groups) {\n Object.keys(matches.groups).forEach((groupKey)=>{\n params[groupKey] = matches.groups[groupKey];\n });\n } else if (hasItem.type === \"host\" && matches[0]) {\n params.host = matches[0];\n }\n }\n return true;\n }\n }\n return false;\n };\n const allMatch = has.every((item)=>hasMatch(item)) && !missing.some((item)=>hasMatch(item));\n if (allMatch) {\n return params;\n }\n return false;\n}\nfunction compileNonPath(value, params) {\n if (!value.includes(\":\")) {\n return value;\n }\n for (const key of Object.keys(params)){\n if (value.includes(\":\" + key)) {\n value = value.replace(new RegExp(\":\" + key + \"\\\\*\", \"g\"), \":\" + key + \"--ESCAPED_PARAM_ASTERISKS\").replace(new RegExp(\":\" + key + \"\\\\?\", \"g\"), \":\" + key + \"--ESCAPED_PARAM_QUESTION\").replace(new RegExp(\":\" + key + \"\\\\+\", \"g\"), \":\" + key + \"--ESCAPED_PARAM_PLUS\").replace(new RegExp(\":\" + key + \"(?!\\\\w)\", \"g\"), \"--ESCAPED_PARAM_COLON\" + key);\n }\n }\n value = value.replace(/(:|\\*|\\?|\\+|\\(|\\)|\\{|\\})/g, \"\\\\$1\").replace(/--ESCAPED_PARAM_PLUS/g, \"+\").replace(/--ESCAPED_PARAM_COLON/g, \":\").replace(/--ESCAPED_PARAM_QUESTION/g, \"?\").replace(/--ESCAPED_PARAM_ASTERISKS/g, \"*\");\n // the value needs to start with a forward-slash to be compiled\n // correctly\n return (0, _pathtoregexp.compile)(\"/\" + value, {\n validate: false\n })(params).slice(1);\n}\nfunction prepareDestination(args) {\n const query = Object.assign({}, args.query);\n delete query.__nextLocale;\n delete query.__nextDefaultLocale;\n delete query.__nextDataReq;\n delete query.__nextInferredLocaleFromDefault;\n delete query[_approuterheaders.NEXT_RSC_UNION_QUERY];\n let escapedDestination = args.destination;\n for (const param of Object.keys({\n ...args.params,\n ...query\n })){\n escapedDestination = escapeSegment(escapedDestination, param);\n }\n const parsedDestination = (0, _parseurl.parseUrl)(escapedDestination);\n const destQuery = parsedDestination.query;\n const destPath = unescapeSegments(\"\" + parsedDestination.pathname + (parsedDestination.hash || \"\"));\n const destHostname = unescapeSegments(parsedDestination.hostname || \"\");\n const destPathParamKeys = [];\n const destHostnameParamKeys = [];\n (0, _pathtoregexp.pathToRegexp)(destPath, destPathParamKeys);\n (0, _pathtoregexp.pathToRegexp)(destHostname, destHostnameParamKeys);\n const destParams = [];\n destPathParamKeys.forEach((key)=>destParams.push(key.name));\n destHostnameParamKeys.forEach((key)=>destParams.push(key.name));\n const destPathCompiler = (0, _pathtoregexp.compile)(destPath, // have already validated before we got to this point and validating\n // breaks compiling destinations with named pattern params from the source\n // e.g. /something:hello(.*) -> /another/:hello is broken with validation\n // since compile validation is meant for reversing and not for inserting\n // params from a separate path-regex into another\n {\n validate: false\n });\n const destHostnameCompiler = (0, _pathtoregexp.compile)(destHostname, {\n validate: false\n });\n // update any params in query values\n for (const [key, strOrArray] of Object.entries(destQuery)){\n // the value needs to start with a forward-slash to be compiled\n // correctly\n if (Array.isArray(strOrArray)) {\n destQuery[key] = strOrArray.map((value)=>compileNonPath(unescapeSegments(value), args.params));\n } else if (typeof strOrArray === \"string\") {\n destQuery[key] = compileNonPath(unescapeSegments(strOrArray), args.params);\n }\n }\n // add path params to query if it's not a redirect and not\n // already defined in destination query or path\n let paramKeys = Object.keys(args.params).filter((name)=>name !== \"nextInternalLocale\");\n if (args.appendParamsToQuery && !paramKeys.some((key)=>destParams.includes(key))) {\n for (const key of paramKeys){\n if (!(key in destQuery)) {\n destQuery[key] = args.params[key];\n }\n }\n }\n let newUrl;\n // The compiler also that the interception route marker is an unnamed param, hence '0',\n // so we need to add it to the params object.\n if ((0, _interceptionroutes.isInterceptionRouteAppPath)(destPath)) {\n for (const segment of destPath.split(\"/\")){\n const marker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n if (marker) {\n args.params[\"0\"] = marker;\n break;\n }\n }\n }\n try {\n newUrl = destPathCompiler(args.params);\n const [pathname, hash] = newUrl.split(\"#\", 2);\n parsedDestination.hostname = destHostnameCompiler(args.params);\n parsedDestination.pathname = pathname;\n parsedDestination.hash = \"\" + (hash ? \"#\" : \"\") + (hash || \"\");\n delete parsedDestination.search;\n } catch (err) {\n if (err.message.match(/Expected .*? to not repeat, but got an array/)) {\n throw new Error(\"To use a multi-match in the destination you must add `*` at the end of the param name to signify it should repeat. https://nextjs.org/docs/messages/invalid-multi-match\");\n }\n throw err;\n }\n // Query merge order lowest priority to highest\n // 1. initial URL query values\n // 2. path segment values\n // 3. destination specified query values\n parsedDestination.query = {\n ...query,\n ...parsedDestination.query\n };\n return {\n newUrl,\n destQuery,\n parsedDestination\n };\n} //# sourceMappingURL=prepare-destination.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3ByZXBhcmUtZGVzdGluYXRpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FJTjtBQUNBLFNBQVNJLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlWLE9BQU9DLGNBQWMsQ0FBQ1EsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRTixTQUFTO0lBQ2JHLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsb0JBQW9CO1FBQ2hCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1PLGdCQUFnQkMsbUJBQU9BLENBQUMsMEdBQW1DO0FBQ2pFLE1BQU1DLGdCQUFnQkQsbUJBQU9BLENBQUMsdUZBQXFCO0FBQ25ELE1BQU1FLFlBQVlGLG1CQUFPQSxDQUFDLHdGQUFhO0FBQ3ZDLE1BQU1HLHNCQUFzQkgsbUJBQU9BLENBQUMsMElBQXVEO0FBQzNGLE1BQU1JLG9CQUFvQkosbUJBQU9BLENBQUMsZ0lBQWtEO0FBQ3BGLE1BQU1LLG1CQUFtQkwsbUJBQU9BLENBQUMsNEhBQWdEO0FBQ2pGOzs7Q0FHQyxHQUFHLFNBQVNNLGlCQUFpQkMsU0FBUztJQUNuQyxJQUFJQyxlQUFlO0lBQ25CLElBQUksSUFBSUMsSUFBSSxHQUFHQSxJQUFJRixVQUFVRyxNQUFNLEVBQUVELElBQUk7UUFDckMsTUFBTUUsV0FBV0osVUFBVUssVUFBVSxDQUFDSDtRQUN0QyxJQUFJRSxXQUFXLE1BQU1BLFdBQVcsTUFBTSxNQUFNO1FBQzVDQSxXQUFXLE1BQU1BLFdBQVcsSUFBSSxNQUFNO1VBQ3BDO1lBQ0VILGdCQUFnQkQsU0FBUyxD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Q0FBQyxLQUFLO1lBQ3RDLE1BQU1tRCxTQUFTbkYsb0JBQW9Cb0YsMEJBQTBCLENBQUNDLElBQUksQ0FBQyxDQUFDQyxJQUFJSixRQUFRSyxVQUFVLENBQUNEO1lBQzNGLElBQUlILFFBQVE7Z0JBQ1JqQyxLQUFLN0IsTUFBTSxDQUFDLElBQUksR0FBRzhEO2dCQUNuQjtZQUNKO1FBQ0o7SUFDSjtJQUNBLElBQUk7UUFDQUgsU0FBU1IsaUJBQWlCdEIsS0FBSzdCLE1BQU07UUFDckMsTUFBTSxDQUFDMkMsVUFBVUMsS0FBSyxHQUFHZSxPQUFPaEQsS0FBSyxDQUFDLEtBQUs7UUFDM0M0QixrQkFBa0I3QixRQUFRLEdBQUcwQyxxQkFBcUJ2QixLQUFLN0IsTUFBTTtRQUM3RHVDLGtCQUFrQkksUUFBUSxHQUFHQTtRQUM3Qkosa0JBQWtCSyxJQUFJLEdBQUcsS0FBTUEsQ0FBQUEsT0FBTyxNQUFNLEVBQUMsSUFBTUEsQ0FBQUEsUUFBUSxFQUFDO1FBQzVELE9BQU9MLGtCQUFrQjRCLE1BQU07SUFDbkMsRUFBRSxPQUFPQyxLQUFLO1FBQ1YsSUFBSUEsSUFBSUMsT0FBTyxDQUFDcEQsS0FBSyxDQUFDLGlEQUFpRDtZQUNuRSxNQUFNLElBQUlxRCxNQUFNO1FBQ3BCO1FBQ0EsTUFBTUY7SUFDVjtJQUNBLCtDQUErQztJQUMvQyw4QkFBOEI7SUFDOUIseUJBQXlCO0lBQ3pCLHdDQUF3QztJQUN4QzdCLGtCQUFrQjFDLEtBQUssR0FBRztRQUN0QixHQUFHQSxLQUFLO1FBQ1IsR0FBRzBDLGtCQUFrQjFDLEtBQUs7SUFDOUI7SUFDQSxPQUFPO1FBQ0g4RDtRQUNBbEI7UUFDQUY7SUFDSjtBQUNKLEVBRUEsK0NBQStDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcHJlcGFyZS1kZXN0aW5hdGlvbi5qcz85NTdjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgbWF0Y2hIYXM6IG51bGwsXG4gICAgY29tcGlsZU5vblBhdGg6IG51bGwsXG4gICAgcHJlcGFyZURlc3RpbmF0aW9uOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIG1hdGNoSGFzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG1hdGNoSGFzO1xuICAgIH0sXG4gICAgY29tcGlsZU5vblBhdGg6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29tcGlsZU5vblBhdGg7XG4gICAgfSxcbiAgICBwcmVwYXJlRGVzdGluYXRpb246IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcHJlcGFyZURlc3RpbmF0aW9uO1xuICAgIH1cbn0pO1xuY29uc3QgX3BhdGh0b3JlZ2V4cCA9IHJlcXVpcmUoXCJuZXh0L2Rpc3QvY29tcGlsZWQvcGF0aC10by1yZWdleHBcIik7XG5jb25zdCBfZXNjYXBlcmVnZXhwID0gcmVxdWlyZShcIi4uLy4uL2VzY2FwZS1yZWdleHBcIik7XG5jb25zdCBfcGFyc2V1cmwgPSByZXF1aXJlKFwiLi9wYXJzZS11cmxcIik7XG5jb25zdCBfaW50ZXJjZXB0aW9ucm91dGVzID0gcmVxdWlyZShcIi4uLy4uLy4uLy4uL3NlcnZlci9mdXR1cmUvaGVscGVycy9pbnRlcmNlcHRpb24tcm91dGVzXCIpO1xuY29uc3QgX2FwcHJvdXRlcmhlYWRlcnMgPSByZXF1aXJlKFwiLi4vLi4vLi4vLi4vY2xpZW50L2NvbXBvbmVudHMvYXBwLXJvdXRlci1oZWFkZXJzXCIpO1xuY29uc3QgX2dldGNvb2tpZXBhcnNlciA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zZXJ2ZXIvYXBpLXV0aWxzL2dldC1jb29raWUtcGFyc2VyXCIpO1xuLyoqXG4gKiBFbnN1cmUgb25seSBhLXpBLVogYXJlIHVzZWQgZm9yIHBhcmFtIG5hbWVzIGZvciBwcm9wZXIgaW50ZXJwb2xhdGluZ1xuICogd2l0aCBwYXRoLXRvLXJlZ2V4cFxuICovIGZ1bmN0aW9uIGdldFNhZmVQYXJhbU5hbWUocGFyYW1OYW1lKSB7XG4gICAgbGV0IG5ld1BhcmFtTmFtZSA9IFwiXCI7XG4gICAgZm9yKGxldCBpID0gMDsgaSA8IHBhcmFtTmFtZS5sZW5ndGg7IGkrKyl7XG4gICAgICAgIGNvbnN0IGNoYXJDb2RlID0gcGFyYW1OYW1lLmNoYXJDb2RlQXQoaSk7XG4gICAgICAgIGlmIChjaGFyQ29kZSA+IDY0ICYmIGNoYXJDb2RlIDwgOTEgfHwgLy8gQS1aXG4gICAgICAgIGNoYXJDb2RlID4gOTYgJiYgY2hhckNvZGUgPCAxMjMgLy8gYS16XG4gICAgICAgICkge1xuICAgICAgICAgICAgbmV3UGFyYW1OYW1lICs9IHBhcmFtTmFtZVtpXTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbmV3UGFyYW1OYW1lO1xufVxuZnVuY3Rpb24gZXNjYXBlU2VnbWVudChzdHIsIHNlZ21lbnROYW1lKSB7XG4gICAgcmV0dXJuIHN0ci5yZXBsYWNlKG5ldyBSZWdFeHAoXCI6XCIgKyAoMCwgX2VzY2FwZXJlZ2V4cC5lc2NhcGVTdHJpbmdSZWdleHApKHNlZ21lbnROYW1lKSwgXCJnXCIpLCBcIl9fRVNDX0NPTE9OX1wiICsgc2VnbWVudE5hbWUpO1xufVxuZnVuY3Rpb24gdW5lc2NhcGVTZWdtZW50cyhzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL19fRVNDX0NPTE9OXy9naSwgXCI6XCIpO1xufVxuZnVuY3Rpb24gbWF0Y2hIYXMocmVxLCBxdWVyeSwgaGFzLCBtaXNzaW5nKSB7XG4gICAgaWYgKGhhcyA9PT0gdm9pZCAwKSBoYXMgPSBbXTtcbiAgICBpZiAobWlzc2luZyA9PT0gdm9pZCAwKSBtaXNzaW5nID0gW107XG4gICAgY29uc3QgcGFyYW1zID0ge307XG4gICAgY29uc3QgaGFzTWF0Y2ggPSAoaGFzSXRlbSk9PntcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBsZXQga2V5ID0gaGFzSXRlbS5rZXk7XG4gICAgICAgIHN3aXRjaChoYXNJdGVtLnR5cGUpe1xuICAgICAgICAgICAgY2FzZSBcImhlYWRlclwiOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAga2V5ID0ga2V5LnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gcmVxLmhlYWRlcnNba2V5XTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcImNvb2tpZVwiOlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKFwiY29va2llc1wiIGluIHJlcSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSByZXEuY29va2llc1toYXNJdGVtLmtleV07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjb29raWVzID0gKDAsIF9nZXRjb29raWVwYXJzZXIuZ2V0Q29va2llUGFyc2VyKShyZXEuaGVhZGVycykoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gY29va2llc1toYXNJdGVtLmtleV07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBcInF1ZXJ5XCI6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IHF1ZXJ5W2tleV07XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCJob3N0XCI6XG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCB7IGhvc3QgfSA9IChyZXEgPT0gbnVsbCA/IHZvaWQgMCA6IHJlcS5oZWFkZXJzKSB8fCB7fTtcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIHBvcnQgZnJvbSBob3N0IGlmIHByZXNlbnRcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaG9zdG5hbWUgPSBob3N0ID09IG51bGwgPyB2b2lkIDAgOiBob3N0LnNwbGl0KFwiOlwiLCAxKVswXS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGhvc3RuYW1lO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghaGFzSXRlbS52YWx1ZSAmJiB2YWx1ZSkge1xuICAgICAgICAgICAgcGFyYW1zW2dldFNhZmVQYXJhbU5hbWUoa2V5KV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVyID0gbmV3IFJlZ0V4cChcIl5cIiArIGhhc0l0ZW0udmFsdWUgKyBcIiRcIik7XG4gICAgICAgICAgICBjb25zdCBtYXRjaGVzID0gQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyB2YWx1ZS5zbGljZSgtMSlbMF0ubWF0Y2gobWF0Y2hlcikgOiB2YWx1ZS5tYXRjaChtYXRjaGVyKTtcbiAgICAgICAgICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkobWF0Y2hlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG1hdGNoZXMuZ3JvdXBzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3Qua2V5cyhtYXRjaGVzLmdyb3VwcykuZm9yRWFjaCgoZ3JvdXBLZXkpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zW2dyb3VwS2V5XSA9IG1hdGNoZXMuZ3JvdXBzW2dyb3VwS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhhc0l0ZW0udHlwZSA9PT0gXCJob3N0XCIgJiYgbWF0Y2hlc1swXSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zLmhvc3QgPSBtYXRjaGVzWzBdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIGNvbnN0IGFsbE1hdGNoID0gaGFzLmV2ZXJ5KChpdGVtKT0+aGFzTWF0Y2goaXRlbSkpICYmICFtaXNzaW5nLnNvbWUoKGl0ZW0pPT5oYXNNYXRjaChpdGVtKSk7XG4gICAgaWYgKGFsbE1hdGNoKSB7XG4gICAgICAgIHJldHVybiBwYXJhbXM7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGNvbXBpbGVOb25QYXRoKHZhbHVlLCBwYXJhbXMpIHtcbiAgICBpZiAoIXZhbHVlLmluY2x1ZGVzKFwiOlwiKSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHBhcmFtcykpe1xuICAgICAgICBpZiAodmFsdWUuaW5jbHVkZXMoXCI6XCIgKyBrZXkpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UobmV3IFJlZ0V4cChcIjpcIiArIGtleSArIFwiXFxcXCpcIiwgXCJnXCIpLCBcIjpcIiArIGtleSArIFwiLS1FU0NBUEVEX1BBUkFNX0FTVEVSSVNLU1wiKS5yZXBsYWNlKG5ldyBSZWdFeHAoXCI6XCIgKyBrZXkgKyBcIlxcXFw/XCIsIFwiZ1wiKSwgXCI6XCIgKyBrZXkgKyBcIi0tRVNDQVBFRF9QQVJBTV9RVUVTVElPTlwiKS5yZXBsYWNlKG5ldyBSZWdFeHAoXCI6XCIgKyBrZXkgKyBcIlxcXFwrXCIsIFwiZ1wiKSwgXCI6XCIgKyBrZXkgKyBcIi0tRVNDQVBFRF9QQVJBTV9QTFVTXCIpLnJlcGxhY2UobmV3IFJlZ0V4cChcIjpcIiArIGtleSArIFwiKD8hXFxcXHcpXCIsIFwiZ1wiKSwgXCItLUVTQ0FQRURfUEFSQU1fQ09MT05cIiArIGtleSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC8oOnxcXCp8XFw/fFxcK3xcXCh8XFwpfFxce3xcXH0pL2csIFwiXFxcXCQxXCIpLnJlcGxhY2UoLy0tRVNDQVBFRF9QQVJBTV9QTFVTL2csIFwiK1wiKS5yZXBsYWNlKC8tLUVTQ0FQRURfUEFSQU1fQ09MT04vZywgXCI6XCIpLnJlcGxhY2UoLy0tRVNDQVBFRF9QQVJBTV9RVUVTVElPTi9nLCBcIj9cIikucmVwbGFjZSgvLS1FU0NBUEVEX1BBUkFNX0FTVEVSSVNLUy9nLCBcIipcIik7XG4gICAgLy8gdGhlIHZhbHVlIG5lZWRzIHRvIHN0YXJ0IHdpdGggYSBmb3J3YXJkLXNsYXNoIHRvIGJlIGNvbXBpbGVkXG4gICAgLy8gY29ycmVjdGx5XG4gICAgcmV0dXJuICgwLCBfcGF0aHRvcmVnZXhwLmNvbXBpbGUpKFwiL1wiICsgdmFsdWUsIHtcbiAgICAgICAgdmFsaWRhdGU6IGZhbHNlXG4gICAgfSkocGFyYW1zKS5zbGljZSgxKTtcbn1cbmZ1bmN0aW9uIHByZXBhcmVEZXN0aW5hdGlvbihhcmdzKSB7XG4gICAgY29uc3QgcXVlcnkgPSBPYmplY3QuYXNzaWduKHt9LCBhcmdzLnF1ZXJ5KTtcbiAgICBkZWxldGUgcXVlcnkuX19uZXh0TG9jYWxlO1xuICAgIGRlbGV0ZSBxdWVyeS5fX25leHREZWZhdWx0TG9jYWxlO1xuICAgIGRlbGV0ZSBxdWVyeS5fX25leHREYXRhUmVxO1xuICAgIGRlbGV0ZSBxdWVyeS5fX25leHRJbmZlcnJlZExvY2FsZUZyb21EZWZhdWx0O1xuICAgIGRlbGV0ZSBxdWVyeVtfYXBwcm91dGVyaGVhZGVycy5ORVhUX1JTQ19VTklPTl9RVUVSWV07XG4gICAgbGV0IGVzY2FwZWREZXN0aW5hdGlvbiA9IGFyZ3MuZGVzdGluYXRpb247XG4gICAgZm9yIChjb25zdCBwYXJhbSBvZiBPYmplY3Qua2V5cyh7XG4gICAgICAgIC4uLmFyZ3MucGFyYW1zLFxuICAgICAgICAuLi5xdWVyeVxuICAgIH0pKXtcbiAgICAgICAgZXNjYXBlZERlc3RpbmF0aW9uID0gZXNjYXBlU2VnbWVudChlc2NhcGVkRGVzdGluYXRpb24sIHBhcmFtKTtcbiAgICB9XG4gICAgY29uc3QgcGFyc2VkRGVzdGluYXRpb24gPSAoMCwgX3BhcnNldXJsLnBhcnNlVXJsKShlc2NhcGVkRGVzdGluYXRpb24pO1xuICAgIGNvbnN0IGRlc3RRdWVyeSA9IHBhcnNlZERlc3RpbmF0aW9uLnF1ZXJ5O1xuICAgIGNvbnN0IGRlc3RQYXRoID0gdW5lc2NhcGVTZWdtZW50cyhcIlwiICsgcGFyc2VkRGVzdGluYXRpb24ucGF0aG5hbWUgKyAocGFyc2VkRGVzdGluYXRpb24uaGFzaCB8fCBcIlwiKSk7XG4gICAgY29uc3QgZGVzdEhvc3RuYW1lID0gdW5lc2NhcGVTZWdtZW50cyhwYXJzZWREZXN0aW5hdGlvbi5ob3N0bmFtZSB8fCBcIlwiKTtcbiAgICBjb25zdCBkZXN0UGF0aFBhcmFtS2V5cyA9IFtdO1xuICAgIGNvbnN0IGRlc3RIb3N0bmFtZVBhcmFtS2V5cyA9IFtdO1xuICAgICgwLCBfcGF0aHRvcmVnZXhwLnBhdGhUb1JlZ2V4cCkoZGVzdFBhdGgsIGRlc3RQYXRoUGFyYW1LZXlzKTtcbiAgICAoMCwgX3BhdGh0b3JlZ2V4cC5wYXRoVG9SZWdleHApKGRlc3RIb3N0bmFtZSwgZGVzdEhvc3RuYW1lUGFyYW1LZXlzKTtcbiAgICBjb25zdCBkZXN0UGFyYW1zID0gW107XG4gICAgZGVzdFBhdGhQYXJhbUtleXMuZm9yRWFjaCgoa2V5KT0+ZGVzdFBhcmFtcy5wdXNoKGtleS5uYW1lKSk7XG4gICAgZGVzdEhvc3RuYW1lUGFyYW1LZXlzLmZvckVhY2goKGtleSk9PmRlc3RQYXJhbXMucHVzaChrZXkubmFtZSkpO1xuICAgIGNvbnN0IGRlc3RQYXRoQ29tcGlsZXIgPSAoMCwgX3BhdGh0b3JlZ2V4cC5jb21waWxlKShkZXN0UGF0aCwgLy8gd2UgZG9uJ3QgdmFsaWRhdGUgd2hpbGUgY29tcGlsaW5nIHRoZSBkZXN0aW5hdGlvbiBzaW5jZSB3ZSBzaG91bGRcbiAgICAvLyBoYXZlIGFscmVhZHkgdmFsaWRhdGVkIGJlZm9yZSB3ZSBnb3QgdG8gdGhpcyBwb2ludCBhbmQgdmFsaWRhdGluZ1xuICAgIC8vIGJyZWFrcyBjb21waWxpbmcgZGVzdGluYXRpb25zIHdpdGggbmFtZWQgcGF0dGVybiBwYXJhbXMgZnJvbSB0aGUgc291cmNlXG4gICAgLy8gZS5nLiAvc29tZXRoaW5nOmhlbGxvKC4qKSAtPiAvYW5vdGhlci86aGVsbG8gaXMgYnJva2VuIHdpdGggdmFsaWRhdGlvblxuICAgIC8vIHNpbmNlIGNvbXBpbGUgdmFsaWRhdGlvbiBpcyBtZWFudCBmb3IgcmV2ZXJzaW5nIGFuZCBub3QgZm9yIGluc2VydGluZ1xuICAgIC8vIHBhcmFtcyBmcm9tIGEgc2VwYXJhdGUgcGF0aC1yZWdleCBpbnRvIGFub3RoZXJcbiAgICB7XG4gICAgICAgIHZhbGlkYXRlOiBmYWxzZVxuICAgIH0pO1xuICAgIGNvbnN0IGRlc3RIb3N0bmFtZUNvbXBpbGVyID0gKDAsIF9wYXRodG9yZWdleHAuY29tcGlsZSkoZGVzdEhvc3RuYW1lLCB7XG4gICAgICAgIHZhbGlkYXRlOiBmYWxzZVxuICAgIH0pO1xuICAgIC8vIHVwZGF0ZSBhbnkgcGFyYW1zIGluIHF1ZXJ5IHZhbHVlc1xuICAgIGZvciAoY29uc3QgW2tleSwgc3RyT3JBcnJheV0gb2YgT2JqZWN0LmVudHJpZXMoZGVzdFF1ZXJ5KSl7XG4gICAgICAgIC8vIHRoZSB2YWx1ZSBuZWVkcyB0byBzdGFydCB3aXRoIGEgZm9yd2FyZC1zbGFzaCB0byBiZSBjb21waWxlZFxuICAgICAgICAvLyBjb3JyZWN0bHlcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoc3RyT3JBcnJheSkpIHtcbiAgICAgICAgICAgIGRlc3RRdWVyeVtrZXldID0gc3RyT3JBcnJheS5tYXAoKHZhbHVlKT0+Y29tcGlsZU5vblBhdGgodW5lc2NhcGVTZWdtZW50cyh2YWx1ZSksIGFyZ3MucGFyYW1zKSk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHN0ck9yQXJyYXkgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIGRlc3RRdWVyeVtrZXldID0gY29tcGlsZU5vblBhdGgodW5lc2NhcGVTZWdtZW50cyhzdHJPckFycmF5KSwgYXJncy5wYXJhbXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIGFkZCBwYXRoIHBhcmFtcyB0byBxdWVyeSBpZiBpdCdzIG5vdCBhIHJlZGlyZWN0IGFuZCBub3RcbiAgICAvLyBhbHJlYWR5IGRlZmluZWQgaW4gZGVzdGluYXRpb24gcXVlcnkgb3IgcGF0aFxuICAgIGxldCBwYXJhbUtleXMgPSBPYmplY3Qua2V5cyhhcmdzLnBhcmFtcykuZmlsdGVyKChuYW1lKT0+bmFtZSAhPT0gXCJuZXh0SW50ZXJuYWxMb2NhbGVcIik7XG4gICAgaWYgKGFyZ3MuYXBwZW5kUGFyYW1zVG9RdWVyeSAmJiAhcGFyYW1LZXlzLnNvbWUoKGtleSk9PmRlc3RQYXJhbXMuaW5jbHVkZXMoa2V5KSkpIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgcGFyYW1LZXlzKXtcbiAgICAgICAgICAgIGlmICghKGtleSBpbiBkZXN0UXVlcnkpKSB7XG4gICAgICAgICAgICAgICAgZGVzdFF1ZXJ5W2tleV0gPSBhcmdzLnBhcmFtc1trZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGxldCBuZXdVcmw7XG4gICAgLy8gVGhlIGNvbXBpbGVyIGFsc28gdGhhdCB0aGUgaW50ZXJjZXB0aW9uIHJvdXRlIG1hcmtlciBpcyBhbiB1bm5hbWVkIHBhcmFtLCBoZW5jZSAnMCcsXG4gICAgLy8gc28gd2UgbmVlZCB0byBhZGQgaXQgdG8gdGhlIHBhcmFtcyBvYmplY3QuXG4gICAgaWYgKCgwLCBfaW50ZXJjZXB0aW9ucm91dGVzLmlzSW50ZXJjZXB0aW9uUm91dGVBcHBQYXRoKShkZXN0UGF0aCkpIHtcbiAgICAgICAgZm9yIChjb25zdCBzZWdtZW50IG9mIGRlc3RQYXRoLnNwbGl0KFwiL1wiKSl7XG4gICAgICAgICAgICBjb25zdCBtYXJrZXIgPSBfaW50ZXJjZXB0aW9ucm91dGVzLklOVEVSQ0VQVElPTl9ST1VURV9NQVJLRVJTLmZpbmQoKG0pPT5zZWdtZW50LnN0YXJ0c1dpdGgobSkpO1xuICAgICAgICAgICAgaWYgKG1hcmtlcikge1xuICAgICAgICAgICAgICAgIGFyZ3MucGFyYW1zW1wiMFwiXSA9IG1hcmtlcjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgICBuZXdVcmwgPSBkZXN0UGF0aENvbXBpbGVyKGFyZ3MucGFyYW1zKTtcbiAgICAgICAgY29uc3QgW3BhdGhuYW1lLCBoYXNoXSA9IG5ld1VybC5zcGxpdChcIiNcIiwgMik7XG4gICAgICAgIHBhcnNlZERlc3RpbmF0aW9uLmhvc3RuYW1lID0gZGVzdEhvc3RuYW1lQ29tcGlsZXIoYXJncy5wYXJhbXMpO1xuICAgICAgICBwYXJzZWREZXN0aW5hdGlvbi5wYXRobmFtZSA9IHBhdGhuYW1lO1xuICAgICAgICBwYXJzZWREZXN0aW5hdGlvbi5oYXNoID0gXCJcIiArIChoYXNoID8gXCIjXCIgOiBcIlwiKSArIChoYXNoIHx8IFwiXCIpO1xuICAgICAgICBkZWxldGUgcGFyc2VkRGVzdGluYXRpb24uc2VhcmNoO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoZXJyLm1lc3NhZ2UubWF0Y2goL0V4cGVjdGVkIC4qPyB0byBub3QgcmVwZWF0LCBidXQgZ290IGFuIGFycmF5LykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRvIHVzZSBhIG11bHRpLW1hdGNoIGluIHRoZSBkZXN0aW5hdGlvbiB5b3UgbXVzdCBhZGQgYCpgIGF0IHRoZSBlbmQgb2YgdGhlIHBhcmFtIG5hbWUgdG8gc2lnbmlmeSBpdCBzaG91bGQgcmVwZWF0LiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9pbnZhbGlkLW11bHRpLW1hdGNoXCIpO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9XG4gICAgLy8gUXVlcnkgbWVyZ2Ugb3JkZXIgbG93ZXN0IHByaW9yaXR5IHRvIGhpZ2hlc3RcbiAgICAvLyAxLiBpbml0aWFsIFVSTCBxdWVyeSB2YWx1ZXNcbiAgICAvLyAyLiBwYXRoIHNlZ21lbnQgdmFsdWVzXG4gICAgLy8gMy4gZGVzdGluYXRpb24gc3BlY2lmaWVkIHF1ZXJ5IHZhbHVlc1xuICAgIHBhcnNlZERlc3RpbmF0aW9uLnF1ZXJ5ID0ge1xuICAgICAgICAuLi5xdWVyeSxcbiAgICAgICAgLi4ucGFyc2VkRGVzdGluYXRpb24ucXVlcnlcbiAgICB9O1xuICAgIHJldHVybiB7XG4gICAgICAgIG5ld1VybCxcbiAgICAgICAgZGVzdFF1ZXJ5LFxuICAgICAgICBwYXJzZWREZXN0aW5hdGlvblxuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXByZXBhcmUtZGVzdGluYXRpb24uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwibWF0Y2hIYXMiLCJjb21waWxlTm9uUGF0aCIsInByZXBhcmVEZXN0aW5hdGlvbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9wYXRodG9yZWdleHAiLCJyZXF1aXJlIiwiX2VzY2FwZXJlZ2V4cCIsIl9wYXJzZXVybCIsIl9pbnRlcmNlcHRpb25yb3V0ZXMiLCJfYXBwcm91dGVyaGVhZGVycyIsIl9nZXRjb29raWVwYXJzZXIiLCJnZXRTYWZlUGFyYW1OYW1lIiwicGFyYW1OYW1lIiwibmV3UGFyYW1OYW1lIiwiaSIsImxlbmd0aCIsImNoYXJDb2RlIiwiY2hhckNvZGVBdCIsImVzY2FwZVNlZ21lbnQiLCJzdHIiLCJzZWdtZW50TmFtZSIsInJlcGxhY2UiLCJSZWdFeHAiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJ1bmVzY2FwZVNlZ21lbnRzIiwicmVxIiwicXVlcnkiLCJoYXMiLCJtaXNzaW5nIiwicGFyYW1zIiwiaGFzTWF0Y2giLCJoYXNJdGVtIiwia2V5IiwidHlwZSIsInRvTG93ZXJDYXNlIiwiaGVhZGVycyIsImNvb2tpZXMiLCJnZXRDb29raWVQYXJzZXIiLCJob3N0IiwiaG9zdG5hbWUiLCJzcGxpdCIsIm1hdGNoZXIiLCJtYXRjaGVzIiwiQXJyYXkiLCJpc0FycmF5Iiwic2xpY2UiLCJtYXRjaCIsImdyb3VwcyIsImtleXMiLCJmb3JFYWNoIiwiZ3JvdXBLZXkiLCJhbGxNYXRjaCIsImV2ZXJ5IiwiaXRlbSIsInNvbWUiLCJpbmNsdWRlcyIsImNvbXBpbGUiLCJ2YWxpZGF0ZSIsImFyZ3MiLCJhc3NpZ24iLCJfX25leHRMb2NhbGUiLCJfX25leHREZWZhdWx0TG9jYWxlIiwiX19uZXh0RGF0YVJlcSIsIl9fbmV4dEluZmVycmVkTG9jYWxlRnJvbURlZmF1bHQiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsImVzY2FwZWREZXN0aW5hdGlvbiIsImRlc3RpbmF0aW9uIiwicGFyYW0iLCJwYXJzZWREZXN0aW5hdGlvbiIsInBhcnNlVXJsIiwiZGVzdFF1ZXJ5IiwiZGVzdFBhdGgiLCJwYXRobmFtZSIsImhhc2giLCJkZXN0SG9zdG5hbWUiLCJkZXN0UGF0aFBhcmFtS2V5cyIsImRlc3RIb3N0bmFtZVBhcmFtS2V5cyIsInBhdGhUb1JlZ2V4cCIsImRlc3RQYXJhbXMiLCJwdXNoIiwiZGVzdFBhdGhDb21waWxlciIsImRlc3RIb3N0bmFtZUNvbXBpbGVyIiwic3RyT3JBcnJheSIsImVudHJpZXMiLCJtYXAiLCJwYXJhbUtleXMiLCJmaWx0ZXIiLCJhcHBlbmRQYXJhbXNUb1F1ZXJ5IiwibmV3VXJsIiwiaXNJbnRlcmNlcHRpb25Sb3V0ZUFwcFBhdGgiLCJzZWdtZW50IiwibWFya2VyIiwiSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMiLCJmaW5kIiwibSIsInN0YXJ0c1dpdGgiLCJzZWFyY2giLCJlcnIiLCJtZXNzYWdlIiwiRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/prepare-destination.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/querystring.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n searchParamsToUrlQuery: function() {\n return searchParamsToUrlQuery;\n },\n urlQueryToSearchParams: function() {\n return urlQueryToSearchParams;\n },\n assign: function() {\n return assign;\n }\n});\nfunction searchParamsToUrlQuery(searchParams) {\n const query = {};\n searchParams.forEach((value, key)=>{\n if (typeof query[key] === \"undefined\") {\n query[key] = value;\n } else if (Array.isArray(query[key])) {\n query[key].push(value);\n } else {\n query[key] = [\n query[key],\n value\n ];\n }\n });\n return query;\n}\nfunction stringifyUrlQueryParam(param) {\n if (typeof param === \"string\" || typeof param === \"number\" && !isNaN(param) || typeof param === \"boolean\") {\n return String(param);\n } else {\n return \"\";\n }\n}\nfunction urlQueryToSearchParams(urlQuery) {\n const result = new URLSearchParams();\n Object.entries(urlQuery).forEach((param)=>{\n let [key, value] = param;\n if (Array.isArray(value)) {\n value.forEach((item)=>result.append(key, stringifyUrlQueryParam(item)));\n } else {\n result.set(key, stringifyUrlQueryParam(value));\n }\n });\n return result;\n}\nfunction assign(target) {\n for(var _len = arguments.length, searchParamsList = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n searchParamsList[_key - 1] = arguments[_key];\n }\n searchParamsList.forEach((searchParams)=>{\n Array.from(searchParams.keys()).forEach((key)=>target.delete(key));\n searchParams.forEach((value, key)=>target.append(key, value));\n });\n return target;\n} //# sourceMappingURL=querystring.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtBQUNKO0FBQ0EsU0FBU0YsdUJBQXVCUyxZQUFZO0lBQ3hDLE1BQU1DLFFBQVEsQ0FBQztJQUNmRCxhQUFhRSxPQUFPLENBQUMsQ0FBQ2IsT0FBT2M7UUFDekIsSUFBSSxPQUFPRixLQUFLLENBQUNFLElBQUksS0FBSyxhQUFhO1lBQ25DRixLQUFLLENBQUNFLElBQUksR0FBR2Q7UUFDakIsT0FBTyxJQUFJZSxNQUFNQyxPQUFPLENBQUNKLEtBQUssQ0FBQ0UsSUFBSSxHQUFHO1lBQ2xDRixLQUFLLENBQUNFLElBQUksQ0FBQ0csSUFBSSxDQUFDakI7UUFDcEIsT0FBTztZQUNIWSxLQUFLLENBQUNFLElBQUksR0FBRztnQkFDVEYsS0FBSyxDQUFDRSxJQUFJO2dCQUNWZDthQUNIO1FBQ0w7SUFDSjtJQUNBLE9BQU9ZO0FBQ1g7QUFDQSxTQUFTTSx1QkFBdUJDLEtBQUs7SUFDakMsSUFBSSxPQUFPQSxVQUFVLFlBQVksT0FBT0EsVUFBVSxZQUFZLENBQUNDLE1BQU1ELFVBQVUsT0FBT0EsVUFBVSxXQUFXO1FBQ3ZHLE9BQU9FLE9BQU9GO0lBQ2xCLE9BQU87UUFDSCxPQUFPO0lBQ1g7QUFDSjtBQUNBLFNBQVNoQix1QkFBdUJtQixRQUFRO0lBQ3BDLE1BQU1DLFNBQVMsSUFBSUM7SUFDbkIzQixPQUFPNEIsT0FBTyxDQUFDSCxVQUFVVCxPQUFPLENBQUMsQ0FBQ007UUFDOUIsSUFBSSxDQUFDTCxLQUFLZCxNQUFNLEdBQUdtQjtRQUNuQixJQUFJSixNQUFNQyxPQUFPLENBQUNoQixRQUFRO1lBQ3RCQSxNQUFNYSxPQUFPLENBQUMsQ0FBQ2EsT0FBT0gsT0FBT0ksTUFBTSxDQUFDYixLQUFLSSx1QkFBdUJRO1FBQ3BFLE9BQU87WUFDSEgsT0FBT0ssR0FBRyxDQUFDZCxLQUFLSSx1QkFBdUJsQjtRQUMzQztJQUNKO0lBQ0EsT0FBT3VCO0FBQ1g7QUFDQSxTQUFTbkIsT0FBT0UsTUFBTTtJQUNsQixJQUFJLElBQUl1QixPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLG1CQUFtQixJQUFJakIsTUFBTWMsT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUksT0FBTyxHQUFHQSxPQUFPSixNQUFNSSxPQUFPO1FBQ2xIRCxnQkFBZ0IsQ0FBQ0MsT0FBTyxFQUFFLEdBQUdILFNBQVMsQ0FBQ0csS0FBSztJQUNoRDtJQUNBRCxpQkFBaUJuQixPQUFPLENBQUMsQ0FBQ0Y7UUFDdEJJLE1BQU1tQixJQUFJLENBQUN2QixhQUFhd0IsSUFBSSxJQUFJdEIsT0FBTyxDQUFDLENBQUNDLE1BQU1SLE9BQU84QixNQUFNLENBQUN0QjtRQUM3REgsYUFBYUUsT0FBTyxDQUFDLENBQUNiLE9BQU9jLE1BQU1SLE9BQU9xQixNQUFNLENBQUNiLEtBQUtkO0lBQzFEO0lBQ0EsT0FBT007QUFDWCxFQUVBLHVDQUF1QyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3F1ZXJ5c3RyaW5nLmpzPzAxNDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5OiBudWxsLFxuICAgIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6IG51bGwsXG4gICAgYXNzaWduOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHNlYXJjaFBhcmFtc1RvVXJsUXVlcnk6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc2VhcmNoUGFyYW1zVG9VcmxRdWVyeTtcbiAgICB9LFxuICAgIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXJsUXVlcnlUb1NlYXJjaFBhcmFtcztcbiAgICB9LFxuICAgIGFzc2lnbjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhc3NpZ247XG4gICAgfVxufSk7XG5mdW5jdGlvbiBzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5KHNlYXJjaFBhcmFtcykge1xuICAgIGNvbnN0IHF1ZXJ5ID0ge307XG4gICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpPT57XG4gICAgICAgIGlmICh0eXBlb2YgcXVlcnlba2V5XSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgcXVlcnlba2V5XSA9IHZhbHVlO1xuICAgICAgICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkocXVlcnlba2V5XSkpIHtcbiAgICAgICAgICAgIHF1ZXJ5W2tleV0ucHVzaCh2YWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWVyeVtrZXldID0gW1xuICAgICAgICAgICAgICAgIHF1ZXJ5W2tleV0sXG4gICAgICAgICAgICAgICAgdmFsdWVcbiAgICAgICAgICAgIF07XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gcXVlcnk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKHBhcmFtKSB7XG4gICAgaWYgKHR5cGVvZiBwYXJhbSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgcGFyYW0gPT09IFwibnVtYmVyXCIgJiYgIWlzTmFOKHBhcmFtKSB8fCB0eXBlb2YgcGFyYW0gPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHJldHVybiBTdHJpbmcocGFyYW0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbn1cbmZ1bmN0aW9uIHVybFF1ZXJ5VG9TZWFyY2hQYXJhbXModXJsUXVlcnkpIHtcbiAgICBjb25zdCByZXN1bHQgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG4gICAgT2JqZWN0LmVudHJpZXModXJsUXVlcnkpLmZvckVhY2goKHBhcmFtKT0+e1xuICAgICAgICBsZXQgW2tleSwgdmFsdWVdID0gcGFyYW07XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUuZm9yRWFjaCgoaXRlbSk9PnJlc3VsdC5hcHBlbmQoa2V5LCBzdHJpbmdpZnlVcmxRdWVyeVBhcmFtKGl0ZW0pKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXN1bHQuc2V0KGtleSwgc3RyaW5naWZ5VXJsUXVlcnlQYXJhbSh2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIGFzc2lnbih0YXJnZXQpIHtcbiAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzZWFyY2hQYXJhbXNMaXN0ID0gbmV3IEFycmF5KF9sZW4gPiAxID8gX2xlbiAtIDEgOiAwKSwgX2tleSA9IDE7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICBzZWFyY2hQYXJhbXNMaXN0W19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG4gICAgc2VhcmNoUGFyYW1zTGlzdC5mb3JFYWNoKChzZWFyY2hQYXJhbXMpPT57XG4gICAgICAgIEFycmF5LmZyb20oc2VhcmNoUGFyYW1zLmtleXMoKSkuZm9yRWFjaCgoa2V5KT0+dGFyZ2V0LmRlbGV0ZShrZXkpKTtcbiAgICAgICAgc2VhcmNoUGFyYW1zLmZvckVhY2goKHZhbHVlLCBrZXkpPT50YXJnZXQuYXBwZW5kKGtleSwgdmFsdWUpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGFyZ2V0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1xdWVyeXN0cmluZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJzZWFyY2hQYXJhbXNUb1VybFF1ZXJ5IiwidXJsUXVlcnlUb1NlYXJjaFBhcmFtcyIsImFzc2lnbiIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsInNlYXJjaFBhcmFtcyIsInF1ZXJ5IiwiZm9yRWFjaCIsImtleSIsIkFycmF5IiwiaXNBcnJheSIsInB1c2giLCJzdHJpbmdpZnlVcmxRdWVyeVBhcmFtIiwicGFyYW0iLCJpc05hTiIsIlN0cmluZyIsInVybFF1ZXJ5IiwicmVzdWx0IiwiVVJMU2VhcmNoUGFyYW1zIiwiZW50cmllcyIsIml0ZW0iLCJhcHBlbmQiLCJzZXQiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwic2VhcmNoUGFyYW1zTGlzdCIsIl9rZXkiLCJmcm9tIiwia2V5cyIsImRlbGV0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/querystring.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js": /*!******************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js ***! \******************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removePathPrefix\", ({\n enumerable: true,\n get: function() {\n return removePathPrefix;\n }\n}));\nconst _pathhasprefix = __webpack_require__(/*! ./path-has-prefix */ \"(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/path-has-prefix.js\");\nfunction removePathPrefix(path, prefix) {\n // If the path doesn't start with the prefix we can return it as is. This\n // protects us from situations where the prefix is a substring of the path\n // prefix such as:\n //\n // For prefix: /blog\n //\n // /blog -> true\n // /blog/ -> true\n // /blog/1 -> true\n // /blogging -> false\n // /blogging/ -> false\n // /blogging/1 -> false\n if (!(0, _pathhasprefix.pathHasPrefix)(path, prefix)) {\n return path;\n }\n // Remove the prefix from the path via slicing.\n const withoutPrefix = path.slice(prefix.length);\n // If the path without the prefix starts with a `/` we can return it as is.\n if (withoutPrefix.startsWith(\"/\")) {\n return withoutPrefix;\n }\n // If the path without the prefix doesn't start with a `/` we need to add it\n // back to the path to make sure it's a valid path.\n return \"/\" + withoutPrefix;\n} //# sourceMappingURL=remove-path-prefix.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS1wYXRoLXByZWZpeC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsb0RBQW1EO0lBQy9DSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQyxtSEFBbUI7QUFDbEQsU0FBU0YsaUJBQWlCRyxJQUFJLEVBQUVDLE1BQU07SUFDbEMseUVBQXlFO0lBQ3pFLDBFQUEwRTtJQUMxRSxrQkFBa0I7SUFDbEIsRUFBRTtJQUNGLG9CQUFvQjtJQUNwQixFQUFFO0lBQ0Ysa0JBQWtCO0lBQ2xCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIsdUJBQXVCO0lBQ3ZCLHdCQUF3QjtJQUN4Qix5QkFBeUI7SUFDekIsSUFBSSxDQUFDLENBQUMsR0FBR0gsZUFBZUksYUFBYSxFQUFFRixNQUFNQyxTQUFTO1FBQ2xELE9BQU9EO0lBQ1g7SUFDQSwrQ0FBK0M7SUFDL0MsTUFBTUcsZ0JBQWdCSCxLQUFLSSxLQUFLLENBQUNILE9BQU9JLE1BQU07SUFDOUMsMkVBQTJFO0lBQzNFLElBQUlGLGNBQWNHLFVBQVUsQ0FBQyxNQUFNO1FBQy9CLE9BQU9IO0lBQ1g7SUFDQSw0RUFBNEU7SUFDNUUsbURBQW1EO0lBQ25ELE9BQU8sTUFBTUE7QUFDakIsRUFFQSw4Q0FBOEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yZW1vdmUtcGF0aC1wcmVmaXguanM/NjE0MyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInJlbW92ZVBhdGhQcmVmaXhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZVBhdGhQcmVmaXg7XG4gICAgfVxufSk7XG5jb25zdCBfcGF0aGhhc3ByZWZpeCA9IHJlcXVpcmUoXCIuL3BhdGgtaGFzLXByZWZpeFwiKTtcbmZ1bmN0aW9uIHJlbW92ZVBhdGhQcmVmaXgocGF0aCwgcHJlZml4KSB7XG4gICAgLy8gSWYgdGhlIHBhdGggZG9lc24ndCBzdGFydCB3aXRoIHRoZSBwcmVmaXggd2UgY2FuIHJldHVybiBpdCBhcyBpcy4gVGhpc1xuICAgIC8vIHByb3RlY3RzIHVzIGZyb20gc2l0dWF0aW9ucyB3aGVyZSB0aGUgcHJlZml4IGlzIGEgc3Vic3RyaW5nIG9mIHRoZSBwYXRoXG4gICAgLy8gcHJlZml4IHN1Y2ggYXM6XG4gICAgLy9cbiAgICAvLyBGb3IgcHJlZml4OiAvYmxvZ1xuICAgIC8vXG4gICAgLy8gICAvYmxvZyAtPiB0cnVlXG4gICAgLy8gICAvYmxvZy8gLT4gdHJ1ZVxuICAgIC8vICAgL2Jsb2cvMSAtPiB0cnVlXG4gICAgLy8gICAvYmxvZ2dpbmcgLT4gZmFsc2VcbiAgICAvLyAgIC9ibG9nZ2luZy8gLT4gZmFsc2VcbiAgICAvLyAgIC9ibG9nZ2luZy8xIC0+IGZhbHNlXG4gICAgaWYgKCEoMCwgX3BhdGhoYXNwcmVmaXgucGF0aEhhc1ByZWZpeCkocGF0aCwgcHJlZml4KSkge1xuICAgICAgICByZXR1cm4gcGF0aDtcbiAgICB9XG4gICAgLy8gUmVtb3ZlIHRoZSBwcmVmaXggZnJvbSB0aGUgcGF0aCB2aWEgc2xpY2luZy5cbiAgICBjb25zdCB3aXRob3V0UHJlZml4ID0gcGF0aC5zbGljZShwcmVmaXgubGVuZ3RoKTtcbiAgICAvLyBJZiB0aGUgcGF0aCB3aXRob3V0IHRoZSBwcmVmaXggc3RhcnRzIHdpdGggYSBgL2Agd2UgY2FuIHJldHVybiBpdCBhcyBpcy5cbiAgICBpZiAod2l0aG91dFByZWZpeC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgICByZXR1cm4gd2l0aG91dFByZWZpeDtcbiAgICB9XG4gICAgLy8gSWYgdGhlIHBhdGggd2l0aG91dCB0aGUgcHJlZml4IGRvZXNuJ3Qgc3RhcnQgd2l0aCBhIGAvYCB3ZSBuZWVkIHRvIGFkZCBpdFxuICAgIC8vIGJhY2sgdG8gdGhlIHBhdGggdG8gbWFrZSBzdXJlIGl0J3MgYSB2YWxpZCBwYXRoLlxuICAgIHJldHVybiBcIi9cIiArIHdpdGhvdXRQcmVmaXg7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS1wYXRoLXByZWZpeC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlUGF0aFByZWZpeCIsIl9wYXRoaGFzcHJlZml4IiwicmVxdWlyZSIsInBhdGgiLCJwcmVmaXgiLCJwYXRoSGFzUHJlZml4Iiwid2l0aG91dFByZWZpeCIsInNsaWNlIiwibGVuZ3RoIiwic3RhcnRzV2l0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-path-prefix.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLEtBQUs7SUFDOUIsT0FBT0EsTUFBTUMsT0FBTyxDQUFDLE9BQU8sT0FBTztBQUN2QyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcz9lYzA2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVtb3ZlcyB0aGUgdHJhaWxpbmcgc2xhc2ggZm9yIGEgZ2l2ZW4gcm91dGUgb3IgcGFnZSBwYXRoLiBQcmVzZXJ2ZXMgdGhlXG4gKiByb290IHBhZ2UuIEV4YW1wbGVzOlxuICogICAtIGAvZm9vL2Jhci9gIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2Zvby9iYXJgIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2AgLT4gYC9gXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZW1vdmVUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZW1vdmVUcmFpbGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gcmVtb3ZlVHJhaWxpbmdTbGFzaChyb3V0ZSkge1xuICAgIHJldHVybiByb3V0ZS5yZXBsYWNlKC9cXC8kLywgXCJcIikgfHwgXCIvXCI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js ***! \*********************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("/**\n * Removes the trailing slash for a given route or page path. Preserves the\n * root page. Examples:\n * - `/foo/bar/` -> `/foo/bar`\n * - `/foo/bar` -> `/foo/bar`\n * - `/` -> `/`\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeTrailingSlash\", ({\n enumerable: true,\n get: function() {\n return removeTrailingSlash;\n }\n}));\nfunction removeTrailingSlash(route) {\n return route.replace(/\\/$/, \"\") || \"/\";\n} //# sourceMappingURL=remove-trailing-slash.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcyIsIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0NBTUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx1REFBc0Q7SUFDbERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixTQUFTQSxvQkFBb0JDLEtBQUs7SUFDOUIsT0FBT0EsTUFBTUMsT0FBTyxDQUFDLE9BQU8sT0FBTztBQUN2QyxFQUVBLGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaC5qcz9lYzA2Il0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVtb3ZlcyB0aGUgdHJhaWxpbmcgc2xhc2ggZm9yIGEgZ2l2ZW4gcm91dGUgb3IgcGFnZSBwYXRoLiBQcmVzZXJ2ZXMgdGhlXG4gKiByb290IHBhZ2UuIEV4YW1wbGVzOlxuICogICAtIGAvZm9vL2Jhci9gIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2Zvby9iYXJgIC0+IGAvZm9vL2JhcmBcbiAqICAgLSBgL2AgLT4gYC9gXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZW1vdmVUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiByZW1vdmVUcmFpbGluZ1NsYXNoO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gcmVtb3ZlVHJhaWxpbmdTbGFzaChyb3V0ZSkge1xuICAgIHJldHVybiByb3V0ZS5yZXBsYWNlKC9cXC8kLywgXCJcIikgfHwgXCIvXCI7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlVHJhaWxpbmdTbGFzaCIsInJvdXRlIiwicmVwbGFjZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js": /*!*************************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/route-matcher.js ***! \*************************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"getRouteMatcher\", ({\n enumerable: true,\n get: function() {\n return getRouteMatcher;\n }\n}));\nconst _utils = __webpack_require__(/*! ../../utils */ \"(rsc)/./node_modules/next/dist/shared/lib/utils.js\");\nfunction getRouteMatcher(param) {\n let { re, groups } = param;\n return (pathname)=>{\n const routeMatch = re.exec(pathname);\n if (!routeMatch) {\n return false;\n }\n const decode = (param)=>{\n try {\n return decodeURIComponent(param);\n } catch (_) {\n throw new _utils.DecodeError(\"failed to decode param\");\n }\n };\n const params = {};\n Object.keys(groups).forEach((slugName)=>{\n const g = groups[slugName];\n const m = routeMatch[g.pos];\n if (m !== undefined) {\n params[slugName] = ~m.indexOf(\"/\") ? m.split(\"/\").map((entry)=>decode(entry)) : g.repeat ? [\n decode(m)\n ] : decode(m);\n }\n });\n return params;\n };\n} //# sourceMappingURL=route-matcher.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLW1hdGNoZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG1EQUFrRDtJQUM5Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLFNBQVNDLG1CQUFPQSxDQUFDLHVFQUFhO0FBQ3BDLFNBQVNGLGdCQUFnQkcsS0FBSztJQUMxQixJQUFJLEVBQUVDLEVBQUUsRUFBRUMsTUFBTSxFQUFFLEdBQUdGO0lBQ3JCLE9BQU8sQ0FBQ0c7UUFDSixNQUFNQyxhQUFhSCxHQUFHSSxJQUFJLENBQUNGO1FBQzNCLElBQUksQ0FBQ0MsWUFBWTtZQUNiLE9BQU87UUFDWDtRQUNBLE1BQU1FLFNBQVMsQ0FBQ047WUFDWixJQUFJO2dCQUNBLE9BQU9PLG1CQUFtQlA7WUFDOUIsRUFBRSxPQUFPUSxHQUFHO2dCQUNSLE1BQU0sSUFBSVYsT0FBT1csV0FBVyxDQUFDO1lBQ2pDO1FBQ0o7UUFDQSxNQUFNQyxTQUFTLENBQUM7UUFDaEJuQixPQUFPb0IsSUFBSSxDQUFDVCxRQUFRVSxPQUFPLENBQUMsQ0FBQ0M7WUFDekIsTUFBTUMsSUFBSVosTUFBTSxDQUFDVyxTQUFTO1lBQzFCLE1BQU1FLElBQUlYLFVBQVUsQ0FBQ1UsRUFBRUUsR0FBRyxDQUFDO1lBQzNCLElBQUlELE1BQU1FLFdBQVc7Z0JBQ2pCUCxNQUFNLENBQUNHLFNBQVMsR0FBRyxDQUFDRSxFQUFFRyxPQUFPLENBQUMsT0FBT0gsRUFBRUksS0FBSyxDQUFDLEtBQUtDLEdBQUcsQ0FBQyxDQUFDQyxRQUFRZixPQUFPZSxVQUFVUCxFQUFFUSxNQUFNLEdBQUc7b0JBQ3ZGaEIsT0FBT1M7aUJBQ1YsR0FBR1QsT0FBT1M7WUFDZjtRQUNKO1FBQ0EsT0FBT0w7SUFDWDtBQUNKLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcm91dGUtbWF0Y2hlci5qcz9jODZjIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZ2V0Um91dGVNYXRjaGVyXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRSb3V0ZU1hdGNoZXI7XG4gICAgfVxufSk7XG5jb25zdCBfdXRpbHMgPSByZXF1aXJlKFwiLi4vLi4vdXRpbHNcIik7XG5mdW5jdGlvbiBnZXRSb3V0ZU1hdGNoZXIocGFyYW0pIHtcbiAgICBsZXQgeyByZSwgZ3JvdXBzIH0gPSBwYXJhbTtcbiAgICByZXR1cm4gKHBhdGhuYW1lKT0+e1xuICAgICAgICBjb25zdCByb3V0ZU1hdGNoID0gcmUuZXhlYyhwYXRobmFtZSk7XG4gICAgICAgIGlmICghcm91dGVNYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGRlY29kZSA9IChwYXJhbSk9PntcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChwYXJhbSk7XG4gICAgICAgICAgICB9IGNhdGNoIChfKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IF91dGlscy5EZWNvZGVFcnJvcihcImZhaWxlZCB0byBkZWNvZGUgcGFyYW1cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IHt9O1xuICAgICAgICBPYmplY3Qua2V5cyhncm91cHMpLmZvckVhY2goKHNsdWdOYW1lKT0+e1xuICAgICAgICAgICAgY29uc3QgZyA9IGdyb3Vwc1tzbHVnTmFtZV07XG4gICAgICAgICAgICBjb25zdCBtID0gcm91dGVNYXRjaFtnLnBvc107XG4gICAgICAgICAgICBpZiAobSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgICAgcGFyYW1zW3NsdWdOYW1lXSA9IH5tLmluZGV4T2YoXCIvXCIpID8gbS5zcGxpdChcIi9cIikubWFwKChlbnRyeSk9PmRlY29kZShlbnRyeSkpIDogZy5yZXBlYXQgPyBbXG4gICAgICAgICAgICAgICAgICAgIGRlY29kZShtKVxuICAgICAgICAgICAgICAgIF0gOiBkZWNvZGUobSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gcGFyYW1zO1xuICAgIH07XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJvdXRlLW1hdGNoZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImdldFJvdXRlTWF0Y2hlciIsIl91dGlscyIsInJlcXVpcmUiLCJwYXJhbSIsInJlIiwiZ3JvdXBzIiwicGF0aG5hbWUiLCJyb3V0ZU1hdGNoIiwiZXhlYyIsImRlY29kZSIsImRlY29kZVVSSUNvbXBvbmVudCIsIl8iLCJEZWNvZGVFcnJvciIsInBhcmFtcyIsImtleXMiLCJmb3JFYWNoIiwic2x1Z05hbWUiLCJnIiwibSIsInBvcyIsInVuZGVmaW5lZCIsImluZGV4T2YiLCJzcGxpdCIsIm1hcCIsImVudHJ5IiwicmVwZWF0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-matcher.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js": /*!***********************************************************************!*\ !*** ./node_modules/next/dist/shared/lib/router/utils/route-regex.js ***! \***********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getRouteRegex: function() {\n return getRouteRegex;\n },\n getNamedRouteRegex: function() {\n return getNamedRouteRegex;\n },\n getNamedMiddlewareRegex: function() {\n return getNamedMiddlewareRegex;\n }\n});\nconst _interceptionroutes = __webpack_require__(/*! ../../../../server/future/helpers/interception-routes */ \"(rsc)/./node_modules/next/dist/server/future/helpers/interception-routes.js\");\nconst _escaperegexp = __webpack_require__(/*! ../../escape-regexp */ \"(rsc)/./node_modules/next/dist/shared/lib/escape-regexp.js\");\nconst _removetrailingslash = __webpack_require__(/*! ./remove-trailing-slash */ \"(rsc)/./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst NEXT_QUERY_PARAM_PREFIX = \"nxtP\";\nconst NEXT_INTERCEPTION_MARKER_PREFIX = \"nxtI\";\n/**\n * Parses a given parameter from a route to a data structure that can be used\n * to generate the parametrized route. Examples:\n * - `[...slug]` -> `{ key: 'slug', repeat: true, optional: true }`\n * - `...slug` -> `{ key: 'slug', repeat: true, optional: false }`\n * - `[foo]` -> `{ key: 'foo', repeat: false, optional: true }`\n * - `bar` -> `{ key: 'bar', repeat: false, optional: false }`\n */ function parseParameter(param) {\n const optional = param.startsWith(\"[\") && param.endsWith(\"]\");\n if (optional) {\n param = param.slice(1, -1);\n }\n const repeat = param.startsWith(\"...\");\n if (repeat) {\n param = param.slice(3);\n }\n return {\n key: param,\n repeat,\n optional\n };\n}\nfunction getParametrizedRoute(route) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const groups = {};\n let groupIndex = 1;\n return {\n parameterizedRoute: segments.map((segment)=>{\n const markerMatch = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.find((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (markerMatch && paramMatches) {\n const { key, optional, repeat } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(markerMatch) + \"([^/]+?)\";\n } else if (paramMatches) {\n const { key, repeat, optional } = parseParameter(paramMatches[1]);\n groups[key] = {\n pos: groupIndex++,\n repeat,\n optional\n };\n return repeat ? optional ? \"(?:/(.+?))?\" : \"/(.+?)\" : \"/([^/]+?)\";\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n groups\n };\n}\nfunction getRouteRegex(normalizedRoute) {\n const { parameterizedRoute, groups } = getParametrizedRoute(normalizedRoute);\n return {\n re: new RegExp(\"^\" + parameterizedRoute + \"(?:/)?$\"),\n groups: groups\n };\n}\n/**\n * Builds a function to generate a minimal routeKey using only a-z and minimal\n * number of characters.\n */ function buildGetSafeRouteKey() {\n let i = 0;\n return ()=>{\n let routeKey = \"\";\n let j = ++i;\n while(j > 0){\n routeKey += String.fromCharCode(97 + (j - 1) % 26);\n j = Math.floor((j - 1) / 26);\n }\n return routeKey;\n };\n}\nfunction getSafeKeyFromSegment(param) {\n let { interceptionMarker, getSafeRouteKey, segment, routeKeys, keyPrefix } = param;\n const { key, optional, repeat } = parseParameter(segment);\n // replace any non-word characters since they can break\n // the named regex\n let cleanedKey = key.replace(/\\W/g, \"\");\n if (keyPrefix) {\n cleanedKey = \"\" + keyPrefix + cleanedKey;\n }\n let invalidKey = false;\n // check if the key is still invalid and fallback to using a known\n // safe key\n if (cleanedKey.length === 0 || cleanedKey.length > 30) {\n invalidKey = true;\n }\n if (!isNaN(parseInt(cleanedKey.slice(0, 1)))) {\n invalidKey = true;\n }\n if (invalidKey) {\n cleanedKey = getSafeRouteKey();\n }\n if (keyPrefix) {\n routeKeys[cleanedKey] = \"\" + keyPrefix + key;\n } else {\n routeKeys[cleanedKey] = key;\n }\n // if the segment has an interception marker, make sure that's part of the regex pattern\n // this is to ensure that the route with the interception marker doesn't incorrectly match\n // the non-intercepted route (ie /app/(.)[username] should not match /app/[username])\n const interceptionPrefix = interceptionMarker ? (0, _escaperegexp.escapeStringRegexp)(interceptionMarker) : \"\";\n return repeat ? optional ? \"(?:/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?))?\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">.+?)\" : \"/\" + interceptionPrefix + \"(?<\" + cleanedKey + \">[^/]+?)\";\n}\nfunction getNamedParametrizedRoute(route, prefixRouteKeys) {\n const segments = (0, _removetrailingslash.removeTrailingSlash)(route).slice(1).split(\"/\");\n const getSafeRouteKey = buildGetSafeRouteKey();\n const routeKeys = {};\n return {\n namedParameterizedRoute: segments.map((segment)=>{\n const hasInterceptionMarker = _interceptionroutes.INTERCEPTION_ROUTE_MARKERS.some((m)=>segment.startsWith(m));\n const paramMatches = segment.match(/\\[((?:\\[.*\\])|.+)\\]/) // Check for parameters\n ;\n if (hasInterceptionMarker && paramMatches) {\n const [usedMarker] = segment.split(paramMatches[0]);\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n interceptionMarker: usedMarker,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_INTERCEPTION_MARKER_PREFIX : undefined\n });\n } else if (paramMatches) {\n return getSafeKeyFromSegment({\n getSafeRouteKey,\n segment: paramMatches[1],\n routeKeys,\n keyPrefix: prefixRouteKeys ? NEXT_QUERY_PARAM_PREFIX : undefined\n });\n } else {\n return \"/\" + (0, _escaperegexp.escapeStringRegexp)(segment);\n }\n }).join(\"\"),\n routeKeys\n };\n}\nfunction getNamedRouteRegex(normalizedRoute, prefixRouteKey) {\n const result = getNamedParametrizedRoute(normalizedRoute, prefixRouteKey);\n return {\n ...getRouteRegex(normalizedRoute),\n namedRegex: \"^\" + result.namedParameterizedRoute + \"(?:/)?$\",\n routeKeys: result.routeKeys\n };\n}\nfunction getNamedMiddlewareRegex(normalizedRoute, options) {\n const { parameterizedRoute } = getParametrizedRoute(normalizedRoute);\n const { catchAll = true } = options;\n if (parameterizedRoute === \"/\") {\n let catchAllRegex = catchAll ? \".*\" : \"\";\n return {\n namedRegex: \"^/\" + catchAllRegex + \"$\"\n };\n }\n const { namedParameterizedRoute } = getNamedParametrizedRoute(normalizedRoute, false);\n let catchAllGroupedRegex = catchAll ? \"(?:(/.*)?)\" : \"\";\n return {\n namedRegex: \"^\" + namedParameterizedRoute + catchAllGroupedRegex + \"$\"\n };\n} //# sourceMappingURL=route-regex.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JvdXRlLXJlZ2V4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyx5QkFBeUI7UUFDckIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sc0JBQXNCQyxtQkFBT0EsQ0FBQywwSUFBdUQ7QUFDM0YsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx1RkFBcUI7QUFDbkQsTUFBTUUsdUJBQXVCRixtQkFBT0EsQ0FBQyxnSEFBeUI7QUFDOUQsTUFBTUcsMEJBQTBCO0FBQ2hDLE1BQU1DLGtDQUFrQztBQUN4Qzs7Ozs7OztDQU9DLEdBQUcsU0FBU0MsZUFBZUMsS0FBSztJQUM3QixNQUFNQyxXQUFXRCxNQUFNRSxVQUFVLENBQUMsUUFBUUYsTUFBTUcsUUFBUSxDQUFDO0lBQ3pELElBQUlGLFVBQVU7UUFDVkQsUUFBUUEsTUFBTUksS0FBSyxDQUFDLEdBQUcsQ0FBQztJQUM1QjtJQUNBLE1BQU1DLFNBQVNMLE1BQU1FLFVBQVUsQ0FBQztJQUNoQyxJQUFJRyxRQUFRO1FBQ1JMLFFBQVFBLE1BQU1JLEtBQUssQ0FBQztJQUN4QjtJQUNBLE9BQU87UUFDSEUsS0FBS047UUFDTEs7UUFDQUo7SUFDSjtBQUNKO0FBQ0EsU0FBU00scUJBQXFCQyxLQUFLO0lBQy9CLE1BQU1DLFdBQVcs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QU8sTUFBTSxDQUFDLEdBQUc1RCxjQUFjNkIsa0JBQWtCLEVBQUVSO1lBQ3ZEO1FBQ0osR0FBR1MsSUFBSSxDQUFDO1FBQ1JlO0lBQ0o7QUFDSjtBQUNBLFNBQVN2RCxtQkFBbUJ5QyxlQUFlLEVBQUU4QixjQUFjO0lBQ3ZELE1BQU1DLFNBQVNSLDBCQUEwQnZCLGlCQUFpQjhCO0lBQzFELE9BQU87UUFDSCxHQUFHeEUsY0FBYzBDLGdCQUFnQjtRQUNqQ2dDLFlBQVksTUFBTUQsT0FBT04sdUJBQXVCLEdBQUc7UUFDbkRYLFdBQVdpQixPQUFPakIsU0FBUztJQUMvQjtBQUNKO0FBQ0EsU0FBU3RELHdCQUF3QndDLGVBQWUsRUFBRWlDLE9BQU87SUFDckQsTUFBTSxFQUFFN0Msa0JBQWtCLEVBQUUsR0FBR1AscUJBQXFCbUI7SUFDcEQsTUFBTSxFQUFFa0MsV0FBVyxJQUFJLEVBQUUsR0FBR0Q7SUFDNUIsSUFBSTdDLHVCQUF1QixLQUFLO1FBQzVCLElBQUkrQyxnQkFBZ0JELFdBQVcsT0FBTztRQUN0QyxPQUFPO1lBQ0hGLFlBQVksT0FBT0csZ0JBQWdCO1FBQ3ZDO0lBQ0o7SUFDQSxNQUFNLEVBQUVWLHVCQUF1QixFQUFFLEdBQUdGLDBCQUEwQnZCLGlCQUFpQjtJQUMvRSxJQUFJb0MsdUJBQXVCRixXQUFXLGVBQWU7SUFDckQsT0FBTztRQUNIRixZQUFZLE1BQU1QLDBCQUEwQlcsdUJBQXVCO0lBQ3ZFO0FBQ0osRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9lbWJlZGNoYWluLWFkbWluLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9zaGFyZWQvbGliL3JvdXRlci91dGlscy9yb3V0ZS1yZWdleC5qcz9lYWMyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgZ2V0Um91dGVSZWdleDogbnVsbCxcbiAgICBnZXROYW1lZFJvdXRlUmVnZXg6IG51bGwsXG4gICAgZ2V0TmFtZWRNaWRkbGV3YXJlUmVnZXg6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgZ2V0Um91dGVSZWdleDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBnZXRSb3V0ZVJlZ2V4O1xuICAgIH0sXG4gICAgZ2V0TmFtZWRSb3V0ZVJlZ2V4OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldE5hbWVkUm91dGVSZWdleDtcbiAgICB9LFxuICAgIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldE5hbWVkTWlkZGxld2FyZVJlZ2V4O1xuICAgIH1cbn0pO1xuY29uc3QgX2ludGVyY2VwdGlvbnJvdXRlcyA9IHJlcXVpcmUoXCIuLi8uLi8uLi8uLi9zZXJ2ZXIvZnV0dXJlL2hlbHBlcnMvaW50ZXJjZXB0aW9uLXJvdXRlc1wiKTtcbmNvbnN0IF9lc2NhcGVyZWdleHAgPSByZXF1aXJlKFwiLi4vLi4vZXNjYXBlLXJlZ2V4cFwiKTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vcmVtb3ZlLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggPSBcIm54dFBcIjtcbmNvbnN0IE5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVggPSBcIm54dElcIjtcbi8qKlxuICogUGFyc2VzIGEgZ2l2ZW4gcGFyYW1ldGVyIGZyb20gYSByb3V0ZSB0byBhIGRhdGEgc3RydWN0dXJlIHRoYXQgY2FuIGJlIHVzZWRcbiAqIHRvIGdlbmVyYXRlIHRoZSBwYXJhbWV0cml6ZWQgcm91dGUuIEV4YW1wbGVzOlxuICogICAtIGBbLi4uc2x1Z11gIC0+IGB7IGtleTogJ3NsdWcnLCByZXBlYXQ6IHRydWUsIG9wdGlvbmFsOiB0cnVlIH1gXG4gKiAgIC0gYC4uLnNsdWdgIC0+IGB7IGtleTogJ3NsdWcnLCByZXBlYXQ6IHRydWUsIG9wdGlvbmFsOiBmYWxzZSB9YFxuICogICAtIGBbZm9vXWAgLT4gYHsga2V5OiAnZm9vJywgcmVwZWF0OiBmYWxzZSwgb3B0aW9uYWw6IHRydWUgfWBcbiAqICAgLSBgYmFyYCAtPiBgeyBrZXk6ICdiYXInLCByZXBlYXQ6IGZhbHNlLCBvcHRpb25hbDogZmFsc2UgfWBcbiAqLyBmdW5jdGlvbiBwYXJzZVBhcmFtZXRlcihwYXJhbSkge1xuICAgIGNvbnN0IG9wdGlvbmFsID0gcGFyYW0uc3RhcnRzV2l0aChcIltcIikgJiYgcGFyYW0uZW5kc1dpdGgoXCJdXCIpO1xuICAgIGlmIChvcHRpb25hbCkge1xuICAgICAgICBwYXJhbSA9IHBhcmFtLnNsaWNlKDEsIC0xKTtcbiAgICB9XG4gICAgY29uc3QgcmVwZWF0ID0gcGFyYW0uc3RhcnRzV2l0aChcIi4uLlwiKTtcbiAgICBpZiAocmVwZWF0KSB7XG4gICAgICAgIHBhcmFtID0gcGFyYW0uc2xpY2UoMyk7XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICAgIGtleTogcGFyYW0sXG4gICAgICAgIHJlcGVhdCxcbiAgICAgICAgb3B0aW9uYWxcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0UGFyYW1ldHJpemVkUm91dGUocm91dGUpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShyb3V0ZSkuc2xpY2UoMSkuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGdyb3VwcyA9IHt9O1xuICAgIGxldCBncm91cEluZGV4ID0gMTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwYXJhbWV0ZXJpemVkUm91dGU6IHNlZ21lbnRzLm1hcCgoc2VnbWVudCk9PntcbiAgICAgICAgICAgIGNvbnN0IG1hcmtlck1hdGNoID0gX2ludGVyY2VwdGlvbnJvdXRlcy5JTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUy5maW5kKChtKT0+c2VnbWVudC5zdGFydHNXaXRoKG0pKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtTWF0Y2hlcyA9IHNlZ21lbnQubWF0Y2goL1xcWygoPzpcXFsuKlxcXSl8LispXFxdLykgLy8gQ2hlY2sgZm9yIHBhcmFtZXRlcnNcbiAgICAgICAgICAgIDtcbiAgICAgICAgICAgIGlmIChtYXJrZXJNYXRjaCAmJiBwYXJhbU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGtleSwgb3B0aW9uYWwsIHJlcGVhdCB9ID0gcGFyc2VQYXJhbWV0ZXIocGFyYW1NYXRjaGVzWzFdKTtcbiAgICAgICAgICAgICAgICBncm91cHNba2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zOiBncm91cEluZGV4KyssXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiBcIi9cIiArICgwLCBfZXNjYXBlcmVnZXhwLmVzY2FwZVN0cmluZ1JlZ2V4cCkobWFya2VyTWF0Y2gpICsgXCIoW14vXSs/KVwiO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChwYXJhbU1hdGNoZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IGtleSwgcmVwZWF0LCBvcHRpb25hbCB9ID0gcGFyc2VQYXJhbWV0ZXIocGFyYW1NYXRjaGVzWzFdKTtcbiAgICAgICAgICAgICAgICBncm91cHNba2V5XSA9IHtcbiAgICAgICAgICAgICAgICAgICAgcG9zOiBncm91cEluZGV4KyssXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdCxcbiAgICAgICAgICAgICAgICAgICAgb3B0aW9uYWxcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHJldHVybiByZXBlYXQgPyBvcHRpb25hbCA/IFwiKD86LyguKz8pKT9cIiA6IFwiLyguKz8pXCIgOiBcIi8oW14vXSs/KVwiO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gXCIvXCIgKyAoMCwgX2VzY2FwZXJlZ2V4cC5lc2NhcGVTdHJpbmdSZWdleHApKHNlZ21lbnQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KS5qb2luKFwiXCIpLFxuICAgICAgICBncm91cHNcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0Um91dGVSZWdleChub3JtYWxpemVkUm91dGUpIHtcbiAgICBjb25zdCB7IHBhcmFtZXRlcml6ZWRSb3V0ZSwgZ3JvdXBzIH0gPSBnZXRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHJlOiBuZXcgUmVnRXhwKFwiXlwiICsgcGFyYW1ldGVyaXplZFJvdXRlICsgXCIoPzovKT8kXCIpLFxuICAgICAgICBncm91cHM6IGdyb3Vwc1xuICAgIH07XG59XG4vKipcbiAqIEJ1aWxkcyBhIGZ1bmN0aW9uIHRvIGdlbmVyYXRlIGEgbWluaW1hbCByb3V0ZUtleSB1c2luZyBvbmx5IGEteiBhbmQgbWluaW1hbFxuICogbnVtYmVyIG9mIGNoYXJhY3RlcnMuXG4gKi8gZnVuY3Rpb24gYnVpbGRHZXRTYWZlUm91dGVLZXkoKSB7XG4gICAgbGV0IGkgPSAwO1xuICAgIHJldHVybiAoKT0+e1xuICAgICAgICBsZXQgcm91dGVLZXkgPSBcIlwiO1xuICAgICAgICBsZXQgaiA9ICsraTtcbiAgICAgICAgd2hpbGUoaiA+IDApe1xuICAgICAgICAgICAgcm91dGVLZXkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSg5NyArIChqIC0gMSkgJSAyNik7XG4gICAgICAgICAgICBqID0gTWF0aC5mbG9vcigoaiAtIDEpIC8gMjYpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByb3V0ZUtleTtcbiAgICB9O1xufVxuZnVuY3Rpb24gZ2V0U2FmZUtleUZyb21TZWdtZW50KHBhcmFtKSB7XG4gICAgbGV0IHsgaW50ZXJjZXB0aW9uTWFya2VyLCBnZXRTYWZlUm91dGVLZXksIHNlZ21lbnQsIHJvdXRlS2V5cywga2V5UHJlZml4IH0gPSBwYXJhbTtcbiAgICBjb25zdCB7IGtleSwgb3B0aW9uYWwsIHJlcGVhdCB9ID0gcGFyc2VQYXJhbWV0ZXIoc2VnbWVudCk7XG4gICAgLy8gcmVwbGFjZSBhbnkgbm9uLXdvcmQgY2hhcmFjdGVycyBzaW5jZSB0aGV5IGNhbiBicmVha1xuICAgIC8vIHRoZSBuYW1lZCByZWdleFxuICAgIGxldCBjbGVhbmVkS2V5ID0ga2V5LnJlcGxhY2UoL1xcVy9nLCBcIlwiKTtcbiAgICBpZiAoa2V5UHJlZml4KSB7XG4gICAgICAgIGNsZWFuZWRLZXkgPSBcIlwiICsga2V5UHJlZml4ICsgY2xlYW5lZEtleTtcbiAgICB9XG4gICAgbGV0IGludmFsaWRLZXkgPSBmYWxzZTtcbiAgICAvLyBjaGVjayBpZiB0aGUga2V5IGlzIHN0aWxsIGludmFsaWQgYW5kIGZhbGxiYWNrIHRvIHVzaW5nIGEga25vd25cbiAgICAvLyBzYWZlIGtleVxuICAgIGlmIChjbGVhbmVkS2V5Lmxlbmd0aCA9PT0gMCB8fCBjbGVhbmVkS2V5Lmxlbmd0aCA+IDMwKSB7XG4gICAgICAgIGludmFsaWRLZXkgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoIWlzTmFOKHBhcnNlSW50KGNsZWFuZWRLZXkuc2xpY2UoMCwgMSkpKSkge1xuICAgICAgICBpbnZhbGlkS2V5ID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGludmFsaWRLZXkpIHtcbiAgICAgICAgY2xlYW5lZEtleSA9IGdldFNhZmVSb3V0ZUtleSgpO1xuICAgIH1cbiAgICBpZiAoa2V5UHJlZml4KSB7XG4gICAgICAgIHJvdXRlS2V5c1tjbGVhbmVkS2V5XSA9IFwiXCIgKyBrZXlQcmVmaXggKyBrZXk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgcm91dGVLZXlzW2NsZWFuZWRLZXldID0ga2V5O1xuICAgIH1cbiAgICAvLyBpZiB0aGUgc2VnbWVudCBoYXMgYW4gaW50ZXJjZXB0aW9uIG1hcmtlciwgbWFrZSBzdXJlIHRoYXQncyBwYXJ0IG9mIHRoZSByZWdleCBwYXR0ZXJuXG4gICAgLy8gdGhpcyBpcyB0byBlbnN1cmUgdGhhdCB0aGUgcm91dGUgd2l0aCB0aGUgaW50ZXJjZXB0aW9uIG1hcmtlciBkb2Vzbid0IGluY29ycmVjdGx5IG1hdGNoXG4gICAgLy8gdGhlIG5vbi1pbnRlcmNlcHRlZCByb3V0ZSAoaWUgL2FwcC8oLilbdXNlcm5hbWVdIHNob3VsZCBub3QgbWF0Y2ggL2FwcC9bdXNlcm5hbWVdKVxuICAgIGNvbnN0IGludGVyY2VwdGlvblByZWZpeCA9IGludGVyY2VwdGlvbk1hcmtlciA/ICgwLCBfZXNjYXBlcmVnZXhwLmVzY2FwZVN0cmluZ1JlZ2V4cCkoaW50ZXJjZXB0aW9uTWFya2VyKSA6IFwiXCI7XG4gICAgcmV0dXJuIHJlcGVhdCA/IG9wdGlvbmFsID8gXCIoPzovXCIgKyBpbnRlcmNlcHRpb25QcmVmaXggKyBcIig/PFwiICsgY2xlYW5lZEtleSArIFwiPi4rPykpP1wiIDogXCIvXCIgKyBpbnRlcmNlcHRpb25QcmVmaXggKyBcIig/PFwiICsgY2xlYW5lZEtleSArIFwiPi4rPylcIiA6IFwiL1wiICsgaW50ZXJjZXB0aW9uUHJlZml4ICsgXCIoPzxcIiArIGNsZWFuZWRLZXkgKyBcIj5bXi9dKz8pXCI7XG59XG5mdW5jdGlvbiBnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlKHJvdXRlLCBwcmVmaXhSb3V0ZUtleXMpIHtcbiAgICBjb25zdCBzZWdtZW50cyA9ICgwLCBfcmVtb3ZldHJhaWxpbmdzbGFzaC5yZW1vdmVUcmFpbGluZ1NsYXNoKShyb3V0ZSkuc2xpY2UoMSkuc3BsaXQoXCIvXCIpO1xuICAgIGNvbnN0IGdldFNhZmVSb3V0ZUtleSA9IGJ1aWxkR2V0U2FmZVJvdXRlS2V5KCk7XG4gICAgY29uc3Qgcm91dGVLZXlzID0ge307XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbmFtZWRQYXJhbWV0ZXJpemVkUm91dGU6IHNlZ21lbnRzLm1hcCgoc2VnbWVudCk9PntcbiAgICAgICAgICAgIGNvbnN0IGhhc0ludGVyY2VwdGlvbk1hcmtlciA9IF9pbnRlcmNlcHRpb25yb3V0ZXMuSU5URVJDRVBUSU9OX1JPVVRFX01BUktFUlMuc29tZSgobSk9PnNlZ21lbnQuc3RhcnRzV2l0aChtKSk7XG4gICAgICAgICAgICBjb25zdCBwYXJhbU1hdGNoZXMgPSBzZWdtZW50Lm1hdGNoKC9cXFsoKD86XFxbLipcXF0pfC4rKVxcXS8pIC8vIENoZWNrIGZvciBwYXJhbWV0ZXJzXG4gICAgICAgICAgICA7XG4gICAgICAgICAgICBpZiAoaGFzSW50ZXJjZXB0aW9uTWFya2VyICYmIHBhcmFtTWF0Y2hlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IFt1c2VkTWFya2VyXSA9IHNlZ21lbnQuc3BsaXQocGFyYW1NYXRjaGVzWzBdKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0U2FmZUtleUZyb21TZWdtZW50KHtcbiAgICAgICAgICAgICAgICAgICAgZ2V0U2FmZVJvdXRlS2V5LFxuICAgICAgICAgICAgICAgICAgICBpbnRlcmNlcHRpb25NYXJrZXI6IHVzZWRNYXJrZXIsXG4gICAgICAgICAgICAgICAgICAgIHNlZ21lbnQ6IHBhcmFtTWF0Y2hlc1sxXSxcbiAgICAgICAgICAgICAgICAgICAgcm91dGVLZXlzLFxuICAgICAgICAgICAgICAgICAgICBrZXlQcmVmaXg6IHByZWZpeFJvdXRlS2V5cyA/IE5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVggOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGFyYW1NYXRjaGVzKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdldFNhZmVLZXlGcm9tU2VnbWVudCh7XG4gICAgICAgICAgICAgICAgICAgIGdldFNhZmVSb3V0ZUtleSxcbiAgICAgICAgICAgICAgICAgICAgc2VnbWVudDogcGFyYW1NYXRjaGVzWzFdLFxuICAgICAgICAgICAgICAgICAgICByb3V0ZUtleXMsXG4gICAgICAgICAgICAgICAgICAgIGtleVByZWZpeDogcHJlZml4Um91dGVLZXlzID8gTkVYVF9RVUVSWV9QQVJBTV9QUkVGSVggOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIFwiL1wiICsgKDAsIF9lc2NhcGVyZWdleHAuZXNjYXBlU3RyaW5nUmVnZXhwKShzZWdtZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkuam9pbihcIlwiKSxcbiAgICAgICAgcm91dGVLZXlzXG4gICAgfTtcbn1cbmZ1bmN0aW9uIGdldE5hbWVkUm91dGVSZWdleChub3JtYWxpemVkUm91dGUsIHByZWZpeFJvdXRlS2V5KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZShub3JtYWxpemVkUm91dGUsIHByZWZpeFJvdXRlS2V5KTtcbiAgICByZXR1cm4ge1xuICAgICAgICAuLi5nZXRSb3V0ZVJlZ2V4KG5vcm1hbGl6ZWRSb3V0ZSksXG4gICAgICAgIG5hbWVkUmVnZXg6IFwiXlwiICsgcmVzdWx0Lm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlICsgXCIoPzovKT8kXCIsXG4gICAgICAgIHJvdXRlS2V5czogcmVzdWx0LnJvdXRlS2V5c1xuICAgIH07XG59XG5mdW5jdGlvbiBnZXROYW1lZE1pZGRsZXdhcmVSZWdleChub3JtYWxpemVkUm91dGUsIG9wdGlvbnMpIHtcbiAgICBjb25zdCB7IHBhcmFtZXRlcml6ZWRSb3V0ZSB9ID0gZ2V0UGFyYW1ldHJpemVkUm91dGUobm9ybWFsaXplZFJvdXRlKTtcbiAgICBjb25zdCB7IGNhdGNoQWxsID0gdHJ1ZSB9ID0gb3B0aW9ucztcbiAgICBpZiAocGFyYW1ldGVyaXplZFJvdXRlID09PSBcIi9cIikge1xuICAgICAgICBsZXQgY2F0Y2hBbGxSZWdleCA9IGNhdGNoQWxsID8gXCIuKlwiIDogXCJcIjtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5hbWVkUmVnZXg6IFwiXi9cIiArIGNhdGNoQWxsUmVnZXggKyBcIiRcIlxuICAgICAgICB9O1xuICAgIH1cbiAgICBjb25zdCB7IG5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIH0gPSBnZXROYW1lZFBhcmFtZXRyaXplZFJvdXRlKG5vcm1hbGl6ZWRSb3V0ZSwgZmFsc2UpO1xuICAgIGxldCBjYXRjaEFsbEdyb3VwZWRSZWdleCA9IGNhdGNoQWxsID8gXCIoPzooLy4qKT8pXCIgOiBcIlwiO1xuICAgIHJldHVybiB7XG4gICAgICAgIG5hbWVkUmVnZXg6IFwiXlwiICsgbmFtZWRQYXJhbWV0ZXJpemVkUm91dGUgKyBjYXRjaEFsbEdyb3VwZWRSZWdleCArIFwiJFwiXG4gICAgfTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGUtcmVnZXguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiZ2V0Um91dGVSZWdleCIsImdldE5hbWVkUm91dGVSZWdleCIsImdldE5hbWVkTWlkZGxld2FyZVJlZ2V4IiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2ludGVyY2VwdGlvbnJvdXRlcyIsInJlcXVpcmUiLCJfZXNjYXBlcmVnZXhwIiwiX3JlbW92ZXRyYWlsaW5nc2xhc2giLCJORVhUX1FVRVJZX1BBUkFNX1BSRUZJWCIsIk5FWFRfSU5URVJDRVBUSU9OX01BUktFUl9QUkVGSVgiLCJwYXJzZVBhcmFtZXRlciIsInBhcmFtIiwib3B0aW9uYWwiLCJzdGFydHNXaXRoIiwiZW5kc1dpdGgiLCJzbGljZSIsInJlcGVhdCIsImtleSIsImdldFBhcmFtZXRyaXplZFJvdXRlIiwicm91dGUiLCJzZWdtZW50cyIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJzcGxpdCIsImdyb3VwcyIsImdyb3VwSW5kZXgiLCJwYXJhbWV0ZXJpemVkUm91dGUiLCJtYXAiLCJzZWdtZW50IiwibWFya2VyTWF0Y2giLCJJTlRFUkNFUFRJT05fUk9VVEVfTUFSS0VSUyIsImZpbmQiLCJtIiwicGFyYW1NYXRjaGVzIiwibWF0Y2giLCJwb3MiLCJlc2NhcGVTdHJpbmdSZWdleHAiLCJqb2luIiwibm9ybWFsaXplZFJvdXRlIiwicmUiLCJSZWdFeHAiLCJidWlsZEdldFNhZmVSb3V0ZUtleSIsImkiLCJyb3V0ZUtleSIsImoiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJNYXRoIiwiZmxvb3IiLCJnZXRTYWZlS2V5RnJvbVNlZ21lbnQiLCJpbnRlcmNlcHRpb25NYXJrZXIiLCJnZXRTYWZlUm91dGVLZXkiLCJyb3V0ZUtleXMiLCJrZXlQcmVmaXgiLCJjbGVhbmVkS2V5IiwicmVwbGFjZSIsImludmFsaWRLZXkiLCJsZW5ndGgiLCJpc05hTiIsInBhcnNlSW50IiwiaW50ZXJjZXB0aW9uUHJlZml4IiwiZ2V0TmFtZWRQYXJhbWV0cml6ZWRSb3V0ZSIsInByZWZpeFJvdXRlS2V5cyIsIm5hbWVkUGFyYW1ldGVyaXplZFJvdXRlIiwiaGFzSW50ZXJjZXB0aW9uTWFya2VyIiwic29tZSIsInVzZWRNYXJrZXIiLCJ1bmRlZmluZWQiLCJwcmVmaXhSb3V0ZUtleSIsInJlc3VsdCIsIm5hbWVkUmVnZXgiLCJvcHRpb25zIiwiY2F0Y2hBbGwiLCJjYXRjaEFsbFJlZ2V4IiwiY2F0Y2hBbGxHcm91cGVkUmVnZXgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/router/utils/route-regex.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/segment.js": /*!******************************************************!*\ !*** ./node_modules/next/dist/shared/lib/segment.js ***! \******************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n isGroupSegment: function() {\n return isGroupSegment;\n },\n PAGE_SEGMENT_KEY: function() {\n return PAGE_SEGMENT_KEY;\n },\n DEFAULT_SEGMENT_KEY: function() {\n return DEFAULT_SEGMENT_KEY;\n }\n});\nfunction isGroupSegment(segment) {\n // Use array[0] for performant purpose\n return segment[0] === \"(\" && segment.endsWith(\")\");\n}\nconst PAGE_SEGMENT_KEY = \"__PAGE__\";\nconst DEFAULT_SEGMENT_KEY = \"__DEFAULT__\"; //# sourceMappingURL=segment.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvc2VnbWVudC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVYsT0FBT0MsY0FBYyxDQUFDUSxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFOLFNBQVM7SUFDYkcsZ0JBQWdCO1FBQ1osT0FBT0E7SUFDWDtJQUNBQyxrQkFBa0I7UUFDZCxPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxTQUFTRixlQUFlUyxPQUFPO0lBQzNCLHNDQUFzQztJQUN0QyxPQUFPQSxPQUFPLENBQUMsRUFBRSxLQUFLLE9BQU9BLFFBQVFDLFFBQVEsQ0FBQztBQUNsRDtBQUNBLE1BQU1ULG1CQUFtQjtBQUN6QixNQUFNQyxzQkFBc0IsZUFFNUIsbUNBQW1DIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3Qvc2hhcmVkL2xpYi9zZWdtZW50LmpzP2ZmNzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBpc0dyb3VwU2VnbWVudDogbnVsbCxcbiAgICBQQUdFX1NFR01FTlRfS0VZOiBudWxsLFxuICAgIERFRkFVTFRfU0VHTUVOVF9LRVk6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgaXNHcm91cFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNHcm91cFNlZ21lbnQ7XG4gICAgfSxcbiAgICBQQUdFX1NFR01FTlRfS0VZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFBBR0VfU0VHTUVOVF9LRVk7XG4gICAgfSxcbiAgICBERUZBVUxUX1NFR01FTlRfS0VZOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIERFRkFVTFRfU0VHTUVOVF9LRVk7XG4gICAgfVxufSk7XG5mdW5jdGlvbiBpc0dyb3VwU2VnbWVudChzZWdtZW50KSB7XG4gICAgLy8gVXNlIGFycmF5WzBdIGZvciBwZXJmb3JtYW50IHB1cnBvc2VcbiAgICByZXR1cm4gc2VnbWVudFswXSA9PT0gXCIoXCIgJiYgc2VnbWVudC5lbmRzV2l0aChcIilcIik7XG59XG5jb25zdCBQQUdFX1NFR01FTlRfS0VZID0gXCJfX1BBR0VfX1wiO1xuY29uc3QgREVGQVVMVF9TRUdNRU5UX0tFWSA9IFwiX19ERUZBVUxUX19cIjtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c2VnbWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJpc0dyb3VwU2VnbWVudCIsIlBBR0VfU0VHTUVOVF9LRVkiLCJERUZBVUxUX1NFR01FTlRfS0VZIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VnbWVudCIsImVuZHNXaXRoIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/segment.js\n"); /***/ }), /***/ "(rsc)/./node_modules/next/dist/shared/lib/utils.js": /*!****************************************************!*\ !*** ./node_modules/next/dist/shared/lib/utils.js ***! \****************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n WEB_VITALS: function() {\n return WEB_VITALS;\n },\n execOnce: function() {\n return execOnce;\n },\n isAbsoluteUrl: function() {\n return isAbsoluteUrl;\n },\n getLocationOrigin: function() {\n return getLocationOrigin;\n },\n getURL: function() {\n return getURL;\n },\n getDisplayName: function() {\n return getDisplayName;\n },\n isResSent: function() {\n return isResSent;\n },\n normalizeRepeatedSlashes: function() {\n return normalizeRepeatedSlashes;\n },\n loadGetInitialProps: function() {\n return loadGetInitialProps;\n },\n SP: function() {\n return SP;\n },\n ST: function() {\n return ST;\n },\n DecodeError: function() {\n return DecodeError;\n },\n NormalizeError: function() {\n return NormalizeError;\n },\n PageNotFoundError: function() {\n return PageNotFoundError;\n },\n MissingStaticPage: function() {\n return MissingStaticPage;\n },\n MiddlewareNotFoundError: function() {\n return MiddlewareNotFoundError;\n },\n stringifyError: function() {\n return stringifyError;\n }\n});\nconst WEB_VITALS = [\n \"CLS\",\n \"FCP\",\n \"FID\",\n \"INP\",\n \"LCP\",\n \"TTFB\"\n];\nfunction execOnce(fn) {\n let used = false;\n let result;\n return function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (!used) {\n used = true;\n result = fn(...args);\n }\n return result;\n };\n}\n// Scheme: https://tools.ietf.org/html/rfc3986#section-3.1\n// Absolute URL: https://tools.ietf.org/html/rfc3986#section-4.3\nconst ABSOLUTE_URL_REGEX = /^[a-zA-Z][a-zA-Z\\d+\\-.]*?:/;\nconst isAbsoluteUrl = (url)=>ABSOLUTE_URL_REGEX.test(url);\nfunction getLocationOrigin() {\n const { protocol, hostname, port } = window.location;\n return protocol + \"//\" + hostname + (port ? \":\" + port : \"\");\n}\nfunction getURL() {\n const { href } = window.location;\n const origin = getLocationOrigin();\n return href.substring(origin.length);\n}\nfunction getDisplayName(Component) {\n return typeof Component === \"string\" ? Component : Component.displayName || Component.name || \"Unknown\";\n}\nfunction isResSent(res) {\n return res.finished || res.headersSent;\n}\nfunction normalizeRepeatedSlashes(url) {\n const urlParts = url.split(\"?\");\n const urlNoQuery = urlParts[0];\n return urlNoQuery // first we replace any non-encoded backslashes with forward\n // then normalize repeated forward slashes\n .replace(/\\\\/g, \"/\").replace(/\\/\\/+/g, \"/\") + (urlParts[1] ? \"?\" + urlParts.slice(1).join(\"?\") : \"\");\n}\nasync function loadGetInitialProps(App, ctx) {\n if (true) {\n var _App_prototype;\n if ((_App_prototype = App.prototype) == null ? void 0 : _App_prototype.getInitialProps) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" is defined as an instance method - visit https://nextjs.org/docs/messages/get-initial-props-as-an-instance-method for more information.';\n throw new Error(message);\n }\n }\n // when called from _app `ctx` is nested in `ctx`\n const res = ctx.res || ctx.ctx && ctx.ctx.res;\n if (!App.getInitialProps) {\n if (ctx.ctx && ctx.Component) {\n // @ts-ignore pageProps default\n return {\n pageProps: await loadGetInitialProps(ctx.Component, ctx.ctx)\n };\n }\n return {};\n }\n const props = await App.getInitialProps(ctx);\n if (res && isResSent(res)) {\n return props;\n }\n if (!props) {\n const message = '\"' + getDisplayName(App) + '.getInitialProps()\" should resolve to an object. But found \"' + props + '\" instead.';\n throw new Error(message);\n }\n if (true) {\n if (Object.keys(props).length === 0 && !ctx.ctx) {\n console.warn(\"\" + getDisplayName(App) + \" returned an empty object from `getInitialProps`. This de-optimizes and prevents automatic static optimization. https://nextjs.org/docs/messages/empty-object-getInitialProps\");\n }\n }\n return props;\n}\nconst SP = typeof performance !== \"undefined\";\nconst ST = SP && [\n \"mark\",\n \"measure\",\n \"getEntriesByName\"\n].every((method)=>typeof performance[method] === \"function\");\nclass DecodeError extends Error {\n}\nclass NormalizeError extends Error {\n}\nclass PageNotFoundError extends Error {\n constructor(page){\n super();\n this.code = \"ENOENT\";\n this.name = \"PageNotFoundError\";\n this.message = \"Cannot find module for page: \" + page;\n }\n}\nclass MissingStaticPage extends Error {\n constructor(page, message){\n super();\n this.message = \"Failed to load static file for page: \" + page + \" \" + message;\n }\n}\nclass MiddlewareNotFoundError extends Error {\n constructor(){\n super();\n this.code = \"ENOENT\";\n this.message = \"Cannot find the middleware module\";\n }\n}\nfunction stringifyError(error) {\n return JSON.stringify({\n message: error.message,\n stack: error.stack\n });\n} //# sourceMappingURL=utils.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FrQk47QUFDQSxTQUFTa0IsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSXhCLE9BQU9DLGNBQWMsQ0FBQ3NCLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUXBCLFNBQVM7SUFDYkcsWUFBWTtRQUNSLE9BQU9BO0lBQ1g7SUFDQUMsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsZUFBZTtRQUNYLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxRQUFRO1FBQ0osT0FBT0E7SUFDWDtJQUNBQyxnQkFBZ0I7UUFDWixPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLHFCQUFxQjtRQUNqQixPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLElBQUk7UUFDQSxPQUFPQTtJQUNYO0lBQ0FDLGFBQWE7UUFDVCxPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxtQkFBbUI7UUFDZixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGdCQUFnQjtRQUNaLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1oQixhQUFhO0lBQ2Y7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0NBQ0g7QUFDRCxTQUFTQyxTQUFTc0IsRUFBRTtJQUNoQixJQUFJQyxPQUFPO0lBQ1gsSUFB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UUMsSUFBSSxDQUFDLEtBQUs3RCxlQUFlaUQsT0FBTztRQUM1QztJQUNKO0lBQ0EsT0FBT1M7QUFDWDtBQUNBLE1BQU10RCxLQUFLLE9BQU8wRCxnQkFBZ0I7QUFDbEMsTUFBTXpELEtBQUtELE1BQU07SUFDYjtJQUNBO0lBQ0E7Q0FDSCxDQUFDMkQsS0FBSyxDQUFDLENBQUNDLFNBQVMsT0FBT0YsV0FBVyxDQUFDRSxPQUFPLEtBQUs7QUFDakQsTUFBTTFELG9CQUFvQmtEO0FBQzFCO0FBQ0EsTUFBTWpELHVCQUF1QmlEO0FBQzdCO0FBQ0EsTUFBTWhELDBCQUEwQmdEO0lBQzVCUyxZQUFZQyxJQUFJLENBQUM7UUFDYixLQUFLO1FBQ0wsSUFBSSxDQUFDQyxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNwRCxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUN3QyxPQUFPLEdBQUcsa0NBQWtDVztJQUNyRDtBQUNKO0FBQ0EsTUFBTXpELDBCQUEwQitDO0lBQzVCUyxZQUFZQyxJQUFJLEVBQUVYLE9BQU8sQ0FBQztRQUN0QixLQUFLO1FBQ0wsSUFBSSxDQUFDQSxPQUFPLEdBQUcsMENBQTBDVyxPQUFPLE1BQU1YO0lBQzFFO0FBQ0o7QUFDQSxNQUFNN0MsZ0NBQWdDOEM7SUFDbENTLGFBQWE7UUFDVCxLQUFLO1FBQ0wsSUFBSSxDQUFDRSxJQUFJLEdBQUc7UUFDWixJQUFJLENBQUNaLE9BQU8sR0FBRztJQUNuQjtBQUNKO0FBQ0EsU0FBUzVDLGVBQWV5RCxLQUFLO0lBQ3pCLE9BQU9DLEtBQUtDLFNBQVMsQ0FBQztRQUNsQmYsU0FBU2EsTUFBTWIsT0FBTztRQUN0QmdCLE9BQU9ILE1BQU1HLEtBQUs7SUFDdEI7QUFDSixFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL2VtYmVkY2hhaW4tYWRtaW4vLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L3NoYXJlZC9saWIvdXRpbHMuanM/ZTdmZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFdFQl9WSVRBTFM6IG51bGwsXG4gICAgZXhlY09uY2U6IG51bGwsXG4gICAgaXNBYnNvbHV0ZVVybDogbnVsbCxcbiAgICBnZXRMb2NhdGlvbk9yaWdpbjogbnVsbCxcbiAgICBnZXRVUkw6IG51bGwsXG4gICAgZ2V0RGlzcGxheU5hbWU6IG51bGwsXG4gICAgaXNSZXNTZW50OiBudWxsLFxuICAgIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlczogbnVsbCxcbiAgICBsb2FkR2V0SW5pdGlhbFByb3BzOiBudWxsLFxuICAgIFNQOiBudWxsLFxuICAgIFNUOiBudWxsLFxuICAgIERlY29kZUVycm9yOiBudWxsLFxuICAgIE5vcm1hbGl6ZUVycm9yOiBudWxsLFxuICAgIFBhZ2VOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIE1pc3NpbmdTdGF0aWNQYWdlOiBudWxsLFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBudWxsLFxuICAgIHN0cmluZ2lmeUVycm9yOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIFdFQl9WSVRBTFM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gV0VCX1ZJVEFMUztcbiAgICB9LFxuICAgIGV4ZWNPbmNlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGV4ZWNPbmNlO1xuICAgIH0sXG4gICAgaXNBYnNvbHV0ZVVybDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Fic29sdXRlVXJsO1xuICAgIH0sXG4gICAgZ2V0TG9jYXRpb25PcmlnaW46IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0TG9jYXRpb25PcmlnaW47XG4gICAgfSxcbiAgICBnZXRVUkw6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0VVJMO1xuICAgIH0sXG4gICAgZ2V0RGlzcGxheU5hbWU6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZ2V0RGlzcGxheU5hbWU7XG4gICAgfSxcbiAgICBpc1Jlc1NlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gaXNSZXNTZW50O1xuICAgIH0sXG4gICAgbm9ybWFsaXplUmVwZWF0ZWRTbGFzaGVzOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcztcbiAgICB9LFxuICAgIGxvYWRHZXRJbml0aWFsUHJvcHM6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gbG9hZEdldEluaXRpYWxQcm9wcztcbiAgICB9LFxuICAgIFNQOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIFNQO1xuICAgIH0sXG4gICAgU1Q6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gU1Q7XG4gICAgfSxcbiAgICBEZWNvZGVFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBEZWNvZGVFcnJvcjtcbiAgICB9LFxuICAgIE5vcm1hbGl6ZUVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE5vcm1hbGl6ZUVycm9yO1xuICAgIH0sXG4gICAgUGFnZU5vdEZvdW5kRXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gUGFnZU5vdEZvdW5kRXJyb3I7XG4gICAgfSxcbiAgICBNaXNzaW5nU3RhdGljUGFnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBNaXNzaW5nU3RhdGljUGFnZTtcbiAgICB9LFxuICAgIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yO1xuICAgIH0sXG4gICAgc3RyaW5naWZ5RXJyb3I6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5RXJyb3I7XG4gICAgfVxufSk7XG5jb25zdCBXRUJfVklUQUxTID0gW1xuICAgIFwiQ0xTXCIsXG4gICAgXCJGQ1BcIixcbiAgICBcIkZJRFwiLFxuICAgIFwiSU5QXCIsXG4gICAgXCJMQ1BcIixcbiAgICBcIlRURkJcIlxuXTtcbmZ1bmN0aW9uIGV4ZWNPbmNlKGZuKSB7XG4gICAgbGV0IHVzZWQgPSBmYWxzZTtcbiAgICBsZXQgcmVzdWx0O1xuICAgIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXVzZWQpIHtcbiAgICAgICAgICAgIHVzZWQgPSB0cnVlO1xuICAgICAgICAgICAgcmVzdWx0ID0gZm4oLi4uYXJncyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xufVxuLy8gU2NoZW1lOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMVxuLy8gQWJzb2x1dGUgVVJMOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTQuM1xuY29uc3QgQUJTT0xVVEVfVVJMX1JFR0VYID0gL15bYS16QS1aXVthLXpBLVpcXGQrXFwtLl0qPzovO1xuY29uc3QgaXNBYnNvbHV0ZVVybCA9ICh1cmwpPT5BQlNPTFVURV9VUkxfUkVHRVgudGVzdCh1cmwpO1xuZnVuY3Rpb24gZ2V0TG9jYXRpb25PcmlnaW4oKSB7XG4gICAgY29uc3QgeyBwcm90b2NvbCwgaG9zdG5hbWUsIHBvcnQgfSA9IHdpbmRvdy5sb2NhdGlvbjtcbiAgICByZXR1cm4gcHJvdG9jb2wgKyBcIi8vXCIgKyBob3N0bmFtZSArIChwb3J0ID8gXCI6XCIgKyBwb3J0IDogXCJcIik7XG59XG5mdW5jdGlvbiBnZXRVUkwoKSB7XG4gICAgY29uc3QgeyBocmVmIH0gPSB3aW5kb3cubG9jYXRpb247XG4gICAgY29uc3Qgb3JpZ2luID0gZ2V0TG9jYXRpb25PcmlnaW4oKTtcbiAgICByZXR1cm4gaHJlZi5zdWJzdHJpbmcob3JpZ2luLmxlbmd0aCk7XG59XG5mdW5jdGlvbiBnZXREaXNwbGF5TmFtZShDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdHlwZW9mIENvbXBvbmVudCA9PT0gXCJzdHJpbmdcIiA/IENvbXBvbmVudCA6IENvbXBvbmVudC5kaXNwbGF5TmFtZSB8fCBDb21wb25lbnQubmFtZSB8fCBcIlVua25vd25cIjtcbn1cbmZ1bmN0aW9uIGlzUmVzU2VudChyZXMpIHtcbiAgICByZXR1cm4gcmVzLmZpbmlzaGVkIHx8IHJlcy5oZWFkZXJzU2VudDtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlcGVhdGVkU2xhc2hlcyh1cmwpIHtcbiAgICBjb25zdCB1cmxQYXJ0cyA9IHVybC5zcGxpdChcIj9cIik7XG4gICAgY29uc3QgdXJsTm9RdWVyeSA9IHVybFBhcnRzWzBdO1xuICAgIHJldHVybiB1cmxOb1F1ZXJ5Ly8gZmlyc3Qgd2UgcmVwbGFjZSBhbnkgbm9uLWVuY29kZWQgYmFja3NsYXNoZXMgd2l0aCBmb3J3YXJkXG4gICAgLy8gdGhlbiBub3JtYWxpemUgcmVwZWF0ZWQgZm9yd2FyZCBzbGFzaGVzXG4gICAgLnJlcGxhY2UoL1xcXFwvZywgXCIvXCIpLnJlcGxhY2UoL1xcL1xcLysvZywgXCIvXCIpICsgKHVybFBhcnRzWzFdID8gXCI/XCIgKyB1cmxQYXJ0cy5zbGljZSgxKS5qb2luKFwiP1wiKSA6IFwiXCIpO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZEdldEluaXRpYWxQcm9wcyhBcHAsIGN0eCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgdmFyIF9BcHBfcHJvdG90eXBlO1xuICAgICAgICBpZiAoKF9BcHBfcHJvdG90eXBlID0gQXBwLnByb3RvdHlwZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9BcHBfcHJvdG90eXBlLmdldEluaXRpYWxQcm9wcykge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdcIicgKyBnZXREaXNwbGF5TmFtZShBcHApICsgJy5nZXRJbml0aWFsUHJvcHMoKVwiIGlzIGRlZmluZWQgYXMgYW4gaW5zdGFuY2UgbWV0aG9kIC0gdmlzaXQgaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvZ2V0LWluaXRpYWwtcHJvcHMtYXMtYW4taW5zdGFuY2UtbWV0aG9kIGZvciBtb3JlIGluZm9ybWF0aW9uLic7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gd2hlbiBjYWxsZWQgZnJvbSBfYXBwIGBjdHhgIGlzIG5lc3RlZCBpbiBgY3R4YFxuICAgIGNvbnN0IHJlcyA9IGN0eC5yZXMgfHwgY3R4LmN0eCAmJiBjdHguY3R4LnJlcztcbiAgICBpZiAoIUFwcC5nZXRJbml0aWFsUHJvcHMpIHtcbiAgICAgICAgaWYgKGN0eC5jdHggJiYgY3R4LkNvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBwYWdlUHJvcHMgZGVmYXVsdFxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBwYWdlUHJvcHM6IGF3YWl0IGxvYWRHZXRJbml0aWFsUHJvcHMoY3R4LkNvbXBvbmVudCwgY3R4LmN0eClcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHt9O1xuICAgIH1cbiAgICBjb25zdCBwcm9wcyA9IGF3YWl0IEFwcC5nZXRJbml0aWFsUHJvcHMoY3R4KTtcbiAgICBpZiAocmVzICYmIGlzUmVzU2VudChyZXMpKSB7XG4gICAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG4gICAgaWYgKCFwcm9wcykge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gJ1wiJyArIGdldERpc3BsYXlOYW1lKEFwcCkgKyAnLmdldEluaXRpYWxQcm9wcygpXCIgc2hvdWxkIHJlc29sdmUgdG8gYW4gb2JqZWN0LiBCdXQgZm91bmQgXCInICsgcHJvcHMgKyAnXCIgaW5zdGVhZC4nO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobWVzc2FnZSk7XG4gICAgfVxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcbiAgICAgICAgaWYgKE9iamVjdC5rZXlzKHByb3BzKS5sZW5ndGggPT09IDAgJiYgIWN0eC5jdHgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihcIlwiICsgZ2V0RGlzcGxheU5hbWUoQXBwKSArIFwiIHJldHVybmVkIGFuIGVtcHR5IG9iamVjdCBmcm9tIGBnZXRJbml0aWFsUHJvcHNgLiBUaGlzIGRlLW9wdGltaXplcyBhbmQgcHJldmVudHMgYXV0b21hdGljIHN0YXRpYyBvcHRpbWl6YXRpb24uIGh0dHBzOi8vbmV4dGpzLm9yZy9kb2NzL21lc3NhZ2VzL2VtcHR5LW9iamVjdC1nZXRJbml0aWFsUHJvcHNcIik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHByb3BzO1xufVxuY29uc3QgU1AgPSB0eXBlb2YgcGVyZm9ybWFuY2UgIT09IFwidW5kZWZpbmVkXCI7XG5jb25zdCBTVCA9IFNQICYmIFtcbiAgICBcIm1hcmtcIixcbiAgICBcIm1lYXN1cmVcIixcbiAgICBcImdldEVudHJpZXNCeU5hbWVcIlxuXS5ldmVyeSgobWV0aG9kKT0+dHlwZW9mIHBlcmZvcm1hbmNlW21ldGhvZF0gPT09IFwiZnVuY3Rpb25cIik7XG5jbGFzcyBEZWNvZGVFcnJvciBleHRlbmRzIEVycm9yIHtcbn1cbmNsYXNzIE5vcm1hbGl6ZUVycm9yIGV4dGVuZHMgRXJyb3Ige1xufVxuY2xhc3MgUGFnZU5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gICAgY29uc3RydWN0b3IocGFnZSl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29kZSA9IFwiRU5PRU5UXCI7XG4gICAgICAgIHRoaXMubmFtZSA9IFwiUGFnZU5vdEZvdW5kRXJyb3JcIjtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJDYW5ub3QgZmluZCBtb2R1bGUgZm9yIHBhZ2U6IFwiICsgcGFnZTtcbiAgICB9XG59XG5jbGFzcyBNaXNzaW5nU3RhdGljUGFnZSBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihwYWdlLCBtZXNzYWdlKXtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gXCJGYWlsZWQgdG8gbG9hZCBzdGF0aWMgZmlsZSBmb3IgcGFnZTogXCIgKyBwYWdlICsgXCIgXCIgKyBtZXNzYWdlO1xuICAgIH1cbn1cbmNsYXNzIE1pZGRsZXdhcmVOb3RGb3VuZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKCl7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuY29kZSA9IFwiRU5PRU5UXCI7XG4gICAgICAgIHRoaXMubWVzc2FnZSA9IFwiQ2Fubm90IGZpbmQgdGhlIG1pZGRsZXdhcmUgbW9kdWxlXCI7XG4gICAgfVxufVxuZnVuY3Rpb24gc3RyaW5naWZ5RXJyb3IoZXJyb3IpIHtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBtZXNzYWdlOiBlcnJvci5tZXNzYWdlLFxuICAgICAgICBzdGFjazogZXJyb3Iuc3RhY2tcbiAgICB9KTtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9dXRpbHMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiV0VCX1ZJVEFMUyIsImV4ZWNPbmNlIiwiaXNBYnNvbHV0ZVVybCIsImdldExvY2F0aW9uT3JpZ2luIiwiZ2V0VVJMIiwiZ2V0RGlzcGxheU5hbWUiLCJpc1Jlc1NlbnQiLCJub3JtYWxpemVSZXBlYXRlZFNsYXNoZXMiLCJsb2FkR2V0SW5pdGlhbFByb3BzIiwiU1AiLCJTVCIsIkRlY29kZUVycm9yIiwiTm9ybWFsaXplRXJyb3IiLCJQYWdlTm90Rm91bmRFcnJvciIsIk1pc3NpbmdTdGF0aWNQYWdlIiwiTWlkZGxld2FyZU5vdEZvdW5kRXJyb3IiLCJzdHJpbmdpZnlFcnJvciIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImZuIiwidXNlZCIsInJlc3VsdCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiQUJTT0xVVEVfVVJMX1JFR0VYIiwidXJsIiwidGVzdCIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJwb3J0Iiwid2luZG93IiwibG9jYXRpb24iLCJocmVmIiwib3JpZ2luIiwic3Vic3RyaW5nIiwiQ29tcG9uZW50IiwiZGlzcGxheU5hbWUiLCJyZXMiLCJmaW5pc2hlZCIsImhlYWRlcnNTZW50IiwidXJsUGFydHMiLCJzcGxpdCIsInVybE5vUXVlcnkiLCJyZXBsYWNlIiwic2xpY2UiLCJqb2luIiwiQXBwIiwiY3R4IiwicHJvY2VzcyIsIl9BcHBfcHJvdG90eXBlIiwicHJvdG90eXBlIiwiZ2V0SW5pdGlhbFByb3BzIiwibWVzc2FnZSIsIkVycm9yIiwicGFnZVByb3BzIiwicHJvcHMiLCJrZXlzIiwiY29uc29sZSIsIndhcm4iLCJwZXJmb3JtYW5jZSIsImV2ZXJ5IiwibWV0aG9kIiwiY29uc3RydWN0b3IiLCJwYWdlIiwiY29kZSIsImVycm9yIiwiSlNPTiIsInN0cmluZ2lmeSIsInN0YWNrIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/shared/lib/utils.js\n"); /***/ }), /***/ "(app-metadata-route)/./node_modules/next/server.js": /*!*************************************!*\ !*** ./node_modules/next/server.js ***! \*************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nconst serverExports = {\n NextRequest: (__webpack_require__(/*! next/dist/server/web/spec-extension/request */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/request.js\").NextRequest),\n NextResponse: (__webpack_require__(/*! next/dist/server/web/spec-extension/response */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/response.js\").NextResponse),\n ImageResponse: (__webpack_require__(/*! next/dist/server/web/spec-extension/image-response */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/image-response.js\").ImageResponse),\n userAgentFromString: (__webpack_require__(/*! next/dist/server/web/spec-extension/user-agent */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js\").userAgentFromString),\n userAgent: (__webpack_require__(/*! next/dist/server/web/spec-extension/user-agent */ \"(app-metadata-route)/./node_modules/next/dist/server/web/spec-extension/user-agent.js\").userAgent)\n};\nif (typeof URLPattern !== \"undefined\") {\n // eslint-disable-next-line no-undef\n serverExports.URLPattern = URLPattern;\n}\n// https://nodejs.org/api/esm.html#commonjs-namespaces\n// When importing CommonJS modules, the module.exports object is provided as the default export\nmodule.exports = serverExports;\n// make import { xxx } from 'next/server' work\nexports.NextRequest = serverExports.NextRequest;\nexports.NextResponse = serverExports.NextResponse;\nexports.ImageResponse = serverExports.ImageResponse;\nexports.userAgentFromString = serverExports.userAgentFromString;\nexports.userAgent = serverExports.userAgent;\nexports.URLPattern = serverExports.URLPattern;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1tZXRhZGF0YS1yb3V0ZSkvLi9ub2RlX21vZHVsZXMvbmV4dC9zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IjtBQUFBLE1BQU1BLGdCQUFnQjtJQUNwQkMsYUFBYUMsMEtBQ0M7SUFDZEMsY0FBY0QsNktBQ0M7SUFDZkUsZUFBZUYsMExBQ0M7SUFDaEJHLHFCQUFxQkgsd0xBQ0M7SUFDdEJJLFdBQVdKLDhLQUNDO0FBQ2Q7QUFFQSxJQUFJLE9BQU9LLGVBQWUsYUFBYTtJQUNyQyxvQ0FBb0M7SUFDcENQLGNBQWNPLFVBQVUsR0FBR0E7QUFDN0I7QUFFQSxzREFBc0Q7QUFDdEQsK0ZBQStGO0FBQy9GQyxPQUFPQyxPQUFPLEdBQUdUO0FBRWpCLDhDQUE4QztBQUM5Q1MsbUJBQW1CLEdBQUdULGNBQWNDLFdBQVc7QUFDL0NRLG9CQUFvQixHQUFHVCxjQUFjRyxZQUFZO0FBQ2pETSxxQkFBcUIsR0FBR1QsY0FBY0ksYUFBYTtBQUNuREssMkJBQTJCLEdBQUdULGNBQWNLLG1CQUFtQjtBQUMvREksaUJBQWlCLEdBQUdULGNBQWNNLFNBQVM7QUFDM0NHLGtCQUFrQixHQUFHVCxjQUFjTyxVQUFVIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZW1iZWRjaGFpbi1hZG1pbi8uL25vZGVfbW9kdWxlcy9uZXh0L3NlcnZlci5qcz8zMjJhIl0sInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHNlcnZlckV4cG9ydHMgPSB7XG4gIE5leHRSZXF1ZXN0OiByZXF1aXJlKCduZXh0L2Rpc3Qvc2VydmVyL3dlYi9zcGVjLWV4dGVuc2lvbi9yZXF1ZXN0JylcbiAgICAuTmV4dFJlcXVlc3QsXG4gIE5leHRSZXNwb25zZTogcmVxdWlyZSgnbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vcmVzcG9uc2UnKVxuICAgIC5OZXh0UmVzcG9uc2UsXG4gIEltYWdlUmVzcG9uc2U6IHJlcXVpcmUoJ25leHQvZGlzdC9zZXJ2ZXIvd2ViL3NwZWMtZXh0ZW5zaW9uL2ltYWdlLXJlc3BvbnNlJylcbiAgICAuSW1hZ2VSZXNwb25zZSxcbiAgdXNlckFnZW50RnJvbVN0cmluZzogcmVxdWlyZSgnbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vdXNlci1hZ2VudCcpXG4gICAgLnVzZXJBZ2VudEZyb21TdHJpbmcsXG4gIHVzZXJBZ2VudDogcmVxdWlyZSgnbmV4dC9kaXN0L3NlcnZlci93ZWIvc3BlYy1leHRlbnNpb24vdXNlci1hZ2VudCcpXG4gICAgLnVzZXJBZ2VudCxcbn1cblxuaWYgKHR5cGVvZiBVUkxQYXR0ZXJuICE9PSAndW5kZWZpbmVkJykge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW5kZWZcbiAgc2VydmVyRXhwb3J0cy5VUkxQYXR0ZXJuID0gVVJMUGF0dGVyblxufVxuXG4vLyBodHRwczovL25vZGVqcy5vcmcvYXBpL2VzbS5odG1sI2NvbW1vbmpzLW5hbWVzcGFjZXNcbi8vIFdoZW4gaW1wb3J0aW5nIENvbW1vbkpTIG1vZHVsZXMsIHRoZSBtb2R1bGUuZXhwb3J0cyBvYmplY3QgaXMgcHJvdmlkZWQgYXMgdGhlIGRlZmF1bHQgZXhwb3J0XG5tb2R1bGUuZXhwb3J0cyA9IHNlcnZlckV4cG9ydHNcblxuLy8gbWFrZSBpbXBvcnQgeyB4eHggfSBmcm9tICduZXh0L3NlcnZlcicgd29ya1xuZXhwb3J0cy5OZXh0UmVxdWVzdCA9IHNlcnZlckV4cG9ydHMuTmV4dFJlcXVlc3RcbmV4cG9ydHMuTmV4dFJlc3BvbnNlID0gc2VydmVyRXhwb3J0cy5OZXh0UmVzcG9uc2VcbmV4cG9ydHMuSW1hZ2VSZXNwb25zZSA9IHNlcnZlckV4cG9ydHMuSW1hZ2VSZXNwb25zZVxuZXhwb3J0cy51c2VyQWdlbnRGcm9tU3RyaW5nID0gc2VydmVyRXhwb3J0cy51c2VyQWdlbnRGcm9tU3RyaW5nXG5leHBvcnRzLnVzZXJBZ2VudCA9IHNlcnZlckV4cG9ydHMudXNlckFnZW50XG5leHBvcnRzLlVSTFBhdHRlcm4gPSBzZXJ2ZXJFeHBvcnRzLlVSTFBhdHRlcm5cbiJdLCJuYW1lcyI6WyJzZXJ2ZXJFeHBvcnRzIiwiTmV4dFJlcXVlc3QiLCJyZXF1aXJlIiwiTmV4dFJlc3BvbnNlIiwiSW1hZ2VSZXNwb25zZSIsInVzZXJBZ2VudEZyb21TdHJpbmciLCJ1c2VyQWdlbnQiLCJVUkxQYXR0ZXJuIiwibW9kdWxlIiwiZXhwb3J0cyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-metadata-route)/./node_modules/next/server.js\n"); /***/ }) }; ;