diff --git "a/LocalGPT/privateGPT/client/.next/static/chunks/amp.js" "b/LocalGPT/privateGPT/client/.next/static/chunks/amp.js" new file mode 100644--- /dev/null +++ "b/LocalGPT/privateGPT/client/.next/static/chunks/amp.js" @@ -0,0 +1,753 @@ +/* + * ATTENTION: An "eval-source-map" devtool has been used. + * This devtool is neither made for production nor for readable output files. + * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. + * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) + * or disable the default devtool with "devtool: false". + * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). + */ +(self["webpackChunk_N_E"] = self["webpackChunk_N_E"] || []).push([["amp"],{ + +/***/ "./node_modules/next/dist/client/add-base-path.js": +/*!********************************************************!*\ + !*** ./node_modules/next/dist/client/add-base-path.js ***! + \********************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 */ \"./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n if (false) {}\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)((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\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWSxJQUFJO0lBQ2hCQyxLQUFLLFdBQVc7UUFDWixPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQyx1SEFBNEM7QUFDM0UsTUFBTUMsMEJBQTBCRCxtQkFBT0EsQ0FBQywrRkFBNEI7QUFDcEUsTUFBTUUsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTTCxZQUFZUSxJQUFJLEVBQUVDLFFBQVEsRUFBRTtJQUNqQyxJQUFJSixLQUEwQyxFQUFFLEVBSS9DO0lBQ0QsT0FBTyxDQUFDLEdBQUdGLHdCQUF3QlEsMEJBQTBCLEVBQUUsQ0FBQyxHQUFHVixlQUFlVyxhQUFhLEVBQUVKLE1BQU1KO0FBQzNHO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPcUIsTUFBTSxDQUFDbkIsUUFBUWlCLE9BQU8sRUFBRWpCO0lBQy9Cb0IsT0FBT3BCLE9BQU8sR0FBR0EsUUFBUWlCLE9BQU87QUFDbEMsQ0FBQyxDQUVELHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzPzYxMzEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhZGRCYXNlUGF0aFwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gYWRkQmFzZVBhdGg7XG4gICAgfVxufSk7XG5jb25zdCBfYWRkcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXhcIik7XG5jb25zdCBfbm9ybWFsaXpldHJhaWxpbmdzbGFzaCA9IHJlcXVpcmUoXCIuL25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiO1xuZnVuY3Rpb24gYWRkQmFzZVBhdGgocGF0aCwgcmVxdWlyZWQpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIKSB7XG4gICAgICAgIGlmICghcmVxdWlyZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKCgwLCBfYWRkcGF0aHByZWZpeC5hZGRQYXRoUHJlZml4KShwYXRoLCBiYXNlUGF0aCkpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hZGQtYmFzZS1wYXRoLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJhZGRCYXNlUGF0aCIsIl9hZGRwYXRocHJlZml4IiwicmVxdWlyZSIsIl9ub3JtYWxpemV0cmFpbGluZ3NsYXNoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJyZXF1aXJlZCIsIl9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiYWRkUGF0aFByZWZpeCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-base-path.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/add-locale.js": +/*!*****************************************************!*\ + !*** ./node_modules/next/dist/client/add-locale.js ***! + \*****************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 */ \"./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\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0ZILDZDQUE0QztJQUN4Q0ksWUFBWSxJQUFJO0lBQ2hCQyxLQUFLLFdBQVc7UUFDWixPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMEJBQTBCQyxtQkFBT0EsQ0FBQywrRkFBNEI7QUFDcEUsTUFBTUYsWUFBWSxTQUFTRyxJQUFJLEVBQUU7SUFDN0IsSUFBSSxJQUFJQyxPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLE9BQU8sSUFBSUMsTUFBTUosT0FBTyxJQUFJQSxPQUFPLElBQUksQ0FBQyxHQUFHSyxPQUFPLEdBQUdBLE9BQU9MLE1BQU1LLE9BQU87UUFDdEdGLElBQUksQ0FBQ0UsT0FBTyxFQUFFLEdBQUdKLFNBQVMsQ0FBQ0ksS0FBSztJQUNwQztJQUNBLElBQUlDLEtBQStCLEVBQUUsRUFFcEM7SUFDRCxPQUFPUDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9QLFFBQVFrQixPQUFPLEtBQUssY0FBZSxPQUFPbEIsUUFBUWtCLE9BQU8sS0FBSyxZQUFZbEIsUUFBUWtCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2xCLFFBQVFrQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLckIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRa0IsT0FBTyxFQUFFLGNBQWM7UUFBRWpCLE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPc0IsTUFBTSxDQUFDcEIsUUFBUWtCLE9BQU8sRUFBRWxCO0lBQy9CcUIsT0FBT3JCLE9BQU8sR0FBR0EsUUFBUWtCLE9BQU87QUFDbEMsQ0FBQyxDQUVELHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzP2UyZDkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhZGRMb2NhbGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGFkZExvY2FsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xuY29uc3QgYWRkTG9jYWxlID0gZnVuY3Rpb24ocGF0aCkge1xuICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiA+IDEgPyBfbGVuIC0gMSA6IDApLCBfa2V5ID0gMTsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgIGFyZ3NbX2tleSAtIDFdID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICByZXR1cm4gKDAsIF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoLm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoKShyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvYWRkLWxvY2FsZVwiKS5hZGRMb2NhbGUocGF0aCwgLi4uYXJncykpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZExvY2FsZSIsIl9ub3JtYWxpemV0cmFpbGluZ3NsYXNoIiwicmVxdWlyZSIsInBhdGgiLCJfbGVuIiwiYXJndW1lbnRzIiwibGVuZ3RoIiwiYXJncyIsIkFycmF5IiwiX2tleSIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfSTE4Tl9TVVBQT1JUIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/add-locale.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/detect-domain-locale.js": +/*!***************************************************************!*\ + !*** ./node_modules/next/dist/client/detect-domain-locale.js ***! + \***************************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"detectDomainLocale\", ({\n enumerable: true,\n get: function() {\n return detectDomainLocale;\n }\n}));\nconst detectDomainLocale = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n if (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=detect-domain-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXRlY3QtZG9tYWluLWxvY2FsZS5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU8sSUFBSTtBQUNmLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVksSUFBSTtJQUNoQkMsS0FBSyxXQUFXO1FBQ1osT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1BLHFCQUFxQixXQUFXO0lBQ2xDLElBQUksSUFBSUMsT0FBT0MsVUFBVUMsTUFBTSxFQUFFQyxPQUFPLElBQUlDLE1BQU1KLE9BQU9LLE9BQU8sR0FBR0EsT0FBT0wsTUFBTUssT0FBTztRQUNuRkYsSUFBSSxDQUFDRSxLQUFLLEdBQUdKLFNBQVMsQ0FBQ0ksS0FBSztJQUNoQztJQUNBLElBQUlDLEtBQStCLEVBQUUsRUFFcEM7QUFDTDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPLElBQUk7SUFBQztJQUNuRUgsT0FBT21CLE1BQU0sQ0FBQ2pCLFFBQVFlLE9BQU8sRUFBRWY7SUFDL0JrQixPQUFPbEIsT0FBTyxHQUFHQSxRQUFRZSxPQUFPO0FBQ2xDLENBQUMsQ0FFRCxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanM/MDNiNSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRldGVjdERvbWFpbkxvY2FsZVwiLCB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gZGV0ZWN0RG9tYWluTG9jYWxlO1xuICAgIH1cbn0pO1xuY29uc3QgZGV0ZWN0RG9tYWluTG9jYWxlID0gZnVuY3Rpb24oKSB7XG4gICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICByZXR1cm4gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvaTE4bi9kZXRlY3QtZG9tYWluLWxvY2FsZVwiKS5kZXRlY3REb21haW5Mb2NhbGUoLi4uYXJncyk7XG4gICAgfVxufTtcblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9ZGV0ZWN0LWRvbWFpbi1sb2NhbGUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImRldGVjdERvbWFpbkxvY2FsZSIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJyZXF1aXJlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/detect-domain-locale.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/dev/amp-dev.js": +/*!******************************************************!*\ + !*** ./node_modules/next/dist/client/dev/amp-dev.js ***! + \******************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("/* globals __webpack_hash__ */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _fouc = __webpack_require__(/*! ./fouc */ \"./node_modules/next/dist/client/dev/fouc.js\");\nconst _ondemandentriesclient = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./on-demand-entries-client */ \"./node_modules/next/dist/client/dev/on-demand-entries-client.js\"));\nconst _websocket = __webpack_require__(/*! ./error-overlay/websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nconst data = JSON.parse(document.getElementById(\"__NEXT_DATA__\").textContent);\nwindow.__NEXT_DATA__ = data;\nlet { assetPrefix , page } = data;\nassetPrefix = assetPrefix || \"\";\nlet mostRecentHash = null;\n/* eslint-disable-next-line */ let curHash = __webpack_require__.h();\nconst hotUpdatePath = assetPrefix + (assetPrefix.endsWith(\"/\") ? \"\" : \"/\") + \"_next/static/webpack/\";\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n /* eslint-disable-next-line */ return mostRecentHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error TODO: module.hot exists but type needs to be added. Can't use `as any` here as webpack parses for `module.hot` calls.\n return module.hot.status() === \"idle\";\n}\n// This function reads code updates on the fly and hard\n// reloads the page when it has changed.\nasync function tryApplyUpdates() {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n return;\n }\n try {\n const res = await fetch(typeof __webpack_require__.j !== \"undefined\" ? \"\" + hotUpdatePath + curHash + \".\" + __webpack_require__.j + \".hot-update.json\" : \"\" + hotUpdatePath + curHash + \".hot-update.json\");\n const jsonData = await res.json();\n const curPage = page === \"/\" ? \"index\" : page;\n // webpack 5 uses an array instead\n const pageUpdated = (Array.isArray(jsonData.c) ? jsonData.c : Object.keys(jsonData.c)).some((mod)=>{\n return mod.indexOf(\"pages\" + (curPage.startsWith(\"/\") ? curPage : \"/\" + curPage)) !== -1 || mod.indexOf((\"pages\" + (curPage.startsWith(\"/\") ? curPage : \"/\" + curPage)).replace(/\\//g, \"\\\\\")) !== -1;\n });\n if (pageUpdated) {\n window.location.reload();\n } else {\n curHash = mostRecentHash;\n }\n } catch (err) {\n console.error(\"Error occurred checking for update\", err);\n window.location.reload();\n }\n}\n(0, _websocket.addMessageListener)((event)=>{\n if (event.data === \"\\uD83D\\uDC93\") {\n return;\n }\n try {\n const message = JSON.parse(event.data);\n if (message.action === \"sync\" || message.action === \"built\") {\n if (!message.hash) {\n return;\n }\n mostRecentHash = message.hash;\n tryApplyUpdates();\n } else if (message.action === \"reloadPage\") {\n window.location.reload();\n }\n } catch (ex) {\n console.warn(\"Invalid HMR message: \" + event.data + \"\\n\" + ex);\n }\n});\n(0, _websocket.connectHMR)({\n assetPrefix,\n path: \"/_next/webpack-hmr\"\n});\n(0, _fouc.displayContent)();\n(0, _ondemandentriesclient.default)(data.page);\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=amp-dev.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvYW1wLWRldi5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw0QkFBNEIsR0FBZ0I7QUFDNUNBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsUUFBUUQsbUJBQU9BLENBQUMsMkRBQVE7QUFDOUIsTUFBTUUseUJBQXlCLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG1HQUE0QjtBQUM1RyxNQUFNSSxhQUFhSixtQkFBT0EsQ0FBQyxpR0FBMkI7QUFDdEQsTUFBTUssT0FBT0MsS0FBS0MsS0FBSyxDQUFDQyxTQUFTQyxjQUFjLENBQUMsaUJBQWlCQyxXQUFXO0FBQzVFQyxPQUFPQyxhQUFhLEdBQUdQO0FBQ3ZCLElBQUksRUFBRVEsWUFBVyxFQUFHQyxLQUFJLEVBQUcsR0FBR1Q7QUFDOUJRLGNBQWNBLGVBQWU7QUFDN0IsSUFBSUUsaUJBQWlCLElBQUk7QUFDekIsNEJBQTRCLEdBQUcsSUFBSUMsVUFBVUMsdUJBQWdCQTtBQUM3RCxNQUFNQyxnQkFBZ0JMLGNBQWVBLENBQUFBLFlBQVlNLFFBQVEsQ0FBQyxPQUFPLEtBQUssR0FBRyxJQUFJO0FBQzdFLG1EQUFtRDtBQUNuRCxTQUFTQyxvQkFBb0I7SUFDekIsMkRBQTJEO0lBQzNELDhDQUE4QztJQUM5Qyw0QkFBNEIsR0FBRyxPQUFPTCxtQkFBbUJFLHVCQUFnQkE7QUFDN0U7QUFDQSw2Q0FBNkM7QUFDN0MsU0FBU0ksa0JBQWtCO0lBQ3ZCLHlJQUF5STtJQUN6SSxPQUFPQyxVQUFVLENBQUNFLE1BQU0sT0FBTztBQUNuQztBQUNBLHVEQUF1RDtBQUN2RCx3Q0FBd0M7QUFDeEMsZUFBZUMsa0JBQWtCO0lBQzdCLElBQUksQ0FBQ0wsdUJBQXVCLENBQUNDLG1CQUFtQjtRQUM1QztJQUNKLENBQUM7SUFDRCxJQUFJO1FBQ0EsTUFBTUssTUFBTSxNQUFNQyxNQUFNLE9BQU9DLHFCQUFzQkEsS0FBSyxjQUFjLEtBQUtWLGdCQUFnQkYsVUFBVSxNQUFNWSxxQkFBc0JBLEdBQUcscUJBQXFCLEtBQUtWLGdCQUFnQkYsVUFBVSxrQkFBa0I7UUFDNU0sTUFBTWEsV0FBVyxNQUFNSCxJQUFJSSxJQUFJO1FBQy9CLE1BQU1DLFVBQVVqQixTQUFTLE1BQU0sVUFBVUEsSUFBSTtRQUM3QyxrQ0FBa0M7UUFDbEMsTUFBTWtCLGNBQWMsQ0FBQ0MsTUFBTUMsT0FBTyxDQUFDTCxTQUFTTSxDQUFDLElBQUlOLFNBQVNNLENBQUMsR0FBR3hDLE9BQU95QyxJQUFJLENBQUNQLFNBQVNNLENBQUMsQ0FBQyxFQUFFRSxJQUFJLENBQUMsQ0FBQ0MsTUFBTTtZQUMvRixPQUFPQSxJQUFJQyxPQUFPLENBQUMsVUFBV1IsQ0FBQUEsUUFBUVMsVUFBVSxDQUFDLE9BQU9ULFVBQVUsTUFBTUEsT0FBTyxPQUFPLENBQUMsS0FBS08sSUFBSUMsT0FBTyxDQUFDLENBQUMsVUFBV1IsQ0FBQUEsUUFBUVMsVUFBVSxDQUFDLE9BQU9ULFVBQVUsTUFBTUEsT0FBTyxHQUFHVSxPQUFPLENBQUMsT0FBTyxXQUFXLENBQUM7UUFDdk07UUFDQSxJQUFJVCxhQUFhO1lBQ2JyQixPQUFPK0IsUUFBUSxDQUFDQyxNQUFNO1FBQzFCLE9BQU87WUFDSDNCLFVBQVVEO1FBQ2QsQ0FBQztJQUNMLEVBQUUsT0FBTzZCLEtBQUs7UUFDVkMsUUFBUUMsS0FBSyxDQUFDLHNDQUFzQ0Y7UUFDcERqQyxPQUFPK0IsUUFBUSxDQUFDQyxNQUFNO0lBQzFCO0FBQ0o7QUFDQyxJQUFHdkMsV0FBVzJDLGtCQUFrQixFQUFFLENBQUNDLFFBQVE7SUFDeEMsSUFBSUEsTUFBTTNDLElBQUksS0FBSyxnQkFBZ0I7UUFDL0I7SUFDSixDQUFDO0lBQ0QsSUFBSTtRQUNBLE1BQU00QyxVQUFVM0MsS0FBS0MsS0FBSyxDQUFDeUMsTUFBTTNDLElBQUk7UUFDckMsSUFBSTRDLFFBQVFDLE1BQU0sS0FBSyxVQUFVRCxRQUFRQyxNQUFNLEtBQUssU0FBUztZQUN6RCxJQUFJLENBQUNELFFBQVFFLElBQUksRUFBRTtnQkFDZjtZQUNKLENBQUM7WUFDRHBDLGlCQUFpQmtDLFFBQVFFLElBQUk7WUFDN0IxQjtRQUNKLE9BQU8sSUFBSXdCLFFBQVFDLE1BQU0sS0FBSyxjQUFjO1lBQ3hDdkMsT0FBTytCLFFBQVEsQ0FBQ0MsTUFBTTtRQUMxQixDQUFDO0lBQ0wsRUFBRSxPQUFPUyxJQUFJO1FBQ1RQLFFBQVFRLElBQUksQ0FBQywwQkFBMEJMLE1BQU0zQyxJQUFJLEdBQUcsT0FBTytDO0lBQy9EO0FBQ0o7QUFDQyxJQUFHaEQsV0FBV2tELFVBQVUsRUFBRTtJQUN2QnpDO0lBQ0EwQyxNQUFNO0FBQ1Y7QUFDQyxJQUFHdEQsTUFBTXVELGNBQWM7QUFDdkIsSUFBR3RELHVCQUF1QnVELE9BQU8sRUFBRXBELEtBQUtTLElBQUk7QUFFN0MsSUFBSSxDQUFDLE9BQU9qQixRQUFRNEQsT0FBTyxLQUFLLGNBQWUsT0FBTzVELFFBQVE0RCxPQUFPLEtBQUssWUFBWTVELFFBQVE0RCxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU81RCxRQUFRNEQsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySy9ELE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTRELE9BQU8sRUFBRSxjQUFjO1FBQUUzRCxPQUFPLElBQUk7SUFBQztJQUNuRUgsT0FBT2dFLE1BQU0sQ0FBQzlELFFBQVE0RCxPQUFPLEVBQUU1RDtJQUMvQnlCLE9BQU96QixPQUFPLEdBQUdBLFFBQVE0RCxPQUFPO0FBQ2xDLENBQUMsQ0FFRCxtQ0FBbUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvZGV2L2FtcC1kZXYuanM/NWNjZiJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBnbG9iYWxzIF9fd2VicGFja19oYXNoX18gKi8gXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX2ZvdWMgPSByZXF1aXJlKFwiLi9mb3VjXCIpO1xuY29uc3QgX29uZGVtYW5kZW50cmllc2NsaWVudCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vb24tZGVtYW5kLWVudHJpZXMtY2xpZW50XCIpKTtcbmNvbnN0IF93ZWJzb2NrZXQgPSByZXF1aXJlKFwiLi9lcnJvci1vdmVybGF5L3dlYnNvY2tldFwiKTtcbmNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwiX19ORVhUX0RBVEFfX1wiKS50ZXh0Q29udGVudCk7XG53aW5kb3cuX19ORVhUX0RBVEFfXyA9IGRhdGE7XG5sZXQgeyBhc3NldFByZWZpeCAsIHBhZ2UgIH0gPSBkYXRhO1xuYXNzZXRQcmVmaXggPSBhc3NldFByZWZpeCB8fCBcIlwiO1xubGV0IG1vc3RSZWNlbnRIYXNoID0gbnVsbDtcbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyBsZXQgY3VySGFzaCA9IF9fd2VicGFja19oYXNoX187XG5jb25zdCBob3RVcGRhdGVQYXRoID0gYXNzZXRQcmVmaXggKyAoYXNzZXRQcmVmaXguZW5kc1dpdGgoXCIvXCIpID8gXCJcIiA6IFwiL1wiKSArIFwiX25leHQvc3RhdGljL3dlYnBhY2svXCI7XG4vLyBJcyB0aGVyZSBhIG5ld2VyIHZlcnNpb24gb2YgdGhpcyBjb2RlIGF2YWlsYWJsZT9cbmZ1bmN0aW9uIGlzVXBkYXRlQXZhaWxhYmxlKCkge1xuICAgIC8vIF9fd2VicGFja19oYXNoX18gaXMgdGhlIGhhc2ggb2YgdGhlIGN1cnJlbnQgY29tcGlsYXRpb24uXG4gICAgLy8gSXQncyBhIGdsb2JhbCB2YXJpYWJsZSBpbmplY3RlZCBieSBXZWJwYWNrLlxuICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSAqLyByZXR1cm4gbW9zdFJlY2VudEhhc2ggIT09IF9fd2VicGFja19oYXNoX187XG59XG4vLyBXZWJwYWNrIGRpc2FsbG93cyB1cGRhdGVzIGluIG90aGVyIHN0YXRlcy5cbmZ1bmN0aW9uIGNhbkFwcGx5VXBkYXRlcygpIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRPRE86IG1vZHVsZS5ob3QgZXhpc3RzIGJ1dCB0eXBlIG5lZWRzIHRvIGJlIGFkZGVkLiBDYW4ndCB1c2UgYGFzIGFueWAgaGVyZSBhcyB3ZWJwYWNrIHBhcnNlcyBmb3IgYG1vZHVsZS5ob3RgIGNhbGxzLlxuICAgIHJldHVybiBtb2R1bGUuaG90LnN0YXR1cygpID09PSBcImlkbGVcIjtcbn1cbi8vIFRoaXMgZnVuY3Rpb24gcmVhZHMgY29kZSB1cGRhdGVzIG9uIHRoZSBmbHkgYW5kIGhhcmRcbi8vIHJlbG9hZHMgdGhlIHBhZ2Ugd2hlbiBpdCBoYXMgY2hhbmdlZC5cbmFzeW5jIGZ1bmN0aW9uIHRyeUFwcGx5VXBkYXRlcygpIHtcbiAgICBpZiAoIWlzVXBkYXRlQXZhaWxhYmxlKCkgfHwgIWNhbkFwcGx5VXBkYXRlcygpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2godHlwZW9mIF9fd2VicGFja19ydW50aW1lX2lkX18gIT09IFwidW5kZWZpbmVkXCIgPyBcIlwiICsgaG90VXBkYXRlUGF0aCArIGN1ckhhc2ggKyBcIi5cIiArIF9fd2VicGFja19ydW50aW1lX2lkX18gKyBcIi5ob3QtdXBkYXRlLmpzb25cIiA6IFwiXCIgKyBob3RVcGRhdGVQYXRoICsgY3VySGFzaCArIFwiLmhvdC11cGRhdGUuanNvblwiKTtcbiAgICAgICAgY29uc3QganNvbkRhdGEgPSBhd2FpdCByZXMuanNvbigpO1xuICAgICAgICBjb25zdCBjdXJQYWdlID0gcGFnZSA9PT0gXCIvXCIgPyBcImluZGV4XCIgOiBwYWdlO1xuICAgICAgICAvLyB3ZWJwYWNrIDUgdXNlcyBhbiBhcnJheSBpbnN0ZWFkXG4gICAgICAgIGNvbnN0IHBhZ2VVcGRhdGVkID0gKEFycmF5LmlzQXJyYXkoanNvbkRhdGEuYykgPyBqc29uRGF0YS5jIDogT2JqZWN0LmtleXMoanNvbkRhdGEuYykpLnNvbWUoKG1vZCk9PntcbiAgICAgICAgICAgIHJldHVybiBtb2QuaW5kZXhPZihcInBhZ2VzXCIgKyAoY3VyUGFnZS5zdGFydHNXaXRoKFwiL1wiKSA/IGN1clBhZ2UgOiBcIi9cIiArIGN1clBhZ2UpKSAhPT0gLTEgfHwgbW9kLmluZGV4T2YoKFwicGFnZXNcIiArIChjdXJQYWdlLnN0YXJ0c1dpdGgoXCIvXCIpID8gY3VyUGFnZSA6IFwiL1wiICsgY3VyUGFnZSkpLnJlcGxhY2UoL1xcLy9nLCBcIlxcXFxcIikpICE9PSAtMTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChwYWdlVXBkYXRlZCkge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3VySGFzaCA9IG1vc3RSZWNlbnRIYXNoO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBvY2N1cnJlZCBjaGVja2luZyBmb3IgdXBkYXRlXCIsIGVycik7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICB9XG59XG4oMCwgX3dlYnNvY2tldC5hZGRNZXNzYWdlTGlzdGVuZXIpKChldmVudCk9PntcbiAgICBpZiAoZXZlbnQuZGF0YSA9PT0gXCJcXHVEODNEXFx1REM5M1wiKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IEpTT04ucGFyc2UoZXZlbnQuZGF0YSk7XG4gICAgICAgIGlmIChtZXNzYWdlLmFjdGlvbiA9PT0gXCJzeW5jXCIgfHwgbWVzc2FnZS5hY3Rpb24gPT09IFwiYnVpbHRcIikge1xuICAgICAgICAgICAgaWYgKCFtZXNzYWdlLmhhc2gpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBtb3N0UmVjZW50SGFzaCA9IG1lc3NhZ2UuaGFzaDtcbiAgICAgICAgICAgIHRyeUFwcGx5VXBkYXRlcygpO1xuICAgICAgICB9IGVsc2UgaWYgKG1lc3NhZ2UuYWN0aW9uID09PSBcInJlbG9hZFBhZ2VcIikge1xuICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICB9XG4gICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgY29uc29sZS53YXJuKFwiSW52YWxpZCBITVIgbWVzc2FnZTogXCIgKyBldmVudC5kYXRhICsgXCJcXG5cIiArIGV4KTtcbiAgICB9XG59KTtcbigwLCBfd2Vic29ja2V0LmNvbm5lY3RITVIpKHtcbiAgICBhc3NldFByZWZpeCxcbiAgICBwYXRoOiBcIi9fbmV4dC93ZWJwYWNrLWhtclwiXG59KTtcbigwLCBfZm91Yy5kaXNwbGF5Q29udGVudCkoKTtcbigwLCBfb25kZW1hbmRlbnRyaWVzY2xpZW50LmRlZmF1bHQpKGRhdGEucGFnZSk7XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFtcC1kZXYuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9mb3VjIiwiX29uZGVtYW5kZW50cmllc2NsaWVudCIsIl8iLCJfd2Vic29ja2V0IiwiZGF0YSIsIkpTT04iLCJwYXJzZSIsImRvY3VtZW50IiwiZ2V0RWxlbWVudEJ5SWQiLCJ0ZXh0Q29udGVudCIsIndpbmRvdyIsIl9fTkVYVF9EQVRBX18iLCJhc3NldFByZWZpeCIsInBhZ2UiLCJtb3N0UmVjZW50SGFzaCIsImN1ckhhc2giLCJfX3dlYnBhY2tfaGFzaF9fIiwiaG90VXBkYXRlUGF0aCIsImVuZHNXaXRoIiwiaXNVcGRhdGVBdmFpbGFibGUiLCJjYW5BcHBseVVwZGF0ZXMiLCJtb2R1bGUiLCJob3QiLCJzdGF0dXMiLCJ0cnlBcHBseVVwZGF0ZXMiLCJyZXMiLCJmZXRjaCIsIl9fd2VicGFja19ydW50aW1lX2lkX18iLCJqc29uRGF0YSIsImpzb24iLCJjdXJQYWdlIiwicGFnZVVwZGF0ZWQiLCJBcnJheSIsImlzQXJyYXkiLCJjIiwia2V5cyIsInNvbWUiLCJtb2QiLCJpbmRleE9mIiwic3RhcnRzV2l0aCIsInJlcGxhY2UiLCJsb2NhdGlvbiIsInJlbG9hZCIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsImFkZE1lc3NhZ2VMaXN0ZW5lciIsImV2ZW50IiwibWVzc2FnZSIsImFjdGlvbiIsImhhc2giLCJleCIsIndhcm4iLCJjb25uZWN0SE1SIiwicGF0aCIsImRpc3BsYXlDb250ZW50IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/amp-dev.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/dev/error-overlay/websocket.js": +/*!**********************************************************************!*\ + !*** ./node_modules/next/dist/client/dev/error-overlay/websocket.js ***! + \**********************************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 addMessageListener: function() {\n return addMessageListener;\n },\n sendMessage: function() {\n return sendMessage;\n },\n connectHMR: function() {\n return connectHMR;\n }\n});\nlet source;\nconst eventCallbacks = [];\nlet lastActivity = Date.now();\nfunction getSocketProtocol(assetPrefix) {\n let protocol = location.protocol;\n try {\n // assetPrefix is a url\n protocol = new URL(assetPrefix).protocol;\n } catch (_) {}\n return protocol === \"http:\" ? \"ws\" : \"wss\";\n}\nfunction addMessageListener(cb) {\n eventCallbacks.push(cb);\n}\nfunction sendMessage(data) {\n if (!source || source.readyState !== source.OPEN) return;\n return source.send(data);\n}\nfunction connectHMR(options) {\n if (!options.timeout) {\n options.timeout = 5 * 1000;\n }\n function init() {\n if (source) source.close();\n function handleOnline() {\n if (options.log) console.log(\"[HMR] connected\");\n lastActivity = Date.now();\n }\n function handleMessage(event) {\n lastActivity = Date.now();\n eventCallbacks.forEach((cb)=>{\n cb(event);\n });\n }\n let timer;\n function handleDisconnect() {\n clearInterval(timer);\n source.onerror = null;\n source.close();\n setTimeout(init, options.timeout);\n }\n timer = setInterval(function() {\n if (Date.now() - lastActivity > options.timeout) {\n handleDisconnect();\n }\n }, options.timeout / 2);\n const { hostname , port } = location;\n const protocol = getSocketProtocol(options.assetPrefix || \"\");\n const assetPrefix = options.assetPrefix.replace(/^\\/+/, \"\");\n let url = protocol + \"://\" + hostname + \":\" + port + (assetPrefix ? \"/\" + assetPrefix : \"\");\n if (assetPrefix.startsWith(\"http\")) {\n url = protocol + \"://\" + assetPrefix.split(\"://\")[1];\n }\n source = new window.WebSocket(\"\" + url + options.path);\n source.onopen = handleOnline;\n source.onerror = handleDisconnect;\n source.onmessage = handleMessage;\n }\n init();\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=websocket.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS93ZWJzb2NrZXQuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHLEVBQUU7SUFDMUIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVksSUFBSTtRQUNoQkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxvQkFBb0IsV0FBVztRQUMzQixPQUFPQTtJQUNYO0lBQ0FDLGFBQWEsV0FBVztRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLFlBQVksV0FBVztRQUNuQixPQUFPQTtJQUNYO0FBQ0o7QUFDQSxJQUFJTztBQUNKLE1BQU1DLGlCQUFpQixFQUFFO0FBQ3pCLElBQUlDLGVBQWVDLEtBQUtDLEdBQUc7QUFDM0IsU0FBU0Msa0JBQWtCQyxXQUFXLEVBQUU7SUFDcEMsSUFBSUMsV0FBV0MsU0FBU0QsUUFBUTtJQUNoQyxJQUFJO1FBQ0EsdUJBQXVCO1FBQ3ZCQSxXQUFXLElBQUlFLElBQUlILGFBQWFDLFFBQVE7SUFDNUMsRUFBRSxPQUFPRyxHQUFHLENBQUM7SUFDYixPQUFPSCxhQUFhLFVBQVUsT0FBTyxLQUFLO0FBQzlDO0FBQ0EsU0FBU2hCLG1CQUFtQm9CLEVBQUUsRUFBRTtJQUM1QlYsZUFBZVcsSUFBSSxDQUFDRDtBQUN4QjtBQUNBLFNBQVNuQixZQUFZcUIsSUFBSSxFQUFFO0lBQ3ZCLElBQUksQ0FBQ2IsVUFBVUEsT0FBT2MsVUFBVSxLQUFLZCxPQUFPZSxJQUFJLEVBQUU7SUFDbEQsT0FBT2YsT0FBT2dCLElBQUksQ0FBQ0g7QUFDdkI7QUFDQSxTQUFTcEIsV0FBV3dCLE9BQU8sRUFBRTtJQUN6QixJQUFJLENBQUNBLFFBQVFDLE9BQU8sRUFBRTtRQUNsQkQsUUFBUUMsT0FBTyxHQUFHLElBQUk7SUFDMUIsQ0FBQztJQUNELFNBQVNDLE9BQU87UUFDWixJQUFJbkIsUUFBUUEsT0FBT29CLEtBQUs7UUFDeEIsU0FBU0MsZUFBZTtZQUNwQixJQUFJSixRQUFRSyxHQUFHLEVBQUVDLFFBQVFELEdBQUcsQ0FBQztZQUM3QnBCLGVBQWVDLEtBQUtDLEdBQUc7UUFDM0I7UUFDQSxTQUFTb0IsY0FBY0MsS0FBSyxFQUFFO1lBQzFCdkIsZUFBZUMsS0FBS0MsR0FBRztZQUN2QkgsZUFBZXlCLE9BQU8sQ0FBQyxDQUFDZixLQUFLO2dCQUN6QkEsR0FBR2M7WUFDUDtRQUNKO1FBQ0EsSUFBSUU7UUFDSixTQUFTQyxtQkFBbUI7WUFDeEJDLGNBQWNGO1lBQ2QzQixPQUFPOEIsT0FBTyxHQUFHLElBQUk7WUFDckI5QixPQUFPb0IsS0FBSztZQUNaVyxXQUFXWixNQUFNRixRQUFRQyxPQUFPO1FBQ3BDO1FBQ0FTLFFBQVFLLFlBQVksV0FBVztZQUMzQixJQUFJN0IsS0FBS0MsR0FBRyxLQUFLRixlQUFlZSxRQUFRQyxPQUFPLEVBQUU7Z0JBQzdDVTtZQUNKLENBQUM7UUFDTCxHQUFHWCxRQUFRQyxPQUFPLEdBQUc7UUFDckIsTUFBTSxFQUFFZSxTQUFRLEVBQUdDLEtBQUksRUFBRyxHQUFHMUI7UUFDN0IsTUFBTUQsV0FBV0Ysa0JBQWtCWSxRQUFRWCxXQUFXLElBQUk7UUFDMUQsTUFBTUEsY0FBY1csUUFBUVgsV0FBVyxDQUFDNkIsT0FBTyxDQUFDLFFBQVE7UUFDeEQsSUFBSUMsTUFBTTdCLFdBQVcsUUFBUTBCLFdBQVcsTUFBTUMsT0FBUTVCLENBQUFBLGNBQWMsTUFBTUEsY0FBYyxFQUFFO1FBQzFGLElBQUlBLFlBQVkrQixVQUFVLENBQUMsU0FBUztZQUNoQ0QsTUFBTTdCLFdBQVcsUUFBUUQsWUFBWWdDLEtBQUssQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN4RCxDQUFDO1FBQ0R0QyxTQUFTLElBQUl1QyxPQUFPQyxTQUFTLENBQUMsS0FBS0osTUFBTW5CLFFBQVF3QixJQUFJO1FBQ3JEekMsT0FBTzBDLE1BQU0sR0FBR3JCO1FBQ2hCckIsT0FBTzhCLE9BQU8sR0FBR0Y7UUFDakI1QixPQUFPMkMsU0FBUyxHQUFHbkI7SUFDdkI7SUFDQUw7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPL0IsUUFBUXdELE9BQU8sS0FBSyxjQUFlLE9BQU94RCxRQUFRd0QsT0FBTyxLQUFLLFlBQVl4RCxRQUFRd0QsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPeEQsUUFBUXdELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckszRCxPQUFPQyxjQUFjLENBQUNDLFFBQVF3RCxPQUFPLEVBQUUsY0FBYztRQUFFdkQsT0FBTyxJQUFJO0lBQUM7SUFDbkVILE9BQU80RCxNQUFNLENBQUMxRCxRQUFRd0QsT0FBTyxFQUFFeEQ7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXdELE9BQU87QUFDbEMsQ0FBQyxDQUVELHFDQUFxQyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZXJyb3Itb3ZlcmxheS93ZWJzb2NrZXQuanM/YTliZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIGFkZE1lc3NhZ2VMaXN0ZW5lcjogbnVsbCxcbiAgICBzZW5kTWVzc2FnZTogbnVsbCxcbiAgICBjb25uZWN0SE1SOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIGFkZE1lc3NhZ2VMaXN0ZW5lcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBhZGRNZXNzYWdlTGlzdGVuZXI7XG4gICAgfSxcbiAgICBzZW5kTWVzc2FnZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBzZW5kTWVzc2FnZTtcbiAgICB9LFxuICAgIGNvbm5lY3RITVI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gY29ubmVjdEhNUjtcbiAgICB9XG59KTtcbmxldCBzb3VyY2U7XG5jb25zdCBldmVudENhbGxiYWNrcyA9IFtdO1xubGV0IGxhc3RBY3Rpdml0eSA9IERhdGUubm93KCk7XG5mdW5jdGlvbiBnZXRTb2NrZXRQcm90b2NvbChhc3NldFByZWZpeCkge1xuICAgIGxldCBwcm90b2NvbCA9IGxvY2F0aW9uLnByb3RvY29sO1xuICAgIHRyeSB7XG4gICAgICAgIC8vIGFzc2V0UHJlZml4IGlzIGEgdXJsXG4gICAgICAgIHByb3RvY29sID0gbmV3IFVSTChhc3NldFByZWZpeCkucHJvdG9jb2w7XG4gICAgfSBjYXRjaCAoXykge31cbiAgICByZXR1cm4gcHJvdG9jb2wgPT09IFwiaHR0cDpcIiA/IFwid3NcIiA6IFwid3NzXCI7XG59XG5mdW5jdGlvbiBhZGRNZXNzYWdlTGlzdGVuZXIoY2IpIHtcbiAgICBldmVudENhbGxiYWNrcy5wdXNoKGNiKTtcbn1cbmZ1bmN0aW9uIHNlbmRNZXNzYWdlKGRhdGEpIHtcbiAgICBpZiAoIXNvdXJjZSB8fCBzb3VyY2UucmVhZHlTdGF0ZSAhPT0gc291cmNlLk9QRU4pIHJldHVybjtcbiAgICByZXR1cm4gc291cmNlLnNlbmQoZGF0YSk7XG59XG5mdW5jdGlvbiBjb25uZWN0SE1SKG9wdGlvbnMpIHtcbiAgICBpZiAoIW9wdGlvbnMudGltZW91dCkge1xuICAgICAgICBvcHRpb25zLnRpbWVvdXQgPSA1ICogMTAwMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gaW5pdCgpIHtcbiAgICAgICAgaWYgKHNvdXJjZSkgc291cmNlLmNsb3NlKCk7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZU9ubGluZSgpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zLmxvZykgY29uc29sZS5sb2coXCJbSE1SXSBjb25uZWN0ZWRcIik7XG4gICAgICAgICAgICBsYXN0QWN0aXZpdHkgPSBEYXRlLm5vdygpO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZU1lc3NhZ2UoZXZlbnQpIHtcbiAgICAgICAgICAgIGxhc3RBY3Rpdml0eSA9IERhdGUubm93KCk7XG4gICAgICAgICAgICBldmVudENhbGxiYWNrcy5mb3JFYWNoKChjYik9PntcbiAgICAgICAgICAgICAgICBjYihldmVudCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdGltZXI7XG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZURpc2Nvbm5lY3QoKSB7XG4gICAgICAgICAgICBjbGVhckludGVydmFsKHRpbWVyKTtcbiAgICAgICAgICAgIHNvdXJjZS5vbmVycm9yID0gbnVsbDtcbiAgICAgICAgICAgIHNvdXJjZS5jbG9zZSgpO1xuICAgICAgICAgICAgc2V0VGltZW91dChpbml0LCBvcHRpb25zLnRpbWVvdXQpO1xuICAgICAgICB9XG4gICAgICAgIHRpbWVyID0gc2V0SW50ZXJ2YWwoZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBpZiAoRGF0ZS5ub3coKSAtIGxhc3RBY3Rpdml0eSA+IG9wdGlvbnMudGltZW91dCkge1xuICAgICAgICAgICAgICAgIGhhbmRsZURpc2Nvbm5lY3QoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSwgb3B0aW9ucy50aW1lb3V0IC8gMik7XG4gICAgICAgIGNvbnN0IHsgaG9zdG5hbWUgLCBwb3J0ICB9ID0gbG9jYXRpb247XG4gICAgICAgIGNvbnN0IHByb3RvY29sID0gZ2V0U29ja2V0UHJvdG9jb2wob3B0aW9ucy5hc3NldFByZWZpeCB8fCBcIlwiKTtcbiAgICAgICAgY29uc3QgYXNzZXRQcmVmaXggPSBvcHRpb25zLmFzc2V0UHJlZml4LnJlcGxhY2UoL15cXC8rLywgXCJcIik7XG4gICAgICAgIGxldCB1cmwgPSBwcm90b2NvbCArIFwiOi8vXCIgKyBob3N0bmFtZSArIFwiOlwiICsgcG9ydCArIChhc3NldFByZWZpeCA/IFwiL1wiICsgYXNzZXRQcmVmaXggOiBcIlwiKTtcbiAgICAgICAgaWYgKGFzc2V0UHJlZml4LnN0YXJ0c1dpdGgoXCJodHRwXCIpKSB7XG4gICAgICAgICAgICB1cmwgPSBwcm90b2NvbCArIFwiOi8vXCIgKyBhc3NldFByZWZpeC5zcGxpdChcIjovL1wiKVsxXTtcbiAgICAgICAgfVxuICAgICAgICBzb3VyY2UgPSBuZXcgd2luZG93LldlYlNvY2tldChcIlwiICsgdXJsICsgb3B0aW9ucy5wYXRoKTtcbiAgICAgICAgc291cmNlLm9ub3BlbiA9IGhhbmRsZU9ubGluZTtcbiAgICAgICAgc291cmNlLm9uZXJyb3IgPSBoYW5kbGVEaXNjb25uZWN0O1xuICAgICAgICBzb3VyY2Uub25tZXNzYWdlID0gaGFuZGxlTWVzc2FnZTtcbiAgICB9XG4gICAgaW5pdCgpO1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD13ZWJzb2NrZXQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwic2VuZE1lc3NhZ2UiLCJjb25uZWN0SE1SIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic291cmNlIiwiZXZlbnRDYWxsYmFja3MiLCJsYXN0QWN0aXZpdHkiLCJEYXRlIiwibm93IiwiZ2V0U29ja2V0UHJvdG9jb2wiLCJhc3NldFByZWZpeCIsInByb3RvY29sIiwibG9jYXRpb24iLCJVUkwiLCJfIiwiY2IiLCJwdXNoIiwiZGF0YSIsInJlYWR5U3RhdGUiLCJPUEVOIiwic2VuZCIsIm9wdGlvbnMiLCJ0aW1lb3V0IiwiaW5pdCIsImNsb3NlIiwiaGFuZGxlT25saW5lIiwibG9nIiwiY29uc29sZSIsImhhbmRsZU1lc3NhZ2UiLCJldmVudCIsImZvckVhY2giLCJ0aW1lciIsImhhbmRsZURpc2Nvbm5lY3QiLCJjbGVhckludGVydmFsIiwib25lcnJvciIsInNldFRpbWVvdXQiLCJzZXRJbnRlcnZhbCIsImhvc3RuYW1lIiwicG9ydCIsInJlcGxhY2UiLCJ1cmwiLCJzdGFydHNXaXRoIiwic3BsaXQiLCJ3aW5kb3ciLCJXZWJTb2NrZXQiLCJwYXRoIiwib25vcGVuIiwib25tZXNzYWdlIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/error-overlay/websocket.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/dev/fouc.js": +/*!***************************************************!*\ + !*** ./node_modules/next/dist/client/dev/fouc.js ***! + \***************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("// This wrapper function is used to safely select the best available function\n// to schedule removal of the no-FOUC styles workaround. requestAnimationFrame\n// is the ideal choice, but when used in iframes, there are no guarantees that\n// the callback will actually be called, which could stall the promise returned\n// from displayContent.\n//\n// See: https://www.vector-logic.com/blog/posts/on-request-animation-frame-and-embedded-iframes\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"displayContent\", ({\n enumerable: true,\n get: function() {\n return displayContent;\n }\n}));\nconst safeCallbackQueue = (callback)=>{\n if (window.requestAnimationFrame && window.self === window.top) {\n window.requestAnimationFrame(callback);\n } else {\n window.setTimeout(callback);\n }\n};\nfunction displayContent() {\n return new Promise((resolve)=>{\n safeCallbackQueue(function() {\n for(var x = document.querySelectorAll(\"[data-next-hide-fouc]\"), i = x.length; i--;){\n x[i].parentNode.removeChild(x[i]);\n }\n resolve();\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=fouc.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvZm91Yy5qcy5qcyIsIm1hcHBpbmdzIjoiQUFBQSw2RUFBNkU7QUFDN0UsOEVBQThFO0FBQzlFLDhFQUE4RTtBQUM5RSwrRUFBK0U7QUFDL0UsdUJBQXVCO0FBQ3ZCLEVBQUU7QUFDRiwrRkFBK0Y7QUFDbEY7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRkgsa0RBQWlEO0lBQzdDSSxZQUFZLElBQUk7SUFDaEJDLEtBQUssV0FBVztRQUNaLE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxvQkFBb0IsQ0FBQ0MsV0FBVztJQUNsQyxJQUFJQyxPQUFPQyxxQkFBcUIsSUFBSUQsT0FBT0UsSUFBSSxLQUFLRixPQUFPRyxHQUFHLEVBQUU7UUFDNURILE9BQU9DLHFCQUFxQixDQUFDRjtJQUNqQyxPQUFPO1FBQ0hDLE9BQU9JLFVBQVUsQ0FBQ0w7SUFDdEIsQ0FBQztBQUNMO0FBQ0EsU0FBU0YsaUJBQWlCO0lBQ3RCLE9BQU8sSUFBSVEsUUFBUSxDQUFDQyxVQUFVO1FBQzFCUixrQkFBa0IsV0FBVztZQUN6QixJQUFJLElBQUlTLElBQUlDLFNBQVNDLGdCQUFnQixDQUFDLDBCQUEwQkMsSUFBSUgsRUFBRUksTUFBTSxFQUFFRCxLQUFLO2dCQUMvRUgsQ0FBQyxDQUFDRyxFQUFFLENBQUNFLFVBQVUsQ0FBQ0MsV0FBVyxDQUFDTixDQUFDLENBQUNHLEVBQUU7WUFDcEM7WUFDQUo7UUFDSjtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT2IsUUFBUXFCLE9BQU8sS0FBSyxjQUFlLE9BQU9yQixRQUFRcUIsT0FBTyxLQUFLLFlBQVlyQixRQUFRcUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPckIsUUFBUXFCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDckt4QixPQUFPQyxjQUFjLENBQUNDLFFBQVFxQixPQUFPLEVBQUUsY0FBYztRQUFFcEIsT0FBTyxJQUFJO0lBQUM7SUFDbkVILE9BQU95QixNQUFNLENBQUN2QixRQUFRcUIsT0FBTyxFQUFFckI7SUFDL0J3QixPQUFPeEIsT0FBTyxHQUFHQSxRQUFRcUIsT0FBTztBQUNsQyxDQUFDLENBRUQsZ0NBQWdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2Rldi9mb3VjLmpzPzAwODciXSwic291cmNlc0NvbnRlbnQiOlsiLy8gVGhpcyB3cmFwcGVyIGZ1bmN0aW9uIGlzIHVzZWQgdG8gc2FmZWx5IHNlbGVjdCB0aGUgYmVzdCBhdmFpbGFibGUgZnVuY3Rpb25cbi8vIHRvIHNjaGVkdWxlIHJlbW92YWwgb2YgdGhlIG5vLUZPVUMgc3R5bGVzIHdvcmthcm91bmQuIHJlcXVlc3RBbmltYXRpb25GcmFtZVxuLy8gaXMgdGhlIGlkZWFsIGNob2ljZSwgYnV0IHdoZW4gdXNlZCBpbiBpZnJhbWVzLCB0aGVyZSBhcmUgbm8gZ3VhcmFudGVlcyB0aGF0XG4vLyB0aGUgY2FsbGJhY2sgd2lsbCBhY3R1YWxseSBiZSBjYWxsZWQsIHdoaWNoIGNvdWxkIHN0YWxsIHRoZSBwcm9taXNlIHJldHVybmVkXG4vLyBmcm9tIGRpc3BsYXlDb250ZW50LlxuLy9cbi8vIFNlZTogaHR0cHM6Ly93d3cudmVjdG9yLWxvZ2ljLmNvbS9ibG9nL3Bvc3RzL29uLXJlcXVlc3QtYW5pbWF0aW9uLWZyYW1lLWFuZC1lbWJlZGRlZC1pZnJhbWVzXG5cInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRpc3BsYXlDb250ZW50XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBkaXNwbGF5Q29udGVudDtcbiAgICB9XG59KTtcbmNvbnN0IHNhZmVDYWxsYmFja1F1ZXVlID0gKGNhbGxiYWNrKT0+e1xuICAgIGlmICh3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lICYmIHdpbmRvdy5zZWxmID09PSB3aW5kb3cudG9wKSB7XG4gICAgICAgIHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUoY2FsbGJhY2spO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KGNhbGxiYWNrKTtcbiAgICB9XG59O1xuZnVuY3Rpb24gZGlzcGxheUNvbnRlbnQoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlKT0+e1xuICAgICAgICBzYWZlQ2FsbGJhY2tRdWV1ZShmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGZvcih2YXIgeCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoXCJbZGF0YS1uZXh0LWhpZGUtZm91Y11cIiksIGkgPSB4Lmxlbmd0aDsgaS0tOyl7XG4gICAgICAgICAgICAgICAgeFtpXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHhbaV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9Zm91Yy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiZGlzcGxheUNvbnRlbnQiLCJzYWZlQ2FsbGJhY2tRdWV1ZSIsImNhbGxiYWNrIiwid2luZG93IiwicmVxdWVzdEFuaW1hdGlvbkZyYW1lIiwic2VsZiIsInRvcCIsInNldFRpbWVvdXQiLCJQcm9taXNlIiwicmVzb2x2ZSIsIngiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJpIiwibGVuZ3RoIiwicGFyZW50Tm9kZSIsInJlbW92ZUNoaWxkIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/fouc.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/dev/on-demand-entries-client.js": +/*!***********************************************************************!*\ + !*** ./node_modules/next/dist/client/dev/on-demand-entries-client.js ***! + \***********************************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../router */ \"./node_modules/next/dist/client/router.js\"));\nconst _websocket = __webpack_require__(/*! ./error-overlay/websocket */ \"./node_modules/next/dist/client/dev/error-overlay/websocket.js\");\nconst _default = async (page)=>{\n if (page) {\n // in AMP the router isn't initialized on the client and\n // client-transitions don't occur so ping initial page\n setInterval(()=>{\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page\n }));\n }, 2500);\n } else {\n _router.default.ready(()=>{\n setInterval(()=>{\n // when notFound: true is returned we should use the notFoundPage\n // as the Router.pathname will point to the 404 page but we want\n // to ping the source page that returned notFound: true instead\n const notFoundSrcPage = self.__NEXT_DATA__.notFoundSrcPage;\n const pathname = (_router.default.pathname === \"/404\" || _router.default.pathname === \"/_error\") && notFoundSrcPage ? notFoundSrcPage : _router.default.pathname;\n (0, _websocket.sendMessage)(JSON.stringify({\n event: \"ping\",\n page: pathname\n }));\n }, 2500);\n });\n }\n (0, _websocket.addMessageListener)((event)=>{\n if (!event.data.includes(\"{\")) return;\n try {\n const payload = JSON.parse(event.data);\n // don't attempt fetching the page if we're already showing\n // the dev overlay as this can cause the error to be triggered\n // repeatedly\n if (payload.event === \"pong\" && payload.invalid && !self.__NEXT_DATA__.err) {\n // Payload can be invalid even if the page does exist.\n // So, we check if it can be created.\n fetch(location.href, {\n credentials: \"same-origin\"\n }).then((pageRes)=>{\n if (pageRes.status === 200) {\n // Page exists now, reload\n location.reload();\n } else {\n // Page doesn't exist\n if (self.__NEXT_DATA__.page === _router.default.pathname && _router.default.pathname !== \"/_error\") {\n // We are still on the page,\n // reload to show 404 error page\n location.reload();\n }\n }\n });\n }\n } catch (err) {\n console.error(\"on-demand-entries failed to parse response\", err);\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=on-demand-entries-client.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0ZILDJDQUEwQztJQUN0Q0ksWUFBWSxJQUFJO0lBQ2hCQyxLQUFLLFdBQVc7UUFDWixPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMsVUFBVSxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyw0REFBVztBQUM1RSxNQUFNRyxhQUFhSCxtQkFBT0EsQ0FBQyxpR0FBMkI7QUFDdEQsTUFBTUYsV0FBVyxPQUFPTSxPQUFPO0lBQzNCLElBQUlBLE1BQU07UUFDTix3REFBd0Q7UUFDeEQsc0RBQXNEO1FBQ3REQyxZQUFZLElBQUk7WUFDWCxJQUFHRixXQUFXRyxXQUFXLEVBQUVDLEtBQUtDLFNBQVMsQ0FBQztnQkFDdkNDLE9BQU87Z0JBQ1BMO1lBQ0o7UUFDSixHQUFHO0lBQ1AsT0FBTztRQUNISCxRQUFRUyxPQUFPLENBQUNDLEtBQUssQ0FBQyxJQUFJO1lBQ3RCTixZQUFZLElBQUk7Z0JBQ1osaUVBQWlFO2dCQUNqRSxnRUFBZ0U7Z0JBQ2hFLCtEQUErRDtnQkFDL0QsTUFBTU8sa0JBQWtCQyxLQUFLQyxhQUFhLENBQUNGLGVBQWU7Z0JBQzFELE1BQU1HLFdBQVcsQ0FBQ2QsUUFBUVMsT0FBTyxDQUFDSyxRQUFRLEtBQUssVUFBVWQsUUFBUVMsT0FBTyxDQUFDSyxRQUFRLEtBQUssU0FBUSxLQUFNSCxrQkFBa0JBLGtCQUFrQlgsUUFBUVMsT0FBTyxDQUFDSyxRQUFRO2dCQUMvSixJQUFHWixXQUFXRyxXQUFXLEVBQUVDLEtBQUtDLFNBQVMsQ0FBQztvQkFDdkNDLE9BQU87b0JBQ1BMLE1BQU1XO2dCQUNWO1lBQ0osR0FBRztRQUNQO0lBQ0osQ0FBQztJQUNBLElBQUdaLFdBQVdhLGtCQUFrQixFQUFFLENBQUNQLFFBQVE7UUFDeEMsSUFBSSxDQUFDQSxNQUFNUSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxNQUFNO1FBQy9CLElBQUk7WUFDQSxNQUFNQyxVQUFVWixLQUFLYSxLQUFLLENBQUNYLE1BQU1RLElBQUk7WUFDckMsMkRBQTJEO1lBQzNELDhEQUE4RDtZQUM5RCxhQUFhO1lBQ2IsSUFBSUUsUUFBUVYsS0FBSyxLQUFLLFVBQVVVLFFBQVFFLE9BQU8sSUFBSSxDQUFDUixLQUFLQyxhQUFhLENBQUNRLEdBQUcsRUFBRTtnQkFDeEUsc0RBQXNEO2dCQUN0RCxxQ0FBcUM7Z0JBQ3JDQyxNQUFNQyxTQUFTQyxJQUFJLEVBQUU7b0JBQ2pCQyxhQUFhO2dCQUNqQixHQUFHQyxJQUFJLENBQUMsQ0FBQ0MsVUFBVTtvQkFDZixJQUFJQSxRQUFRQyxNQUFNLEtBQUssS0FBSzt3QkFDeEIsMEJBQTBCO3dCQUMxQkwsU0FBU00sTUFBTTtvQkFDbkIsT0FBTzt3QkFDSCxxQkFBcUI7d0JBQ3JCLElBQUlqQixLQUFLQyxhQUFhLENBQUNWLElBQUksS0FBS0gsUUFBUVMsT0FBTyxDQUFDSyxRQUFRLElBQUlkLFFBQVFTLE9BQU8sQ0FBQ0ssUUFBUSxLQUFLLFdBQVc7NEJBQ2hHLDRCQUE0Qjs0QkFDNUIsZ0NBQWdDOzRCQUNoQ1MsU0FBU00sTUFBTTt3QkFDbkIsQ0FBQztvQkFDTCxDQUFDO2dCQUNMO1lBQ0osQ0FBQztRQUNMLEVBQUUsT0FBT1IsS0FBSztZQUNWUyxRQUFRQyxLQUFLLENBQUMsOENBQThDVjtRQUNoRTtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBTzVCLFFBQVFnQixPQUFPLEtBQUssY0FBZSxPQUFPaEIsUUFBUWdCLE9BQU8sS0FBSyxZQUFZaEIsUUFBUWdCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2hCLFFBQVFnQixPQUFPLENBQUN1QixVQUFVLEtBQUssYUFBYTtJQUNyS3pDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWdCLE9BQU8sRUFBRSxjQUFjO1FBQUVmLE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPMEMsTUFBTSxDQUFDeEMsUUFBUWdCLE9BQU8sRUFBRWhCO0lBQy9CeUMsT0FBT3pDLE9BQU8sR0FBR0EsUUFBUWdCLE9BQU87QUFDbEMsQ0FBQyxDQUVELG9EQUFvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9kZXYvb24tZGVtYW5kLWVudHJpZXMtY2xpZW50LmpzPzg0NWMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJkZWZhdWx0XCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfZGVmYXVsdDtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfcm91dGVyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vcm91dGVyXCIpKTtcbmNvbnN0IF93ZWJzb2NrZXQgPSByZXF1aXJlKFwiLi9lcnJvci1vdmVybGF5L3dlYnNvY2tldFwiKTtcbmNvbnN0IF9kZWZhdWx0ID0gYXN5bmMgKHBhZ2UpPT57XG4gICAgaWYgKHBhZ2UpIHtcbiAgICAgICAgLy8gaW4gQU1QIHRoZSByb3V0ZXIgaXNuJ3QgaW5pdGlhbGl6ZWQgb24gdGhlIGNsaWVudCBhbmRcbiAgICAgICAgLy8gY2xpZW50LXRyYW5zaXRpb25zIGRvbid0IG9jY3VyIHNvIHBpbmcgaW5pdGlhbCBwYWdlXG4gICAgICAgIHNldEludGVydmFsKCgpPT57XG4gICAgICAgICAgICAoMCwgX3dlYnNvY2tldC5zZW5kTWVzc2FnZSkoSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgICAgIGV2ZW50OiBcInBpbmdcIixcbiAgICAgICAgICAgICAgICBwYWdlXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH0sIDI1MDApO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIF9yb3V0ZXIuZGVmYXVsdC5yZWFkeSgoKT0+e1xuICAgICAgICAgICAgc2V0SW50ZXJ2YWwoKCk9PntcbiAgICAgICAgICAgICAgICAvLyB3aGVuIG5vdEZvdW5kOiB0cnVlIGlzIHJldHVybmVkIHdlIHNob3VsZCB1c2UgdGhlIG5vdEZvdW5kUGFnZVxuICAgICAgICAgICAgICAgIC8vIGFzIHRoZSBSb3V0ZXIucGF0aG5hbWUgd2lsbCBwb2ludCB0byB0aGUgNDA0IHBhZ2UgYnV0IHdlIHdhbnRcbiAgICAgICAgICAgICAgICAvLyB0byBwaW5nIHRoZSBzb3VyY2UgcGFnZSB0aGF0IHJldHVybmVkIG5vdEZvdW5kOiB0cnVlIGluc3RlYWRcbiAgICAgICAgICAgICAgICBjb25zdCBub3RGb3VuZFNyY1BhZ2UgPSBzZWxmLl9fTkVYVF9EQVRBX18ubm90Rm91bmRTcmNQYWdlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhdGhuYW1lID0gKF9yb3V0ZXIuZGVmYXVsdC5wYXRobmFtZSA9PT0gXCIvNDA0XCIgfHwgX3JvdXRlci5kZWZhdWx0LnBhdGhuYW1lID09PSBcIi9fZXJyb3JcIikgJiYgbm90Rm91bmRTcmNQYWdlID8gbm90Rm91bmRTcmNQYWdlIDogX3JvdXRlci5kZWZhdWx0LnBhdGhuYW1lO1xuICAgICAgICAgICAgICAgICgwLCBfd2Vic29ja2V0LnNlbmRNZXNzYWdlKShKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcInBpbmdcIixcbiAgICAgICAgICAgICAgICAgICAgcGFnZTogcGF0aG5hbWVcbiAgICAgICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICB9LCAyNTAwKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgICgwLCBfd2Vic29ja2V0LmFkZE1lc3NhZ2VMaXN0ZW5lcikoKGV2ZW50KT0+e1xuICAgICAgICBpZiAoIWV2ZW50LmRhdGEuaW5jbHVkZXMoXCJ7XCIpKSByZXR1cm47XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBwYXlsb2FkID0gSlNPTi5wYXJzZShldmVudC5kYXRhKTtcbiAgICAgICAgICAgIC8vIGRvbid0IGF0dGVtcHQgZmV0Y2hpbmcgdGhlIHBhZ2UgaWYgd2UncmUgYWxyZWFkeSBzaG93aW5nXG4gICAgICAgICAgICAvLyB0aGUgZGV2IG92ZXJsYXkgYXMgdGhpcyBjYW4gY2F1c2UgdGhlIGVycm9yIHRvIGJlIHRyaWdnZXJlZFxuICAgICAgICAgICAgLy8gcmVwZWF0ZWRseVxuICAgICAgICAgICAgaWYgKHBheWxvYWQuZXZlbnQgPT09IFwicG9uZ1wiICYmIHBheWxvYWQuaW52YWxpZCAmJiAhc2VsZi5fX05FWFRfREFUQV9fLmVycikge1xuICAgICAgICAgICAgICAgIC8vIFBheWxvYWQgY2FuIGJlIGludmFsaWQgZXZlbiBpZiB0aGUgcGFnZSBkb2VzIGV4aXN0LlxuICAgICAgICAgICAgICAgIC8vIFNvLCB3ZSBjaGVjayBpZiBpdCBjYW4gYmUgY3JlYXRlZC5cbiAgICAgICAgICAgICAgICBmZXRjaChsb2NhdGlvbi5ocmVmLCB7XG4gICAgICAgICAgICAgICAgICAgIGNyZWRlbnRpYWxzOiBcInNhbWUtb3JpZ2luXCJcbiAgICAgICAgICAgICAgICB9KS50aGVuKChwYWdlUmVzKT0+e1xuICAgICAgICAgICAgICAgICAgICBpZiAocGFnZVJlcy5zdGF0dXMgPT09IDIwMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFnZSBleGlzdHMgbm93LCByZWxvYWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gUGFnZSBkb2Vzbid0IGV4aXN0XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fX05FWFRfREFUQV9fLnBhZ2UgPT09IF9yb3V0ZXIuZGVmYXVsdC5wYXRobmFtZSAmJiBfcm91dGVyLmRlZmF1bHQucGF0aG5hbWUgIT09IFwiL19lcnJvclwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2UgYXJlIHN0aWxsIG9uIHRoZSBwYWdlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHJlbG9hZCB0byBzaG93IDQwNCBlcnJvciBwYWdlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwib24tZGVtYW5kLWVudHJpZXMgZmFpbGVkIHRvIHBhcnNlIHJlc3BvbnNlXCIsIGVycik7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW9uLWRlbWFuZC1lbnRyaWVzLWNsaWVudC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX3JvdXRlciIsIl8iLCJfd2Vic29ja2V0IiwicGFnZSIsInNldEludGVydmFsIiwic2VuZE1lc3NhZ2UiLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJkZWZhdWx0IiwicmVhZHkiLCJub3RGb3VuZFNyY1BhZ2UiLCJzZWxmIiwiX19ORVhUX0RBVEFfXyIsInBhdGhuYW1lIiwiYWRkTWVzc2FnZUxpc3RlbmVyIiwiZGF0YSIsImluY2x1ZGVzIiwicGF5bG9hZCIsInBhcnNlIiwiaW52YWxpZCIsImVyciIsImZldGNoIiwibG9jYXRpb24iLCJocmVmIiwiY3JlZGVudGlhbHMiLCJ0aGVuIiwicGFnZVJlcyIsInN0YXR1cyIsInJlbG9hZCIsImNvbnNvbGUiLCJlcnJvciIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/dev/on-demand-entries-client.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/has-base-path.js": +/*!********************************************************!*\ + !*** ./node_modules/next/dist/client/has-base-path.js ***! + \********************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 */ \"./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\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oYXMtYmFzZS1wYXRoLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0ZILCtDQUE4QztJQUMxQ0ksWUFBWSxJQUFJO0lBQ2hCQyxLQUFLLFdBQVc7UUFDWixPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUJBQWlCQyxtQkFBT0EsQ0FBQyx1SEFBNEM7QUFDM0UsTUFBTUMsV0FBV0MsTUFBa0MsSUFBSTtBQUN2RCxTQUFTSixZQUFZTyxJQUFJLEVBQUU7SUFDdkIsT0FBTyxDQUFDLEdBQUdOLGVBQWVPLGFBQWEsRUFBRUQsTUFBTUo7QUFDbkQ7QUFFQSxJQUFJLENBQUMsT0FBT1AsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWEsT0FBTyxFQUFFLGNBQWM7UUFBRVosT0FBTyxJQUFJO0lBQUM7SUFDbkVILE9BQU9pQixNQUFNLENBQUNmLFFBQVFhLE9BQU8sRUFBRWI7SUFDL0JnQixPQUFPaEIsT0FBTyxHQUFHQSxRQUFRYSxPQUFPO0FBQ2xDLENBQUMsQ0FFRCx5Q0FBeUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvaGFzLWJhc2UtcGF0aC5qcz81YTQ5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiaGFzQmFzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGhhc0Jhc2VQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX3BhdGhoYXNwcmVmaXggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGF0aC1oYXMtcHJlZml4XCIpO1xuY29uc3QgYmFzZVBhdGggPSBwcm9jZXNzLmVudi5fX05FWFRfUk9VVEVSX0JBU0VQQVRIIHx8IFwiXCI7XG5mdW5jdGlvbiBoYXNCYXNlUGF0aChwYXRoKSB7XG4gICAgcmV0dXJuICgwLCBfcGF0aGhhc3ByZWZpeC5wYXRoSGFzUHJlZml4KShwYXRoLCBiYXNlUGF0aCk7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhhcy1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImhhc0Jhc2VQYXRoIiwiX3BhdGhoYXNwcmVmaXgiLCJyZXF1aXJlIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJwYXRoSGFzUHJlZml4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/has-base-path.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/head-manager.js": +/*!*******************************************************!*\ + !*** ./node_modules/next/dist/client/head-manager.js ***! + \*******************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 DOMAttributeNames: function() {\n return DOMAttributeNames;\n },\n isEqualNode: function() {\n return isEqualNode;\n },\n default: function() {\n return initHeadManager;\n }\n});\nconst DOMAttributeNames = {\n acceptCharset: \"accept-charset\",\n className: \"class\",\n htmlFor: \"for\",\n httpEquiv: \"http-equiv\",\n noModule: \"noModule\"\n};\nfunction reactElementToDOM(param) {\n let { type , props } = param;\n const el = document.createElement(type);\n for(const p in props){\n if (!props.hasOwnProperty(p)) continue;\n if (p === \"children\" || p === \"dangerouslySetInnerHTML\") continue;\n // we don't render undefined props to the DOM\n if (props[p] === undefined) continue;\n const attr = DOMAttributeNames[p] || p.toLowerCase();\n if (type === \"script\" && (attr === \"async\" || attr === \"defer\" || attr === \"noModule\")) {\n el[attr] = !!props[p];\n } else {\n el.setAttribute(attr, props[p]);\n }\n }\n const { children , dangerouslySetInnerHTML } = props;\n if (dangerouslySetInnerHTML) {\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n return el;\n}\nfunction isEqualNode(oldTag, newTag) {\n if (oldTag instanceof HTMLElement && newTag instanceof HTMLElement) {\n const nonce = newTag.getAttribute(\"nonce\");\n // Only strip the nonce if `oldTag` has had it stripped. An element's nonce attribute will not\n // be stripped if there is no content security policy response header that includes a nonce.\n if (nonce && !oldTag.getAttribute(\"nonce\")) {\n const cloneTag = newTag.cloneNode(true);\n cloneTag.setAttribute(\"nonce\", \"\");\n cloneTag.nonce = nonce;\n return nonce === oldTag.nonce && oldTag.isEqualNode(cloneTag);\n }\n }\n return oldTag.isEqualNode(newTag);\n}\nlet updateElements;\nif (false) {} else {\n updateElements = (type, components)=>{\n const headEl = document.getElementsByTagName(\"head\")[0];\n const headCountEl = headEl.querySelector(\"meta[name=next-head-count]\");\n if (true) {\n if (!headCountEl) {\n console.error(\"Warning: next-head-count is missing. https://nextjs.org/docs/messages/next-head-count-missing\");\n return;\n }\n }\n const headCount = Number(headCountEl.content);\n const oldTags = [];\n for(let i = 0, j = headCountEl.previousElementSibling; i < headCount; i++, j = (j == null ? void 0 : j.previousElementSibling) || null){\n var _j_tagName;\n if ((j == null ? void 0 : (_j_tagName = j.tagName) == null ? void 0 : _j_tagName.toLowerCase()) === type) {\n oldTags.push(j);\n }\n }\n const newTags = components.map(reactElementToDOM).filter((newTag)=>{\n for(let k = 0, len = oldTags.length; k < len; k++){\n const oldTag = oldTags[k];\n if (isEqualNode(oldTag, newTag)) {\n oldTags.splice(k, 1);\n return false;\n }\n }\n return true;\n });\n oldTags.forEach((t)=>{\n var _t_parentNode;\n return (_t_parentNode = t.parentNode) == null ? void 0 : _t_parentNode.removeChild(t);\n });\n newTags.forEach((t)=>headEl.insertBefore(t, headCountEl));\n headCountEl.content = (headCount - oldTags.length + newTags.length).toString();\n };\n}\nfunction initHeadManager() {\n return {\n mountedInstances: new Set(),\n updateHead: (head)=>{\n const tags = {};\n head.forEach((h)=>{\n if (// it won't be inlined. In this case revert to the original behavior\n h.type === \"link\" && h.props[\"data-optimized-fonts\"]) {\n if (document.querySelector('style[data-href=\"' + h.props[\"data-href\"] + '\"]')) {\n return;\n } else {\n h.props.href = h.props[\"data-href\"];\n h.props[\"data-href\"] = undefined;\n }\n }\n const components = tags[h.type] || [];\n components.push(h);\n tags[h.type] = components;\n });\n const titleComponent = tags.title ? tags.title[0] : null;\n let title = \"\";\n if (titleComponent) {\n const { children } = titleComponent.props;\n title = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n }\n if (title !== document.title) document.title = title;\n [\n \"meta\",\n \"base\",\n \"link\",\n \"style\",\n \"script\"\n ].forEach((type)=>{\n updateElements(type, tags[type] || []);\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=head-manager.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9oZWFkLW1hbmFnZXIuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUlOO0FBQ0EsU0FBU0ksUUFBUUMsTUFBTSxFQUFFQyxHQUFHLEVBQUU7SUFDMUIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVksSUFBSTtRQUNoQkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRyxtQkFBbUIsV0FBVztRQUMxQixPQUFPQTtJQUNYO0lBQ0FDLGFBQWEsV0FBVztRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLFNBQVMsV0FBVztRQUNoQixPQUFPTztJQUNYO0FBQ0o7QUFDQSxNQUFNVCxvQkFBb0I7SUFDdEJVLGVBQWU7SUFDZkMsV0FBVztJQUNYQyxTQUFTO0lBQ1RDLFdBQVc7SUFDWEMsVUFBVTtBQUNkO0FBQ0EsU0FBU0Msa0JBQWtCQyxLQUFLLEVBQUU7SUFDOUIsSUFBSSxFQUFFQyxLQUFJLEVBQUdDLE1BQUssRUFBRyxHQUFHRjtJQUN4QixNQUFNRyxLQUFLQyxTQUFTQyxhQUFhLENBQUNKO0lBQ2xDLElBQUksTUFBTUssS0FBS0osTUFBTTtRQUNqQixJQUFJLENBQUNBLE1BQU1LLGNBQWMsQ0FBQ0QsSUFBSSxRQUFTO1FBQ3ZDLElBQUlBLE1BQU0sY0FBY0EsTUFBTSwyQkFBMkIsUUFBUztRQUNsRSw2Q0FBNkM7UUFDN0MsSUFBSUosS0FBSyxDQUFDSSxFQUFFLEtBQUtFLFdBQVcsUUFBUztRQUNyQyxNQUFNQyxPQUFPekIsaUJBQWlCLENBQUNzQixFQUFFLElBQUlBLEVBQUVJLFdBQVc7UUFDbEQsSUFBSVQsU0FBUyxZQUFhUSxDQUFBQSxTQUFTLFdBQVdBLFNBQVMsV0FBV0EsU0FBUyxVQUFTLEdBQUk7WUFDcEZOLEVBQUUsQ0FBQ00sS0FBSyxHQUFHLENBQUMsQ0FBQ1AsS0FBSyxDQUFDSSxFQUFFO1FBQ3pCLE9BQU87WUFDSEgsR0FBR1EsWUFBWSxDQUFDRixNQUFNUCxLQUFLLENBQUNJLEVBQUU7UUFDbEMsQ0FBQztJQUNMO0lBQ0EsTUFBTSxFQUFFTSxTQUFRLEVBQUdDLHdCQUF1QixFQUFHLEdBQUdYO0lBQ2hELElBQUlXLHlCQUF5QjtRQUN6QlYsR0FBR1csU0FBUyxHQUFHRCx3QkFBd0JFLE1BQU0sSUFBSTtJQUNyRCxPQUFPLElBQUlILFVBQVU7UUFDakJULEdBQUdhLFdBQVcsR0FBRyxPQUFPSixhQUFhLFdBQVdBLFdBQVdLLE1BQU1DLE9BQU8sQ0FBQ04sWUFBWUEsU0FBU08sSUFBSSxDQUFDLE1BQU0sRUFBRTtJQUMvRyxDQUFDO0lBQ0QsT0FBT2hCO0FBQ1g7QUFDQSxTQUFTbEIsWUFBWW1DLE1BQU0sRUFBRUMsTUFBTSxFQUFFO0lBQ2pDLElBQUlELGtCQUFrQkUsZUFBZUQsa0JBQWtCQyxhQUFhO1FBQ2hFLE1BQU1DLFFBQVFGLE9BQU9HLFlBQVksQ0FBQztRQUNsQyw4RkFBOEY7UUFDOUYsNEZBQTRGO1FBQzVGLElBQUlELFNBQVMsQ0FBQ0gsT0FBT0ksWUFBWSxDQUFDLFVBQVU7WUFDeEMsTUFBTUMsV0FBV0osT0FBT0ssU0FBUyxDQUFDLElBQUk7WUFDdENELFNBQVNkLFlBQVksQ0FBQyxTQUFTO1lBQy9CYyxTQUFTRixLQUFLLEdBQUdBO1lBQ2pCLE9BQU9BLFVBQVVILE9BQU9HLEtBQUssSUFBSUgsT0FBT25DLFdBQVcsQ0FBQ3dDO1FBQ3hELENBQUM7SUFDTCxDQUFDO0lBQ0QsT0FBT0wsT0FBT25DLFdBQVcsQ0FBQ29DO0FBQzlCO0FBQ0EsSUFBSU07QUFDSixJQUFJQyxLQUFtQyxFQUFFLEVBbUR4QyxNQUFNO0lBQ0hELGlCQUFpQixDQUFDMUIsTUFBTThCLGFBQWE7UUFDakMsTUFBTUMsU0FBUzVCLFNBQVMyRCxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsRUFBRTtRQUN2RCxNQUFNQyxjQUFjaEMsT0FBT0MsYUFBYSxDQUFDO1FBQ3pDLElBQUlMLElBQXFDLEVBQUU7WUFDdkMsSUFBSSxDQUFDb0MsYUFBYTtnQkFDZEMsUUFBUUMsS0FBSyxDQUFDO2dCQUNkO1lBQ0osQ0FBQztRQUNMLENBQUM7UUFDRCxNQUFNQyxZQUFZQyxPQUFPSixZQUFZSCxPQUFPO1FBQzVDLE1BQU16QixVQUFVLEVBQUU7UUFDbEIsSUFBSSxJQUFJRyxJQUFJLEdBQUc4QixJQUFJTCxZQUFZTSxzQkFBc0IsRUFBRS9CLElBQUk0QixXQUFXNUIsS0FBSzhCLElBQUksQ0FBQ0EsS0FBSyxJQUFJLEdBQUcsS0FBSyxJQUFJQSxFQUFFQyxzQkFBc0IsS0FBSyxJQUFJLENBQUM7WUFDbkksSUFBSUM7WUFDSixJQUFJLENBQUNGLEtBQUssSUFBSSxHQUFHLEtBQUssSUFBSSxDQUFDRSxhQUFhRixFQUFFeEIsT0FBTyxLQUFLLElBQUksR0FBRyxLQUFLLElBQUkwQixXQUFXN0QsV0FBVyxFQUFFLE1BQU1ULE1BQU07Z0JBQ3RHbUMsUUFBUUUsSUFBSSxDQUFDK0I7WUFDakIsQ0FBQztRQUNMO1FBQ0EsTUFBTXZCLFVBQVVmLFdBQVdnQixHQUFHLENBQUNoRCxtQkFBbUJpRCxNQUFNLENBQUMsQ0FBQzNCLFNBQVM7WUFDL0QsSUFBSSxJQUFJNEIsSUFBSSxHQUFHQyxNQUFNZCxRQUFRSSxNQUFNLEVBQUVTLElBQUlDLEtBQUtELElBQUk7Z0JBQzlDLE1BQU03QixTQUFTZ0IsT0FBTyxDQUFDYSxFQUFFO2dCQUN6QixJQUFJaEUsWUFBWW1DLFFBQVFDLFNBQVM7b0JBQzdCZSxRQUFRZSxNQUFNLENBQUNGLEdBQUc7b0JBQ2xCLE9BQU8sS0FBSztnQkFDaEIsQ0FBQztZQUNMO1lBQ0EsT0FBTyxJQUFJO1FBQ2Y7UUFDQWIsUUFBUWdCLE9BQU8sQ0FBQyxDQUFDQyxJQUFJO1lBQ2pCLElBQUlDO1lBQ0osT0FBTyxDQUFDQSxnQkFBZ0JELEVBQUVJLFVBQVUsS0FBSyxJQUFJLEdBQUcsS0FBSyxJQUFJSCxjQUFjSSxXQUFXLENBQUNMLEVBQUU7UUFDekY7UUFDQVAsUUFBUU0sT0FBTyxDQUFDLENBQUNDLElBQUlyQixPQUFPd0MsWUFBWSxDQUFDbkIsR0FBR1c7UUFDNUNBLFlBQVlILE9BQU8sR0FBRyxDQUFDTSxZQUFZL0IsUUFBUUksTUFBTSxHQUFHTSxRQUFRTixNQUFNLEVBQUVpQyxRQUFRO0lBQ2hGO0FBQ0osQ0FBQztBQUNELFNBQVNoRixrQkFBa0I7SUFDdkIsT0FBTztRQUNIaUYsa0JBQWtCLElBQUlDO1FBQ3RCQyxZQUFZLENBQUNDLE9BQU87WUFDaEIsTUFBTUMsT0FBTyxDQUFDO1lBQ2RELEtBQUt6QixPQUFPLENBQUMsQ0FBQzJCLElBQUk7Z0JBQ2QsSUFDQSxvRUFBb0U7Z0JBQ3BFQSxFQUFFOUUsSUFBSSxLQUFLLFVBQVU4RSxFQUFFN0UsS0FBSyxDQUFDLHVCQUF1QixFQUFFO29CQUNsRCxJQUFJRSxTQUFTNkIsYUFBYSxDQUFDLHNCQUFzQjhDLEVBQUU3RSxLQUFLLENBQUMsWUFBWSxHQUFHLE9BQU87d0JBQzNFO29CQUNKLE9BQU87d0JBQ0g2RSxFQUFFN0UsS0FBSyxDQUFDOEUsSUFBSSxHQUFHRCxFQUFFN0UsS0FBSyxDQUFDLFlBQVk7d0JBQ25DNkUsRUFBRTdFLEtBQUssQ0FBQyxZQUFZLEdBQUdNO29CQUMzQixDQUFDO2dCQUNMLENBQUM7Z0JBQ0QsTUFBTXVCLGFBQWErQyxJQUFJLENBQUNDLEVBQUU5RSxJQUFJLENBQUMsSUFBSSxFQUFFO2dCQUNyQzhCLFdBQVdPLElBQUksQ0FBQ3lDO2dCQUNoQkQsSUFBSSxDQUFDQyxFQUFFOUUsSUFBSSxDQUFDLEdBQUc4QjtZQUNuQjtZQUNBLE1BQU1rRCxpQkFBaUJILEtBQUtJLEtBQUssR0FBR0osS0FBS0ksS0FBSyxDQUFDLEVBQUUsR0FBRyxJQUFJO1lBQ3hELElBQUlBLFFBQVE7WUFDWixJQUFJRCxnQkFBZ0I7Z0JBQ2hCLE1BQU0sRUFBRXJFLFNBQVEsRUFBRyxHQUFHcUUsZUFBZS9FLEtBQUs7Z0JBQzFDZ0YsUUFBUSxPQUFPdEUsYUFBYSxXQUFXQSxXQUFXSyxNQUFNQyxPQUFPLENBQUNOLFlBQVlBLFNBQVNPLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDdEcsQ0FBQztZQUNELElBQUkrRCxVQUFVOUUsU0FBUzhFLEtBQUssRUFBRTlFLFNBQVM4RSxLQUFLLEdBQUdBO1lBQy9DO2dCQUNJO2dCQUNBO2dCQUNBO2dCQUNBO2dCQUNBO2FBQ0gsQ0FBQzlCLE9BQU8sQ0FBQyxDQUFDbkQsT0FBTztnQkFDZDBCLGVBQWUxQixNQUFNNkUsSUFBSSxDQUFDN0UsS0FBSyxJQUFJLEVBQUU7WUFDekM7UUFDSjtJQUNKO0FBQ0o7QUFFQSxJQUFJLENBQUMsT0FBT3BCLFFBQVFLLE9BQU8sS0FBSyxjQUFlLE9BQU9MLFFBQVFLLE9BQU8sS0FBSyxZQUFZTCxRQUFRSyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9MLFFBQVFLLE9BQU8sQ0FBQ2lHLFVBQVUsS0FBSyxhQUFhO0lBQ3JLeEcsT0FBT0MsY0FBYyxDQUFDQyxRQUFRSyxPQUFPLEVBQUUsY0FBYztRQUFFSixPQUFPLElBQUk7SUFBQztJQUNuRUgsT0FBT3lHLE1BQU0sQ0FBQ3ZHLFFBQVFLLE9BQU8sRUFBRUw7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUUssT0FBTztBQUNsQyxDQUFDLENBRUQsd0NBQXdDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2hlYWQtbWFuYWdlci5qcz9jYTRhIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgRE9NQXR0cmlidXRlTmFtZXM6IG51bGwsXG4gICAgaXNFcXVhbE5vZGU6IG51bGwsXG4gICAgZGVmYXVsdDogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBET01BdHRyaWJ1dGVOYW1lczogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBET01BdHRyaWJ1dGVOYW1lcztcbiAgICB9LFxuICAgIGlzRXF1YWxOb2RlOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGlzRXF1YWxOb2RlO1xuICAgIH0sXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpbml0SGVhZE1hbmFnZXI7XG4gICAgfVxufSk7XG5jb25zdCBET01BdHRyaWJ1dGVOYW1lcyA9IHtcbiAgICBhY2NlcHRDaGFyc2V0OiBcImFjY2VwdC1jaGFyc2V0XCIsXG4gICAgY2xhc3NOYW1lOiBcImNsYXNzXCIsXG4gICAgaHRtbEZvcjogXCJmb3JcIixcbiAgICBodHRwRXF1aXY6IFwiaHR0cC1lcXVpdlwiLFxuICAgIG5vTW9kdWxlOiBcIm5vTW9kdWxlXCJcbn07XG5mdW5jdGlvbiByZWFjdEVsZW1lbnRUb0RPTShwYXJhbSkge1xuICAgIGxldCB7IHR5cGUgLCBwcm9wcyAgfSA9IHBhcmFtO1xuICAgIGNvbnN0IGVsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCh0eXBlKTtcbiAgICBmb3IoY29uc3QgcCBpbiBwcm9wcyl7XG4gICAgICAgIGlmICghcHJvcHMuaGFzT3duUHJvcGVydHkocCkpIGNvbnRpbnVlO1xuICAgICAgICBpZiAocCA9PT0gXCJjaGlsZHJlblwiIHx8IHAgPT09IFwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUxcIikgY29udGludWU7XG4gICAgICAgIC8vIHdlIGRvbid0IHJlbmRlciB1bmRlZmluZWQgcHJvcHMgdG8gdGhlIERPTVxuICAgICAgICBpZiAocHJvcHNbcF0gPT09IHVuZGVmaW5lZCkgY29udGludWU7XG4gICAgICAgIGNvbnN0IGF0dHIgPSBET01BdHRyaWJ1dGVOYW1lc1twXSB8fCBwLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGlmICh0eXBlID09PSBcInNjcmlwdFwiICYmIChhdHRyID09PSBcImFzeW5jXCIgfHwgYXR0ciA9PT0gXCJkZWZlclwiIHx8IGF0dHIgPT09IFwibm9Nb2R1bGVcIikpIHtcbiAgICAgICAgICAgIGVsW2F0dHJdID0gISFwcm9wc1twXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVsLnNldEF0dHJpYnV0ZShhdHRyLCBwcm9wc1twXSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgeyBjaGlsZHJlbiAsIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MICB9ID0gcHJvcHM7XG4gICAgaWYgKGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MKSB7XG4gICAgICAgIGVsLmlubmVySFRNTCA9IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MLl9faHRtbCB8fCBcIlwiO1xuICAgIH0gZWxzZSBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgZWwudGV4dENvbnRlbnQgPSB0eXBlb2YgY2hpbGRyZW4gPT09IFwic3RyaW5nXCIgPyBjaGlsZHJlbiA6IEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pID8gY2hpbGRyZW4uam9pbihcIlwiKSA6IFwiXCI7XG4gICAgfVxuICAgIHJldHVybiBlbDtcbn1cbmZ1bmN0aW9uIGlzRXF1YWxOb2RlKG9sZFRhZywgbmV3VGFnKSB7XG4gICAgaWYgKG9sZFRhZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50ICYmIG5ld1RhZyBpbnN0YW5jZW9mIEhUTUxFbGVtZW50KSB7XG4gICAgICAgIGNvbnN0IG5vbmNlID0gbmV3VGFnLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpO1xuICAgICAgICAvLyBPbmx5IHN0cmlwIHRoZSBub25jZSBpZiBgb2xkVGFnYCBoYXMgaGFkIGl0IHN0cmlwcGVkLiBBbiBlbGVtZW50J3Mgbm9uY2UgYXR0cmlidXRlIHdpbGwgbm90XG4gICAgICAgIC8vIGJlIHN0cmlwcGVkIGlmIHRoZXJlIGlzIG5vIGNvbnRlbnQgc2VjdXJpdHkgcG9saWN5IHJlc3BvbnNlIGhlYWRlciB0aGF0IGluY2x1ZGVzIGEgbm9uY2UuXG4gICAgICAgIGlmIChub25jZSAmJiAhb2xkVGFnLmdldEF0dHJpYnV0ZShcIm5vbmNlXCIpKSB7XG4gICAgICAgICAgICBjb25zdCBjbG9uZVRhZyA9IG5ld1RhZy5jbG9uZU5vZGUodHJ1ZSk7XG4gICAgICAgICAgICBjbG9uZVRhZy5zZXRBdHRyaWJ1dGUoXCJub25jZVwiLCBcIlwiKTtcbiAgICAgICAgICAgIGNsb25lVGFnLm5vbmNlID0gbm9uY2U7XG4gICAgICAgICAgICByZXR1cm4gbm9uY2UgPT09IG9sZFRhZy5ub25jZSAmJiBvbGRUYWcuaXNFcXVhbE5vZGUoY2xvbmVUYWcpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBvbGRUYWcuaXNFcXVhbE5vZGUobmV3VGFnKTtcbn1cbmxldCB1cGRhdGVFbGVtZW50cztcbmlmIChwcm9jZXNzLmVudi5fX05FWFRfU1RSSUNUX05FWFRfSEVBRCkge1xuICAgIHVwZGF0ZUVsZW1lbnRzID0gKHR5cGUsIGNvbXBvbmVudHMpPT57XG4gICAgICAgIGNvbnN0IGhlYWRFbCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJoZWFkXCIpO1xuICAgICAgICBpZiAoIWhlYWRFbCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBoZWFkTWV0YVRhZ3MgPSBoZWFkRWwucXVlcnlTZWxlY3RvckFsbCgnbWV0YVtuYW1lPVwibmV4dC1oZWFkXCJdJykgfHwgW107XG4gICAgICAgIGNvbnN0IG9sZFRhZ3MgPSBbXTtcbiAgICAgICAgaWYgKHR5cGUgPT09IFwibWV0YVwiKSB7XG4gICAgICAgICAgICBjb25zdCBtZXRhQ2hhcnNldCA9IGhlYWRFbC5xdWVyeVNlbGVjdG9yKFwibWV0YVtjaGFyc2V0XVwiKTtcbiAgICAgICAgICAgIGlmIChtZXRhQ2hhcnNldCkge1xuICAgICAgICAgICAgICAgIG9sZFRhZ3MucHVzaChtZXRhQ2hhcnNldCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yKGxldCBpID0gMDsgaSA8IGhlYWRNZXRhVGFncy5sZW5ndGg7IGkrKyl7XG4gICAgICAgICAgICB2YXIgX2hlYWRUYWdfdGFnTmFtZTtcbiAgICAgICAgICAgIGNvbnN0IG1ldGFUYWcgPSBoZWFkTWV0YVRhZ3NbaV07XG4gICAgICAgICAgICBjb25zdCBoZWFkVGFnID0gbWV0YVRhZy5uZXh0U2libGluZztcbiAgICAgICAgICAgIGlmICgoaGVhZFRhZyA9PSBudWxsID8gdm9pZCAwIDogKF9oZWFkVGFnX3RhZ05hbWUgPSBoZWFkVGFnLnRhZ05hbWUpID09IG51bGwgPyB2b2lkIDAgOiBfaGVhZFRhZ190YWdOYW1lLnRvTG93ZXJDYXNlKCkpID09PSB0eXBlKSB7XG4gICAgICAgICAgICAgICAgb2xkVGFncy5wdXNoKGhlYWRUYWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG5ld1RhZ3MgPSBjb21wb25lbnRzLm1hcChyZWFjdEVsZW1lbnRUb0RPTSkuZmlsdGVyKChuZXdUYWcpPT57XG4gICAgICAgICAgICBmb3IobGV0IGsgPSAwLCBsZW4gPSBvbGRUYWdzLmxlbmd0aDsgayA8IGxlbjsgaysrKXtcbiAgICAgICAgICAgICAgICBjb25zdCBvbGRUYWcgPSBvbGRUYWdzW2tdO1xuICAgICAgICAgICAgICAgIGlmIChpc0VxdWFsTm9kZShvbGRUYWcsIG5ld1RhZykpIHtcbiAgICAgICAgICAgICAgICAgICAgb2xkVGFncy5zcGxpY2UoaywgMSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIG9sZFRhZ3MuZm9yRWFjaCgodCk9PntcbiAgICAgICAgICAgIHZhciBfdF9wYXJlbnROb2RlO1xuICAgICAgICAgICAgY29uc3QgbWV0YVRhZyA9IHQucHJldmlvdXNTaWJsaW5nO1xuICAgICAgICAgICAgaWYgKG1ldGFUYWcgJiYgbWV0YVRhZy5nZXRBdHRyaWJ1dGUoXCJuYW1lXCIpID09PSBcIm5leHQtaGVhZFwiKSB7XG4gICAgICAgICAgICAgICAgdmFyIF90X3BhcmVudE5vZGUxO1xuICAgICAgICAgICAgICAgIChfdF9wYXJlbnROb2RlMSA9IHQucGFyZW50Tm9kZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90X3BhcmVudE5vZGUxLnJlbW92ZUNoaWxkKG1ldGFUYWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgKF90X3BhcmVudE5vZGUgPSB0LnBhcmVudE5vZGUpID09IG51bGwgPyB2b2lkIDAgOiBfdF9wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO1xuICAgICAgICB9KTtcbiAgICAgICAgbmV3VGFncy5mb3JFYWNoKCh0KT0+e1xuICAgICAgICAgICAgdmFyIF90X3RhZ05hbWU7XG4gICAgICAgICAgICBjb25zdCBtZXRhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcIm1ldGFcIik7XG4gICAgICAgICAgICBtZXRhLm5hbWUgPSBcIm5leHQtaGVhZFwiO1xuICAgICAgICAgICAgbWV0YS5jb250ZW50ID0gXCIxXCI7XG4gICAgICAgICAgICAvLyBtZXRhW2NoYXJzZXRdIG11c3QgYmUgZmlyc3QgZWxlbWVudCBzbyBzcGVjaWFsIGNhc2VcbiAgICAgICAgICAgIGlmICghKCgoX3RfdGFnTmFtZSA9IHQudGFnTmFtZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF90X3RhZ05hbWUudG9Mb3dlckNhc2UoKSkgPT09IFwibWV0YVwiICYmIHQuZ2V0QXR0cmlidXRlKFwiY2hhcnNldFwiKSkpIHtcbiAgICAgICAgICAgICAgICBoZWFkRWwuYXBwZW5kQ2hpbGQobWV0YSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoZWFkRWwuYXBwZW5kQ2hpbGQodCk7XG4gICAgICAgIH0pO1xuICAgIH07XG59IGVsc2Uge1xuICAgIHVwZGF0ZUVsZW1lbnRzID0gKHR5cGUsIGNvbXBvbmVudHMpPT57XG4gICAgICAgIGNvbnN0IGhlYWRFbCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKFwiaGVhZFwiKVswXTtcbiAgICAgICAgY29uc3QgaGVhZENvdW50RWwgPSBoZWFkRWwucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT1uZXh0LWhlYWQtY291bnRdXCIpO1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwicHJvZHVjdGlvblwiKSB7XG4gICAgICAgICAgICBpZiAoIWhlYWRDb3VudEVsKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIldhcm5pbmc6IG5leHQtaGVhZC1jb3VudCBpcyBtaXNzaW5nLiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9uZXh0LWhlYWQtY291bnQtbWlzc2luZ1wiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaGVhZENvdW50ID0gTnVtYmVyKGhlYWRDb3VudEVsLmNvbnRlbnQpO1xuICAgICAgICBjb25zdCBvbGRUYWdzID0gW107XG4gICAgICAgIGZvcihsZXQgaSA9IDAsIGogPSBoZWFkQ291bnRFbC5wcmV2aW91c0VsZW1lbnRTaWJsaW5nOyBpIDwgaGVhZENvdW50OyBpKyssIGogPSAoaiA9PSBudWxsID8gdm9pZCAwIDogai5wcmV2aW91c0VsZW1lbnRTaWJsaW5nKSB8fCBudWxsKXtcbiAgICAgICAgICAgIHZhciBfal90YWdOYW1lO1xuICAgICAgICAgICAgaWYgKChqID09IG51bGwgPyB2b2lkIDAgOiAoX2pfdGFnTmFtZSA9IGoudGFnTmFtZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9qX3RhZ05hbWUudG9Mb3dlckNhc2UoKSkgPT09IHR5cGUpIHtcbiAgICAgICAgICAgICAgICBvbGRUYWdzLnB1c2goaik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV3VGFncyA9IGNvbXBvbmVudHMubWFwKHJlYWN0RWxlbWVudFRvRE9NKS5maWx0ZXIoKG5ld1RhZyk9PntcbiAgICAgICAgICAgIGZvcihsZXQgayA9IDAsIGxlbiA9IG9sZFRhZ3MubGVuZ3RoOyBrIDwgbGVuOyBrKyspe1xuICAgICAgICAgICAgICAgIGNvbnN0IG9sZFRhZyA9IG9sZFRhZ3Nba107XG4gICAgICAgICAgICAgICAgaWYgKGlzRXF1YWxOb2RlKG9sZFRhZywgbmV3VGFnKSkge1xuICAgICAgICAgICAgICAgICAgICBvbGRUYWdzLnNwbGljZShrLCAxKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICAgICAgb2xkVGFncy5mb3JFYWNoKCh0KT0+e1xuICAgICAgICAgICAgdmFyIF90X3BhcmVudE5vZGU7XG4gICAgICAgICAgICByZXR1cm4gKF90X3BhcmVudE5vZGUgPSB0LnBhcmVudE5vZGUpID09IG51bGwgPyB2b2lkIDAgOiBfdF9wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHQpO1xuICAgICAgICB9KTtcbiAgICAgICAgbmV3VGFncy5mb3JFYWNoKCh0KT0+aGVhZEVsLmluc2VydEJlZm9yZSh0LCBoZWFkQ291bnRFbCkpO1xuICAgICAgICBoZWFkQ291bnRFbC5jb250ZW50ID0gKGhlYWRDb3VudCAtIG9sZFRhZ3MubGVuZ3RoICsgbmV3VGFncy5sZW5ndGgpLnRvU3RyaW5nKCk7XG4gICAgfTtcbn1cbmZ1bmN0aW9uIGluaXRIZWFkTWFuYWdlcigpIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBtb3VudGVkSW5zdGFuY2VzOiBuZXcgU2V0KCksXG4gICAgICAgIHVwZGF0ZUhlYWQ6IChoZWFkKT0+e1xuICAgICAgICAgICAgY29uc3QgdGFncyA9IHt9O1xuICAgICAgICAgICAgaGVhZC5mb3JFYWNoKChoKT0+e1xuICAgICAgICAgICAgICAgIGlmICgvLyBJZiB0aGUgZm9udCB0YWcgaXMgbG9hZGVkIG9ubHkgb24gY2xpZW50IG5hdmlnYXRpb25cbiAgICAgICAgICAgICAgICAvLyBpdCB3b24ndCBiZSBpbmxpbmVkLiBJbiB0aGlzIGNhc2UgcmV2ZXJ0IHRvIHRoZSBvcmlnaW5hbCBiZWhhdmlvclxuICAgICAgICAgICAgICAgIGgudHlwZSA9PT0gXCJsaW5rXCIgJiYgaC5wcm9wc1tcImRhdGEtb3B0aW1pemVkLWZvbnRzXCJdKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdzdHlsZVtkYXRhLWhyZWY9XCInICsgaC5wcm9wc1tcImRhdGEtaHJlZlwiXSArICdcIl0nKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgaC5wcm9wcy5ocmVmID0gaC5wcm9wc1tcImRhdGEtaHJlZlwiXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGgucHJvcHNbXCJkYXRhLWhyZWZcIl0gPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY29uc3QgY29tcG9uZW50cyA9IHRhZ3NbaC50eXBlXSB8fCBbXTtcbiAgICAgICAgICAgICAgICBjb21wb25lbnRzLnB1c2goaCk7XG4gICAgICAgICAgICAgICAgdGFnc1toLnR5cGVdID0gY29tcG9uZW50cztcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgY29uc3QgdGl0bGVDb21wb25lbnQgPSB0YWdzLnRpdGxlID8gdGFncy50aXRsZVswXSA6IG51bGw7XG4gICAgICAgICAgICBsZXQgdGl0bGUgPSBcIlwiO1xuICAgICAgICAgICAgaWYgKHRpdGxlQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBjaGlsZHJlbiAgfSA9IHRpdGxlQ29tcG9uZW50LnByb3BzO1xuICAgICAgICAgICAgICAgIHRpdGxlID0gdHlwZW9mIGNoaWxkcmVuID09PSBcInN0cmluZ1wiID8gY2hpbGRyZW4gOiBBcnJheS5pc0FycmF5KGNoaWxkcmVuKSA/IGNoaWxkcmVuLmpvaW4oXCJcIikgOiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRpdGxlICE9PSBkb2N1bWVudC50aXRsZSkgZG9jdW1lbnQudGl0bGUgPSB0aXRsZTtcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICBcIm1ldGFcIixcbiAgICAgICAgICAgICAgICBcImJhc2VcIixcbiAgICAgICAgICAgICAgICBcImxpbmtcIixcbiAgICAgICAgICAgICAgICBcInN0eWxlXCIsXG4gICAgICAgICAgICAgICAgXCJzY3JpcHRcIlxuICAgICAgICAgICAgXS5mb3JFYWNoKCh0eXBlKT0+e1xuICAgICAgICAgICAgICAgIHVwZGF0ZUVsZW1lbnRzKHR5cGUsIHRhZ3NbdHlwZV0gfHwgW10pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1oZWFkLW1hbmFnZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRE9NQXR0cmlidXRlTmFtZXMiLCJpc0VxdWFsTm9kZSIsImRlZmF1bHQiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJpbml0SGVhZE1hbmFnZXIiLCJhY2NlcHRDaGFyc2V0IiwiY2xhc3NOYW1lIiwiaHRtbEZvciIsImh0dHBFcXVpdiIsIm5vTW9kdWxlIiwicmVhY3RFbGVtZW50VG9ET00iLCJwYXJhbSIsInR5cGUiLCJwcm9wcyIsImVsIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50IiwicCIsImhhc093blByb3BlcnR5IiwidW5kZWZpbmVkIiwiYXR0ciIsInRvTG93ZXJDYXNlIiwic2V0QXR0cmlidXRlIiwiY2hpbGRyZW4iLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsImlubmVySFRNTCIsIl9faHRtbCIsInRleHRDb250ZW50IiwiQXJyYXkiLCJpc0FycmF5Iiwiam9pbiIsIm9sZFRhZyIsIm5ld1RhZyIsIkhUTUxFbGVtZW50Iiwibm9uY2UiLCJnZXRBdHRyaWJ1dGUiLCJjbG9uZVRhZyIsImNsb25lTm9kZSIsInVwZGF0ZUVsZW1lbnRzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9TVFJJQ1RfTkVYVF9IRUFEIiwiY29tcG9uZW50cyIsImhlYWRFbCIsInF1ZXJ5U2VsZWN0b3IiLCJoZWFkTWV0YVRhZ3MiLCJxdWVyeVNlbGVjdG9yQWxsIiwib2xkVGFncyIsIm1ldGFDaGFyc2V0IiwicHVzaCIsImkiLCJsZW5ndGgiLCJfaGVhZFRhZ190YWdOYW1lIiwibWV0YVRhZyIsImhlYWRUYWciLCJuZXh0U2libGluZyIsInRhZ05hbWUiLCJuZXdUYWdzIiwibWFwIiwiZmlsdGVyIiwiayIsImxlbiIsInNwbGljZSIsImZvckVhY2giLCJ0IiwiX3RfcGFyZW50Tm9kZSIsInByZXZpb3VzU2libGluZyIsIl90X3BhcmVudE5vZGUxIiwicGFyZW50Tm9kZSIsInJlbW92ZUNoaWxkIiwiX3RfdGFnTmFtZSIsIm1ldGEiLCJjb250ZW50IiwiYXBwZW5kQ2hpbGQiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImhlYWRDb3VudEVsIiwiY29uc29sZSIsImVycm9yIiwiaGVhZENvdW50IiwiTnVtYmVyIiwiaiIsInByZXZpb3VzRWxlbWVudFNpYmxpbmciLCJfal90YWdOYW1lIiwiaW5zZXJ0QmVmb3JlIiwidG9TdHJpbmciLCJtb3VudGVkSW5zdGFuY2VzIiwiU2V0IiwidXBkYXRlSGVhZCIsImhlYWQiLCJ0YWdzIiwiaCIsImhyZWYiLCJ0aXRsZUNvbXBvbmVudCIsInRpdGxlIiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/head-manager.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/normalize-trailing-slash.js": +/*!*******************************************************************!*\ + !*** ./node_modules/next/dist/client/normalize-trailing-slash.js ***! + \*******************************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 */ \"./node_modules/next/dist/shared/lib/router/utils/remove-trailing-slash.js\");\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./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 (false) {}\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\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRkgsOERBQTZEO0lBQ3pESSxZQUFZLElBQUk7SUFDaEJDLEtBQUssV0FBVztRQUNaLE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyx1QkFBdUJDLG1CQUFPQSxDQUFDLG1JQUFrRDtBQUN2RixNQUFNQyxhQUFhRCxtQkFBT0EsQ0FBQyw2R0FBdUM7QUFDbEUsTUFBTUYsNkJBQTZCLENBQUNJLE9BQU87SUFDdkMsSUFBSSxDQUFDQSxLQUFLQyxVQUFVLENBQUMsUUFBUUMsU0FBd0MsRUFBRTtRQUNuRSxPQUFPRjtJQUNYLENBQUM7SUFDRCxNQUFNLEVBQUVLLFNBQVEsRUFBR0MsTUFBSyxFQUFHQyxLQUFJLEVBQUcsR0FBRyxDQUFDLEdBQUdSLFdBQVdTLFNBQVMsRUFBRVI7SUFDL0QsSUFBSUUsS0FBaUMsRUFBRSxFQVF0QztJQUNELE9BQU8sS0FBSyxDQUFDLEdBQUdMLHFCQUFxQmMsbUJBQW1CLEVBQUVOLFlBQVlDLFFBQVFDO0FBQ2xGO0FBRUEsSUFBSSxDQUFDLE9BQU9mLFFBQVFxQixPQUFPLEtBQUssY0FBZSxPQUFPckIsUUFBUXFCLE9BQU8sS0FBSyxZQUFZckIsUUFBUXFCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3JCLFFBQVFxQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLeEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRcUIsT0FBTyxFQUFFLGNBQWM7UUFBRXBCLE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPeUIsTUFBTSxDQUFDdkIsUUFBUXFCLE9BQU8sRUFBRXJCO0lBQy9Cd0IsT0FBT3hCLE9BQU8sR0FBR0EsUUFBUXFCLE9BQU87QUFDbEMsQ0FBQyxDQUVELG9EQUFvRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9ub3JtYWxpemUtdHJhaWxpbmctc2xhc2guanM/NGMyZSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoXCIsIHtcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaDtcbiAgICB9XG59KTtcbmNvbnN0IF9yZW1vdmV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL3JlbW92ZS10cmFpbGluZy1zbGFzaFwiKTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aFwiKTtcbmNvbnN0IG5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoID0gKHBhdGgpPT57XG4gICAgaWYgKCFwYXRoLnN0YXJ0c1dpdGgoXCIvXCIpIHx8IHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgfVxuICAgIGNvbnN0IHsgcGF0aG5hbWUgLCBxdWVyeSAsIGhhc2ggIH0gPSAoMCwgX3BhcnNlcGF0aC5wYXJzZVBhdGgpKHBhdGgpO1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVFJBSUxJTkdfU0xBU0gpIHtcbiAgICAgICAgaWYgKC9cXC5bXi9dK1xcLz8kLy50ZXN0KHBhdGhuYW1lKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyAoMCwgX3JlbW92ZXRyYWlsaW5nc2xhc2gucmVtb3ZlVHJhaWxpbmdTbGFzaCkocGF0aG5hbWUpICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9IGVsc2UgaWYgKHBhdGhuYW1lLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCIgKyBwYXRobmFtZSArIHF1ZXJ5ICsgaGFzaDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRobmFtZSArIFwiL1wiICsgcXVlcnkgKyBoYXNoO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBcIlwiICsgKDAsIF9yZW1vdmV0cmFpbGluZ3NsYXNoLnJlbW92ZVRyYWlsaW5nU2xhc2gpKHBhdGhuYW1lKSArIHF1ZXJ5ICsgaGFzaDtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5vcm1hbGl6ZS10cmFpbGluZy1zbGFzaC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfcmVtb3ZldHJhaWxpbmdzbGFzaCIsInJlcXVpcmUiLCJfcGFyc2VwYXRoIiwicGF0aCIsInN0YXJ0c1dpdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX01BTlVBTF9UUkFJTElOR19TTEFTSCIsInBhdGhuYW1lIiwicXVlcnkiLCJoYXNoIiwicGFyc2VQYXRoIiwiX19ORVhUX1RSQUlMSU5HX1NMQVNIIiwidGVzdCIsInJlbW92ZVRyYWlsaW5nU2xhc2giLCJlbmRzV2l0aCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/normalize-trailing-slash.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/remove-base-path.js": +/*!***********************************************************!*\ + !*** ./node_modules/next/dist/client/remove-base-path.js ***! + \***********************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 */ \"./node_modules/next/dist/client/has-base-path.js\");\nconst basePath = false || \"\";\nfunction removeBasePath(path) {\n if (false) {}\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\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtYmFzZS1wYXRoLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0ZILGtEQUFpRDtJQUM3Q0ksWUFBWSxJQUFJO0lBQ2hCQyxLQUFLLFdBQVc7UUFDWixPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZUFBZUMsbUJBQU9BLENBQUMseUVBQWlCO0FBQzlDLE1BQU1DLFdBQVdDLE1BQWtDLElBQUk7QUFDdkQsU0FBU0osZUFBZU8sSUFBSSxFQUFFO0lBQzFCLElBQUlILEtBQTBDLEVBQUUsRUFJL0M7SUFDREcsT0FBT0EsS0FBS0csS0FBSyxDQUFDUCxTQUFTUSxNQUFNO0lBQ2pDLElBQUksQ0FBQ0osS0FBS0ssVUFBVSxDQUFDLE1BQU1MLE9BQU8sTUFBTUE7SUFDeEMsT0FBT0E7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRaUIsT0FBTyxLQUFLLGNBQWUsT0FBT2pCLFFBQVFpQixPQUFPLEtBQUssWUFBWWpCLFFBQVFpQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9qQixRQUFRaUIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3BCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWlCLE9BQU8sRUFBRSxjQUFjO1FBQUVoQixPQUFPLElBQUk7SUFBQztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQm9CLE9BQU9wQixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLENBQUMsQ0FFRCw0Q0FBNEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcmVtb3ZlLWJhc2UtcGF0aC5qcz9iNGYxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgdmFsdWU6IHRydWVcbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicmVtb3ZlQmFzZVBhdGhcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZUJhc2VQYXRoO1xuICAgIH1cbn0pO1xuY29uc3QgX2hhc2Jhc2VwYXRoID0gcmVxdWlyZShcIi4vaGFzLWJhc2UtcGF0aFwiKTtcbmNvbnN0IGJhc2VQYXRoID0gcHJvY2Vzcy5lbnYuX19ORVhUX1JPVVRFUl9CQVNFUEFUSCB8fCBcIlwiO1xuZnVuY3Rpb24gcmVtb3ZlQmFzZVBhdGgocGF0aCkge1xuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgpIHtcbiAgICAgICAgaWYgKCEoMCwgX2hhc2Jhc2VwYXRoLmhhc0Jhc2VQYXRoKShwYXRoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcGF0aCA9IHBhdGguc2xpY2UoYmFzZVBhdGgubGVuZ3RoKTtcbiAgICBpZiAoIXBhdGguc3RhcnRzV2l0aChcIi9cIikpIHBhdGggPSBcIi9cIiArIHBhdGg7XG4gICAgcmV0dXJuIHBhdGg7XG59XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlbW92ZS1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInJlbW92ZUJhc2VQYXRoIiwiX2hhc2Jhc2VwYXRoIiwicmVxdWlyZSIsImJhc2VQYXRoIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9ST1VURVJfQkFTRVBBVEgiLCJwYXRoIiwiX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIIiwiaGFzQmFzZVBhdGgiLCJzbGljZSIsImxlbmd0aCIsInN0YXJ0c1dpdGgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-base-path.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/remove-locale.js": +/*!********************************************************!*\ + !*** ./node_modules/next/dist/client/remove-locale.js ***! + \********************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"removeLocale\", ({\n enumerable: true,\n get: function() {\n return removeLocale;\n }\n}));\nconst _parsepath = __webpack_require__(/*! ../shared/lib/router/utils/parse-path */ \"./node_modules/next/dist/shared/lib/router/utils/parse-path.js\");\nfunction removeLocale(path, locale) {\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=remove-locale.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtbG9jYWxlLmpzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTyxJQUFJO0FBQ2YsQ0FBQyxFQUFDO0FBQ0ZILGdEQUErQztJQUMzQ0ksWUFBWSxJQUFJO0lBQ2hCQyxLQUFLLFdBQVc7UUFDWixPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsYUFBYUMsbUJBQU9BLENBQUMsNkdBQXVDO0FBQ2xFLFNBQVNGLGFBQWFHLElBQUksRUFBRUMsTUFBTSxFQUFFO0lBQ2hDLElBQUlDLEtBQStCLEVBQUUsRUFLcEM7SUFDRCxPQUFPRjtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9QLFFBQVFvQixPQUFPLEtBQUssY0FBZSxPQUFPcEIsUUFBUW9CLE9BQU8sS0FBSyxZQUFZcEIsUUFBUW9CLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BCLFFBQVFvQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdkIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRb0IsT0FBTyxFQUFFLGNBQWM7UUFBRW5CLE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPd0IsTUFBTSxDQUFDdEIsUUFBUW9CLE9BQU8sRUFBRXBCO0lBQy9CdUIsT0FBT3ZCLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsQ0FBQyxDQUVELHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZW1vdmUtbG9jYWxlLmpzPzQ3NTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJyZW1vdmVMb2NhbGVcIiwge1xuICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHJlbW92ZUxvY2FsZTtcbiAgICB9XG59KTtcbmNvbnN0IF9wYXJzZXBhdGggPSByZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvcGFyc2UtcGF0aFwiKTtcbmZ1bmN0aW9uIHJlbW92ZUxvY2FsZShwYXRoLCBsb2NhbGUpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0kxOE5fU1VQUE9SVCkge1xuICAgICAgICBjb25zdCB7IHBhdGhuYW1lICB9ID0gKDAsIF9wYXJzZXBhdGgucGFyc2VQYXRoKShwYXRoKTtcbiAgICAgICAgY29uc3QgcGF0aExvd2VyID0gcGF0aG5hbWUudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgY29uc3QgbG9jYWxlTG93ZXIgPSBsb2NhbGUgPT0gbnVsbCA/IHZvaWQgMCA6IGxvY2FsZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gbG9jYWxlICYmIChwYXRoTG93ZXIuc3RhcnRzV2l0aChcIi9cIiArIGxvY2FsZUxvd2VyICsgXCIvXCIpIHx8IHBhdGhMb3dlciA9PT0gXCIvXCIgKyBsb2NhbGVMb3dlcikgPyBcIlwiICsgKHBhdGhuYW1lLmxlbmd0aCA9PT0gbG9jYWxlLmxlbmd0aCArIDEgPyBcIi9cIiA6IFwiXCIpICsgcGF0aC5zbGljZShsb2NhbGUubGVuZ3RoICsgMSkgOiBwYXRoO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cmVtb3ZlLWxvY2FsZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwicmVtb3ZlTG9jYWxlIiwiX3BhcnNlcGF0aCIsInJlcXVpcmUiLCJwYXRoIiwibG9jYWxlIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJwYXRobmFtZSIsInBhcnNlUGF0aCIsInBhdGhMb3dlciIsInRvTG93ZXJDYXNlIiwibG9jYWxlTG93ZXIiLCJzdGFydHNXaXRoIiwibGVuZ3RoIiwic2xpY2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/remove-locale.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/request-idle-callback.js": +/*!****************************************************************!*\ + !*** ./node_modules/next/dist/client/request-idle-callback.js ***! + \****************************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHLEVBQUU7SUFDMUIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVksSUFBSTtRQUNoQkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxxQkFBcUIsV0FBVztRQUM1QixPQUFPQTtJQUNYO0lBQ0FDLG9CQUFvQixXQUFXO1FBQzNCLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLE1BQU1ELHNCQUFzQixPQUFPUSxTQUFTLGVBQWVBLEtBQUtSLG1CQUFtQixJQUFJUSxLQUFLUixtQkFBbUIsQ0FBQ1MsSUFBSSxDQUFDQyxXQUFXLFNBQVNDLEVBQUUsRUFBRTtJQUN6SSxJQUFJQyxRQUFRQyxLQUFLQyxHQUFHO0lBQ3BCLE9BQU9OLEtBQUtPLFVBQVUsQ0FBQyxXQUFXO1FBQzlCSixHQUFHO1lBQ0NLLFlBQVksS0FBSztZQUNqQkMsZUFBZSxXQUFXO2dCQUN0QixPQUFPQyxLQUFLQyxHQUFHLENBQUMsR0FBRyxLQUFNTixDQUFBQSxLQUFLQyxHQUFHLEtBQUtGLEtBQUk7WUFDOUM7UUFDSjtJQUNKLEdBQUc7QUFDUDtBQUNBLE1BQU1YLHFCQUFxQixPQUFPTyxTQUFTLGVBQWVBLEtBQUtQLGtCQUFrQixJQUFJTyxLQUFLUCxrQkFBa0IsQ0FBQ1EsSUFBSSxDQUFDQyxXQUFXLFNBQVNVLEVBQUUsRUFBRTtJQUN0SSxPQUFPQyxhQUFhRDtBQUN4QjtBQUVBLElBQUksQ0FBQyxPQUFPdkIsUUFBUXlCLE9BQU8sS0FBSyxjQUFlLE9BQU96QixRQUFReUIsT0FBTyxLQUFLLFlBQVl6QixRQUFReUIsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPekIsUUFBUXlCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcks1QixPQUFPQyxjQUFjLENBQUNDLFFBQVF5QixPQUFPLEVBQUUsY0FBYztRQUFFeEIsT0FBTyxJQUFJO0lBQUM7SUFDbkVILE9BQU82QixNQUFNLENBQUMzQixRQUFReUIsT0FBTyxFQUFFekI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUXlCLE9BQU87QUFDbEMsQ0FBQyxDQUVELGlEQUFpRCIsInNvdXJjZXMiOlsid2VicGFjazovL19OX0UvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yZXF1ZXN0LWlkbGUtY2FsbGJhY2suanM/MWUyMCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IG51bGwsXG4gICAgY2FuY2VsSWRsZUNhbGxiYWNrOiBudWxsXG59KTtcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cbiAgICB9KTtcbn1cbl9leHBvcnQoZXhwb3J0cywge1xuICAgIHJlcXVlc3RJZGxlQ2FsbGJhY2s6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gcmVxdWVzdElkbGVDYWxsYmFjaztcbiAgICB9LFxuICAgIGNhbmNlbElkbGVDYWxsYmFjazogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjYW5jZWxJZGxlQ2FsbGJhY2s7XG4gICAgfVxufSk7XG5jb25zdCByZXF1ZXN0SWRsZUNhbGxiYWNrID0gdHlwZW9mIHNlbGYgIT09IFwidW5kZWZpbmVkXCIgJiYgc2VsZi5yZXF1ZXN0SWRsZUNhbGxiYWNrICYmIHNlbGYucmVxdWVzdElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oY2IpIHtcbiAgICBsZXQgc3RhcnQgPSBEYXRlLm5vdygpO1xuICAgIHJldHVybiBzZWxmLnNldFRpbWVvdXQoZnVuY3Rpb24oKSB7XG4gICAgICAgIGNiKHtcbiAgICAgICAgICAgIGRpZFRpbWVvdXQ6IGZhbHNlLFxuICAgICAgICAgICAgdGltZVJlbWFpbmluZzogZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIE1hdGgubWF4KDAsIDUwIC0gKERhdGUubm93KCkgLSBzdGFydCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9LCAxKTtcbn07XG5jb25zdCBjYW5jZWxJZGxlQ2FsbGJhY2sgPSB0eXBlb2Ygc2VsZiAhPT0gXCJ1bmRlZmluZWRcIiAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjayAmJiBzZWxmLmNhbmNlbElkbGVDYWxsYmFjay5iaW5kKHdpbmRvdykgfHwgZnVuY3Rpb24oaWQpIHtcbiAgICByZXR1cm4gY2xlYXJUaW1lb3V0KGlkKTtcbn07XG5cbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XG59XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXJlcXVlc3QtaWRsZS1jYWxsYmFjay5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJyZXF1ZXN0SWRsZUNhbGxiYWNrIiwiY2FuY2VsSWRsZUNhbGxiYWNrIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic2VsZiIsImJpbmQiLCJ3aW5kb3ciLCJjYiIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsInNldFRpbWVvdXQiLCJkaWRUaW1lb3V0IiwidGltZVJlbWFpbmluZyIsIk1hdGgiLCJtYXgiLCJpZCIsImNsZWFyVGltZW91dCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/request-idle-callback.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/route-loader.js": +/*!*******************************************************!*\ + !*** ./node_modules/next/dist/client/route-loader.js ***! + \*******************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("\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 markAssetError: function() {\n return markAssetError;\n },\n isAssetError: function() {\n return isAssetError;\n },\n getClientBuildManifest: function() {\n return getClientBuildManifest;\n },\n createRouteLoader: function() {\n return createRouteLoader;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _getassetpathfromroute = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/utils/get-asset-path-from-route */ \"./node_modules/next/dist/shared/lib/router/utils/get-asset-path-from-route.js\"));\nconst _trustedtypes = __webpack_require__(/*! ./trusted-types */ \"./node_modules/next/dist/client/trusted-types.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\n// 3.8s was arbitrarily chosen as it's what https://web.dev/interactive\n// considers as \"Good\" time-to-interactive. We must assume something went\n// wrong beyond this point, and then fall-back to a full page transition to\n// show the user something of value.\nconst MS_MAX_IDLE_DELAY = 3800;\nfunction withFuture(key, map, generator) {\n let entry = map.get(key);\n if (entry) {\n if (\"future\" in entry) {\n return entry.future;\n }\n return Promise.resolve(entry);\n }\n let resolver;\n const prom = new Promise((resolve)=>{\n resolver = resolve;\n });\n map.set(key, entry = {\n resolve: resolver,\n future: prom\n });\n return generator ? generator() // eslint-disable-next-line no-sequences\n .then((value)=>(resolver(value), value)).catch((err)=>{\n map.delete(key);\n throw err;\n }) : prom;\n}\nconst ASSET_LOAD_ERROR = Symbol(\"ASSET_LOAD_ERROR\");\nfunction markAssetError(err) {\n return Object.defineProperty(err, ASSET_LOAD_ERROR, {});\n}\nfunction isAssetError(err) {\n return err && ASSET_LOAD_ERROR in err;\n}\nfunction hasPrefetch(link) {\n try {\n link = document.createElement(\"link\");\n return(// with relList.support\n !!window.MSInputMethodContext && !!document.documentMode || link.relList.supports(\"prefetch\"));\n } catch (e) {\n return false;\n }\n}\nconst canPrefetch = hasPrefetch();\nfunction prefetchViaDom(href, as, link) {\n return new Promise((resolve, reject)=>{\n const selector = '\\n link[rel=\"prefetch\"][href^=\"' + href + '\"],\\n link[rel=\"preload\"][href^=\"' + href + '\"],\\n script[src^=\"' + href + '\"]';\n if (document.querySelector(selector)) {\n return resolve();\n }\n link = document.createElement(\"link\");\n // The order of property assignment here is intentional:\n if (as) link.as = as;\n link.rel = \"prefetch\";\n link.crossOrigin = undefined;\n link.onload = resolve;\n link.onerror = ()=>reject(markAssetError(new Error(\"Failed to prefetch: \" + href)));\n // `href` should always be last:\n link.href = href;\n document.head.appendChild(link);\n });\n}\nfunction appendScript(src, script) {\n return new Promise((resolve, reject)=>{\n script = document.createElement(\"script\");\n // The order of property assignment here is intentional.\n // 1. Setup success/failure hooks in case the browser synchronously\n // executes when `src` is set.\n script.onload = resolve;\n script.onerror = ()=>reject(markAssetError(new Error(\"Failed to load script: \" + src)));\n // 2. Configure the cross-origin attribute before setting `src` in case the\n // browser begins to fetch.\n script.crossOrigin = undefined;\n // 3. Finally, set the source and inject into the DOM in case the child\n // must be appended for fetching to start.\n script.src = src;\n document.body.appendChild(script);\n });\n}\n// We wait for pages to be built in dev before we start the route transition\n// timeout to prevent an un-necessary hard navigation in development.\nlet devBuildPromise;\n// Resolve a promise that times out after given amount of milliseconds.\nfunction resolvePromiseWithTimeout(p, ms, err) {\n return new Promise((resolve, reject)=>{\n let cancelled = false;\n p.then((r)=>{\n // Resolved, cancel the timeout\n cancelled = true;\n resolve(r);\n }).catch(reject);\n // We wrap these checks separately for better dead-code elimination in\n // production bundles.\n if (true) {\n (devBuildPromise || Promise.resolve()).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>setTimeout(()=>{\n if (!cancelled) {\n reject(err);\n }\n }, ms));\n });\n }\n if (false) {}\n });\n}\nfunction getClientBuildManifest() {\n if (self.__BUILD_MANIFEST) {\n return Promise.resolve(self.__BUILD_MANIFEST);\n }\n const onBuildManifest = new Promise((resolve)=>{\n // Mandatory because this is not concurrent safe:\n const cb = self.__BUILD_MANIFEST_CB;\n self.__BUILD_MANIFEST_CB = ()=>{\n resolve(self.__BUILD_MANIFEST);\n cb && cb();\n };\n });\n return resolvePromiseWithTimeout(onBuildManifest, MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Failed to load client build manifest\")));\n}\nfunction getFilesForRoute(assetPrefix, route) {\n if (true) {\n const scriptUrl = assetPrefix + \"/_next/static/chunks/pages\" + encodeURI((0, _getassetpathfromroute.default)(route, \".js\"));\n return Promise.resolve({\n scripts: [\n (0, _trustedtypes.__unsafeCreateTrustedScriptURL)(scriptUrl)\n ],\n // Styles are handled by `style-loader` in development:\n css: []\n });\n }\n return getClientBuildManifest().then((manifest)=>{\n if (!(route in manifest)) {\n throw markAssetError(new Error(\"Failed to lookup route: \" + route));\n }\n const allFiles = manifest[route].map((entry)=>assetPrefix + \"/_next/\" + encodeURI(entry));\n return {\n scripts: allFiles.filter((v)=>v.endsWith(\".js\")).map((v)=>(0, _trustedtypes.__unsafeCreateTrustedScriptURL)(v)),\n css: allFiles.filter((v)=>v.endsWith(\".css\"))\n };\n });\n}\nfunction createRouteLoader(assetPrefix) {\n const entrypoints = new Map();\n const loadedScripts = new Map();\n const styleSheets = new Map();\n const routes = new Map();\n function maybeExecuteScript(src) {\n // With HMR we might need to \"reload\" scripts when they are\n // disposed and readded. Executing scripts twice has no functional\n // differences\n if (false) {} else {\n return appendScript(src);\n }\n }\n function fetchStyleSheet(href) {\n let prom = styleSheets.get(href);\n if (prom) {\n return prom;\n }\n styleSheets.set(href, prom = fetch(href).then((res)=>{\n if (!res.ok) {\n throw new Error(\"Failed to load stylesheet: \" + href);\n }\n return res.text().then((text)=>({\n href: href,\n content: text\n }));\n }).catch((err)=>{\n throw markAssetError(err);\n }));\n return prom;\n }\n return {\n whenEntrypoint (route) {\n return withFuture(route, entrypoints);\n },\n onEntrypoint (route, execute) {\n (execute ? Promise.resolve().then(()=>execute()).then((exports1)=>({\n component: exports1 && exports1.default || exports1,\n exports: exports1\n }), (err)=>({\n error: err\n })) : Promise.resolve(undefined)).then((input)=>{\n const old = entrypoints.get(route);\n if (old && \"resolve\" in old) {\n if (input) {\n entrypoints.set(route, input);\n old.resolve(input);\n }\n } else {\n if (input) {\n entrypoints.set(route, input);\n } else {\n entrypoints.delete(route);\n }\n // when this entrypoint has been resolved before\n // the route is outdated and we want to invalidate\n // this cache entry\n routes.delete(route);\n }\n });\n },\n loadRoute (route, prefetch) {\n return withFuture(route, routes, ()=>{\n let devBuildPromiseResolve;\n if (true) {\n devBuildPromise = new Promise((resolve)=>{\n devBuildPromiseResolve = resolve;\n });\n }\n return resolvePromiseWithTimeout(getFilesForRoute(assetPrefix, route).then((param)=>{\n let { scripts , css } = param;\n return Promise.all([\n entrypoints.has(route) ? [] : Promise.all(scripts.map(maybeExecuteScript)),\n Promise.all(css.map(fetchStyleSheet))\n ]);\n }).then((res)=>{\n return this.whenEntrypoint(route).then((entrypoint)=>({\n entrypoint,\n styles: res[1]\n }));\n }), MS_MAX_IDLE_DELAY, markAssetError(new Error(\"Route did not complete loading: \" + route))).then((param)=>{\n let { entrypoint , styles } = param;\n const res = Object.assign({\n styles: styles\n }, entrypoint);\n return \"error\" in entrypoint ? entrypoint : res;\n }).catch((err)=>{\n if (prefetch) {\n // we don't want to cache errors during prefetch\n throw err;\n }\n return {\n error: err\n };\n }).finally(()=>{\n return devBuildPromiseResolve == null ? void 0 : devBuildPromiseResolve();\n });\n });\n },\n prefetch (route) {\n // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118\n // License: Apache 2.0\n let cn;\n if (cn = navigator.connection) {\n // Don't prefetch if using 2G or if Save-Data is enabled.\n if (cn.saveData || /2g/.test(cn.effectiveType)) return Promise.resolve();\n }\n return getFilesForRoute(assetPrefix, route).then((output)=>Promise.all(canPrefetch ? output.scripts.map((script)=>prefetchViaDom(script.toString(), \"script\")) : [])).then(()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>this.loadRoute(route, true).catch(()=>{}));\n }).catch(()=>{});\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=route-loader.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZS1sb2FkZXIuanMuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHLEVBQUU7SUFDMUIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWCxPQUFPQyxjQUFjLENBQUNTLFFBQVFFLE1BQU07UUFDcERDLFlBQVksSUFBSTtRQUNoQkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVAsU0FBUztJQUNiRyxnQkFBZ0IsV0FBVztRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLGNBQWMsV0FBVztRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QixXQUFXO1FBQy9CLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CLFdBQVc7UUFDMUIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sMkJBQTJCQyxtQkFBT0EsQ0FBQyw0R0FBeUM7QUFDbEYsTUFBTUMseUJBQXlCLFdBQVcsR0FBR0YseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLDJJQUFzRDtBQUN0SSxNQUFNRyxnQkFBZ0JILG1CQUFPQSxDQUFDLHlFQUFpQjtBQUMvQyxNQUFNSSx1QkFBdUJKLG1CQUFPQSxDQUFDLHlGQUF5QjtBQUM5RCx1RUFBdUU7QUFDdkUseUVBQXlFO0FBQ3pFLDJFQUEyRTtBQUMzRSxvQ0FBb0M7QUFDcEMsTUFBTUssb0JBQW9CO0FBQzFCLFNBQVNDLFdBQVdDLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxTQUFTLEVBQUU7SUFDckMsSUFBSUMsUUFBUUYsSUFBSVYsR0FBRyxDQUFDUztJQUNwQixJQUFJRyxPQUFPO1FBQ1AsSUFBSSxZQUFZQSxPQUFPO1lBQ25CLE9BQU9BLE1BQU1DLE1BQU07UUFDdkIsQ0FBQztRQUNELE9BQU9DLFFBQVFDLE9B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SyxhQUFhO0lBQ3JLdkksT0FBT0MsY0FBYyxDQUFDQyxRQUFRc0YsT0FBTyxFQUFFLGNBQWM7UUFBRXJGLE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPOEgsTUFBTSxDQUFDNUgsUUFBUXNGLE9BQU8sRUFBRXRGO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFzRixPQUFPO0FBQ2xDLENBQUMsQ0FFRCx3Q0FBd0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcm91dGUtbG9hZGVyLmpzP2VhMzQiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICB2YWx1ZTogdHJ1ZVxufSk7XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICBtYXJrQXNzZXRFcnJvcjogbnVsbCxcbiAgICBpc0Fzc2V0RXJyb3I6IG51bGwsXG4gICAgZ2V0Q2xpZW50QnVpbGRNYW5pZmVzdDogbnVsbCxcbiAgICBjcmVhdGVSb3V0ZUxvYWRlcjogbnVsbFxufSk7XG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgIGdldDogYWxsW25hbWVdXG4gICAgfSk7XG59XG5fZXhwb3J0KGV4cG9ydHMsIHtcbiAgICBtYXJrQXNzZXRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYXJrQXNzZXRFcnJvcjtcbiAgICB9LFxuICAgIGlzQXNzZXRFcnJvcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBpc0Fzc2V0RXJyb3I7XG4gICAgfSxcbiAgICBnZXRDbGllbnRCdWlsZE1hbmlmZXN0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGdldENsaWVudEJ1aWxkTWFuaWZlc3Q7XG4gICAgfSxcbiAgICBjcmVhdGVSb3V0ZUxvYWRlcjogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBjcmVhdGVSb3V0ZUxvYWRlcjtcbiAgICB9XG59KTtcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XG5jb25zdCBfZ2V0YXNzZXRwYXRoZnJvbXJvdXRlID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvZ2V0LWFzc2V0LXBhdGgtZnJvbS1yb3V0ZVwiKSk7XG5jb25zdCBfdHJ1c3RlZHR5cGVzID0gcmVxdWlyZShcIi4vdHJ1c3RlZC10eXBlc1wiKTtcbmNvbnN0IF9yZXF1ZXN0aWRsZWNhbGxiYWNrID0gcmVxdWlyZShcIi4vcmVxdWVzdC1pZGxlLWNhbGxiYWNrXCIpO1xuLy8gMy44cyB3YXMgYXJiaXRyYXJpbHkgY2hvc2VuIGFzIGl0J3Mgd2hhdCBodHRwczovL3dlYi5kZXYvaW50ZXJhY3RpdmVcbi8vIGNvbnNpZGVycyBhcyBcIkdvb2RcIiB0aW1lLXRvLWludGVyYWN0aXZlLiBXZSBtdXN0IGFzc3VtZSBzb21ldGhpbmcgd2VudFxuLy8gd3JvbmcgYmV5b25kIHRoaXMgcG9pbnQsIGFuZCB0aGVuIGZhbGwtYmFjayB0byBhIGZ1bGwgcGFnZSB0cmFuc2l0aW9uIHRvXG4vLyBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBvZiB2YWx1ZS5cbmNvbnN0IE1TX01BWF9JRExFX0RFTEFZID0gMzgwMDtcbmZ1bmN0aW9uIHdpdGhGdXR1cmUoa2V5LCBtYXAsIGdlbmVyYXRvcikge1xuICAgIGxldCBlbnRyeSA9IG1hcC5nZXQoa2V5KTtcbiAgICBpZiAoZW50cnkpIHtcbiAgICAgICAgaWYgKFwiZnV0dXJlXCIgaW4gZW50cnkpIHtcbiAgICAgICAgICAgIHJldHVybiBlbnRyeS5mdXR1cmU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShlbnRyeSk7XG4gICAgfVxuICAgIGxldCByZXNvbHZlcjtcbiAgICBjb25zdCBwcm9tID0gbmV3IFByb21pc2UoKHJlc29sdmUpPT57XG4gICAgICAgIHJlc29sdmVyID0gcmVzb2x2ZTtcbiAgICB9KTtcbiAgICBtYXAuc2V0KGtleSwgZW50cnkgPSB7XG4gICAgICAgIHJlc29sdmU6IHJlc29sdmVyLFxuICAgICAgICBmdXR1cmU6IHByb21cbiAgICB9KTtcbiAgICByZXR1cm4gZ2VuZXJhdG9yID8gZ2VuZXJhdG9yKCkvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tc2VxdWVuY2VzXG4gICAgLnRoZW4oKHZhbHVlKT0+KHJlc29sdmVyKHZhbHVlKSwgdmFsdWUpKS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICBtYXAuZGVsZXRlKGtleSk7XG4gICAgICAgIHRocm93IGVycjtcbiAgICB9KSA6IHByb207XG59XG5jb25zdCBBU1NFVF9MT0FEX0VSUk9SID0gU3ltYm9sKFwiQVNTRVRfTE9BRF9FUlJPUlwiKTtcbmZ1bmN0aW9uIG1hcmtBc3NldEVycm9yKGVycikge1xuICAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyLCBBU1NFVF9MT0FEX0VSUk9SLCB7fSk7XG59XG5mdW5jdGlvbiBpc0Fzc2V0RXJyb3IoZXJyKSB7XG4gICAgcmV0dXJuIGVyciAmJiBBU1NFVF9MT0FEX0VSUk9SIGluIGVycjtcbn1cbmZ1bmN0aW9uIGhhc1ByZWZldGNoKGxpbmspIHtcbiAgICB0cnkge1xuICAgICAgICBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImxpbmtcIik7XG4gICAgICAgIHJldHVybigvLyBkZXRlY3QgSUUxMSBzaW5jZSBpdCBzdXBwb3J0cyBwcmVmZXRjaCBidXQgaXNuJ3QgZGV0ZWN0ZWRcbiAgICAgICAgLy8gd2l0aCByZWxMaXN0LnN1cHBvcnRcbiAgICAgICAgISF3aW5kb3cuTVNJbnB1dE1ldGhvZENvbnRleHQgJiYgISFkb2N1bWVudC5kb2N1bWVudE1vZGUgfHwgbGluay5yZWxMaXN0LnN1cHBvcnRzKFwicHJlZmV0Y2hcIikpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmNvbnN0IGNhblByZWZldGNoID0gaGFzUHJlZmV0Y2goKTtcbmZ1bmN0aW9uIHByZWZldGNoVmlhRG9tKGhyZWYsIGFzLCBsaW5rKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgIGNvbnN0IHNlbGVjdG9yID0gJ1xcbiAgICAgIGxpbmtbcmVsPVwicHJlZmV0Y2hcIl1baHJlZl49XCInICsgaHJlZiArICdcIl0sXFxuICAgICAgbGlua1tyZWw9XCJwcmVsb2FkXCJdW2hyZWZePVwiJyArIGhyZWYgKyAnXCJdLFxcbiAgICAgIHNjcmlwdFtzcmNePVwiJyArIGhyZWYgKyAnXCJdJztcbiAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3Ioc2VsZWN0b3IpKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVzb2x2ZSgpO1xuICAgICAgICB9XG4gICAgICAgIGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwibGlua1wiKTtcbiAgICAgICAgLy8gVGhlIG9yZGVyIG9mIHByb3BlcnR5IGFzc2lnbm1lbnQgaGVyZSBpcyBpbnRlbnRpb25hbDpcbiAgICAgICAgaWYgKGFzKSBsaW5rLmFzID0gYXM7XG4gICAgICAgIGxpbmsucmVsID0gXCJwcmVmZXRjaFwiO1xuICAgICAgICBsaW5rLmNyb3NzT3JpZ2luID0gcHJvY2Vzcy5lbnYuX19ORVhUX0NST1NTX09SSUdJTjtcbiAgICAgICAgbGluay5vbmxvYWQgPSByZXNvbHZlO1xuICAgICAgICBsaW5rLm9uZXJyb3IgPSAoKT0+cmVqZWN0KG1hcmtBc3NldEVycm9yKG5ldyBFcnJvcihcIkZhaWxlZCB0byBwcmVmZXRjaDogXCIgKyBocmVmKSkpO1xuICAgICAgICAvLyBgaHJlZmAgc2hvdWxkIGFsd2F5cyBiZSBsYXN0OlxuICAgICAgICBsaW5rLmhyZWYgPSBocmVmO1xuICAgICAgICBkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKGxpbmspO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gYXBwZW5kU2NyaXB0KHNyYywgc2NyaXB0KSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpPT57XG4gICAgICAgIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzY3JpcHRcIik7XG4gICAgICAgIC8vIFRoZSBvcmRlciBvZiBwcm9wZXJ0eSBhc3NpZ25tZW50IGhlcmUgaXMgaW50ZW50aW9uYWwuXG4gICAgICAgIC8vIDEuIFNldHVwIHN1Y2Nlc3MvZmFpbHVyZSBob29rcyBpbiBjYXNlIHRoZSBicm93c2VyIHN5bmNocm9ub3VzbHlcbiAgICAgICAgLy8gICAgZXhlY3V0ZXMgd2hlbiBgc3JjYCBpcyBzZXQuXG4gICAgICAgIHNjcmlwdC5vbmxvYWQgPSByZXNvbHZlO1xuICAgICAgICBzY3JpcHQub25lcnJvciA9ICgpPT5yZWplY3QobWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKFwiRmFpbGVkIHRvIGxvYWQgc2NyaXB0OiBcIiArIHNyYykpKTtcbiAgICAgICAgLy8gMi4gQ29uZmlndXJlIHRoZSBjcm9zcy1vcmlnaW4gYXR0cmlidXRlIGJlZm9yZSBzZXR0aW5nIGBzcmNgIGluIGNhc2UgdGhlXG4gICAgICAgIC8vICAgIGJyb3dzZXIgYmVnaW5zIHRvIGZldGNoLlxuICAgICAgICBzY3JpcHQuY3Jvc3NPcmlnaW4gPSBwcm9jZXNzLmVudi5fX05FWFRfQ1JPU1NfT1JJR0lOO1xuICAgICAgICAvLyAzLiBGaW5hbGx5LCBzZXQgdGhlIHNvdXJjZSBhbmQgaW5qZWN0IGludG8gdGhlIERPTSBpbiBjYXNlIHRoZSBjaGlsZFxuICAgICAgICAvLyAgICBtdXN0IGJlIGFwcGVuZGVkIGZvciBmZXRjaGluZyB0byBzdGFydC5cbiAgICAgICAgc2NyaXB0LnNyYyA9IHNyYztcbiAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzY3JpcHQpO1xuICAgIH0pO1xufVxuLy8gV2Ugd2FpdCBmb3IgcGFnZXMgdG8gYmUgYnVpbHQgaW4gZGV2IGJlZm9yZSB3ZSBzdGFydCB0aGUgcm91dGUgdHJhbnNpdGlvblxuLy8gdGltZW91dCB0byBwcmV2ZW50IGFuIHVuLW5lY2Vzc2FyeSBoYXJkIG5hdmlnYXRpb24gaW4gZGV2ZWxvcG1lbnQuXG5sZXQgZGV2QnVpbGRQcm9taXNlO1xuLy8gUmVzb2x2ZSBhIHByb21pc2UgdGhhdCB0aW1lcyBvdXQgYWZ0ZXIgZ2l2ZW4gYW1vdW50IG9mIG1pbGxpc2Vjb25kcy5cbmZ1bmN0aW9uIHJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQocCwgbXMsIGVycikge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xuICAgICAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIHAudGhlbigocik9PntcbiAgICAgICAgICAgIC8vIFJlc29sdmVkLCBjYW5jZWwgdGhlIHRpbWVvdXRcbiAgICAgICAgICAgIGNhbmNlbGxlZCA9IHRydWU7XG4gICAgICAgICAgICByZXNvbHZlKHIpO1xuICAgICAgICB9KS5jYXRjaChyZWplY3QpO1xuICAgICAgICAvLyBXZSB3cmFwIHRoZXNlIGNoZWNrcyBzZXBhcmF0ZWx5IGZvciBiZXR0ZXIgZGVhZC1jb2RlIGVsaW1pbmF0aW9uIGluXG4gICAgICAgIC8vIHByb2R1Y3Rpb24gYnVuZGxlcy5cbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgICAgIChkZXZCdWlsZFByb21pc2UgfHwgUHJvbWlzZS5yZXNvbHZlKCkpLnRoZW4oKCk9PntcbiAgICAgICAgICAgICAgICAoMCwgX3JlcXVlc3RpZGxlY2FsbGJhY2sucmVxdWVzdElkbGVDYWxsYmFjaykoKCk9PnNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVqZWN0KGVycik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0sIG1zKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgKDAsIF9yZXF1ZXN0aWRsZWNhbGxiYWNrLnJlcXVlc3RJZGxlQ2FsbGJhY2spKCgpPT5zZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgICAgICAgIGlmICghY2FuY2VsbGVkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIG1zKSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGdldENsaWVudEJ1aWxkTWFuaWZlc3QoKSB7XG4gICAgaWYgKHNlbGYuX19CVUlMRF9NQU5JRkVTVCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHNlbGYuX19CVUlMRF9NQU5JRkVTVCk7XG4gICAgfVxuICAgIGNvbnN0IG9uQnVpbGRNYW5pZmVzdCA9IG5ldyBQcm9taXNlKChyZXNvbHZlKT0+e1xuICAgICAgICAvLyBNYW5kYXRvcnkgYmVjYXVzZSB0aGlzIGlzIG5vdCBjb25jdXJyZW50IHNhZmU6XG4gICAgICAgIGNvbnN0IGNiID0gc2VsZi5fX0JVSUxEX01BTklGRVNUX0NCO1xuICAgICAgICBzZWxmLl9fQlVJTERfTUFOSUZFU1RfQ0IgPSAoKT0+e1xuICAgICAgICAgICAgcmVzb2x2ZShzZWxmLl9fQlVJTERfTUFOSUZFU1QpO1xuICAgICAgICAgICAgY2IgJiYgY2IoKTtcbiAgICAgICAgfTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzb2x2ZVByb21pc2VXaXRoVGltZW91dChvbkJ1aWxkTWFuaWZlc3QsIE1TX01BWF9JRExFX0RFTEFZLCBtYXJrQXNzZXRFcnJvcihuZXcgRXJyb3IoXCJGYWlsZWQgdG8gbG9hZCBjbGllbnQgYnVpbGQgbWFuaWZlc3RcIikpKTtcbn1cbmZ1bmN0aW9uIGdldEZpbGVzRm9yUm91dGUoYXNzZXRQcmVmaXgsIHJvdXRlKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcbiAgICAgICAgY29uc3Qgc2NyaXB0VXJsID0gYXNzZXRQcmVmaXggKyBcIi9fbmV4dC9zdGF0aWMvY2h1bmtzL3BhZ2VzXCIgKyBlbmNvZGVVUkkoKDAsIF9nZXRhc3NldHBhdGhmcm9tcm91dGUuZGVmYXVsdCkocm91dGUsIFwiLmpzXCIpKTtcbiAgICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7XG4gICAgICAgICAgICBzY3JpcHRzOiBbXG4gICAgICAgICAgICAgICAgKDAsIF90cnVzdGVkdHlwZXMuX191bnNhZmVDcmVhdGVUcnVzdGVkU2NyaXB0VVJMKShzY3JpcHRVcmwpXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgLy8gU3R5bGVzIGFyZSBoYW5kbGVkIGJ5IGBzdHlsZS1sb2FkZXJgIGluIGRldmVsb3BtZW50OlxuICAgICAgICAgICAgY3NzOiBbXVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGdldENsaWVudEJ1aWxkTWFuaWZlc3QoKS50aGVuKChtYW5pZmVzdCk9PntcbiAgICAgICAgaWYgKCEocm91dGUgaW4gbWFuaWZlc3QpKSB7XG4gICAgICAgICAgICB0aHJvdyBtYXJrQXNzZXRFcnJvcihuZXcgRXJyb3IoXCJGYWlsZWQgdG8gbG9va3VwIHJvdXRlOiBcIiArIHJvdXRlKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWxsRmlsZXMgPSBtYW5pZmVzdFtyb3V0ZV0ubWFwKChlbnRyeSk9PmFzc2V0UHJlZml4ICsgXCIvX25leHQvXCIgKyBlbmNvZGVVUkkoZW50cnkpKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIHNjcmlwdHM6IGFsbEZpbGVzLmZpbHRlcigodik9PnYuZW5kc1dpdGgoXCIuanNcIikpLm1hcCgodik9PigwLCBfdHJ1c3RlZHR5cGVzLl9fdW5zYWZlQ3JlYXRlVHJ1c3RlZFNjcmlwdFVSTCkodikpLFxuICAgICAgICAgICAgY3NzOiBhbGxGaWxlcy5maWx0ZXIoKHYpPT52LmVuZHNXaXRoKFwiLmNzc1wiKSlcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVJvdXRlTG9hZGVyKGFzc2V0UHJlZml4KSB7XG4gICAgY29uc3QgZW50cnlwb2ludHMgPSBuZXcgTWFwKCk7XG4gICAgY29uc3QgbG9hZGVkU2NyaXB0cyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCBzdHlsZVNoZWV0cyA9IG5ldyBNYXAoKTtcbiAgICBjb25zdCByb3V0ZXMgPSBuZXcgTWFwKCk7XG4gICAgZnVuY3Rpb24gbWF5YmVFeGVjdXRlU2NyaXB0KHNyYykge1xuICAgICAgICAvLyBXaXRoIEhNUiB3ZSBtaWdodCBuZWVkIHRvIFwicmVsb2FkXCIgc2NyaXB0cyB3aGVuIHRoZXkgYXJlXG4gICAgICAgIC8vIGRpc3Bvc2VkIGFuZCByZWFkZGVkLiBFeGVjdXRpbmcgc2NyaXB0cyB0d2ljZSBoYXMgbm8gZnVuY3Rpb25hbFxuICAgICAgICAvLyBkaWZmZXJlbmNlc1xuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgbGV0IHByb20gPSBsb2FkZWRTY3JpcHRzLmdldChzcmMudG9TdHJpbmcoKSk7XG4gICAgICAgICAgICBpZiAocHJvbSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2tpcCBleGVjdXRpbmcgc2NyaXB0IGlmIGl0J3MgYWxyZWFkeSBpbiB0aGUgRE9NOlxuICAgICAgICAgICAgaWYgKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ3NjcmlwdFtzcmNePVwiJyArIHNyYyArICdcIl0nKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxvYWRlZFNjcmlwdHMuc2V0KHNyYy50b1N0cmluZygpLCBwcm9tID0gYXBwZW5kU2NyaXB0KHNyYykpO1xuICAgICAgICAgICAgcmV0dXJuIHByb207XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gYXBwZW5kU2NyaXB0KHNyYyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZmV0Y2hTdHlsZVNoZWV0KGhyZWYpIHtcbiAgICAgICAgbGV0IHByb20gPSBzdHlsZVNoZWV0cy5nZXQoaHJlZik7XG4gICAgICAgIGlmIChwcm9tKSB7XG4gICAgICAgICAgICByZXR1cm4gcHJvbTtcbiAgICAgICAgfVxuICAgICAgICBzdHlsZVNoZWV0cy5zZXQoaHJlZiwgcHJvbSA9IGZldGNoKGhyZWYpLnRoZW4oKHJlcyk9PntcbiAgICAgICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIGxvYWQgc3R5bGVzaGVldDogXCIgKyBocmVmKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXMudGV4dCgpLnRoZW4oKHRleHQpPT4oe1xuICAgICAgICAgICAgICAgICAgICBocmVmOiBocmVmLFxuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiB0ZXh0XG4gICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICB9KS5jYXRjaCgoZXJyKT0+e1xuICAgICAgICAgICAgdGhyb3cgbWFya0Fzc2V0RXJyb3IoZXJyKTtcbiAgICAgICAgfSkpO1xuICAgICAgICByZXR1cm4gcHJvbTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgd2hlbkVudHJ5cG9pbnQgKHJvdXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gd2l0aEZ1dHVyZShyb3V0ZSwgZW50cnlwb2ludHMpO1xuICAgICAgICB9LFxuICAgICAgICBvbkVudHJ5cG9pbnQgKHJvdXRlLCBleGVjdXRlKSB7XG4gICAgICAgICAgICAoZXhlY3V0ZSA/IFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmV4ZWN1dGUoKSkudGhlbigoZXhwb3J0czEpPT4oe1xuICAgICAgICAgICAgICAgICAgICBjb21wb25lbnQ6IGV4cG9ydHMxICYmIGV4cG9ydHMxLmRlZmF1bHQgfHwgZXhwb3J0czEsXG4gICAgICAgICAgICAgICAgICAgIGV4cG9ydHM6IGV4cG9ydHMxXG4gICAgICAgICAgICAgICAgfSksIChlcnIpPT4oe1xuICAgICAgICAgICAgICAgICAgICBlcnJvcjogZXJyXG4gICAgICAgICAgICAgICAgfSkpIDogUHJvbWlzZS5yZXNvbHZlKHVuZGVmaW5lZCkpLnRoZW4oKGlucHV0KT0+e1xuICAgICAgICAgICAgICAgIGNvbnN0IG9sZCA9IGVudHJ5cG9pbnRzLmdldChyb3V0ZSk7XG4gICAgICAgICAgICAgICAgaWYgKG9sZCAmJiBcInJlc29sdmVcIiBpbiBvbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlucHV0KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRyeXBvaW50cy5zZXQocm91dGUsIGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9sZC5yZXNvbHZlKGlucHV0KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbnB1dCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludHMuc2V0KHJvdXRlLCBpbnB1dCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRyeXBvaW50cy5kZWxldGUocm91dGUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhpcyBlbnRyeXBvaW50IGhhcyBiZWVuIHJlc29sdmVkIGJlZm9yZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGUgcm91dGUgaXMgb3V0ZGF0ZWQgYW5kIHdlIHdhbnQgdG8gaW52YWxpZGF0ZVxuICAgICAgICAgICAgICAgICAgICAvLyB0aGlzIGNhY2hlIGVudHJ5XG4gICAgICAgICAgICAgICAgICAgIHJvdXRlcy5kZWxldGUocm91dGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBsb2FkUm91dGUgKHJvdXRlLCBwcmVmZXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHdpdGhGdXR1cmUocm91dGUsIHJvdXRlcywgKCk9PntcbiAgICAgICAgICAgICAgICBsZXQgZGV2QnVpbGRQcm9taXNlUmVzb2x2ZTtcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIikge1xuICAgICAgICAgICAgICAgICAgICBkZXZCdWlsZFByb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIGRldkJ1aWxkUHJvbWlzZVJlc29sdmUgPSByZXNvbHZlO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIHJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQoZ2V0RmlsZXNGb3JSb3V0ZShhc3NldFByZWZpeCwgcm91dGUpLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICAgICAgICAgICAgICBsZXQgeyBzY3JpcHRzICwgY3NzICB9ID0gcGFyYW07XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLmFsbChbXG4gICAgICAgICAgICAgICAgICAgICAgICBlbnRyeXBvaW50cy5oYXMocm91dGUpID8gW10gOiBQcm9taXNlLmFsbChzY3JpcHRzLm1hcChtYXliZUV4ZWN1dGVTY3JpcHQpKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFByb21pc2UuYWxsKGNzcy5tYXAoZmV0Y2hTdHlsZVNoZWV0KSlcbiAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgfSkudGhlbigocmVzKT0+e1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy53aGVuRW50cnlwb2ludChyb3V0ZSkudGhlbigoZW50cnlwb2ludCk9Pih7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZXM6IHJlc1sxXVxuICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgICAgICAgICAgICAgIH0pLCBNU19NQVhfSURMRV9ERUxBWSwgbWFya0Fzc2V0RXJyb3IobmV3IEVycm9yKFwiUm91dGUgZGlkIG5vdCBjb21wbGV0ZSBsb2FkaW5nOiBcIiArIHJvdXRlKSkpLnRoZW4oKHBhcmFtKT0+e1xuICAgICAgICAgICAgICAgICAgICBsZXQgeyBlbnRyeXBvaW50ICwgc3R5bGVzICB9ID0gcGFyYW07XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHJlcyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVzOiBzdHlsZXNcbiAgICAgICAgICAgICAgICAgICAgfSwgZW50cnlwb2ludCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBcImVycm9yXCIgaW4gZW50cnlwb2ludCA/IGVudHJ5cG9pbnQgOiByZXM7XG4gICAgICAgICAgICAgICAgfSkuY2F0Y2goKGVycik9PntcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByZWZldGNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB3ZSBkb24ndCB3YW50IHRvIGNhY2hlIGVycm9ycyBkdXJpbmcgcHJlZmV0Y2hcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3I6IGVyclxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH0pLmZpbmFsbHkoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRldkJ1aWxkUHJvbWlzZVJlc29sdmUgPT0gbnVsbCA/IHZvaWQgMCA6IGRldkJ1aWxkUHJvbWlzZVJlc29sdmUoKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBwcmVmZXRjaCAocm91dGUpIHtcbiAgICAgICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9Hb29nbGVDaHJvbWVMYWJzL3F1aWNrbGluay9ibG9iLzQ1M2E2NjFmYTFmYTk0MGUyZDJlMDQ0NDUyMzk4ZTM4YzY3YTk4ZmIvc3JjL2luZGV4Lm1qcyNMMTE1LUwxMThcbiAgICAgICAgICAgIC8vIExpY2Vuc2U6IEFwYWNoZSAyLjBcbiAgICAgICAgICAgIGxldCBjbjtcbiAgICAgICAgICAgIGlmIChjbiA9IG5hdmlnYXRvci5jb25uZWN0aW9uKSB7XG4gICAgICAgICAgICAgICAgLy8gRG9uJ3QgcHJlZmV0Y2ggaWYgdXNpbmcgMkcgb3IgaWYgU2F2ZS1EYXRhIGlzIGVuYWJsZWQuXG4gICAgICAgICAgICAgICAgaWYgKGNuLnNhdmVEYXRhIHx8IC8yZy8udGVzdChjbi5lZmZlY3RpdmVUeXBlKSkgcmV0dXJuIFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGdldEZpbGVzRm9yUm91dGUoYXNzZXRQcmVmaXgsIHJvdXRlKS50aGVuKChvdXRwdXQpPT5Qcm9taXNlLmFsbChjYW5QcmVmZXRjaCA/IG91dHB1dC5zY3JpcHRzLm1hcCgoc2NyaXB0KT0+cHJlZmV0Y2hWaWFEb20oc2NyaXB0LnRvU3RyaW5nKCksIFwic2NyaXB0XCIpKSA6IFtdKSkudGhlbigoKT0+e1xuICAgICAgICAgICAgICAgICgwLCBfcmVxdWVzdGlkbGVjYWxsYmFjay5yZXF1ZXN0SWRsZUNhbGxiYWNrKSgoKT0+dGhpcy5sb2FkUm91dGUocm91dGUsIHRydWUpLmNhdGNoKCgpPT57fSkpO1xuICAgICAgICAgICAgfSkuY2F0Y2goLy8gc3dhbGxvdyBwcmVmZXRjaCBlcnJvcnNcbiAgICAgICAgICAgICgpPT57fSk7XG4gICAgICAgIH1cbiAgICB9O1xufVxuXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xufVxuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1yb3V0ZS1sb2FkZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwibWFya0Fzc2V0RXJyb3IiLCJpc0Fzc2V0RXJyb3IiLCJnZXRDbGllbnRCdWlsZE1hbmlmZXN0IiwiY3JlYXRlUm91dGVMb2FkZXIiLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX2dldGFzc2V0cGF0aGZyb21yb3V0ZSIsIl8iLCJfdHJ1c3RlZHR5cGVzIiwiX3JlcXVlc3RpZGxlY2FsbGJhY2siLCJNU19NQVhfSURMRV9ERUxBWSIsIndpdGhGdXR1cmUiLCJrZXkiLCJtYXAiLCJnZW5lcmF0b3IiLCJlbnRyeSIsImZ1dHVyZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVzb2x2ZXIiLCJwcm9tIiwic2V0IiwidGhlbiIsImNhdGNoIiwiZXJyIiwiZGVsZXRlIiwiQVNTRVRfTE9BRF9FUlJPUiIsIlN5bWJvbCIsImhhc1ByZWZldGNoIiwibGluayIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIndpbmRvdyIsIk1TSW5wdXRNZXRob2RDb250ZXh0IiwiZG9jdW1lbnRNb2RlIiwicmVsTGlzdCIsInN1cHBvcnRzIiwiZSIsImNhblByZWZldGNoIiwicHJlZmV0Y2hWaWFEb20iLCJocmVmIiwiYXMiLCJyZWplY3QiLCJzZWxlY3RvciIsInF1ZXJ5U2VsZWN0b3IiLCJyZWwiLCJjcm9zc09yaWdpbiIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfQ1JPU1NfT1JJR0lOIiwib25sb2FkIiwib25lcnJvciIsIkVycm9yIiwiaGVhZCIsImFwcGVuZENoaWxkIiwiYXBwZW5kU2NyaXB0Iiwic3JjIiwic2NyaXB0IiwiYm9keSIsImRldkJ1aWxkUHJvbWlzZSIsInJlc29sdmVQcm9taXNlV2l0aFRpbWVvdXQiLCJwIiwibXMiLCJjYW5jZWxsZWQiLCJyIiwicmVxdWVzdElkbGVDYWxsYmFjayIsInNldFRpbWVvdXQiLCJzZWxmIiwiX19CVUlMRF9NQU5JRkVTVCIsIm9uQnVpbGRNYW5pZmVzdCIsImNiIiwiX19CVUlMRF9NQU5JRkVTVF9DQiIsImdldEZpbGVzRm9yUm91dGUiLCJhc3NldFByZWZpeCIsInJvdXRlIiwic2NyaXB0VXJsIiwiZW5jb2RlVVJJIiwiZGVmYXVsdCIsInNjcmlwdHMiLCJfX3Vuc2FmZUNyZWF0ZVRydXN0ZWRTY3JpcHRVUkwiLCJjc3MiLCJtYW5pZmVzdCIsImFsbEZpbGVzIiwiZmlsdGVyIiwidiIsImVuZHNXaXRoIiwiZW50cnlwb2ludHMiLCJNYXAiLCJsb2FkZWRTY3JpcHRzIiwic3R5bGVTaGVldHMiLCJyb3V0ZXMiLCJtYXliZUV4ZWN1dGVTY3JpcHQiLCJ0b1N0cmluZyIsImZldGNoU3R5bGVTaGVldCIsImZldGNoIiwicmVzIiwib2siLCJ0ZXh0IiwiY29udGVudCIsIndoZW5FbnRyeXBvaW50Iiwib25FbnRyeXBvaW50IiwiZXhlY3V0ZSIsImV4cG9ydHMxIiwiY29tcG9uZW50IiwiZXJyb3IiLCJ1bmRlZmluZWQiLCJpbnB1dCIsIm9sZCIsImxvYWRSb3V0ZSIsInByZWZldGNoIiwiZGV2QnVpbGRQcm9taXNlUmVzb2x2ZSIsInBhcmFtIiwiaGFzIiwiZW50cnlwb2ludCIsInN0eWxlcyIsImFzc2lnbiIsImZpbmFsbHkiLCJjbiIsIm5hdmlnYXRvciIsImNvbm5lY3Rpb24iLCJzYXZlRGF0YSIsInRlc3QiLCJlZmZlY3RpdmVUeXBlIiwib3V0cHV0IiwiX19lc01vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/route-loader.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/router.js": +/*!*************************************************!*\ + !*** ./node_modules/next/dist/client/router.js ***! + \*************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("/* global window */ \nvar _s = $RefreshSig$();\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 Router: function() {\n return _router.default;\n },\n // Export the singletonRouter and this is the public API.\n default: function() {\n return _default;\n },\n withRouter: function() {\n return _withrouter.default;\n },\n useRouter: function() {\n return useRouter;\n },\n createRouter: function() {\n return createRouter;\n },\n makePublicRouterInstance: function() {\n return makePublicRouterInstance;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"./node_modules/next/dist/compiled/react/index.js\"));\nconst _router = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../shared/lib/router/router */ \"./node_modules/next/dist/shared/lib/router/router.js\"));\nconst _routercontext = __webpack_require__(/*! ../shared/lib/router-context */ \"./node_modules/next/dist/shared/lib/router-context.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../lib/is-error */ \"./node_modules/next/dist/lib/is-error.js\"));\nconst _withrouter = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./with-router */ \"./node_modules/next/dist/client/with-router.js\"));\nconst singletonRouter = {\n router: null,\n readyCallbacks: [],\n ready (cb) {\n if (this.router) return cb();\n if (true) {\n this.readyCallbacks.push(cb);\n }\n }\n};\n// Create public properties and methods of the router in the singletonRouter\nconst urlPropertyFields = [\n \"pathname\",\n \"route\",\n \"query\",\n \"asPath\",\n \"components\",\n \"isFallback\",\n \"basePath\",\n \"locale\",\n \"locales\",\n \"defaultLocale\",\n \"isReady\",\n \"isPreview\",\n \"isLocaleDomain\",\n \"domainLocales\"\n];\nconst routerEvents = [\n \"routeChangeStart\",\n \"beforeHistoryChange\",\n \"routeChangeComplete\",\n \"routeChangeError\",\n \"hashChangeStart\",\n \"hashChangeComplete\"\n];\nconst coreMethodFields = [\n \"push\",\n \"replace\",\n \"reload\",\n \"back\",\n \"prefetch\",\n \"beforePopState\"\n];\n// Events is a static property on the router, the router doesn't have to be initialized to use it\nObject.defineProperty(singletonRouter, \"events\", {\n get () {\n return _router.default.events;\n }\n});\nfunction getRouter() {\n if (!singletonRouter.router) {\n const message = \"No router instance found.\\n\" + 'You should only use \"next/router\" on the client side of your app.\\n';\n throw new Error(message);\n }\n return singletonRouter.router;\n}\nurlPropertyFields.forEach((field)=>{\n // Here we need to use Object.defineProperty because we need to return\n // the property assigned to the actual router\n // The value might get changed as we change routes and this is the\n // proper way to access it\n Object.defineProperty(singletonRouter, field, {\n get () {\n const router = getRouter();\n return router[field];\n }\n });\n});\ncoreMethodFields.forEach((field)=>{\n singletonRouter[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const router = getRouter();\n return router[field](...args);\n };\n});\nrouterEvents.forEach((event)=>{\n singletonRouter.ready(()=>{\n _router.default.events.on(event, function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n const eventField = \"on\" + event.charAt(0).toUpperCase() + event.substring(1);\n const _singletonRouter = singletonRouter;\n if (_singletonRouter[eventField]) {\n try {\n _singletonRouter[eventField](...args);\n } catch (err) {\n console.error(\"Error when running the Router event: \" + eventField);\n console.error((0, _iserror.default)(err) ? err.message + \"\\n\" + err.stack : err + \"\");\n }\n }\n });\n });\n});\nconst _default = singletonRouter;\nfunction useRouter() {\n _s();\n const router = _react.default.useContext(_routercontext.RouterContext);\n if (!router) {\n throw new Error(\"NextRouter was not mounted. https://nextjs.org/docs/messages/next-router-not-mounted\");\n }\n return router;\n}\n_s(useRouter, \"rbAhEc3dLGnVlsHWaSDsgP4MZS0=\");\nfunction createRouter() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n singletonRouter.router = new _router.default(...args);\n singletonRouter.readyCallbacks.forEach((cb)=>cb());\n singletonRouter.readyCallbacks = [];\n return singletonRouter.router;\n}\nfunction makePublicRouterInstance(router) {\n const scopedRouter = router;\n const instance = {};\n for (const property of urlPropertyFields){\n if (typeof scopedRouter[property] === \"object\") {\n instance[property] = Object.assign(Array.isArray(scopedRouter[property]) ? [] : {}, scopedRouter[property]) // makes sure query is not stateful\n ;\n continue;\n }\n instance[property] = scopedRouter[property];\n }\n // Events is a static property on the router, the router doesn't have to be initialized to use it\n instance.events = _router.default.events;\n coreMethodFields.forEach((field)=>{\n instance[field] = function() {\n for(var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++){\n args[_key] = arguments[_key];\n }\n return scopedRouter[field](...args);\n };\n });\n return instance;\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.js.map\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports on update so we can compare the boundary\n // signatures.\n module.hot.dispose(function (data) {\n data.prevExports = currentExports;\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevExports !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevExports !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9yb3V0ZXIuanMuanMiLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCLEdBQWdCOztBQUNqQ0EsOENBQTZDO0lBQ3pDRyxPQUFPLElBQUk7QUFDZixDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQU9OO0FBQ0EsU0FBU08sUUFBUUMsTUFBTSxFQUFFQyxHQUFHLEVBQUU7SUFDMUIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJYixPQUFPQyxjQUFjLENBQUNXLFFBQVFFLE1BQU07UUFDcERDLFlBQVksSUFBSTtRQUNoQkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVQsU0FBUztJQUNiRyxRQUFRLFdBQVc7UUFDZixPQUFPWSxRQUFRWCxPQUFPO0lBQzFCO0lBQ0EseURBQXlEO0lBQ3pEQSxTQUFTLFdBQVc7UUFDaEIsT0FBT1k7SUFDWDtJQUNBWCxZQUFZLFdBQVc7UUFDbkIsT0FBT1ksWUFBWWIsT0FBTztJQUM5QjtJQUNBRSxXQUFXLFdBQVc7UUFDbEIsT0FBT0E7SUFDWDtJQUNBQyxjQUFjLFdBQVc7UUFDckIsT0FBT0E7SUFDWDtJQUNBQywwQkFBMEIsV0FBVztRQUNqQyxPQUFPQTtJQUNYO0FBQ0o7QUFDQSxNQUFNVSwyQkFBMkJDLG1CQUFPQSxDQUFDLDRHQUF5QztBQUNsRixNQUFNQyxTQUFTLFdBQVcsR0FBR0YseUJBQXlCRyxDQUFDLENBQUNGLG1CQUFPQSxDQUFDLCtEQUFPO0FBQ3ZFLE1BQU1KLFVBQVUsV0FBVyxHQUFHRyx5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMseUZBQTZCO0FBQzlGLE1BQU1HLGlCQUFpQkgsbUJBQU9BLENBQUMsMkZBQThCO0FBQzdELE1BQU1JLFdBQVcsV0FBVyxHQUFHTCx5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsaUVBQWlCO0FBQ25GLE1BQU1GLGNBQWMsV0FBVyxHQUFHQyx5QkFBeUJHLENBQUMsQ0FBQ0YsbUJB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TUFBTTtJQUN4Q0QsaUJBQWlCSyxPQUFPLENBQUMsQ0FBQ0MsUUFBUTtRQUM5QnFCLFFBQVEsQ0FBQ3JCLE1BQU0sR0FBRyxXQUFXO1lBQ3pCLElBQUksSUFBSUMsT0FBT0MsVUFBVUMsTUFBTSxFQUFFQyxPQUFPLElBQUlDLE1BQU1KLE9BQU9LLE9BQU8sR0FBR0EsT0FBT0wsTUFBTUssT0FBTztnQkFDbkZGLElBQUksQ0FBQ0UsS0FBSyxHQUFHSixTQUFTLENBQUNJLEtBQUs7WUFDaEM7WUFDQSxPQUFPYyxZQUFZLENBQUNwQixNQUFNLElBQUlJO1FBQ2xDO0lBQ0o7SUFDQSxPQUFPaUI7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPM0QsUUFBUUksT0FBTyxLQUFLLGNBQWUsT0FBT0osUUFBUUksT0FBTyxLQUFLLFlBQVlKLFFBQVFJLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT0osUUFBUUksT0FBTyxDQUFDMkQsVUFBVSxLQUFLLGFBQWE7SUFDcktqRSxPQUFPQyxjQUFjLENBQUNDLFFBQVFJLE9BQU8sRUFBRSxjQUFjO1FBQUVILE9BQU8sSUFBSTtJQUFDO0lBQ25FSCxPQUFPK0QsTUFBTSxDQUFDN0QsUUFBUUksT0FBTyxFQUFFSjtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRSSxPQUFPO0FBQ2xDLENBQUMsQ0FFRCxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvcm91dGVyLmpzPzMxZmMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZ2xvYmFsIHdpbmRvdyAqLyBcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgIHZhbHVlOiB0cnVlXG59KTtcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICAgIFJvdXRlcjogbnVsbCxcbiAgICBkZWZhdWx0OiBudWxsLFxuICAgIHdpdGhSb3V0ZXI6IG51bGwsXG4gICAgdXNlUm91dGVyOiBudWxsLFxuICAgIGNyZWF0ZVJvdXRlcjogbnVsbCxcbiAgICBtYWtlUHVibGljUm91dGVySW5zdGFuY2U6IG51bGxcbn0pO1xuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxuICAgIH0pO1xufVxuX2V4cG9ydChleHBvcnRzLCB7XG4gICAgUm91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9yb3V0ZXIuZGVmYXVsdDtcbiAgICB9LFxuICAgIC8vIEV4cG9ydCB0aGUgc2luZ2xldG9uUm91dGVyIGFuZCB0aGlzIGlzIHRoZSBwdWJsaWMgQVBJLlxuICAgIGRlZmF1bHQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XG4gICAgfSxcbiAgICB3aXRoUm91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF93aXRocm91dGVyLmRlZmF1bHQ7XG4gICAgfSxcbiAgICB1c2VSb3V0ZXI6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdXNlUm91dGVyO1xuICAgIH0sXG4gICAgY3JlYXRlUm91dGVyOiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZVJvdXRlcjtcbiAgICB9LFxuICAgIG1ha2VQdWJsaWNSb3V0ZXJJbnN0YW5jZTogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBtYWtlUHVibGljUm91dGVySW5zdGFuY2U7XG4gICAgfVxufSk7XG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xuY29uc3QgX3JvdXRlciA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3JvdXRlclwiKSk7XG5jb25zdCBfcm91dGVyY29udGV4dCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci1jb250ZXh0XCIpO1xuY29uc3QgX2lzZXJyb3IgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuLi9saWIvaXMtZXJyb3JcIikpO1xuY29uc3QgX3dpdGhyb3V0ZXIgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL3dpdGgtcm91dGVyXCIpKTtcbmNvbnN0IHNpbmdsZXRvblJvdXRlciA9IHtcbiAgICByb3V0ZXI6IG51bGwsXG4gICAgcmVhZHlDYWxsYmFja3M6IFtdLFxuICAgIHJlYWR5IChjYikge1xuICAgICAgICBpZiAodGhpcy5yb3V0ZXIpIHJldHVybiBjYigpO1xuICAgICAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgICAgICAgdGhpcy5yZWFkeUNhbGxiYWNrcy5wdXNoKGNiKTtcbiAgICAgICAgfVxuICAgIH1cbn07XG4vLyBDcmVhdGUgcHVibGljIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgb2YgdGhlIHJvdXRlciBpbiB0aGUgc2luZ2xldG9uUm91dGVyXG5jb25zdCB1cmxQcm9wZXJ0eUZpZWxkcyA9IFtcbiAgICBcInBhdGhuYW1lXCIsXG4gICAgXCJyb3V0ZVwiLFxuICAgIFwicXVlcnlcIixcbiAgICBcImFzUGF0aFwiLFxuICAgIFwiY29tcG9uZW50c1wiLFxuICAgIFwiaXNGYWxsYmFja1wiLFxuICAgIFwiYmFzZVBhdGhcIixcbiAgICBcImxvY2FsZVwiLFxuICAgIFwibG9jYWxlc1wiLFxuICAgIFwiZGVmYXVsdExvY2FsZVwiLFxuICAgIFwiaXNSZWFkeVwiLFxuICAgIFwiaXNQcmV2aWV3XCIsXG4gICAgXCJpc0xvY2FsZURvbWFpblwiLFxuICAgIFwiZG9tYWluTG9jYWxlc1wiXG5dO1xuY29uc3Qgcm91dGVyRXZlbnRzID0gW1xuICAgIFwicm91dGVDaGFuZ2VTdGFydFwiLFxuICAgIFwiYmVmb3JlSGlzdG9yeUNoYW5nZVwiLFxuICAgIFwicm91dGVDaGFuZ2VDb21wbGV0ZVwiLFxuICAgIFwicm91dGVDaGFuZ2VFcnJvclwiLFxuICAgIFwiaGFzaENoYW5nZVN0YXJ0XCIsXG4gICAgXCJoYXNoQ2hhbmdlQ29tcGxldGVcIlxuXTtcbmNvbnN0IGNvcmVNZXRob2RGaWVsZHMgPSBbXG4gICAgXCJwdXNoXCIsXG4gICAgXCJyZXBsYWNlXCIsXG4gICAgXCJyZWxvYWRcIixcbiAgICBcImJhY2tcIixcbiAgICBcInByZWZldGNoXCIsXG4gICAgXCJiZWZvcmVQb3BTdGF0ZVwiXG5dO1xuLy8gRXZlbnRzIGlzIGEgc3RhdGljIHByb3BlcnR5IG9uIHRoZSByb3V0ZXIsIHRoZSByb3V0ZXIgZG9lc24ndCBoYXZlIHRvIGJlIGluaXRpYWxpemVkIHRvIHVzZSBpdFxuT2JqZWN0LmRlZmluZVByb3BlcnR5KHNpbmdsZXRvblJvdXRlciwgXCJldmVudHNcIiwge1xuICAgIGdldCAoKSB7XG4gICAgICAgIHJldHVybiBfcm91dGVyLmRlZmF1bHQuZXZlbnRzO1xuICAgIH1cbn0pO1xuZnVuY3Rpb24gZ2V0Um91dGVyKCkge1xuICAgIGlmICghc2luZ2xldG9uUm91dGVyLnJvdXRlcikge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gXCJObyByb3V0ZXIgaW5zdGFuY2UgZm91bmQuXFxuXCIgKyAnWW91IHNob3VsZCBvbmx5IHVzZSBcIm5leHQvcm91dGVyXCIgb24gdGhlIGNsaWVudCBzaWRlIG9mIHlvdXIgYXBwLlxcbic7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtZXNzYWdlKTtcbiAgICB9XG4gICAgcmV0dXJuIHNpbmdsZXRvblJvdXRlci5yb3V0ZXI7XG59XG51cmxQcm9wZXJ0eUZpZWxkcy5mb3JFYWNoKChmaWVsZCk9PntcbiAgICAvLyBIZXJlIHdlIG5lZWQgdG8gdXNlIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSBiZWNhdXNlIHdlIG5lZWQgdG8gcmV0dXJuXG4gICAgLy8gdGhlIHByb3BlcnR5IGFzc2lnbmVkIHRvIHRoZSBhY3R1YWwgcm91dGVyXG4gICAgLy8gVGhlIHZhbHVlIG1pZ2h0IGdldCBjaGFuZ2VkIGFzIHdlIGNoYW5nZSByb3V0ZXMgYW5kIHRoaXMgaXMgdGhlXG4gICAgLy8gcHJvcGVyIHdheSB0byBhY2Nlc3MgaXRcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoc2luZ2xldG9uUm91dGVyLCBmaWVsZCwge1xuICAgICAgICBnZXQgKCkge1xuICAgICAgICAgICAgY29uc3Qgcm91dGVyID0gZ2V0Um91dGVyKCk7XG4gICAgICAgICAgICByZXR1cm4gcm91dGVyW2ZpZWxkXTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7XG5jb3JlTWV0aG9kRmllbGRzLmZvckVhY2goKGZpZWxkKT0+e1xuICAgIHNpbmdsZXRvblJvdXRlcltmaWVsZF0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCByb3V0ZXIgPSBnZXRSb3V0ZXIoKTtcbiAgICAgICAgcmV0dXJuIHJvdXRlcltmaWVsZF0oLi4uYXJncyk7XG4gICAgfTtcbn0pO1xucm91dGVyRXZlbnRzLmZvckVhY2goKGV2ZW50KT0+e1xuICAgIHNpbmdsZXRvblJvdXRlci5yZWFkeSgoKT0+e1xuICAgICAgICBfcm91dGVyLmRlZmF1bHQuZXZlbnRzLm9uKGV2ZW50LCBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIGZvcih2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGFyZ3MgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcbiAgICAgICAgICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgZXZlbnRGaWVsZCA9IFwib25cIiArIGV2ZW50LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgZXZlbnQuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgY29uc3QgX3NpbmdsZXRvblJvdXRlciA9IHNpbmdsZXRvblJvdXRlcjtcbiAgICAgICAgICAgIGlmIChfc2luZ2xldG9uUm91dGVyW2V2ZW50RmllbGRdKSB7XG4gICAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICAgICAgX3NpbmdsZXRvblJvdXRlcltldmVudEZpZWxkXSguLi5hcmdzKTtcbiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkVycm9yIHdoZW4gcnVubmluZyB0aGUgUm91dGVyIGV2ZW50OiBcIiArIGV2ZW50RmllbGQpO1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCgwLCBfaXNlcnJvci5kZWZhdWx0KShlcnIpID8gZXJyLm1lc3NhZ2UgKyBcIlxcblwiICsgZXJyLnN0YWNrIDogZXJyICsgXCJcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbn0pO1xuY29uc3QgX2RlZmF1bHQgPSBzaW5nbGV0b25Sb3V0ZXI7XG5mdW5jdGlvbiB1c2VSb3V0ZXIoKSB7XG4gICAgY29uc3Qgcm91dGVyID0gX3JlYWN0LmRlZmF1bHQudXNlQ29udGV4dChfcm91dGVyY29udGV4dC5Sb3V0ZXJDb250ZXh0KTtcbiAgICBpZiAoIXJvdXRlcikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJOZXh0Um91dGVyIHdhcyBub3QgbW91bnRlZC4gaHR0cHM6Ly9uZXh0anMub3JnL2RvY3MvbWVzc2FnZXMvbmV4dC1yb3V0ZXItbm90LW1vdW50ZWRcIik7XG4gICAgfVxuICAgIHJldHVybiByb3V0ZXI7XG59XG5mdW5jdGlvbiBjcmVhdGVSb3V0ZXIoKSB7XG4gICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xuICAgICAgICBhcmdzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICAgIH1cbiAgICBzaW5nbGV0b25Sb3V0ZXIucm91dGVyID0gbmV3IF9yb3V0ZXIuZGVmYXVsdCguLi5hcmdzKTtcbiAgICBzaW5nbGV0b25Sb3V0ZXIucmVhZHlDYWxsYmFja3MuZm9yRWFjaCgoY2IpPT5jYigpKTtcbiAgICBzaW5nbGV0b25Sb3V0ZXIucmVhZHlDYWxsYmFja3MgPSBbXTtcbiAgICByZXR1cm4gc2luZ2xldG9uUm91dGVyLnJvdXRlcjtcbn1cbmZ1bmN0aW9uIG1ha2VQdWJsaWNSb3V0ZXJJbnN0YW5jZShyb3V0ZXIpIHtcbiAgICBjb25zdCBzY29wZWRSb3V0ZXIgPSByb3V0ZXI7XG4gICAgY29uc3QgaW5zdGFuY2UgPSB7fTtcbiAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHVybFByb3BlcnR5RmllbGRzKXtcbiAgICAgICAgaWYgKHR5cGVvZiBzY29wZWRSb3V0ZXJbcHJvcGVydHldID09PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICBpbnN0YW5jZVtwcm9wZXJ0eV0gPSBPYmplY3QuYXNzaWduKEFycmF5LmlzQXJyYXkoc2NvcGVkUm91dGVyW3Byb3BlcnR5XSkgPyBbXSA6IHt9LCBzY29wZWRSb3V0ZXJbcHJvcGVydHldKSAvLyBtYWtlcyBzdXJlIHF1ZXJ5IGlzIG5vdCBzdGF0ZWZ1bFxuICAgICAgICAgICAgO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaW5zdGFuY2VbcHJvcGVydHldID0gc2NvcGVkUm91dGVyW3Byb3BlcnR5XTtcbiAgICB9XG4gICAgLy8gRXZlbnRzIGlzIGEgc3RhdGljIHByb3BlcnR5IG9uIHRoZSByb3V0ZXIsIHRoZSByb3V0ZXIgZG9lc24ndCBoYXZlIHRvIGJlIGluaXRpYWxpemVkIHRvIHVzZSBpdFxuICAgIGluc3RhbmNlLmV2ZW50cyA9IF9yb3V0ZXIuZGVmYXVsdC5ldmVudHM7XG4gICAgY29yZU1ldGhvZEZpZWxkcy5mb3JFYWNoKChmaWVsZCk9PntcbiAgICAgICAgaW5zdGFuY2VbZmllbGRdID0gZnVuY3Rpb24oKSB7XG4gICAgICAgICAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKyl7XG4gICAgICAgICAgICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzY29wZWRSb3V0ZXJbZmllbGRdKC4uLmFyZ3MpO1xuICAgICAgICB9O1xuICAgIH0pO1xuICAgIHJldHVybiBpbnN0YW5jZTtcbn1cblxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcbn1cblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cm91dGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIlJvdXRlciIsImRlZmF1bHQiLCJ3aXRoUm91dGVyIiwidXNlUm91dGVyIiwiY3JlYXRlUm91dGVyIiwibWFrZVB1YmxpY1JvdXRlckluc3RhbmNlIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3JvdXRlciIsIl9kZWZhdWx0IiwiX3dpdGhyb3V0ZXIiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsIl9yb3V0ZXJjb250ZXh0IiwiX2lzZXJyb3IiLCJzaW5nbGV0b25Sb3V0ZXIiLCJyb3V0ZXIiLCJyZWFkeUNhbGxiYWNrcyIsInJlYWR5IiwiY2IiLCJwdXNoIiwidXJsUHJvcGVydHlGaWVsZHMiLCJyb3V0ZXJFdmVudHMiLCJjb3JlTWV0aG9kRmllbGRzIiwiZXZlbnRzIiwiZ2V0Um91dGVyIiwibWVzc2FnZSIsIkVycm9yIiwiZm9yRWFjaCIsImZpZWxkIiwiX2xlbiIsImFyZ3VtZW50cyIsImxlbmd0aCIsImFyZ3MiLCJBcnJheSIsIl9rZXkiLCJldmVudCIsIm9uIiwiZXZlbnRGaWVsZCIsImNoYXJBdCIsInRvVXBwZXJDYXNlIiwic3Vic3RyaW5nIiwiX3NpbmdsZXRvblJvdXRlciIsImVyciIsImNvbnNvbGUiLCJlcnJvciIsInN0YWNrIiwidXNlQ29udGV4dCIsIlJvdXRlckNvbnRleHQiLCJzY29wZWRSb3V0ZXIiLCJpbnN0YW5jZSIsInByb3BlcnR5IiwiYXNzaWduIiwiaXNBcnJheSIsIl9fZXNNb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/next/dist/client/router.js\n")); + +/***/ }), + +/***/ "./node_modules/next/dist/client/script.js": +/*!*************************************************!*\ + !*** ./node_modules/next/dist/client/script.js ***! + \*************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +eval(__webpack_require__.ts("/* __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 handleClientScriptLoad: function() {\n return handleClientScriptLoad;\n },\n initScriptLoader: function() {\n return initScriptLoader;\n },\n default: function() {\n return _default;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"./node_modules/next/dist/compiled/react-dom/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"./node_modules/next/dist/compiled/react/index.js\"));\nconst _headmanagercontext = __webpack_require__(/*! ../shared/lib/head-manager-context */ \"./node_modules/next/dist/shared/lib/head-manager-context.js\");\nconst _headmanager = __webpack_require__(/*! ./head-manager */ \"./node_modules/next/dist/client/head-manager.js\");\nconst _requestidlecallback = __webpack_require__(/*! ./request-idle-callback */ \"./node_modules/next/dist/client/request-idle-callback.js\");\nconst ScriptCache = new Map();\nconst LoadCache = new Set();\nconst ignoreProps = [\n \"onLoad\",\n \"onReady\",\n \"dangerouslySetInnerHTML\",\n \"children\",\n \"onError\",\n \"strategy\"\n];\nconst loadScript = (props)=>{\n const { src , id , onLoad =()=>{} , onReady =null , dangerouslySetInnerHTML , children =\"\" , strategy =\"afterInteractive\" , onError } = props;\n const cacheKey = id || src;\n // Script has already loaded\n if (cacheKey && LoadCache.has(cacheKey)) {\n return;\n }\n // Contents of this script are already loading/loaded\n if (ScriptCache.has(src)) {\n LoadCache.add(cacheKey);\n // It is possible that multiple `next/script` components all have same \"src\", but has different \"onLoad\"\n // This is to make sure the same remote script will only load once, but \"onLoad\" are executed in order\n ScriptCache.get(src).then(onLoad, onError);\n return;\n }\n /** Execute after the script first loaded */ const afterLoad = ()=>{\n // Run onReady for the first time after load event\n if (onReady) {\n onReady();\n }\n // add cacheKey to LoadCache when load successfully\n LoadCache.add(cacheKey);\n };\n const el = document.createElement(\"script\");\n const loadPromise = new Promise((resolve, reject)=>{\n el.addEventListener(\"load\", function(e) {\n resolve();\n if (onLoad) {\n onLoad.call(this, e);\n }\n afterLoad();\n });\n el.addEventListener(\"error\", function(e) {\n reject(e);\n });\n }).catch(function(e) {\n if (onError) {\n onError(e);\n }\n });\n if (dangerouslySetInnerHTML) {\n // Casting since lib.dom.d.ts doesn't have TrustedHTML yet.\n el.innerHTML = dangerouslySetInnerHTML.__html || \"\";\n afterLoad();\n } else if (children) {\n el.textContent = typeof children === \"string\" ? children : Array.isArray(children) ? children.join(\"\") : \"\";\n afterLoad();\n } else if (src) {\n el.src = src;\n // do not add cacheKey into LoadCache for remote script here\n // cacheKey will be added to LoadCache when it is actually loaded (see loadPromise above)\n ScriptCache.set(src, loadPromise);\n }\n for (const [k, value] of Object.entries(props)){\n if (value === undefined || ignoreProps.includes(k)) {\n continue;\n }\n const attr = _headmanager.DOMAttributeNames[k] || k.toLowerCase();\n el.setAttribute(attr, value);\n }\n if (strategy === \"worker\") {\n el.setAttribute(\"type\", \"text/partytown\");\n }\n el.setAttribute(\"data-nscript\", strategy);\n document.body.appendChild(el);\n};\nfunction handleClientScriptLoad(props) {\n const { strategy =\"afterInteractive\" } = props;\n if (strategy === \"lazyOnload\") {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n } else {\n loadScript(props);\n }\n}\nfunction loadLazyScript(props) {\n if (document.readyState === \"complete\") {\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n } else {\n window.addEventListener(\"load\", ()=>{\n (0, _requestidlecallback.requestIdleCallback)(()=>loadScript(props));\n });\n }\n}\nfunction addBeforeInteractiveToCache() {\n const scripts = [\n ...document.querySelectorAll('[data-nscript=\"beforeInteractive\"]'),\n ...document.querySelectorAll('[data-nscript=\"beforePageRender\"]')\n ];\n scripts.forEach((script)=>{\n const cacheKey = script.id || script.getAttribute(\"src\");\n LoadCache.add(cacheKey);\n });\n}\nfunction initScriptLoader(scriptLoaderItems) {\n scriptLoaderItems.forEach(handleClientScriptLoad);\n addBeforeInteractiveToCache();\n}\nfunction Script(props) {\n const { id , src =\"\" , onLoad =()=>{} , onReady =null , strategy =\"afterInteractive\" , onError , ...restProps } = props;\n // Context is available only during SSR\n const { updateScripts , scripts , getIsSsr , appDir , nonce } = (0, _react.useContext)(_headmanagercontext.HeadManagerContext);\n /**\n * - First mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script hasn't loaded yet (not in LoadCache)\n * onReady is skipped, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. hasLoadScriptEffectCalled.current is false, loadScript executes\n * Once the script is loaded, the onLoad and onReady will be called by then\n * [If strict mode is enabled / is wrapped in component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n *\n * - Second mount:\n * 1. The useEffect for onReady executes\n * 2. hasOnReadyEffectCalled.current is false, but the script has already loaded (found in LoadCache)\n * onReady is called, set hasOnReadyEffectCalled.current to true\n * 3. The useEffect for loadScript executes\n * 4. The script is already loaded, loadScript bails out\n * [If strict mode is enabled / is wrapped in component]\n * 5. The useEffect for onReady executes again\n * 6. hasOnReadyEffectCalled.current is true, so entire effect is skipped\n * 7. The useEffect for loadScript executes again\n * 8. hasLoadScriptEffectCalled.current is true, so entire effect is skipped\n */ const hasOnReadyEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n const cacheKey = id || src;\n if (!hasOnReadyEffectCalled.current) {\n // Run onReady if script has loaded before but component is re-mounted\n if (onReady && cacheKey && LoadCache.has(cacheKey)) {\n onReady();\n }\n hasOnReadyEffectCalled.current = true;\n }\n }, [\n onReady,\n id,\n src\n ]);\n const hasLoadScriptEffectCalled = (0, _react.useRef)(false);\n (0, _react.useEffect)(()=>{\n if (!hasLoadScriptEffectCalled.current) {\n if (strategy === \"afterInteractive\") {\n loadScript(props);\n } else if (strategy === \"lazyOnload\") {\n loadLazyScript(props);\n }\n hasLoadScriptEffectCalled.current = true;\n }\n }, [\n props,\n strategy\n ]);\n if (strategy === \"beforeInteractive\" || strategy === \"worker\") {\n if (updateScripts) {\n scripts[strategy] = (scripts[strategy] || []).concat([\n {\n id,\n src,\n onLoad,\n onReady,\n onError,\n ...restProps\n }\n ]);\n updateScripts(scripts);\n } else if (getIsSsr && getIsSsr()) {\n // Script has already loaded during SSR\n LoadCache.add(id || src);\n } else if (getIsSsr && !getIsSsr()) {\n loadScript(props);\n }\n }\n // For the app directory, we need React Float to preload these scripts.\n if (appDir) {\n // Before interactive scripts need to be loaded by Next.js' runtime instead\n // of native