/* * ATTENTION: An "eval-source-map" devtool has been used. * This devtool is neither made for production nor for readable output files. * It uses "eval()" calls to create a separate source file with attached SourceMaps in the browser devtools. * If you are trying to read the output file, select a different devtool (https://webpack.js.org/configuration/devtool/) * or disable the default devtool with "devtool: false". * If you are looking for production-ready output files, see mode: "production" (https://webpack.js.org/configuration/mode/). */ exports.id = "vendor-chunks/next"; exports.ids = ["vendor-chunks/next"]; exports.modules = { /***/ "(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}": /*!*********************************************************************************************************************************************************!*\ !*** ./node_modules/next/font/google/target.css?{"path":"app\\layout.tsx","import":"Inter","arguments":[{"subsets":["latin"]}],"variableName":"inter"} ***! \*********************************************************************************************************************************************************/ /***/ ((module) => { eval("// Exports\nmodule.exports = {\n\t\"style\": {\"fontFamily\":\"'__Inter_f367f3', '__Inter_Fallback_f367f3'\",\"fontStyle\":\"normal\"},\n\t\"className\": \"__className_f367f3\"\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcInBhdGhcIjpcImFwcFxcXFxsYXlvdXQudHN4XCIsXCJpbXBvcnRcIjpcIkludGVyXCIsXCJhcmd1bWVudHNcIjpbe1wic3Vic2V0c1wiOltcImxhdGluXCJdfV0sXCJ2YXJpYWJsZU5hbWVcIjpcImludGVyXCJ9IiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxXQUFXLGdGQUFnRjtBQUMzRjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZm9udC9nb29nbGUvdGFyZ2V0LmNzcz83YTU5Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIEV4cG9ydHNcbm1vZHVsZS5leHBvcnRzID0ge1xuXHRcInN0eWxlXCI6IHtcImZvbnRGYW1pbHlcIjpcIidfX0ludGVyX2YzNjdmMycsICdfX0ludGVyX0ZhbGxiYWNrX2YzNjdmMydcIixcImZvbnRTdHlsZVwiOlwibm9ybWFsXCJ9LFxuXHRcImNsYXNzTmFtZVwiOiBcIl9fY2xhc3NOYW1lX2YzNjdmM1wiXG59O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"app\\\\layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/add-base-path.js": /*!********************************************************!*\ !*** ./node_modules/next/dist/client/add-base-path.js ***! \********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwrQ0FBOEM7SUFDMUNJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxpQkFBaUJDLG1CQUFPQSxDQUFDLDZIQUE0QztBQUMzRSxNQUFNQywwQkFBMEJELG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNRSxXQUFXQyxNQUFrQyxJQUFJO0FBQ3ZELFNBQVNMLFlBQVlRLElBQUksRUFBRUMsUUFBUTtJQUMvQixPQUFPLENBQUMsR0FBR04sd0JBQXdCTywwQkFBMEIsRUFBRUwsTUFBdURJLEdBQUdELENBQUlBLEdBQUcsQ0FBQyxHQUFHUCxlQUFlVyxhQUFhLEVBQUVKLE1BQU1KO0FBQzVLO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFpQixPQUFPLEtBQUssY0FBZSxPQUFPakIsUUFBUWlCLE9BQU8sS0FBSyxZQUFZakIsUUFBUWlCLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2pCLFFBQVFpQixPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLcEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRaUIsT0FBTyxFQUFFLGNBQWM7UUFBRWhCLE9BQU87SUFBSztJQUNuRUgsT0FBT3FCLE1BQU0sQ0FBQ25CLFFBQVFpQixPQUFPLEVBQUVqQjtJQUMvQm9CLE9BQU9wQixPQUFPLEdBQUdBLFFBQVFpQixPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYWRkLWJhc2UtcGF0aC5qcz82MTMxIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJhZGRCYXNlUGF0aFwiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gYWRkQmFzZVBhdGg7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfYWRkcGF0aHByZWZpeCA9IHJlcXVpcmUoXCIuLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9hZGQtcGF0aC1wcmVmaXhcIik7XHJcbmNvbnN0IF9ub3JtYWxpemV0cmFpbGluZ3NsYXNoID0gcmVxdWlyZShcIi4vbm9ybWFsaXplLXRyYWlsaW5nLXNsYXNoXCIpO1xyXG5jb25zdCBiYXNlUGF0aCA9IHByb2Nlc3MuZW52Ll9fTkVYVF9ST1VURVJfQkFTRVBBVEggfHwgXCJcIjtcclxuZnVuY3Rpb24gYWRkQmFzZVBhdGgocGF0aCwgcmVxdWlyZWQpIHtcclxuICAgIHJldHVybiAoMCwgX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2gubm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2gpKHByb2Nlc3MuZW52Ll9fTkVYVF9NQU5VQUxfQ0xJRU5UX0JBU0VfUEFUSCAmJiAhcmVxdWlyZWQgPyBwYXRoIDogKDAsIF9hZGRwYXRocHJlZml4LmFkZFBhdGhQcmVmaXgpKHBhdGgsIGJhc2VQYXRoKSk7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFkZC1iYXNlLXBhdGguanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImFkZEJhc2VQYXRoIiwiX2FkZHBhdGhwcmVmaXgiLCJyZXF1aXJlIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJiYXNlUGF0aCIsInByb2Nlc3MiLCJlbnYiLCJfX05FWFRfUk9VVEVSX0JBU0VQQVRIIiwicGF0aCIsInJlcXVpcmVkIiwibm9ybWFsaXplUGF0aFRyYWlsaW5nU2xhc2giLCJfX05FWFRfTUFOVUFMX0NMSUVOVF9CQVNFX1BBVEgiLCJhZGRQYXRoUHJlZml4IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-base-path.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/add-locale.js": /*!*****************************************************!*\ !*** ./node_modules/next/dist/client/add-locale.js ***! \*****************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addLocale\", ({\n enumerable: true,\n get: function() {\n return addLocale;\n }\n}));\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst addLocale = function(path) {\n for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){\n args[_key - 1] = arguments[_key];\n }\n if (false) {}\n return path;\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-locale.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywwQkFBMEJDLG1CQUFPQSxDQUFDLHFHQUE0QjtBQUNwRSxNQUFNRixZQUFZLFNBQVNHLElBQUk7SUFDM0IsSUFBSSxJQUFJQyxPQUFPQyxVQUFVQyxNQUFNLEVBQUVDLE9BQU8sSUFBSUMsTUFBTUosT0FBTyxJQUFJQSxPQUFPLElBQUksSUFBSUssT0FBTyxHQUFHQSxPQUFPTCxNQUFNSyxPQUFPO1FBQ3RHRixJQUFJLENBQUNFLE9BQU8sRUFBRSxHQUFHSixTQUFTLENBQUNJLEtBQUs7SUFDcEM7SUFDQSxJQUFJQyxLQUErQixFQUFFLEVBRXBDO0lBQ0QsT0FBT1A7QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPUCxRQUFRa0IsT0FBTyxLQUFLLGNBQWUsT0FBT2xCLFFBQVFrQixPQUFPLEtBQUssWUFBWWxCLFFBQVFrQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9sQixRQUFRa0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3JCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWtCLE9BQU8sRUFBRSxjQUFjO1FBQUVqQixPQUFPO0lBQUs7SUFDbkVILE9BQU9zQixNQUFNLENBQUNwQixRQUFRa0IsT0FBTyxFQUFFbEI7SUFDL0JxQixPQUFPckIsT0FBTyxHQUFHQSxRQUFRa0IsT0FBTztBQUNsQyxFQUVBLHNDQUFzQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2FkZC1sb2NhbGUuanM/ZTJkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiYWRkTG9jYWxlXCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBhZGRMb2NhbGU7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfbm9ybWFsaXpldHJhaWxpbmdzbGFzaCA9IHJlcXVpcmUoXCIuL25vcm1hbGl6ZS10cmFpbGluZy1zbGFzaFwiKTtcclxuY29uc3QgYWRkTG9jYWxlID0gZnVuY3Rpb24ocGF0aCkge1xyXG4gICAgZm9yKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuID4gMSA/IF9sZW4gLSAxIDogMCksIF9rZXkgPSAxOyBfa2V5IDwgX2xlbjsgX2tleSsrKXtcclxuICAgICAgICBhcmdzW19rZXkgLSAxXSA9IGFyZ3VtZW50c1tfa2V5XTtcclxuICAgIH1cclxuICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfSTE4Tl9TVVBQT1JUKSB7XHJcbiAgICAgICAgcmV0dXJuICgwLCBfbm9ybWFsaXpldHJhaWxpbmdzbGFzaC5ub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCkocmVxdWlyZShcIi4uL3NoYXJlZC9saWIvcm91dGVyL3V0aWxzL2FkZC1sb2NhbGVcIikuYWRkTG9jYWxlKHBhdGgsIC4uLmFyZ3MpKTtcclxuICAgIH1cclxuICAgIHJldHVybiBwYXRoO1xyXG59O1xyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YWRkLWxvY2FsZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYWRkTG9jYWxlIiwiX25vcm1hbGl6ZXRyYWlsaW5nc2xhc2giLCJyZXF1aXJlIiwicGF0aCIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/add-locale.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/app-call-server.js": /*!**********************************************************!*\ !*** ./node_modules/next/dist/client/app-call-server.js ***! \**********************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"callServer\", ({\n enumerable: true,\n get: function() {\n return callServer;\n }\n}));\nconst _approuter = __webpack_require__(/*! ./components/app-router */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\");\nasync function callServer(actionId, actionArgs) {\n const actionDispatcher = (0, _approuter.getServerActionDispatcher)();\n if (!actionDispatcher) {\n throw new Error(\"Invariant: missing action dispatcher.\");\n }\n return new Promise((resolve, reject)=>{\n actionDispatcher({\n actionId,\n actionArgs,\n resolve,\n reject\n });\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-call-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhDQUE2QztJQUN6Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLGFBQWFDLG1CQUFPQSxDQUFDLCtGQUF5QjtBQUNwRCxlQUFlRixXQUFXRyxRQUFRLEVBQUVDLFVBQVU7SUFDMUMsTUFBTUMsbUJBQW1CLENBQUMsR0FBR0osV0FBV0sseUJBQXlCO0lBQ2pFLElBQUksQ0FBQ0Qsa0JBQWtCO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNwQjtJQUNBLE9BQU8sSUFBSUMsUUFBUSxDQUFDQyxTQUFTQztRQUN6QkwsaUJBQWlCO1lBQ2JGO1lBQ0FDO1lBQ0FLO1lBQ0FDO1FBQ0o7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9kLFFBQVFlLE9BQU8sS0FBSyxjQUFlLE9BQU9mLFFBQVFlLE9BQU8sS0FBSyxZQUFZZixRQUFRZSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9mLFFBQVFlLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktsQixPQUFPQyxjQUFjLENBQUNDLFFBQVFlLE9BQU8sRUFBRSxjQUFjO1FBQUVkLE9BQU87SUFBSztJQUNuRUgsT0FBT21CLE1BQU0sQ0FBQ2pCLFFBQVFlLE9BQU8sRUFBRWY7SUFDL0JrQixPQUFPbEIsT0FBTyxHQUFHQSxRQUFRZSxPQUFPO0FBQ2xDLEVBRUEsMkNBQTJDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvYXBwLWNhbGwtc2VydmVyLmpzP2YzZjIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNhbGxTZXJ2ZXJcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGNhbGxTZXJ2ZXI7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfYXBwcm91dGVyID0gcmVxdWlyZShcIi4vY29tcG9uZW50cy9hcHAtcm91dGVyXCIpO1xyXG5hc3luYyBmdW5jdGlvbiBjYWxsU2VydmVyKGFjdGlvbklkLCBhY3Rpb25BcmdzKSB7XHJcbiAgICBjb25zdCBhY3Rpb25EaXNwYXRjaGVyID0gKDAsIF9hcHByb3V0ZXIuZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcikoKTtcclxuICAgIGlmICghYWN0aW9uRGlzcGF0Y2hlcikge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFyaWFudDogbWlzc2luZyBhY3Rpb24gZGlzcGF0Y2hlci5cIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCk9PntcclxuICAgICAgICBhY3Rpb25EaXNwYXRjaGVyKHtcclxuICAgICAgICAgICAgYWN0aW9uSWQsXHJcbiAgICAgICAgICAgIGFjdGlvbkFyZ3MsXHJcbiAgICAgICAgICAgIHJlc29sdmUsXHJcbiAgICAgICAgICAgIHJlamVjdFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSk7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1jYWxsLXNlcnZlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiY2FsbFNlcnZlciIsIl9hcHByb3V0ZXIiLCJyZXF1aXJlIiwiYWN0aW9uSWQiLCJhY3Rpb25BcmdzIiwiYWN0aW9uRGlzcGF0Y2hlciIsImdldFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJFcnJvciIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/app-call-server.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-announcer.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"AppRouterAnnouncer\", ({\n enumerable: true,\n get: function() {\n return AppRouterAnnouncer;\n }\n}));\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _reactdom = __webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\");\nconst ANNOUNCER_TYPE = \"next-route-announcer\";\nconst ANNOUNCER_ID = \"__next-route-announcer__\";\nfunction getAnnouncerNode() {\n var _existingAnnouncer_shadowRoot;\n const existingAnnouncer = document.getElementsByName(ANNOUNCER_TYPE)[0];\n if (existingAnnouncer == null ? void 0 : (_existingAnnouncer_shadowRoot = existingAnnouncer.shadowRoot) == null ? void 0 : _existingAnnouncer_shadowRoot.childNodes[0]) {\n return existingAnnouncer.shadowRoot.childNodes[0];\n } else {\n const container = document.createElement(ANNOUNCER_TYPE);\n container.style.cssText = \"position:absolute\";\n const announcer = document.createElement(\"div\");\n announcer.ariaLive = \"assertive\";\n announcer.id = ANNOUNCER_ID;\n announcer.role = \"alert\";\n announcer.style.cssText = \"position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal\";\n // Use shadow DOM here to avoid any potential CSS bleed\n const shadow = container.attachShadow({\n mode: \"open\"\n });\n shadow.appendChild(announcer);\n document.body.appendChild(container);\n return announcer;\n }\n}\nfunction AppRouterAnnouncer(param) {\n let { tree } = param;\n const [portalNode, setPortalNode] = (0, _react.useState)(null);\n (0, _react.useEffect)(()=>{\n const announcer = getAnnouncerNode();\n setPortalNode(announcer);\n return ()=>{\n const container = document.getElementsByTagName(ANNOUNCER_TYPE)[0];\n if (container == null ? void 0 : container.isConnected) {\n document.body.removeChild(container);\n }\n };\n }, []);\n const [routeAnnouncement, setRouteAnnouncement] = (0, _react.useState)(\"\");\n const previousTitle = (0, _react.useRef)();\n (0, _react.useEffect)(()=>{\n let currentTitle = \"\";\n if (document.title) {\n currentTitle = document.title;\n } else {\n const pageHeader = document.querySelector(\"h1\");\n if (pageHeader) {\n currentTitle = pageHeader.innerText || pageHeader.textContent || \"\";\n }\n }\n // Only announce the title change, but not for the first load because screen\n // readers do that automatically.\n if (previousTitle.current !== undefined && previousTitle.current !== currentTitle) {\n setRouteAnnouncement(currentTitle);\n }\n previousTitle.current = currentTitle;\n }, [\n tree\n ]);\n return portalNode ? /*#__PURE__*/ (0, _reactdom.createPortal)(routeAnnouncement, portalNode) : null;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-announcer.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItYW5ub3VuY2VyLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxzREFBcUQ7SUFDakRJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxTQUFTQyxtQkFBT0EsQ0FBQyx3R0FBTztBQUM5QixNQUFNQyxZQUFZRCxtQkFBT0EsQ0FBQyxnSEFBVztBQUNyQyxNQUFNRSxpQkFBaUI7QUFDdkIsTUFBTUMsZUFBZTtBQUNyQixTQUFTQztJQUNMLElBQUlDO0lBQ0osTUFBTUMsb0JBQW9CQyxTQUFTQyxpQkFBaUIsQ0FBQ04sZUFBZSxDQUFDLEVBQUU7SUFDdkUsSUFBSUkscUJBQXFCLE9BQU8sS0FBSyxJQUFJLENBQUNELGdDQUFnQ0Msa0JBQWtCRyxVQUFVLEtBQUssT0FBTyxLQUFLLElBQUlKLDhCQUE4QkssVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUNwSyxPQUFPSixrQkFBa0JHLFVBQVUsQ0FBQ0MsVUFBVSxDQUFDLEVBQUU7SUFDckQsT0FBTztRQUNILE1BQU1DLFlBQVlKLFNBQVNLLGFBQWEsQ0FBQ1Y7UUFDekNTLFVBQVVFLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzFCLE1BQU1DLFlBQVlSLFNBQVNLLGFBQWEsQ0FBQztRQUN6Q0csVUFBVUMsUUFBUSxHQUFHO1FBQ3JCRCxVQUFVRSxFQUFFLEdBQUdkO1FBQ2ZZLFVBQVVHLElBQUksR0FBRztRQUNqQkgsVUFBVUYsS0FBSyxDQUFDQyxPQUFPLEdBQUc7UUFDMUIsdURBQXVEO1FBQ3ZELE1BQU1LLFNBQVNSLFVBQVVTLFlBQVksQ0FBQztZQUNsQ0MsTUFBTTtRQUNWO1FBQ0FGLE9BQU9HLFdBQVcsQ0FBQ1A7UUFDbkJSLFNBQVNnQixJQUFJLENBQUNELFdBQVcsQ0FBQ1g7UUFDMUIsT0FBT0k7SUFDWDtBQUNKO0FBQ0EsU0FBU2pCLG1CQUFtQjBCLEtBQUs7SUFDN0IsSUFBSSxFQUFFQyxJQUFJLEVBQUUsR0FBR0Q7SUFDZixNQUFNLENBQUNFLFlBQVlDLGNBQWMsR0FBRyxDQUFDLEdBQUc1QixPQUFPNkIsUUFBUSxFQUFFO0lBQ3hELElBQUc3QixPQUFPOEIsU0FBUyxFQUFFO1FBQ2xCLE1BQU1kLFlBQVlYO1FBQ2xCdUIsY0FBY1o7UUFDZCxPQUFPO1lBQ0gsTUFBTUosWUFBWUosU0FBU3VCLG9CQUFvQixDQUFDNUIsZUFBZSxDQUFDLEVBQUU7WUFDbEUsSUFBSVMsYUFBYSxPQUFPLEtBQUssSUFBSUEsVUFBVW9CLFdBQVcsRUFBRTtnQkFDcER4QixTQUFTZ0IsSUFBSSxDQUFDUyxXQUFXLENBQUNyQjtZQUM5QjtRQUNKO0lBQ0osR0FBRyxFQUFFO0lBQ0wsTUFBTSxDQUFDc0IsbUJBQW1CQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUduQyxPQUFPNkIsUUFBUSxFQUFFO0lBQ3ZFLE1BQU1PLGdCQUFnQixDQUFDLEdBQUdwQyxPQUFPcUMsTUFBTTtJQUN0QyxJQUFHckMsT0FBTzhCLFNBQVMsRUFBRTtRQUNsQixJQUFJUSxlQUFlO1FBQ25CLElBQUk5QixTQUFTK0IsS0FBSyxFQUFFO1lBQ2hCRCxlQUFlOUIsU0FBUytCLEtBQUs7UUFDakMsT0FBTztZQUNILE1BQU1DLGFBQWFoQyxTQUFTaUMsYUFBYSxDQUFDO1lBQzFDLElBQUlELFlBQVk7Z0JBQ1pGLGVBQWVFLFdBQVdFLFNBQVMsSUFBSUYsV0FBV0csV0FBVyxJQUFJO1lBQ3JFO1FBQ0o7UUFDQSw0RUFBNEU7UUFDNUUsaUNBQWlDO1FBQ2pDLElBQUlQLGNBQWNRLE9BQU8sS0FBS0MsYUFBYVQsY0FBY1EsT0FBTyxLQUFLTixjQUFjO1lBQy9FSCxxQkFBcUJHO1FBQ3pCO1FBQ0FGLGNBQWNRLE9BQU8sR0FBR047SUFDNUIsR0FBRztRQUNDWjtLQUNIO0lBQ0QsT0FBT0MsYUFBMkIsV0FBSCxHQUFJLElBQUd6QixVQUFVNEMsWUFBWSxFQUFFWixtQkFBbUJQLGNBQWM7QUFDbkc7QUFFQSxJQUFJLENBQUMsT0FBT2hDLFFBQVFvRCxPQUFPLEtBQUssY0FBZSxPQUFPcEQsUUFBUW9ELE9BQU8sS0FBSyxZQUFZcEQsUUFBUW9ELE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT3BELFFBQVFvRCxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLdkQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRb0QsT0FBTyxFQUFFLGNBQWM7UUFBRW5ELE9BQU87SUFBSztJQUNuRUgsT0FBT3dELE1BQU0sQ0FBQ3RELFFBQVFvRCxPQUFPLEVBQUVwRDtJQUMvQnVELE9BQU92RCxPQUFPLEdBQUdBLFFBQVFvRCxPQUFPO0FBQ2xDLEVBRUEsZ0RBQWdEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWFubm91bmNlci5qcz82ZTAyIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJBcHBSb3V0ZXJBbm5vdW5jZXJcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlckFubm91bmNlcjtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcclxuY29uc3QgX3JlYWN0ZG9tID0gcmVxdWlyZShcInJlYWN0LWRvbVwiKTtcclxuY29uc3QgQU5OT1VOQ0VSX1RZUEUgPSBcIm5leHQtcm91dGUtYW5ub3VuY2VyXCI7XHJcbmNvbnN0IEFOTk9VTkNFUl9JRCA9IFwiX19uZXh0LXJvdXRlLWFubm91bmNlcl9fXCI7XHJcbmZ1bmN0aW9uIGdldEFubm91bmNlck5vZGUoKSB7XHJcbiAgICB2YXIgX2V4aXN0aW5nQW5ub3VuY2VyX3NoYWRvd1Jvb3Q7XHJcbiAgICBjb25zdCBleGlzdGluZ0Fubm91bmNlciA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlOYW1lKEFOTk9VTkNFUl9UWVBFKVswXTtcclxuICAgIGlmIChleGlzdGluZ0Fubm91bmNlciA9PSBudWxsID8gdm9pZCAwIDogKF9leGlzdGluZ0Fubm91bmNlcl9zaGFkb3dSb290ID0gZXhpc3RpbmdBbm5vdW5jZXIuc2hhZG93Um9vdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9leGlzdGluZ0Fubm91bmNlcl9zaGFkb3dSb290LmNoaWxkTm9kZXNbMF0pIHtcclxuICAgICAgICByZXR1cm4gZXhpc3RpbmdBbm5vdW5jZXIuc2hhZG93Um9vdC5jaGlsZE5vZGVzWzBdO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KEFOTk9VTkNFUl9UWVBFKTtcclxuICAgICAgICBjb250YWluZXIuc3R5bGUuY3NzVGV4dCA9IFwicG9zaXRpb246YWJzb2x1dGVcIjtcclxuICAgICAgICBjb25zdCBhbm5vdW5jZXIgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpO1xyXG4gICAgICAgIGFubm91bmNlci5hcmlhTGl2ZSA9IFwiYXNzZXJ0aXZlXCI7XHJcbiAgICAgICAgYW5ub3VuY2VyLmlkID0gQU5OT1VOQ0VSX0lEO1xyXG4gICAgICAgIGFubm91bmNlci5yb2xlID0gXCJhbGVydFwiO1xyXG4gICAgICAgIGFubm91bmNlci5zdHlsZS5jc3NUZXh0ID0gXCJwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDt3aWR0aDoxcHg7Y2xpcDpyZWN0KDAgMCAwIDApO292ZXJmbG93OmhpZGRlbjt3aGl0ZS1zcGFjZTpub3dyYXA7d29yZC13cmFwOm5vcm1hbFwiO1xyXG4gICAgICAgIC8vIFVzZSBzaGFkb3cgRE9NIGhlcmUgdG8gYXZvaWQgYW55IHBvdGVudGlhbCBDU1MgYmxlZWRcclxuICAgICAgICBjb25zdCBzaGFkb3cgPSBjb250YWluZXIuYXR0YWNoU2hhZG93KHtcclxuICAgICAgICAgICAgbW9kZTogXCJvcGVuXCJcclxuICAgICAgICB9KTtcclxuICAgICAgICBzaGFkb3cuYXBwZW5kQ2hpbGQoYW5ub3VuY2VyKTtcclxuICAgICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNvbnRhaW5lcik7XHJcbiAgICAgICAgcmV0dXJuIGFubm91bmNlcjtcclxuICAgIH1cclxufVxyXG5mdW5jdGlvbiBBcHBSb3V0ZXJBbm5vdW5jZXIocGFyYW0pIHtcclxuICAgIGxldCB7IHRyZWUgfSA9IHBhcmFtO1xyXG4gICAgY29uc3QgW3BvcnRhbE5vZGUsIHNldFBvcnRhbE5vZGVdID0gKDAsIF9yZWFjdC51c2VTdGF0ZSkobnVsbCk7XHJcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcclxuICAgICAgICBjb25zdCBhbm5vdW5jZXIgPSBnZXRBbm5vdW5jZXJOb2RlKCk7XHJcbiAgICAgICAgc2V0UG9ydGFsTm9kZShhbm5vdW5jZXIpO1xyXG4gICAgICAgIHJldHVybiAoKT0+e1xyXG4gICAgICAgICAgICBjb25zdCBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShBTk5PVU5DRVJfVFlQRSlbMF07XHJcbiAgICAgICAgICAgIGlmIChjb250YWluZXIgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbnRhaW5lci5pc0Nvbm5lY3RlZCkge1xyXG4gICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChjb250YWluZXIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtdKTtcclxuICAgIGNvbnN0IFtyb3V0ZUFubm91bmNlbWVudCwgc2V0Um91dGVBbm5vdW5jZW1lbnRdID0gKDAsIF9yZWFjdC51c2VTdGF0ZSkoXCJcIik7XHJcbiAgICBjb25zdCBwcmV2aW91c1RpdGxlID0gKDAsIF9yZWFjdC51c2VSZWYpKCk7XHJcbiAgICAoMCwgX3JlYWN0LnVzZUVmZmVjdCkoKCk9PntcclxuICAgICAgICBsZXQgY3VycmVudFRpdGxlID0gXCJcIjtcclxuICAgICAgICBpZiAoZG9jdW1lbnQudGl0bGUpIHtcclxuICAgICAgICAgICAgY3VycmVudFRpdGxlID0gZG9jdW1lbnQudGl0bGU7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc3QgcGFnZUhlYWRlciA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJoMVwiKTtcclxuICAgICAgICAgICAgaWYgKHBhZ2VIZWFkZXIpIHtcclxuICAgICAgICAgICAgICAgIGN1cnJlbnRUaXRsZSA9IHBhZ2VIZWFkZXIuaW5uZXJUZXh0IHx8IHBhZ2VIZWFkZXIudGV4dENvbnRlbnQgfHwgXCJcIjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBPbmx5IGFubm91bmNlIHRoZSB0aXRsZSBjaGFuZ2UsIGJ1dCBub3QgZm9yIHRoZSBmaXJzdCBsb2FkIGJlY2F1c2Ugc2NyZWVuXHJcbiAgICAgICAgLy8gcmVhZGVycyBkbyB0aGF0IGF1dG9tYXRpY2FsbHkuXHJcbiAgICAgICAgaWYgKHByZXZpb3VzVGl0bGUuY3VycmVudCAhPT0gdW5kZWZpbmVkICYmIHByZXZpb3VzVGl0bGUuY3VycmVudCAhPT0gY3VycmVudFRpdGxlKSB7XHJcbiAgICAgICAgICAgIHNldFJvdXRlQW5ub3VuY2VtZW50KGN1cnJlbnRUaXRsZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHByZXZpb3VzVGl0bGUuY3VycmVudCA9IGN1cnJlbnRUaXRsZTtcclxuICAgIH0sIFtcclxuICAgICAgICB0cmVlXHJcbiAgICBdKTtcclxuICAgIHJldHVybiBwb3J0YWxOb2RlID8gLyojX19QVVJFX18qLyAoMCwgX3JlYWN0ZG9tLmNyZWF0ZVBvcnRhbCkocm91dGVBbm5vdW5jZW1lbnQsIHBvcnRhbE5vZGUpIDogbnVsbDtcclxufVxyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlci1hbm5vdW5jZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkFwcFJvdXRlckFubm91bmNlciIsIl9yZWFjdCIsInJlcXVpcmUiLCJfcmVhY3Rkb20iLCJBTk5PVU5DRVJfVFlQRSIsIkFOTk9VTkNFUl9JRCIsImdldEFubm91bmNlck5vZGUiLCJfZXhpc3RpbmdBbm5vdW5jZXJfc2hhZG93Um9vdCIsImV4aXN0aW5nQW5ub3VuY2VyIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50c0J5TmFtZSIsInNoYWRvd1Jvb3QiLCJjaGlsZE5vZGVzIiwiY29udGFpbmVyIiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwiY3NzVGV4dCIsImFubm91bmNlciIsImFyaWFMaXZlIiwiaWQiLCJyb2xlIiwic2hhZG93IiwiYXR0YWNoU2hhZG93IiwibW9kZSIsImFwcGVuZENoaWxkIiwiYm9keSIsInBhcmFtIiwidHJlZSIsInBvcnRhbE5vZGUiLCJzZXRQb3J0YWxOb2RlIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJnZXRFbGVtZW50c0J5VGFnTmFtZSIsImlzQ29ubmVjdGVkIiwicmVtb3ZlQ2hpbGQiLCJyb3V0ZUFubm91bmNlbWVudCIsInNldFJvdXRlQW5ub3VuY2VtZW50IiwicHJldmlvdXNUaXRsZSIsInVzZVJlZiIsImN1cnJlbnRUaXRsZSIsInRpdGxlIiwicGFnZUhlYWRlciIsInF1ZXJ5U2VsZWN0b3IiLCJpbm5lclRleHQiLCJ0ZXh0Q29udGVudCIsImN1cnJlbnQiLCJ1bmRlZmluZWQiLCJjcmVhdGVQb3J0YWwiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router-headers.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router-headers.js ***! \************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n RSC: function() {\n return RSC;\n },\n ACTION: function() {\n return ACTION;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_ROUTER_PREFETCH: function() {\n return NEXT_ROUTER_PREFETCH;\n },\n NEXT_URL: function() {\n return NEXT_URL;\n },\n RSC_CONTENT_TYPE_HEADER: function() {\n return RSC_CONTENT_TYPE_HEADER;\n },\n RSC_VARY_HEADER: function() {\n return RSC_VARY_HEADER;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\n }\n});\nconst RSC = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst RSC_VARY_HEADER = RSC + \", \" + NEXT_ROUTER_STATE_TREE + \", \" + NEXT_ROUTER_PREFETCH + \", \" + NEXT_URL;\nconst FLIGHT_PARAMETERS = [\n [\n RSC\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQVVOO0FBQ0EsU0FBU1UsUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSWhCLE9BQU9DLGNBQWMsQ0FBQ2MsUUFBUUUsTUFBTTtRQUNwREMsWUFBWTtRQUNaQyxLQUFLSCxHQUFHLENBQUNDLEtBQUs7SUFDbEI7QUFDSjtBQUNBSCxRQUFRWixTQUFTO0lBQ2JHLEtBQUs7UUFDRCxPQUFPQTtJQUNYO0lBQ0FDLFFBQVE7UUFDSixPQUFPQTtJQUNYO0lBQ0FDLHdCQUF3QjtRQUNwQixPQUFPQTtJQUNYO0lBQ0FDLHNCQUFzQjtRQUNsQixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPQTtJQUNYO0lBQ0FDLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsbUJBQW1CO1FBQ2YsT0FBT0E7SUFDWDtJQUNBQyxzQkFBc0I7UUFDbEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVIsTUFBTTtBQUNaLE1BQU1DLFNBQVM7QUFDZixNQUFNQyx5QkFBeUI7QUFDL0IsTUFBTUMsdUJBQXVCO0FBQzdCLE1BQU1DLFdBQVc7QUFDakIsTUFBTUMsMEJBQTBCO0FBQ2hDLE1BQU1DLGtCQUFrQk4sTUFBTSxPQUFPRSx5QkFBeUIsT0FBT0MsdUJBQXVCLE9BQU9DO0FBQ25HLE1BQU1HLG9CQUFvQjtJQUN0QjtRQUNJUDtLQUNIO0lBQ0Q7UUFDSUU7S0FDSDtJQUNEO1FBQ0lDO0tBQ0g7Q0FDSjtBQUNELE1BQU1LLHVCQUF1QjtBQUU3QixJQUFJLENBQUMsT0FBT1gsUUFBUWtCLE9BQU8sS0FBSyxjQUFlLE9BQU9sQixRQUFRa0IsT0FBTyxLQUFLLFlBQVlsQixRQUFRa0IsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbEIsUUFBUWtCLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktyQixPQUFPQyxjQUFjLENBQUNDLFFBQVFrQixPQUFPLEVBQUUsY0FBYztRQUFFakIsT0FBTztJQUFLO0lBQ25FSCxPQUFPc0IsTUFBTSxDQUFDcEIsUUFBUWtCLE9BQU8sRUFBRWxCO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFrQixPQUFPO0FBQ2xDLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnMuanM/MzU2ZiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBSU0M6IG51bGwsXHJcbiAgICBBQ1RJT046IG51bGwsXHJcbiAgICBORVhUX1JPVVRFUl9TVEFURV9UUkVFOiBudWxsLFxyXG4gICAgTkVYVF9ST1VURVJfUFJFRkVUQ0g6IG51bGwsXHJcbiAgICBORVhUX1VSTDogbnVsbCxcclxuICAgIFJTQ19DT05URU5UX1RZUEVfSEVBREVSOiBudWxsLFxyXG4gICAgUlNDX1ZBUllfSEVBREVSOiBudWxsLFxyXG4gICAgRkxJR0hUX1BBUkFNRVRFUlM6IG51bGwsXHJcbiAgICBORVhUX1JTQ19VTklPTl9RVUVSWTogbnVsbFxyXG59KTtcclxuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xyXG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxyXG4gICAgfSk7XHJcbn1cclxuX2V4cG9ydChleHBvcnRzLCB7XHJcbiAgICBSU0M6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBSU0M7XHJcbiAgICB9LFxyXG4gICAgQUNUSU9OOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gQUNUSU9OO1xyXG4gICAgfSxcclxuICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUU6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBORVhUX1JPVVRFUl9TVEFURV9UUkVFO1xyXG4gICAgfSxcclxuICAgIE5FWFRfUk9VVEVSX1BSRUZFVENIOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gTkVYVF9ST1VURVJfUFJFRkVUQ0g7XHJcbiAgICB9LFxyXG4gICAgTkVYVF9VUkw6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBORVhUX1VSTDtcclxuICAgIH0sXHJcbiAgICBSU0NfQ09OVEVOVF9UWVBFX0hFQURFUjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIFJTQ19DT05URU5UX1RZUEVfSEVBREVSO1xyXG4gICAgfSxcclxuICAgIFJTQ19WQVJZX0hFQURFUjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIFJTQ19WQVJZX0hFQURFUjtcclxuICAgIH0sXHJcbiAgICBGTElHSFRfUEFSQU1FVEVSUzogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEZMSUdIVF9QQVJBTUVURVJTO1xyXG4gICAgfSxcclxuICAgIE5FWFRfUlNDX1VOSU9OX1FVRVJZOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gTkVYVF9SU0NfVU5JT05fUVVFUlk7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBSU0MgPSBcIlJTQ1wiO1xyXG5jb25zdCBBQ1RJT04gPSBcIk5leHQtQWN0aW9uXCI7XHJcbmNvbnN0IE5FWFRfUk9VVEVSX1NUQVRFX1RSRUUgPSBcIk5leHQtUm91dGVyLVN0YXRlLVRyZWVcIjtcclxuY29uc3QgTkVYVF9ST1VURVJfUFJFRkVUQ0ggPSBcIk5leHQtUm91dGVyLVByZWZldGNoXCI7XHJcbmNvbnN0IE5FWFRfVVJMID0gXCJOZXh0LVVybFwiO1xyXG5jb25zdCBSU0NfQ09OVEVOVF9UWVBFX0hFQURFUiA9IFwidGV4dC94LWNvbXBvbmVudFwiO1xyXG5jb25zdCBSU0NfVkFSWV9IRUFERVIgPSBSU0MgKyBcIiwgXCIgKyBORVhUX1JPVVRFUl9TVEFURV9UUkVFICsgXCIsIFwiICsgTkVYVF9ST1VURVJfUFJFRkVUQ0ggKyBcIiwgXCIgKyBORVhUX1VSTDtcclxuY29uc3QgRkxJR0hUX1BBUkFNRVRFUlMgPSBbXHJcbiAgICBbXHJcbiAgICAgICAgUlNDXHJcbiAgICBdLFxyXG4gICAgW1xyXG4gICAgICAgIE5FWFRfUk9VVEVSX1NUQVRFX1RSRUVcclxuICAgIF0sXHJcbiAgICBbXHJcbiAgICAgICAgTkVYVF9ST1VURVJfUFJFRkVUQ0hcclxuICAgIF1cclxuXTtcclxuY29uc3QgTkVYVF9SU0NfVU5JT05fUVVFUlkgPSBcIl9yc2NcIjtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1yb3V0ZXItaGVhZGVycy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJSU0MiLCJBQ1RJT04iLCJORVhUX1JPVVRFUl9TVEFURV9UUkVFIiwiTkVYVF9ST1VURVJfUFJFRkVUQ0giLCJORVhUX1VSTCIsIlJTQ19DT05URU5UX1RZUEVfSEVBREVSIiwiUlNDX1ZBUllfSEVBREVSIiwiRkxJR0hUX1BBUkFNRVRFUlMiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/app-router.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/app-router.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n },\n default: function() {\n return AppRouter;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _routerreducer = __webpack_require__(/*! ./router-reducer/router-reducer */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _infinitepromise = __webpack_require__(/*! ./infinite-promise */ \"(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\");\nconst _approuterheaders = __webpack_require__(/*! ./app-router-headers */ \"(ssr)/./node_modules/next/dist/client/components/app-router-headers.js\");\nconst _removebasepath = __webpack_require__(/*! ../remove-base-path */ \"(ssr)/./node_modules/next/dist/client/remove-base-path.js\");\nconst _hasbasepath = __webpack_require__(/*! ../has-base-path */ \"(ssr)/./node_modules/next/dist/client/has-base-path.js\");\nconst isServer = \"undefined\" === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nlet globalMutable = {\n refresh: ()=>{}\n};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { tree, pushRef, canonicalUrl, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n const historyState = {\n __NA: true,\n tree\n };\n if (pushRef.pendingPush && (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync();\n }, [\n tree,\n pushRef,\n canonicalUrl,\n sync\n ]);\n return null;\n}\nconst createEmptyCacheNode = ()=>({\n status: _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED,\n data: null,\n subTreeData: null,\n parallelRoutes: new Map()\n });\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION,\n mutable: {\n globalMutable\n },\n cache: createEmptyCacheNode()\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\r\n * Server response that only patches the cache and tree.\r\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((previousTree, flightData, overrideCanonicalUrl)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n flightData,\n previousTree,\n overrideCanonicalUrl,\n cache: createEmptyCacheNode(),\n mutable: {\n globalMutable\n }\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, forceOptimisticNavigation, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n globalMutable.pendingNavigatePath = href;\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n forceOptimisticNavigation,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType,\n cache: createEmptyCacheNode(),\n mutable: {\n globalMutable\n }\n });\n }, [\n dispatch\n ]);\n}\n/**\r\n * The global router that wraps the application components.\r\n */ function Router(param) {\n let { buildId, initialHead, initialTree, initialCanonicalUrl, children, assetPrefix } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n children,\n initialCanonicalUrl,\n initialTree,\n initialParallelRoutes,\n isServer,\n location: !isServer ? window.location : null,\n initialHead\n }), [\n buildId,\n children,\n initialCanonicalUrl,\n initialTree,\n initialHead\n ]);\n const [{ tree, cache, prefetchCache, pushRef, focusAndScrollRef, canonicalUrl, nextUrl }, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(_routerreducer.reducer, initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, true ? \"http://n\" : 0);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\r\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\r\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n // Don't prefetch during development (improves compilation performance)\n if ((0, _isbot.isBot)(window.navigator.userAgent) || \"development\" === \"development\") {\n return;\n }\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", Boolean(options.forceOptimisticNavigation), (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", Boolean(options.forceOptimisticNavigation), (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n cache: createEmptyCacheNode(),\n mutable: {\n globalMutable\n },\n origin: window.location.origin\n });\n });\n },\n // @ts-ignore we don't want to expose this method at all\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n cache: createEmptyCacheNode(),\n mutable: {\n globalMutable\n },\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n (0, _react.useEffect)(()=>{\n globalMutable.refresh = appRouter.refresh;\n }, [\n appRouter.refresh\n ]);\n if (true) {\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.tree)) return;\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.tree\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in . At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n /**\r\n * Handle popstate event, this is used to handle back/forward in the browser.\r\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\r\n * That case can happen when the old router injected the history entry.\r\n */ const onPopState = (0, _react.useCallback)((param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // @ts-ignore useTransition exists\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.tree\n });\n });\n }, [\n dispatch\n ]);\n // Register popstate event to call onPopstate.\n (0, _react.useEffect)(()=>{\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n onPopState\n ]);\n const head = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n let content = /*#__PURE__*/ _react.default.createElement(_redirectboundary.RedirectBoundary, null, head, cache.subTreeData, /*#__PURE__*/ _react.default.createElement(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n }));\n if (true) {\n if (false) {}\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ _react.default.createElement(HotReloader, {\n assetPrefix: assetPrefix\n }, content);\n }\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(HistoryUpdater, {\n tree: tree,\n pushRef: pushRef,\n canonicalUrl: canonicalUrl,\n sync: sync\n }), /*#__PURE__*/ _react.default.createElement(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname\n }, /*#__PURE__*/ _react.default.createElement(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams\n }, /*#__PURE__*/ _react.default.createElement(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n }\n }, /*#__PURE__*/ _react.default.createElement(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter\n }, /*#__PURE__*/ _react.default.createElement(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree: tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl\n }\n }, content))))));\n}\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ _react.default.createElement(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent\n }, /*#__PURE__*/ _react.default.createElement(Router, rest));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBSU47QUFDQSxTQUFTSSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVixPQUFPQyxjQUFjLENBQUNRLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUU4sU0FBUztJQUNiRywyQkFBMkI7UUFDdkIsT0FBT0E7SUFDWDtJQUNBQyw2QkFBNkI7UUFDekIsT0FBT0E7SUFDWDtJQUNBQyxTQUFTO1FBQ0wsT0FBT087SUFDWDtBQUNKO0FBQ0EsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNRyxpQ0FBaUNILG1CQUFPQSxDQUFDLHVLQUFvRDtBQUNuRyxNQUFNSSxpQkFBaUJKLG1CQUFPQSxDQUFDLDBIQUFpQztBQUNoRSxNQUFNSyxzQkFBc0JMLG1CQUFPQSxDQUFDLHNJQUF1QztBQUMzRSxNQUFNTSxxQkFBcUJOLG1CQUFPQSxDQUFDLHNJQUF1QztBQUMxRSxNQUFNTyxtQ0FBbUNQLG1CQUFPQSxDQUFDLDJLQUFzRDtBQUN2RyxNQUFNUSwwQkFBMEJSLG1CQUFPQSxDQUFDLGtIQUE2QjtBQUNyRSxNQUFNUyxpQkFBaUJULG1CQUFPQSxDQUFDLDRGQUFrQjtBQUNqRCxNQUFNVSw0QkFBNEJWLG1CQUFPQSxDQUFDLG9KQUE4QztBQUN4RixNQUFNVyxTQUFTWCxtQkFBT0EsQ0FBQyw4R0FBc0M7QUFDN0QsTUFBTVksZUFBZVosbUJBQU9BLENBQUMsZ0ZB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WUFDN0IsOEVBQThFO1lBQzlFcEIsS0FBS3NCO1FBQ1Q7SUFDSixHQUFHMkc7QUFDUDtBQUNBLFNBQVM3SixVQUFVMkssS0FBSztJQUNwQixNQUFNLEVBQUVDLG9CQUFvQixFQUFFLEdBQUdDLE1BQU0sR0FBR0Y7SUFDMUMsT0FBTyxXQUFXLEdBQUd4SyxPQUFPVixPQUFPLENBQUNxSyxhQUFhLENBQUNuSixlQUFlbUssYUFBYSxFQUFFO1FBQzVFQyxnQkFBZ0JIO0lBQ3BCLEdBQUcsV0FBVyxHQUFHekssT0FBT1YsT0FBTyxDQUFDcUssYUFBYSxDQUFDakUsUUFBUWdGO0FBQzFEO0FBRUEsSUFBSSxDQUFDLE9BQU96TCxRQUFRSyxPQUFPLEtBQUssY0FBZSxPQUFPTCxRQUFRSyxPQUFPLEtBQUssWUFBWUwsUUFBUUssT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPTCxRQUFRSyxPQUFPLENBQUN1TCxVQUFVLEtBQUssYUFBYTtJQUNySzlMLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUUssT0FBTyxFQUFFLGNBQWM7UUFBRUosT0FBTztJQUFLO0lBQ25FSCxPQUFPb0ssTUFBTSxDQUFDbEssUUFBUUssT0FBTyxFQUFFTDtJQUMvQkUsT0FBT0YsT0FBTyxHQUFHQSxRQUFRSyxPQUFPO0FBQ2xDLEVBRUEsc0NBQXNDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzPzQxNTkiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5cInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyOiBudWxsLFxyXG4gICAgdXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyOiBudWxsLFxyXG4gICAgZGVmYXVsdDogbnVsbFxyXG59KTtcclxuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xyXG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxyXG4gICAgfSk7XHJcbn1cclxuX2V4cG9ydChleHBvcnRzLCB7XHJcbiAgICBnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcjtcclxuICAgIH0sXHJcbiAgICB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB1cmxUb1VybFdpdGhvdXRGbGlnaHRNYXJrZXI7XHJcbiAgICB9LFxyXG4gICAgZGVmYXVsdDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEFwcFJvdXRlcjtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcclxuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcclxuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xyXG5jb25zdCBfcm91dGVycmVkdWNlciA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL3JvdXRlci1yZWR1Y2VyXCIpO1xyXG5jb25zdCBfcm91dGVycmVkdWNlcnR5cGVzID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvcm91dGVyLXJlZHVjZXItdHlwZXNcIik7XHJcbmNvbnN0IF9jcmVhdGVocmVmZnJvbXVybCA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1ocmVmLWZyb20tdXJsXCIpO1xyXG5jb25zdCBfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xyXG5jb25zdCBfdXNlcmVkdWNlcndpdGhkZXZ0b29scyA9IHJlcXVpcmUoXCIuL3VzZS1yZWR1Y2VyLXdpdGgtZGV2dG9vbHNcIik7XHJcbmNvbnN0IF9lcnJvcmJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZXJyb3ItYm91bmRhcnlcIik7XHJcbmNvbnN0IF9jcmVhdGVpbml0aWFscm91dGVyc3RhdGUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9jcmVhdGUtaW5pdGlhbC1yb3V0ZXItc3RhdGVcIik7XHJcbmNvbnN0IF9pc2JvdCA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL3JvdXRlci91dGlscy9pcy1ib3RcIik7XHJcbmNvbnN0IF9hZGRiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi9hZGQtYmFzZS1wYXRoXCIpO1xyXG5jb25zdCBfYXBwcm91dGVyYW5ub3VuY2VyID0gcmVxdWlyZShcIi4vYXBwLXJvdXRlci1hbm5vdW5jZXJcIik7XHJcbmNvbnN0IF9yZWRpcmVjdGJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vcmVkaXJlY3QtYm91bmRhcnlcIik7XHJcbmNvbnN0IF9maW5kaGVhZGluY2FjaGUgPSByZXF1aXJlKFwiLi9yb3V0ZXItcmVkdWNlci9yZWR1Y2Vycy9maW5kLWhlYWQtaW4tY2FjaGVcIik7XHJcbmNvbnN0IF9pbmZpbml0ZXByb21pc2UgPSByZXF1aXJlKFwiLi9pbmZpbml0ZS1wcm9taXNlXCIpO1xyXG5jb25zdCBfYXBwcm91dGVyaGVhZGVycyA9IHJlcXVpcmUoXCIuL2FwcC1yb3V0ZXItaGVhZGVyc1wiKTtcclxuY29uc3QgX3JlbW92ZWJhc2VwYXRoID0gcmVxdWlyZShcIi4uL3JlbW92ZS1iYXNlLXBhdGhcIik7XHJcbmNvbnN0IF9oYXNiYXNlcGF0aCA9IHJlcXVpcmUoXCIuLi9oYXMtYmFzZS1wYXRoXCIpO1xyXG5jb25zdCBpc1NlcnZlciA9IHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCI7XHJcbi8vIEVuc3VyZSB0aGUgaW5pdGlhbFBhcmFsbGVsUm91dGVzIGFyZSBub3QgY29tYmluZWQgYmVjYXVzZSBvZiBkb3VibGUtcmVuZGVyaW5nIGluIHRoZSBicm93c2VyIHdpdGggU3RyaWN0IE1vZGUuXHJcbmxldCBpbml0aWFsUGFyYWxsZWxSb3V0ZXMgPSBpc1NlcnZlciA/IG51bGwgOiBuZXcgTWFwKCk7XHJcbmxldCBnbG9iYWxTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyID0gbnVsbDtcclxuZnVuY3Rpb24gZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlcigpIHtcclxuICAgIHJldHVybiBnbG9iYWxTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyO1xyXG59XHJcbmxldCBnbG9iYWxNdXRhYmxlID0ge1xyXG4gICAgcmVmcmVzaDogKCk9Pnt9XHJcbn07XHJcbmZ1bmN0aW9uIHVybFRvVXJsV2l0aG91dEZsaWdodE1hcmtlcih1cmwpIHtcclxuICAgIGNvbnN0IHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzID0gbmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbik7XHJcbiAgICB1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycy5zZWFyY2hQYXJhbXMuZGVsZXRlKF9hcHByb3V0ZXJoZWFkZXJzLk5FWFRfUlNDX1VOSU9OX1FVRVJZKTtcclxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJwcm9kdWN0aW9uXCIpIHtcclxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuX19ORVhUX0NPTkZJR19PVVRQVVQgPT09IFwiZXhwb3J0XCIgJiYgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMucGF0aG5hbWUuZW5kc1dpdGgoXCIudHh0XCIpKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHsgcGF0aG5hbWUgfSA9IHVybFdpdGhvdXRGbGlnaHRQYXJhbWV0ZXJzO1xyXG4gICAgICAgICAgICBjb25zdCBsZW5ndGggPSBwYXRobmFtZS5lbmRzV2l0aChcIi9pbmRleC50eHRcIikgPyAxMCA6IDQ7XHJcbiAgICAgICAgICAgIC8vIFNsaWNlIG9mZiBgL2luZGV4LnR4dGAgb3IgYC50eHRgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGF0aG5hbWVcclxuICAgICAgICAgICAgdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMucGF0aG5hbWUgPSBwYXRobmFtZS5zbGljZSgwLCAtbGVuZ3RoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnM7XHJcbn1cclxuZnVuY3Rpb24gaXNFeHRlcm5hbFVSTCh1cmwpIHtcclxuICAgIHJldHVybiB1cmwub3JpZ2luICE9PSB3aW5kb3cubG9jYXRpb24ub3JpZ2luO1xyXG59XHJcbmZ1bmN0aW9uIEhpc3RvcnlVcGRhdGVyKHBhcmFtKSB7XHJcbiAgICBsZXQgeyB0cmVlLCBwdXNoUmVmLCBjYW5vbmljYWxVcmwsIHN5bmMgfSA9IHBhcmFtO1xyXG4gICAgKDAsIF9yZWFjdC51c2VJbnNlcnRpb25FZmZlY3QpKCgpPT57XHJcbiAgICAgICAgLy8gSWRlbnRpZmllciBpcyBzaG9ydGVuZWQgaW50ZW50aW9uYWxseS5cclxuICAgICAgICAvLyBfX05BIGlzIHVzZWQgdG8gaWRlbnRpZnkgaWYgdGhlIGhpc3RvcnkgZW50cnkgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIGFwcC1yb3V0ZXIuXHJcbiAgICAgICAgLy8gX19OIGlzIHVzZWQgdG8gaWRlbnRpZnkgaWYgdGhlIGhpc3RvcnkgZW50cnkgY2FuIGJlIGhhbmRsZWQgYnkgdGhlIG9sZCByb3V0ZXIuXHJcbiAgICAgICAgY29uc3QgaGlzdG9yeVN0YXRlID0ge1xyXG4gICAgICAgICAgICBfX05BOiB0cnVlLFxyXG4gICAgICAgICAgICB0cmVlXHJcbiAgICAgICAgfTtcclxuICAgICAgICBpZiAocHVzaFJlZi5wZW5kaW5nUHVzaCAmJiAoMCwgX2NyZWF0ZWhyZWZmcm9tdXJsLmNyZWF0ZUhyZWZGcm9tVXJsKShuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSkgIT09IGNhbm9uaWNhbFVybCkge1xyXG4gICAgICAgICAgICAvLyBUaGlzIGludGVudGlvbmFsbHkgbXV0YXRlcyBSZWFjdCBzdGF0ZSwgcHVzaFJlZiBpcyBvdmVyd3JpdHRlbiB0byBlbnN1cmUgYWRkaXRpb25hbCBwdXNoL3JlcGxhY2UgY2FsbHMgZG8gbm90IHRyaWdnZXIgYW4gYWRkaXRpb25hbCBoaXN0b3J5IGVudHJ5LlxyXG4gICAgICAgICAgICBwdXNoUmVmLnBlbmRpbmdQdXNoID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShoaXN0b3J5U3RhdGUsIFwiXCIsIGNhbm9uaWNhbFVybCk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKGhpc3RvcnlTdGF0ZSwgXCJcIiwgY2Fub25pY2FsVXJsKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc3luYygpO1xyXG4gICAgfSwgW1xyXG4gICAgICAgIHRyZWUsXHJcbiAgICAgICAgcHVzaFJlZixcclxuICAgICAgICBjYW5vbmljYWxVcmwsXHJcbiAgICAgICAgc3luY1xyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gbnVsbDtcclxufVxyXG5jb25zdCBjcmVhdGVFbXB0eUNhY2hlTm9kZSA9ICgpPT4oe1xyXG4gICAgICAgIHN0YXR1czogX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkNhY2hlU3RhdGVzLkxBWllfSU5JVElBTElaRUQsXHJcbiAgICAgICAgZGF0YTogbnVsbCxcclxuICAgICAgICBzdWJUcmVlRGF0YTogbnVsbCxcclxuICAgICAgICBwYXJhbGxlbFJvdXRlczogbmV3IE1hcCgpXHJcbiAgICB9KTtcclxuZnVuY3Rpb24gdXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlcihkaXNwYXRjaCkge1xyXG4gICAgY29uc3Qgc2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChhY3Rpb25QYXlsb2FkKT0+e1xyXG4gICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICBkaXNwYXRjaCh7XHJcbiAgICAgICAgICAgICAgICAuLi5hY3Rpb25QYXlsb2FkLFxyXG4gICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fU0VSVkVSX0FDVElPTixcclxuICAgICAgICAgICAgICAgIG11dGFibGU6IHtcclxuICAgICAgICAgICAgICAgICAgICBnbG9iYWxNdXRhYmxlXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgY2FjaGU6IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKClcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgZGlzcGF0Y2hcclxuICAgIF0pO1xyXG4gICAgZ2xvYmFsU2VydmVyQWN0aW9uRGlzcGF0Y2hlciA9IHNlcnZlckFjdGlvbkRpc3BhdGNoZXI7XHJcbn1cclxuLyoqXHJcbiAqIFNlcnZlciByZXNwb25zZSB0aGF0IG9ubHkgcGF0Y2hlcyB0aGUgY2FjaGUgYW5kIHRyZWUuXHJcbiAqLyBmdW5jdGlvbiB1c2VDaGFuZ2VCeVNlcnZlclJlc3BvbnNlKGRpc3BhdGNoKSB7XHJcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKHByZXZpb3VzVHJlZSwgZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmwpPT57XHJcbiAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XHJcbiAgICAgICAgICAgIGRpc3BhdGNoKHtcclxuICAgICAgICAgICAgICAgIHR5cGU6IF9yb3V0ZXJyZWR1Y2VydHlwZXMuQUNUSU9OX1NFUlZFUl9QQVRDSCxcclxuICAgICAgICAgICAgICAgIGZsaWdodERhdGEsXHJcbiAgICAgICAgICAgICAgICBwcmV2aW91c1RyZWUsXHJcbiAgICAgICAgICAgICAgICBvdmVycmlkZUNhbm9uaWNhbFVybCxcclxuICAgICAgICAgICAgICAgIGNhY2hlOiBjcmVhdGVFbXB0eUNhY2hlTm9kZSgpLFxyXG4gICAgICAgICAgICAgICAgbXV0YWJsZToge1xyXG4gICAgICAgICAgICAgICAgICAgIGdsb2JhbE11dGFibGVcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgZGlzcGF0Y2hcclxuICAgIF0pO1xyXG59XHJcbmZ1bmN0aW9uIHVzZU5hdmlnYXRlKGRpc3BhdGNoKSB7XHJcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGhyZWYsIG5hdmlnYXRlVHlwZSwgZm9yY2VPcHRpbWlzdGljTmF2aWdhdGlvbiwgc2hvdWxkU2Nyb2xsKT0+e1xyXG4gICAgICAgIGNvbnN0IHVybCA9IG5ldyBVUkwoKDAsIF9hZGRiYXNlcGF0aC5hZGRCYXNlUGF0aCkoaHJlZiksIGxvY2F0aW9uLmhyZWYpO1xyXG4gICAgICAgIGdsb2JhbE11dGFibGUucGVuZGluZ05hdmlnYXRlUGF0aCA9IGhyZWY7XHJcbiAgICAgICAgcmV0dXJuIGRpc3BhdGNoKHtcclxuICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fTkFWSUdBVEUsXHJcbiAgICAgICAgICAgIHVybCxcclxuICAgICAgICAgICAgaXNFeHRlcm5hbFVybDogaXNFeHRlcm5hbFVSTCh1cmwpLFxyXG4gICAgICAgICAgICBsb2NhdGlvblNlYXJjaDogbG9jYXRpb24uc2VhcmNoLFxyXG4gICAgICAgICAgICBmb3JjZU9wdGltaXN0aWNOYXZpZ2F0aW9uLFxyXG4gICAgICAgICAgICBzaG91bGRTY3JvbGw6IHNob3VsZFNjcm9sbCAhPSBudWxsID8gc2hvdWxkU2Nyb2xsIDogdHJ1ZSxcclxuICAgICAgICAgICAgbmF2aWdhdGVUeXBlLFxyXG4gICAgICAgICAgICBjYWNoZTogY3JlYXRlRW1wdHlDYWNoZU5vZGUoKSxcclxuICAgICAgICAgICAgbXV0YWJsZToge1xyXG4gICAgICAgICAgICAgICAgZ2xvYmFsTXV0YWJsZVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgZGlzcGF0Y2hcclxuICAgIF0pO1xyXG59XHJcbi8qKlxyXG4gKiBUaGUgZ2xvYmFsIHJvdXRlciB0aGF0IHdyYXBzIHRoZSBhcHBsaWNhdGlvbiBjb21wb25lbnRzLlxyXG4gKi8gZnVuY3Rpb24gUm91dGVyKHBhcmFtKSB7XHJcbiAgICBsZXQgeyBidWlsZElkLCBpbml0aWFsSGVhZCwgaW5pdGlhbFRyZWUsIGluaXRpYWxDYW5vbmljYWxVcmwsIGNoaWxkcmVuLCBhc3NldFByZWZpeCB9ID0gcGFyYW07XHJcbiAgICBjb25zdCBpbml0aWFsU3RhdGUgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT4oMCwgX2NyZWF0ZWluaXRpYWxyb3V0ZXJzdGF0ZS5jcmVhdGVJbml0aWFsUm91dGVyU3RhdGUpKHtcclxuICAgICAgICAgICAgYnVpbGRJZCxcclxuICAgICAgICAgICAgY2hpbGRyZW4sXHJcbiAgICAgICAgICAgIGluaXRpYWxDYW5vbmljYWxVcmwsXHJcbiAgICAgICAgICAgIGluaXRpYWxUcmVlLFxyXG4gICAgICAgICAgICBpbml0aWFsUGFyYWxsZWxSb3V0ZXMsXHJcbiAgICAgICAgICAgIGlzU2VydmVyLFxyXG4gICAgICAgICAgICBsb2NhdGlvbjogIWlzU2VydmVyID8gd2luZG93LmxvY2F0aW9uIDogbnVsbCxcclxuICAgICAgICAgICAgaW5pdGlhbEhlYWRcclxuICAgICAgICB9KSwgW1xyXG4gICAgICAgIGJ1aWxkSWQsXHJcbiAgICAgICAgY2hpbGRyZW4sXHJcbiAgICAgICAgaW5pdGlhbENhbm9uaWNhbFVybCxcclxuICAgICAgICBpbml0aWFsVHJlZSxcclxuICAgICAgICBpbml0aWFsSGVhZFxyXG4gICAgXSk7XHJcbiAgICBjb25zdCBbeyB0cmVlLCBjYWNoZSwgcHJlZmV0Y2hDYWNoZSwgcHVzaFJlZiwgZm9jdXNBbmRTY3JvbGxSZWYsIGNhbm9uaWNhbFVybCwgbmV4dFVybCB9LCBkaXNwYXRjaCwgc3luY10gPSAoMCwgX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMudXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzKShfcm91dGVycmVkdWNlci5yZWR1Y2VyLCBpbml0aWFsU3RhdGUpO1xyXG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XHJcbiAgICAgICAgLy8gRW5zdXJlIGluaXRpYWxQYXJhbGxlbFJvdXRlcyBpcyBjbGVhbmVkIHVwIGZyb20gbWVtb3J5IG9uY2UgaXQncyB1c2VkLlxyXG4gICAgICAgIGluaXRpYWxQYXJhbGxlbFJvdXRlcyA9IG51bGw7XHJcbiAgICB9LCBbXSk7XHJcbiAgICAvLyBBZGQgbWVtb2l6ZWQgcGF0aG5hbWUvcXVlcnkgZm9yIHVzZVNlYXJjaFBhcmFtcyBhbmQgdXNlUGF0aG5hbWUuXHJcbiAgICBjb25zdCB7IHNlYXJjaFBhcmFtcywgcGF0aG5hbWUgfSA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcclxuICAgICAgICBjb25zdCB1cmwgPSBuZXcgVVJMKGNhbm9uaWNhbFVybCwgdHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIiA/IFwiaHR0cDovL25cIiA6IHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICAvLyBUaGlzIGlzIHR1cm5lZCBpbnRvIGEgcmVhZG9ubHkgY2xhc3MgaW4gYHVzZVNlYXJjaFBhcmFtc2BcclxuICAgICAgICAgICAgc2VhcmNoUGFyYW1zOiB1cmwuc2VhcmNoUGFyYW1zLFxyXG4gICAgICAgICAgICBwYXRobmFtZTogKDAsIF9oYXNiYXNlcGF0aC5oYXNCYXNlUGF0aCkodXJsLnBhdGhuYW1lKSA/ICgwLCBfcmVtb3ZlYmFzZXBhdGgucmVtb3ZlQmFzZVBhdGgpKHVybC5wYXRobmFtZSkgOiB1cmwucGF0aG5hbWVcclxuICAgICAgICB9O1xyXG4gICAgfSwgW1xyXG4gICAgICAgIGNhbm9uaWNhbFVybFxyXG4gICAgXSk7XHJcbiAgICBjb25zdCBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlID0gdXNlQ2hhbmdlQnlTZXJ2ZXJSZXNwb25zZShkaXNwYXRjaCk7XHJcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKGRpc3BhdGNoKTtcclxuICAgIHVzZVNlcnZlckFjdGlvbkRpc3BhdGNoZXIoZGlzcGF0Y2gpO1xyXG4gICAgLyoqXHJcbiAgICogVGhlIGFwcCByb3V0ZXIgdGhhdCBpcyBleHBvc2VkIHRocm91Z2ggYHVzZVJvdXRlcmAuIEl0J3Mgb25seSBjb25jZXJuZWQgd2l0aCBkaXNwYXRjaGluZyBhY3Rpb25zIHRvIHRoZSByZWR1Y2VyLCBkb2VzIG5vdCBob2xkIHN0YXRlLlxyXG4gICAqLyBjb25zdCBhcHBSb3V0ZXIgPSAoMCwgX3JlYWN0LnVzZU1lbW8pKCgpPT57XHJcbiAgICAgICAgY29uc3Qgcm91dGVySW5zdGFuY2UgPSB7XHJcbiAgICAgICAgICAgIGJhY2s6ICgpPT53aW5kb3cuaGlzdG9yeS5iYWNrKCksXHJcbiAgICAgICAgICAgIGZvcndhcmQ6ICgpPT53aW5kb3cuaGlzdG9yeS5mb3J3YXJkKCksXHJcbiAgICAgICAgICAgIHByZWZldGNoOiAoaHJlZiwgb3B0aW9ucyk9PntcclxuICAgICAgICAgICAgICAgIC8vIERvbid0IHByZWZldGNoIGZvciBib3RzIGFzIHRoZXkgZG9uJ3QgbmF2aWdhdGUuXHJcbiAgICAgICAgICAgICAgICAvLyBEb24ndCBwcmVmZXRjaCBkdXJpbmcgZGV2ZWxvcG1lbnQgKGltcHJvdmVzIGNvbXBpbGF0aW9uIHBlcmZvcm1hbmNlKVxyXG4gICAgICAgICAgICAgICAgaWYgKCgwLCBfaXNib3QuaXNCb3QpKHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50KSB8fCBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gXCJkZXZlbG9wbWVudFwiKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgdXJsID0gbmV3IFVSTCgoMCwgX2FkZGJhc2VwYXRoLmFkZEJhc2VQYXRoKShocmVmKSwgbG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgICAgICAgICAvLyBFeHRlcm5hbCB1cmxzIGNhbid0IGJlIHByZWZldGNoZWQgaW4gdGhlIHNhbWUgd2F5LlxyXG4gICAgICAgICAgICAgICAgaWYgKGlzRXh0ZXJuYWxVUkwodXJsKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBfb3B0aW9uc19raW5kO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUFJFRkVUQ0gsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybCxcclxuICAgICAgICAgICAgICAgICAgICAgICAga2luZDogKF9vcHRpb25zX2tpbmQgPSBvcHRpb25zID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zLmtpbmQpICE9IG51bGwgPyBfb3B0aW9uc19raW5kIDogX3JvdXRlcnJlZHVjZXJ0eXBlcy5QcmVmZXRjaEtpbmQuRlVMTFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHJlcGxhY2U6IChocmVmLCBvcHRpb25zKT0+e1xyXG4gICAgICAgICAgICAgICAgaWYgKG9wdGlvbnMgPT09IHZvaWQgMCkgb3B0aW9ucyA9IHt9O1xyXG4gICAgICAgICAgICAgICAgKDAsIF9yZWFjdC5zdGFydFRyYW5zaXRpb24pKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgdmFyIF9vcHRpb25zX3Njcm9sbDtcclxuICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZShocmVmLCBcInJlcGxhY2VcIiwgQm9vbGVhbihvcHRpb25zLmZvcmNlT3B0aW1pc3RpY05hdmlnYXRpb24pLCAoX29wdGlvbnNfc2Nyb2xsID0gb3B0aW9ucy5zY3JvbGwpICE9IG51bGwgPyBfb3B0aW9uc19zY3JvbGwgOiB0cnVlKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBwdXNoOiAoaHJlZiwgb3B0aW9ucyk9PntcclxuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIG9wdGlvbnMgPSB7fTtcclxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIHZhciBfb3B0aW9uc19zY3JvbGw7XHJcbiAgICAgICAgICAgICAgICAgICAgbmF2aWdhdGUoaHJlZiwgXCJwdXNoXCIsIEJvb2xlYW4ob3B0aW9ucy5mb3JjZU9wdGltaXN0aWNOYXZpZ2F0aW9uKSwgKF9vcHRpb25zX3Njcm9sbCA9IG9wdGlvbnMuc2Nyb2xsKSAhPSBudWxsID8gX29wdGlvbnNfc2Nyb2xsIDogdHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgcmVmcmVzaDogKCk9PntcclxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoKHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVGUkVTSCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGU6IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG11dGFibGU6IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdsb2JhbE11dGFibGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgb3JpZ2luOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luXHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSB3ZSBkb24ndCB3YW50IHRvIGV4cG9zZSB0aGlzIG1ldGhvZCBhdCBhbGxcclxuICAgICAgICAgICAgZmFzdFJlZnJlc2g6ICgpPT57XHJcbiAgICAgICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuTk9ERV9FTlYgIT09IFwiZGV2ZWxvcG1lbnRcIikge1xyXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImZhc3RSZWZyZXNoIGNhbiBvbmx5IGJlIHVzZWQgaW4gZGV2ZWxvcG1lbnQgbW9kZS4gUGxlYXNlIHVzZSByZWZyZXNoIGluc3RlYWQuXCIpO1xyXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICAoMCwgX3JlYWN0LnN0YXJ0VHJhbnNpdGlvbikoKCk9PntcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fRkFTVF9SRUZSRVNILFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGU6IGNyZWF0ZUVtcHR5Q2FjaGVOb2RlKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdXRhYmxlOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2xvYmFsTXV0YWJsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yaWdpbjogd2luZG93LmxvY2F0aW9uLm9yaWdpblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgcmV0dXJuIHJvdXRlckluc3RhbmNlO1xyXG4gICAgfSwgW1xyXG4gICAgICAgIGRpc3BhdGNoLFxyXG4gICAgICAgIG5hdmlnYXRlXHJcbiAgICBdKTtcclxuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xyXG4gICAgICAgIC8vIEV4aXN0cyBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLiBEb24ndCB1c2UgaW4gYXBwbGljYXRpb24gY29kZS5cclxuICAgICAgICBpZiAod2luZG93Lm5leHQpIHtcclxuICAgICAgICAgICAgd2luZG93Lm5leHQucm91dGVyID0gYXBwUm91dGVyO1xyXG4gICAgICAgIH1cclxuICAgIH0sIFtcclxuICAgICAgICBhcHBSb3V0ZXJcclxuICAgIF0pO1xyXG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XHJcbiAgICAgICAgZ2xvYmFsTXV0YWJsZS5yZWZyZXNoID0gYXBwUm91dGVyLnJlZnJlc2g7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgYXBwUm91dGVyLnJlZnJlc2hcclxuICAgIF0pO1xyXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xyXG4gICAgICAgIC8vIFRoaXMgaG9vayBpcyBpbiBhIGNvbmRpdGlvbmFsIGJ1dCB0aGF0IGlzIG9rIGJlY2F1c2UgYHByb2Nlc3MuZW52Lk5PREVfRU5WYCBuZXZlciBjaGFuZ2VzXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL3J1bGVzLW9mLWhvb2tzXHJcbiAgICAgICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XHJcbiAgICAgICAgICAgIC8vIEFkZCBgd2luZG93Lm5kYCBmb3IgZGVidWdnaW5nIHB1cnBvc2VzLlxyXG4gICAgICAgICAgICAvLyBUaGlzIGlzIG5vdCBtZWFudCBmb3IgdXNlIGluIGFwcGxpY2F0aW9ucyBhcyBjb25jdXJyZW50IHJlbmRlcmluZyB3aWxsIGFmZmVjdCB0aGUgY2FjaGUvdHJlZS9yb3V0ZXIuXHJcbiAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgdGhpcyBpcyBmb3IgZGVidWdnaW5nXHJcbiAgICAgICAgICAgIHdpbmRvdy5uZCA9IHtcclxuICAgICAgICAgICAgICAgIHJvdXRlcjogYXBwUm91dGVyLFxyXG4gICAgICAgICAgICAgICAgY2FjaGUsXHJcbiAgICAgICAgICAgICAgICBwcmVmZXRjaENhY2hlLFxyXG4gICAgICAgICAgICAgICAgdHJlZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH0sIFtcclxuICAgICAgICAgICAgYXBwUm91dGVyLFxyXG4gICAgICAgICAgICBjYWNoZSxcclxuICAgICAgICAgICAgcHJlZmV0Y2hDYWNoZSxcclxuICAgICAgICAgICAgdHJlZVxyXG4gICAgICAgIF0pO1xyXG4gICAgfVxyXG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XHJcbiAgICAgICAgLy8gSWYgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUsIGl0J3MgcG9zc2libGUgdGhhdFxyXG4gICAgICAgIC8vIHB1c2hSZWYubXBhTmF2aWdhdGlvbiBpcyB0cnVlLCB3aGljaCB3b3VsZCBtZWFuIHRoYXQgYW55IHJlLXJlbmRlciBvZiB0aGlzIGNvbXBvbmVudFxyXG4gICAgICAgIC8vIHdvdWxkIHRyaWdnZXIgdGhlIG1wYSBuYXZpZ2F0aW9uIGxvZ2ljIGFnYWluIGZyb20gdGhlIGxpbmVzIGJlbG93LlxyXG4gICAgICAgIC8vIFRoaXMgd2lsbCByZXN0b3JlIHRoZSByb3V0ZXIgdG8gdGhlIGluaXRpYWwgc3RhdGUgaW4gdGhlIGV2ZW50IHRoYXQgdGhlIGFwcCBpcyByZXN0b3JlZCBmcm9tIGJmY2FjaGUuXHJcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlUGFnZVNob3coZXZlbnQpIHtcclxuICAgICAgICAgICAgdmFyIF93aW5kb3dfaGlzdG9yeV9zdGF0ZTtcclxuICAgICAgICAgICAgaWYgKCFldmVudC5wZXJzaXN0ZWQgfHwgISgoX3dpbmRvd19oaXN0b3J5X3N0YXRlID0gd2luZG93Lmhpc3Rvcnkuc3RhdGUpID09IG51bGwgPyB2b2lkIDAgOiBfd2luZG93X2hpc3Rvcnlfc3RhdGUudHJlZSkpIHJldHVybjtcclxuICAgICAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICAgICAgdHlwZTogX3JvdXRlcnJlZHVjZXJ0eXBlcy5BQ1RJT05fUkVTVE9SRSxcclxuICAgICAgICAgICAgICAgIHVybDogbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZiksXHJcbiAgICAgICAgICAgICAgICB0cmVlOiB3aW5kb3cuaGlzdG9yeS5zdGF0ZS50cmVlXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcInBhZ2VzaG93XCIsIGhhbmRsZVBhZ2VTaG93KTtcclxuICAgICAgICByZXR1cm4gKCk9PntcclxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwYWdlc2hvd1wiLCBoYW5kbGVQYWdlU2hvdyk7XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtcclxuICAgICAgICBkaXNwYXRjaFxyXG4gICAgXSk7XHJcbiAgICAvLyBXaGVuIG1wYU5hdmlnYXRpb24gZmxhZyBpcyBzZXQgZG8gYSBoYXJkIG5hdmlnYXRpb24gdG8gdGhlIG5ldyB1cmwuXHJcbiAgICAvLyBJbmZpbml0ZWx5IHN1c3BlbmQgYmVjYXVzZSB3ZSBkb24ndCBhY3R1YWxseSB3YW50IHRvIHJlcmVuZGVyIGFueSBjaGlsZFxyXG4gICAgLy8gY29tcG9uZW50cyB3aXRoIHRoZSBuZXcgVVJMIGFuZCBhbnkgZW50YW5nbGVkIHN0YXRlIHVwZGF0ZXMgc2hvdWxkbid0XHJcbiAgICAvLyBjb21taXQgZWl0aGVyIChlZzogdXNlVHJhbnNpdGlvbiBpc1BlbmRpbmcgc2hvdWxkIHN0YXkgdHJ1ZSB1bnRpbCB0aGUgcGFnZVxyXG4gICAgLy8gdW5sb2FkcykuXHJcbiAgICAvL1xyXG4gICAgLy8gVGhpcyBpcyBhIHNpZGUgZWZmZWN0IGluIHJlbmRlci4gRG9uJ3QgdHJ5IHRoaXMgYXQgaG9tZSwga2lkcy4gSXQnc1xyXG4gICAgLy8gcHJvYmFibHkgc2FmZSBiZWNhdXNlIHdlIGtub3cgdGhpcyBpcyBhIHNpbmdsZXRvbiBjb21wb25lbnQgYW5kIGl0J3MgbmV2ZXJcclxuICAgIC8vIGluIDxPZmZzY3JlZW4+LiBBdCBsZWFzdCBJIGhvcGUgc28uIChJdCB3aWxsIHJ1biB0d2ljZSBpbiBkZXYgc3RyaWN0IG1vZGUsXHJcbiAgICAvLyBidXQgdGhhdCdzLi4uIGZpbmU/KVxyXG4gICAgaWYgKHB1c2hSZWYubXBhTmF2aWdhdGlvbikge1xyXG4gICAgICAgIC8vIGlmIHRoZXJlJ3MgYSByZS1yZW5kZXIsIHdlIGRvbid0IHdhbnQgdG8gdHJpZ2dlciBhbm90aGVyIHJlZGlyZWN0IGlmIG9uZSBpcyBhbHJlYWR5IGluIGZsaWdodCB0byB0aGUgc2FtZSBVUkxcclxuICAgICAgICBpZiAoZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCAhPT0gY2Fub25pY2FsVXJsKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGxvY2F0aW9uMSA9IHdpbmRvdy5sb2NhdGlvbjtcclxuICAgICAgICAgICAgaWYgKHB1c2hSZWYucGVuZGluZ1B1c2gpIHtcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uMS5hc3NpZ24oY2Fub25pY2FsVXJsKTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICAgIGxvY2F0aW9uMS5yZXBsYWNlKGNhbm9uaWNhbFVybCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgZ2xvYmFsTXV0YWJsZS5wZW5kaW5nTXBhUGF0aCA9IGNhbm9uaWNhbFVybDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETy1BUFA6IFNob3VsZCB3ZSBsaXN0ZW4gdG8gbmF2aWdhdGVlcnJvciBoZXJlIHRvIGNhdGNoIGZhaWxlZFxyXG4gICAgICAgIC8vIG5hdmlnYXRpb25zIHNvbWVob3c/IEFuZCBzaG91bGQgd2UgY2FsbCB3aW5kb3cuc3RvcCgpIGlmIGEgU1BBIG5hdmlnYXRpb25cclxuICAgICAgICAvLyBzaG91bGQgaW50ZXJydXB0IGFuIE1QQSBvbmU/XHJcbiAgICAgICAgKDAsIF9yZWFjdC51c2UpKCgwLCBfaW5maW5pdGVwcm9taXNlLmNyZWF0ZUluZmluaXRlUHJvbWlzZSkoKSk7XHJcbiAgICB9XHJcbiAgICAvKipcclxuICAgKiBIYW5kbGUgcG9wc3RhdGUgZXZlbnQsIHRoaXMgaXMgdXNlZCB0byBoYW5kbGUgYmFjay9mb3J3YXJkIGluIHRoZSBicm93c2VyLlxyXG4gICAqIEJ5IGRlZmF1bHQgZGlzcGF0Y2hlcyBBQ1RJT05fUkVTVE9SRSwgaG93ZXZlciBpZiB0aGUgaGlzdG9yeSBlbnRyeSB3YXMgbm90IHB1c2hlZC9yZXBsYWNlZCBieSBhcHAtcm91dGVyIGl0IHdpbGwgcmVsb2FkIHRoZSBwYWdlLlxyXG4gICAqIFRoYXQgY2FzZSBjYW4gaGFwcGVuIHdoZW4gdGhlIG9sZCByb3V0ZXIgaW5qZWN0ZWQgdGhlIGhpc3RvcnkgZW50cnkuXHJcbiAgICovIGNvbnN0IG9uUG9wU3RhdGUgPSAoMCwgX3JlYWN0LnVzZUNhbGxiYWNrKSgocGFyYW0pPT57XHJcbiAgICAgICAgbGV0IHsgc3RhdGUgfSA9IHBhcmFtO1xyXG4gICAgICAgIGlmICghc3RhdGUpIHtcclxuICAgICAgICAgICAgLy8gVE9ETy1BUFA6IHRoaXMgY2FzZSBvbmx5IGhhcHBlbnMgd2hlbiBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlIHdhcyBjYWxsZWQgb3V0c2lkZSBvZiBOZXh0LmpzLiBJdCBzaG91bGQgcHJvYmFibHkgcmVsb2FkIHRoZSBwYWdlIGluIHRoaXMgY2FzZS5cclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBUaGlzIGNhc2UgaGFwcGVucyB3aGVuIHRoZSBoaXN0b3J5IGVudHJ5IHdhcyBwdXNoZWQgYnkgdGhlIGBwYWdlc2Agcm91dGVyLlxyXG4gICAgICAgIGlmICghc3RhdGUuX19OQSkge1xyXG4gICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQHRzLWlnbm9yZSB1c2VUcmFuc2l0aW9uIGV4aXN0c1xyXG4gICAgICAgIC8vIFRPRE8tQVBQOiBJZGVhbGx5IHRoZSBiYWNrIGJ1dHRvbiBzaG91bGQgbm90IHVzZSBzdGFydFRyYW5zaXRpb24gYXMgaXQgc2hvdWxkIGFwcGx5IHRoZSB1cGRhdGVzIHN5bmNocm9ub3VzbHlcclxuICAgICAgICAvLyBXaXRob3V0IHN0YXJ0VHJhbnNpdGlvbiB3b3JrcyBpZiB0aGUgY2FjaGUgaXMgdGhlcmUgZm9yIHRoaXMgcGF0aFxyXG4gICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICBkaXNwYXRjaCh7XHJcbiAgICAgICAgICAgICAgICB0eXBlOiBfcm91dGVycmVkdWNlcnR5cGVzLkFDVElPTl9SRVNUT1JFLFxyXG4gICAgICAgICAgICAgICAgdXJsOiBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKSxcclxuICAgICAgICAgICAgICAgIHRyZWU6IHN0YXRlLnRyZWVcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgZGlzcGF0Y2hcclxuICAgIF0pO1xyXG4gICAgLy8gUmVnaXN0ZXIgcG9wc3RhdGUgZXZlbnQgdG8gY2FsbCBvblBvcHN0YXRlLlxyXG4gICAgKDAsIF9yZWFjdC51c2VFZmZlY3QpKCgpPT57XHJcbiAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBvblBvcFN0YXRlKTtcclxuICAgICAgICByZXR1cm4gKCk9PntcclxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJwb3BzdGF0ZVwiLCBvblBvcFN0YXRlKTtcclxuICAgICAgICB9O1xyXG4gICAgfSwgW1xyXG4gICAgICAgIG9uUG9wU3RhdGVcclxuICAgIF0pO1xyXG4gICAgY29uc3QgaGVhZCA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcclxuICAgICAgICByZXR1cm4gKDAsIF9maW5kaGVhZGluY2FjaGUuZmluZEhlYWRJbkNhY2hlKShjYWNoZSwgdHJlZVsxXSk7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgY2FjaGUsXHJcbiAgICAgICAgdHJlZVxyXG4gICAgXSk7XHJcbiAgICBsZXQgY29udGVudCA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVkaXJlY3Rib3VuZGFyeS5SZWRpcmVjdEJvdW5kYXJ5LCBudWxsLCBoZWFkLCBjYWNoZS5zdWJUcmVlRGF0YSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9hcHByb3V0ZXJhbm5vdW5jZXIuQXBwUm91dGVyQW5ub3VuY2VyLCB7XHJcbiAgICAgICAgdHJlZTogdHJlZVxyXG4gICAgfSkpO1xyXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IERldlJvb3ROb3RGb3VuZEJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZGV2LXJvb3Qtbm90LWZvdW5kLWJvdW5kYXJ5XCIpLkRldlJvb3ROb3RGb3VuZEJvdW5kYXJ5O1xyXG4gICAgICAgICAgICBjb250ZW50ID0gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KERldlJvb3ROb3RGb3VuZEJvdW5kYXJ5LCBudWxsLCBjb250ZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgSG90UmVsb2FkZXIgPSByZXF1aXJlKFwiLi9yZWFjdC1kZXYtb3ZlcmxheS9ob3QtcmVsb2FkZXItY2xpZW50XCIpLmRlZmF1bHQ7XHJcbiAgICAgICAgY29udGVudCA9IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChIb3RSZWxvYWRlciwge1xyXG4gICAgICAgICAgICBhc3NldFByZWZpeDogYXNzZXRQcmVmaXhcclxuICAgICAgICB9LCBjb250ZW50KTtcclxuICAgIH1cclxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChIaXN0b3J5VXBkYXRlciwge1xyXG4gICAgICAgIHRyZWU6IHRyZWUsXHJcbiAgICAgICAgcHVzaFJlZjogcHVzaFJlZixcclxuICAgICAgICBjYW5vbmljYWxVcmw6IGNhbm9uaWNhbFVybCxcclxuICAgICAgICBzeW5jOiBzeW5jXHJcbiAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlBhdGhuYW1lQ29udGV4dC5Qcm92aWRlciwge1xyXG4gICAgICAgIHZhbHVlOiBwYXRobmFtZVxyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lLlNlYXJjaFBhcmFtc0NvbnRleHQuUHJvdmlkZXIsIHtcclxuICAgICAgICB2YWx1ZTogc2VhcmNoUGFyYW1zXHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQuUHJvdmlkZXIsIHtcclxuICAgICAgICB2YWx1ZToge1xyXG4gICAgICAgICAgICBidWlsZElkLFxyXG4gICAgICAgICAgICBjaGFuZ2VCeVNlcnZlclJlc3BvbnNlLFxyXG4gICAgICAgICAgICB0cmVlLFxyXG4gICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZixcclxuICAgICAgICAgICAgbmV4dFVybFxyXG4gICAgICAgIH1cclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuQXBwUm91dGVyQ29udGV4dC5Qcm92aWRlciwge1xyXG4gICAgICAgIHZhbHVlOiBhcHBSb3V0ZXJcclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlciwge1xyXG4gICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNhY2hlLnBhcmFsbGVsUm91dGVzLFxyXG4gICAgICAgICAgICB0cmVlOiB0cmVlLFxyXG4gICAgICAgICAgICAvLyBSb290IG5vZGUgYWx3YXlzIGhhcyBgdXJsYFxyXG4gICAgICAgICAgICAvLyBQcm92aWRlZCBpbiBBcHBUcmVlQ29udGV4dCB0byBlbnN1cmUgaXQgY2FuIGJlIG92ZXJ3cml0dGVuIGluIGxheW91dC1yb3V0ZXJcclxuICAgICAgICAgICAgdXJsOiBjYW5vbmljYWxVcmxcclxuICAgICAgICB9XHJcbiAgICB9LCBjb250ZW50KSkpKSkpO1xyXG59XHJcbmZ1bmN0aW9uIEFwcFJvdXRlcihwcm9wcykge1xyXG4gICAgY29uc3QgeyBnbG9iYWxFcnJvckNvbXBvbmVudCwgLi4ucmVzdCB9ID0gcHJvcHM7XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9lcnJvcmJvdW5kYXJ5LkVycm9yQm91bmRhcnksIHtcclxuICAgICAgICBlcnJvckNvbXBvbmVudDogZ2xvYmFsRXJyb3JDb21wb25lbnRcclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChSb3V0ZXIsIHJlc3QpKTtcclxufVxyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXJvdXRlci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJtb2R1bGUiLCJnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwidXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyIiwiZGVmYXVsdCIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIkFwcFJvdXRlciIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsIl9yb3V0ZXJyZWR1Y2VyIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsIl9jcmVhdGVocmVmZnJvbXVybCIsIl9ob29rc2NsaWVudGNvbnRleHRzaGFyZWRydW50aW1lIiwiX3VzZXJlZHVjZXJ3aXRoZGV2dG9vbHMiLCJfZXJyb3Jib3VuZGFyeSIsIl9jcmVhdGVpbml0aWFscm91dGVyc3RhdGUiLCJfaXNib3QiLCJfYWRkYmFzZXBhdGgiLCJfYXBwcm91dGVyYW5ub3VuY2VyIiwiX3JlZGlyZWN0Ym91bmRhcnkiLCJfZmluZGhlYWRpbmNhY2hlIiwiX2luZmluaXRlcHJvbWlzZSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwiX3JlbW92ZWJhc2VwYXRoIiwiX2hhc2Jhc2VwYXRoIiwiaXNTZXJ2ZXIiLCJpbml0aWFsUGFyYWxsZWxSb3V0ZXMiLCJNYXAiLCJnbG9iYWxTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwiZ2xvYmFsTXV0YWJsZSIsInJlZnJlc2giLCJ1cmwiLCJ1cmxXaXRob3V0RmxpZ2h0UGFyYW1ldGVycyIsIlVSTCIsImxvY2F0aW9uIiwib3JpZ2luIiwic2VhcmNoUGFyYW1zIiwiZGVsZXRlIiwiTkVYVF9SU0NfVU5JT05fUVVFUlkiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJfX05FWFRfQ09ORklHX09VVFBVVCIsInBhdGhuYW1lIiwiZW5kc1dpdGgiLCJsZW5ndGgiLCJzbGljZSIsImlzRXh0ZXJuYWxVUkwiLCJ3aW5kb3ciLCJIaXN0b3J5VXBkYXRlciIsInBhcmFtIiwidHJlZSIsInB1c2hSZWYiLCJjYW5vbmljYWxVcmwiLCJzeW5jIiwidXNlSW5zZXJ0aW9uRWZmZWN0IiwiaGlzdG9yeVN0YXRlIiwiX19OQSIsInBlbmRpbmdQdXNoIiwiY3JlYXRlSHJlZkZyb21VcmwiLCJocmVmIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsInJlcGxhY2VTdGF0ZSIsImNyZWF0ZUVtcHR5Q2FjaGVOb2RlIiwic3RhdHVzIiwiQ2FjaGVTdGF0ZXMiLCJMQVpZX0lOSVRJQUxJWkVEIiwiZGF0YSIsInN1YlRyZWVEYXRhIiwicGFyYWxsZWxSb3V0ZXMiLCJ1c2VTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwiZGlzcGF0Y2giLCJzZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwidXNlQ2FsbGJhY2siLCJhY3Rpb25QYXlsb2FkIiwic3RhcnRUcmFuc2l0aW9uIiwidHlwZSIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIiwibXV0YWJsZSIsImNhY2hlIiwidXNlQ2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSIsInByZXZpb3VzVHJlZSIsImZsaWdodERhdGEiLCJvdmVycmlkZUNhbm9uaWNhbFVybCIsIkFDVElPTl9TRVJWRVJfUEFUQ0giLCJ1c2VOYXZpZ2F0ZSIsIm5hdmlnYXRlVHlwZSIsImZvcmNlT3B0aW1pc3RpY05hdmlnYXRpb24iLCJzaG91bGRTY3JvbGwiLCJhZGRCYXNlUGF0aCIsInBlbmRpbmdOYXZpZ2F0ZVBhdGgiLCJBQ1RJT05fTkFWSUdBVEUiLCJpc0V4dGVybmFsVXJsIiwibG9jYXRpb25TZWFyY2giLCJzZWFyY2giLCJSb3V0ZXIiLCJidWlsZElkIiwiaW5pdGlhbEhlYWQiLCJpbml0aWFsVHJlZSIsImluaXRpYWxDYW5vbmljYWxVcmwiLCJjaGlsZHJlbiIsImFzc2V0UHJlZml4IiwiaW5pdGlhbFN0YXRlIiwidXNlTWVtbyIsImNyZWF0ZUluaXRpYWxSb3V0ZXJTdGF0ZSIsInByZWZldGNoQ2FjaGUiLCJmb2N1c0FuZFNjcm9sbFJlZiIsIm5leHRVcmwiLCJ1c2VSZWR1Y2VyV2l0aFJlZHV4RGV2dG9vbHMiLCJyZWR1Y2VyIiwidXNlRWZmZWN0IiwiaGFzQmFzZVBhdGgiLCJyZW1vdmVCYXNlUGF0aCIsImNoYW5nZUJ5U2VydmVyUmVzcG9uc2UiLCJuYXZpZ2F0ZSIsImFwcFJvdXRlciIsInJvdXRlckluc3RhbmNlIiwiYmFjayIsImZvcndhcmQiLCJwcmVmZXRjaCIsIm9wdGlvbnMiLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsIl9vcHRpb25zX2tpbmQiLCJBQ1RJT05fUFJFRkVUQ0giLCJraW5kIiwiUHJlZmV0Y2hLaW5kIiwiRlVMTCIsInJlcGxhY2UiLCJfb3B0aW9uc19zY3JvbGwiLCJCb29sZWFuIiwic2Nyb2xsIiwicHVzaCIsIkFDVElPTl9SRUZSRVNIIiwiZmFzdFJlZnJlc2giLCJFcnJvciIsIkFDVElPTl9GQVNUX1JFRlJFU0giLCJuZXh0Iiwicm91dGVyIiwibmQiLCJoYW5kbGVQYWdlU2hvdyIsImV2ZW50IiwiX3dpbmRvd19oaXN0b3J5X3N0YXRlIiwicGVyc2lzdGVkIiwic3RhdGUiLCJBQ1RJT05fUkVTVE9SRSIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwibXBhTmF2aWdhdGlvbiIsInBlbmRpbmdNcGFQYXRoIiwibG9jYXRpb24xIiwiYXNzaWduIiwidXNlIiwiY3JlYXRlSW5maW5pdGVQcm9taXNlIiwib25Qb3BTdGF0ZSIsInJlbG9hZCIsImhlYWQiLCJmaW5kSGVhZEluQ2FjaGUiLCJjb250ZW50IiwiY3JlYXRlRWxlbWVudCIsIlJlZGlyZWN0Qm91bmRhcnkiLCJBcHBSb3V0ZXJBbm5vdW5jZXIiLCJEZXZSb290Tm90Rm91bmRCb3VuZGFyeSIsIkhvdFJlbG9hZGVyIiwiRnJhZ21lbnQiLCJQYXRobmFtZUNvbnRleHQiLCJQcm92aWRlciIsIlNlYXJjaFBhcmFtc0NvbnRleHQiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiQXBwUm91dGVyQ29udGV4dCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJjaGlsZE5vZGVzIiwicHJvcHMiLCJnbG9iYWxFcnJvckNvbXBvbmVudCIsInJlc3QiLCJFcnJvckJvdW5kYXJ5IiwiZXJyb3JDb21wb25lbnQiLCJfX2VzTW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": /*!*********************************************************************************!*\ !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! \*********************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _dynamicnossr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/dynamic-no-ssr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/dynamic-no-ssr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nfunction bailoutToClientRendering() {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) {\n return true;\n }\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) {\n (0, _dynamicnossr.suspense)();\n }\n return false;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNERBQTJEO0lBQ3ZESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsZ0JBQWdCQyxtQkFBT0EsQ0FBQyw4SEFBOEM7QUFDNUUsTUFBTUMsd0NBQXdDRCxtQkFBT0EsQ0FBQyw4RkFBNEM7QUFDbEcsU0FBU0Y7SUFDTCxNQUFNSSx3QkFBd0JELHNDQUFzQ0UsNEJBQTRCLENBQUNDLFFBQVE7SUFDekcsSUFBSUYseUJBQXlCLE9BQU8sS0FBSyxJQUFJQSxzQkFBc0JHLFdBQVcsRUFBRTtRQUM1RSxPQUFPO0lBQ1g7SUFDQSxJQUFJSCx5QkFBeUIsT0FBTyxLQUFLLElBQUlBLHNCQUFzQkksa0JBQWtCLEVBQUU7UUFDbEYsSUFBR1AsY0FBY1EsUUFBUTtJQUM5QjtJQUNBLE9BQU87QUFDWDtBQUVBLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CaUIsT0FBT2pCLE9BQU8sR0FBR0EsUUFBUWMsT0FBTztBQUNsQyxFQUVBLHVEQUF1RCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvYmFpbG91dC10by1jbGllbnQtcmVuZGVyaW5nLmpzP2IxNzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImJhaWxvdXRUb0NsaWVudFJlbmRlcmluZ1wiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2R5bmFtaWNub3NzciA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2xhenktZHluYW1pYy9keW5hbWljLW5vLXNzclwiKTtcclxuY29uc3QgX3N0YXRpY2dlbmVyYXRpb25hc3luY3N0b3JhZ2VleHRlcm5hbCA9IHJlcXVpcmUoXCIuL3N0YXRpYy1nZW5lcmF0aW9uLWFzeW5jLXN0b3JhZ2UuZXh0ZXJuYWxcIik7XHJcbmZ1bmN0aW9uIGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZygpIHtcclxuICAgIGNvbnN0IHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9IF9zdGF0aWNnZW5lcmF0aW9uYXN5bmNzdG9yYWdlZXh0ZXJuYWwuc3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZS5nZXRTdG9yZSgpO1xyXG4gICAgaWYgKHN0YXRpY0dlbmVyYXRpb25TdG9yZSA9PSBudWxsID8gdm9pZCAwIDogc3RhdGljR2VuZXJhdGlvblN0b3JlLmZvcmNlU3RhdGljKSB7XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICBpZiAoc3RhdGljR2VuZXJhdGlvblN0b3JlID09IG51bGwgPyB2b2lkIDAgOiBzdGF0aWNHZW5lcmF0aW9uU3RvcmUuaXNTdGF0aWNHZW5lcmF0aW9uKSB7XHJcbiAgICAgICAgKDAsIF9keW5hbWljbm9zc3Iuc3VzcGVuc2UpKCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIiwiX2R5bmFtaWNub3NzciIsInJlcXVpcmUiLCJfc3RhdGljZ2VuZXJhdGlvbmFzeW5jc3RvcmFnZWV4dGVybmFsIiwic3RhdGljR2VuZXJhdGlvblN0b3JlIiwic3RhdGljR2VuZXJhdGlvbkFzeW5jU3RvcmFnZSIsImdldFN0b3JlIiwiZm9yY2VTdGF0aWMiLCJpc1N0YXRpY0dlbmVyYXRpb24iLCJzdXNwZW5zZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/client-hook-in-server-component-error.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"clientHookInServerComponentError\", ({\n enumerable: true,\n get: function() {\n return clientHookInServerComponentError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nfunction clientHookInServerComponentError(hookName) {\n if (true) {\n // If useState is undefined we're in a server component\n if (!_react.default.useState) {\n throw new Error(\"\" + hookName + ' only works in Client Components. Add the \"use client\" directive at the top of the file to use it. Read more: https://nextjs.org/docs/messages/react-client-hook-in-server-component');\n }\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=client-hook-in-server-component-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1ob29rLWluLXNlcnZlci1jb21wb25lbnQtZXJyb3IuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9FQUFtRTtJQUMvREksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsbUhBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsU0FBU0YsaUNBQWlDSyxRQUFRO0lBQzlDLElBQUlDLElBQXFDLEVBQUU7UUFDdkMsdURBQXVEO1FBQ3ZELElBQUksQ0FBQ0gsT0FBT00sT0FBTyxDQUFDQyxRQUFRLEVBQUU7WUFDMUIsTUFBTSxJQUFJQyxNQUFNLEtBQUtOLFdBQVc7UUFDcEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ULFFBQVFhLE9BQU8sS0FBSyxjQUFlLE9BQU9iLFFBQVFhLE9BQU8sS0FBSyxZQUFZYixRQUFRYSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9iLFFBQVFhLE9BQU8sQ0FBQ0csVUFBVSxLQUFLLGFBQWE7SUFDcktsQixPQUFPQyxjQUFjLENBQUNDLFFBQVFhLE9BQU8sRUFBRSxjQUFjO1FBQUVaLE9BQU87SUFBSztJQUNuRUgsT0FBT21CLE1BQU0sQ0FBQ2pCLFFBQVFhLE9BQU8sRUFBRWI7SUFDL0JrQixPQUFPbEIsT0FBTyxHQUFHQSxRQUFRYSxPQUFPO0FBQ2xDLEVBRUEsaUVBQWlFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50LWVycm9yLmpzPzNkYWEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yXCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcjtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XHJcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcInJlYWN0XCIpKTtcclxuZnVuY3Rpb24gY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IoaG9va05hbWUpIHtcclxuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIpIHtcclxuICAgICAgICAvLyBJZiB1c2VTdGF0ZSBpcyB1bmRlZmluZWQgd2UncmUgaW4gYSBzZXJ2ZXIgY29tcG9uZW50XHJcbiAgICAgICAgaWYgKCFfcmVhY3QuZGVmYXVsdC51c2VTdGF0ZSkge1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJcIiArIGhvb2tOYW1lICsgJyBvbmx5IHdvcmtzIGluIENsaWVudCBDb21wb25lbnRzLiBBZGQgdGhlIFwidXNlIGNsaWVudFwiIGRpcmVjdGl2ZSBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIHRvIHVzZSBpdC4gUmVhZCBtb3JlOiBodHRwczovL25leHRqcy5vcmcvZG9jcy9tZXNzYWdlcy9yZWFjdC1jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50Jyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50LWVycm9yLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJjbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvciIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiaG9va05hbWUiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJkZWZhdWx0IiwidXNlU3RhdGUiLCJFcnJvciIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/error-boundary.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/error-boundary.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ErrorBoundaryHandler: function() {\n return ErrorBoundaryHandler;\n },\n GlobalError: function() {\n return GlobalError;\n },\n // Exported so that the import signature in the loaders can be identical to user\n // supplied custom global error signatures.\n default: function() {\n return _default;\n },\n ErrorBoundary: function() {\n return ErrorBoundary;\n }\n});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\r\n * Handles reset of the error boundary when a navigation happens.\r\n * Ensures the error boundary does not stay enabled when navigating to a new page.\r\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\r\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\r\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, this.props.errorStyles, /*#__PURE__*/ _react.default.createElement(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n }));\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ _react.default.createElement(\"html\", {\n id: \"__next_error__\"\n }, /*#__PURE__*/ _react.default.createElement(\"head\", null), /*#__PURE__*/ _react.default.createElement(\"body\", null, /*#__PURE__*/ _react.default.createElement(\"div\", {\n style: styles.error\n }, /*#__PURE__*/ _react.default.createElement(\"div\", null, /*#__PURE__*/ _react.default.createElement(\"h2\", {\n style: styles.text\n }, \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"), digest ? /*#__PURE__*/ _react.default.createElement(\"p\", {\n style: styles.text\n }, \"Digest: \" + digest) : null))));\n}\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ _react.default.createElement(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles\n }, children);\n }\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiJxREFFYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUtOO0FBQ0EsU0FBU0ssUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVgsT0FBT0MsY0FBYyxDQUFDUyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFQLFNBQVM7SUFDYkcsc0JBQXNCO1FBQ2xCLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQSxnRkFBZ0Y7SUFDaEYsMkNBQTJDO0lBQzNDQyxTQUFTO1FBQ0wsT0FBT1E7SUFDWDtJQUNBUCxlQUFlO1FBQ1gsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTVEsMkJBQTJCQyxtQkFBT0EsQ0FBQyxtSEFBeUM7QUFDbEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLHlCQUF5QkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx3R0FBTztBQUN2RSxNQUFNRyxjQUFjSCxtQkFBT0EsQ0FBQyxvRkFBYztBQUMxQyxNQUFNSSxTQUFTO0lBQ1hDLE9BQU87UUFDSCwwRkFBMEY7UUFDMUZDLFlBQVk7UUFDWkMsUUFBUTtRQUNSQyxXQUFXO1FBQ1hDLFNBQVM7UUFDVEMsZUFBZTtRQUNmQyxZQUFZO1FBQ1pDLGdCQUFnQjtJQUNwQjtJQUNBQyxNQUFNO1FBQ0ZDLFVBQVU7UUFDVkMsWUFBWTtRQUNaQyxZQUFZO1FBQ1pDLFFBQVE7SUFDWjtBQUNKO0FBQ0EsTUFBTTdCLDZCQUE2QmEsT0FBT1gsT0FBTyxDQUFDNEIsU0FBUztJQUN2RCxPQUFPQyx5QkFBeUJkLEtBQUssRUFBRTtRQUNuQyxPQUFPO1lBQ0hBO1FBQ0o7SUFDSjtJ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TyxXQUFXLEdBQUc5QixPQUFPWCxPQUFPLENBQUNvQyxhQUFhLENBQUN6QixPQUFPWCxPQUFPLENBQUNxQyxRQUFRLEVBQUUsTUFBTUk7QUFDckY7QUFFQSxJQUFJLENBQUMsT0FBTzlDLFFBQVFLLE9BQU8sS0FBSyxjQUFlLE9BQU9MLFFBQVFLLE9BQU8sS0FBSyxZQUFZTCxRQUFRSyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9MLFFBQVFLLE9BQU8sQ0FBQ2lELFVBQVUsS0FBSyxhQUFhO0lBQ3JLeEQsT0FBT0MsY0FBYyxDQUFDQyxRQUFRSyxPQUFPLEVBQUUsY0FBYztRQUFFSixPQUFPO0lBQUs7SUFDbkVILE9BQU95RCxNQUFNLENBQUN2RCxRQUFRSyxPQUFPLEVBQUVMO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFLLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzPzc2OTciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5cInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBFcnJvckJvdW5kYXJ5SGFuZGxlcjogbnVsbCxcclxuICAgIEdsb2JhbEVycm9yOiBudWxsLFxyXG4gICAgZGVmYXVsdDogbnVsbCxcclxuICAgIEVycm9yQm91bmRhcnk6IG51bGxcclxufSk7XHJcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcclxuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cclxuICAgIH0pO1xyXG59XHJcbl9leHBvcnQoZXhwb3J0cywge1xyXG4gICAgRXJyb3JCb3VuZGFyeUhhbmRsZXI6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBFcnJvckJvdW5kYXJ5SGFuZGxlcjtcclxuICAgIH0sXHJcbiAgICBHbG9iYWxFcnJvcjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEdsb2JhbEVycm9yO1xyXG4gICAgfSxcclxuICAgIC8vIEV4cG9ydGVkIHNvIHRoYXQgdGhlIGltcG9ydCBzaWduYXR1cmUgaW4gdGhlIGxvYWRlcnMgY2FuIGJlIGlkZW50aWNhbCB0byB1c2VyXHJcbiAgICAvLyBzdXBwbGllZCBjdXN0b20gZ2xvYmFsIGVycm9yIHNpZ25hdHVyZXMuXHJcbiAgICBkZWZhdWx0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gX2RlZmF1bHQ7XHJcbiAgICB9LFxyXG4gICAgRXJyb3JCb3VuZGFyeTogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIEVycm9yQm91bmRhcnk7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0XCIpO1xyXG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XHJcbmNvbnN0IF9uYXZpZ2F0aW9uID0gcmVxdWlyZShcIi4vbmF2aWdhdGlvblwiKTtcclxuY29uc3Qgc3R5bGVzID0ge1xyXG4gICAgZXJyb3I6IHtcclxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vc2luZHJlc29yaHVzL21vZGVybi1ub3JtYWxpemUvYmxvYi9tYWluL21vZGVybi1ub3JtYWxpemUuY3NzI0wzOC1MNTJcclxuICAgICAgICBmb250RmFtaWx5OiAnc3lzdGVtLXVpLFwiU2Vnb2UgVUlcIixSb2JvdG8sSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWYsXCJBcHBsZSBDb2xvciBFbW9qaVwiLFwiU2Vnb2UgVUkgRW1vamlcIicsXHJcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXHJcbiAgICAgICAgdGV4dEFsaWduOiBcImNlbnRlclwiLFxyXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxyXG4gICAgICAgIGZsZXhEaXJlY3Rpb246IFwiY29sdW1uXCIsXHJcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcclxuICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIlxyXG4gICAgfSxcclxuICAgIHRleHQ6IHtcclxuICAgICAgICBmb250U2l6ZTogXCIxNHB4XCIsXHJcbiAgICAgICAgZm9udFdlaWdodDogNDAwLFxyXG4gICAgICAgIGxpbmVIZWlnaHQ6IFwiMjhweFwiLFxyXG4gICAgICAgIG1hcmdpbjogXCIwIDhweFwiXHJcbiAgICB9XHJcbn07XHJcbmNsYXNzIEVycm9yQm91bmRhcnlIYW5kbGVyIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcclxuICAgIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IoZXJyb3IpIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBlcnJvclxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzKHByb3BzLCBzdGF0ZSkge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICogSGFuZGxlcyByZXNldCBvZiB0aGUgZXJyb3IgYm91bmRhcnkgd2hlbiBhIG5hdmlnYXRpb24gaGFwcGVucy5cclxuICAgICAqIEVuc3VyZXMgdGhlIGVycm9yIGJvdW5kYXJ5IGRvZXMgbm90IHN0YXkgZW5hYmxlZCB3aGVuIG5hdmlnYXRpbmcgdG8gYSBuZXcgcGFnZS5cclxuICAgICAqIEFwcHJvYWNoIG9mIHNldFN0YXRlIGluIHJlbmRlciBpcyBzYWZlIGFzIGl0IGNoZWNrcyB0aGUgcHJldmlvdXMgcGF0aG5hbWUgYW5kIHRoZW4gb3ZlcnJpZGVzXHJcbiAgICAgKiBpdCBhcyBvdXRsaW5lZCBpbiBodHRwczovL3JlYWN0LmRldi9yZWZlcmVuY2UvcmVhY3QvdXNlU3RhdGUjc3RvcmluZy1pbmZvcm1hdGlvbi1mcm9tLXByZXZpb3VzLXJlbmRlcnNcclxuICAgICAqLyBpZiAocHJvcHMucGF0aG5hbWUgIT09IHN0YXRlLnByZXZpb3VzUGF0aG5hbWUgJiYgc3RhdGUuZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgIGVycm9yOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogcHJvcHMucGF0aG5hbWVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgZXJyb3I6IHN0YXRlLmVycm9yLFxyXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3IpIHtcclxuICAgICAgICAgICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVhY3QuZGVmYXVsdC5GcmFnbWVudCwgbnVsbCwgdGhpcy5wcm9wcy5lcnJvclN0eWxlcywgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KHRoaXMucHJvcHMuZXJyb3JDb21wb25lbnQsIHtcclxuICAgICAgICAgICAgICAgIGVycm9yOiB0aGlzLnN0YXRlLmVycm9yLFxyXG4gICAgICAgICAgICAgICAgcmVzZXQ6IHRoaXMucmVzZXRcclxuICAgICAgICAgICAgfSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5wcm9wcy5jaGlsZHJlbjtcclxuICAgIH1cclxuICAgIGNvbnN0cnVjdG9yKHByb3BzKXtcclxuICAgICAgICBzdXBlcihwcm9wcyk7XHJcbiAgICAgICAgdGhpcy5yZXNldCA9ICgpPT57XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xyXG4gICAgICAgICAgICAgICAgZXJyb3I6IG51bGxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBlcnJvcjogbnVsbCxcclxuICAgICAgICAgICAgcHJldmlvdXNQYXRobmFtZTogdGhpcy5wcm9wcy5wYXRobmFtZVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gR2xvYmFsRXJyb3IocGFyYW0pIHtcclxuICAgIGxldCB7IGVycm9yIH0gPSBwYXJhbTtcclxuICAgIGNvbnN0IGRpZ2VzdCA9IGVycm9yID09IG51bGwgPyB2b2lkIDAgOiBlcnJvci5kaWdlc3Q7XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaHRtbFwiLCB7XHJcbiAgICAgICAgaWQ6IFwiX19uZXh0X2Vycm9yX19cIlxyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiaGVhZFwiLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KFwiYm9keVwiLCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xyXG4gICAgICAgIHN0eWxlOiBzdHlsZXMuZXJyb3JcclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJoMlwiLCB7XHJcbiAgICAgICAgc3R5bGU6IHN0eWxlcy50ZXh0XHJcbiAgICB9LCBcIkFwcGxpY2F0aW9uIGVycm9yOiBhIFwiICsgKGRpZ2VzdCA/IFwic2VydmVyXCIgOiBcImNsaWVudFwiKSArIFwiLXNpZGUgZXhjZXB0aW9uIGhhcyBvY2N1cnJlZCAoc2VlIHRoZSBcIiArIChkaWdlc3QgPyBcInNlcnZlciBsb2dzXCIgOiBcImJyb3dzZXIgY29uc29sZVwiKSArIFwiIGZvciBtb3JlIGluZm9ybWF0aW9uKS5cIiksIGRpZ2VzdCA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChcInBcIiwge1xyXG4gICAgICAgIHN0eWxlOiBzdHlsZXMudGV4dFxyXG4gICAgfSwgXCJEaWdlc3Q6IFwiICsgZGlnZXN0KSA6IG51bGwpKSkpO1xyXG59XHJcbmNvbnN0IF9kZWZhdWx0ID0gR2xvYmFsRXJyb3I7XHJcbmZ1bmN0aW9uIEVycm9yQm91bmRhcnkocGFyYW0pIHtcclxuICAgIGxldCB7IGVycm9yQ29tcG9uZW50LCBlcnJvclN0eWxlcywgY2hpbGRyZW4gfSA9IHBhcmFtO1xyXG4gICAgY29uc3QgcGF0aG5hbWUgPSAoMCwgX25hdmlnYXRpb24udXNlUGF0aG5hbWUpKCk7XHJcbiAgICBpZiAoZXJyb3JDb21wb25lbnQpIHtcclxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KEVycm9yQm91bmRhcnlIYW5kbGVyLCB7XHJcbiAgICAgICAgICAgIHBhdGhuYW1lOiBwYXRobmFtZSxcclxuICAgICAgICAgICAgZXJyb3JDb21wb25lbnQ6IGVycm9yQ29tcG9uZW50LFxyXG4gICAgICAgICAgICBlcnJvclN0eWxlczogZXJyb3JTdHlsZXNcclxuICAgICAgICB9LCBjaGlsZHJlbik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBjaGlsZHJlbik7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWVycm9yLWJvdW5kYXJ5LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkVycm9yQm91bmRhcnlIYW5kbGVyIiwiR2xvYmFsRXJyb3IiLCJkZWZhdWx0IiwiRXJyb3JCb3VuZGFyeSIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9kZWZhdWx0IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfbmF2aWdhdGlvbiIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwidGV4dCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJtYXJnaW4iLCJDb21wb25lbnQiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMiLCJwcm9wcyIsInN0YXRlIiwicGF0aG5hbWUiLCJwcmV2aW91c1BhdGhuYW1lIiwicmVuZGVyIiwiY3JlYXRlRWxlbWVudCIsIkZyYWdtZW50IiwiZXJyb3JTdHlsZXMiLCJlcnJvckNvbXBvbmVudCIsInJlc2V0IiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsInNldFN0YXRlIiwicGFyYW0iLCJkaWdlc3QiLCJpZCIsInN0eWxlIiwidXNlUGF0aG5hbWUiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/error-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! \**************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DYNAMIC_ERROR_CODE: function() {\n return DYNAMIC_ERROR_CODE;\n },\n DynamicServerError: function() {\n return DynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(type){\n super(\"Dynamic server usage: \" + type);\n this.digest = DYNAMIC_ERROR_CODE;\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=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtJQUNBQyxvQkFBb0I7UUFDaEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTUQscUJBQXFCO0FBQzNCLE1BQU1DLDJCQUEyQk87SUFDN0JDLFlBQVlDLElBQUksQ0FBQztRQUNiLEtBQUssQ0FBQywyQkFBMkJBO1FBQ2pDLElBQUksQ0FBQ0MsTUFBTSxHQUFHWDtJQUNsQjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU9ILFFBQVFlLE9BQU8sS0FBSyxjQUFlLE9BQU9mLFFBQVFlLE9BQU8sS0FBSyxZQUFZZixRQUFRZSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9mLFFBQVFlLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktsQixPQUFPQyxjQUFjLENBQUNDLFFBQVFlLE9BQU8sRUFBRSxjQUFjO1FBQUVkLE9BQU87SUFBSztJQUNuRUgsT0FBT21CLE1BQU0sQ0FBQ2pCLFFBQVFlLE9BQU8sRUFBRWY7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUWUsT0FBTztBQUNsQyxFQUVBLGdEQUFnRCIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQuanM/MDA5YSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBEWU5BTUlDX0VSUk9SX0NPREU6IG51bGwsXHJcbiAgICBEeW5hbWljU2VydmVyRXJyb3I6IG51bGxcclxufSk7XHJcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcclxuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cclxuICAgIH0pO1xyXG59XHJcbl9leHBvcnQoZXhwb3J0cywge1xyXG4gICAgRFlOQU1JQ19FUlJPUl9DT0RFOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gRFlOQU1JQ19FUlJPUl9DT0RFO1xyXG4gICAgfSxcclxuICAgIER5bmFtaWNTZXJ2ZXJFcnJvcjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIER5bmFtaWNTZXJ2ZXJFcnJvcjtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IERZTkFNSUNfRVJST1JfQ09ERSA9IFwiRFlOQU1JQ19TRVJWRVJfVVNBR0VcIjtcclxuY2xhc3MgRHluYW1pY1NlcnZlckVycm9yIGV4dGVuZHMgRXJyb3Ige1xyXG4gICAgY29uc3RydWN0b3IodHlwZSl7XHJcbiAgICAgICAgc3VwZXIoXCJEeW5hbWljIHNlcnZlciB1c2FnZTogXCIgKyB0eXBlKTtcclxuICAgICAgICB0aGlzLmRpZ2VzdCA9IERZTkFNSUNfRVJST1JfQ09ERTtcclxuICAgIH1cclxufVxyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9aG9va3Mtc2VydmVyLWNvbnRleHQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiRFlOQU1JQ19FUlJPUl9DT0RFIiwiRHluYW1pY1NlcnZlckVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRXJyb3IiLCJjb25zdHJ1Y3RvciIsInR5cGUiLCJkaWdlc3QiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/infinite-promise.js": /*!**********************************************************************!*\ !*** ./node_modules/next/dist/client/components/infinite-promise.js ***! \**********************************************************************/ /***/ ((module, exports) => { "use strict"; eval("/**\r\n * Used to cache in createInfinitePromise\r\n */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"createInfinitePromise\", ({\n enumerable: true,\n get: function() {\n return createInfinitePromise;\n }\n}));\nlet infinitePromise;\nfunction createInfinitePromise() {\n if (!infinitePromise) {\n // Only create the Promise once\n infinitePromise = new Promise(()=>{\n // This is used to debug when the rendering is never updated.\n // setTimeout(() => {\n // infinitePromise = new Error('Infinite promise')\n // resolve()\n // }, 5000)\n });\n }\n return infinitePromise;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=infinite-promise.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2luZmluaXRlLXByb21pc2UuanMiLCJtYXBwaW5ncyI6IkFBQUE7O0NBRUMsR0FBZ0I7QUFDakJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCx5REFBd0Q7SUFDcERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixJQUFJQztBQUNKLFNBQVNEO0lBQ0wsSUFBSSxDQUFDQyxpQkFBaUI7UUFDbEIsK0JBQStCO1FBQy9CQSxrQkFBa0IsSUFBSUMsUUFBUTtRQUM5Qiw2REFBNkQ7UUFDN0QscUJBQXFCO1FBQ3JCLG9EQUFvRDtRQUNwRCxjQUFjO1FBQ2QsV0FBVztRQUNYO0lBQ0o7SUFDQSxPQUFPRDtBQUNYO0FBRUEsSUFBSSxDQUFDLE9BQU9MLFFBQVFPLE9BQU8sS0FBSyxjQUFlLE9BQU9QLFFBQVFPLE9BQU8sS0FBSyxZQUFZUCxRQUFRTyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9QLFFBQVFPLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktWLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUU8sT0FBTyxFQUFFLGNBQWM7UUFBRU4sT0FBTztJQUFLO0lBQ25FSCxPQUFPVyxNQUFNLENBQUNULFFBQVFPLE9BQU8sRUFBRVA7SUFDL0JVLE9BQU9WLE9BQU8sR0FBR0EsUUFBUU8sT0FBTztBQUNsQyxFQUVBLDRDQUE0QyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvaW5maW5pdGUtcHJvbWlzZS5qcz83MmZmIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBVc2VkIHRvIGNhY2hlIGluIGNyZWF0ZUluZmluaXRlUHJvbWlzZVxyXG4gKi8gXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImNyZWF0ZUluZmluaXRlUHJvbWlzZVwiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gY3JlYXRlSW5maW5pdGVQcm9taXNlO1xyXG4gICAgfVxyXG59KTtcclxubGV0IGluZmluaXRlUHJvbWlzZTtcclxuZnVuY3Rpb24gY3JlYXRlSW5maW5pdGVQcm9taXNlKCkge1xyXG4gICAgaWYgKCFpbmZpbml0ZVByb21pc2UpIHtcclxuICAgICAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgUHJvbWlzZSBvbmNlXHJcbiAgICAgICAgaW5maW5pdGVQcm9taXNlID0gbmV3IFByb21pc2UoKCk9PntcclxuICAgICAgICAvLyBUaGlzIGlzIHVzZWQgdG8gZGVidWcgd2hlbiB0aGUgcmVuZGVyaW5nIGlzIG5ldmVyIHVwZGF0ZWQuXHJcbiAgICAgICAgLy8gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgLy8gICBpbmZpbml0ZVByb21pc2UgPSBuZXcgRXJyb3IoJ0luZmluaXRlIHByb21pc2UnKVxyXG4gICAgICAgIC8vICAgcmVzb2x2ZSgpXHJcbiAgICAgICAgLy8gfSwgNTAwMClcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHJldHVybiBpbmZpbml0ZVByb21pc2U7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZmluaXRlLXByb21pc2UuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsImNyZWF0ZUluZmluaXRlUHJvbWlzZSIsImluZmluaXRlUHJvbWlzZSIsIlByb21pc2UiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js": /*!**************************************************************************!*\ !*** ./node_modules/next/dist/client/components/is-next-router-error.js ***! \**************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isNextRouterError\", ({\n enumerable: true,\n get: function() {\n return isNextRouterError;\n }\n}));\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nfunction isNextRouterError(error) {\n return error && error.digest && ((0, _redirect.isRedirectError)(error) || (0, _notfound.isNotFoundError)(error));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=is-next-router-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxxREFBb0Q7SUFDaERJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxZQUFZQyxtQkFBT0EsQ0FBQyxrRkFBYTtBQUN2QyxNQUFNQyxZQUFZRCxtQkFBT0EsQ0FBQyxnRkFBWTtBQUN0QyxTQUFTRixrQkFBa0JJLEtBQUs7SUFDNUIsT0FBT0EsU0FBU0EsTUFBTUMsTUFBTSxJQUFLLEVBQUMsR0FBR0YsVUFBVUcsZUFBZSxFQUFFRixVQUFVLENBQUMsR0FBR0gsVUFBVU0sZUFBZSxFQUFFSCxNQUFLO0FBQ2xIO0FBRUEsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxnREFBZ0QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzP2Q5MDciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzTmV4dFJvdXRlckVycm9yXCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBpc05leHRSb3V0ZXJFcnJvcjtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9ub3Rmb3VuZCA9IHJlcXVpcmUoXCIuL25vdC1mb3VuZFwiKTtcclxuY29uc3QgX3JlZGlyZWN0ID0gcmVxdWlyZShcIi4vcmVkaXJlY3RcIik7XHJcbmZ1bmN0aW9uIGlzTmV4dFJvdXRlckVycm9yKGVycm9yKSB7XHJcbiAgICByZXR1cm4gZXJyb3IgJiYgZXJyb3IuZGlnZXN0ICYmICgoMCwgX3JlZGlyZWN0LmlzUmVkaXJlY3RFcnJvcikoZXJyb3IpIHx8ICgwLCBfbm90Zm91bmQuaXNOb3RGb3VuZEVycm9yKShlcnJvcikpO1xyXG59XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pcy1uZXh0LXJvdXRlci1lcnJvci5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiaXNOZXh0Um91dGVyRXJyb3IiLCJfbm90Zm91bmQiLCJyZXF1aXJlIiwiX3JlZGlyZWN0IiwiZXJyb3IiLCJkaWdlc3QiLCJpc1JlZGlyZWN0RXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/layout-router.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/layout-router.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _infinitepromise = __webpack_require__(/*! ./infinite-promise */ \"(ssr)/./node_modules/next/dist/client/components/infinite-promise.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _matchsegments = __webpack_require__(/*! ./match-segments */ \"(ssr)/./node_modules/next/dist/client/components/match-segments.js\");\nconst _handlesmoothscroll = __webpack_require__(/*! ../../shared/lib/router/utils/handle-smooth-scroll */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/handle-smooth-scroll.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _notfoundboundary = __webpack_require__(/*! ./not-found-boundary */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _createroutercachekey = __webpack_require__(/*! ./router-reducer/create-router-cache-key */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-router-cache-key.js\");\n/**\r\n * Add refetch marker to router state at the point of the current layout segment.\r\n * This ensures the response returned is not further down than the current layout segment.\r\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\r\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\r\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\r\n * Check if a HTMLElement is hidden or fixed/sticky position\r\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\r\n * Check if the top corner of the HTMLElement is in the viewport.\r\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\r\n * Find the DOM node for a hash fragment.\r\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\r\n * If the hash fragment is an id, the page has to scroll to the element with that id.\r\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\r\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a in head.\n if (!domNode) {\n domNode = findDOMNode(this);\n }\n // If there is no DOM node this layout-router level is skipped. It'll be handled higher-up in the tree.\n if (!(domNode instanceof Element)) {\n return;\n }\n // Verify if the element is a HTMLElement and if we want to consider it for scroll behavior.\n // If the element is skipped, try to select the next sibling and try again.\n while(!(domNode instanceof HTMLElement) || shouldSkipElement(domNode)){\n // No siblings found that match the criteria are found, so handle scroll higher up in the tree instead.\n if (domNode.nextElementSibling === null) {\n return;\n }\n domNode = domNode.nextElementSibling;\n }\n // State is mutated to ensure that the focus and scroll is applied only once.\n focusAndScrollRef.apply = false;\n focusAndScrollRef.hashFragment = null;\n focusAndScrollRef.segmentPaths = [];\n (0, _handlesmoothscroll.handleSmoothScroll)(()=>{\n // In case of hash scroll, we only need to scroll the element into view\n if (hashFragment) {\n domNode.scrollIntoView();\n return;\n }\n // Store the current viewport height because reading `clientHeight` causes a reflow,\n // and it won't change during this function.\n const htmlElement = document.documentElement;\n const viewportHeight = htmlElement.clientHeight;\n // If the element's top edge is already in the viewport, exit early.\n if (topOfElementInViewport(domNode, viewportHeight)) {\n return;\n }\n // Otherwise, try scrolling go the top of the document to be backward compatible with pages\n // scrollIntoView() called on `` element scrolls horizontally on chrome and firefox (that shouldn't happen)\n // We could use it to scroll horizontally following RTL but that also seems to be broken - it will always scroll left\n // scrollLeft = 0 also seems to ignore RTL and manually checking for RTL is too much hassle so we will scroll just vertically\n htmlElement.scrollTop = 0;\n // Scroll to domNode if domNode is not in viewport when scrolled to top of document\n if (!topOfElementInViewport(domNode, viewportHeight)) {\n domNode.scrollIntoView();\n }\n }, {\n // We will force layout by querying domNode position\n dontForceLayout: true,\n onlyHashChange: focusAndScrollRef.onlyHashChange\n });\n // Mutate after scrolling so that it can be read by `handleSmoothScroll`\n focusAndScrollRef.onlyHashChange = false;\n // Set focus on the element\n domNode.focus();\n }\n };\n }\n}\nfunction ScrollAndFocusHandler(param) {\n let { segmentPath, children } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n return /*#__PURE__*/ _react.default.createElement(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef\n }, children);\n}\n/**\r\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\r\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, childProp, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // If childProp is available this means it's the Flight / SSR case.\n if (childProp && // TODO-APP: verify if this can be null based on user code\n childProp.current !== null) {\n if (!childNode) {\n // Add the segment's subTreeData to the cache.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n childNode = {\n status: _approutercontextsharedruntime.CacheStates.READY,\n data: null,\n subTreeData: childProp.current,\n parallelRoutes: new Map()\n };\n childNodes.set(cacheKey, childNode);\n } else {\n if (childNode.status === _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED) {\n // @ts-expect-error we're changing it's type!\n childNode.status = _approutercontextsharedruntime.CacheStates.READY;\n // @ts-expect-error\n childNode.subTreeData = childProp.current;\n }\n }\n }\n // When childNode is not available during rendering client-side we need to fetch it from the server.\n if (!childNode || childNode.status === _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED) {\n /**\r\n * Router state with refetch marker added\r\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n childNode = {\n status: _approutercontextsharedruntime.CacheStates.DATA_FETCH,\n data: (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, context.nextUrl, buildId),\n subTreeData: null,\n head: childNode && childNode.status === _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED ? childNode.head : undefined,\n parallelRoutes: childNode && childNode.status === _approutercontextsharedruntime.CacheStates.LAZY_INITIALIZED ? childNode.parallelRoutes : new Map()\n };\n /**\r\n * Flight data fetch kicked off during render and put into the cache.\r\n */ childNodes.set(cacheKey, childNode);\n }\n // This case should never happen so it throws an error. It indicates there's a bug in the Next.js.\n if (!childNode) {\n throw new Error(\"Child node should always exist\");\n }\n // This case should never happen so it throws an error. It indicates there's a bug in the Next.js.\n if (childNode.subTreeData && childNode.data) {\n throw new Error(\"Child node should not have both subTreeData and data\");\n }\n // If cache node has a data request we have to unwrap response by `use` and update the cache.\n if (childNode.data) {\n /**\r\n * Flight response data\r\n */ // When the data has not resolved yet `use` will suspend here.\n const [flightData, overrideCanonicalUrl] = (0, _react.use)(childNode.data);\n // segmentPath from the server does not match the layout's segmentPath\n childNode.data = null;\n // setTimeout is used to start a new transition during render, this is an intentional hack around React.\n setTimeout(()=>{\n (0, _react.startTransition)(()=>{\n changeByServerResponse(fullTree, flightData, overrideCanonicalUrl);\n });\n });\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n // If cache node has no subTreeData and no data request we have to infinitely suspend as the data will likely flow in from another place.\n // TODO-APP: double check users can't return null in a component that will kick in here.\n if (!childNode.subTreeData) {\n (0, _react.use)((0, _infinitepromise.createInfinitePromise)());\n }\n const subtree = /*#__PURE__*/ _react.default.createElement(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url\n }\n }, childNode.subTreeData);\n // Ensure root layout is not wrapped in a div as the root layout renders ``\n return subtree;\n}\n/**\r\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\r\n * If no loading property is provided it renders the children without a suspense boundary.\r\n */ function LoadingBoundary(param) {\n let { children, loading, loadingStyles, hasLoading } = param;\n if (hasLoading) {\n return /*#__PURE__*/ _react.default.createElement(_react.Suspense, {\n fallback: /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, loadingStyles, loading)\n }, children);\n }\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, childProp, error, errorStyles, templateStyles, loading, loadingStyles, hasLoading, template, notFound, notFoundStyles, styles } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant expected layout router to be mounted\");\n }\n const { childNodes, tree, url } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n const childPropSegment = childProp.segment;\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\r\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in ``.\r\n */ // TODO-APP: Add handling of `` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, styles, preservedSegments.map((preservedSegment)=>{\n const isChildPropSegment = (0, _matchsegments.matchSegment)(preservedSegment, childPropSegment);\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\r\n - Error boundary\r\n - Only renders error boundary if error component is provided.\r\n - Rendered for each segment to ensure they have their own error state.\r\n - Loading boundary\r\n - Only renders suspense boundary if loading components is provided.\r\n - Rendered for each segment to ensure they have their own loading state.\r\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\r\n */ /*#__PURE__*/ _react.default.createElement(_approutercontextsharedruntime.TemplateContext.Provider, {\n key: (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true),\n value: /*#__PURE__*/ _react.default.createElement(ScrollAndFocusHandler, {\n segmentPath: segmentPath\n }, /*#__PURE__*/ _react.default.createElement(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles\n }, /*#__PURE__*/ _react.default.createElement(LoadingBoundary, {\n hasLoading: hasLoading,\n loading: loading,\n loadingStyles: loadingStyles\n }, /*#__PURE__*/ _react.default.createElement(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles\n }, /*#__PURE__*/ _react.default.createElement(_redirectboundary.RedirectBoundary, null, /*#__PURE__*/ _react.default.createElement(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n childProp: isChildPropSegment ? childProp : null,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n }))))))\n }, templateStyles, template));\n }));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6InFEQUVhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FHZTtJQUNYSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxtSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUUsU0FBUyxXQUFXLEdBQUdELDBCQUEwQkUsQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSSxZQUFZLFdBQVcsR0FBR0wseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLGdIQUFXO0FBQzlFLE1BQU1LLGlDQUFpQ0wsbUJBQU9BLENBQUMsdUtBQW9EO0FBQ25HLE1BQU1NLHVCQUF1Qk4sbUJBQU9BLENBQUMsd0lBQXdDO0FBQzdFLE1BQU1PLG1CQUFtQlAsbUJBQU9BLENBQUMsZ0dBQW9CO0FBQ3JELE1BQU1RLGlCQUFpQlIsbUJBQU9BLENBQUMsNEZBQWtCO0FBQ2pELE1BQU1TLGlCQUFpQlQsbUJBQU9BLENBQUMsNEZBQWtCO0FBQ2pELE1BQU1VLHNCQUFzQlYsbUJBQU9BLENBQUMsMElBQW9EO0FBQ3hGLE1BQU1XLG9CQUFvQlgsbUJBQU9BLENBQUMsa0dBQXFCO0FBQ3ZELE1BQU1ZLG9CQUFvQlosbUJBQU9BLENBQUMsb0dBQXNCO0FBQ3hELE1BQU1hLG1CQUFtQmIsbUJBQU9BLENBQUMsa0pBQTZDO0FBQzlFLE1BQU1jLHdCQUF3QmQsbUJBQU9BLENBQUMsNElBQTBDO0FBQ2hGOzs7Q0FHQyxHQUFHLFNBQVNlLGVBQWVDLGlCQUFpQixFQUFFQyxjQUFjO0lBQ3pELElBQUlELG1CQUFtQjtRQUNuQixNQUFNLENBQUNFLFNBQVNDLGlCQUFpQixHQUFHSDtRQUNwQyxNQUFNSSxTQUFTSixrQkFBa0JLLE1BQU0sS0FBSztRQUM1QyxJQUFJLENBQUMsR0FBR1osZUFBZWEsWUFBWSxFQUFFTCxjQUFjLENBQUMsRUFBRSxFQUFFQyxVQUFVO1lBQzlELElBQUlELGNBQWMsQ0FBQyxFQUFFLENBQUNNLGNBQWMsQ0FBQ0osbUJBQW1CO2dCQUNwRCxJQUFJQyxRQUFRO29CQUNSLE1BQU1JLFVBQVVULGVBQWVVLFdBQVdSLGNBQWMsQ0FBQyxFQUFFLENBQUNFLGlCQUFpQjtvQkFDN0UsT0FBTzt3QkFDSEYsY0FBYyxDQUFDLEVBQUU7d0JBQ2pCOzRCQUNJLEdBQUdBLGNBQWMsQ0FBQyxFQUFFOzRCQUNwQixDQUFDRSxpQkFBaUIsRUFBRTtnQ0FDaEJLLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVkEsT0FBTyxDQUFDLEVBQUU7Z0NBQ1Y7NkJBQ0g7d0JBQ0w7cUJBQ0g7Z0JBQ0w7Z0JBQ0EsT0FBTztvQkFDSFAsY0FBYyxDQUFDLEVBQUU7b0JBQ2pCO3dCQUNJLEdBQUdBLGNBQWMsQ0FBQyxFQUFFO3dCQUNwQixDQUFDRSxpQkFBaUIsRUFBRUosZUFBZUMsa0JBQWtCVSxLQUFLLENBQUMsSUFBSVQsY0FBYyxDQUFDLEVBQUUsQ0FBQ0UsaUJBQWlCO29CQUN0RztpQkFDSDtZQUNMO1FBQ0o7SUFDSjtJQUNBLE9BQU9GO0FBQ1g7QUFDQSw0RkFBNEY7QUFDNUY7O0NBRUMsR0FBRyxTQUFTVSxZQUFZQyxRQUFRO0lBQzdCLCtCQUErQjtJQUMvQixJQUFJLElBQTZCLEVBQUUsT0FBTztJQUMxQyx3REFBd0Q7SUFDeEQsSUFBSUMsSUFBcUMsRUFBRTtRQUN2QyxNQUFNRyx1QkFBdUJDLFFBQVFDLEtBQUs7UUFDMUMsSUFBSTtZQUNBRCxRQUFRQyxLQUFLLEdBQUc7Z0JBQ1osSUFBSSxJQUFJQyxPQUFPQyxVQUFVZixNQUFNLEVBQUVnQixXQUFXLElBQUlDLE1BQU1ILE9BQU9JLE9BQU8sR0FBR0EsT0FBT0osTUFBTUksT0FBTztvQkFDdkZGLFFBQVEsQ0FBQ0UsS0FBSyxHQUFHSCxTQUFTLENBQUNHLEtBQUs7Z0JBQ3BDO2dCQUNBLDREQUE0RDtnQkFDNUQsSUFBSSxDQUFDRixRQUFRLENBQUMsRUFBRSxDQUFDRyxRQUFRLENBQUMsNkNBQTZDO29CQUNuRVIsd0JBQXdCSztnQkFDNUI7WUFDSjtZQUNBLE9BQU9qQyxVQUFVcUMsT0FBTyxDQUFDZCxXQUFXLENBQUNDO1FBQ3pDLFNBQVM7WUFDTEssUUFBUUMsS0FBSyxHQUFHRjtRQUNwQjtJQUNKO0lBQ0EsT0FBTzVCLFVBQVVxQyxPQUFPLENBQUNkLFdBQVcsQ0FBQ0M7QUFDekM7QUFDQSxNQUFNYyxpQkFBaUI7SUFDbkI7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtDQUNIO0FBQ0Q7O0NBRUMsR0FBRyxTQUFTQyxrQkFBa0JDLE9BQU87SUFDbEMsa0dBQWtHO0lBQ2xHLDBGQUEwRjtJQUMxRixtREFBbUQ7SUFDbkQsSUFBSTtRQUNBO1FBQ0E7S0FDSCxDQUFDSixRQUFRLENBQUNLLGlCQUFpQkQsU0FBU0UsUUFBUSxHQUFHO1FBQzVDLElBQUlqQixJQUFzQyxFQUFFO1lBQ3hDSSxRQUFRYyxJQUFJLENBQUMsNEZBQTRGSDtRQUM3RztRQUNBLE9BQU87SUFDWDtJQUNBLDJGQUEyRjtJQUMzRix3REFBd0Q7SUFDeEQsTUFBTUksT0FBT0osUUFBUUsscUJBQXFCO0lBQzFDLE9BQU9QLGVBQWVRLEtBQUssQ0FBQyxDQUFDQyxPQUFPSCxJQUFJLENBQUNHLEtBQUssS0FBSztBQUN2RDtBQUNBOztDQUVDLEdBQUcsU0FBU0MsdUJBQXVCUixPQUFPLEVBQUVTLGNBQWM7SUFDdkQsTUFBTUwsT0FBT0osUUFBUUsscUJBQXFCO0lBQzFDLE9BQU9ELEtBQUtNLEdBQUcsSUFBSSxLQUFLTixLQUFLTSxHQUFHLElBQUlEO0FBQ3hDO0FBQ0E7Ozs7O0NBS0MsR0FBRyxTQUFTRSx1QkFBdUJDLFlBQVk7SUFDNUMsK0VBQStFO0lBQy9FLElBQUlBLGlCQUFpQixPQUFPO1FBQ3hCLE9BQU9DLFNBQVNDLElBQUk7SUFDeEI7SUFDQSxJQUFJQztJQUNKLHFGQUFxRjtJQUNyRixPQUFPLENBQUNBLDJCQUEyQkYsU0FBU0csY0FBYyxDQUFDSixhQUFZLEtBQU0sT0FBT0csMkJBQ3BGRixTQUFTSSxpQkFBaUIsQ0FBQ0wsYUFBYSxDQUFDLEVBQUU7QUFDL0M7QUFDQSxNQUFNTSxtQ0FBbUM1RCxPQUFPdUMsT0FBTyxDQUFDc0IsU0FBUztJQUM3REMsb0JBQW9CO1FBQ2hCLElBQUksQ0FBQ0MscUJBQXFCO0lBQzlCO0lBQ0FDLHFCQUFxQjtRQUNqQixzSkFBc0o7UUFDdEosSUFBSSxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsaUJBQWlCLENBQUNDLEtBQUssRUFBRTtZQUNwQyxJQUFJLENBQUNKLHFCQUFxQjtRQUM5QjtJQUNKO0lBQ0FLLFNBQVM7UUFDTCxPQUFPLElBQUksQ0FBQ0gsS0FBSyxDQUFDSSxRQUFRO0lBQzlCO0lBQ0FDLFlBQVksR0FBR0MsSUFBSSxDQUFDO1FBQ2hCLEtBQUssSUFBSUE7UUFDVCxJQUFJLENBQUNSLHFCQUFxQixHQUFHO1lBQ3pCLHFHQUFxRztZQUNyRyxNQUFNLEVBQUVHLGlCQUFpQixFQUFFTSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUNQLEtBQUs7WUFDckQsSUFBSUMsa0JBQWtCQyxLQUFLLEVBQUU7Z0JBQ3pCLHVFQUF1RTtnQkFDdkUsNkVBQTZFO2dCQUM3RSx3RUFBd0U7Z0JBQ3hFLElBQUlELGtCQUFrQk8sWUFBWSxDQUFDdEQsTUFBTSxLQUFLLEtBQUssQ0FBQytDLGtCQUFrQk8sWUFBWSxDQUFDQyxJQUFJLENBQUMsQ0FBQ0MsdUJBQXVCSCxZQUFZeEIsS0FBSyxDQUFDLENBQUNoQyxTQUFTNEQsUUFBUSxDQUFDLEdBQUdyRSxlQUFlYSxZQUFZLEVBQUVKLFNBQVMyRCxvQkFBb0IsQ0FBQ0MsTUFBTSxLQUFLO29CQUMxTjtnQkFDSjtnQkFDQSxJQUFJQyxVQUFVO2dCQUNkLE1BQU12QixlQUFlWSxrQkFBa0JaLFlBQVk7Z0JBQ25ELElBQUlBLGNBQWM7b0JBQ2R1QixVQUFVeEIsdUJBQXVCQztnQkFDckM7Z0JBQ0Esa0dBQWtHO2dCQUNsRyx5RUFBeUU7Z0JBQ3pFLElBQUksQ0FBQ3VCLFNBQVM7b0JBQ1ZBLFVBQVVwRCxZQUFZLElBQUk7Z0JBQzlCO2dCQUNBLHVHQUF1RztnQkFDdkcsSUFBSSxDQUFFb0QsQ0FBQUEsbUJBQW1CQyxPQUFNLEdBQUk7b0JBQy9CO2dCQUNKO2dCQUNBLDRGQUE0RjtnQkFDNUYsMkVBQTJFO2dCQUMzRSxNQUFNLENBQUVELENBQUFBLG1CQUFtQkUsV0FBVSxLQUFNdEMsa0JBQWtCb0MsU0FBUztvQkFDbEUsdUdBQXVHO29CQUN2RyxJQUFJQSxRQUFRRyxrQkFBa0IsS0FBSyxNQUFNO3dCQUNyQztvQkFDSjtvQkFDQUgsVUFBVUEsUUFBUUcsa0JBQWtCO2dCQUN4QztnQkFDQSw2RUFBNkU7Z0JBQzdFZCxrQkFBa0JDLEtBQUssR0FBRztnQkFDMUJELGtCQUFrQlosWUFBWSxHQUFHO2dCQUNqQ1ksa0JBQWtCTyxZQUFZLEdBQUcsRUFBRTtnQkFDbEMsSUFBR2pFLG9CQUFvQnlFLGtCQUFrQixFQUFFO29CQUN4Qyx1RUFBdUU7b0JBQ3ZFLElBQUkzQixjQUFjO3dCQUNkdUIsUUFBUUssY0FBYzt3QkFDdEI7b0JBQ0o7b0JBQ0Esb0ZBQW9GO29CQUNwRiw0Q0FBNEM7b0JBQzVDLE1BQU1DLGNBQWM1QixTQUFTNkIsZUFBZTtvQkFDNUMsTUFBTWpDLGlCQUFpQmdDLFlBQVlFLFlBQVk7b0JBQy9DLG9FQUFvRTtvQkFDcEUsSUFBSW5DLHVCQUF1QjJCLFNBQVMxQixpQkFBaUI7d0JBQ2pEO29CQUNKO29CQUNBLDJGQUEyRjtvQkFDM0Ysa0hBQWtIO29CQUNsSCxxSEFBcUg7b0JBQ3JILDZIQUE2SDtvQkFDN0hnQyxZQUFZRyxTQUFTLEdBQUc7b0JBQ3hCLG1GQUFtRjtvQkFDbkYsSUFBSSxDQUFDcEMsdUJBQXVCMkIsU0FBUzFCLGlCQUFpQjt3QkFDbEQwQixRQUFRSyxjQUFjO29CQUMxQjtnQkFDSixHQUFHO29CQUNDLG9EQUFvRDtvQkFDcERLLGlCQUFpQjtvQkFDakJDLGdCQUFnQnRCLGtCQUFrQnNCLGNBQWM7Z0JBQ3BEO2dCQUNBLHdFQUF3RTtnQkFDeEV0QixrQkFBa0JzQixjQUFjLEdBQUc7Z0JBQ25DLDJCQUEyQjtnQkFDM0JYLFFBQVFZLEtBQUs7WUFDakI7UUFDSjtJQUNKO0FBQ0o7QUFDQSxTQUFTQyxzQkFBc0JDLEtBQUs7SUFDaEMsSUFBSSxFQUFFbkIsV0FBVyxFQUFFSCxRQUFRLEVBQUUsR0FBR3NCO0lBQ2hDLE1BQU1DLFVBQVUsQ0FBQyxHQUFHNUYsT0FBTzZGLFVBQVUsRUFBRTFGLCtCQUErQjJGLHlCQUF5QjtJQUMvRixJQUFJLENBQUNGLFNBQVM7UUFDVixNQUFNLElBQUlHLE1BQU07SUFDcEI7SUFDQSxPQUFPLFdBQVcsR0FBRy9GLE9BQU91QyxPQUFPLENBQUN5RCxhQUFhLENBQUNwQyw0QkFBNEI7UUFDMUVZLGFBQWFBO1FBQ2JOLG1CQUFtQjBCLFFBQVExQixpQkFBaUI7SUFDaEQsR0FBR0c7QUFDUDtBQUNBOztDQUVDLEdBQUcsU0FBUzRCLGtCQUFrQk4sS0FBSztJQUNoQyxJQUFJLEVBQUVPLGlCQUFpQixFQUFFQyxHQUFHLEVBQUVDLFVBQVUsRUFBRUMsU0FBUyxFQUFFN0IsV0FBVyxFQUFFOEIsSUFBSSxFQUN0RSxZQUFZO0lBQ1pDLFFBQVEsRUFBRSxHQUFHWjtJQUNiLE1BQU1DLFVBQVUsQ0FBQyxHQUFHNUYsT0FBTzZGLFVBQVUsRUFBRTFGLCtCQUErQjJGLHlCQUF5QjtJQUMvRixJQUFJLENBQUNGLFNBQVM7UUFDVixNQUFNLElBQUlHLE1BQU07SUFDcEI7SUFDQSxNQUFNLEVBQUVTLE9BQU8sRUFBRUMsc0JBQXNCLEVBQUVILE1BQU1JLFFBQVEsRUFBRSxHQUFHZDtJQUM1RCx5REFBeUQ7SUFDekQsSUFBSWUsWUFBWVAsV0FBV3pHLEdBQUcsQ0FBQzRHO0lBQy9CLG1FQUFtRTtJQUNuRSxJQUFJRixhQUFhLDBEQUEwRDtJQUMzRUEsVUFBVU8sT0FBTyxLQUFLLE1BQU07UUFDeEIsSUFBSSxDQUFDRCxXQUFXO1lBQ1osOENBQThDO1lBQzlDLHlKQUF5SjtZQUN6SkEsWUFBWTtnQkFDUkUsUUFBUTFHLCtCQUErQjJHLFdBQVcsQ0FBQ0MsS0FBSztnQkFDeERDLE1BQU07Z0JBQ05DLGFBQWFaLFVBQVVPLE9BQU87Z0JBQzlCTSxnQkFBZ0IsSUFBSUM7WUFDeEI7WUFDQWYsV0FBV2dCLEdBQUcsQ0FBQ2IsVUFBVUk7UUFDN0IsT0FBTztZQUNILElBQUlBLFVBQVVFLE1BQU0sS0FBSzFHLCtCQUErQjJHLFdBQVcsQ0FBQ08sZ0JBQWdCLEVBQUU7Z0JBQ2xGLDZDQUE2QztnQkFDN0NWLFVBQVVFLE1BQU0sR0FBRzFHLCtCQUErQjJHLFdBQVcsQ0FBQ0MsS0FBSztnQkFDbkUsbUJBQW1CO2dCQUNuQkosVUFBVU0sV0FBVyxHQUFHWixVQUFVTyxPQUFPO1lBQzdDO1FBQ0o7SUFDSjtJQUNBLG9HQUFvRztJQUNwRyxJQUFJLENBQUNELGFBQWFBLFVBQVVFLE1BQU0sS0FBSzFHLCtCQUErQjJHLFdBQVcsQ0FBQ08sZ0JBQWdCLEVBQUU7UUFDaEc7O0tBRUgsR0FBRyxzQkFBc0I7UUFDdEIsTUFBTUMsY0FBY3pHLGVBQWU7WUFDL0I7ZUFDRzJEO1NBQ04sRUFBRWtDO1FBQ0hDLFlBQVk7WUFDUkUsUUFBUTFHLCtCQUErQjJHLFdBQVcsQ0FBQ1MsVUFBVTtZQUM3RFAsTUFBTSxDQUFDLEdBQUc1RyxxQkFBcUJvSCxtQkFBbUIsRUFBRSxJQUFJQyxJQUFJdEIsS0FBS3VCLFNBQVNDLE1BQU0sR0FBR0wsYUFBYTFCLFFBQVFnQyxPQUFPLEVBQUVwQjtZQUNqSFMsYUFBYTtZQUNiWSxNQUFNbEIsYUFBYUEsVUFBVUUsTUFBTSxLQUFLMUcsK0JBQStCMkcsV0FBVyxDQUFDTyxnQkFBZ0IsR0FBR1YsVUFBVWtCLElBQUksR0FBR3RHO1lBQ3ZIMkYsZ0JBQWdCUCxhQUFhQSxVQUFVRSxNQUFNLEtBQUsxRywrQkFBK0IyRyxXQUFXLENBQUNPLGdCQUFnQixHQUFHVixVQUFVTyxjQUFjLEdBQUcsSUFBSUM7UUFDbko7UUFDQTs7S0FFSCxHQUFHZixXQUFXZ0IsR0FBRyxDQUFDYixVQUFVSTtJQUM3QjtJQUNBLGtHQUFrRztJQUNsRyxJQUFJLENBQUNBLFdBQVc7UUFDWixNQUFNLElBQUlaLE1BQU07SUFDcEI7SUFDQSxrR0FBa0c7SUFDbEcsSUFBSVksVUFBVU0sV0FBVyxJQUFJTixVQUFVSyxJQUFJLEVBQUU7UUFDekMsTUFBTSxJQUFJakIsTUFBTTtJQUNwQjtJQUNBLDZGQUE2RjtJQUM3RixJQUFJWSxVQUFVSyxJQUFJLEVBQUU7UUFDaEI7O0tBRUgsR0FBRyw4REFBOEQ7UUFDOUQsTUFBTSxDQUFDYyxZQUFZQyxxQkFBcUIsR0FBRyxDQUFDLEdBQUcvSCxPQUFPZ0ksR0FBRyxFQUFFckIsVUFBVUssSUFBSTtRQUN6RSxzRUFBc0U7UUFDdEVMLFVBQVVLLElBQUksR0FBRztRQUNqQix3R0FBd0c7UUFDeEdpQixXQUFXO1lBQ04sSUFBR2pJLE9BQU9rSSxlQUFlLEVBQUU7Z0JBQ3hCekIsdUJBQXVCQyxVQUFVb0IsWUFBWUM7WUFDakQ7UUFDSjtRQUNBLHlHQUF5RztRQUN4RyxJQUFHL0gsT0FBT2dJLEdBQUcsRUFBRSxDQUFDLEdBQUczSCxpQkFBaUI4SCxxQkFBcUI7SUFDOUQ7SUFDQSx5SUFBeUk7SUFDekksd0ZBQXdGO0lBQ3hGLElBQUksQ0FBQ3hCLFVBQVVNLFdBQVcsRUFBRTtRQUN2QixJQUFHakgsT0FBT2dJLEdBQUcsRUFBRSxDQUFDLEdBQUczSCxpQkFBaUI4SCxxQkFBcUI7SUFDOUQ7SUFDQSxNQUFNQyxVQUNOLFdBQVcsR0FBR3BJLE9BQU91QyxPQUFPLENBQUN5RCxhQUFhLENBQUM3RiwrQkFBK0JrSSxtQkFBbUIsQ0FBQ0MsUUFBUSxFQUFFO1FBQ3BHN0ksT0FBTztZQUNINkcsTUFBTUEsSUFBSSxDQUFDLEVBQUUsQ0FBQ0osa0JBQWtCO1lBQ2hDRSxZQUFZTyxVQUFVTyxjQUFjO1lBQ3BDLGtEQUFrRDtZQUNsRGYsS0FBS0E7UUFDVDtJQUNKLEdBQUdRLFVBQVVNLFdBQVc7SUFDeEIsaUZBQWlGO0lBQ2pGLE9BQU9tQjtBQUNYO0FBQ0E7OztDQUdDLEdBQUcsU0FBU0csZ0JBQWdCNUMsS0FBSztJQUM5QixJQUFJLEVBQUV0QixRQUFRLEVBQUVtRSxPQUFPLEVBQUVDLGFBQWEsRUFBRUMsVUFBVSxFQUFFLEdBQUcvQztJQUN2RCxJQUFJK0MsWUFBWTtRQUNaLE9BQU8sV0FBVyxHQUFHMUksT0FBT3VDLE9BQU8sQ0FBQ3lELGFBQWEsQ0FBQ2hHLE9BQU8ySSxRQUFRLEVBQUU7WUFDL0RDLFVBQVUsV0FBVyxHQUFHNUksT0FBT3VDLE9BQU8sQ0FBQ3lELGFBQWEsQ0FBQ2hHLE9BQU91QyxPQUFPLENBQUNzRyxRQUFRLEVBQUUsTUFBTUosZUFBZUQ7UUFDdkcsR0FBR25FO0lBQ1A7SUFDQSxPQUFPLFdBQVcsR0FBR3JFLE9BQU91QyxPQUFPLENBQUN5RCxhQUFhLENBQUNoRyxPQUFPdUMsT0FBTyxDQUFDc0csUUFBUSxFQUFFLE1BQU14RTtBQUNyRjtBQUNBLFNBQVN6RSxrQkFBa0IrRixLQUFLO0lBQzVCLElBQUksRUFBRU8saUJBQWlCLEVBQUUxQixXQUFXLEVBQUU2QixTQUFTLEVBQUVyRSxLQUFLLEVBQUU4RyxXQUFXLEVBQUVDLGNBQWMsRUFBRVAsT0FBTyxFQUFFQyxhQUFhLEVBQUVDLFVBQVUsRUFBRU0sUUFBUSxFQUFFQyxRQUFRLEVBQUVDLGNBQWMsRUFBRUMsTUFBTSxFQUFFLEdBQUd4RDtJQUN4SyxNQUFNQyxVQUFVLENBQUMsR0FBRzVGLE9BQU82RixVQUFVLEVBQUUxRiwrQkFBK0JrSSxtQkFBbUI7SUFDekYsSUFBSSxDQUFDekMsU0FBUztRQUNWLE1BQU0sSUFBSUcsTUFBTTtJQUNwQjtJQUNBLE1BQU0sRUFBRUssVUFBVSxFQUFFRSxJQUFJLEVBQUVILEdBQUcsRUFBRSxHQUFHUDtJQUNsQyw0Q0FBNEM7SUFDNUMsSUFBSXdELDhCQUE4QmhELFdBQVd6RyxHQUFHLENBQUN1RztJQUNqRCxtRUFBbUU7SUFDbkUseUpBQXlKO0lBQ3pKLElBQUksQ0FBQ2tELDZCQUE2QjtRQUM5QkEsOEJBQThCLElBQUlqQztRQUNsQ2YsV0FBV2dCLEdBQUcsQ0FBQ2xCLG1CQUFtQmtEO0lBQ3RDO0lBQ0EscUNBQXFDO0lBQ3JDLDhJQUE4STtJQUM5SSxNQUFNQyxjQUFjL0MsSUFBSSxDQUFDLEVBQUUsQ0FBQ0osa0JBQWtCLENBQUMsRUFBRTtJQUNqRCxNQUFNb0QsbUJBQW1CakQsVUFBVXJGLE9BQU87SUFDMUMsZ0lBQWdJO0lBQ2hJLE1BQU11SSwyQkFBMkIsQ0FBQyxHQUFHNUksaUJBQWlCNkksZUFBZSxFQUFFSDtJQUN2RTs7R0FFRCxHQUFHLCtEQUErRDtJQUNqRSxNQUFNSSxvQkFBb0I7UUFDdEJKO0tBQ0g7SUFDRCxPQUFPLFdBQVcsR0FBR3JKLE9BQU91QyxPQUFPLENBQUN5RCxhQUFhLENBQUNoRyxPQUFPdUMsT0FBTyxDQUFDc0csUUFBUSxFQUFFLE1BQU1NLFFBQVFNLGtCQUFrQkMsR0FBRyxDQUFDLENBQUNDO1FBQzVHLE1BQU1DLHFCQUFxQixDQUFDLEdBQUdySixlQUFlYSxZQUFZLEVBQUV1SSxrQkFBa0JMO1FBQzlFLE1BQU1PLHdCQUF3QixDQUFDLEdBQUdsSixpQkFBaUI2SSxlQUFlLEVBQUVHO1FBQ3BFLE1BQU1wRCxXQUFXLENBQUMsR0FBRzNGLHNCQUFzQmtKLG9CQUFvQixFQUFFSDtRQUNqRSxPQUFPOzs7Ozs7OztVQVFMLEdBQUcsV0FBVyxHQUFHM0osT0FBT3VDLE9BQU8sQ0FBQ3lELGFBQWEsQ0FBQzdGLCtCQUErQjRKLGVBQWUsQ0FBQ3pCLFFBQVEsRUFBRTtZQUNyRzBCLEtBQUssQ0FBQyxHQUFHcEosc0JBQXNCa0osb0JBQW9CLEVBQUVILGtCQUFrQjtZQUN2RWxLLE9BQU8sV0FBVyxHQUFHTyxPQUFPdUMsT0FBTyxDQUFDeUQsYUFBYSxDQUFDTix1QkFBdUI7Z0JBQ3JFbEIsYUFBYUE7WUFDakIsR0FBRyxXQUFXLEdBQUd4RSxPQUFPdUMsT0FBTyxDQUFDeUQsYUFBYSxDQUFDMUYsZUFBZTJKLGFBQWEsRUFBRTtnQkFDeEVDLGdCQUFnQmxJO2dCQUNoQjhHLGFBQWFBO1lBQ2pCLEdBQUcsV0FBVyxHQUFHOUksT0FBT3VDLE9BQU8sQ0FBQ3lELGFBQWEsQ0FBQ3VDLGlCQUFpQjtnQkFDM0RHLFlBQVlBO2dCQUNaRixTQUFTQTtnQkFDVEMsZUFBZUE7WUFDbkIsR0FBRyxXQUFXLEdBQUd6SSxPQUFPdUMsT0FBTyxDQUFDeUQsYUFBYSxDQUFDdEYsa0JBQWtCeUosZ0JBQWdCLEVBQUU7Z0JBQzlFbEIsVUFBVUE7Z0JBQ1ZDLGdCQUFnQkE7WUFDcEIsR0FBRyxXQUFXLEdBQUdsSixPQUFPdUMsT0FBTyxDQUFDeUQsYUFBYSxDQUFDdkYsa0JBQWtCMkosZ0JBQWdCLEVBQUUsTUFBTSxXQUFXLEdBQUdwSyxPQUFPdUMsT0FBTyxDQUFDeUQsYUFBYSxDQUFDQyxtQkFBbUI7Z0JBQ2xKQyxtQkFBbUJBO2dCQUNuQkMsS0FBS0E7Z0JBQ0xHLE1BQU1BO2dCQUNORixZQUFZZ0Q7Z0JBQ1ovQyxXQUFXdUQscUJBQXFCdkQsWUFBWTtnQkFDNUM3QixhQUFhQTtnQkFDYitCLFVBQVVBO2dCQUNWOEQsVUFBVWQsNkJBQTZCTTtZQUMzQztRQUNKLEdBQUdkLGdCQUFnQkM7SUFDdkI7QUFDSjtBQUVBLElBQUksQ0FBQyxPQUFPeEosUUFBUStDLE9BQU8sS0FBSyxjQUFlLE9BQU8vQyxRQUFRK0MsT0FBTyxLQUFLLFlBQVkvQyxRQUFRK0MsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPL0MsUUFBUStDLE9BQU8sQ0FBQytILFVBQVUsS0FBSyxhQUFhO0lBQ3JLaEwsT0FBT0MsY0FBYyxDQUFDQyxRQUFRK0MsT0FBTyxFQUFFLGNBQWM7UUFBRTlDLE9BQU87SUFBSztJQUNuRUgsT0FBT2lMLE1BQU0sQ0FBQy9LLFFBQVErQyxPQUFPLEVBQUUvQztJQUMvQmdMLE9BQU9oTCxPQUFPLEdBQUdBLFFBQVErQyxPQUFPO0FBQ2xDLEVBRUEseUNBQXlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9sYXlvdXQtcm91dGVyLmpzPzBiZmEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XHJcblxyXG5cInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIC8qKlxyXG4gKiBPdXRlckxheW91dFJvdXRlciBoYW5kbGVzIHRoZSBjdXJyZW50IHNlZ21lbnQgYXMgd2VsbCBhcyA8T2Zmc2NyZWVuPiByZW5kZXJpbmcgb2Ygb3RoZXIgc2VnbWVudHMuXHJcbiAqIEl0IGNhbiBiZSByZW5kZXJlZCBuZXh0IHRvIGVhY2ggb3RoZXIgd2l0aCBhIGRpZmZlcmVudCBgcGFyYWxsZWxSb3V0ZXJLZXlgLCBhbGxvd2luZyBmb3IgUGFyYWxsZWwgcm91dGVzLlxyXG4gKi8gXCJkZWZhdWx0XCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBPdXRlckxheW91dFJvdXRlcjtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcclxuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcclxuY29uc3QgX3JlYWN0ZG9tID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3QtZG9tXCIpKTtcclxuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xyXG5jb25zdCBfZmV0Y2hzZXJ2ZXJyZXNwb25zZSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2ZldGNoLXNlcnZlci1yZXNwb25zZVwiKTtcclxuY29uc3QgX2luZmluaXRlcHJvbWlzZSA9IHJlcXVpcmUoXCIuL2luZmluaXRlLXByb21pc2VcIik7XHJcbmNvbnN0IF9lcnJvcmJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vZXJyb3ItYm91bmRhcnlcIik7XHJcbmNvbnN0IF9tYXRjaHNlZ21lbnRzID0gcmVxdWlyZShcIi4vbWF0Y2gtc2VnbWVudHNcIik7XHJcbmNvbnN0IF9oYW5kbGVzbW9vdGhzY3JvbGwgPSByZXF1aXJlKFwiLi4vLi4vc2hhcmVkL2xpYi9yb3V0ZXIvdXRpbHMvaGFuZGxlLXNtb290aC1zY3JvbGxcIik7XHJcbmNvbnN0IF9yZWRpcmVjdGJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vcmVkaXJlY3QtYm91bmRhcnlcIik7XHJcbmNvbnN0IF9ub3Rmb3VuZGJvdW5kYXJ5ID0gcmVxdWlyZShcIi4vbm90LWZvdW5kLWJvdW5kYXJ5XCIpO1xyXG5jb25zdCBfZ2V0c2VnbWVudHZhbHVlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWVcIik7XHJcbmNvbnN0IF9jcmVhdGVyb3V0ZXJjYWNoZWtleSA9IHJlcXVpcmUoXCIuL3JvdXRlci1yZWR1Y2VyL2NyZWF0ZS1yb3V0ZXItY2FjaGUta2V5XCIpO1xyXG4vKipcclxuICogQWRkIHJlZmV0Y2ggbWFya2VyIHRvIHJvdXRlciBzdGF0ZSBhdCB0aGUgcG9pbnQgb2YgdGhlIGN1cnJlbnQgbGF5b3V0IHNlZ21lbnQuXHJcbiAqIFRoaXMgZW5zdXJlcyB0aGUgcmVzcG9uc2UgcmV0dXJuZWQgaXMgbm90IGZ1cnRoZXIgZG93biB0aGFuIHRoZSBjdXJyZW50IGxheW91dCBzZWdtZW50LlxyXG4gKi8gZnVuY3Rpb24gd2Fsa0FkZFJlZmV0Y2goc2VnbWVudFBhdGhUb1dhbGssIHRyZWVUb1JlY3JlYXRlKSB7XHJcbiAgICBpZiAoc2VnbWVudFBhdGhUb1dhbGspIHtcclxuICAgICAgICBjb25zdCBbc2VnbWVudCwgcGFyYWxsZWxSb3V0ZUtleV0gPSBzZWdtZW50UGF0aFRvV2FsaztcclxuICAgICAgICBjb25zdCBpc0xhc3QgPSBzZWdtZW50UGF0aFRvV2Fsay5sZW5ndGggPT09IDI7XHJcbiAgICAgICAgaWYgKCgwLCBfbWF0Y2hzZWdtZW50cy5tYXRjaFNlZ21lbnQpKHRyZWVUb1JlY3JlYXRlWzBdLCBzZWdtZW50KSkge1xyXG4gICAgICAgICAgICBpZiAodHJlZVRvUmVjcmVhdGVbMV0uaGFzT3duUHJvcGVydHkocGFyYWxsZWxSb3V0ZUtleSkpIHtcclxuICAgICAgICAgICAgICAgIGlmIChpc0xhc3QpIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzdWJUcmVlID0gd2Fsa0FkZFJlZmV0Y2godW5kZWZpbmVkLCB0cmVlVG9SZWNyZWF0ZVsxXVtwYXJhbGxlbFJvdXRlS2V5XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIFtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJlZVRvUmVjcmVhdGVbMF0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnRyZWVUb1JlY3JlYXRlWzFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3BhcmFsbGVsUm91dGVLZXldOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ViVHJlZVswXSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdWJUcmVlWzFdLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YlRyZWVbMl0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJyZWZldGNoXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gW1xyXG4gICAgICAgICAgICAgICAgICAgIHRyZWVUb1JlY3JlYXRlWzBdLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLi4udHJlZVRvUmVjcmVhdGVbMV0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFtwYXJhbGxlbFJvdXRlS2V5XTogd2Fsa0FkZFJlZmV0Y2goc2VnbWVudFBhdGhUb1dhbGsuc2xpY2UoMiksIHRyZWVUb1JlY3JlYXRlWzFdW3BhcmFsbGVsUm91dGVLZXldKVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdHJlZVRvUmVjcmVhdGU7XHJcbn1cclxuLy8gVE9ETy1BUFA6IFJlcGxhY2Ugd2l0aCBuZXcgUmVhY3QgQVBJIGZvciBmaW5kaW5nIGRvbSBub2RlcyB3aXRob3V0IGEgYHJlZmAgd2hlbiBhdmFpbGFibGVcclxuLyoqXHJcbiAqIFdyYXBzIFJlYWN0RE9NLmZpbmRET01Ob2RlIHdpdGggYWRkaXRpb25hbCBsb2dpYyB0byBoaWRlIFJlYWN0IFN0cmljdCBNb2RlIHdhcm5pbmdcclxuICovIGZ1bmN0aW9uIGZpbmRET01Ob2RlKGluc3RhbmNlKSB7XHJcbiAgICAvLyBUcmVlLXNoYWtlIGZvciBzZXJ2ZXIgYnVuZGxlXHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIG51bGw7XHJcbiAgICAvLyBPbmx5IGFwcGx5IHN0cmljdCBtb2RlIHdhcm5pbmcgd2hlbiBub3QgaW4gcHJvZHVjdGlvblxyXG4gICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WICE9PSBcInByb2R1Y3Rpb25cIikge1xyXG4gICAgICAgIGNvbnN0IG9yaWdpbmFsQ29uc29sZUVycm9yID0gY29uc29sZS5lcnJvcjtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmVycm9yID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgICAgICAgICBmb3IodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBtZXNzYWdlcyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5Kyspe1xyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzW19rZXldID0gYXJndW1lbnRzW19rZXldO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWdub3JlIHN0cmljdCBtb2RlIHdhcm5pbmcgZm9yIHRoZSBmaW5kRG9tTm9kZSBjYWxsIGJlbG93XHJcbiAgICAgICAgICAgICAgICBpZiAoIW1lc3NhZ2VzWzBdLmluY2x1ZGVzKFwiV2FybmluZzogJXMgaXMgZGVwcmVjYXRlZCBpbiBTdHJpY3RNb2RlLlwiKSkge1xyXG4gICAgICAgICAgICAgICAgICAgIG9yaWdpbmFsQ29uc29sZUVycm9yKC4uLm1lc3NhZ2VzKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgcmV0dXJuIF9yZWFjdGRvbS5kZWZhdWx0LmZpbmRET01Ob2RlKGluc3RhbmNlKTtcclxuICAgICAgICB9IGZpbmFsbHl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IgPSBvcmlnaW5hbENvbnNvbGVFcnJvcjtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gX3JlYWN0ZG9tLmRlZmF1bHQuZmluZERPTU5vZGUoaW5zdGFuY2UpO1xyXG59XHJcbmNvbnN0IHJlY3RQcm9wZXJ0aWVzID0gW1xyXG4gICAgXCJib3R0b21cIixcclxuICAgIFwiaGVpZ2h0XCIsXHJcbiAgICBcImxlZnRcIixcclxuICAgIFwicmlnaHRcIixcclxuICAgIFwidG9wXCIsXHJcbiAgICBcIndpZHRoXCIsXHJcbiAgICBcInhcIixcclxuICAgIFwieVwiXHJcbl07XHJcbi8qKlxyXG4gKiBDaGVjayBpZiBhIEhUTUxFbGVtZW50IGlzIGhpZGRlbiBvciBmaXhlZC9zdGlja3kgcG9zaXRpb25cclxuICovIGZ1bmN0aW9uIHNob3VsZFNraXBFbGVtZW50KGVsZW1lbnQpIHtcclxuICAgIC8vIHdlIGlnbm9yZSBmaXhlZCBvciBzdGlja3kgcG9zaXRpb25lZCBlbGVtZW50cyBzaW5jZSB0aGV5J2xsIGxpa2VseSBwYXNzIHRoZSBcImluLXZpZXdwb3J0XCIgY2hlY2tcclxuICAgIC8vIGFuZCB3aWxsIHJlc3VsdCBpbiBhIHNpdHVhdGlvbiB3ZSBiYWlsIG9uIHNjcm9sbCBiZWNhdXNlIG9mIHNvbWV0aGluZyBsaWtlIGEgZml4ZWQgbmF2LFxyXG4gICAgLy8gZXZlbiB0aG91Z2ggdGhlIGFjdHVhbCBwYWdlIGNvbnRlbnQgaXMgb2Zmc2NyZWVuXHJcbiAgICBpZiAoW1xyXG4gICAgICAgIFwic3RpY2t5XCIsXHJcbiAgICAgICAgXCJmaXhlZFwiXHJcbiAgICBdLmluY2x1ZGVzKGdldENvbXB1dGVkU3R5bGUoZWxlbWVudCkucG9zaXRpb24pKSB7XHJcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSBcImRldmVsb3BtZW50XCIpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKFwiU2tpcHBpbmcgYXV0by1zY3JvbGwgYmVoYXZpb3IgZHVlIHRvIGBwb3NpdGlvbjogc3RpY2t5YCBvciBgcG9zaXRpb246IGZpeGVkYCBvbiBlbGVtZW50OlwiLCBlbGVtZW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICB9XHJcbiAgICAvLyBVc2VzIGBnZXRCb3VuZGluZ0NsaWVudFJlY3RgIHRvIGNoZWNrIGlmIHRoZSBlbGVtZW50IGlzIGhpZGRlbiBpbnN0ZWFkIG9mIGBvZmZzZXRQYXJlbnRgXHJcbiAgICAvLyBiZWNhdXNlIGBvZmZzZXRQYXJlbnRgIGRvZXNuJ3QgY29uc2lkZXIgZG9jdW1lbnQvYm9keVxyXG4gICAgY29uc3QgcmVjdCA9IGVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XHJcbiAgICByZXR1cm4gcmVjdFByb3BlcnRpZXMuZXZlcnkoKGl0ZW0pPT5yZWN0W2l0ZW1dID09PSAwKTtcclxufVxyXG4vKipcclxuICogQ2hlY2sgaWYgdGhlIHRvcCBjb3JuZXIgb2YgdGhlIEhUTUxFbGVtZW50IGlzIGluIHRoZSB2aWV3cG9ydC5cclxuICovIGZ1bmN0aW9uIHRvcE9mRWxlbWVudEluVmlld3BvcnQoZWxlbWVudCwgdmlld3BvcnRIZWlnaHQpIHtcclxuICAgIGNvbnN0IHJlY3QgPSBlbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG4gICAgcmV0dXJuIHJlY3QudG9wID49IDAgJiYgcmVjdC50b3AgPD0gdmlld3BvcnRIZWlnaHQ7XHJcbn1cclxuLyoqXHJcbiAqIEZpbmQgdGhlIERPTSBub2RlIGZvciBhIGhhc2ggZnJhZ21lbnQuXHJcbiAqIElmIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS4gVGhpcyBtaXJyb3JzIHRoZSBicm93c2VyJ3MgYmVoYXZpb3IuXHJcbiAqIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGFuIGlkLCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSBlbGVtZW50IHdpdGggdGhhdCBpZC5cclxuICogSWYgdGhlIGhhc2ggZnJhZ21lbnQgaXMgYSBuYW1lLCB0aGUgcGFnZSBoYXMgdG8gc2Nyb2xsIHRvIHRoZSBmaXJzdCBlbGVtZW50IHdpdGggdGhhdCBuYW1lLlxyXG4gKi8gZnVuY3Rpb24gZ2V0SGFzaEZyYWdtZW50RG9tTm9kZShoYXNoRnJhZ21lbnQpIHtcclxuICAgIC8vIElmIHRoZSBoYXNoIGZyYWdtZW50IGlzIGB0b3BgIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZS5cclxuICAgIGlmIChoYXNoRnJhZ21lbnQgPT09IFwidG9wXCIpIHtcclxuICAgICAgICByZXR1cm4gZG9jdW1lbnQuYm9keTtcclxuICAgIH1cclxuICAgIHZhciBfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQ7XHJcbiAgICAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhbiBpZCwgdGhlIHBhZ2UgaGFzIHRvIHNjcm9sbCB0byB0aGUgZWxlbWVudCB3aXRoIHRoYXQgaWQuXHJcbiAgICByZXR1cm4gKF9kb2N1bWVudF9nZXRFbGVtZW50QnlJZCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGhhc2hGcmFnbWVudCkpICE9IG51bGwgPyBfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQgOiAvLyBJZiB0aGUgaGFzaCBmcmFnbWVudCBpcyBhIG5hbWUsIHRoZSBwYWdlIGhhcyB0byBzY3JvbGwgdG8gdGhlIGZpcnN0IGVsZW1lbnQgd2l0aCB0aGF0IG5hbWUuXHJcbiAgICBkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShoYXNoRnJhZ21lbnQpWzBdO1xyXG59XHJcbmNsYXNzIElubmVyU2Nyb2xsQW5kRm9jdXNIYW5kbGVyIGV4dGVuZHMgX3JlYWN0LmRlZmF1bHQuQ29tcG9uZW50IHtcclxuICAgIGNvbXBvbmVudERpZE1vdW50KCkge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUG90ZW50aWFsU2Nyb2xsKCk7XHJcbiAgICB9XHJcbiAgICBjb21wb25lbnREaWRVcGRhdGUoKSB7XHJcbiAgICAgICAgLy8gQmVjYXVzZSB0aGlzIHByb3BlcnR5IGlzIG92ZXJ3cml0dGVuIGluIGhhbmRsZVBvdGVudGlhbFNjcm9sbCBpdCdzIGZpbmUgdG8gYWx3YXlzIHJ1biBpdCB3aGVuIHRydWUgYXMgaXQnbGwgYmUgc2V0IHRvIGZhbHNlIGZvciBzdWJzZXF1ZW50IHJlbmRlcnMuXHJcbiAgICAgICAgaWYgKHRoaXMucHJvcHMuZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpIHtcclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVQb3RlbnRpYWxTY3JvbGwoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMucHJvcHMuY2hpbGRyZW47XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKXtcclxuICAgICAgICBzdXBlciguLi5hcmdzKTtcclxuICAgICAgICB0aGlzLmhhbmRsZVBvdGVudGlhbFNjcm9sbCA9ICgpPT57XHJcbiAgICAgICAgICAgIC8vIEhhbmRsZSBzY3JvbGwgYW5kIGZvY3VzLCBpdCdzIG9ubHkgYXBwbGllZCBvbmNlIGluIHRoZSBmaXJzdCB1c2VFZmZlY3QgdGhhdCB0cmlnZ2VycyB0aGF0IGNoYW5nZWQuXHJcbiAgICAgICAgICAgIGNvbnN0IHsgZm9jdXNBbmRTY3JvbGxSZWYsIHNlZ21lbnRQYXRoIH0gPSB0aGlzLnByb3BzO1xyXG4gICAgICAgICAgICBpZiAoZm9jdXNBbmRTY3JvbGxSZWYuYXBwbHkpIHtcclxuICAgICAgICAgICAgICAgIC8vIHNlZ21lbnRQYXRocyBpcyBhbiBhcnJheSBvZiBzZWdtZW50IHBhdGhzIHRoYXQgc2hvdWxkIGJlIHNjcm9sbGVkIHRvXHJcbiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCBzZWdtZW50IHBhdGggaXMgbm90IGluIHRoZSBhcnJheSwgdGhlIHNjcm9sbCBpcyBub3QgYXBwbGllZFxyXG4gICAgICAgICAgICAgICAgLy8gdW5sZXNzIHRoZSBhcnJheSBpcyBlbXB0eSwgaW4gd2hpY2ggY2FzZSB0aGUgc2Nyb2xsIGlzIGFsd2F5cyBhcHBsaWVkXHJcbiAgICAgICAgICAgICAgICBpZiAoZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLmxlbmd0aCAhPT0gMCAmJiAhZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzLnNvbWUoKHNjcm9sbFJlZlNlZ21lbnRQYXRoKT0+c2VnbWVudFBhdGguZXZlcnkoKHNlZ21lbnQsIGluZGV4KT0+KDAsIF9tYXRjaHNlZ21lbnRzLm1hdGNoU2VnbWVudCkoc2VnbWVudCwgc2Nyb2xsUmVmU2VnbWVudFBhdGhbaW5kZXhdKSkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgbGV0IGRvbU5vZGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzaEZyYWdtZW50ID0gZm9jdXNBbmRTY3JvbGxSZWYuaGFzaEZyYWdtZW50O1xyXG4gICAgICAgICAgICAgICAgaWYgKGhhc2hGcmFnbWVudCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGRvbU5vZGUgPSBnZXRIYXNoRnJhZ21lbnREb21Ob2RlKGhhc2hGcmFnbWVudCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAvLyBgZmluZERPTU5vZGVgIGlzIHRyaWNreSBiZWNhdXNlIGl0IHJldHVybnMganVzdCB0aGUgZmlyc3QgY2hpbGQgaWYgdGhlIGNvbXBvbmVudCBpcyBhIGZyYWdtZW50LlxyXG4gICAgICAgICAgICAgICAgLy8gVGhpcyBhbHJlYWR5IGNhdXNlZCBhIGJ1ZyB3aGVyZSB0aGUgZmlyc3QgY2hpbGQgd2FzIGEgPGxpbmsvPiBpbiBoZWFkLlxyXG4gICAgICAgICAgICAgICAgaWYgKCFkb21Ob2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZG9tTm9kZSA9IGZpbmRET01Ob2RlKHRoaXMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gSWYgdGhlcmUgaXMgbm8gRE9NIG5vZGUgdGhpcyBsYXlvdXQtcm91dGVyIGxldmVsIGlzIHNraXBwZWQuIEl0J2xsIGJlIGhhbmRsZWQgaGlnaGVyLXVwIGluIHRoZSB0cmVlLlxyXG4gICAgICAgICAgICAgICAgaWYgKCEoZG9tTm9kZSBpbnN0YW5jZW9mIEVsZW1lbnQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gVmVyaWZ5IGlmIHRoZSBlbGVtZW50IGlzIGEgSFRNTEVsZW1lbnQgYW5kIGlmIHdlIHdhbnQgdG8gY29uc2lkZXIgaXQgZm9yIHNjcm9sbCBiZWhhdmlvci5cclxuICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50IGlzIHNraXBwZWQsIHRyeSB0byBzZWxlY3QgdGhlIG5leHQgc2libGluZyBhbmQgdHJ5IGFnYWluLlxyXG4gICAgICAgICAgICAgICAgd2hpbGUoIShkb21Ob2RlIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHx8IHNob3VsZFNraXBFbGVtZW50KGRvbU5vZGUpKXtcclxuICAgICAgICAgICAgICAgICAgICAvLyBObyBzaWJsaW5ncyBmb3VuZCB0aGF0IG1hdGNoIHRoZSBjcml0ZXJpYSBhcmUgZm91bmQsIHNvIGhhbmRsZSBzY3JvbGwgaGlnaGVyIHVwIGluIHRoZSB0cmVlIGluc3RlYWQuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGRvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgZG9tTm9kZSA9IGRvbU5vZGUubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgLy8gU3RhdGUgaXMgbXV0YXRlZCB0byBlbnN1cmUgdGhhdCB0aGUgZm9jdXMgYW5kIHNjcm9sbCBpcyBhcHBsaWVkIG9ubHkgb25jZS5cclxuICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLmFwcGx5ID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZi5oYXNoRnJhZ21lbnQgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgZm9jdXNBbmRTY3JvbGxSZWYuc2VnbWVudFBhdGhzID0gW107XHJcbiAgICAgICAgICAgICAgICAoMCwgX2hhbmRsZXNtb290aHNjcm9sbC5oYW5kbGVTbW9vdGhTY3JvbGwpKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gSW4gY2FzZSBvZiBoYXNoIHNjcm9sbCwgd2Ugb25seSBuZWVkIHRvIHNjcm9sbCB0aGUgZWxlbWVudCBpbnRvIHZpZXdcclxuICAgICAgICAgICAgICAgICAgICBpZiAoaGFzaEZyYWdtZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbU5vZGUuc2Nyb2xsSW50b1ZpZXcoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAvLyBTdG9yZSB0aGUgY3VycmVudCB2aWV3cG9ydCBoZWlnaHQgYmVjYXVzZSByZWFkaW5nIGBjbGllbnRIZWlnaHRgIGNhdXNlcyBhIHJlZmxvdyxcclxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgaXQgd29uJ3QgY2hhbmdlIGR1cmluZyB0aGlzIGZ1bmN0aW9uLlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGh0bWxFbGVtZW50ID0gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZXdwb3J0SGVpZ2h0ID0gaHRtbEVsZW1lbnQuY2xpZW50SGVpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIElmIHRoZSBlbGVtZW50J3MgdG9wIGVkZ2UgaXMgYWxyZWFkeSBpbiB0aGUgdmlld3BvcnQsIGV4aXQgZWFybHkuXHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvcE9mRWxlbWVudEluVmlld3BvcnQoZG9tTm9kZSwgdmlld3BvcnRIZWlnaHQpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB0cnkgc2Nyb2xsaW5nIGdvIHRoZSB0b3Agb2YgdGhlIGRvY3VtZW50IHRvIGJlIGJhY2t3YXJkIGNvbXBhdGlibGUgd2l0aCBwYWdlc1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbEludG9WaWV3KCkgY2FsbGVkIG9uIGA8aHRtbC8+YCBlbGVtZW50IHNjcm9sbHMgaG9yaXpvbnRhbGx5IG9uIGNocm9tZSBhbmQgZmlyZWZveCAodGhhdCBzaG91bGRuJ3QgaGFwcGVuKVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIFdlIGNvdWxkIHVzZSBpdCB0byBzY3JvbGwgaG9yaXpvbnRhbGx5IGZvbGxvd2luZyBSVEwgYnV0IHRoYXQgYWxzbyBzZWVtcyB0byBiZSBicm9rZW4gLSBpdCB3aWxsIGFsd2F5cyBzY3JvbGwgbGVmdFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIHNjcm9sbExlZnQgPSAwIGFsc28gc2VlbXMgdG8gaWdub3JlIFJUTCBhbmQgbWFudWFsbHkgY2hlY2tpbmcgZm9yIFJUTCBpcyB0b28gbXVjaCBoYXNzbGUgc28gd2Ugd2lsbCBzY3JvbGwganVzdCB2ZXJ0aWNhbGx5XHJcbiAgICAgICAgICAgICAgICAgICAgaHRtbEVsZW1lbnQuc2Nyb2xsVG9wID0gMDtcclxuICAgICAgICAgICAgICAgICAgICAvLyBTY3JvbGwgdG8gZG9tTm9kZSBpZiBkb21Ob2RlIGlzIG5vdCBpbiB2aWV3cG9ydCB3aGVuIHNjcm9sbGVkIHRvIHRvcCBvZiBkb2N1bWVudFxyXG4gICAgICAgICAgICAgICAgICAgIGlmICghdG9wT2ZFbGVtZW50SW5WaWV3cG9ydChkb21Ob2RlLCB2aWV3cG9ydEhlaWdodCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9tTm9kZS5zY3JvbGxJbnRvVmlldygpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBXZSB3aWxsIGZvcmNlIGxheW91dCBieSBxdWVyeWluZyBkb21Ob2RlIHBvc2l0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgZG9udEZvcmNlTGF5b3V0OiB0cnVlLFxyXG4gICAgICAgICAgICAgICAgICAgIG9ubHlIYXNoQ2hhbmdlOiBmb2N1c0FuZFNjcm9sbFJlZi5vbmx5SGFzaENoYW5nZVxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICAvLyBNdXRhdGUgYWZ0ZXIgc2Nyb2xsaW5nIHNvIHRoYXQgaXQgY2FuIGJlIHJlYWQgYnkgYGhhbmRsZVNtb290aFNjcm9sbGBcclxuICAgICAgICAgICAgICAgIGZvY3VzQW5kU2Nyb2xsUmVmLm9ubHlIYXNoQ2hhbmdlID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICAvLyBTZXQgZm9jdXMgb24gdGhlIGVsZW1lbnRcclxuICAgICAgICAgICAgICAgIGRvbU5vZGUuZm9jdXMoKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gU2Nyb2xsQW5kRm9jdXNIYW5kbGVyKHBhcmFtKSB7XHJcbiAgICBsZXQgeyBzZWdtZW50UGF0aCwgY2hpbGRyZW4gfSA9IHBhcmFtO1xyXG4gICAgY29uc3QgY29udGV4dCA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQpO1xyXG4gICAgaWYgKCFjb250ZXh0KSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGdsb2JhbCBsYXlvdXQgcm91dGVyIG5vdCBtb3VudGVkXCIpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciwge1xyXG4gICAgICAgIHNlZ21lbnRQYXRoOiBzZWdtZW50UGF0aCxcclxuICAgICAgICBmb2N1c0FuZFNjcm9sbFJlZjogY29udGV4dC5mb2N1c0FuZFNjcm9sbFJlZlxyXG4gICAgfSwgY2hpbGRyZW4pO1xyXG59XHJcbi8qKlxyXG4gKiBJbm5lckxheW91dFJvdXRlciBoYW5kbGVzIHJlbmRlcmluZyB0aGUgcHJvdmlkZWQgc2VnbWVudCBiYXNlZCBvbiB0aGUgY2FjaGUuXHJcbiAqLyBmdW5jdGlvbiBJbm5lckxheW91dFJvdXRlcihwYXJhbSkge1xyXG4gICAgbGV0IHsgcGFyYWxsZWxSb3V0ZXJLZXksIHVybCwgY2hpbGROb2RlcywgY2hpbGRQcm9wLCBzZWdtZW50UGF0aCwgdHJlZSwgLy8gVE9ETy1BUFA6IGltcGxlbWVudCBgPE9mZnNjcmVlbj5gIHdoZW4gYXZhaWxhYmxlLlxyXG4gICAgLy8gaXNBY3RpdmUsXHJcbiAgICBjYWNoZUtleSB9ID0gcGFyYW07XHJcbiAgICBjb25zdCBjb250ZXh0ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuR2xvYmFsTGF5b3V0Um91dGVyQ29udGV4dCk7XHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnZhcmlhbnQgZ2xvYmFsIGxheW91dCByb3V0ZXIgbm90IG1vdW50ZWRcIik7XHJcbiAgICB9XHJcbiAgICBjb25zdCB7IGJ1aWxkSWQsIGNoYW5nZUJ5U2VydmVyUmVzcG9uc2UsIHRyZWU6IGZ1bGxUcmVlIH0gPSBjb250ZXh0O1xyXG4gICAgLy8gUmVhZCBzZWdtZW50IHBhdGggZnJvbSB0aGUgcGFyYWxsZWwgcm91dGVyIGNhY2hlIG5vZGUuXHJcbiAgICBsZXQgY2hpbGROb2RlID0gY2hpbGROb2Rlcy5nZXQoY2FjaGVLZXkpO1xyXG4gICAgLy8gSWYgY2hpbGRQcm9wIGlzIGF2YWlsYWJsZSB0aGlzIG1lYW5zIGl0J3MgdGhlIEZsaWdodCAvIFNTUiBjYXNlLlxyXG4gICAgaWYgKGNoaWxkUHJvcCAmJiAvLyBUT0RPLUFQUDogdmVyaWZ5IGlmIHRoaXMgY2FuIGJlIG51bGwgYmFzZWQgb24gdXNlciBjb2RlXHJcbiAgICBjaGlsZFByb3AuY3VycmVudCAhPT0gbnVsbCkge1xyXG4gICAgICAgIGlmICghY2hpbGROb2RlKSB7XHJcbiAgICAgICAgICAgIC8vIEFkZCB0aGUgc2VnbWVudCdzIHN1YlRyZWVEYXRhIHRvIHRoZSBjYWNoZS5cclxuICAgICAgICAgICAgLy8gVGhpcyB3cml0ZXMgdG8gdGhlIGNhY2hlIHdoZW4gdGhlcmUgaXMgbm8gaXRlbSBpbiB0aGUgY2FjaGUgeWV0LiBJdCBuZXZlciAqb3ZlcndyaXRlcyogZXhpc3RpbmcgY2FjaGUgaXRlbXMgd2hpY2ggaXMgd2h5IGl0J3Mgc2FmZSBpbiBjb25jdXJyZW50IG1vZGUuXHJcbiAgICAgICAgICAgIGNoaWxkTm9kZSA9IHtcclxuICAgICAgICAgICAgICAgIHN0YXR1czogX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkNhY2hlU3RhdGVzLlJFQURZLFxyXG4gICAgICAgICAgICAgICAgZGF0YTogbnVsbCxcclxuICAgICAgICAgICAgICAgIHN1YlRyZWVEYXRhOiBjaGlsZFByb3AuY3VycmVudCxcclxuICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBuZXcgTWFwKClcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgY2hpbGROb2Rlcy5zZXQoY2FjaGVLZXksIGNoaWxkTm9kZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKGNoaWxkTm9kZS5zdGF0dXMgPT09IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5DYWNoZVN0YXRlcy5MQVpZX0lOSVRJQUxJWkVEKSB7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHdlJ3JlIGNoYW5naW5nIGl0J3MgdHlwZSFcclxuICAgICAgICAgICAgICAgIGNoaWxkTm9kZS5zdGF0dXMgPSBfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuQ2FjaGVTdGF0ZXMuUkVBRFk7XHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yXHJcbiAgICAgICAgICAgICAgICBjaGlsZE5vZGUuc3ViVHJlZURhdGEgPSBjaGlsZFByb3AuY3VycmVudDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIFdoZW4gY2hpbGROb2RlIGlzIG5vdCBhdmFpbGFibGUgZHVyaW5nIHJlbmRlcmluZyBjbGllbnQtc2lkZSB3ZSBuZWVkIHRvIGZldGNoIGl0IGZyb20gdGhlIHNlcnZlci5cclxuICAgIGlmICghY2hpbGROb2RlIHx8IGNoaWxkTm9kZS5zdGF0dXMgPT09IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5DYWNoZVN0YXRlcy5MQVpZX0lOSVRJQUxJWkVEKSB7XHJcbiAgICAgICAgLyoqXHJcbiAgICAgKiBSb3V0ZXIgc3RhdGUgd2l0aCByZWZldGNoIG1hcmtlciBhZGRlZFxyXG4gICAgICovIC8vIFRPRE8tQVBQOiByZW1vdmUgJydcclxuICAgICAgICBjb25zdCByZWZldGNoVHJlZSA9IHdhbGtBZGRSZWZldGNoKFtcclxuICAgICAgICAgICAgXCJcIixcclxuICAgICAgICAgICAgLi4uc2VnbWVudFBhdGhcclxuICAgICAgICBdLCBmdWxsVHJlZSk7XHJcbiAgICAgICAgY2hpbGROb2RlID0ge1xyXG4gICAgICAgICAgICBzdGF0dXM6IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5DYWNoZVN0YXRlcy5EQVRBX0ZFVENILFxyXG4gICAgICAgICAgICBkYXRhOiAoMCwgX2ZldGNoc2VydmVycmVzcG9uc2UuZmV0Y2hTZXJ2ZXJSZXNwb25zZSkobmV3IFVSTCh1cmwsIGxvY2F0aW9uLm9yaWdpbiksIHJlZmV0Y2hUcmVlLCBjb250ZXh0Lm5leHRVcmwsIGJ1aWxkSWQpLFxyXG4gICAgICAgICAgICBzdWJUcmVlRGF0YTogbnVsbCxcclxuICAgICAgICAgICAgaGVhZDogY2hpbGROb2RlICYmIGNoaWxkTm9kZS5zdGF0dXMgPT09IF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5DYWNoZVN0YXRlcy5MQVpZX0lOSVRJQUxJWkVEID8gY2hpbGROb2RlLmhlYWQgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgIHBhcmFsbGVsUm91dGVzOiBjaGlsZE5vZGUgJiYgY2hpbGROb2RlLnN0YXR1cyA9PT0gX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkNhY2hlU3RhdGVzLkxBWllfSU5JVElBTElaRUQgPyBjaGlsZE5vZGUucGFyYWxsZWxSb3V0ZXMgOiBuZXcgTWFwKClcclxuICAgICAgICB9O1xyXG4gICAgICAgIC8qKlxyXG4gICAgICogRmxpZ2h0IGRhdGEgZmV0Y2gga2lja2VkIG9mZiBkdXJpbmcgcmVuZGVyIGFuZCBwdXQgaW50byB0aGUgY2FjaGUuXHJcbiAgICAgKi8gY2hpbGROb2Rlcy5zZXQoY2FjaGVLZXksIGNoaWxkTm9kZSk7XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGNhc2Ugc2hvdWxkIG5ldmVyIGhhcHBlbiBzbyBpdCB0aHJvd3MgYW4gZXJyb3IuIEl0IGluZGljYXRlcyB0aGVyZSdzIGEgYnVnIGluIHRoZSBOZXh0LmpzLlxyXG4gICAgaWYgKCFjaGlsZE5vZGUpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJDaGlsZCBub2RlIHNob3VsZCBhbHdheXMgZXhpc3RcIik7XHJcbiAgICB9XHJcbiAgICAvLyBUaGlzIGNhc2Ugc2hvdWxkIG5ldmVyIGhhcHBlbiBzbyBpdCB0aHJvd3MgYW4gZXJyb3IuIEl0IGluZGljYXRlcyB0aGVyZSdzIGEgYnVnIGluIHRoZSBOZXh0LmpzLlxyXG4gICAgaWYgKGNoaWxkTm9kZS5zdWJUcmVlRGF0YSAmJiBjaGlsZE5vZGUuZGF0YSkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNoaWxkIG5vZGUgc2hvdWxkIG5vdCBoYXZlIGJvdGggc3ViVHJlZURhdGEgYW5kIGRhdGFcIik7XHJcbiAgICB9XHJcbiAgICAvLyBJZiBjYWNoZSBub2RlIGhhcyBhIGRhdGEgcmVxdWVzdCB3ZSBoYXZlIHRvIHVud3JhcCByZXNwb25zZSBieSBgdXNlYCBhbmQgdXBkYXRlIHRoZSBjYWNoZS5cclxuICAgIGlmIChjaGlsZE5vZGUuZGF0YSkge1xyXG4gICAgICAgIC8qKlxyXG4gICAgICogRmxpZ2h0IHJlc3BvbnNlIGRhdGFcclxuICAgICAqLyAvLyBXaGVuIHRoZSBkYXRhIGhhcyBub3QgcmVzb2x2ZWQgeWV0IGB1c2VgIHdpbGwgc3VzcGVuZCBoZXJlLlxyXG4gICAgICAgIGNvbnN0IFtmbGlnaHREYXRhLCBvdmVycmlkZUNhbm9uaWNhbFVybF0gPSAoMCwgX3JlYWN0LnVzZSkoY2hpbGROb2RlLmRhdGEpO1xyXG4gICAgICAgIC8vIHNlZ21lbnRQYXRoIGZyb20gdGhlIHNlcnZlciBkb2VzIG5vdCBtYXRjaCB0aGUgbGF5b3V0J3Mgc2VnbWVudFBhdGhcclxuICAgICAgICBjaGlsZE5vZGUuZGF0YSA9IG51bGw7XHJcbiAgICAgICAgLy8gc2V0VGltZW91dCBpcyB1c2VkIHRvIHN0YXJ0IGEgbmV3IHRyYW5zaXRpb24gZHVyaW5nIHJlbmRlciwgdGhpcyBpcyBhbiBpbnRlbnRpb25hbCBoYWNrIGFyb3VuZCBSZWFjdC5cclxuICAgICAgICBzZXRUaW1lb3V0KCgpPT57XHJcbiAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICAgICAgY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZShmdWxsVHJlZSwgZmxpZ2h0RGF0YSwgb3ZlcnJpZGVDYW5vbmljYWxVcmwpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAvLyBTdXNwZW5kIGluZmluaXRlbHkgYXMgYGNoYW5nZUJ5U2VydmVyUmVzcG9uc2VgIHdpbGwgY2F1c2UgYSBkaWZmZXJlbnQgcGFydCBvZiB0aGUgdHJlZSB0byBiZSByZW5kZXJlZC5cclxuICAgICAgICAoMCwgX3JlYWN0LnVzZSkoKDAsIF9pbmZpbml0ZXByb21pc2UuY3JlYXRlSW5maW5pdGVQcm9taXNlKSgpKTtcclxuICAgIH1cclxuICAgIC8vIElmIGNhY2hlIG5vZGUgaGFzIG5vIHN1YlRyZWVEYXRhIGFuZCBubyBkYXRhIHJlcXVlc3Qgd2UgaGF2ZSB0byBpbmZpbml0ZWx5IHN1c3BlbmQgYXMgdGhlIGRhdGEgd2lsbCBsaWtlbHkgZmxvdyBpbiBmcm9tIGFub3RoZXIgcGxhY2UuXHJcbiAgICAvLyBUT0RPLUFQUDogZG91YmxlIGNoZWNrIHVzZXJzIGNhbid0IHJldHVybiBudWxsIGluIGEgY29tcG9uZW50IHRoYXQgd2lsbCBraWNrIGluIGhlcmUuXHJcbiAgICBpZiAoIWNoaWxkTm9kZS5zdWJUcmVlRGF0YSkge1xyXG4gICAgICAgICgwLCBfcmVhY3QudXNlKSgoMCwgX2luZmluaXRlcHJvbWlzZS5jcmVhdGVJbmZpbml0ZVByb21pc2UpKCkpO1xyXG4gICAgfVxyXG4gICAgY29uc3Qgc3VidHJlZSA9IC8vIFRoZSBsYXlvdXQgcm91dGVyIGNvbnRleHQgbmFycm93cyBkb3duIHRyZWUgYW5kIGNoaWxkTm9kZXMgYXQgZWFjaCBsZXZlbC5cclxuICAgIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dC5Qcm92aWRlciwge1xyXG4gICAgICAgIHZhbHVlOiB7XHJcbiAgICAgICAgICAgIHRyZWU6IHRyZWVbMV1bcGFyYWxsZWxSb3V0ZXJLZXldLFxyXG4gICAgICAgICAgICBjaGlsZE5vZGVzOiBjaGlsZE5vZGUucGFyYWxsZWxSb3V0ZXMsXHJcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBvdmVycmlkaW5nIG9mIHVybCBmb3IgcGFyYWxsZWwgcm91dGVzXHJcbiAgICAgICAgICAgIHVybDogdXJsXHJcbiAgICAgICAgfVxyXG4gICAgfSwgY2hpbGROb2RlLnN1YlRyZWVEYXRhKTtcclxuICAgIC8vIEVuc3VyZSByb290IGxheW91dCBpcyBub3Qgd3JhcHBlZCBpbiBhIGRpdiBhcyB0aGUgcm9vdCBsYXlvdXQgcmVuZGVycyBgPGh0bWw+YFxyXG4gICAgcmV0dXJuIHN1YnRyZWU7XHJcbn1cclxuLyoqXHJcbiAqIFJlbmRlcnMgc3VzcGVuc2UgYm91bmRhcnkgd2l0aCB0aGUgcHJvdmlkZWQgXCJsb2FkaW5nXCIgcHJvcGVydHkgYXMgdGhlIGZhbGxiYWNrLlxyXG4gKiBJZiBubyBsb2FkaW5nIHByb3BlcnR5IGlzIHByb3ZpZGVkIGl0IHJlbmRlcnMgdGhlIGNoaWxkcmVuIHdpdGhvdXQgYSBzdXNwZW5zZSBib3VuZGFyeS5cclxuICovIGZ1bmN0aW9uIExvYWRpbmdCb3VuZGFyeShwYXJhbSkge1xyXG4gICAgbGV0IHsgY2hpbGRyZW4sIGxvYWRpbmcsIGxvYWRpbmdTdHlsZXMsIGhhc0xvYWRpbmcgfSA9IHBhcmFtO1xyXG4gICAgaWYgKGhhc0xvYWRpbmcpIHtcclxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5TdXNwZW5zZSwge1xyXG4gICAgICAgICAgICBmYWxsYmFjazogLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBsb2FkaW5nU3R5bGVzLCBsb2FkaW5nKVxyXG4gICAgICAgIH0sIGNoaWxkcmVuKTtcclxuICAgIH1cclxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIGNoaWxkcmVuKTtcclxufVxyXG5mdW5jdGlvbiBPdXRlckxheW91dFJvdXRlcihwYXJhbSkge1xyXG4gICAgbGV0IHsgcGFyYWxsZWxSb3V0ZXJLZXksIHNlZ21lbnRQYXRoLCBjaGlsZFByb3AsIGVycm9yLCBlcnJvclN0eWxlcywgdGVtcGxhdGVTdHlsZXMsIGxvYWRpbmcsIGxvYWRpbmdTdHlsZXMsIGhhc0xvYWRpbmcsIHRlbXBsYXRlLCBub3RGb3VuZCwgbm90Rm91bmRTdHlsZXMsIHN0eWxlcyB9ID0gcGFyYW07XHJcbiAgICBjb25zdCBjb250ZXh0ID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuTGF5b3V0Um91dGVyQ29udGV4dCk7XHJcbiAgICBpZiAoIWNvbnRleHQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpbnZhcmlhbnQgZXhwZWN0ZWQgbGF5b3V0IHJvdXRlciB0byBiZSBtb3VudGVkXCIpO1xyXG4gICAgfVxyXG4gICAgY29uc3QgeyBjaGlsZE5vZGVzLCB0cmVlLCB1cmwgfSA9IGNvbnRleHQ7XHJcbiAgICAvLyBHZXQgdGhlIGN1cnJlbnQgcGFyYWxsZWxSb3V0ZXIgY2FjaGUgbm9kZVxyXG4gICAgbGV0IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlciA9IGNoaWxkTm9kZXMuZ2V0KHBhcmFsbGVsUm91dGVyS2V5KTtcclxuICAgIC8vIElmIHRoZSBwYXJhbGxlbCByb3V0ZXIgY2FjaGUgbm9kZSBkb2VzIG5vdCBleGlzdCB5ZXQsIGNyZWF0ZSBpdC5cclxuICAgIC8vIFRoaXMgd3JpdGVzIHRvIHRoZSBjYWNoZSB3aGVuIHRoZXJlIGlzIG5vIGl0ZW0gaW4gdGhlIGNhY2hlIHlldC4gSXQgbmV2ZXIgKm92ZXJ3cml0ZXMqIGV4aXN0aW5nIGNhY2hlIGl0ZW1zIHdoaWNoIGlzIHdoeSBpdCdzIHNhZmUgaW4gY29uY3VycmVudCBtb2RlLlxyXG4gICAgaWYgKCFjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIpIHtcclxuICAgICAgICBjaGlsZE5vZGVzRm9yUGFyYWxsZWxSb3V0ZXIgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgY2hpbGROb2Rlcy5zZXQocGFyYWxsZWxSb3V0ZXJLZXksIGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcik7XHJcbiAgICB9XHJcbiAgICAvLyBHZXQgdGhlIGFjdGl2ZSBzZWdtZW50IGluIHRoZSB0cmVlXHJcbiAgICAvLyBUaGUgcmVhc29uIGFycmF5cyBhcmUgdXNlZCBpbiB0aGUgZGF0YSBmb3JtYXQgaXMgdGhhdCB0aGVzZSBhcmUgdHJhbnNmZXJyZWQgZnJvbSB0aGUgc2VydmVyIHRvIHRoZSBicm93c2VyIHNvIGl0J3Mgb3B0aW1pemVkIHRvIHNhdmUgYnl0ZXMuXHJcbiAgICBjb25zdCB0cmVlU2VnbWVudCA9IHRyZWVbMV1bcGFyYWxsZWxSb3V0ZXJLZXldWzBdO1xyXG4gICAgY29uc3QgY2hpbGRQcm9wU2VnbWVudCA9IGNoaWxkUHJvcC5zZWdtZW50O1xyXG4gICAgLy8gSWYgc2VnbWVudCBpcyBhbiBhcnJheSBpdCdzIGEgZHluYW1pYyByb3V0ZSBhbmQgd2Ugd2FudCB0byByZWFkIHRoZSBkeW5hbWljIHJvdXRlIHZhbHVlIGFzIHRoZSBzZWdtZW50IHRvIGdldCBmcm9tIHRoZSBjYWNoZS5cclxuICAgIGNvbnN0IGN1cnJlbnRDaGlsZFNlZ21lbnRWYWx1ZSA9ICgwLCBfZ2V0c2VnbWVudHZhbHVlLmdldFNlZ21lbnRWYWx1ZSkodHJlZVNlZ21lbnQpO1xyXG4gICAgLyoqXHJcbiAgICogRGVjaWRlcyB3aGljaCBzZWdtZW50cyB0byBrZWVwIHJlbmRlcmluZywgYWxsIHNlZ21lbnRzIHRoYXQgYXJlIG5vdCBhY3RpdmUgd2lsbCBiZSB3cmFwcGVkIGluIGA8T2Zmc2NyZWVuPmAuXHJcbiAgICovIC8vIFRPRE8tQVBQOiBBZGQgaGFuZGxpbmcgb2YgYDxPZmZzY3JlZW4+YCB3aGVuIGl0J3MgYXZhaWxhYmxlLlxyXG4gICAgY29uc3QgcHJlc2VydmVkU2VnbWVudHMgPSBbXHJcbiAgICAgICAgdHJlZVNlZ21lbnRcclxuICAgIF07XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCBzdHlsZXMsIHByZXNlcnZlZFNlZ21lbnRzLm1hcCgocHJlc2VydmVkU2VnbWVudCk9PntcclxuICAgICAgICBjb25zdCBpc0NoaWxkUHJvcFNlZ21lbnQgPSAoMCwgX21hdGNoc2VnbWVudHMubWF0Y2hTZWdtZW50KShwcmVzZXJ2ZWRTZWdtZW50LCBjaGlsZFByb3BTZWdtZW50KTtcclxuICAgICAgICBjb25zdCBwcmVzZXJ2ZWRTZWdtZW50VmFsdWUgPSAoMCwgX2dldHNlZ21lbnR2YWx1ZS5nZXRTZWdtZW50VmFsdWUpKHByZXNlcnZlZFNlZ21lbnQpO1xyXG4gICAgICAgIGNvbnN0IGNhY2hlS2V5ID0gKDAsIF9jcmVhdGVyb3V0ZXJjYWNoZWtleS5jcmVhdGVSb3V0ZXJDYWNoZUtleSkocHJlc2VydmVkU2VnbWVudCk7XHJcbiAgICAgICAgcmV0dXJuKC8qXHJcbiAgICAgICAgICAgIC0gRXJyb3IgYm91bmRhcnlcclxuICAgICAgICAgICAgICAtIE9ubHkgcmVuZGVycyBlcnJvciBib3VuZGFyeSBpZiBlcnJvciBjb21wb25lbnQgaXMgcHJvdmlkZWQuXHJcbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGVycm9yIHN0YXRlLlxyXG4gICAgICAgICAgICAtIExvYWRpbmcgYm91bmRhcnlcclxuICAgICAgICAgICAgICAtIE9ubHkgcmVuZGVycyBzdXNwZW5zZSBib3VuZGFyeSBpZiBsb2FkaW5nIGNvbXBvbmVudHMgaXMgcHJvdmlkZWQuXHJcbiAgICAgICAgICAgICAgLSBSZW5kZXJlZCBmb3IgZWFjaCBzZWdtZW50IHRvIGVuc3VyZSB0aGV5IGhhdmUgdGhlaXIgb3duIGxvYWRpbmcgc3RhdGUuXHJcbiAgICAgICAgICAgICAgLSBQYXNzZWQgdG8gdGhlIHJvdXRlciBkdXJpbmcgcmVuZGVyaW5nIHRvIGVuc3VyZSBpdCBjYW4gYmUgaW1tZWRpYXRlbHkgcmVuZGVyZWQgd2hlbiBzdXNwZW5kaW5nIG9uIGEgRmxpZ2h0IGZldGNoLlxyXG4gICAgICAgICAgKi8gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5UZW1wbGF0ZUNvbnRleHQuUHJvdmlkZXIsIHtcclxuICAgICAgICAgICAga2V5OiAoMCwgX2NyZWF0ZXJvdXRlcmNhY2hla2V5LmNyZWF0ZVJvdXRlckNhY2hlS2V5KShwcmVzZXJ2ZWRTZWdtZW50LCB0cnVlKSxcclxuICAgICAgICAgICAgdmFsdWU6IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChTY3JvbGxBbmRGb2N1c0hhbmRsZXIsIHtcclxuICAgICAgICAgICAgICAgIHNlZ21lbnRQYXRoOiBzZWdtZW50UGF0aFxyXG4gICAgICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX2Vycm9yYm91bmRhcnkuRXJyb3JCb3VuZGFyeSwge1xyXG4gICAgICAgICAgICAgICAgZXJyb3JDb21wb25lbnQ6IGVycm9yLFxyXG4gICAgICAgICAgICAgICAgZXJyb3JTdHlsZXM6IGVycm9yU3R5bGVzXHJcbiAgICAgICAgICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChMb2FkaW5nQm91bmRhcnksIHtcclxuICAgICAgICAgICAgICAgIGhhc0xvYWRpbmc6IGhhc0xvYWRpbmcsXHJcbiAgICAgICAgICAgICAgICBsb2FkaW5nOiBsb2FkaW5nLFxyXG4gICAgICAgICAgICAgICAgbG9hZGluZ1N0eWxlczogbG9hZGluZ1N0eWxlc1xyXG4gICAgICAgICAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX25vdGZvdW5kYm91bmRhcnkuTm90Rm91bmRCb3VuZGFyeSwge1xyXG4gICAgICAgICAgICAgICAgbm90Rm91bmQ6IG5vdEZvdW5kLFxyXG4gICAgICAgICAgICAgICAgbm90Rm91bmRTdHlsZXM6IG5vdEZvdW5kU3R5bGVzXHJcbiAgICAgICAgICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChfcmVkaXJlY3Rib3VuZGFyeS5SZWRpcmVjdEJvdW5kYXJ5LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoSW5uZXJMYXlvdXRSb3V0ZXIsIHtcclxuICAgICAgICAgICAgICAgIHBhcmFsbGVsUm91dGVyS2V5OiBwYXJhbGxlbFJvdXRlcktleSxcclxuICAgICAgICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgICAgICAgdHJlZTogdHJlZSxcclxuICAgICAgICAgICAgICAgIGNoaWxkTm9kZXM6IGNoaWxkTm9kZXNGb3JQYXJhbGxlbFJvdXRlcixcclxuICAgICAgICAgICAgICAgIGNoaWxkUHJvcDogaXNDaGlsZFByb3BTZWdtZW50ID8gY2hpbGRQcm9wIDogbnVsbCxcclxuICAgICAgICAgICAgICAgIHNlZ21lbnRQYXRoOiBzZWdtZW50UGF0aCxcclxuICAgICAgICAgICAgICAgIGNhY2hlS2V5OiBjYWNoZUtleSxcclxuICAgICAgICAgICAgICAgIGlzQWN0aXZlOiBjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUgPT09IHByZXNlcnZlZFNlZ21lbnRWYWx1ZVxyXG4gICAgICAgICAgICB9KSkpKSkpXHJcbiAgICAgICAgfSwgdGVtcGxhdGVTdHlsZXMsIHRlbXBsYXRlKSk7XHJcbiAgICB9KSk7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWxheW91dC1yb3V0ZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIk91dGVyTGF5b3V0Um91dGVyIiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfcmVhY3QiLCJfIiwiX3JlYWN0ZG9tIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiX2ZldGNoc2VydmVycmVzcG9uc2UiLCJfaW5maW5pdGVwcm9taXNlIiwiX2Vycm9yYm91bmRhcnkiLCJfbWF0Y2hzZWdtZW50cyIsIl9oYW5kbGVzbW9vdGhzY3JvbGwiLCJfcmVkaXJlY3Rib3VuZGFyeSIsIl9ub3Rmb3VuZGJvdW5kYXJ5IiwiX2dldHNlZ21lbnR2YWx1ZSIsIl9jcmVhdGVyb3V0ZXJjYWNoZWtleSIsIndhbGtBZGRSZWZldGNoIiwic2VnbWVudFBhdGhUb1dhbGsiLCJ0cmVlVG9SZWNyZWF0ZSIsInNlZ21lbnQiLCJwYXJhbGxlbFJvdXRlS2V5IiwiaXNMYXN0IiwibGVuZ3RoIiwibWF0Y2hTZWdtZW50IiwiaGFzT3duUHJvcGVydHkiLCJzdWJUcmVlIiwidW5kZWZpbmVkIiwic2xpY2UiLCJmaW5kRE9NTm9kZSIsImluc3RhbmNlIiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwib3JpZ2luYWxDb25zb2xlRXJyb3IiLCJjb25zb2xlIiwiZXJyb3IiLCJfbGVuIiwiYXJndW1lbnRzIiwibWVzc2FnZXMiLCJBcnJheSIsIl9rZXkiLCJpbmNsdWRlcyIsImRlZmF1bHQiLCJyZWN0UHJvcGVydGllcyIsInNob3VsZFNraXBFbGVtZW50IiwiZWxlbWVudCIsImdldENvbXB1dGVkU3R5bGUiLCJwb3NpdGlvbiIsIndhcm4iLCJyZWN0IiwiZ2V0Qm91bmRpbmdDbGllbnRSZWN0IiwiZXZlcnkiLCJpdGVtIiwidG9wT2ZFbGVtZW50SW5WaWV3cG9ydCIsInZpZXdwb3J0SGVpZ2h0IiwidG9wIiwiZ2V0SGFzaEZyYWdtZW50RG9tTm9kZSIsImhhc2hGcmFnbWVudCIsImRvY3VtZW50IiwiYm9keSIsIl9kb2N1bWVudF9nZXRFbGVtZW50QnlJZCIsImdldEVsZW1lbnRCeUlkIiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJJbm5lclNjcm9sbEFuZEZvY3VzSGFuZGxlciIsIkNvbXBvbmVudCIsImNvbXBvbmVudERpZE1vdW50IiwiaGFuZGxlUG90ZW50aWFsU2Nyb2xsIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJvcHMiLCJmb2N1c0FuZFNjcm9sbFJlZiIsImFwcGx5IiwicmVuZGVyIiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJzZWdtZW50UGF0aCIsInNlZ21lbnRQYXRocyIsInNvbWUiLCJzY3JvbGxSZWZTZWdtZW50UGF0aCIsImluZGV4IiwiZG9tTm9kZSIsIkVsZW1lbnQiLCJIVE1MRWxlbWVudCIsIm5leHRFbGVtZW50U2libGluZyIsImhhbmRsZVNtb290aFNjcm9sbCIsInNjcm9sbEludG9WaWV3IiwiaHRtbEVsZW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRIZWlnaHQiLCJzY3JvbGxUb3AiLCJkb250Rm9yY2VMYXlvdXQiLCJvbmx5SGFzaENoYW5nZSIsImZvY3VzIiwiU2Nyb2xsQW5kRm9jdXNIYW5kbGVyIiwicGFyYW0iLCJjb250ZXh0IiwidXNlQ29udGV4dCIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJFcnJvciIsImNyZWF0ZUVsZW1lbnQiLCJJbm5lckxheW91dFJvdXRlciIsInBhcmFsbGVsUm91dGVyS2V5IiwidXJsIiwiY2hpbGROb2RlcyIsImNoaWxkUHJvcCIsInRyZWUiLCJjYWNoZUtleSIsImJ1aWxkSWQiLCJjaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwiZnVsbFRyZWUiLCJjaGlsZE5vZGUiLCJjdXJyZW50Iiwic3RhdHVzIiwiQ2FjaGVTdGF0ZXMiLCJSRUFEWSIsImRhdGEiLCJzdWJUcmVlRGF0YSIsInBhcmFsbGVsUm91dGVzIiwiTWFwIiwic2V0IiwiTEFaWV9JTklUSUFMSVpFRCIsInJlZmV0Y2hUcmVlIiwiREFUQV9GRVRDSCIsImZldGNoU2VydmVyUmVzcG9uc2UiLCJVUkwiLCJsb2NhdGlvbiIsIm9yaWdpbiIsIm5leHRVcmwiLCJoZWFkIiwiZmxpZ2h0RGF0YSIsIm92ZXJyaWRlQ2Fub25pY2FsVXJsIiwidXNlIiwic2V0VGltZW91dCIsInN0YXJ0VHJhbnNpdGlvbiIsImNyZWF0ZUluZmluaXRlUHJvbWlzZSIsInN1YnRyZWUiLCJMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJMb2FkaW5nQm91bmRhcnkiLCJsb2FkaW5nIiwibG9hZGluZ1N0eWxlcyIsImhhc0xvYWRpbmciLCJTdXNwZW5zZSIsImZhbGxiYWNrIiwiRnJhZ21lbnQiLCJlcnJvclN0eWxlcyIsInRlbXBsYXRlU3R5bGVzIiwidGVtcGxhdGUiLCJub3RGb3VuZCIsIm5vdEZvdW5kU3R5bGVzIiwic3R5bGVzIiwiY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyIiwidHJlZVNlZ21lbnQiLCJjaGlsZFByb3BTZWdtZW50IiwiY3VycmVudENoaWxkU2VnbWVudFZhbHVlIiwiZ2V0U2VnbWVudFZhbHVlIiwicHJlc2VydmVkU2VnbWVudHMiLCJtYXAiLCJwcmVzZXJ2ZWRTZWdtZW50IiwiaXNDaGlsZFByb3BTZWdtZW50IiwicHJlc2VydmVkU2VnbWVudFZhbHVlIiwiY3JlYXRlUm91dGVyQ2FjaGVLZXkiLCJUZW1wbGF0ZUNvbnRleHQiLCJrZXkiLCJFcnJvckJvdW5kYXJ5IiwiZXJyb3JDb21wb25lbnQiLCJOb3RGb3VuZEJvdW5kYXJ5IiwiUmVkaXJlY3RCb3VuZGFyeSIsImlzQWN0aXZlIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/layout-router.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/match-segments.js": /*!********************************************************************!*\ !*** ./node_modules/next/dist/client/components/match-segments.js ***! \********************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n matchSegment: function() {\n return matchSegment;\n },\n canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n }\n});\nconst _getsegmentparam = __webpack_require__(/*! ../../server/app-render/get-segment-param */ \"(ssr)/./node_modules/next/dist/server/app-render/get-segment-param.js\");\nconst matchSegment = (existingSegment, segment)=>{\n // segment is either Array or string\n if (typeof existingSegment === \"string\") {\n if (typeof segment === \"string\") {\n // Common case: segment is just a string\n return existingSegment === segment;\n }\n return false;\n }\n if (typeof segment === \"string\") {\n return false;\n }\n return existingSegment[0] === segment[0] && existingSegment[1] === segment[1];\n};\nconst canSegmentBeOverridden = (existingSegment, segment)=>{\n var _getSegmentParam;\n if (Array.isArray(existingSegment) || !Array.isArray(segment)) {\n return false;\n }\n return ((_getSegmentParam = (0, _getsegmentparam.getSegmentParam)(existingSegment)) == null ? void 0 : _getSegmentParam.param) === segment[0];\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=match-segments.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyxjQUFjO1FBQ1YsT0FBT0E7SUFDWDtJQUNBQyx3QkFBd0I7UUFDcEIsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sbUJBQW1CQyxtQkFBT0EsQ0FBQyx3SEFBMkM7QUFDNUUsTUFBTVQsZUFBZSxDQUFDVSxpQkFBaUJDO0lBQ25DLG9DQUFvQztJQUNwQyxJQUFJLE9BQU9ELG9CQUFvQixVQUFVO1FBQ3JDLElBQUksT0FBT0MsWUFBWSxVQUFVO1lBQzdCLHdDQUF3QztZQUN4QyxPQUFPRCxvQkFBb0JDO1FBQy9CO1FBQ0EsT0FBTztJQUNYO0lBQ0EsSUFBSSxPQUFPQSxZQUFZLFVBQVU7UUFDN0IsT0FBTztJQUNYO0lBQ0EsT0FBT0QsZUFBZSxDQUFDLEVBQUUsS0FBS0MsT0FBTyxDQUFDLEVBQUUsSUFBSUQsZUFBZSxDQUFDLEVBQUUsS0FBS0MsT0FBTyxDQUFDLEVBQUU7QUFDakY7QUFDQSxNQUFNVix5QkFBeUIsQ0FBQ1MsaUJBQWlCQztJQUM3QyxJQUFJQztJQUNKLElBQUlDLE1BQU1DLE9BQU8sQ0FBQ0osb0JBQW9CLENBQUNHLE1BQU1DLE9BQU8sQ0FBQ0gsVUFBVTtRQUMzRCxPQUFPO0lBQ1g7SUFDQSxPQUFPLENBQUMsQ0FBQ0MsbUJBQW1CLENBQUMsR0FBR0osaUJBQWlCTyxlQUFlLEVBQUVMLGdCQUFlLEtBQU0sT0FBTyxLQUFLLElBQUlFLGlCQUFpQkksS0FBSyxNQUFNTCxPQUFPLENBQUMsRUFBRTtBQUNqSjtBQUVBLElBQUksQ0FBQyxPQUFPZCxRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsRUFFQSwwQ0FBMEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzP2JjYjEiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xyXG4gICAgbWF0Y2hTZWdtZW50OiBudWxsLFxyXG4gICAgY2FuU2VnbWVudEJlT3ZlcnJpZGRlbjogbnVsbFxyXG59KTtcclxuZnVuY3Rpb24gX2V4cG9ydCh0YXJnZXQsIGFsbCkge1xyXG4gICAgZm9yKHZhciBuYW1lIGluIGFsbClPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBuYW1lLCB7XHJcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgICAgICBnZXQ6IGFsbFtuYW1lXVxyXG4gICAgfSk7XHJcbn1cclxuX2V4cG9ydChleHBvcnRzLCB7XHJcbiAgICBtYXRjaFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBtYXRjaFNlZ21lbnQ7XHJcbiAgICB9LFxyXG4gICAgY2FuU2VnbWVudEJlT3ZlcnJpZGRlbjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGNhblNlZ21lbnRCZU92ZXJyaWRkZW47XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfZ2V0c2VnbWVudHBhcmFtID0gcmVxdWlyZShcIi4uLy4uL3NlcnZlci9hcHAtcmVuZGVyL2dldC1zZWdtZW50LXBhcmFtXCIpO1xyXG5jb25zdCBtYXRjaFNlZ21lbnQgPSAoZXhpc3RpbmdTZWdtZW50LCBzZWdtZW50KT0+e1xyXG4gICAgLy8gc2VnbWVudCBpcyBlaXRoZXIgQXJyYXkgb3Igc3RyaW5nXHJcbiAgICBpZiAodHlwZW9mIGV4aXN0aW5nU2VnbWVudCA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIGlmICh0eXBlb2Ygc2VnbWVudCA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgICAgICAvLyBDb21tb24gY2FzZTogc2VnbWVudCBpcyBqdXN0IGEgc3RyaW5nXHJcbiAgICAgICAgICAgIHJldHVybiBleGlzdGluZ1NlZ21lbnQgPT09IHNlZ21lbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIGlmICh0eXBlb2Ygc2VnbWVudCA9PT0gXCJzdHJpbmdcIikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiBleGlzdGluZ1NlZ21lbnRbMF0gPT09IHNlZ21lbnRbMF0gJiYgZXhpc3RpbmdTZWdtZW50WzFdID09PSBzZWdtZW50WzFdO1xyXG59O1xyXG5jb25zdCBjYW5TZWdtZW50QmVPdmVycmlkZGVuID0gKGV4aXN0aW5nU2VnbWVudCwgc2VnbWVudCk9PntcclxuICAgIHZhciBfZ2V0U2VnbWVudFBhcmFtO1xyXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmdTZWdtZW50KSB8fCAhQXJyYXkuaXNBcnJheShzZWdtZW50KSkge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHJldHVybiAoKF9nZXRTZWdtZW50UGFyYW0gPSAoMCwgX2dldHNlZ21lbnRwYXJhbS5nZXRTZWdtZW50UGFyYW0pKGV4aXN0aW5nU2VnbWVudCkpID09IG51bGwgPyB2b2lkIDAgOiBfZ2V0U2VnbWVudFBhcmFtLnBhcmFtKSA9PT0gc2VnbWVudFswXTtcclxufTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW1hdGNoLXNlZ21lbnRzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm1hdGNoU2VnbWVudCIsImNhblNlZ21lbnRCZU92ZXJyaWRkZW4iLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJfZ2V0c2VnbWVudHBhcmFtIiwicmVxdWlyZSIsImV4aXN0aW5nU2VnbWVudCIsInNlZ21lbnQiLCJfZ2V0U2VnbWVudFBhcmFtIiwiQXJyYXkiLCJpc0FycmF5IiwiZ2V0U2VnbWVudFBhcmFtIiwicGFyYW0iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/match-segments.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/navigation.js": /*!****************************************************************!*\ !*** ./node_modules/next/dist/client/components/navigation.js ***! \****************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n ReadonlyURLSearchParams: function() {\n return ReadonlyURLSearchParams;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n usePathname: function() {\n return usePathname;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\n },\n useRouter: function() {\n return useRouter;\n },\n useParams: function() {\n return useParams;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n redirect: function() {\n return _redirect.redirect;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n }\n});\nconst _react = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _clienthookinservercomponenterror = __webpack_require__(/*! ./client-hook-in-server-component-error */ \"(ssr)/./node_modules/next/dist/client/components/client-hook-in-server-component-error.js\");\nconst _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _serverinsertedhtmlsharedruntime = __webpack_require__(/*! ../../shared/lib/server-inserted-html.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/server-inserted-html.js\");\nconst _redirect = __webpack_require__(/*! ./redirect */ \"(ssr)/./node_modules/next/dist/client/components/redirect.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst INTERNAL_URLSEARCHPARAMS_INSTANCE = Symbol(\"internal for urlsearchparams readonly\");\nfunction readonlyURLSearchParamsError() {\n return new Error(\"ReadonlyURLSearchParams cannot be modified\");\n}\nclass ReadonlyURLSearchParams {\n [Symbol.iterator]() {\n return this[INTERNAL_URLSEARCHPARAMS_INSTANCE][Symbol.iterator]();\n }\n append() {\n throw readonlyURLSearchParamsError();\n }\n delete() {\n throw readonlyURLSearchParamsError();\n }\n set() {\n throw readonlyURLSearchParamsError();\n }\n sort() {\n throw readonlyURLSearchParamsError();\n }\n constructor(urlSearchParams){\n this[INTERNAL_URLSEARCHPARAMS_INSTANCE] = urlSearchParams;\n this.entries = urlSearchParams.entries.bind(urlSearchParams);\n this.forEach = urlSearchParams.forEach.bind(urlSearchParams);\n this.get = urlSearchParams.get.bind(urlSearchParams);\n this.getAll = urlSearchParams.getAll.bind(urlSearchParams);\n this.has = urlSearchParams.has.bind(urlSearchParams);\n this.keys = urlSearchParams.keys.bind(urlSearchParams);\n this.values = urlSearchParams.values.bind(urlSearchParams);\n this.toString = urlSearchParams.toString.bind(urlSearchParams);\n this.size = urlSearchParams.size;\n }\n}\nfunction useSearchParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSearchParams\");\n const searchParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.SearchParamsContext);\n // In the case where this is `null`, the compat types added in\n // `next-env.d.ts` will add a new overload that changes the return type to\n // include `null`.\n const readonlySearchParams = (0, _react.useMemo)(()=>{\n if (!searchParams) {\n // When the router is not ready in pages, we won't have the search params\n // available.\n return null;\n }\n return new ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n if (bailoutToClientRendering()) {\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n return readonlySearchParams;\n }\n }\n return readonlySearchParams;\n}\nfunction usePathname() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"usePathname\");\n // In the case where this is `null`, the compat types added in `next-env.d.ts`\n // will add a new overload that changes the return type to include `null`.\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathnameContext);\n}\nfunction useRouter() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useRouter\");\n const router = (0, _react.useContext)(_approutercontextsharedruntime.AppRouterContext);\n if (router === null) {\n throw new Error(\"invariant expected app router to be mounted\");\n }\n return router;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(tree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = tree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(\"__PAGE__\")) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction useParams() {\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useParams\");\n const globalLayoutRouter = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n const pathParams = (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n // When it's under app router\n if (globalLayoutRouter) {\n return getSelectedParams(globalLayoutRouter.tree);\n }\n // When it's under client side pages router\n return pathParams;\n}\n// TODO-APP: handle parallel routes\n/**\r\n * Get the canonical parameters from the current level to the leaf node.\r\n */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(\"__PAGE__\")) return segmentPath;\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\nfunction useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegments\");\n const { tree } = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n return getSelectedLayoutSegmentPath(tree, parallelRouteKey);\n}\nfunction useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n (0, _clienthookinservercomponenterror.clientHookInServerComponentError)(\"useSelectedLayoutSegment\");\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (selectedLayoutSegments.length === 0) {\n return null;\n }\n return selectedLayoutSegments[0];\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=navigation.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0YsS0FBTUMsQ0FBQUEsQ0FjTjtBQUNBLFNBQVNjLFFBQVFDLE1BQU0sRUFBRUMsR0FBRztJQUN4QixJQUFJLElBQUlDLFFBQVFELElBQUlwQixPQUFPQyxjQUFjLENBQUNrQixRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFoQixTQUFTO0lBQ2JHLHlCQUF5QjtRQUNyQixPQUFPQTtJQUNYO0lBQ0FDLGlCQUFpQjtRQUNiLE9BQU9BO0lBQ1g7SUFDQUMsYUFBYTtRQUNULE9BQU9BO0lBQ1g7SUFDQUMsMkJBQTJCO1FBQ3ZCLE9BQU9nQixpQ0FBaUNoQix5QkFBeUI7SUFDckU7SUFDQUMsdUJBQXVCO1FBQ25CLE9BQU9lLGlDQUFpQ2YscUJBQXFCO0lBQ2pFO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLFdBQVc7UUFDUCxPQUFPQTtJQUNYO0lBQ0FDLDJCQUEyQjtRQUN2QixPQUFPQTtJQUNYO0lBQ0FDLDBCQUEwQjtRQUN0QixPQUFPQTtJQUNYO0lBQ0FDLFVBQVU7UUFDTixPQUFPVyxVQUFVWCxRQUFRO0lBQzdCO0lBQ0FDLG1CQUFtQjtRQUNmLE9BQU9VLFVBQVVWLGlCQUFpQjtJQUN0QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1MsVUFBVVQsWUFBWTtJQUNqQztJQUNBQyxVQUFVO1FBQ04sT0FBT1MsVUFBVVQsUUFBUTtJQUM3QjtBQUNKO0FBQ0EsTUFBTVUsU0FBU0MsbUJBQU9BLENBQUMsd0dBQU87QUFDOUIsTUFBTUMsaUNBQWlDRCxtQkFBT0EsQ0FBQyx1S0FBb0Q7QUFDbkcsTUFBTUUsbUNBQW1DRixtQkFBT0EsQ0FBQywyS0FBc0Q7QUFD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QjtBQUM5QztBQUNBLFNBQVNwRSx5QkFBeUJvRSxnQkFBZ0I7SUFDOUMsSUFBSUEscUJBQXFCLEtBQUssR0FBR0EsbUJBQW1CO0lBQ25ELElBQUdsRCxrQ0FBa0NzQixnQ0FBZ0MsRUFBRTtJQUN4RSxNQUFNcUMseUJBQXlCOUUsMEJBQTBCcUU7SUFDekQsSUFBSVMsdUJBQXVCQyxNQUFNLEtBQUssR0FBRztRQUNyQyxPQUFPO0lBQ1g7SUFDQSxPQUFPRCxzQkFBc0IsQ0FBQyxFQUFFO0FBQ3BDO0FBRUEsSUFBSSxDQUFDLE9BQU94RixRQUFRMEYsT0FBTyxLQUFLLGNBQWUsT0FBTzFGLFFBQVEwRixPQUFPLEtBQUssWUFBWTFGLFFBQVEwRixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8xRixRQUFRMEYsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzdGLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTBGLE9BQU8sRUFBRSxjQUFjO1FBQUV6RixPQUFPO0lBQUs7SUFDbkVILE9BQU84RixNQUFNLENBQUM1RixRQUFRMEYsT0FBTyxFQUFFMUY7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTBGLE9BQU87QUFDbEMsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanM/MzQ4MiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XHJcbiAgICBSZWFkb25seVVSTFNlYXJjaFBhcmFtczogbnVsbCxcclxuICAgIHVzZVNlYXJjaFBhcmFtczogbnVsbCxcclxuICAgIHVzZVBhdGhuYW1lOiBudWxsLFxyXG4gICAgU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dDogbnVsbCxcclxuICAgIHVzZVNlcnZlckluc2VydGVkSFRNTDogbnVsbCxcclxuICAgIHVzZVJvdXRlcjogbnVsbCxcclxuICAgIHVzZVBhcmFtczogbnVsbCxcclxuICAgIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHM6IG51bGwsXHJcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6IG51bGwsXHJcbiAgICByZWRpcmVjdDogbnVsbCxcclxuICAgIHBlcm1hbmVudFJlZGlyZWN0OiBudWxsLFxyXG4gICAgUmVkaXJlY3RUeXBlOiBudWxsLFxyXG4gICAgbm90Rm91bmQ6IG51bGxcclxufSk7XHJcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcclxuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cclxuICAgIH0pO1xyXG59XHJcbl9leHBvcnQoZXhwb3J0cywge1xyXG4gICAgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBSZWFkb25seVVSTFNlYXJjaFBhcmFtcztcclxuICAgIH0sXHJcbiAgICB1c2VTZWFyY2hQYXJhbXM6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB1c2VTZWFyY2hQYXJhbXM7XHJcbiAgICB9LFxyXG4gICAgdXNlUGF0aG5hbWU6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB1c2VQYXRobmFtZTtcclxuICAgIH0sXHJcbiAgICBTZXJ2ZXJJbnNlcnRlZEhUTUxDb250ZXh0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gX3NlcnZlcmluc2VydGVkaHRtbHNoYXJlZHJ1bnRpbWUuU2VydmVySW5zZXJ0ZWRIVE1MQ29udGV4dDtcclxuICAgIH0sXHJcbiAgICB1c2VTZXJ2ZXJJbnNlcnRlZEhUTUw6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBfc2VydmVyaW5zZXJ0ZWRodG1sc2hhcmVkcnVudGltZS51c2VTZXJ2ZXJJbnNlcnRlZEhUTUw7XHJcbiAgICB9LFxyXG4gICAgdXNlUm91dGVyOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gdXNlUm91dGVyO1xyXG4gICAgfSxcclxuICAgIHVzZVBhcmFtczogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHVzZVBhcmFtcztcclxuICAgIH0sXHJcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cztcclxuICAgIH0sXHJcbiAgICB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiB1c2VTZWxlY3RlZExheW91dFNlZ21lbnQ7XHJcbiAgICB9LFxyXG4gICAgcmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBfcmVkaXJlY3QucmVkaXJlY3Q7XHJcbiAgICB9LFxyXG4gICAgcGVybWFuZW50UmVkaXJlY3Q6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBfcmVkaXJlY3QucGVybWFuZW50UmVkaXJlY3Q7XHJcbiAgICB9LFxyXG4gICAgUmVkaXJlY3RUeXBlOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gX3JlZGlyZWN0LlJlZGlyZWN0VHlwZTtcclxuICAgIH0sXHJcbiAgICBub3RGb3VuZDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9ub3Rmb3VuZC5ub3RGb3VuZDtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9yZWFjdCA9IHJlcXVpcmUoXCJyZWFjdFwiKTtcclxuY29uc3QgX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvYXBwLXJvdXRlci1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xyXG5jb25zdCBfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZSA9IHJlcXVpcmUoXCIuLi8uLi9zaGFyZWQvbGliL2hvb2tzLWNsaWVudC1jb250ZXh0LnNoYXJlZC1ydW50aW1lXCIpO1xyXG5jb25zdCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IgPSByZXF1aXJlKFwiLi9jbGllbnQtaG9vay1pbi1zZXJ2ZXItY29tcG9uZW50LWVycm9yXCIpO1xyXG5jb25zdCBfZ2V0c2VnbWVudHZhbHVlID0gcmVxdWlyZShcIi4vcm91dGVyLXJlZHVjZXIvcmVkdWNlcnMvZ2V0LXNlZ21lbnQtdmFsdWVcIik7XHJcbmNvbnN0IF9zZXJ2ZXJpbnNlcnRlZGh0bWxzaGFyZWRydW50aW1lID0gcmVxdWlyZShcIi4uLy4uL3NoYXJlZC9saWIvc2VydmVyLWluc2VydGVkLWh0bWwuc2hhcmVkLXJ1bnRpbWVcIik7XHJcbmNvbnN0IF9yZWRpcmVjdCA9IHJlcXVpcmUoXCIuL3JlZGlyZWN0XCIpO1xyXG5jb25zdCBfbm90Zm91bmQgPSByZXF1aXJlKFwiLi9ub3QtZm91bmRcIik7XHJcbmNvbnN0IElOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRSA9IFN5bWJvbChcImludGVybmFsIGZvciB1cmxzZWFyY2hwYXJhbXMgcmVhZG9ubHlcIik7XHJcbmZ1bmN0aW9uIHJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKSB7XHJcbiAgICByZXR1cm4gbmV3IEVycm9yKFwiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMgY2Fubm90IGJlIG1vZGlmaWVkXCIpO1xyXG59XHJcbmNsYXNzIFJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zIHtcclxuICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xyXG4gICAgICAgIHJldHVybiB0aGlzW0lOVEVSTkFMX1VSTFNFQVJDSFBBUkFNU19JTlNUQU5DRV1bU3ltYm9sLml0ZXJhdG9yXSgpO1xyXG4gICAgfVxyXG4gICAgYXBwZW5kKCkge1xyXG4gICAgICAgIHRocm93IHJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IoKTtcclxuICAgIH1cclxuICAgIGRlbGV0ZSgpIHtcclxuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XHJcbiAgICB9XHJcbiAgICBzZXQoKSB7XHJcbiAgICAgICAgdGhyb3cgcmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvcigpO1xyXG4gICAgfVxyXG4gICAgc29ydCgpIHtcclxuICAgICAgICB0aHJvdyByZWFkb25seVVSTFNlYXJjaFBhcmFtc0Vycm9yKCk7XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3Rvcih1cmxTZWFyY2hQYXJhbXMpe1xyXG4gICAgICAgIHRoaXNbSU5URVJOQUxfVVJMU0VBUkNIUEFSQU1TX0lOU1RBTkNFXSA9IHVybFNlYXJjaFBhcmFtcztcclxuICAgICAgICB0aGlzLmVudHJpZXMgPSB1cmxTZWFyY2hQYXJhbXMuZW50cmllcy5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XHJcbiAgICAgICAgdGhpcy5mb3JFYWNoID0gdXJsU2VhcmNoUGFyYW1zLmZvckVhY2guYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xyXG4gICAgICAgIHRoaXMuZ2V0ID0gdXJsU2VhcmNoUGFyYW1zLmdldC5iaW5kKHVybFNlYXJjaFBhcmFtcyk7XHJcbiAgICAgICAgdGhpcy5nZXRBbGwgPSB1cmxTZWFyY2hQYXJhbXMuZ2V0QWxsLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcclxuICAgICAgICB0aGlzLmhhcyA9IHVybFNlYXJjaFBhcmFtcy5oYXMuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xyXG4gICAgICAgIHRoaXMua2V5cyA9IHVybFNlYXJjaFBhcmFtcy5rZXlzLmJpbmQodXJsU2VhcmNoUGFyYW1zKTtcclxuICAgICAgICB0aGlzLnZhbHVlcyA9IHVybFNlYXJjaFBhcmFtcy52YWx1ZXMuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xyXG4gICAgICAgIHRoaXMudG9TdHJpbmcgPSB1cmxTZWFyY2hQYXJhbXMudG9TdHJpbmcuYmluZCh1cmxTZWFyY2hQYXJhbXMpO1xyXG4gICAgICAgIHRoaXMuc2l6ZSA9IHVybFNlYXJjaFBhcmFtcy5zaXplO1xyXG4gICAgfVxyXG59XHJcbmZ1bmN0aW9uIHVzZVNlYXJjaFBhcmFtcygpIHtcclxuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlU2VhcmNoUGFyYW1zXCIpO1xyXG4gICAgY29uc3Qgc2VhcmNoUGFyYW1zID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5TZWFyY2hQYXJhbXNDb250ZXh0KTtcclxuICAgIC8vIEluIHRoZSBjYXNlIHdoZXJlIHRoaXMgaXMgYG51bGxgLCB0aGUgY29tcGF0IHR5cGVzIGFkZGVkIGluXHJcbiAgICAvLyBgbmV4dC1lbnYuZC50c2Agd2lsbCBhZGQgYSBuZXcgb3ZlcmxvYWQgdGhhdCBjaGFuZ2VzIHRoZSByZXR1cm4gdHlwZSB0b1xyXG4gICAgLy8gaW5jbHVkZSBgbnVsbGAuXHJcbiAgICBjb25zdCByZWFkb25seVNlYXJjaFBhcmFtcyA9ICgwLCBfcmVhY3QudXNlTWVtbykoKCk9PntcclxuICAgICAgICBpZiAoIXNlYXJjaFBhcmFtcykge1xyXG4gICAgICAgICAgICAvLyBXaGVuIHRoZSByb3V0ZXIgaXMgbm90IHJlYWR5IGluIHBhZ2VzLCB3ZSB3b24ndCBoYXZlIHRoZSBzZWFyY2ggcGFyYW1zXHJcbiAgICAgICAgICAgIC8vIGF2YWlsYWJsZS5cclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBuZXcgUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMoc2VhcmNoUGFyYW1zKTtcclxuICAgIH0sIFtcclxuICAgICAgICBzZWFyY2hQYXJhbXNcclxuICAgIF0pO1xyXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHtcclxuICAgICAgICAvLyBBc3luY0xvY2FsU3RvcmFnZSBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIHRoZSBjbGllbnQgYnVuZGxlLlxyXG4gICAgICAgIGNvbnN0IHsgYmFpbG91dFRvQ2xpZW50UmVuZGVyaW5nIH0gPSByZXF1aXJlKFwiLi9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmdcIik7XHJcbiAgICAgICAgaWYgKGJhaWxvdXRUb0NsaWVudFJlbmRlcmluZygpKSB7XHJcbiAgICAgICAgICAgIC8vIFRPRE8tQVBQOiBoYW5kbGUgZHluYW1pYyA9ICdmb3JjZS1zdGF0aWMnIGhlcmUgYW5kIG9uIHRoZSBjbGllbnRcclxuICAgICAgICAgICAgcmV0dXJuIHJlYWRvbmx5U2VhcmNoUGFyYW1zO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiByZWFkb25seVNlYXJjaFBhcmFtcztcclxufVxyXG5mdW5jdGlvbiB1c2VQYXRobmFtZSgpIHtcclxuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlUGF0aG5hbWVcIik7XHJcbiAgICAvLyBJbiB0aGUgY2FzZSB3aGVyZSB0aGlzIGlzIGBudWxsYCwgdGhlIGNvbXBhdCB0eXBlcyBhZGRlZCBpbiBgbmV4dC1lbnYuZC50c2BcclxuICAgIC8vIHdpbGwgYWRkIGEgbmV3IG92ZXJsb2FkIHRoYXQgY2hhbmdlcyB0aGUgcmV0dXJuIHR5cGUgdG8gaW5jbHVkZSBgbnVsbGAuXHJcbiAgICByZXR1cm4gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfaG9va3NjbGllbnRjb250ZXh0c2hhcmVkcnVudGltZS5QYXRobmFtZUNvbnRleHQpO1xyXG59XHJcbmZ1bmN0aW9uIHVzZVJvdXRlcigpIHtcclxuICAgICgwLCBfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IuY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IpKFwidXNlUm91dGVyXCIpO1xyXG4gICAgY29uc3Qgcm91dGVyID0gKDAsIF9yZWFjdC51c2VDb250ZXh0KShfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUuQXBwUm91dGVyQ29udGV4dCk7XHJcbiAgICBpZiAocm91dGVyID09PSBudWxsKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YXJpYW50IGV4cGVjdGVkIGFwcCByb3V0ZXIgdG8gYmUgbW91bnRlZFwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiByb3V0ZXI7XHJcbn1cclxuLy8gdGhpcyBmdW5jdGlvbiBwZXJmb3JtcyBhIGRlcHRoLWZpcnN0IHNlYXJjaCBvZiB0aGUgdHJlZSB0byBmaW5kIHRoZSBzZWxlY3RlZFxyXG4vLyBwYXJhbXNcclxuZnVuY3Rpb24gZ2V0U2VsZWN0ZWRQYXJhbXModHJlZSwgcGFyYW1zKSB7XHJcbiAgICBpZiAocGFyYW1zID09PSB2b2lkIDApIHBhcmFtcyA9IHt9O1xyXG4gICAgY29uc3QgcGFyYWxsZWxSb3V0ZXMgPSB0cmVlWzFdO1xyXG4gICAgZm9yIChjb25zdCBwYXJhbGxlbFJvdXRlIG9mIE9iamVjdC52YWx1ZXMocGFyYWxsZWxSb3V0ZXMpKXtcclxuICAgICAgICBjb25zdCBzZWdtZW50ID0gcGFyYWxsZWxSb3V0ZVswXTtcclxuICAgICAgICBjb25zdCBpc0R5bmFtaWNQYXJhbWV0ZXIgPSBBcnJheS5pc0FycmF5KHNlZ21lbnQpO1xyXG4gICAgICAgIGNvbnN0IHNlZ21lbnRWYWx1ZSA9IGlzRHluYW1pY1BhcmFtZXRlciA/IHNlZ21lbnRbMV0gOiBzZWdtZW50O1xyXG4gICAgICAgIGlmICghc2VnbWVudFZhbHVlIHx8IHNlZ21lbnRWYWx1ZS5zdGFydHNXaXRoKFwiX19QQUdFX19cIikpIGNvbnRpbnVlO1xyXG4gICAgICAgIC8vIEVuc3VyZSBjYXRjaEFsbCBhbmQgb3B0aW9uYWwgY2F0Y2hhbGwgYXJlIHR1cm5lZCBpbnRvIGFuIGFycmF5XHJcbiAgICAgICAgY29uc3QgaXNDYXRjaEFsbCA9IGlzRHluYW1pY1BhcmFtZXRlciAmJiAoc2VnbWVudFsyXSA9PT0gXCJjXCIgfHwgc2VnbWVudFsyXSA9PT0gXCJvY1wiKTtcclxuICAgICAgICBpZiAoaXNDYXRjaEFsbCkge1xyXG4gICAgICAgICAgICBwYXJhbXNbc2VnbWVudFswXV0gPSBzZWdtZW50WzFdLnNwbGl0KFwiL1wiKTtcclxuICAgICAgICB9IGVsc2UgaWYgKGlzRHluYW1pY1BhcmFtZXRlcikge1xyXG4gICAgICAgICAgICBwYXJhbXNbc2VnbWVudFswXV0gPSBzZWdtZW50WzFdO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwYXJhbXMgPSBnZXRTZWxlY3RlZFBhcmFtcyhwYXJhbGxlbFJvdXRlLCBwYXJhbXMpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHBhcmFtcztcclxufVxyXG5mdW5jdGlvbiB1c2VQYXJhbXMoKSB7XHJcbiAgICAoMCwgX2NsaWVudGhvb2tpbnNlcnZlcmNvbXBvbmVudGVycm9yLmNsaWVudEhvb2tJblNlcnZlckNvbXBvbmVudEVycm9yKShcInVzZVBhcmFtc1wiKTtcclxuICAgIGNvbnN0IGdsb2JhbExheW91dFJvdXRlciA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lLkdsb2JhbExheW91dFJvdXRlckNvbnRleHQpO1xyXG4gICAgY29uc3QgcGF0aFBhcmFtcyA9ICgwLCBfcmVhY3QudXNlQ29udGV4dCkoX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUuUGF0aFBhcmFtc0NvbnRleHQpO1xyXG4gICAgLy8gV2hlbiBpdCdzIHVuZGVyIGFwcCByb3V0ZXJcclxuICAgIGlmIChnbG9iYWxMYXlvdXRSb3V0ZXIpIHtcclxuICAgICAgICByZXR1cm4gZ2V0U2VsZWN0ZWRQYXJhbXMoZ2xvYmFsTGF5b3V0Um91dGVyLnRyZWUpO1xyXG4gICAgfVxyXG4gICAgLy8gV2hlbiBpdCdzIHVuZGVyIGNsaWVudCBzaWRlIHBhZ2VzIHJvdXRlclxyXG4gICAgcmV0dXJuIHBhdGhQYXJhbXM7XHJcbn1cclxuLy8gVE9ETy1BUFA6IGhhbmRsZSBwYXJhbGxlbCByb3V0ZXNcclxuLyoqXHJcbiAqIEdldCB0aGUgY2Fub25pY2FsIHBhcmFtZXRlcnMgZnJvbSB0aGUgY3VycmVudCBsZXZlbCB0byB0aGUgbGVhZiBub2RlLlxyXG4gKi8gZnVuY3Rpb24gZ2V0U2VsZWN0ZWRMYXlvdXRTZWdtZW50UGF0aCh0cmVlLCBwYXJhbGxlbFJvdXRlS2V5LCBmaXJzdCwgc2VnbWVudFBhdGgpIHtcclxuICAgIGlmIChmaXJzdCA9PT0gdm9pZCAwKSBmaXJzdCA9IHRydWU7XHJcbiAgICBpZiAoc2VnbWVudFBhdGggPT09IHZvaWQgMCkgc2VnbWVudFBhdGggPSBbXTtcclxuICAgIGxldCBub2RlO1xyXG4gICAgaWYgKGZpcnN0KSB7XHJcbiAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlZCBwYXJhbGxlbCByb3V0ZSBrZXkgb24gdGhlIGZpcnN0IHBhcmFsbGVsIHJvdXRlXHJcbiAgICAgICAgbm9kZSA9IHRyZWVbMV1bcGFyYWxsZWxSb3V0ZUtleV07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIEFmdGVyIGZpcnN0IHBhcmFsbGVsIHJvdXRlIHByZWZlciBjaGlsZHJlbiwgaWYgdGhlcmUncyBubyBjaGlsZHJlbiBwaWNrIHRoZSBmaXJzdCBwYXJhbGxlbCByb3V0ZS5cclxuICAgICAgICBjb25zdCBwYXJhbGxlbFJvdXRlcyA9IHRyZWVbMV07XHJcbiAgICAgICAgdmFyIF9wYXJhbGxlbFJvdXRlc19jaGlsZHJlbjtcclxuICAgICAgICBub2RlID0gKF9wYXJhbGxlbFJvdXRlc19jaGlsZHJlbiA9IHBhcmFsbGVsUm91dGVzLmNoaWxkcmVuKSAhPSBudWxsID8gX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuIDogT2JqZWN0LnZhbHVlcyhwYXJhbGxlbFJvdXRlcylbMF07XHJcbiAgICB9XHJcbiAgICBpZiAoIW5vZGUpIHJldHVybiBzZWdtZW50UGF0aDtcclxuICAgIGNvbnN0IHNlZ21lbnQgPSBub2RlWzBdO1xyXG4gICAgY29uc3Qgc2VnbWVudFZhbHVlID0gKDAsIF9nZXRzZWdtZW50dmFsdWUuZ2V0U2VnbWVudFZhbHVlKShzZWdtZW50KTtcclxuICAgIGlmICghc2VnbWVudFZhbHVlIHx8IHNlZ21lbnRWYWx1ZS5zdGFydHNXaXRoKFwiX19QQUdFX19cIikpIHJldHVybiBzZWdtZW50UGF0aDtcclxuICAgIHNlZ21lbnRQYXRoLnB1c2goc2VnbWVudFZhbHVlKTtcclxuICAgIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKG5vZGUsIHBhcmFsbGVsUm91dGVLZXksIGZhbHNlLCBzZWdtZW50UGF0aCk7XHJcbn1cclxuZnVuY3Rpb24gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cyhwYXJhbGxlbFJvdXRlS2V5KSB7XHJcbiAgICBpZiAocGFyYWxsZWxSb3V0ZUtleSA9PT0gdm9pZCAwKSBwYXJhbGxlbFJvdXRlS2V5ID0gXCJjaGlsZHJlblwiO1xyXG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzXCIpO1xyXG4gICAgY29uc3QgeyB0cmVlIH0gPSAoMCwgX3JlYWN0LnVzZUNvbnRleHQpKF9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZS5MYXlvdXRSb3V0ZXJDb250ZXh0KTtcclxuICAgIHJldHVybiBnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoKHRyZWUsIHBhcmFsbGVsUm91dGVLZXkpO1xyXG59XHJcbmZ1bmN0aW9uIHVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudChwYXJhbGxlbFJvdXRlS2V5KSB7XHJcbiAgICBpZiAocGFyYWxsZWxSb3V0ZUtleSA9PT0gdm9pZCAwKSBwYXJhbGxlbFJvdXRlS2V5ID0gXCJjaGlsZHJlblwiO1xyXG4gICAgKDAsIF9jbGllbnRob29raW5zZXJ2ZXJjb21wb25lbnRlcnJvci5jbGllbnRIb29rSW5TZXJ2ZXJDb21wb25lbnRFcnJvcikoXCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRcIik7XHJcbiAgICBjb25zdCBzZWxlY3RlZExheW91dFNlZ21lbnRzID0gdXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50cyhwYXJhbGxlbFJvdXRlS2V5KTtcclxuICAgIGlmIChzZWxlY3RlZExheW91dFNlZ21lbnRzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHNlbGVjdGVkTGF5b3V0U2VnbWVudHNbMF07XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPW5hdmlnYXRpb24uanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwibW9kdWxlIiwiUmVhZG9ubHlVUkxTZWFyY2hQYXJhbXMiLCJ1c2VTZWFyY2hQYXJhbXMiLCJ1c2VQYXRobmFtZSIsIlNlcnZlckluc2VydGVkSFRNTENvbnRleHQiLCJ1c2VTZXJ2ZXJJbnNlcnRlZEhUTUwiLCJ1c2VSb3V0ZXIiLCJ1c2VQYXJhbXMiLCJ1c2VTZWxlY3RlZExheW91dFNlZ21lbnRzIiwidXNlU2VsZWN0ZWRMYXlvdXRTZWdtZW50IiwicmVkaXJlY3QiLCJwZXJtYW5lbnRSZWRpcmVjdCIsIlJlZGlyZWN0VHlwZSIsIm5vdEZvdW5kIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX3NlcnZlcmluc2VydGVkaHRtbHNoYXJlZHJ1bnRpbWUiLCJfcmVkaXJlY3QiLCJfbm90Zm91bmQiLCJfcmVhY3QiLCJyZXF1aXJlIiwiX2FwcHJvdXRlcmNvbnRleHRzaGFyZWRydW50aW1lIiwiX2hvb2tzY2xpZW50Y29udGV4dHNoYXJlZHJ1bnRpbWUiLCJfY2xpZW50aG9va2luc2VydmVyY29tcG9uZW50ZXJyb3IiLCJfZ2V0c2VnbWVudHZhbHVlIiwiSU5URVJOQUxfVVJMU0VBUkNIUEFSQU1TX0lOU1RBTkNFIiwiU3ltYm9sIiwicmVhZG9ubHlVUkxTZWFyY2hQYXJhbXNFcnJvciIsIkVycm9yIiwiaXRlcmF0b3IiLCJhcHBlbmQiLCJkZWxldGUiLCJzZXQiLCJzb3J0IiwiY29uc3RydWN0b3IiLCJ1cmxTZWFyY2hQYXJhbXMiLCJlbnRyaWVzIiwiYmluZCIsImZvckVhY2giLCJnZXRBbGwiLCJoYXMiLCJrZXlzIiwidmFsdWVzIiwidG9TdHJpbmciLCJzaXplIiwiY2xpZW50SG9va0luU2VydmVyQ29tcG9uZW50RXJyb3IiLCJzZWFyY2hQYXJhbXMiLCJ1c2VDb250ZXh0IiwiU2VhcmNoUGFyYW1zQ29udGV4dCIsInJlYWRvbmx5U2VhcmNoUGFyYW1zIiwidXNlTWVtbyIsImJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyIsIlBhdGhuYW1lQ29udGV4dCIsInJvdXRlciIsIkFwcFJvdXRlckNvbnRleHQiLCJnZXRTZWxlY3RlZFBhcmFtcyIsInRyZWUiLCJwYXJhbXMiLCJwYXJhbGxlbFJvdXRlcyIsInBhcmFsbGVsUm91dGUiLCJzZWdtZW50IiwiaXNEeW5hbWljUGFyYW1ldGVyIiwiQXJyYXkiLCJpc0FycmF5Iiwic2VnbWVudFZhbHVlIiwic3RhcnRzV2l0aCIsImlzQ2F0Y2hBbGwiLCJzcGxpdCIsImdsb2JhbExheW91dFJvdXRlciIsIkdsb2JhbExheW91dFJvdXRlckNvbnRleHQiLCJwYXRoUGFyYW1zIiwiUGF0aFBhcmFtc0NvbnRleHQiLCJnZXRTZWxlY3RlZExheW91dFNlZ21lbnRQYXRoIiwicGFyYWxsZWxSb3V0ZUtleSIsImZpcnN0Iiwic2VnbWVudFBhdGgiLCJub2RlIiwiX3BhcmFsbGVsUm91dGVzX2NoaWxkcmVuIiwiY2hpbGRyZW4iLCJnZXRTZWdtZW50VmFsdWUiLCJwdXNoIiwiTGF5b3V0Um91dGVyQ29udGV4dCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJsZW5ndGgiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js": /*!************************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! \************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((error == null ? void 0 : error.digest) === \"NEXT_NOT_FOUND\") {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\r\n * Handles reset of the error boundary when a navigation happens.\r\n * Ensures the error boundary does not stay enabled when navigating to a new page.\r\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\r\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\r\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }), true && /*#__PURE__*/ _react.default.createElement(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }), this.props.notFoundStyles, this.props.notFound);\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n return notFound ? /*#__PURE__*/ _react.default.createElement(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound\n }, children) : /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, children);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoicURBRWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILG9EQUFtRDtJQUMvQ0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDJCQUEyQkMsbUJBQU9BLENBQUMsbUhBQXlDO0FBQ2xGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRix5QkFBeUJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDdkUsTUFBTUcsY0FBY0gsbUJBQU9BLENBQUMsb0ZBQWM7QUFDMUMsTUFBTUksOEJBQThCSCxPQUFPSSxPQUFPLENBQUNDLFNBQVM7SUFDeEQsT0FBT0MseUJBQXlCQyxLQUFLLEVBQUU7UUFDbkMsSUFBSSxDQUFDQSxTQUFTLE9BQU8sS0FBSyxJQUFJQSxNQUFNQyxNQUFNLE1BQU0sa0JBQWtCO1lBQzlELE9BQU87Z0JBQ0hDLG1CQUFtQjtZQUN2QjtRQUNKO1FBQ0EsbUNBQW1DO1FBQ25DLE1BQU1GO0lBQ1Y7SUFDQSxPQUFPRyx5QkFBeUJDLEtBQUssRUFBRUMsS0FBSyxFQUFFO1FBQzFDOzs7OztLQUtILEdBQUcsSUFBSUQsTUFBTUUsUUFBUSxLQUFLRCxNQUFNRSxnQkFBZ0IsSUFBSUYsTUFBTUgsaUJBQWlCLEVBQUU7WUFDdEUsT0FBTztnQkFDSEEsbUJBQW1CO2dCQUNuQkssa0JBQWtCSCxNQUFNRSxRQUFRO1lBQ3BDO1FBQ0o7UUFDQSxPQUFPO1lBQ0hKLG1CQUFtQkcsTUFBTUgsaUJBQWlCO1lBQzFDSyxrQkFBa0JILE1BQU1FLFFBQVE7UUFDcEM7SUFDSjtJQUNBRSxTQUFTO1FBQ0wsSUFBSSxJQUFJLENBQUNILEtBQUssQ0FBQ0gsaUJBQWlCLEVBQUU7WUFDOUIsT0FBTyxXQUFXLEdBQUdULE9BQU9JLE9BQU8sQ0FBQ1ksYUFBYSxDQUFDaEIsT0FBT0ksT0FBTyxDQUFDYSxRQUFRLEVBQUUsTUFBTSxXQUFXLEdBQUdqQixPQUFPSSxPQUFPLENBQUNZLGFBQWEsQ0FBQyxRQUFRO2dCQUNoSUUsTUFBTTtnQkFDTkMsU0FBUztZQUNiLElBQUlDLEtBQXNDLElBQUksV0FBVyxHQUFHcEIsT0FBT0ksT0FBTyxDQUFDWSxhQUFhLENBQUMsUUFBUTtnQkFDN0ZFLE1BQU07Z0JBQ05DLFNBQVM7WUFDYixJQUFJLElBQUksQ0FBQ1IsS0FBSyxDQUFDWSxjQUFjLEVBQUUsSUFBSSxDQUFDWixLQUFLLENBQUNhLFFBQVE7UUFDdEQ7UUFDQSxPQUFPLElBQUksQ0FBQ2IsS0FBSyxDQUFDYyxRQUFRO0lBQzlCO0lBQ0FDLFlBQVlmLEtBQUssQ0FBQztRQUNkLEtBQUssQ0FBQ0E7UUFDTixJQUFJLENBQUNDLEtBQUssR0FBRztZQUNUSCxtQkFBbUIsQ0FBQyxDQUFDRSxNQUFNZ0IsVUFBVTtZQUNyQ2Isa0JBQWtCSCxNQUFNRSxRQUFRO1FBQ3BDO0lBQ0o7QUFDSjtBQUNBLFNBQVNoQixpQkFBaUIrQixLQUFLO0lBQzNCLElBQUksRUFBRUosUUFBUSxFQUFFRCxjQUFjLEVBQUVJLFVBQVUsRUFBRUYsUUFBUSxFQUFFLEdBQUdHO0lBQ3pELE1BQU1mLFdBQVcsQ0FBQyxHQUFHWCxZQUFZMkIsV0FBVztJQUM1QyxPQUFPTCxXQUFXLFdBQVcsR0FBR3hCLE9BQU9JLE9BQU8sQ0FBQ1ksYUFBYSxDQUFDYix1QkFBdUI7UUFDaEZVLFVBQVVBO1FBQ1ZXLFVBQVVBO1FBQ1ZELGdCQUFnQkE7UUFDaEJJLFlBQVlBO0lBQ2hCLEdBQUdGLFlBQVksV0FBVyxHQUFHekIsT0FBT0ksT0FBTyxDQUFDWSxhQUFhLENBQUNoQixPQUFPSSxPQUFPLENBQUNhLFFBQVEsRUFBRSxNQUFNUTtBQUM3RjtBQUVBLElBQUksQ0FBQyxPQUFPaEMsUUFBUVcsT0FBTyxLQUFLLGNBQWUsT0FBT1gsUUFBUVcsT0FBTyxLQUFLLFlBQVlYLFFBQVFXLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1gsUUFBUVcsT0FBTyxDQUFDMEIsVUFBVSxLQUFLLGFBQWE7SUFDckt2QyxPQUFPQyxjQUFjLENBQUNDLFFBQVFXLE9BQU8sRUFBRSxjQUFjO1FBQUVWLE9BQU87SUFBSztJQUNuRUgsT0FBT3dDLE1BQU0sQ0FBQ3RDLFFBQVFXLE9BQU8sRUFBRVg7SUFDL0J1QyxPQUFPdkMsT0FBTyxHQUFHQSxRQUFRVyxPQUFPO0FBQ2xDLEVBRUEsOENBQThDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtYm91bmRhcnkuanM/MzJjOSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcclxuXHJcblwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJOb3RGb3VuZEJvdW5kYXJ5XCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBOb3RGb3VuZEJvdW5kYXJ5O1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcclxuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xyXG5jb25zdCBfbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuL25hdmlnYXRpb25cIik7XHJcbmNsYXNzIE5vdEZvdW5kRXJyb3JCb3VuZGFyeSBleHRlbmRzIF9yZWFjdC5kZWZhdWx0LkNvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSB7XHJcbiAgICAgICAgaWYgKChlcnJvciA9PSBudWxsID8gdm9pZCAwIDogZXJyb3IuZGlnZXN0KSA9PT0gXCJORVhUX05PVF9GT1VORFwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogdHJ1ZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBSZS10aHJvdyBpZiBlcnJvciBpcyBub3QgZm9yIDQwNFxyXG4gICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgfVxyXG4gICAgc3RhdGljIGdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyhwcm9wcywgc3RhdGUpIHtcclxuICAgICAgICAvKipcclxuICAgICAqIEhhbmRsZXMgcmVzZXQgb2YgdGhlIGVycm9yIGJvdW5kYXJ5IHdoZW4gYSBuYXZpZ2F0aW9uIGhhcHBlbnMuXHJcbiAgICAgKiBFbnN1cmVzIHRoZSBlcnJvciBib3VuZGFyeSBkb2VzIG5vdCBzdGF5IGVuYWJsZWQgd2hlbiBuYXZpZ2F0aW5nIHRvIGEgbmV3IHBhZ2UuXHJcbiAgICAgKiBBcHByb2FjaCBvZiBzZXRTdGF0ZSBpbiByZW5kZXIgaXMgc2FmZSBhcyBpdCBjaGVja3MgdGhlIHByZXZpb3VzIHBhdGhuYW1lIGFuZCB0aGVuIG92ZXJyaWRlc1xyXG4gICAgICogaXQgYXMgb3V0bGluZWQgaW4gaHR0cHM6Ly9yZWFjdC5kZXYvcmVmZXJlbmNlL3JlYWN0L3VzZVN0YXRlI3N0b3JpbmctaW5mb3JtYXRpb24tZnJvbS1wcmV2aW91cy1yZW5kZXJzXHJcbiAgICAgKi8gaWYgKHByb3BzLnBhdGhuYW1lICE9PSBzdGF0ZS5wcmV2aW91c1BhdGhuYW1lICYmIHN0YXRlLm5vdEZvdW5kVHJpZ2dlcmVkKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogZmFsc2UsXHJcbiAgICAgICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogc3RhdGUubm90Rm91bmRUcmlnZ2VyZWQsXHJcbiAgICAgICAgICAgIHByZXZpb3VzUGF0aG5hbWU6IHByb3BzLnBhdGhuYW1lXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIHJlbmRlcigpIHtcclxuICAgICAgICBpZiAodGhpcy5zdGF0ZS5ub3RGb3VuZFRyaWdnZXJlZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuZGVmYXVsdC5jcmVhdGVFbGVtZW50KF9yZWFjdC5kZWZhdWx0LkZyYWdtZW50LCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwicm9ib3RzXCIsXHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIm5vaW5kZXhcIlxyXG4gICAgICAgICAgICB9KSwgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09IFwiZGV2ZWxvcG1lbnRcIiAmJiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoXCJtZXRhXCIsIHtcclxuICAgICAgICAgICAgICAgIG5hbWU6IFwibmV4dC1lcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJub3QtZm91bmRcIlxyXG4gICAgICAgICAgICB9KSwgdGhpcy5wcm9wcy5ub3RGb3VuZFN0eWxlcywgdGhpcy5wcm9wcy5ub3RGb3VuZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLnByb3BzLmNoaWxkcmVuO1xyXG4gICAgfVxyXG4gICAgY29uc3RydWN0b3IocHJvcHMpe1xyXG4gICAgICAgIHN1cGVyKHByb3BzKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICBub3RGb3VuZFRyaWdnZXJlZDogISFwcm9wcy5hc05vdEZvdW5kLFxyXG4gICAgICAgICAgICBwcmV2aW91c1BhdGhuYW1lOiBwcm9wcy5wYXRobmFtZVxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gTm90Rm91bmRCb3VuZGFyeShwYXJhbSkge1xyXG4gICAgbGV0IHsgbm90Rm91bmQsIG5vdEZvdW5kU3R5bGVzLCBhc05vdEZvdW5kLCBjaGlsZHJlbiB9ID0gcGFyYW07XHJcbiAgICBjb25zdCBwYXRobmFtZSA9ICgwLCBfbmF2aWdhdGlvbi51c2VQYXRobmFtZSkoKTtcclxuICAgIHJldHVybiBub3RGb3VuZCA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmRlZmF1bHQuY3JlYXRlRWxlbWVudChOb3RGb3VuZEVycm9yQm91bmRhcnksIHtcclxuICAgICAgICBwYXRobmFtZTogcGF0aG5hbWUsXHJcbiAgICAgICAgbm90Rm91bmQ6IG5vdEZvdW5kLFxyXG4gICAgICAgIG5vdEZvdW5kU3R5bGVzOiBub3RGb3VuZFN0eWxlcyxcclxuICAgICAgICBhc05vdEZvdW5kOiBhc05vdEZvdW5kXHJcbiAgICB9LCBjaGlsZHJlbikgOiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX3JlYWN0LmRlZmF1bHQuRnJhZ21lbnQsIG51bGwsIGNoaWxkcmVuKTtcclxufVxyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90LWZvdW5kLWJvdW5kYXJ5LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJOb3RGb3VuZEJvdW5kYXJ5IiwiX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfbmF2aWdhdGlvbiIsIk5vdEZvdW5kRXJyb3JCb3VuZGFyeSIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJlcnJvciIsImRpZ2VzdCIsIm5vdEZvdW5kVHJpZ2dlcmVkIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwicHJvcHMiLCJzdGF0ZSIsInBhdGhuYW1lIiwicHJldmlvdXNQYXRobmFtZSIsInJlbmRlciIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIm5hbWUiLCJjb250ZW50IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwibm90Rm91bmRTdHlsZXMiLCJub3RGb3VuZCIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiLCJhc05vdEZvdW5kIiwicGFyYW0iLCJ1c2VQYXRobmFtZSIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/not-found.js": /*!***************************************************************!*\ !*** ./node_modules/next/dist/client/components/not-found.js ***! \***************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n notFound: function() {\n return notFound;\n },\n isNotFoundError: function() {\n return isNotFoundError;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n return (error == null ? void 0 : error.digest) === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsVUFBVTtRQUNOLE9BQU9BO0lBQ1g7SUFDQUMsaUJBQWlCO1FBQ2IsT0FBT0E7SUFDWDtBQUNKO0FBQ0EsTUFBTU8sdUJBQXVCO0FBQzdCLFNBQVNSO0lBQ0wsNENBQTRDO0lBQzVDLE1BQU1TLFFBQVEsSUFBSUMsTUFBTUY7SUFDeEJDLE1BQU1FLE1BQU0sR0FBR0g7SUFDZixNQUFNQztBQUNWO0FBQ0EsU0FBU1IsZ0JBQWdCUSxLQUFLO0lBQzFCLE9BQU8sQ0FBQ0EsU0FBUyxPQUFPLEtBQUssSUFBSUEsTUFBTUUsTUFBTSxNQUFNSDtBQUN2RDtBQUVBLElBQUksQ0FBQyxPQUFPWCxRQUFRZSxPQUFPLEtBQUssY0FBZSxPQUFPZixRQUFRZSxPQUFPLEtBQUssWUFBWWYsUUFBUWUsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZixRQUFRZSxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLbEIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRZSxPQUFPLEVBQUUsY0FBYztRQUFFZCxPQUFPO0lBQUs7SUFDbkVILE9BQU9tQixNQUFNLENBQUNqQixRQUFRZSxPQUFPLEVBQUVmO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFlLE9BQU87QUFDbEMsRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcz80MjAzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcclxuICAgIG5vdEZvdW5kOiBudWxsLFxyXG4gICAgaXNOb3RGb3VuZEVycm9yOiBudWxsXHJcbn0pO1xyXG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XHJcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcclxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgICAgIGdldDogYWxsW25hbWVdXHJcbiAgICB9KTtcclxufVxyXG5fZXhwb3J0KGV4cG9ydHMsIHtcclxuICAgIG5vdEZvdW5kOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gbm90Rm91bmQ7XHJcbiAgICB9LFxyXG4gICAgaXNOb3RGb3VuZEVycm9yOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gaXNOb3RGb3VuZEVycm9yO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgTk9UX0ZPVU5EX0VSUk9SX0NPREUgPSBcIk5FWFRfTk9UX0ZPVU5EXCI7XHJcbmZ1bmN0aW9uIG5vdEZvdW5kKCkge1xyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXRocm93LWxpdGVyYWxcclxuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKE5PVF9GT1VORF9FUlJPUl9DT0RFKTtcclxuICAgIGVycm9yLmRpZ2VzdCA9IE5PVF9GT1VORF9FUlJPUl9DT0RFO1xyXG4gICAgdGhyb3cgZXJyb3I7XHJcbn1cclxuZnVuY3Rpb24gaXNOb3RGb3VuZEVycm9yKGVycm9yKSB7XHJcbiAgICByZXR1cm4gKGVycm9yID09IG51bGwgPyB2b2lkIDAgOiBlcnJvci5kaWdlc3QpID09PSBOT1RfRk9VTkRfRVJST1JfQ09ERTtcclxufVxyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9bm90LWZvdW5kLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIm5vdEZvdW5kIiwiaXNOb3RGb3VuZEVycm9yIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiTk9UX0ZPVU5EX0VSUk9SX0NPREUiLCJlcnJvciIsIkVycm9yIiwiZGlnZXN0IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/promise-queue.js": /*!*******************************************************************!*\ !*** ./node_modules/next/dist/client/components/promise-queue.js ***! \*******************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/*\r\n This is a simple promise queue that allows you to limit the number of concurrent promises\r\n that are running at any given time. It's used to limit the number of concurrent\r\n prefetch requests that are being made to the server but could be used for other\r\n things as well.\r\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(ssr)/./node_modules/@swc/helpers/cjs/_class_private_field_loose_base.cjs\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(ssr)/./node_modules/@swc/helpers/cjs/_class_private_field_loose_key.cjs\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0EsR0FBZ0I7QUFDaEJBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCxnREFBK0M7SUFDM0NJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQyxrQ0FBa0NDLG1CQUFPQSxDQUFDLGlJQUFnRDtBQUNoRyxNQUFNQyxpQ0FBaUNELG1CQUFPQSxDQUFDLCtIQUErQztBQUM5RixJQUFJRSxrQkFBa0IsV0FBVyxHQUFHRCwrQkFBK0JFLENBQUMsQ0FBQyxvQkFBb0JDLGdCQUFnQixXQUFXLEdBQUdILCtCQUErQkUsQ0FBQyxDQUFDLGtCQUFrQkUsU0FBUyxXQUFXLEdBQUdKLCtCQUErQkUsQ0FBQyxDQUFDLFdBQVdHLGVBQWUsV0FBVyxHQUFHTCwrQkFBK0JFLENBQUMsQ0FBQztBQUMzUyxNQUFNTDtJQUNGUyxRQUFRQyxTQUFTLEVBQUU7UUFDZixJQUFJQztRQUNKLElBQUlDO1FBQ0osTUFBTUMsY0FBYyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1lBQ3RDTCxjQUFjSTtZQUNkSCxhQUFhSTtRQUNqQjtRQUNBLE1BQU1DLE9BQU87WUFDVCxJQUFJO2dCQUNBaEIsZ0NBQWdDSSxDQUFDLENBQUMsSUFBSSxFQUFFQyxjQUFjLENBQUNBLGNBQWM7Z0JBQ3JFLE1BQU1ZLFNBQVMsTUFBTVI7Z0JBQ3JCQyxZQUFZTztZQUNoQixFQUFFLE9BQU9DLE9BQU87Z0JBQ1pQLFdBQVdPO1lBQ2YsU0FBUztnQkFDTGxCLGdDQUFnQ0ksQ0FBQyxDQUFDLElBQUksRUFBRUMsY0FBYyxDQUFDQSxjQUFjO2dCQUNyRUwsZ0NBQWdDSSxDQUFDLENBQUMsSUFBSSxFQUFFRyxhQUFhLENBQUNBLGFBQWE7WUFDdkU7UUFDSjtRQUNBLE1BQU1ZLGdCQUFn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cyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9wcm9taXNlLXF1ZXVlLmpzPzgxNjciXSwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICAgIFRoaXMgaXMgYSBzaW1wbGUgcHJvbWlzZSBxdWV1ZSB0aGF0IGFsbG93cyB5b3UgdG8gbGltaXQgdGhlIG51bWJlciBvZiBjb25jdXJyZW50IHByb21pc2VzXHJcbiAgICB0aGF0IGFyZSBydW5uaW5nIGF0IGFueSBnaXZlbiB0aW1lLiBJdCdzIHVzZWQgdG8gbGltaXQgdGhlIG51bWJlciBvZiBjb25jdXJyZW50XHJcbiAgICBwcmVmZXRjaCByZXF1ZXN0cyB0aGF0IGFyZSBiZWluZyBtYWRlIHRvIHRoZSBzZXJ2ZXIgYnV0IGNvdWxkIGJlIHVzZWQgZm9yIG90aGVyXHJcbiAgICB0aGluZ3MgYXMgd2VsbC5cclxuKi8gXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIlByb21pc2VRdWV1ZVwiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gUHJvbWlzZVF1ZXVlO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlXCIpO1xyXG5jb25zdCBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5XCIpO1xyXG52YXIgX21heENvbmN1cnJlbmN5ID0gLyojX19QVVJFX18qLyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuXyhcIl9tYXhDb25jdXJyZW5jeVwiKSwgX3J1bm5pbmdDb3VudCA9IC8qI19fUFVSRV9fKi8gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2Vfa2V5Ll8oXCJfcnVubmluZ0NvdW50XCIpLCBfcXVldWUgPSAvKiNfX1BVUkVfXyovIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5fKFwiX3F1ZXVlXCIpLCBfcHJvY2Vzc05leHQgPSAvKiNfX1BVUkVfXyovIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5fKFwiX3Byb2Nlc3NOZXh0XCIpO1xyXG5jbGFzcyBQcm9taXNlUXVldWUge1xyXG4gICAgZW5xdWV1ZShwcm9taXNlRm4pIHtcclxuICAgICAgICBsZXQgdGFza1Jlc29sdmU7XHJcbiAgICAgICAgbGV0IHRhc2tSZWplY3Q7XHJcbiAgICAgICAgY29uc3QgdGFza1Byb21pc2UgPSBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KT0+e1xyXG4gICAgICAgICAgICB0YXNrUmVzb2x2ZSA9IHJlc29sdmU7XHJcbiAgICAgICAgICAgIHRhc2tSZWplY3QgPSByZWplY3Q7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgY29uc3QgdGFzayA9IGFzeW5jICgpPT57XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3J1bm5pbmdDb3VudClbX3J1bm5pbmdDb3VudF0rKztcclxuICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHByb21pc2VGbigpO1xyXG4gICAgICAgICAgICAgICAgdGFza1Jlc29sdmUocmVzdWx0KTtcclxuICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIHRhc2tSZWplY3QoZXJyb3IpO1xyXG4gICAgICAgICAgICB9IGZpbmFsbHl7XHJcbiAgICAgICAgICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3J1bm5pbmdDb3VudClbX3J1bm5pbmdDb3VudF0tLTtcclxuICAgICAgICAgICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcHJvY2Vzc05leHQpW19wcm9jZXNzTmV4dF0oKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZW5xdWV1ZVJlc3VsdCA9IHtcclxuICAgICAgICAgICAgcHJvbWlzZUZuOiB0YXNrUHJvbWlzZSxcclxuICAgICAgICAgICAgdGFza1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgLy8gd29uZGVyIGlmIHdlIHNob3VsZCB0YWtlIGEgTElGTyBhcHByb2FjaCBoZXJlXHJcbiAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5wdXNoKGVucXVldWVSZXN1bHQpO1xyXG4gICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcHJvY2Vzc05leHQpW19wcm9jZXNzTmV4dF0oKTtcclxuICAgICAgICByZXR1cm4gdGFza1Byb21pc2U7XHJcbiAgICB9XHJcbiAgICBidW1wKHByb21pc2VGbikge1xyXG4gICAgICAgIGNvbnN0IGluZGV4ID0gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5maW5kSW5kZXgoKGl0ZW0pPT5pdGVtLnByb21pc2VGbiA9PT0gcHJvbWlzZUZuKTtcclxuICAgICAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICAgICAgICBjb25zdCBidW1wZWRJdGVtID0gX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5zcGxpY2UoaW5kZXgsIDEpWzBdO1xyXG4gICAgICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3F1ZXVlKVtfcXVldWVdLnVuc2hpZnQoYnVtcGVkSXRlbSk7XHJcbiAgICAgICAgICAgIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcHJvY2Vzc05leHQpW19wcm9jZXNzTmV4dF0odHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgY29uc3RydWN0b3IobWF4Q29uY3VycmVuY3kgPSA1KXtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgX3Byb2Nlc3NOZXh0LCB7XHJcbiAgICAgICAgICAgIHZhbHVlOiBwcm9jZXNzTmV4dFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBfbWF4Q29uY3VycmVuY3ksIHtcclxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcclxuICAgICAgICB9KTtcclxuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgX3J1bm5pbmdDb3VudCwge1xyXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcclxuICAgICAgICAgICAgdmFsdWU6IHZvaWQgMFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBfcXVldWUsIHtcclxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXHJcbiAgICAgICAgICAgIHZhbHVlOiB2b2lkIDBcclxuICAgICAgICB9KTtcclxuICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX21heENvbmN1cnJlbmN5KVtfbWF4Q29uY3VycmVuY3ldID0gbWF4Q29uY3VycmVuY3k7XHJcbiAgICAgICAgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9ydW5uaW5nQ291bnQpW19ydW5uaW5nQ291bnRdID0gMDtcclxuICAgICAgICBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3F1ZXVlKVtfcXVldWVdID0gW107XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gcHJvY2Vzc05leHQoZm9yY2VkKSB7XHJcbiAgICBpZiAoZm9yY2VkID09PSB2b2lkIDApIGZvcmNlZCA9IGZhbHNlO1xyXG4gICAgaWYgKChfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX3J1bm5pbmdDb3VudClbX3J1bm5pbmdDb3VudF0gPCBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLl8odGhpcywgX21heENvbmN1cnJlbmN5KVtfbWF4Q29uY3VycmVuY3ldIHx8IGZvcmNlZCkgJiYgX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5fKHRoaXMsIF9xdWV1ZSlbX3F1ZXVlXS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgdmFyIF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0O1xyXG4gICAgICAgIChfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlX19xdWV1ZV9zaGlmdCA9IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UuXyh0aGlzLCBfcXVldWUpW19xdWV1ZV0uc2hpZnQoKSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0LnRhc2soKTtcclxuICAgIH1cclxufVxyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9cHJvbWlzZS1xdWV1ZS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiUHJvbWlzZVF1ZXVlIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSIsInJlcXVpcmUiLCJfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkiLCJfbWF4Q29uY3VycmVuY3kiLCJfIiwiX3J1bm5pbmdDb3VudCIsIl9xdWV1ZSIsIl9wcm9jZXNzTmV4dCIsImVucXVldWUiLCJwcm9taXNlRm4iLCJ0YXNrUmVzb2x2ZSIsInRhc2tSZWplY3QiLCJ0YXNrUHJvbWlzZSIsIlByb21pc2UiLCJyZXNvbHZlIiwicmVqZWN0IiwidGFzayIsInJlc3VsdCIsImVycm9yIiwiZW5xdWV1ZVJlc3VsdCIsInB1c2giLCJidW1wIiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJpdGVtIiwiYnVtcGVkSXRlbSIsInNwbGljZSIsInVuc2hpZnQiLCJjb25zdHJ1Y3RvciIsIm1heENvbmN1cnJlbmN5IiwicHJvY2Vzc05leHQiLCJ3cml0YWJsZSIsImZvcmNlZCIsImxlbmd0aCIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2VfX3F1ZXVlX3NoaWZ0Iiwic2hpZnQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/promise-queue.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js": /*!*******************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js ***! \*******************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _formatwebpackmessages = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../dev/error-overlay/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/dev/error-overlay/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _erroroverlayreducer = __webpack_require__(/*! ./internal/error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _parseStack = __webpack_require__(/*! ./internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _ReactDevOverlay = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./internal/ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js\"));\nconst _useerrorhandler = __webpack_require__(/*! ./internal/helpers/use-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-error-handler.js\");\nconst _usewebsocket = __webpack_require__(/*! ./internal/helpers/use-websocket */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-websocket.js\");\nconst _parsecomponentstack = __webpack_require__(/*! ./internal/helpers/parse-component-stack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parse-component-stack.js\");\nconst _hotreloadertypes = __webpack_require__(/*! ../../../server/dev/hot-reloader-types */ \"(ssr)/./node_modules/next/dist/server/dev/hot-reloader-types.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, hasUpdates) {\n dispatcher.onBuildOk();\n if (hasUpdates) {\n dispatcher.onRefresh();\n }\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n// Is there a newer version of this code available?\nfunction isUpdateAvailable() {\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_useerrorhandler.RuntimeErrorHandler.hadRuntimeError\n }));\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _useerrorhandler.RuntimeErrorHandler.hadRuntimeError || !updatedModules) {\n if (err) {\n console.warn(\"[Fast Refresh] performing full reload\\n\\n\" + \"Fast Refresh will perform a full reload when you edit a file that's imported by modules outside of the React rendering tree.\\n\" + \"You might have a file which exports a React component but also exports a value that is imported by a non-React component file.\\n\" + \"Consider migrating the non-React component export to a separate file and importing it into both files.\\n\\n\" + \"It is also possible the parent component of the component you edited is a class component, which disables Fast Refresh.\\n\" + \"Fast Refresh requires at least one parent function component in your React tree.\");\n } else if (_useerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(\"[Fast Refresh] performing full reload because your application had an unrecoverable error\");\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(hasUpdates);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\nfunction processMessage(obj, sendMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC:\n {\n if (obj.hash) {\n handleAvailableHash(obj.hash);\n }\n const { errors, warnings } = obj;\n // Is undefined when it's a 'built' event\n if (\"versionInfo\" in obj) {\n dispatcher.onVersionInfo(obj.versionInfo);\n }\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Compilation with warnings (e.g. ESLint).\n const isHotUpdate = obj.action !== _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC;\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(hasUpdates) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, hasUpdates);\n }, sendMessage, dispatcher);\n }\n return;\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n const isHotUpdate = obj.action !== _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SYNC && (!window.__NEXT_DATA__ || window.__NEXT_DATA__.page !== \"/_error\") && isUpdateAvailable();\n // Attempt to apply hot updates or reload.\n if (isHotUpdate) {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(hasUpdates) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, hasUpdates);\n }, sendMessage, dispatcher);\n }\n return;\n }\n // TODO-APP: make server component change more granular\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_COMPONENT_CHANGES:\n {\n sendMessage(JSON.stringify({\n event: \"server-component-reload-page\",\n clientId: __nextDevClientId\n }));\n if (_useerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was removed.\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added.\n // @ts-ignore it exists, it's just hidden\n router.fastRefresh();\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {\n throw new Error(\"Unexpected action \" + JSON.stringify(obj));\n }\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _react.useReducer)(_erroroverlayreducer.errorOverlayReducer, _erroroverlayreducer.INITIAL_OVERLAY_STATE);\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _erroroverlayreducer.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _erroroverlayreducer.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _erroroverlayreducer.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _erroroverlayreducer.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _erroroverlayreducer.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = error._componentStack;\n dispatch({\n type: _erroroverlayreducer.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack && (0, _parsecomponentstack.parseComponentStack)(componentStack)\n });\n }, []);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _erroroverlayreducer.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, []);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _useerrorhandler.RuntimeErrorHandler.hadRuntimeError = true;\n }, []);\n (0, _useerrorhandler.useErrorHandler)(handleOnUnhandledError, handleOnUnhandledRejection);\n const webSocketRef = (0, _usewebsocket.useWebsocket)(assetPrefix);\n (0, _usewebsocket.useWebsocketPing)(webSocketRef);\n const sendMessage = (0, _usewebsocket.useSendMessage)(webSocketRef);\n const processTurbopackMessage = (0, _usewebsocket.useTurbopack)(sendMessage);\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n const handledByTurbopack = processTurbopackMessage == null ? void 0 : processTurbopackMessage(obj);\n if (!handledByTurbopack) {\n processMessage(obj, sendMessage, router, dispatcher);\n }\n } catch (err) {\n var _err_stack;\n console.warn(\"[HMR] Invalid message: \" + event.data + \"\\n\" + ((_err_stack = err == null ? void 0 : err.stack) != null ? _err_stack : \"\"));\n }\n };\n const websocket = webSocketRef.current;\n if (websocket) {\n websocket.addEventListener(\"message\", handler);\n }\n return ()=>websocket && websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ _react.default.createElement(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state\n }, children);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2hvdC1yZWxvYWRlci1jbGllbnQuanMiLCJtYXBwaW5ncyI6IjtBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCwyQ0FBMEM7SUFDdENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DO0lBQ1g7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNQywyQkFBMkJDLG1CQUFPQSxDQUFDLG1IQUF5QztBQUNsRixNQUFNQyw0QkFBNEJELG1CQUFPQSxDQUFDLHFIQUEwQztBQUNwRixNQUFNRSxTQUFTLFdBQVcsR0FBR0QsMEJBQTBCRSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1JLGFBQWEsV0FBVyxHQUFHTCx5QkFBeUJJLENBQUMsQ0FBQ0gsbUJBQU9BLENBQUMsa0dBQStCO0FBQ25HLE1BQU1LLHlCQUF5QixXQUFXLEdBQUdOLHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQywySUFBaUQ7QUFDakksTUFBTU0sY0FBY04sbUJBQU9BLENBQUMscUZBQWU7QUFDM0MsTUFBTU8sdUJBQXVCUCxtQkFBT0EsQ0FBQyw4SUFBa0M7QUFDdkUsTUFBTVEsY0FBY1IsbUJBQU9BLENBQUMsd0lBQStCO0FBQzNELE1BQU1TLG1CQUFtQixXQUFXLEdBQUdWLHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyxrSUFBNEI7QUFDdEcsTUFBTVUsbUJBQW1CVixtQkFBT0EsQ0FBQyxzSkFBc0M7QUFDdkUsTUFBTVcsZ0JBQWdCWCxtQkFBT0EsQ0FBQyw4SUFBa0M7QUFDaEUsTUFBTVksdUJBQXVCWixtQkFBT0EsQ0FBQyw4SkFBMEM7QUFDL0UsTUFBTWEsb0JBQW9CYixtQkFBT0EsQ0FBQywrR0FBd0M7QUFDMUUsSUFBSWMsNEJBQTRCO0FBQ2hDLElBQUlDLG9CQUFvQkMsS0FBS0MsS0FBSyxD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QVFDLElBQUksQ0FBQyw0QkFBNEJaLE1BQU1xRyxJQUFJLEdBQUcsT0FBUSxFQUFDRSxhQUFhakgsT0FBTyxPQUFPLEtBQUssSUFBSUEsSUFBSUcsS0FBSyxLQUFLLE9BQU84RyxhQUFhLEVBQUM7WUFDMUk7UUFDSjtRQUNBLE1BQU1DLFlBQVlYLGFBQWFZLE9BQU87UUFDdEMsSUFBSUQsV0FBVztZQUNYQSxVQUFVRSxnQkFBZ0IsQ0FBQyxXQUFXeEg7UUFDMUM7UUFDQSxPQUFPLElBQUlzSCxhQUFhQSxVQUFVRyxtQkFBbUIsQ0FBQyxXQUFXekg7SUFDckUsR0FBRztRQUNDSztRQUNBa0M7UUFDQW9FO1FBQ0EzSDtRQUNBK0g7S0FDSDtJQUNELE9BQU8sV0FBVyxHQUFHbkosT0FBTytFLE9BQU8sQ0FBQytFLGFBQWEsQ0FBQ3ZKLGlCQUFpQndFLE9BQU8sRUFBRTtRQUN4RWdGLGNBQWNsQjtRQUNkeEIsT0FBT0E7SUFDWCxHQUFHRDtBQUNQO0FBRUEsSUFBSSxDQUFDLE9BQU81SCxRQUFRdUYsT0FBTyxLQUFLLGNBQWUsT0FBT3ZGLFFBQVF1RixPQUFPLEtBQUssWUFBWXZGLFFBQVF1RixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU92RixRQUFRdUYsT0FBTyxDQUFDaUYsVUFBVSxLQUFLLGFBQWE7SUFDcksxSyxPQUFPQyxjQUFjLENBQUNDLFFBQVF1RixPQUFPLEVBQUUsY0FBYztRQUFFdEYsT0FBTztJQUFLO0lBQ25FSCxPQUFPMkssTUFBTSxDQUFDekssUUFBUXVGLE9BQU8sRUFBRXZGO0lBQy9CdUMsT0FBT3ZDLE9BQU8sR0FBR0EsUUFBUXVGLE9BQU87QUFDbEMsRUFFQSwrQ0FBK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2hvdC1yZWxvYWRlci1jbGllbnQuanM/MDY4YiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiZGVmYXVsdFwiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gSG90UmVsb2FkO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xyXG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xyXG5jb25zdCBfc3RyaXBhbnNpID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL3N0cmlwLWFuc2lcIikpO1xyXG5jb25zdCBfZm9ybWF0d2VicGFja21lc3NhZ2VzID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwiLi4vLi4vZGV2L2Vycm9yLW92ZXJsYXkvZm9ybWF0LXdlYnBhY2stbWVzc2FnZXNcIikpO1xyXG5jb25zdCBfbmF2aWdhdGlvbiA9IHJlcXVpcmUoXCIuLi9uYXZpZ2F0aW9uXCIpO1xyXG5jb25zdCBfZXJyb3JvdmVybGF5cmVkdWNlciA9IHJlcXVpcmUoXCIuL2ludGVybmFsL2Vycm9yLW92ZXJsYXktcmVkdWNlclwiKTtcclxuY29uc3QgX3BhcnNlU3RhY2sgPSByZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzL3BhcnNlU3RhY2tcIik7XHJcbmNvbnN0IF9SZWFjdERldk92ZXJsYXkgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdC5fKHJlcXVpcmUoXCIuL2ludGVybmFsL1JlYWN0RGV2T3ZlcmxheVwiKSk7XHJcbmNvbnN0IF91c2VlcnJvcmhhbmRsZXIgPSByZXF1aXJlKFwiLi9pbnRlcm5hbC9oZWxwZXJzL3VzZS1lcnJvci1oYW5kbGVyXCIpO1xyXG5jb25zdCBfdXNld2Vic29ja2V0ID0gcmVxdWlyZShcIi4vaW50ZXJuYWwvaGVscGVycy91c2Utd2Vic29ja2V0XCIpO1xyXG5jb25zdCBfcGFyc2Vjb21wb25lbnRzdGFjayA9IHJlcXVpcmUoXCIuL2ludGVybmFsL2hlbHBlcnMvcGFyc2UtY29tcG9uZW50LXN0YWNrXCIpO1xyXG5jb25zdCBfaG90cmVsb2FkZXJ0eXBlcyA9IHJlcXVpcmUoXCIuLi8uLi8uLi9zZXJ2ZXIvZGV2L2hvdC1yZWxvYWRlci10eXBlc1wiKTtcclxubGV0IG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggPSBudWxsO1xyXG5sZXQgX19uZXh0RGV2Q2xpZW50SWQgPSBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMDAgKyBEYXRlLm5vdygpKTtcclxuZnVuY3Rpb24gb25CZWZvcmVGYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBoYXNVcGRhdGVzKSB7XHJcbiAgICBpZiAoaGFzVXBkYXRlcykge1xyXG4gICAgICAgIGRpc3BhdGNoZXIub25CZWZvcmVSZWZyZXNoKCk7XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gb25GYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBoYXNVcGRhdGVzKSB7XHJcbiAgICBkaXNwYXRjaGVyLm9uQnVpbGRPaygpO1xyXG4gICAgaWYgKGhhc1VwZGF0ZXMpIHtcclxuICAgICAgICBkaXNwYXRjaGVyLm9uUmVmcmVzaCgpO1xyXG4gICAgfVxyXG59XHJcbi8vIFRoZXJlIGlzIGEgbmV3ZXIgdmVyc2lvbiBvZiB0aGUgY29kZSBhdmFpbGFibGUuXHJcbmZ1bmN0aW9uIGhhbmRsZUF2YWlsYWJsZUhhc2goaGFzaCkge1xyXG4gICAgLy8gVXBkYXRlIGxhc3Qga25vd24gY29tcGlsYXRpb24gaGFzaC5cclxuICAgIG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggPSBoYXNoO1xyXG59XHJcbi8vIElzIHRoZXJlIGEgbmV3ZXIgdmVyc2lvbiBvZiB0aGlzIGNvZGUgYXZhaWxhYmxlP1xyXG5mdW5jdGlvbiBpc1VwZGF0ZUF2YWlsYWJsZSgpIHtcclxuICAgIC8qIGdsb2JhbHMgX193ZWJwYWNrX2hhc2hfXyAqLyAvLyBfX3dlYnBhY2tfaGFzaF9fIGlzIHRoZSBoYXNoIG9mIHRoZSBjdXJyZW50IGNvbXBpbGF0aW9uLlxyXG4gICAgLy8gSXQncyBhIGdsb2JhbCB2YXJpYWJsZSBpbmplY3RlZCBieSBXZWJwYWNrLlxyXG4gICAgcmV0dXJuIG1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2ggIT09IF9fd2VicGFja19oYXNoX187XHJcbn1cclxuLy8gV2VicGFjayBkaXNhbGxvd3MgdXBkYXRlcyBpbiBvdGhlciBzdGF0ZXMuXHJcbmZ1bmN0aW9uIGNhbkFwcGx5VXBkYXRlcygpIHtcclxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcclxuICAgIHJldHVybiBtb2R1bGUuaG90LnN0YXR1cygpID09PSBcImlkbGVcIjtcclxufVxyXG5mdW5jdGlvbiBhZnRlckFwcGx5VXBkYXRlcyhmbikge1xyXG4gICAgaWYgKGNhbkFwcGx5VXBkYXRlcygpKSB7XHJcbiAgICAgICAgZm4oKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihzdGF0dXMpIHtcclxuICAgICAgICAgICAgaWYgKHN0YXR1cyA9PT0gXCJpZGxlXCIpIHtcclxuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcclxuICAgICAgICAgICAgICAgIG1vZHVsZS5ob3QucmVtb3ZlU3RhdHVzSGFuZGxlcihoYW5kbGVyKTtcclxuICAgICAgICAgICAgICAgIGZuKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtb2R1bGUuaG90IGV4aXN0c1xyXG4gICAgICAgIG1vZHVsZS5ob3QuYWRkU3RhdHVzSGFuZGxlcihoYW5kbGVyKTtcclxuICAgIH1cclxufVxyXG5mdW5jdGlvbiBwZXJmb3JtRnVsbFJlbG9hZChlcnIsIHNlbmRNZXNzYWdlKSB7XHJcbiAgICBjb25zdCBzdGFja1RyYWNlID0gZXJyICYmIChlcnIuc3RhY2sgJiYgZXJyLnN0YWNrLnNwbGl0KFwiXFxuXCIpLnNsaWNlKDAsIDUpLmpvaW4oXCJcXG5cIikgfHwgZXJyLm1lc3NhZ2UgfHwgZXJyICsgXCJcIik7XHJcbiAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgZXZlbnQ6IFwiY2xpZW50LWZ1bGwtcmVsb2FkXCIsXHJcbiAgICAgICAgc3RhY2tUcmFjZSxcclxuICAgICAgICBoYWRSdW50aW1lRXJyb3I6ICEhX3VzZWVycm9yaGFuZGxlci5SdW50aW1lRXJyb3JIYW5kbGVyLmhhZFJ1bnRpbWVFcnJvclxyXG4gICAgfSkpO1xyXG4gICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG59XHJcbi8vIEF0dGVtcHQgdG8gdXBkYXRlIGNvZGUgb24gdGhlIGZseSwgZmFsbCBiYWNrIHRvIGEgaGFyZCByZWxvYWQuXHJcbmZ1bmN0aW9uIHRyeUFwcGx5VXBkYXRlcyhvbkJlZm9yZVVwZGF0ZSwgb25Ib3RVcGRhdGVTdWNjZXNzLCBzZW5kTWVzc2FnZSwgZGlzcGF0Y2hlcikge1xyXG4gICAgaWYgKCFpc1VwZGF0ZUF2YWlsYWJsZSgpIHx8ICFjYW5BcHBseVVwZGF0ZXMoKSkge1xyXG4gICAgICAgIGRpc3BhdGNoZXIub25CdWlsZE9rKCk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgZnVuY3Rpb24gaGFuZGxlQXBwbHlVcGRhdGVzKGVyciwgdXBkYXRlZE1vZHVsZXMpIHtcclxuICAgICAgICBpZiAoZXJyIHx8IF91c2VlcnJvcmhhbmRsZXIuUnVudGltZUVycm9ySGFuZGxlci5oYWRSdW50aW1lRXJyb3IgfHwgIXVwZGF0ZWRNb2R1bGVzKSB7XHJcbiAgICAgICAgICAgIGlmIChlcnIpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltGYXN0IFJlZnJlc2hdIHBlcmZvcm1pbmcgZnVsbCByZWxvYWRcXG5cXG5cIiArIFwiRmFzdCBSZWZyZXNoIHdpbGwgcGVyZm9ybSBhIGZ1bGwgcmVsb2FkIHdoZW4geW91IGVkaXQgYSBmaWxlIHRoYXQncyBpbXBvcnRlZCBieSBtb2R1bGVzIG91dHNpZGUgb2YgdGhlIFJlYWN0IHJlbmRlcmluZyB0cmVlLlxcblwiICsgXCJZb3UgbWlnaHQgaGF2ZSBhIGZpbGUgd2hpY2ggZXhwb3J0cyBhIFJlYWN0IGNvbXBvbmVudCBidXQgYWxzbyBleHBvcnRzIGEgdmFsdWUgdGhhdCBpcyBpbXBvcnRlZCBieSBhIG5vbi1SZWFjdCBjb21wb25lbnQgZmlsZS5cXG5cIiArIFwiQ29uc2lkZXIgbWlncmF0aW5nIHRoZSBub24tUmVhY3QgY29tcG9uZW50IGV4cG9ydCB0byBhIHNlcGFyYXRlIGZpbGUgYW5kIGltcG9ydGluZyBpdCBpbnRvIGJvdGggZmlsZXMuXFxuXFxuXCIgKyBcIkl0IGlzIGFsc28gcG9zc2libGUgdGhlIHBhcmVudCBjb21wb25lbnQgb2YgdGhlIGNvbXBvbmVudCB5b3UgZWRpdGVkIGlzIGEgY2xhc3MgY29tcG9uZW50LCB3aGljaCBkaXNhYmxlcyBGYXN0IFJlZnJlc2guXFxuXCIgKyBcIkZhc3QgUmVmcmVzaCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgcGFyZW50IGZ1bmN0aW9uIGNvbXBvbmVudCBpbiB5b3VyIFJlYWN0IHRyZWUuXCIpO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKF91c2VlcnJvcmhhbmRsZXIuUnVudGltZUVycm9ySGFuZGxlci5oYWRSdW50aW1lRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUud2FybihcIltGYXN0IFJlZnJlc2hdIHBlcmZvcm1pbmcgZnVsbCByZWxvYWQgYmVjYXVzZSB5b3VyIGFwcGxpY2F0aW9uIGhhZCBhbiB1bnJlY292ZXJhYmxlIGVycm9yXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHBlcmZvcm1GdWxsUmVsb2FkKGVyciwgc2VuZE1lc3NhZ2UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGhhc1VwZGF0ZXMgPSBCb29sZWFuKHVwZGF0ZWRNb2R1bGVzLmxlbmd0aCk7XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvbkhvdFVwZGF0ZVN1Y2Nlc3MgPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICAvLyBNYXliZSB3ZSB3YW50IHRvIGRvIHNvbWV0aGluZy5cclxuICAgICAgICAgICAgb25Ib3RVcGRhdGVTdWNjZXNzKGhhc1VwZGF0ZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoaXNVcGRhdGVBdmFpbGFibGUoKSkge1xyXG4gICAgICAgICAgICAvLyBXaGlsZSB3ZSB3ZXJlIHVwZGF0aW5nLCB0aGVyZSB3YXMgYSBuZXcgdXBkYXRlISBEbyBpdCBhZ2Fpbi5cclxuICAgICAgICAgICAgdHJ5QXBwbHlVcGRhdGVzKGhhc1VwZGF0ZXMgPyAoKT0+e30gOiBvbkJlZm9yZVVwZGF0ZSwgaGFzVXBkYXRlcyA/ICgpPT5kaXNwYXRjaGVyLm9uQnVpbGRPaygpIDogb25Ib3RVcGRhdGVTdWNjZXNzLCBzZW5kTWVzc2FnZSwgZGlzcGF0Y2hlcik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgZGlzcGF0Y2hlci5vbkJ1aWxkT2soKTtcclxuICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcclxuICAgICAgICAgICAgICAgIGFmdGVyQXBwbHlVcGRhdGVzKCgpPT57XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGYuX19ORVhUX0hNUl9DQikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IoKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX05FWFRfSE1SX0NCID0gbnVsbDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIGh0dHBzOi8vd2VicGFjay5qcy5vcmcvYXBpL2hvdC1tb2R1bGUtcmVwbGFjZW1lbnQvI2NoZWNrXHJcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG1vZHVsZS5ob3QgZXhpc3RzXHJcbiAgICBtb2R1bGUuaG90LmNoZWNrKC8qIGF1dG9BcHBseSAqLyBmYWxzZSkudGhlbigodXBkYXRlZE1vZHVsZXMpPT57XHJcbiAgICAgICAgaWYgKCF1cGRhdGVkTW9kdWxlcykge1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHR5cGVvZiBvbkJlZm9yZVVwZGF0ZSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGhhc1VwZGF0ZXMgPSBCb29sZWFuKHVwZGF0ZWRNb2R1bGVzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgIG9uQmVmb3JlVXBkYXRlKGhhc1VwZGF0ZXMpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBodHRwczovL3dlYnBhY2suanMub3JnL2FwaS9ob3QtbW9kdWxlLXJlcGxhY2VtZW50LyNhcHBseVxyXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbW9kdWxlLmhvdCBleGlzdHNcclxuICAgICAgICByZXR1cm4gbW9kdWxlLmhvdC5hcHBseSgpO1xyXG4gICAgfSkudGhlbigodXBkYXRlZE1vZHVsZXMpPT57XHJcbiAgICAgICAgaGFuZGxlQXBwbHlVcGRhdGVzKG51bGwsIHVwZGF0ZWRNb2R1bGVzKTtcclxuICAgIH0sIChlcnIpPT57XHJcbiAgICAgICAgaGFuZGxlQXBwbHlVcGRhdGVzKGVyciwgbnVsbCk7XHJcbiAgICB9KTtcclxufVxyXG5mdW5jdGlvbiBwcm9jZXNzTWVzc2FnZShvYmosIHNlbmRNZXNzYWdlLCByb3V0ZXIsIGRpc3BhdGNoZXIpIHtcclxuICAgIGlmICghKFwiYWN0aW9uXCIgaW4gb2JqKSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGZ1bmN0aW9uIGhhbmRsZUVycm9ycyhlcnJvcnMpIHtcclxuICAgICAgICAvLyBcIk1hc3NhZ2VcIiB3ZWJwYWNrIG1lc3NhZ2VzLlxyXG4gICAgICAgIGNvbnN0IGZvcm1hdHRlZCA9ICgwLCBfZm9ybWF0d2VicGFja21lc3NhZ2VzLmRlZmF1bHQpKHtcclxuICAgICAgICAgICAgZXJyb3JzOiBlcnJvcnMsXHJcbiAgICAgICAgICAgIHdhcm5pbmdzOiBbXVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vIE9ubHkgc2hvdyB0aGUgZmlyc3QgZXJyb3IuXHJcbiAgICAgICAgZGlzcGF0Y2hlci5vbkJ1aWxkRXJyb3IoZm9ybWF0dGVkLmVycm9yc1swXSk7XHJcbiAgICAgICAgLy8gQWxzbyBsb2cgdGhlbSB0byB0aGUgY29uc29sZS5cclxuICAgICAgICBmb3IobGV0IGkgPSAwOyBpIDwgZm9ybWF0dGVkLmVycm9ycy5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoKDAsIF9zdHJpcGFuc2kuZGVmYXVsdCkoZm9ybWF0dGVkLmVycm9yc1tpXSkpO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvLyBEbyBub3QgYXR0ZW1wdCB0byByZWxvYWQgbm93LlxyXG4gICAgICAgIC8vIFdlIHdpbGwgcmVsb2FkIG9uIG5leHQgc3VjY2VzcyBpbnN0ZWFkLlxyXG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5fX05FWFRfVEVTVF9NT0RFKSB7XHJcbiAgICAgICAgICAgIGlmIChzZWxmLl9fTkVYVF9ITVJfQ0IpIHtcclxuICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQihmb3JtYXR0ZWQuZXJyb3JzWzBdKTtcclxuICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQiA9IG51bGw7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzd2l0Y2gob2JqLmFjdGlvbil7XHJcbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTERJTkc6XHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiW0Zhc3QgUmVmcmVzaF0gcmVidWlsZGluZ1wiKTtcclxuICAgICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuQlVJTFQ6XHJcbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuU1lOQzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgaWYgKG9iai5oYXNoKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlQXZhaWxhYmxlSGFzaChvYmouaGFzaCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ycywgd2FybmluZ3MgfSA9IG9iajtcclxuICAgICAgICAgICAgICAgIC8vIElzIHVuZGVmaW5lZCB3aGVuIGl0J3MgYSAnYnVpbHQnIGV2ZW50XHJcbiAgICAgICAgICAgICAgICBpZiAoXCJ2ZXJzaW9uSW5mb1wiIGluIG9iaikge1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoZXIub25WZXJzaW9uSW5mbyhvYmoudmVyc2lvbkluZm8pO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzRXJyb3JzID0gQm9vbGVhbihlcnJvcnMgJiYgZXJyb3JzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgICAgICAvLyBDb21waWxhdGlvbiB3aXRoIGVycm9ycyAoZS5nLiBzeW50YXggZXJyb3Igb3IgbWlzc2luZyBtb2R1bGVzKS5cclxuICAgICAgICAgICAgICAgIGlmIChoYXNFcnJvcnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1lcnJvclwiLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBlcnJvckNvdW50OiBlcnJvcnMubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaGFuZGxlRXJyb3JzKGVycm9ycyk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFzV2FybmluZ3MgPSBCb29sZWFuKHdhcm5pbmdzICYmIHdhcm5pbmdzLmxlbmd0aCk7XHJcbiAgICAgICAgICAgICAgICBpZiAoaGFzV2FybmluZ3MpIHtcclxuICAgICAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC13YXJuaW5nXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdDb3VudDogd2FybmluZ3MubGVuZ3RoLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcclxuICAgICAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gQ29tcGlsYXRpb24gd2l0aCB3YXJuaW5ncyAoZS5nLiBFU0xpbnQpLlxyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGlzSG90VXBkYXRlID0gb2JqLmFjdGlvbiAhPT0gX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNZTkM7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gUHJpbnQgd2FybmluZ3MgdG8gdGhlIGNvbnNvbGUuXHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm9ybWF0dGVkTWVzc2FnZXMgPSAoMCwgX2Zvcm1hdHdlYnBhY2ttZXNzYWdlcy5kZWZhdWx0KSh7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdhcm5pbmdzOiB3YXJuaW5ncyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzOiBbXVxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvcihsZXQgaSA9IDA7IGkgPCBmb3JtYXR0ZWRNZXNzYWdlcy53YXJuaW5ncy5sZW5ndGg7IGkrKyl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID09PSA1KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJUaGVyZSB3ZXJlIG1vcmUgd2FybmluZ3MgaW4gb3RoZXIgZmlsZXMuXFxuXCIgKyBcIllvdSBjYW4gZmluZCBhIGNvbXBsZXRlIGxvZyBpbiB0aGUgdGVybWluYWwuXCIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS53YXJuKCgwLCBfc3RyaXBhbnNpLmRlZmF1bHQpKGZvcm1hdHRlZE1lc3NhZ2VzLndhcm5pbmdzW2ldKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIC8vIEF0dGVtcHQgdG8gYXBwbHkgaG90IHVwZGF0ZXMgb3IgcmVsb2FkLlxyXG4gICAgICAgICAgICAgICAgICAgIGlmIChpc0hvdFVwZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cnlBcHBseVVwZGF0ZXMoZnVuY3Rpb24gb25CZWZvcmVIb3RVcGRhdGUoaGFzVXBkYXRlcykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25CZWZvcmVGYXN0UmVmcmVzaChkaXNwYXRjaGVyLCBoYXNVcGRhdGVzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gb25TdWNjZXNzZnVsSG90VXBkYXRlKGhhc1VwZGF0ZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9ubHkgZGlzbWlzcyBpdCB3aGVuIHdlJ3JlIHN1cmUgaXQncyBhIGhvdCB1cGRhdGUuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPdGhlcndpc2UgaXQgd291bGQgZmxpY2tlciByaWdodCBiZWZvcmUgdGhlIHJlbG9hZC5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmFzdFJlZnJlc2goZGlzcGF0Y2hlciwgaGFzVXBkYXRlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sIHNlbmRNZXNzYWdlLCBkaXNwYXRjaGVyKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcImNsaWVudC1zdWNjZXNzXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkXHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBpc0hvdFVwZGF0ZSA9IG9iai5hY3Rpb24gIT09IF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5TWU5DICYmICghd2luZG93Ll9fTkVYVF9EQVRBX18gfHwgd2luZG93Ll9fTkVYVF9EQVRBX18ucGFnZSAhPT0gXCIvX2Vycm9yXCIpICYmIGlzVXBkYXRlQXZhaWxhYmxlKCk7XHJcbiAgICAgICAgICAgICAgICAvLyBBdHRlbXB0IHRvIGFwcGx5IGhvdCB1cGRhdGVzIG9yIHJlbG9hZC5cclxuICAgICAgICAgICAgICAgIGlmIChpc0hvdFVwZGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRyeUFwcGx5VXBkYXRlcyhmdW5jdGlvbiBvbkJlZm9yZUhvdFVwZGF0ZShoYXNVcGRhdGVzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQmVmb3JlRmFzdFJlZnJlc2goZGlzcGF0Y2hlciwgaGFzVXBkYXRlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgZnVuY3Rpb24gb25TdWNjZXNzZnVsSG90VXBkYXRlKGhhc1VwZGF0ZXMpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT25seSBkaXNtaXNzIGl0IHdoZW4gd2UncmUgc3VyZSBpdCdzIGEgaG90IHVwZGF0ZS5cclxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlIGl0IHdvdWxkIGZsaWNrZXIgcmlnaHQgYmVmb3JlIHRoZSByZWxvYWQuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRmFzdFJlZnJlc2goZGlzcGF0Y2hlciwgaGFzVXBkYXRlcyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfSwgc2VuZE1lc3NhZ2UsIGRpc3BhdGNoZXIpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgLy8gVE9ETy1BUFA6IG1ha2Ugc2VydmVyIGNvbXBvbmVudCBjaGFuZ2UgbW9yZSBncmFudWxhclxyXG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUzpcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgc2VuZE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe1xyXG4gICAgICAgICAgICAgICAgICAgIGV2ZW50OiBcInNlcnZlci1jb21wb25lbnQtcmVsb2FkLXBhZ2VcIixcclxuICAgICAgICAgICAgICAgICAgICBjbGllbnRJZDogX19uZXh0RGV2Q2xpZW50SWRcclxuICAgICAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgICAgIGlmIChfdXNlZXJyb3JoYW5kbGVyLlJ1bnRpbWVFcnJvckhhbmRsZXIuaGFkUnVudGltZUVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICgwLCBfcmVhY3Quc3RhcnRUcmFuc2l0aW9uKSgoKT0+e1xyXG4gICAgICAgICAgICAgICAgICAgIC8vIEB0cy1pZ25vcmUgaXQgZXhpc3RzLCBpdCdzIGp1c3QgaGlkZGVuXHJcbiAgICAgICAgICAgICAgICAgICAgcm91dGVyLmZhc3RSZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGF0Y2hlci5vblJlZnJlc2goKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgICAgaWYgKHByb2Nlc3MuZW52Ll9fTkVYVF9URVNUX01PREUpIHtcclxuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZi5fX05FWFRfSE1SX0NCKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19ORVhUX0hNUl9DQigpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fTkVYVF9ITVJfQ0IgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIGNhc2UgX2hvdHJlbG9hZGVydHlwZXMuSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSLlJFTE9BRF9QQUdFOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBzZW5kTWVzc2FnZShKU09OLnN0cmluZ2lmeSh7XHJcbiAgICAgICAgICAgICAgICAgICAgZXZlbnQ6IFwiY2xpZW50LXJlbG9hZC1wYWdlXCIsXHJcbiAgICAgICAgICAgICAgICAgICAgY2xpZW50SWQ6IF9fbmV4dERldkNsaWVudElkXHJcbiAgICAgICAgICAgICAgICB9KSk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuUkVNT1ZFRF9QQUdFOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogcG90ZW50aWFsbHkgb25seSByZWZyZXNoIGlmIHRoZSBjdXJyZW50bHkgdmlld2VkIHBhZ2Ugd2FzIHJlbW92ZWQuXHJcbiAgICAgICAgICAgICAgICAvLyBAdHMtaWdub3JlIGl0IGV4aXN0cywgaXQncyBqdXN0IGhpZGRlblxyXG4gICAgICAgICAgICAgICAgcm91dGVyLmZhc3RSZWZyZXNoKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5BRERFRF9QQUdFOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAvLyBUT0RPLUFQUDogcG90ZW50aWFsbHkgb25seSByZWZyZXNoIGlmIHRoZSBjdXJyZW50bHkgdmlld2VkIHBhZ2Ugd2FzIGFkZGVkLlxyXG4gICAgICAgICAgICAgICAgLy8gQHRzLWlnbm9yZSBpdCBleGlzdHMsIGl0J3MganVzdCBoaWRkZW5cclxuICAgICAgICAgICAgICAgIHJvdXRlci5mYXN0UmVmcmVzaCgpO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgY2FzZSBfaG90cmVsb2FkZXJ0eXBlcy5ITVJfQUNUSU9OU19TRU5UX1RPX0JST1dTRVIuU0VSVkVSX0VSUk9SOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCB7IGVycm9ySlNPTiB9ID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgaWYgKGVycm9ySlNPTikge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHsgbWVzc2FnZSwgc3RhY2sgfSA9IEpTT04ucGFyc2UoZXJyb3JKU09OKTtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcihtZXNzYWdlKTtcclxuICAgICAgICAgICAgICAgICAgICBlcnJvci5zdGFjayA9IHN0YWNrO1xyXG4gICAgICAgICAgICAgICAgICAgIGhhbmRsZUVycm9ycyhbXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yXHJcbiAgICAgICAgICAgICAgICAgICAgXSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBjYXNlIF9ob3RyZWxvYWRlcnR5cGVzLkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUi5ERVZfUEFHRVNfTUFOSUZFU1RfVVBEQVRFOlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICBkZWZhdWx0OlxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIGFjdGlvbiBcIiArIEpTT04uc3RyaW5naWZ5KG9iaikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuZnVuY3Rpb24gSG90UmVsb2FkKHBhcmFtKSB7XHJcbiAgICBsZXQgeyBhc3NldFByZWZpeCwgY2hpbGRyZW4gfSA9IHBhcmFtO1xyXG4gICAgY29uc3QgW3N0YXRlLCBkaXNwYXRjaF0gPSAoMCwgX3JlYWN0LnVzZVJlZHVjZXIpKF9lcnJvcm92ZXJsYXlyZWR1Y2VyLmVycm9yT3ZlcmxheVJlZHVjZXIsIF9lcnJvcm92ZXJsYXlyZWR1Y2VyLklOSVRJQUxfT1ZFUkxBWV9TVEFURSk7XHJcbiAgICBjb25zdCBkaXNwYXRjaGVyID0gKDAsIF9yZWFjdC51c2VNZW1vKSgoKT0+e1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgIG9uQnVpbGRPayAoKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX0JVSUxEX09LXHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgb25CdWlsZEVycm9yIChtZXNzYWdlKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX0JVSUxEX0VSUk9SLFxyXG4gICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBvbkJlZm9yZVJlZnJlc2ggKCkge1xyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9CRUZPUkVfUkVGUkVTSFxyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIG9uUmVmcmVzaCAoKSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwYXRjaCh7XHJcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogX2Vycm9yb3ZlcmxheXJlZHVjZXIuQUNUSU9OX1JFRlJFU0hcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBvblZlcnNpb25JbmZvICh2ZXJzaW9uSW5mbykge1xyXG4gICAgICAgICAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICAgICAgICAgIHR5cGU6IF9lcnJvcm92ZXJsYXlyZWR1Y2VyLkFDVElPTl9WRVJTSU9OX0lORk8sXHJcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbkluZm9cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtcclxuICAgICAgICBkaXNwYXRjaFxyXG4gICAgXSk7XHJcbiAgICBjb25zdCBoYW5kbGVPblVuaGFuZGxlZEVycm9yID0gKDAsIF9yZWFjdC51c2VDYWxsYmFjaykoKGVycm9yKT0+e1xyXG4gICAgICAgIC8vIENvbXBvbmVudCBzdGFjayBpcyBhZGRlZCB0byB0aGUgZXJyb3IgaW4gdXNlLWVycm9yLWhhbmRsZXIgaW4gY2FzZSB0aGVyZSB3YXMgYSBoeWRyYXRpb24gZXJycm9yXHJcbiAgICAgICAgY29uc3QgY29tcG9uZW50U3RhY2sgPSBlcnJvci5fY29tcG9uZW50U3RhY2s7XHJcbiAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX0VSUk9SLFxyXG4gICAgICAgICAgICByZWFzb246IGVycm9yLFxyXG4gICAgICAgICAgICBmcmFtZXM6ICgwLCBfcGFyc2VTdGFjay5wYXJzZVN0YWNrKShlcnJvci5zdGFjayksXHJcbiAgICAgICAgICAgIGNvbXBvbmVudFN0YWNrRnJhbWVzOiBjb21wb25lbnRTdGFjayAmJiAoMCwgX3BhcnNlY29tcG9uZW50c3RhY2sucGFyc2VDb21wb25lbnRTdGFjaykoY29tcG9uZW50U3RhY2spXHJcbiAgICAgICAgfSk7XHJcbiAgICB9LCBbXSk7XHJcbiAgICBjb25zdCBoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKChyZWFzb24pPT57XHJcbiAgICAgICAgZGlzcGF0Y2goe1xyXG4gICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX1JFSkVDVElPTixcclxuICAgICAgICAgICAgcmVhc29uOiByZWFzb24sXHJcbiAgICAgICAgICAgIGZyYW1lczogKDAsIF9wYXJzZVN0YWNrLnBhcnNlU3RhY2spKHJlYXNvbi5zdGFjaylcclxuICAgICAgICB9KTtcclxuICAgIH0sIFtdKTtcclxuICAgIGNvbnN0IGhhbmRsZU9uUmVhY3RFcnJvciA9ICgwLCBfcmVhY3QudXNlQ2FsbGJhY2spKCgpPT57XHJcbiAgICAgICAgX3VzZWVycm9yaGFuZGxlci5SdW50aW1lRXJyb3JIYW5kbGVyLmhhZFJ1bnRpbWVFcnJvciA9IHRydWU7XHJcbiAgICB9LCBbXSk7XHJcbiAgICAoMCwgX3VzZWVycm9yaGFuZGxlci51c2VFcnJvckhhbmRsZXIpKGhhbmRsZU9uVW5oYW5kbGVkRXJyb3IsIGhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uKTtcclxuICAgIGNvbnN0IHdlYlNvY2tldFJlZiA9ICgwLCBfdXNld2Vic29ja2V0LnVzZVdlYnNvY2tldCkoYXNzZXRQcmVmaXgpO1xyXG4gICAgKDAsIF91c2V3ZWJzb2NrZXQudXNlV2Vic29ja2V0UGluZykod2ViU29ja2V0UmVmKTtcclxuICAgIGNvbnN0IHNlbmRNZXNzYWdlID0gKDAsIF91c2V3ZWJzb2NrZXQudXNlU2VuZE1lc3NhZ2UpKHdlYlNvY2tldFJlZik7XHJcbiAgICBjb25zdCBwcm9jZXNzVHVyYm9wYWNrTWVzc2FnZSA9ICgwLCBfdXNld2Vic29ja2V0LnVzZVR1cmJvcGFjaykoc2VuZE1lc3NhZ2UpO1xyXG4gICAgY29uc3Qgcm91dGVyID0gKDAsIF9uYXZpZ2F0aW9uLnVzZVJvdXRlcikoKTtcclxuICAgICgwLCBfcmVhY3QudXNlRWZmZWN0KSgoKT0+e1xyXG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAoZXZlbnQpPT57XHJcbiAgICAgICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBvYmogPSBKU09OLnBhcnNlKGV2ZW50LmRhdGEpO1xyXG4gICAgICAgICAgICAgICAgY29uc3QgaGFuZGxlZEJ5VHVyYm9wYWNrID0gcHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UgPT0gbnVsbCA/IHZvaWQgMCA6IHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlKG9iaik7XHJcbiAgICAgICAgICAgICAgICBpZiAoIWhhbmRsZWRCeVR1cmJvcGFjaykge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb2Nlc3NNZXNzYWdlKG9iaiwgc2VuZE1lc3NhZ2UsIHJvdXRlciwgZGlzcGF0Y2hlcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xyXG4gICAgICAgICAgICAgICAgdmFyIF9lcnJfc3RhY2s7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLndhcm4oXCJbSE1SXSBJbnZhbGlkIG1lc3NhZ2U6IFwiICsgZXZlbnQuZGF0YSArIFwiXFxuXCIgKyAoKF9lcnJfc3RhY2sgPSBlcnIgPT0gbnVsbCA/IHZvaWQgMCA6IGVyci5zdGFjaykgIT0gbnVsbCA/IF9lcnJfc3RhY2sgOiBcIlwiKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9O1xyXG4gICAgICAgIGNvbnN0IHdlYnNvY2tldCA9IHdlYlNvY2tldFJlZi5jdXJyZW50O1xyXG4gICAgICAgIGlmICh3ZWJzb2NrZXQpIHtcclxuICAgICAgICAgICAgd2Vic29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoXCJtZXNzYWdlXCIsIGhhbmRsZXIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gKCk9PndlYnNvY2tldCAmJiB3ZWJzb2NrZXQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1lc3NhZ2VcIiwgaGFuZGxlcik7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgc2VuZE1lc3NhZ2UsXHJcbiAgICAgICAgcm91dGVyLFxyXG4gICAgICAgIHdlYlNvY2tldFJlZixcclxuICAgICAgICBkaXNwYXRjaGVyLFxyXG4gICAgICAgIHByb2Nlc3NUdXJib3BhY2tNZXNzYWdlXHJcbiAgICBdKTtcclxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5kZWZhdWx0LmNyZWF0ZUVsZW1lbnQoX1JlYWN0RGV2T3ZlcmxheS5kZWZhdWx0LCB7XHJcbiAgICAgICAgb25SZWFjdEVycm9yOiBoYW5kbGVPblJlYWN0RXJyb3IsXHJcbiAgICAgICAgc3RhdGU6IHN0YXRlXHJcbiAgICB9LCBjaGlsZHJlbik7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWhvdC1yZWxvYWRlci1jbGllbnQuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkhvdFJlbG9hZCIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX3JlYWN0IiwiXyIsIl9zdHJpcGFuc2kiLCJfZm9ybWF0d2VicGFja21lc3NhZ2VzIiwiX25hdmlnYXRpb24iLCJfZXJyb3JvdmVybGF5cmVkdWNlciIsIl9wYXJzZVN0YWNrIiwiX1JlYWN0RGV2T3ZlcmxheSIsIl91c2VlcnJvcmhhbmRsZXIiLCJfdXNld2Vic29ja2V0IiwiX3BhcnNlY29tcG9uZW50c3RhY2siLCJfaG90cmVsb2FkZXJ0eXBlcyIsIm1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2giLCJfX25leHREZXZDbGllbnRJZCIsIk1hdGgiLCJyb3VuZCIsInJhbmRvbSIsIkRhdGUiLCJub3ciLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwiZGlzcGF0Y2hlciIsImhhc1VwZGF0ZXMiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkZhc3RSZWZyZXNoIiwib25CdWlsZE9rIiwib25SZWZyZXNoIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJpc1VwZGF0ZUF2YWlsYWJsZSIsIl9fd2VicGFja19oYXNoX18iLCJjYW5BcHBseVVwZGF0ZXMiLCJtb2R1bGUiLCJob3QiLCJzdGF0dXMiLCJhZnRlckFwcGx5VXBkYXRlcyIsImZuIiwiaGFuZGxlciIsInJlbW92ZVN0YXR1c0hhbmRsZXIiLCJhZGRTdGF0dXNIYW5kbGVyIiwicGVyZm9ybUZ1bGxSZWxvYWQiLCJlcnIiLCJzZW5kTWVzc2FnZSIsInN0YWNrVHJhY2UiLCJzdGFjayIsInNwbGl0Iiwic2xpY2UiLCJqb2luIiwibWVzc2FnZSIsIkpTT04iLCJzdHJpbmdpZnkiLCJldmVudCIsImhhZFJ1bnRpbWVFcnJvciIsIlJ1bnRpbWVFcnJvckhhbmRsZXIiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInJlbG9hZCIsInRyeUFwcGx5VXBkYXRlcyIsIm9uQmVmb3JlVXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwidXBkYXRlZE1vZHVsZXMiLCJjb25zb2xlIiwid2FybiIsIkJvb2xlYW4iLCJsZW5ndGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1RFU1RfTU9ERSIsInNlbGYiLCJfX05FWFRfSE1SX0NCIiwiY2hlY2siLCJ0aGVuIiwiYXBwbHkiLCJwcm9jZXNzTWVzc2FnZSIsIm9iaiIsInJvdXRlciIsImhhbmRsZUVycm9ycyIsImVycm9ycyIsImZvcm1hdHRlZCIsImRlZmF1bHQiLCJ3YXJuaW5ncyIsIm9uQnVpbGRFcnJvciIsImkiLCJlcnJvciIsImFjdGlvbiIsIkhNUl9BQ1RJT05TX1NFTlRfVE9fQlJPV1NFUiIsIkJVSUxESU5HIiwibG9nIiwiQlVJTFQiLCJTWU5DIiwib25WZXJzaW9uSW5mbyIsInZlcnNpb25JbmZvIiwiaGFzRXJyb3JzIiwiZXJyb3JDb3VudCIsImNsaWVudElkIiwiaGFzV2FybmluZ3MiLCJ3YXJuaW5nQ291bnQiLCJpc0hvdFVwZGF0ZSIsImZvcm1hdHRlZE1lc3NhZ2VzIiwib25CZWZvcmVIb3RVcGRhdGUiLCJvblN1Y2Nlc3NmdWxIb3RVcGRhdGUiLCJfX05FWFRfREFUQV9fIiwicGFnZSIsIlNFUlZFUl9DT01QT05FTlRfQ0hBTkdFUyIsInN0YXJ0VHJhbnNpdGlvbiIsImZhc3RSZWZyZXNoIiwiUkVMT0FEX1BBR0UiLCJSRU1PVkVEX1BBR0UiLCJBRERFRF9QQUdFIiwiU0VSVkVSX0VSUk9SIiwiZXJyb3JKU09OIiwicGFyc2UiLCJFcnJvciIsIkRFVl9QQUdFU19NQU5JRkVTVF9VUERBVEUiLCJwYXJhbSIsImFzc2V0UHJlZml4IiwiY2hpbGRyZW4iLCJzdGF0ZSIsImRpc3BhdGNoIiwidXNlUmVkdWNlciIsImVycm9yT3ZlcmxheVJlZHVjZXIiLCJJTklUSUFMX09WRVJMQVlfU1RBVEUiLCJ1c2VNZW1vIiwidHlwZSIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJ1c2VDYWxsYmFjayIsImNvbXBvbmVudFN0YWNrIiwiX2NvbXBvbmVudFN0YWNrIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsInJlYXNvbiIsImZyYW1lcyIsInBhcnNlU3RhY2siLCJjb21wb25lbnRTdGFja0ZyYW1lcyIsInBhcnNlQ29tcG9uZW50U3RhY2siLCJoYW5kbGVPblVuaGFuZGxlZFJlamVjdGlvbiIsIkFDVElPTl9VTkhBTkRMRURfUkVKRUNUSU9OIiwiaGFuZGxlT25SZWFjdEVycm9yIiwidXNlRXJyb3JIYW5kbGVyIiwid2ViU29ja2V0UmVmIiwidXNlV2Vic29ja2V0IiwidXNlV2Vic29ja2V0UGluZyIsInVzZVNlbmRNZXNzYWdlIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJkYXRhIiwiaGFuZGxlZEJ5VHVyYm9wYWNrIiwiX2Vycl9zdGFjayIsIndlYnNvY2tldCIsImN1cnJlbnQiLCJhZGRFdmVudExpc3RlbmVyIiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNyZWF0ZUVsZW1lbnQiLCJvblJlYWN0RXJyb3IiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/hot-reloader-client.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js": /*!************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js ***! \************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _erroroverlayreducer = __webpack_require__(/*! ./error-overlay-reducer */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/error-overlay-reducer.js\");\nconst _ShadowPortal = __webpack_require__(/*! ./components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ./container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ./container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _RootLayoutError = __webpack_require__(/*! ./container/RootLayoutError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/RootLayoutError.js\");\nconst _parseStack = __webpack_require__(/*! ./helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ./styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ./styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ./styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n const e = error;\n const event = {\n type: _erroroverlayreducer.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(e.stack)\n };\n const errorEvent = {\n id: 0,\n event\n };\n return {\n reactError: errorEvent\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n const { state, children } = this.props;\n const { reactError } = this.state;\n const hasBuildError = state.buildError != null;\n const hasRuntimeErrors = Boolean(state.errors.length);\n const rootLayoutMissingTagsError = state.rootLayoutMissingTagsError;\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || rootLayoutMissingTagsError;\n return /*#__PURE__*/ _react.createElement(_react.Fragment, null, reactError ? /*#__PURE__*/ _react.createElement(\"html\", null, /*#__PURE__*/ _react.createElement(\"head\", null), /*#__PURE__*/ _react.createElement(\"body\", null)) : children, isMounted ? /*#__PURE__*/ _react.createElement(_ShadowPortal.ShadowPortal, null, /*#__PURE__*/ _react.createElement(_CssReset.CssReset, null), /*#__PURE__*/ _react.createElement(_Base.Base, null), /*#__PURE__*/ _react.createElement(_ComponentStyles.ComponentStyles, null), rootLayoutMissingTagsError ? /*#__PURE__*/ _react.createElement(_RootLayoutError.RootLayoutError, {\n missingTags: rootLayoutMissingTagsError.missingTags\n }) : hasBuildError ? /*#__PURE__*/ _react.createElement(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ _react.createElement(_Errors.Errors, {\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ _react.createElement(_Errors.Errors, {\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined) : undefined);\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\nconst _default = ReactDevOverlay;\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=ReactDevOverlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL1JlYWN0RGV2T3ZlcmxheS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNRyx1QkFBdUJILG1CQUFPQSxDQUFDLHFJQUF5QjtBQUM5RCxNQUFNSSxnQkFBZ0JKLG1CQUFPQSxDQUFDLHlJQUEyQjtBQUN6RCxNQUFNSyxjQUFjTCxtQkFBT0EsQ0FBQyxtSUFBd0I7QUFDcEQsTUFBTU0sVUFBVU4sbUJBQU9BLENBQUMsMkhBQW9CO0FBQzVDLE1BQU1PLG1CQUFtQlAsbUJBQU9BLENBQUMsNklBQTZCO0FBQzlELE1BQU1RLGNBQWNSLG1CQUFPQSxDQUFDLCtIQUFzQjtBQUNsRCxNQUFNUyxRQUFRVCxtQkFBT0EsQ0FBQyxpSEFBZTtBQUNyQyxNQUFNVSxtQkFBbUJWLG1CQUFPQSxDQUFDLHVJQUEwQjtBQUMzRCxNQUFNVyxZQUFZWCxtQkFBT0EsQ0FBQyx5SEFBbUI7QUFDN0MsTUFBTVksd0JBQXdCWCxPQUFPWSxhQUFhO0lBQzlDLE9BQU9DLHlCQUF5QkMsS0FBSyxFQUFFO1FBQ25DLE1BQU1DLElBQUlEO1FBQ1YsTUFBTUUsUUFBUTtZQUNWQyxNQUFNZixxQkFBcUJnQixzQkFBc0I7WUFDakRDLFFBQVFMO1lBQ1JNLFFBQVEsQ0FBQyxHQUFHYixZQUFZYyxVQUFVLEVBQUVOLEVBQUVPLEtBQUs7UUFDL0M7UUFDQSxNQUFNQyxhQUFhO1lBQ2ZDLElBQUk7WUFDSlI7UUFDSjtRQUNBLE9BQU87WUFDSFMsWUFBWUY7UUFDaEI7SUFDSjtJQUNBRyxrQkFBa0JDLFlBQVksRUFBRTtRQUM1QixJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxDQUFDRjtJQUM1QjtJQUNBRyxTQUFTO1FBQ0wsTUFBTSxFQUFFQyxLQUFLLEVBQUVDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQ0osS0FBSztRQUN0QyxNQUFNLEVBQUVILFVBQVUsRUFBRSxHQUFHLElBQUksQ0FBQ00sS0FBSztRQUNqQyxNQUFNRSxnQkFBZ0JGLE1BQU1HLFVBQVUsSUFBSTtRQUMxQyxNQUFNQyxtQkFBbUJDLFFBQVFMLE1BQU1NLE1BQU0sQ0FBQ0MsTUFBTTtRQUNwRCxNQUFNQyw2QkFBNkJSLE1BQU1RLDBCQUEwQjtRQUNuRSxNQUFNQyxZQUFZUCxpQkFBaUJFLG9CQUFvQlYsY0FBY2M7UUFDckUsT0FBTyxXQUFXLEdBQUd2QyxPQUFPeUMsYUFBYSxDQUFDekMsT0FBTzBDLFFBQVEsRUFBRSxNQUFNakIsYUFBYSxXQUFXLEdBQUd6QixPQUFPeUMsYUFBYSxDQUFDLFFBQVEsTUFBTSxXQUFXLEdBQUd6QyxPQUFPeUMsYUFBYSxDQUFDLFFBQVEsT0FBTyxXQUFXLEdBQUd6QyxPQUFPeUMsYUFBYSxDQUFDLFFBQVEsU0FBU1QsVUFBVVEsWUFBWSxXQUFXLEdBQUd4QyxPQUFPeUMsYUFBYSxDQUFDdEMsY0FBY3dDLFlBQVksRUFBRSxNQUFNLFdBQVcsR0FBRzNDLE9BQU95QyxhQUFhLENBQUMvQixVQUFVa0MsUUFBUSxFQUFFLE9BQU8sV0FBVyxHQUFHNUMsT0FBT3lDLGFBQWEsQ0FBQ2pDLE1BQU1xQyxJQUFJLEVBQUUsT0FBTyxXQUFXLEdBQUc3QyxPQUFPeUMsYUFBYSxDQUFDaEMsaUJBQWlCcUMsZUFBZSxFQUFFLE9BQU9QLDZCQUE2QixXQUFXLEdBQUd2QyxPQUFPeUMsYUFBYSxDQUFDbkMsaUJBQWlCeUMsZUFBZSxFQUFFO1lBQzlsQkMsYUFBYVQsMkJBQTJCUyxXQUFXO1FBQ3ZELEtBQUtmLGdCQUFnQixXQUFXLEdBQUdqQyxPQUFPeUMsYUFBYSxDQUFDckMsWUFBWTZDLFVBQVUsRUFBRTtZQUM1RUMsU0FBU25CLE1BQU1HLFVBQVU7WUFDekJpQixhQUFhcEIsTUFBTW9CLFdBQVc7UUFDbEMsS0FBSzFCLGFBQWEsV0FBVyxHQUFHekIsT0FBT3lDLGFBQWEsQ0FBQ3BDLFFBQVErQyxNQUFNLEVBQUU7WUFDakVELGFBQWFwQixNQUFNb0IsV0FBVztZQUM5QkUscUJBQXFCO1lBQ3JCaEIsUUFBUTtnQkFDSlo7YUFDSDtRQUNMLEtBQUtVLG1CQUFtQixXQUFXLEdBQUduQyxPQUFPeUMsYUFBYSxDQUFDcEMsUUFBUStDLE1BQU0sRUFBRTtZQUN2RUMscUJBQXFCO1lBQ3JCaEIsUUFBUU4sTUFBTU0sTUFBTTtZQUNwQmMsYUFBYXBCLE1BQU1vQixXQUFXO1FBQ2xDLEtBQUtHLGFBQWFBO0lBQ3RCO0lBQ0FDLFlBQVksR0FBR0MsSUFBSSxDQUFDO1FBQ2hCLEtBQUssSUFBSUE7UUFDVCxJQUFJLENBQUN6QixLQUFLLEdBQUc7WUFDVE4sWUFBWTtRQUNoQjtJQUNKO0FBQ0o7QUFDQSxNQUFNNUIsV0FBV2M7QUFFakIsSUFBSSxDQUFDLE9BQU9sQixRQUFRZ0UsT0FBTyxLQUFLLGNBQWUsT0FBT2hFLFFBQVFnRSxPQUFPLEtBQUssWUFBWWhFLFFBQVFnRSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9oRSxRQUFRZ0UsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS25FLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWdFLE9BQU8sRUFBRSxjQUFjO1FBQUUvRCxPQUFPO0lBQUs7SUFDbkVILE9BQU9vRSxNQUFNLENBQUNsRSxRQUFRZ0UsT0FBTyxFQUFFaEU7SUFDL0JtRSxPQUFPbkUsT0FBTyxHQUFHQSxRQUFRZ0UsT0FBTztBQUNsQyxFQUVBLDJDQUEyQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvUmVhY3REZXZPdmVybGF5LmpzP2QyYzciXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImRlZmF1bHRcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9kZWZhdWx0O1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xyXG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xyXG5jb25zdCBfZXJyb3JvdmVybGF5cmVkdWNlciA9IHJlcXVpcmUoXCIuL2Vycm9yLW92ZXJsYXktcmVkdWNlclwiKTtcclxuY29uc3QgX1NoYWRvd1BvcnRhbCA9IHJlcXVpcmUoXCIuL2NvbXBvbmVudHMvU2hhZG93UG9ydGFsXCIpO1xyXG5jb25zdCBfQnVpbGRFcnJvciA9IHJlcXVpcmUoXCIuL2NvbnRhaW5lci9CdWlsZEVycm9yXCIpO1xyXG5jb25zdCBfRXJyb3JzID0gcmVxdWlyZShcIi4vY29udGFpbmVyL0Vycm9yc1wiKTtcclxuY29uc3QgX1Jvb3RMYXlvdXRFcnJvciA9IHJlcXVpcmUoXCIuL2NvbnRhaW5lci9Sb290TGF5b3V0RXJyb3JcIik7XHJcbmNvbnN0IF9wYXJzZVN0YWNrID0gcmVxdWlyZShcIi4vaGVscGVycy9wYXJzZVN0YWNrXCIpO1xyXG5jb25zdCBfQmFzZSA9IHJlcXVpcmUoXCIuL3N0eWxlcy9CYXNlXCIpO1xyXG5jb25zdCBfQ29tcG9uZW50U3R5bGVzID0gcmVxdWlyZShcIi4vc3R5bGVzL0NvbXBvbmVudFN0eWxlc1wiKTtcclxuY29uc3QgX0Nzc1Jlc2V0ID0gcmVxdWlyZShcIi4vc3R5bGVzL0Nzc1Jlc2V0XCIpO1xyXG5jbGFzcyBSZWFjdERldk92ZXJsYXkgZXh0ZW5kcyBfcmVhY3QuUHVyZUNvbXBvbmVudCB7XHJcbiAgICBzdGF0aWMgZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yKGVycm9yKSB7XHJcbiAgICAgICAgY29uc3QgZSA9IGVycm9yO1xyXG4gICAgICAgIGNvbnN0IGV2ZW50ID0ge1xyXG4gICAgICAgICAgICB0eXBlOiBfZXJyb3JvdmVybGF5cmVkdWNlci5BQ1RJT05fVU5IQU5ETEVEX0VSUk9SLFxyXG4gICAgICAgICAgICByZWFzb246IGVycm9yLFxyXG4gICAgICAgICAgICBmcmFtZXM6ICgwLCBfcGFyc2VTdGFjay5wYXJzZVN0YWNrKShlLnN0YWNrKVxyXG4gICAgICAgIH07XHJcbiAgICAgICAgY29uc3QgZXJyb3JFdmVudCA9IHtcclxuICAgICAgICAgICAgaWQ6IDAsXHJcbiAgICAgICAgICAgIGV2ZW50XHJcbiAgICAgICAgfTtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICByZWFjdEVycm9yOiBlcnJvckV2ZW50XHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuICAgIGNvbXBvbmVudERpZENhdGNoKGNvbXBvbmVudEVycikge1xyXG4gICAgICAgIHRoaXMucHJvcHMub25SZWFjdEVycm9yKGNvbXBvbmVudEVycik7XHJcbiAgICB9XHJcbiAgICByZW5kZXIoKSB7XHJcbiAgICAgICAgY29uc3QgeyBzdGF0ZSwgY2hpbGRyZW4gfSA9IHRoaXMucHJvcHM7XHJcbiAgICAgICAgY29uc3QgeyByZWFjdEVycm9yIH0gPSB0aGlzLnN0YXRlO1xyXG4gICAgICAgIGNvbnN0IGhhc0J1aWxkRXJyb3IgPSBzdGF0ZS5idWlsZEVycm9yICE9IG51bGw7XHJcbiAgICAgICAgY29uc3QgaGFzUnVudGltZUVycm9ycyA9IEJvb2xlYW4oc3RhdGUuZXJyb3JzLmxlbmd0aCk7XHJcbiAgICAgICAgY29uc3Qgcm9vdExheW91dE1pc3NpbmdUYWdzRXJyb3IgPSBzdGF0ZS5yb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvcjtcclxuICAgICAgICBjb25zdCBpc01vdW50ZWQgPSBoYXNCdWlsZEVycm9yIHx8IGhhc1J1bnRpbWVFcnJvcnMgfHwgcmVhY3RFcnJvciB8fCByb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvcjtcclxuICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChfcmVhY3QuRnJhZ21lbnQsIG51bGwsIHJlYWN0RXJyb3IgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwiaHRtbFwiLCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwiaGVhZFwiLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImJvZHlcIiwgbnVsbCkpIDogY2hpbGRyZW4sIGlzTW91bnRlZCA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoX1NoYWRvd1BvcnRhbC5TaGFkb3dQb3J0YWwsIG51bGwsIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoX0Nzc1Jlc2V0LkNzc1Jlc2V0LCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChfQmFzZS5CYXNlLCBudWxsKSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChfQ29tcG9uZW50U3R5bGVzLkNvbXBvbmVudFN0eWxlcywgbnVsbCksIHJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yID8gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChfUm9vdExheW91dEVycm9yLlJvb3RMYXlvdXRFcnJvciwge1xyXG4gICAgICAgICAgICBtaXNzaW5nVGFnczogcm9vdExheW91dE1pc3NpbmdUYWdzRXJyb3IubWlzc2luZ1RhZ3NcclxuICAgICAgICB9KSA6IGhhc0J1aWxkRXJyb3IgPyAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KF9CdWlsZEVycm9yLkJ1aWxkRXJyb3IsIHtcclxuICAgICAgICAgICAgbWVzc2FnZTogc3RhdGUuYnVpbGRFcnJvcixcclxuICAgICAgICAgICAgdmVyc2lvbkluZm86IHN0YXRlLnZlcnNpb25JbmZvXHJcbiAgICAgICAgfSkgOiByZWFjdEVycm9yID8gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChfRXJyb3JzLkVycm9ycywge1xyXG4gICAgICAgICAgICB2ZXJzaW9uSW5mbzogc3RhdGUudmVyc2lvbkluZm8sXHJcbiAgICAgICAgICAgIGluaXRpYWxEaXNwbGF5U3RhdGU6IFwiZnVsbHNjcmVlblwiLFxyXG4gICAgICAgICAgICBlcnJvcnM6IFtcclxuICAgICAgICAgICAgICAgIHJlYWN0RXJyb3JcclxuICAgICAgICAgICAgXVxyXG4gICAgICAgIH0pIDogaGFzUnVudGltZUVycm9ycyA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoX0Vycm9ycy5FcnJvcnMsIHtcclxuICAgICAgICAgICAgaW5pdGlhbERpc3BsYXlTdGF0ZTogXCJtaW5pbWl6ZWRcIixcclxuICAgICAgICAgICAgZXJyb3JzOiBzdGF0ZS5lcnJvcnMsXHJcbiAgICAgICAgICAgIHZlcnNpb25JbmZvOiBzdGF0ZS52ZXJzaW9uSW5mb1xyXG4gICAgICAgIH0pIDogdW5kZWZpbmVkKSA6IHVuZGVmaW5lZCk7XHJcbiAgICB9XHJcbiAgICBjb25zdHJ1Y3RvciguLi5hcmdzKXtcclxuICAgICAgICBzdXBlciguLi5hcmdzKTtcclxuICAgICAgICB0aGlzLnN0YXRlID0ge1xyXG4gICAgICAgICAgICByZWFjdEVycm9yOiBudWxsXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG5jb25zdCBfZGVmYXVsdCA9IFJlYWN0RGV2T3ZlcmxheTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPVJlYWN0RGV2T3ZlcmxheS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX2RlZmF1bHQiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfZXJyb3JvdmVybGF5cmVkdWNlciIsIl9TaGFkb3dQb3J0YWwiLCJfQnVpbGRFcnJvciIsIl9FcnJvcnMiLCJfUm9vdExheW91dEVycm9yIiwiX3BhcnNlU3RhY2siLCJfQmFzZSIsIl9Db21wb25lbnRTdHlsZXMiLCJfQ3NzUmVzZXQiLCJSZWFjdERldk92ZXJsYXkiLCJQdXJlQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJlIiwiZXZlbnQiLCJ0eXBlIiwiQUNUSU9OX1VOSEFORExFRF9FUlJPUiIsInJlYXNvbiIsImZyYW1lcyIsInBhcnNlU3RhY2siLCJzdGFjayIsImVycm9yRXZlbnQiLCJpZCIsInJlYWN0RXJyb3IiLCJjb21wb25lbnREaWRDYXRjaCIsImNvbXBvbmVudEVyciIsInByb3BzIiwib25SZWFjdEVycm9yIiwicmVuZGVyIiwic3RhdGUiLCJjaGlsZHJlbiIsImhhc0J1aWxkRXJyb3IiLCJidWlsZEVycm9yIiwiaGFzUnVudGltZUVycm9ycyIsIkJvb2xlYW4iLCJlcnJvcnMiLCJsZW5ndGgiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3NFcnJvciIsImlzTW91bnRlZCIsImNyZWF0ZUVsZW1lbnQiLCJGcmFnbWVudCIsIlNoYWRvd1BvcnRhbCIsIkNzc1Jlc2V0IiwiQmFzZSIsIkNvbXBvbmVudFN0eWxlcyIsIlJvb3RMYXlvdXRFcnJvciIsIm1pc3NpbmdUYWdzIiwiQnVpbGRFcnJvciIsIm1lc3NhZ2UiLCJ2ZXJzaW9uSW5mbyIsIkVycm9ycyIsImluaXRpYWxEaXNwbGF5U3RhdGUiLCJ1bmRlZmluZWQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/ReactDevOverlay.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst CodeFrame = function CodeFrame(param) {\n let { stackFrame, codeFrame } = param;\n // Strip leading spaces out of the code frame:\n const formattedFrame = _react.useMemo(()=>{\n const lines = codeFrame.split(/\\r?\\n/g);\n const prefixLength = lines.map((line)=>/^>? +\\d+ +\\| [ ]+/.exec((0, _stripansi.default)(line)) === null ? null : /^>? +\\d+ +\\| ( *)/.exec((0, _stripansi.default)(line))).filter(Boolean).map((v)=>v.pop()).reduce((c, n)=>isNaN(c) ? n.length : Math.min(c, n.length), NaN);\n if (prefixLength > 1) {\n const p = \" \".repeat(prefixLength);\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(p, \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-codeframe\": true\n }, /*#__PURE__*/ _react.createElement(\"div\", null, /*#__PURE__*/ _react.createElement(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\"\n }, /*#__PURE__*/ _react.createElement(\"span\", null, (0, _stackframe.getFrameSource)(stackFrame), \" @ \", stackFrame.methodName), /*#__PURE__*/ _react.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }, /*#__PURE__*/ _react.createElement(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }), /*#__PURE__*/ _react.createElement(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }), /*#__PURE__*/ _react.createElement(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })))), /*#__PURE__*/ _react.createElement(\"pre\", null, decoded.map((entry, index)=>/*#__PURE__*/ _react.createElement(\"span\", {\n key: \"frame-\" + index,\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n }\n }, entry.content))));\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsNkNBQTRDO0lBQ3hDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxtSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUUsU0FBUyxXQUFXLEdBQUdILHlCQUF5QkksQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3RkFBMEI7QUFDMUYsTUFBTUksU0FBUyxXQUFXLEdBQUdILDBCQUEwQkUsQ0FBQyxDQUFDSCxtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNSyxhQUFhLFdBQVcsR0FBR04seUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLGtHQUErQjtBQUNuRyxNQUFNTSxjQUFjTixtQkFBT0EsQ0FBQyxxSUFBMkI7QUFDdkQsTUFBTU8sbUJBQW1CUCxtQkFBT0EsQ0FBQyxtSkFBa0M7QUFDbkUsTUFBTUYsWUFBWSxTQUFTQSxVQUFVVSxLQUFLO0lBQ3RDLElBQUksRUFBRUMsVUFBVSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7SUFDaEMsOENBQThDO0lBQzlDLE1BQU1HLGlCQUFpQlAsT0FBT1EsT0FBTyxDQUFDO1FBQ2xDLE1BQU1DLFFBQVFILFVBQVVJLEtBQUssQ0FBQztRQUM5QixNQUFNQyxlQUFlRixNQUFNRyxHQUFHLENBQUMsQ0FBQ0MsT0FBTyxvQkFBb0JDLElBQUksQ0FBQyxDQUFDLEdBQUdiLFdBQVdjLE9BQU8sRUFBRUYsV0FBVyxPQUFPLE9BQU8sb0JBQW9CQyxJQUFJLENBQUMsQ0FBQyxHQUFHYixXQUFXYyxPQUFPLEVBQUVGLFFBQVFHLE1BQU0sQ0FBQ0MsU0FBU0wsR0FBRyxDQUFDLENBQUNNLElBQUlBLEVBQUVDLEdBQUcsSUFBSUMsTUFBTSxDQUFDLENBQUNDLEdBQUdDLElBQUlDLE1BQU1GLEtBQUtDLEVBQUVFLE1BQU0sR0FBR0MsS0FBS0MsR0FBRyxDQUFDTCxHQUFHQyxFQUFFRSxNQUFNLEdBQUdHO1FBQ3hRLElBQUloQixlQUFlLEdBQUc7WUFDbEIsTUFBTWlCLElBQUksSUFBSUMsTUFBTSxDQUFDbEI7WUFDckIsT0FBT0YsTUFBTUcsR0FBRyxDQUFDLENBQUNDLE1BQU1pQixJQUFJLENBQUVBLENBQUFBLElBQUlqQixLQUFLa0IsT0FBTyxDQUFDLElBQUcsSUFBS2xCLEtBQUttQixTQUFTLENBQUMsR0FBR0YsS0FBS2pCLEtBQUttQixTQUFTLENBQUNGLEdBQUdHLE9BQU8sQ0FBQ0wsR0FBRyxNQUFNZixNQUFNcUIsSUFBSSxDQUFDO1FBQ2hJO1FBQ0EsT0FBT3pCLE1BQU15QixJQUFJLENBQUM7SUFDdEIsR0FBRztRQUNDNUI7S0FDSDtJQUNELE1BQU02QixVQUFVbkMsT0FBT1EsT0FBTyxDQUFDO1FBQzNCLE9BQU9WLE9BQU9pQixPQUFPLENBQUNxQixVQUFVLENBQUM3QixnQkFBZ0I7WUFDN0M4QixNQUFNO1lBQ05DLGFBQWE7WUFDYkMsY0FBYztRQUNsQjtJQUNKLEdBQUc7UUFDQ2hDO0tBQ0g7SUFDRCxNQUFNaUMsT0FBTyxDQUFDLEdBQUdyQyxpQkFBaUJzQyxlQUFlLEVBQUU7UUFDL0NDLE1BQU1yQyxXQUFXcUMsSUFBSTtRQUNyQkMsWUFBWXRDLFdBQVdzQyxVQUFVO1FBQ2pDQyxRQUFRdkMsV0FBV3VDLE1BQU07SUFDN0I7SUFDQSxnQ0FBZ0M7SUFDaEMsT0FBTyxXQUFXLEdBQUc1QyxPQUFPNkMsYUFBYSxDQUFDLE9BQU87UUFDN0MseUJBQXlCO0lBQzdCLEdBQUcsV0FBVyxHQUFHN0MsT0FBTzZDLGFBQWEsQ0FBQyxPQUFPLE1BQU0sV0FBVyxHQUFHN0MsT0FBTzZDLGFBQWEsQ0FBQyxLQUFLO1FBQ3ZGQyxNQUFNO1FBQ05DLFNBQVNQO1FBQ1RRLFVBQVU7UUFDVkMsT0FBTztJQUNYLEdBQUcsV0FBVyxHQUFHakQsT0FBTzZDLGFBQWEsQ0FBQyxRQUFRLE1BQU0sQ0FBQyxHQUFHM0MsWUFBWWdELGNBQWMsRUFBRTdDLGFBQWEsT0FBT0EsV0FBVzhDLFVBQVUsR0FBRyxXQUFXLEdBQUduRCxPQUFPNkMsYUFBYSxDQUFDLE9BQU87UUFDdEtPLE9BQU87UUFDUEMsU0FBUztRQUNUQyxNQUFNO1FBQ05DLFFBQVE7UUFDUkMsYUFBYTtRQUNiQyxlQUFlO1FBQ2ZDLGdCQUFnQjtJQUNwQixHQUFHLFdBQVcsR0FBRzFELE9BQU82QyxhQUFhLENBQUMsUUFBUTtRQUMxQ2MsR0FBRztJQUNQLElBQUksV0FBVyxHQUFHM0QsT0FBTzZDLGFBQWEsQ0FBQyxZQUFZO1FBQy9DZSxRQUFRO0lBQ1osSUFBSSxXQUFXLEdBQUc1RCxPQUFPNkMsYUFBYSxDQUFDLFFBQVE7UUFDM0NnQixJQUFJO1FBQ0pDLElBQUk7UUFDSkMsSUFBSTtRQUNKQyxJQUFJO0lBQ1IsT0FBTyxXQUFXLEdBQUdoRSxPQUFPNkMsYUFBYSxDQUFDLE9BQU8sTUFBTVYsUUFBUXZCLEdBQUcsQ0FBQyxDQUFDcUQsT0FBT0MsUUFBUSxXQUFXLEdBQUdsRSxPQUFPNkMsYUFBYSxDQUFDLFFBQVE7WUFDdEhzQixLQUFLLFdBQVdEO1lBQ2hCRSxPQUFPO2dCQUNIQyxPQUFPSixNQUFNSyxFQUFFLEdBQUcsaUJBQWlCTCxNQUFNSyxFQUFFLEdBQUcsTUFBTUM7Z0JBQ3BELEdBQUdOLE1BQU1PLFVBQVUsS0FBSyxTQUFTO29CQUM3QkMsWUFBWTtnQkFDaEIsSUFBSVIsTUFBTU8sVUFBVSxLQUFLLFdBQVc7b0JBQ2hDRSxXQUFXO2dCQUNmLElBQUlILFNBQVM7WUFDakI7UUFDSixHQUFHTixNQUFNVSxPQUFPO0FBQ3hCO0FBRUEsSUFBSSxDQUFDLE9BQU9yRixRQUFReUIsT0FBTyxLQUFLLGNBQWUsT0FBT3pCLFFBQVF5QixPQUFPLEtBQUssWUFBWXpCLFFBQVF5QixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU96QixRQUFReUIsT0FBTyxDQUFDNkQsVUFBVSxLQUFLLGFBQWE7SUFDckt4RixPQUFPQyxjQUFjLENBQUNDLFFBQVF5QixPQUFPLEVBQUUsY0FBYztRQUFFeEIsT0FBTztJQUFLO0lBQ25FSCxPQUFPeUYsTUFBTSxDQUFDdkYsUUFBUXlCLE9BQU8sRUFBRXpCO0lBQy9Cd0YsT0FBT3hGLE9BQU8sR0FBR0EsUUFBUXlCLE9BQU87QUFDbEMsRUFFQSxxQ0FBcUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcz9mNjIwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb2RlRnJhbWVcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIENvZGVGcmFtZTtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHRcIik7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcclxuY29uc3QgX2Fuc2VyID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuXyhyZXF1aXJlKFwibmV4dC9kaXN0L2NvbXBpbGVkL2Fuc2VyXCIpKTtcclxuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcclxuY29uc3QgX3N0cmlwYW5zaSA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIm5leHQvZGlzdC9jb21waWxlZC9zdHJpcC1hbnNpXCIpKTtcclxuY29uc3QgX3N0YWNrZnJhbWUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9zdGFjay1mcmFtZVwiKTtcclxuY29uc3QgX3VzZW9wZW5pbmVkaXRvciA9IHJlcXVpcmUoXCIuLi8uLi9oZWxwZXJzL3VzZS1vcGVuLWluLWVkaXRvclwiKTtcclxuY29uc3QgQ29kZUZyYW1lID0gZnVuY3Rpb24gQ29kZUZyYW1lKHBhcmFtKSB7XHJcbiAgICBsZXQgeyBzdGFja0ZyYW1lLCBjb2RlRnJhbWUgfSA9IHBhcmFtO1xyXG4gICAgLy8gU3RyaXAgbGVhZGluZyBzcGFjZXMgb3V0IG9mIHRoZSBjb2RlIGZyYW1lOlxyXG4gICAgY29uc3QgZm9ybWF0dGVkRnJhbWUgPSBfcmVhY3QudXNlTWVtbygoKT0+e1xyXG4gICAgICAgIGNvbnN0IGxpbmVzID0gY29kZUZyYW1lLnNwbGl0KC9cXHI/XFxuL2cpO1xyXG4gICAgICAgIGNvbnN0IHByZWZpeExlbmd0aCA9IGxpbmVzLm1hcCgobGluZSk9Pi9ePj8gK1xcZCsgK1xcfCBbIF0rLy5leGVjKCgwLCBfc3RyaXBhbnNpLmRlZmF1bHQpKGxpbmUpKSA9PT0gbnVsbCA/IG51bGwgOiAvXj4/ICtcXGQrICtcXHwgKCAqKS8uZXhlYygoMCwgX3N0cmlwYW5zaS5kZWZhdWx0KShsaW5lKSkpLmZpbHRlcihCb29sZWFuKS5tYXAoKHYpPT52LnBvcCgpKS5yZWR1Y2UoKGMsIG4pPT5pc05hTihjKSA/IG4ubGVuZ3RoIDogTWF0aC5taW4oYywgbi5sZW5ndGgpLCBOYU4pO1xyXG4gICAgICAgIGlmIChwcmVmaXhMZW5ndGggPiAxKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHAgPSBcIiBcIi5yZXBlYXQocHJlZml4TGVuZ3RoKTtcclxuICAgICAgICAgICAgcmV0dXJuIGxpbmVzLm1hcCgobGluZSwgYSk9Pn4oYSA9IGxpbmUuaW5kZXhPZihcInxcIikpID8gbGluZS5zdWJzdHJpbmcoMCwgYSkgKyBsaW5lLnN1YnN0cmluZyhhKS5yZXBsYWNlKHAsIFwiXCIpIDogbGluZSkuam9pbihcIlxcblwiKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGxpbmVzLmpvaW4oXCJcXG5cIik7XHJcbiAgICB9LCBbXHJcbiAgICAgICAgY29kZUZyYW1lXHJcbiAgICBdKTtcclxuICAgIGNvbnN0IGRlY29kZWQgPSBfcmVhY3QudXNlTWVtbygoKT0+e1xyXG4gICAgICAgIHJldHVybiBfYW5zZXIuZGVmYXVsdC5hbnNpVG9Kc29uKGZvcm1hdHRlZEZyYW1lLCB7XHJcbiAgICAgICAgICAgIGpzb246IHRydWUsXHJcbiAgICAgICAgICAgIHVzZV9jbGFzc2VzOiB0cnVlLFxyXG4gICAgICAgICAgICByZW1vdmVfZW1wdHk6IHRydWVcclxuICAgICAgICB9KTtcclxuICAgIH0sIFtcclxuICAgICAgICBmb3JtYXR0ZWRGcmFtZVxyXG4gICAgXSk7XHJcbiAgICBjb25zdCBvcGVuID0gKDAsIF91c2VvcGVuaW5lZGl0b3IudXNlT3BlbkluRWRpdG9yKSh7XHJcbiAgICAgICAgZmlsZTogc3RhY2tGcmFtZS5maWxlLFxyXG4gICAgICAgIGxpbmVOdW1iZXI6IHN0YWNrRnJhbWUubGluZU51bWJlcixcclxuICAgICAgICBjb2x1bW46IHN0YWNrRnJhbWUuY29sdW1uXHJcbiAgICB9KTtcclxuICAgIC8vIFRPRE86IG1ha2UgdGhlIGNhcmV0IGFic29sdXRlXHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XHJcbiAgICAgICAgXCJkYXRhLW5leHRqcy1jb2RlZnJhbWVcIjogdHJ1ZVxyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCBudWxsLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwicFwiLCB7XHJcbiAgICAgICAgcm9sZTogXCJsaW5rXCIsXHJcbiAgICAgICAgb25DbGljazogb3BlbixcclxuICAgICAgICB0YWJJbmRleDogMSxcclxuICAgICAgICB0aXRsZTogXCJDbGljayB0byBvcGVuIGluIHlvdXIgZWRpdG9yXCJcclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIsIG51bGwsICgwLCBfc3RhY2tmcmFtZS5nZXRGcmFtZVNvdXJjZSkoc3RhY2tGcmFtZSksIFwiIEAgXCIsIHN0YWNrRnJhbWUubWV0aG9kTmFtZSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xyXG4gICAgICAgIHhtbG5zOiBcImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIsXHJcbiAgICAgICAgdmlld0JveDogXCIwIDAgMjQgMjRcIixcclxuICAgICAgICBmaWxsOiBcIm5vbmVcIixcclxuICAgICAgICBzdHJva2U6IFwiY3VycmVudENvbG9yXCIsXHJcbiAgICAgICAgc3Ryb2tlV2lkdGg6IFwiMlwiLFxyXG4gICAgICAgIHN0cm9rZUxpbmVjYXA6IFwicm91bmRcIixcclxuICAgICAgICBzdHJva2VMaW5lam9pbjogXCJyb3VuZFwiXHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwicGF0aFwiLCB7XHJcbiAgICAgICAgZDogXCJNMTggMTN2NmEyIDIgMCAwIDEtMiAySDVhMiAyIDAgMCAxLTItMlY4YTIgMiAwIDAgMSAyLTJoNlwiXHJcbiAgICB9KSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcInBvbHlsaW5lXCIsIHtcclxuICAgICAgICBwb2ludHM6IFwiMTUgMyAyMSAzIDIxIDlcIlxyXG4gICAgfSksIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJsaW5lXCIsIHtcclxuICAgICAgICB4MTogXCIxMFwiLFxyXG4gICAgICAgIHkxOiBcIjE0XCIsXHJcbiAgICAgICAgeDI6IFwiMjFcIixcclxuICAgICAgICB5MjogXCIzXCJcclxuICAgIH0pKSkpLCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwicHJlXCIsIG51bGwsIGRlY29kZWQubWFwKChlbnRyeSwgaW5kZXgpPT4vKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XHJcbiAgICAgICAgICAgIGtleTogXCJmcmFtZS1cIiArIGluZGV4LFxyXG4gICAgICAgICAgICBzdHlsZToge1xyXG4gICAgICAgICAgICAgICAgY29sb3I6IGVudHJ5LmZnID8gXCJ2YXIoLS1jb2xvci1cIiArIGVudHJ5LmZnICsgXCIpXCIgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICAuLi5lbnRyeS5kZWNvcmF0aW9uID09PSBcImJvbGRcIiA/IHtcclxuICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiA4MDBcclxuICAgICAgICAgICAgICAgIH0gOiBlbnRyeS5kZWNvcmF0aW9uID09PSBcIml0YWxpY1wiID8ge1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnRTdHlsZTogXCJpdGFsaWNcIlxyXG4gICAgICAgICAgICAgICAgfSA6IHVuZGVmaW5lZFxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSwgZW50cnkuY29udGVudCkpKSk7XHJcbn07XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1Db2RlRnJhbWUuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkNvZGVGcmFtZSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX2Fuc2VyIiwiXyIsIl9yZWFjdCIsIl9zdHJpcGFuc2kiLCJfc3RhY2tmcmFtZSIsIl91c2VvcGVuaW5lZGl0b3IiLCJwYXJhbSIsInN0YWNrRnJhbWUiLCJjb2RlRnJhbWUiLCJmb3JtYXR0ZWRGcmFtZSIsInVzZU1lbW8iLCJsaW5lcyIsInNwbGl0IiwicHJlZml4TGVuZ3RoIiwibWFwIiwibGluZSIsImV4ZWMiLCJkZWZhdWx0IiwiZmlsdGVyIiwiQm9vbGVhbiIsInYiLCJwb3AiLCJyZWR1Y2UiLCJjIiwibiIsImlzTmFOIiwibGVuZ3RoIiwiTWF0aCIsIm1pbiIsIk5hTiIsInAiLCJyZXBlYXQiLCJhIiwiaW5kZXhPZiIsInN1YnN0cmluZyIsInJlcGxhY2UiLCJqb2luIiwiZGVjb2RlZCIsImFuc2lUb0pzb24iLCJqc29uIiwidXNlX2NsYXNzZXMiLCJyZW1vdmVfZW1wdHkiLCJvcGVuIiwidXNlT3BlbkluRWRpdG9yIiwiZmlsZSIsImxpbmVOdW1iZXIiLCJjb2x1bW4iLCJjcmVhdGVFbGVtZW50Iiwicm9sZSIsIm9uQ2xpY2siLCJ0YWJJbmRleCIsInRpdGxlIiwiZ2V0RnJhbWVTb3VyY2UiLCJtZXRob2ROYW1lIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiZCIsInBvaW50cyIsIngxIiwieTEiLCJ4MiIsInkyIiwiZW50cnkiLCJpbmRleCIsImtleSIsInN0eWxlIiwiY29sb3IiLCJmZyIsInVuZGVmaW5lZCIsImRlY29yYXRpb24iLCJmb250V2VpZ2h0IiwiZm9udFN0eWxlIiwiY29udGVudCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return _CodeFrame.CodeFrame;\n }\n}));\nconst _CodeFrame = __webpack_require__(/*! ./CodeFrame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGSCw2Q0FBNEM7SUFDeENJLFlBQVk7SUFDWkMsS0FBSztRQUNELE9BQU9DLFdBQVdDLFNBQVM7SUFDL0I7QUFDSixDQUFDLEVBQUM7QUFDRixNQUFNRCxhQUFhRSxtQkFBT0EsQ0FBQyxrSUFBYTtBQUV4QyxJQUFJLENBQUMsT0FBT04sUUFBUU8sT0FBTyxLQUFLLGNBQWUsT0FBT1AsUUFBUU8sT0FBTyxLQUFLLFlBQVlQLFFBQVFPLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT1AsUUFBUU8sT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS1YsT0FBT0MsY0FBYyxDQUFDQyxRQUFRTyxPQUFPLEVBQUUsY0FBYztRQUFFTixPQUFPO0lBQUs7SUFDbkVILE9BQU9XLE1BQU0sQ0FBQ1QsUUFBUU8sT0FBTyxFQUFFUDtJQUMvQlUsT0FBT1YsT0FBTyxHQUFHQSxRQUFRTyxPQUFPO0FBQ2xDLEVBRUEsaUNBQWlDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vbmV4dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0NvZGVGcmFtZS9pbmRleC5qcz83MGY4Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJDb2RlRnJhbWVcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9Db2RlRnJhbWUuQ29kZUZyYW1lO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX0NvZGVGcmFtZSA9IHJlcXVpcmUoXCIuL0NvZGVGcmFtZVwiKTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJfQ29kZUZyYW1lIiwiQ29kZUZyYW1lIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": /*!************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! \************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQywrSEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcz9kYmFiIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XHJcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xyXG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xyXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSB7XFxuICAgIG92ZXJmbG93OiBhdXRvO1xcbiAgICBib3JkZXItcmFkaXVzOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItYW5zaS1iZyk7XFxuICAgIGNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLWZnKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdOjpzZWxlY3Rpb24sXFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSAqOjpzZWxlY3Rpb24ge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1hbnNpLXNlbGVjdGlvbik7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSAqIHtcXG4gICAgY29sb3I6IGluaGVyaXQ7XFxuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zdGFjay1tb25vc3BhY2UpO1xcbiAgfVxcblxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiAqIHtcXG4gICAgbWFyZ2luOiAwO1xcbiAgICBwYWRkaW5nOiBjYWxjKHZhcigtLXNpemUtZ2FwKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKVxcbiAgICAgIGNhbGModmFyKC0tc2l6ZS1nYXAtZG91YmxlKSArIHZhcigtLXNpemUtZ2FwLWhhbGYpKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gZGl2IHtcXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgbWluLXdpZHRoOiAxMDAlO1xcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tY29sb3ItYW5zaS1icmlnaHQtYmxhY2spO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWNvZGVmcmFtZV0gPiBkaXYgPiBwIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xcbiAgICBjdXJzb3I6IHBvaW50ZXI7XFxuICAgIG1hcmdpbjogMDtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdID4gZGl2ID4gcDpob3ZlciB7XFxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1jb2RlZnJhbWVdIGRpdiA+IHAgPiBzdmcge1xcbiAgICB3aWR0aDogYXV0bztcXG4gICAgaGVpZ2h0OiAxZW07XFxuICAgIG1hcmdpbi1sZWZ0OiA4cHg7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtY29kZWZyYW1lXSBkaXYgPiBwcmUge1xcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XFxuICB9XFxuXCJcclxuICAgIF0pO1xyXG4gICAgX3RlbXBsYXRlT2JqZWN0ID0gZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGRhdGE7XHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIGRhdGE7XHJcbn1cclxuY29uc3Qgc3R5bGVzID0gKDAsIF9ub29wdGVtcGxhdGUubm9vcCkoX3RlbXBsYXRlT2JqZWN0KCkpO1xyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9c3R5bGVzLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJzdHlsZXMiLCJfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UiLCJyZXF1aXJlIiwiX25vb3B0ZW1wbGF0ZSIsIl90ZW1wbGF0ZU9iamVjdCIsImRhdGEiLCJfIiwibm9vcCIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, onClose);\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ _react.createElement(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\"\n }, /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }), children);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNRyxxQkFBcUJILG1CQUFPQSxDQUFDLG1KQUFrQztBQUNyRSxNQUFNRixTQUFTLFNBQVNBLE9BQU9NLEtBQUs7SUFDaEMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsT0FBTyxFQUFFLEdBQUdDLE9BQU8sR0FBR0o7SUFDNUMsTUFBTSxDQUFDSyxRQUFRQyxVQUFVLEdBQUdULE9BQU9VLFFBQVEsQ0FBQztJQUM1QyxNQUFNLENBQUNDLE1BQU1DLFFBQVEsR0FBR1osT0FBT1UsUUFBUSxDQUFDLE9BQU9HLGFBQWEsZUFBZUEsU0FBU0MsUUFBUSxLQUFLLFdBQVdDO0lBQzVHLE1BQU1DLFdBQVdoQixPQUFPaUIsV0FBVyxDQUFDLENBQUNDO1FBQ2pDVCxVQUFVUztJQUNkLEdBQUcsRUFBRTtJQUNKLElBQUdoQixtQkFBbUJpQixpQkFBaUIsRUFBRVgsUUFBUUY7SUFDbEQsdUVBQXVFO0lBQ3ZFLDBCQUEwQjtJQUMxQk4sT0FBT29CLFNBQVMsQ0FBQztRQUNiLElBQUlaLFVBQVUsTUFBTTtZQUNoQjtRQUNKO1FBQ0EsTUFBTWEsT0FBT2IsT0FBT2MsV0FBVztRQUMvQiw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFFRCxDQUFBQSxnQkFBZ0JFLFVBQVMsR0FBSTtZQUMvQjtRQUNKO1FBQ0EsTUFBTUMsYUFBYUg7UUFDbkIsU0FBU0ksUUFBUUMsQ0FBQztZQUNkLE1BQU1DLEtBQUtILFdBQVdJLGFBQWE7WUFDbkMsSUFBSUYsRUFBRUcsR0FBRyxLQUFLLFdBQVdGLGNBQWNHLGVBQWVILEdBQUdJLFlBQVksQ0FBQyxZQUFZLFFBQVE7Z0JBQ3RGTCxFQUFFTSxjQUFjO2dCQUNoQk4sRUFBRU8sZUFBZTtnQkFDakJOLEdBQUdPLEtBQUs7WUFDWjtRQUNKO1FBQ0EsU0FBU0M7WUFDTCwyR0FBMkc7WUFDM0csNkVBQTZFO1lBQzdFdkIsUUFBUUMsU0FBU0MsUUFBUSxLQUFLLFdBQVdDO1FBQzdDO1FBQ0FTLFdBQVdZLGdCQUFnQixDQUFDLFdBQVdYO1FBQ3ZDWSxPQUFPRCxnQkFBZ0IsQ0FBQyxTQUFTRDtRQUNqQ0UsT0FBT0QsZ0JBQWdCLENBQUMsUUFBUUQ7UUFDaEMsT0FBTztZQUNIWCxXQUFXYyxtQkFBbUIsQ0FBQyxXQUFXYjtZQUMxQ1ksT0FBT0MsbUJBQW1CLENBQUMsU0FBU0g7WUFDcENFLE9BQU9DLG1CQUFtQixDQUFDLFFBQVFIO1FBQ3ZDO0lBQ0osR0FBRztRQUNDM0I7S0FDSDtJQUNELE9BQU8sV0FBVyxHQUFHUixPQUFPdUMsYUFBYSxDQUFDLE9BQU87UUFDN0NDLEtBQUt4QjtRQUNMLHNCQUFzQjtRQUN0QnlCLFVBQVUsQ0FBQztRQUNYOUIsTUFBTUE7UUFDTixtQkFBbUJKLEtBQUssQ0FBQyxrQkFBa0I7UUFDM0Msb0JBQW9CQSxLQUFLLENBQUMsbUJBQW1CO1FBQzdDLGNBQWM7SUFDbEIsR0FBRyxXQUFXLEdBQUdQLE9BQU91QyxhQUFhLENBQUMsT0FBTztRQUN6Qyw2QkFBNkI7UUFDN0JHLFdBQVcsWUFBWXJDO0lBQzNCLElBQUlEO0FBQ1I7QUFFQSxJQUFJLENBQUMsT0FBT1gsUUFBUWtELE9BQU8sS0FBSyxjQUFlLE9BQU9sRCxRQUFRa0QsT0FBTyxLQUFLLFlBQVlsRCxRQUFRa0QsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPbEQsUUFBUWtELE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktyRCxPQUFPQyxjQUFjLENBQUNDLFFBQVFrRCxPQUFPLEVBQUUsY0FBYztRQUFFakQsT0FBTztJQUFLO0lBQ25FSCxPQUFPc0QsTUFBTSxDQUFDcEQsUUFBUWtELE9BQU8sRUFBRWxEO0lBQy9CcUQsT0FBT3JELE9BQU8sR0FBR0EsUUFBUWtELE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcz9mZDkzIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJEaWFsb2dcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIERpYWxvZztcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcclxuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcclxuY29uc3QgX3VzZW9uY2xpY2tvdXRzaWRlID0gcmVxdWlyZShcIi4uLy4uL2hvb2tzL3VzZS1vbi1jbGljay1vdXRzaWRlXCIpO1xyXG5jb25zdCBEaWFsb2cgPSBmdW5jdGlvbiBEaWFsb2cocGFyYW0pIHtcclxuICAgIGxldCB7IGNoaWxkcmVuLCB0eXBlLCBvbkNsb3NlLCAuLi5wcm9wcyB9ID0gcGFyYW07XHJcbiAgICBjb25zdCBbZGlhbG9nLCBzZXREaWFsb2ddID0gX3JlYWN0LnVzZVN0YXRlKG51bGwpO1xyXG4gICAgY29uc3QgW3JvbGUsIHNldFJvbGVdID0gX3JlYWN0LnVzZVN0YXRlKHR5cGVvZiBkb2N1bWVudCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBkb2N1bWVudC5oYXNGb2N1cygpID8gXCJkaWFsb2dcIiA6IHVuZGVmaW5lZCk7XHJcbiAgICBjb25zdCBvbkRpYWxvZyA9IF9yZWFjdC51c2VDYWxsYmFjaygobm9kZSk9PntcclxuICAgICAgICBzZXREaWFsb2cobm9kZSk7XHJcbiAgICB9LCBbXSk7XHJcbiAgICAoMCwgX3VzZW9uY2xpY2tvdXRzaWRlLnVzZU9uQ2xpY2tPdXRzaWRlKShkaWFsb2csIG9uQ2xvc2UpO1xyXG4gICAgLy8gTWFrZSBIVE1MRWxlbWVudHMgd2l0aCBgcm9sZT1saW5rYCBhY2Nlc3NpYmxlIHRvIGJlIHRyaWdnZXJlZCBieSB0aGVcclxuICAgIC8vIGtleWJvYXJkLCBpLmUuIFtFbnRlcl0uXHJcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XHJcbiAgICAgICAgaWYgKGRpYWxvZyA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgcm9vdCA9IGRpYWxvZy5nZXRSb290Tm9kZSgpO1xyXG4gICAgICAgIC8vIEFsd2F5cyB0cnVlLCBidXQgd2UgZG8gdGhpcyBmb3IgVHlwZVNjcmlwdDpcclxuICAgICAgICBpZiAoIShyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzaGFkb3dSb290ID0gcm9vdDtcclxuICAgICAgICBmdW5jdGlvbiBoYW5kbGVyKGUpIHtcclxuICAgICAgICAgICAgY29uc3QgZWwgPSBzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJFbnRlclwiICYmIGVsIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQgJiYgZWwuZ2V0QXR0cmlidXRlKFwicm9sZVwiKSA9PT0gXCJsaW5rXCIpIHtcclxuICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICAgICAgICAgICAgICBlbC5jbGljaygpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGZ1bmN0aW9uIGhhbmRsZUZvY3VzKCkge1xyXG4gICAgICAgICAgICAvLyBzYWZhcmkgd2lsbCBmb3JjZSBpdHNlbGYgYXMgdGhlIGFjdGl2ZSBhcHBsaWNhdGlvbiB3aGVuIGEgYmFja2dyb3VuZCBwYWdlIHRyaWdnZXJzIGFueSBzb3J0IG9mIGF1dG9mb2N1c1xyXG4gICAgICAgICAgICAvLyB0aGlzIGlzIGEgd29ya2Fyb3VuZCB0byBvbmx5IHNldCB0aGUgZGlhbG9nIHJvbGUgaWYgdGhlIGRvY3VtZW50IGhhcyBmb2N1c1xyXG4gICAgICAgICAgICBzZXRSb2xlKGRvY3VtZW50Lmhhc0ZvY3VzKCkgPyBcImRpYWxvZ1wiIDogdW5kZWZpbmVkKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgc2hhZG93Um9vdC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsIGhhbmRsZUZvY3VzKTtcclxuICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcImJsdXJcIiwgaGFuZGxlRm9jdXMpO1xyXG4gICAgICAgIHJldHVybiAoKT0+e1xyXG4gICAgICAgICAgICBzaGFkb3dSb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZXIpO1xyXG4gICAgICAgICAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImZvY3VzXCIsIGhhbmRsZUZvY3VzKTtcclxuICAgICAgICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJibHVyXCIsIGhhbmRsZUZvY3VzKTtcclxuICAgICAgICB9O1xyXG4gICAgfSwgW1xyXG4gICAgICAgIGRpYWxvZ1xyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XHJcbiAgICAgICAgcmVmOiBvbkRpYWxvZyxcclxuICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZ1wiOiB0cnVlLFxyXG4gICAgICAgIHRhYkluZGV4OiAtMSxcclxuICAgICAgICByb2xlOiByb2xlLFxyXG4gICAgICAgIFwiYXJpYS1sYWJlbGxlZGJ5XCI6IHByb3BzW1wiYXJpYS1sYWJlbGxlZGJ5XCJdLFxyXG4gICAgICAgIFwiYXJpYS1kZXNjcmliZWRieVwiOiBwcm9wc1tcImFyaWEtZGVzY3JpYmVkYnlcIl0sXHJcbiAgICAgICAgXCJhcmlhLW1vZGFsXCI6IFwidHJ1ZVwiXHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcclxuICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXJcIjogdHJ1ZSxcclxuICAgICAgICBjbGFzc05hbWU6IFwiYmFubmVyLVwiICsgdHlwZVxyXG4gICAgfSksIGNoaWxkcmVuKTtcclxufTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPURpYWxvZy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRGlhbG9nIiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwiX3VzZW9uY2xpY2tvdXRzaWRlIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJvbkNsb3NlIiwicHJvcHMiLCJkaWFsb2ciLCJzZXREaWFsb2ciLCJ1c2VTdGF0ZSIsInJvbGUiLCJzZXRSb2xlIiwiZG9jdW1lbnQiLCJoYXNGb2N1cyIsInVuZGVmaW5lZCIsIm9uRGlhbG9nIiwidXNlQ2FsbGJhY2siLCJub2RlIiwidXNlT25DbGlja091dHNpZGUiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJTaGFkb3dSb290Iiwic2hhZG93Um9vdCIsImhhbmRsZXIiLCJlIiwiZWwiLCJhY3RpdmVFbGVtZW50Iiwia2V5IiwiSFRNTEVsZW1lbnQiLCJnZXRBdHRyaWJ1dGUiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImNsaWNrIiwiaGFuZGxlRm9jdXMiLCJhZGRFdmVudExpc3RlbmVyIiwid2luZG93IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNyZWF0ZUVsZW1lbnQiLCJyZWYiLCJ0YWJJbmRleCIsImNsYXNzTmFtZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": /*!*************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! \*************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className\n }, children);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILDhDQUE2QztJQUN6Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMscUhBQTBDO0FBQ3BGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRiwwQkFBMEJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUYsYUFBYSxTQUFTQSxXQUFXSyxLQUFLO0lBQ3hDLElBQUksRUFBRUMsUUFBUSxFQUFFQyxTQUFTLEVBQUUsR0FBR0Y7SUFDOUIsT0FBTyxXQUFXLEdBQUdGLE9BQU9LLGFBQWEsQ0FBQyxPQUFPO1FBQzdDLDJCQUEyQjtRQUMzQkQsV0FBV0E7SUFDZixHQUFHRDtBQUNQO0FBRUEsSUFBSSxDQUFDLE9BQU9WLFFBQVFhLE9BQU8sS0FBSyxjQUFlLE9BQU9iLFFBQVFhLE9BQU8sS0FBSyxZQUFZYixRQUFRYSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9iLFFBQVFhLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktoQixPQUFPQyxjQUFjLENBQUNDLFFBQVFhLE9BQU8sRUFBRSxjQUFjO1FBQUVaLE9BQU87SUFBSztJQUNuRUgsT0FBT2lCLE1BQU0sQ0FBQ2YsUUFBUWEsT0FBTyxFQUFFYjtJQUMvQmdCLE9BQU9oQixPQUFPLEdBQUdBLFFBQVFhLE9BQU87QUFDbEMsRUFFQSxzQ0FBc0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanM/YTEwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiRGlhbG9nQm9keVwiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gRGlhbG9nQm9keTtcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQgPSByZXF1aXJlKFwiQHN3Yy9oZWxwZXJzL18vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZFwiKTtcclxuY29uc3QgX3JlYWN0ID0gLyojX19QVVJFX18qLyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLl8ocmVxdWlyZShcInJlYWN0XCIpKTtcclxuY29uc3QgRGlhbG9nQm9keSA9IGZ1bmN0aW9uIERpYWxvZ0JvZHkocGFyYW0pIHtcclxuICAgIGxldCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgfSA9IHBhcmFtO1xyXG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xyXG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWJvZHlcIjogdHJ1ZSxcclxuICAgICAgICBjbGFzc05hbWU6IGNsYXNzTmFtZVxyXG4gICAgfSwgY2hpbGRyZW4pO1xyXG59O1xyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9RGlhbG9nQm9keS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiRGlhbG9nQm9keSIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJjcmVhdGVFbGVtZW50IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": /*!****************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! \****************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className\n }, children);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6IkFBQWE7QUFDYkEsOENBQTZDO0lBQ3pDRyxPQUFPO0FBQ1gsQ0FBQyxFQUFDO0FBQ0ZILGlEQUFnRDtJQUM1Q0ksWUFBWTtJQUNaQyxLQUFLO1FBQ0QsT0FBT0M7SUFDWDtBQUNKLENBQUMsRUFBQztBQUNGLE1BQU1DLDRCQUE0QkMsbUJBQU9BLENBQUMscUhBQTBDO0FBQ3BGLE1BQU1DLFNBQVMsV0FBVyxHQUFHRiwwQkFBMEJHLENBQUMsQ0FBQ0YsbUJBQU9BLENBQUMsd0dBQU87QUFDeEUsTUFBTUYsZ0JBQWdCLFNBQVNBLGNBQWNLLEtBQUs7SUFDOUMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRSxHQUFHRjtJQUM5QixPQUFPLFdBQVcsR0FBR0YsT0FBT0ssYUFBYSxDQUFDLE9BQU87UUFDN0MsOEJBQThCO1FBQzlCRCxXQUFXQTtJQUNmLEdBQUdEO0FBQ1A7QUFFQSxJQUFJLENBQUMsT0FBT1YsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWEsT0FBTyxFQUFFLGNBQWM7UUFBRVosT0FBTztJQUFLO0lBQ25FSCxPQUFPaUIsTUFBTSxDQUFDZixRQUFRYSxPQUFPLEVBQUViO0lBQy9CZ0IsT0FBT2hCLE9BQU8sR0FBR0EsUUFBUWEsT0FBTztBQUNsQyxFQUVBLHlDQUF5QyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQ29udGVudC5qcz85NTM2Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJEaWFsb2dDb250ZW50XCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBEaWFsb2dDb250ZW50O1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xyXG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xyXG5jb25zdCBEaWFsb2dDb250ZW50ID0gZnVuY3Rpb24gRGlhbG9nQ29udGVudChwYXJhbSkge1xyXG4gICAgbGV0IHsgY2hpbGRyZW4sIGNsYXNzTmFtZSB9ID0gcGFyYW07XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XHJcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudFwiOiB0cnVlLFxyXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXHJcbiAgICB9LCBjaGlsZHJlbik7XHJcbn07XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EaWFsb2dDb250ZW50LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJEaWFsb2dDb250ZW50IiwiX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCIsInJlcXVpcmUiLCJfcmVhY3QiLCJfIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsImNyZWF0ZUVsZW1lbnQiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! \***************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className\n }, children);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsZ0RBQStDO0lBQzNDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNRixlQUFlLFNBQVNBLGFBQWFLLEtBQUs7SUFDNUMsSUFBSSxFQUFFQyxRQUFRLEVBQUVDLFNBQVMsRUFBRSxHQUFHRjtJQUM5QixPQUFPLFdBQVcsR0FBR0YsT0FBT0ssYUFBYSxDQUFDLE9BQU87UUFDN0MsNkJBQTZCO1FBQzdCRCxXQUFXQTtJQUNmLEdBQUdEO0FBQ1A7QUFFQSxJQUFJLENBQUMsT0FBT1YsUUFBUWEsT0FBTyxLQUFLLGNBQWUsT0FBT2IsUUFBUWEsT0FBTyxLQUFLLFlBQVliLFFBQVFhLE9BQU8sS0FBSyxJQUFJLEtBQU0sT0FBT2IsUUFBUWEsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS2hCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUWEsT0FBTyxFQUFFLGNBQWM7UUFBRVosT0FBTztJQUFLO0lBQ25FSCxPQUFPaUIsTUFBTSxDQUFDZixRQUFRYSxPQUFPLEVBQUViO0lBQy9CZ0IsT0FBT2hCLE9BQU8sR0FBR0EsUUFBUWEsT0FBTztBQUNsQyxFQUVBLHdDQUF3QyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nSGVhZGVyLmpzP2ZiZWYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIkRpYWxvZ0hlYWRlclwiLCB7XHJcbiAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgZ2V0OiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gRGlhbG9nSGVhZGVyO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xyXG5jb25zdCBfcmVhY3QgPSAvKiNfX1BVUkVfXyovIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQuXyhyZXF1aXJlKFwicmVhY3RcIikpO1xyXG5jb25zdCBEaWFsb2dIZWFkZXIgPSBmdW5jdGlvbiBEaWFsb2dIZWFkZXIocGFyYW0pIHtcclxuICAgIGxldCB7IGNoaWxkcmVuLCBjbGFzc05hbWUgfSA9IHBhcmFtO1xyXG4gICAgcmV0dXJuIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xyXG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlclwiOiB0cnVlLFxyXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXHJcbiAgICB9LCBjaGlsZHJlbik7XHJcbn07XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1EaWFsb2dIZWFkZXIuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsIkRpYWxvZ0hlYWRlciIsIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiXyIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJjcmVhdGVFbGVtZW50IiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js": /*!********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js ***! \********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n Dialog: function() {\n return _Dialog.Dialog;\n },\n DialogBody: function() {\n return _DialogBody.DialogBody;\n },\n DialogContent: function() {\n return _DialogContent.DialogContent;\n },\n DialogHeader: function() {\n return _DialogHeader.DialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _Dialog = __webpack_require__(/*! ./Dialog */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\");\nconst _DialogBody = __webpack_require__(/*! ./DialogBody */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\");\nconst _DialogContent = __webpack_require__(/*! ./DialogContent */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\");\nconst _DialogHeader = __webpack_require__(/*! ./DialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBTU47QUFDQSxTQUFTTSxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJWixPQUFPQyxjQUFjLENBQUNVLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUVIsU0FBUztJQUNiRyxRQUFRO1FBQ0osT0FBT1csUUFBUVgsTUFBTTtJQUN6QjtJQUNBQyxZQUFZO1FBQ1IsT0FBT1csWUFBWVgsVUFBVTtJQUNqQztJQUNBQyxlQUFlO1FBQ1gsT0FBT1csZUFBZVgsYUFBYTtJQUN2QztJQUNBQyxjQUFjO1FBQ1YsT0FBT1csY0FBY1gsWUFBWTtJQUNyQztJQUNBQyxRQUFRO1FBQ0osT0FBT1csUUFBUVgsTUFBTTtJQUN6QjtBQUNKO0FBQ0EsTUFBTU8sVUFBVUssbUJBQU9BLENBQUMseUhBQVU7QUFDbEMsTUFBTUosY0FBY0ksbUJBQU9BLENBQUMsaUlBQWM7QUFDMUMsTUFBTUgsaUJBQWlCRyxtQkFBT0EsQ0FBQyx1SUFBaUI7QUFDaEQsTUFBTUYsZ0JBQWdCRSxtQkFBT0EsQ0FBQyxxSUFBZ0I7QUFDOUMsTUFBTUQsVUFBVUMsbUJBQU9BLENBQUMseUhBQVU7QUFFbEMsSUFBSSxDQUFDLE9BQU9uQixRQUFRb0IsT0FBTyxLQUFLLGNBQWUsT0FBT3BCLFFBQVFvQixPQUFPLEtBQUssWUFBWXBCLFFBQVFvQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9wQixRQUFRb0IsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNyS3ZCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUW9CLE9BQU8sRUFBRSxjQUFjO1FBQUVuQixPQUFPO0lBQUs7SUFDbkVILE9BQU93QixNQUFNLENBQUN0QixRQUFRb0IsT0FBTyxFQUFFcEI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUW9CLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzPzIzOTMiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xyXG4gICAgRGlhbG9nOiBudWxsLFxyXG4gICAgRGlhbG9nQm9keTogbnVsbCxcclxuICAgIERpYWxvZ0NvbnRlbnQ6IG51bGwsXHJcbiAgICBEaWFsb2dIZWFkZXI6IG51bGwsXHJcbiAgICBzdHlsZXM6IG51bGxcclxufSk7XHJcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcclxuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cclxuICAgIH0pO1xyXG59XHJcbl9leHBvcnQoZXhwb3J0cywge1xyXG4gICAgRGlhbG9nOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gX0RpYWxvZy5EaWFsb2c7XHJcbiAgICB9LFxyXG4gICAgRGlhbG9nQm9keTogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9EaWFsb2dCb2R5LkRpYWxvZ0JvZHk7XHJcbiAgICB9LFxyXG4gICAgRGlhbG9nQ29udGVudDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9EaWFsb2dDb250ZW50LkRpYWxvZ0NvbnRlbnQ7XHJcbiAgICB9LFxyXG4gICAgRGlhbG9nSGVhZGVyOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gX0RpYWxvZ0hlYWRlci5EaWFsb2dIZWFkZXI7XHJcbiAgICB9LFxyXG4gICAgc3R5bGVzOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gX3N0eWxlcy5zdHlsZXM7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfRGlhbG9nID0gcmVxdWlyZShcIi4vRGlhbG9nXCIpO1xyXG5jb25zdCBfRGlhbG9nQm9keSA9IHJlcXVpcmUoXCIuL0RpYWxvZ0JvZHlcIik7XHJcbmNvbnN0IF9EaWFsb2dDb250ZW50ID0gcmVxdWlyZShcIi4vRGlhbG9nQ29udGVudFwiKTtcclxuY29uc3QgX0RpYWxvZ0hlYWRlciA9IHJlcXVpcmUoXCIuL0RpYWxvZ0hlYWRlclwiKTtcclxuY29uc3QgX3N0eWxlcyA9IHJlcXVpcmUoXCIuL3N0eWxlc1wiKTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkRpYWxvZyIsIkRpYWxvZ0JvZHkiLCJEaWFsb2dDb250ZW50IiwiRGlhbG9nSGVhZGVyIiwic3R5bGVzIiwiX2V4cG9ydCIsInRhcmdldCIsImFsbCIsIm5hbWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX0RpYWxvZyIsIl9EaWFsb2dCb2R5IiwiX0RpYWxvZ0NvbnRlbnQiLCJfRGlhbG9nSGVhZGVyIiwiX3N0eWxlcyIsInJlcXVpcmUiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: white;\\n border-radius: var(--size-gap);\\n box-shadow: 0 var(--size-gap-half) var(--size-gap-double)\\n rgba(0, 0, 0, 0.25);\\n max-height: calc(100% - 56px);\\n overflow-y: hidden;\\n }\\n\\n @media (max-height: 812px) {\\n [data-nextjs-dialog-overlay] {\\n max-height: calc(100% - 15px);\\n }\\n }\\n\\n @media (min-width: 576px) {\\n [data-nextjs-dialog] {\\n max-width: 540px;\\n box-shadow: 0 var(--size-gap) var(--size-gap-quad) rgba(0, 0, 0, 0.25);\\n }\\n }\\n\\n @media (min-width: 768px) {\\n [data-nextjs-dialog] {\\n max-width: 720px;\\n }\\n }\\n\\n @media (min-width: 992px) {\\n [data-nextjs-dialog] {\\n max-width: 960px;\\n }\\n }\\n\\n [data-nextjs-dialog-banner] {\\n position: relative;\\n }\\n [data-nextjs-dialog-banner].banner-warning {\\n border-color: var(--color-ansi-yellow);\\n }\\n [data-nextjs-dialog-banner].banner-error {\\n border-color: var(--color-ansi-red);\\n }\\n\\n [data-nextjs-dialog-banner]::after {\\n z-index: 2;\\n content: '';\\n position: absolute;\\n top: 0;\\n right: 0;\\n width: 100%;\\n /* banner width: */\\n border-top-width: var(--size-gap-half);\\n border-bottom-width: 0;\\n border-top-style: solid;\\n border-bottom-style: solid;\\n border-top-color: inherit;\\n border-bottom-color: transparent;\\n }\\n\\n [data-nextjs-dialog-content] {\\n overflow-y: auto;\\n border: none;\\n margin: 0;\\n /* calc(padding + banner width offset) */\\n padding: calc(var(--size-gap-double) + var(--size-gap-half))\\n var(--size-gap-double);\\n height: 100%;\\n display: flex;\\n flex-direction: column;\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-header] {\\n flex-shrink: 0;\\n margin-bottom: var(--size-gap-double);\\n }\\n [data-nextjs-dialog-content] > [data-nextjs-dialog-body] {\\n position: relative;\\n flex: 1 1 auto;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQywrSEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcz82OGI5Il0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XHJcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xyXG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xyXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nXSB7XFxuICAgIGRpc3BsYXk6IGZsZXg7XFxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XFxuICAgIHdpZHRoOiAxMDAlO1xcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XFxuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xcbiAgICBvdXRsaW5lOiBub25lO1xcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcXG4gICAgYm9yZGVyLXJhZGl1czogdmFyKC0tc2l6ZS1nYXApO1xcbiAgICBib3gtc2hhZG93OiAwIHZhcigtLXNpemUtZ2FwLWhhbGYpIHZhcigtLXNpemUtZ2FwLWRvdWJsZSlcXG4gICAgICByZ2JhKDAsIDAsIDAsIDAuMjUpO1xcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSA1NnB4KTtcXG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xcbiAgfVxcblxcbiAgQG1lZGlhIChtYXgtaGVpZ2h0OiA4MTJweCkge1xcbiAgICBbZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXldIHtcXG4gICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMCUgLSAxNXB4KTtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcXG4gICAgICBtYXgtd2lkdGg6IDU0MHB4O1xcbiAgICAgIGJveC1zaGFkb3c6IDAgdmFyKC0tc2l6ZS1nYXApIHZhcigtLXNpemUtZ2FwLXF1YWQpIHJnYmEoMCwgMCwgMCwgMC4yNSk7XFxuICAgIH1cXG4gIH1cXG5cXG4gIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xcbiAgICBbZGF0YS1uZXh0anMtZGlhbG9nXSB7XFxuICAgICAgbWF4LXdpZHRoOiA3MjBweDtcXG4gICAgfVxcbiAgfVxcblxcbiAgQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XFxuICAgIFtkYXRhLW5leHRqcy1kaWFsb2ddIHtcXG4gICAgICBtYXgtd2lkdGg6IDk2MHB4O1xcbiAgICB9XFxuICB9XFxuXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWJhbm5lcl0uYmFubmVyLXdhcm5pbmcge1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFuc2kteWVsbG93KTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXS5iYW5uZXItZXJyb3Ige1xcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctYmFubmVyXTo6YWZ0ZXIge1xcbiAgICB6LWluZGV4OiAyO1xcbiAgICBjb250ZW50OiAnJztcXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xcbiAgICB0b3A6IDA7XFxuICAgIHJpZ2h0OiAwO1xcbiAgICB3aWR0aDogMTAwJTtcXG4gICAgLyogYmFubmVyIHdpZHRoOiAqL1xcbiAgICBib3JkZXItdG9wLXdpZHRoOiB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcXG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XFxuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xcbiAgICBib3JkZXItdG9wLWNvbG9yOiBpbmhlcml0O1xcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctY29udGVudF0ge1xcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xcbiAgICBib3JkZXI6IG5vbmU7XFxuICAgIG1hcmdpbjogMDtcXG4gICAgLyogY2FsYyhwYWRkaW5nICsgYmFubmVyIHdpZHRoIG9mZnNldCkgKi9cXG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXAtaGFsZikpXFxuICAgICAgdmFyKC0tc2l6ZS1nYXAtZG91YmxlKTtcXG4gICAgaGVpZ2h0OiAxMDAlO1xcbiAgICBkaXNwbGF5OiBmbGV4O1xcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XSA+IFtkYXRhLW5leHRqcy1kaWFsb2ctaGVhZGVyXSB7XFxuICAgIGZsZXgtc2hyaW5rOiAwO1xcbiAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1zaXplLWdhcC1kb3VibGUpO1xcbiAgfVxcbiAgW2RhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50XSA+IFtkYXRhLW5leHRqcy1kaWFsb2ctYm9keV0ge1xcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XFxuICAgIGZsZXg6IDEgMSBhdXRvO1xcbiAgfVxcblwiXHJcbiAgICBdKTtcclxuICAgIF90ZW1wbGF0ZU9iamVjdCA9IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBkYXRhO1xyXG4gICAgfTtcclxuICAgIHJldHVybiBkYXRhO1xyXG59XHJcbmNvbnN0IHN0eWxlcyA9ICgwLCBfbm9vcHRlbXBsYXRlLm5vb3ApKF90ZW1wbGF0ZU9iamVjdCgpKTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXN0eWxlcy5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0Iiwic3R5bGVzIiwiX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIiwicmVxdWlyZSIsIl9ub29wdGVtcGxhdGUiLCJfdGVtcGxhdGVPYmplY3QiLCJkYXRhIiwiXyIsIm5vb3AiLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": /*!***************************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! \***************************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.stopPropagation();\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (a && a !== buttonClose.current && a instanceof HTMLElement) {\n a.blur();\n return;\n }\n }\n if (close) {\n close();\n }\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className\n }, /*#__PURE__*/ _react.createElement(\"nav\", {\n ref: onNav\n }, /*#__PURE__*/ _react.createElement(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined\n }, /*#__PURE__*/ _react.createElement(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/ _react.createElement(\"title\", null, \"previous\"), /*#__PURE__*/ _react.createElement(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), /*#__PURE__*/ _react.createElement(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined\n }, /*#__PURE__*/ _react.createElement(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, /*#__PURE__*/ _react.createElement(\"title\", null, \"next\"), /*#__PURE__*/ _react.createElement(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), \"\\xa0\", children), close ? /*#__PURE__*/ _react.createElement(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\"\n }, /*#__PURE__*/ _react.createElement(\"span\", {\n \"aria-hidden\": \"true\"\n }, /*#__PURE__*/ _react.createElement(_CloseIcon.CloseIcon, null))) : null);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgseURBQXdEO0lBQ3BESSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsNEJBQTRCQyxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUMsU0FBUyxXQUFXLEdBQUdGLDBCQUEwQkcsQ0FBQyxDQUFDRixtQkFBT0EsQ0FBQyx3R0FBTztBQUN4RSxNQUFNRyxhQUFhSCxtQkFBT0EsQ0FBQyw2SEFBdUI7QUFDbEQsTUFBTUYsd0JBQXdCLFNBQVNBLHNCQUFzQk0sS0FBSztJQUM5RCxJQUFJLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxRQUFRLEVBQUVDLElBQUksRUFBRUMsS0FBSyxFQUFFLEdBQUdMO0lBQ3JELE1BQU1NLGFBQWFULE9BQU9VLE1BQU0sQ0FBQztJQUNqQyxNQUFNQyxjQUFjWCxPQUFPVSxNQUFNLENBQUM7SUFDbEMsTUFBTUUsY0FBY1osT0FBT1UsTUFBTSxDQUFDO0lBQ2xDLE1BQU0sQ0FBQ0csS0FBS0MsT0FBTyxHQUFHZCxPQUFPZSxRQUFRLENBQUM7SUFDdEMsTUFBTUMsUUFBUWhCLE9BQU9pQixXQUFXLENBQUMsQ0FBQ0M7UUFDOUJKLE9BQU9JO0lBQ1gsR0FBRyxFQUFFO0lBQ0xsQixPQUFPbUIsU0FBUyxDQUFDO1FBQ2IsSUFBSU4sT0FBTyxNQUFNO1lBQ2I7UUFDSjtRQUNBLE1BQU1PLE9BQU9QLElBQUlRLFdBQVc7UUFDNUIsTUFBTUMsSUFBSUMsS0FBS0MsUUFBUTtRQUN2QixTQUFTQyxRQUFRQyxDQUFDO1lBQ2QsSUFB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dGpzLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0xlZnRSaWdodERpYWxvZ0hlYWRlci9MZWZ0UmlnaHREaWFsb2dIZWFkZXIuanM/YjMwNiJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XHJcbiAgICB2YWx1ZTogdHJ1ZVxyXG59KTtcclxuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiTGVmdFJpZ2h0RGlhbG9nSGVhZGVyXCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBMZWZ0UmlnaHREaWFsb2dIZWFkZXI7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmRcIik7XHJcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XHJcbmNvbnN0IF9DbG9zZUljb24gPSByZXF1aXJlKFwiLi4vLi4vaWNvbnMvQ2xvc2VJY29uXCIpO1xyXG5jb25zdCBMZWZ0UmlnaHREaWFsb2dIZWFkZXIgPSBmdW5jdGlvbiBMZWZ0UmlnaHREaWFsb2dIZWFkZXIocGFyYW0pIHtcclxuICAgIGxldCB7IGNoaWxkcmVuLCBjbGFzc05hbWUsIHByZXZpb3VzLCBuZXh0LCBjbG9zZSB9ID0gcGFyYW07XHJcbiAgICBjb25zdCBidXR0b25MZWZ0ID0gX3JlYWN0LnVzZVJlZihudWxsKTtcclxuICAgIGNvbnN0IGJ1dHRvblJpZ2h0ID0gX3JlYWN0LnVzZVJlZihudWxsKTtcclxuICAgIGNvbnN0IGJ1dHRvbkNsb3NlID0gX3JlYWN0LnVzZVJlZihudWxsKTtcclxuICAgIGNvbnN0IFtuYXYsIHNldE5hdl0gPSBfcmVhY3QudXNlU3RhdGUobnVsbCk7XHJcbiAgICBjb25zdCBvbk5hdiA9IF9yZWFjdC51c2VDYWxsYmFjaygoZWwpPT57XHJcbiAgICAgICAgc2V0TmF2KGVsKTtcclxuICAgIH0sIFtdKTtcclxuICAgIF9yZWFjdC51c2VFZmZlY3QoKCk9PntcclxuICAgICAgICBpZiAobmF2ID09IG51bGwpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCByb290ID0gbmF2LmdldFJvb3ROb2RlKCk7XHJcbiAgICAgICAgY29uc3QgZCA9IHNlbGYuZG9jdW1lbnQ7XHJcbiAgICAgICAgZnVuY3Rpb24gaGFuZGxlcihlKSB7XHJcbiAgICAgICAgICAgIGlmIChlLmtleSA9PT0gXCJBcnJvd0xlZnRcIikge1xyXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIGlmIChidXR0b25MZWZ0LmN1cnJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25MZWZ0LmN1cnJlbnQuZm9jdXMoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHByZXZpb3VzICYmIHByZXZpb3VzKCk7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZS5rZXkgPT09IFwiQXJyb3dSaWdodFwiKSB7XHJcbiAgICAgICAgICAgICAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICAgICAgaWYgKGJ1dHRvblJpZ2h0LmN1cnJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25SaWdodC5jdXJyZW50LmZvY3VzKCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBuZXh0ICYmIG5leHQoKTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmIChlLmtleSA9PT0gXCJFc2NhcGVcIikge1xyXG4gICAgICAgICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICAgICAgICAgIGlmIChyb290IGluc3RhbmNlb2YgU2hhZG93Um9vdCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGEgPSByb290LmFjdGl2ZUVsZW1lbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGEgJiYgYSAhPT0gYnV0dG9uQ2xvc2UuY3VycmVudCAmJiBhIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYS5ibHVyKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBpZiAoY2xvc2UpIHtcclxuICAgICAgICAgICAgICAgICAgICBjbG9zZSgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJvb3QuYWRkRXZlbnRMaXN0ZW5lcihcImtleWRvd25cIiwgaGFuZGxlcik7XHJcbiAgICAgICAgaWYgKHJvb3QgIT09IGQpIHtcclxuICAgICAgICAgICAgZC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uKCkge1xyXG4gICAgICAgICAgICByb290LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJrZXlkb3duXCIsIGhhbmRsZXIpO1xyXG4gICAgICAgICAgICBpZiAocm9vdCAhPT0gZCkge1xyXG4gICAgICAgICAgICAgICAgZC5yZW1vdmVFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCBoYW5kbGVyKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH07XHJcbiAgICB9LCBbXHJcbiAgICAgICAgY2xvc2UsXHJcbiAgICAgICAgbmF2LFxyXG4gICAgICAgIG5leHQsXHJcbiAgICAgICAgcHJldmlvdXNcclxuICAgIF0pO1xyXG4gICAgLy8gVW5sb2NrIGZvY3VzIGZvciBicm93c2VycyBsaWtlIEZpcmVmb3gsIHRoYXQgYnJlYWsgYWxsIHVzZXIgZm9jdXMgaWYgdGhlXHJcbiAgICAvLyBjdXJyZW50bHkgZm9jdXNlZCBpdGVtIGJlY29tZXMgZGlzYWJsZWQuXHJcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XHJcbiAgICAgICAgaWYgKG5hdiA9PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3Qgcm9vdCA9IG5hdi5nZXRSb290Tm9kZSgpO1xyXG4gICAgICAgIC8vIEFsd2F5cyB0cnVlLCBidXQgd2UgZG8gdGhpcyBmb3IgVHlwZVNjcmlwdDpcclxuICAgICAgICBpZiAocm9vdCBpbnN0YW5jZW9mIFNoYWRvd1Jvb3QpIHtcclxuICAgICAgICAgICAgY29uc3QgYSA9IHJvb3QuYWN0aXZlRWxlbWVudDtcclxuICAgICAgICAgICAgaWYgKHByZXZpb3VzID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmIChidXR0b25MZWZ0LmN1cnJlbnQgJiYgYSA9PT0gYnV0dG9uTGVmdC5jdXJyZW50KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYnV0dG9uTGVmdC5jdXJyZW50LmJsdXIoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSBlbHNlIGlmIChuZXh0ID09IG51bGwpIHtcclxuICAgICAgICAgICAgICAgIGlmIChidXR0b25SaWdodC5jdXJyZW50ICYmIGEgPT09IGJ1dHRvblJpZ2h0LmN1cnJlbnQpIHtcclxuICAgICAgICAgICAgICAgICAgICBidXR0b25SaWdodC5jdXJyZW50LmJsdXIoKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH0sIFtcclxuICAgICAgICBuYXYsXHJcbiAgICAgICAgbmV4dCxcclxuICAgICAgICBwcmV2aW91c1xyXG4gICAgXSk7XHJcbiAgICByZXR1cm4gLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImRpdlwiLCB7XHJcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodFwiOiB0cnVlLFxyXG4gICAgICAgIGNsYXNzTmFtZTogY2xhc3NOYW1lXHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwibmF2XCIsIHtcclxuICAgICAgICByZWY6IG9uTmF2XHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwiYnV0dG9uXCIsIHtcclxuICAgICAgICByZWY6IGJ1dHRvbkxlZnQsXHJcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcclxuICAgICAgICBkaXNhYmxlZDogcHJldmlvdXMgPT0gbnVsbCA/IHRydWUgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgXCJhcmlhLWRpc2FibGVkXCI6IHByZXZpb3VzID09IG51bGwgPyB0cnVlIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIG9uQ2xpY2s6IHByZXZpb3VzICE9IG51bGwgPyBwcmV2aW91cyA6IHVuZGVmaW5lZFxyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcInN2Z1wiLCB7XHJcbiAgICAgICAgdmlld0JveDogXCIwIDAgMTQgMTRcIixcclxuICAgICAgICBmaWxsOiBcIm5vbmVcIixcclxuICAgICAgICB4bWxuczogXCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwidGl0bGVcIiwgbnVsbCwgXCJwcmV2aW91c1wiKSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xyXG4gICAgICAgIGQ6IFwiTTYuOTk5OTYgMS4xNjY2NkwxLjE2NjYzIDYuOTk5OTlMNi45OTk5NiAxMi44MzMzTTEyLjgzMzMgNi45OTk5OUgxLjk5OTk2SDEyLjgzMzNaXCIsXHJcbiAgICAgICAgc3Ryb2tlOiBcImN1cnJlbnRDb2xvclwiLFxyXG4gICAgICAgIHN0cm9rZVdpZHRoOiBcIjJcIixcclxuICAgICAgICBzdHJva2VMaW5lY2FwOiBcInJvdW5kXCIsXHJcbiAgICAgICAgc3Ryb2tlTGluZWpvaW46IFwicm91bmRcIlxyXG4gICAgfSkpKSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcImJ1dHRvblwiLCB7XHJcbiAgICAgICAgcmVmOiBidXR0b25SaWdodCxcclxuICAgICAgICB0eXBlOiBcImJ1dHRvblwiLFxyXG4gICAgICAgIGRpc2FibGVkOiBuZXh0ID09IG51bGwgPyB0cnVlIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIFwiYXJpYS1kaXNhYmxlZFwiOiBuZXh0ID09IG51bGwgPyB0cnVlIDogdW5kZWZpbmVkLFxyXG4gICAgICAgIG9uQ2xpY2s6IG5leHQgIT0gbnVsbCA/IG5leHQgOiB1bmRlZmluZWRcclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJzdmdcIiwge1xyXG4gICAgICAgIHZpZXdCb3g6IFwiMCAwIDE0IDE0XCIsXHJcbiAgICAgICAgZmlsbDogXCJub25lXCIsXHJcbiAgICAgICAgeG1sbnM6IFwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcInRpdGxlXCIsIG51bGwsIFwibmV4dFwiKSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChcInBhdGhcIiwge1xyXG4gICAgICAgIGQ6IFwiTTYuOTk5OTYgMS4xNjY2NkwxMi44MzMzIDYuOTk5OTlMNi45OTk5NiAxMi44MzMzTTEuMTY2NjMgNi45OTk5OUgxMkgxLjE2NjYzWlwiLFxyXG4gICAgICAgIHN0cm9rZTogXCJjdXJyZW50Q29sb3JcIixcclxuICAgICAgICBzdHJva2VXaWR0aDogXCIyXCIsXHJcbiAgICAgICAgc3Ryb2tlTGluZWNhcDogXCJyb3VuZFwiLFxyXG4gICAgICAgIHN0cm9rZUxpbmVqb2luOiBcInJvdW5kXCJcclxuICAgIH0pKSksIFwiXFx4YTBcIiwgY2hpbGRyZW4pLCBjbG9zZSA/IC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJidXR0b25cIiwge1xyXG4gICAgICAgIFwiZGF0YS1uZXh0anMtZXJyb3JzLWRpYWxvZy1sZWZ0LXJpZ2h0LWNsb3NlLWJ1dHRvblwiOiB0cnVlLFxyXG4gICAgICAgIHJlZjogYnV0dG9uQ2xvc2UsXHJcbiAgICAgICAgdHlwZTogXCJidXR0b25cIixcclxuICAgICAgICBvbkNsaWNrOiBjbG9zZSxcclxuICAgICAgICBcImFyaWEtbGFiZWxcIjogXCJDbG9zZVwiXHJcbiAgICB9LCAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwic3BhblwiLCB7XHJcbiAgICAgICAgXCJhcmlhLWhpZGRlblwiOiBcInRydWVcIlxyXG4gICAgfSwgLyojX19QVVJFX18qLyBfcmVhY3QuY3JlYXRlRWxlbWVudChfQ2xvc2VJY29uLkNsb3NlSWNvbiwgbnVsbCkpKSA6IG51bGwpO1xyXG59O1xyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9TGVmdFJpZ2h0RGlhbG9nSGVhZGVyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsImVudW1lcmFibGUiLCJnZXQiLCJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwicmVxdWlyZSIsIl9yZWFjdCIsIl8iLCJfQ2xvc2VJY29uIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInByZXZpb3VzIiwibmV4dCIsImNsb3NlIiwiYnV0dG9uTGVmdCIsInVzZVJlZiIsImJ1dHRvblJpZ2h0IiwiYnV0dG9uQ2xvc2UiLCJuYXYiLCJzZXROYXYiLCJ1c2VTdGF0ZSIsIm9uTmF2IiwidXNlQ2FsbGJhY2siLCJlbCIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsImQiLCJzZWxmIiwiZG9jdW1lbnQiLCJoYW5kbGVyIiwiZSIsImtleSIsInN0b3BQcm9wYWdhdGlvbiIsImN1cnJlbnQiLCJmb2N1cyIsIlNoYWRvd1Jvb3QiLCJhIiwiYWN0aXZlRWxlbWVudCIsIkhUTUxFbGVtZW50IiwiYmx1ciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiY3JlYXRlRWxlbWVudCIsInJlZiIsInR5cGUiLCJkaXNhYmxlZCIsInVuZGVmaW5lZCIsIm9uQ2xpY2siLCJ2aWV3Qm94IiwiZmlsbCIsInhtbG5zIiwic3Ryb2tlIiwic3Ryb2tlV2lkdGgiLCJzdHJva2VMaW5lY2FwIiwic3Ryb2tlTGluZWpvaW4iLCJDbG9zZUljb24iLCJkZWZhdWx0IiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n LeftRightDialogHeader: function() {\n return _LeftRightDialogHeader.LeftRightDialogHeader;\n },\n styles: function() {\n return _styles.styles;\n }\n});\nconst _LeftRightDialogHeader = __webpack_require__(/*! ./LeftRightDialogHeader */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js\");\nconst _styles = __webpack_require__(/*! ./styles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiJBQUFhO0FBQ2JBLDhDQUE2QztJQUN6Q0csT0FBTztBQUNYLENBQUMsRUFBQztBQUNGLEtBQU1DLENBQUFBLENBR047QUFDQSxTQUFTRyxRQUFRQyxNQUFNLEVBQUVDLEdBQUc7SUFDeEIsSUFBSSxJQUFJQyxRQUFRRCxJQUFJVCxPQUFPQyxjQUFjLENBQUNPLFFBQVFFLE1BQU07UUFDcERDLFlBQVk7UUFDWkMsS0FBS0gsR0FBRyxDQUFDQyxLQUFLO0lBQ2xCO0FBQ0o7QUFDQUgsUUFBUUwsU0FBUztJQUNiRyx1QkFBdUI7UUFDbkIsT0FBT1EsdUJBQXVCUixxQkFBcUI7SUFDdkQ7SUFDQUMsUUFBUTtRQUNKLE9BQU9RLFFBQVFSLE1BQU07SUFDekI7QUFDSjtBQUNBLE1BQU1PLHlCQUF5QkUsbUJBQU9BLENBQUMsc0tBQXlCO0FBQ2hFLE1BQU1ELFVBQVVDLG1CQUFPQSxDQUFDLHdJQUFVO0FBRWxDLElBQUksQ0FBQyxPQUFPYixRQUFRYyxPQUFPLEtBQUssY0FBZSxPQUFPZCxRQUFRYyxPQUFPLEtBQUssWUFBWWQsUUFBUWMsT0FBTyxLQUFLLElBQUksS0FBTSxPQUFPZCxRQUFRYyxPQUFPLENBQUNDLFVBQVUsS0FBSyxhQUFhO0lBQ3JLakIsT0FBT0MsY0FBYyxDQUFDQyxRQUFRYyxPQUFPLEVBQUUsY0FBYztRQUFFYixPQUFPO0lBQUs7SUFDbkVILE9BQU9rQixNQUFNLENBQUNoQixRQUFRYyxPQUFPLEVBQUVkO0lBQy9CRSxPQUFPRixPQUFPLEdBQUdBLFFBQVFjLE9BQU87QUFDbEMsRUFFQSxpQ0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzPzJhYzIiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xyXG4gICAgTGVmdFJpZ2h0RGlhbG9nSGVhZGVyOiBudWxsLFxyXG4gICAgc3R5bGVzOiBudWxsXHJcbn0pO1xyXG5mdW5jdGlvbiBfZXhwb3J0KHRhcmdldCwgYWxsKSB7XHJcbiAgICBmb3IodmFyIG5hbWUgaW4gYWxsKU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIG5hbWUsIHtcclxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxyXG4gICAgICAgIGdldDogYWxsW25hbWVdXHJcbiAgICB9KTtcclxufVxyXG5fZXhwb3J0KGV4cG9ydHMsIHtcclxuICAgIExlZnRSaWdodERpYWxvZ0hlYWRlcjogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9MZWZ0UmlnaHREaWFsb2dIZWFkZXIuTGVmdFJpZ2h0RGlhbG9nSGVhZGVyO1xyXG4gICAgfSxcclxuICAgIHN0eWxlczogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9zdHlsZXMuc3R5bGVzO1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX0xlZnRSaWdodERpYWxvZ0hlYWRlciA9IHJlcXVpcmUoXCIuL0xlZnRSaWdodERpYWxvZ0hlYWRlclwiKTtcclxuY29uc3QgX3N0eWxlcyA9IHJlcXVpcmUoXCIuL3N0eWxlc1wiKTtcclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWluZGV4LmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsIkxlZnRSaWdodERpYWxvZ0hlYWRlciIsInN0eWxlcyIsIl9leHBvcnQiLCJ0YXJnZXQiLCJhbGwiLCJuYW1lIiwiZW51bWVyYWJsZSIsImdldCIsIl9MZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJfc3R5bGVzIiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": /*!************************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! \************************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/cjs/_tagged_template_literal_loose.cjs\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > button:last-of-type:hover {\\n opacity: 0.7;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMENBQXlDO0lBQ3JDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsaUNBQWlDQyxtQkFBT0EsQ0FBQywrSEFBK0M7QUFDOUYsTUFBTUMsZ0JBQWdCRCxtQkFBT0EsQ0FBQyx5SUFBNkI7QUFDM0QsU0FBU0U7SUFDTCxNQUFNQyxPQUFPSiwrQkFBK0JLLENBQUMsQ0FBQztRQUMxQztLQUNIO0lBQ0RGLGtCQUFrQjtRQUNkLE9BQU9DO0lBQ1g7SUFDQSxPQUFPQTtBQUNYO0FBQ0EsTUFBTUwsU0FBUyxDQUFDLEdBQUdHLGNBQWNJLElBQUksRUFBRUg7QUFFdkMsSUFBSSxDQUFDLE9BQU9SLFFBQVFZLE9BQU8sS0FBSyxjQUFlLE9BQU9aLFFBQVFZLE9BQU8sS0FBSyxZQUFZWixRQUFRWSxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9aLFFBQVFZLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktmLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUVksT0FBTyxFQUFFLGNBQWM7UUFBRVgsT0FBTztJQUFLO0lBQ25FSCxPQUFPZ0IsTUFBTSxDQUFDZCxRQUFRWSxPQUFPLEVBQUVaO0lBQy9CZSxPQUFPZixPQUFPLEdBQUdBLFFBQVFZLE9BQU87QUFDbEMsRUFFQSxrQ0FBa0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcz9kYjczIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJzdHlsZXNcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxufSk7XHJcbmNvbnN0IF90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2VcIik7XHJcbmNvbnN0IF9ub29wdGVtcGxhdGUgPSByZXF1aXJlKFwiLi4vLi4vaGVscGVycy9ub29wLXRlbXBsYXRlXCIpO1xyXG5mdW5jdGlvbiBfdGVtcGxhdGVPYmplY3QoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlLl8oW1xyXG4gICAgICAgIFwiXFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdIHtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcXG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2IHtcXG4gICAgZmxleDogMTtcXG4gICAgZGlzcGxheTogZmxleDtcXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcXG4gICAgbWFyZ2luLXJpZ2h0OiB2YXIoLS1zaXplLWdhcCk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uIHtcXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XFxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XFxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xcblxcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1zaXplLWdhcC1kb3VibGUpICsgdmFyKC0tc2l6ZS1nYXApKTtcXG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLXNpemUtZ2FwLWRvdWJsZSkgKyB2YXIoLS1zaXplLWdhcCkpO1xcbiAgICBmb250LXNpemU6IDA7XFxuICAgIGJvcmRlcjogbm9uZTtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC4xKTtcXG4gICAgY29sb3I6IHZhcigtLWNvbG9yLWFuc2ktcmVkKTtcXG4gICAgY3Vyc29yOiBwb2ludGVyO1xcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2U7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uID4gc3ZnIHtcXG4gICAgd2lkdGg6IGF1dG87XFxuICAgIGhlaWdodDogY2FsYyh2YXIoLS1zaXplLWdhcCkgKyB2YXIoLS1zaXplLWdhcC1oYWxmKSk7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uOmhvdmVyIHtcXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC4yKTtcXG4gIH1cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246ZGlzYWJsZWQge1xcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgODUsIDg1LCAwLjEpO1xcbiAgICBjb2xvcjogcmdiYSgyNTUsIDg1LCA4NSwgMC40KTtcXG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBuYXYgPiBidXR0b246Zmlyc3Qtb2YtdHlwZSB7XFxuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLXNpemUtZ2FwLWhhbGYpIDAgMCB2YXIoLS1zaXplLWdhcC1oYWxmKTtcXG4gICAgbWFyZ2luLXJpZ2h0OiAxcHg7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gbmF2ID4gYnV0dG9uOmxhc3Qtb2YtdHlwZSB7XFxuICAgIGJvcmRlci1yYWRpdXM6IDAgdmFyKC0tc2l6ZS1nYXAtaGFsZikgdmFyKC0tc2l6ZS1nYXAtaGFsZikgMDtcXG4gIH1cXG5cXG4gIFtkYXRhLW5leHRqcy1kaWFsb2ctbGVmdC1yaWdodF0gPiBidXR0b246bGFzdC1vZi10eXBlIHtcXG4gICAgYm9yZGVyOiAwO1xcbiAgICBwYWRkaW5nOiAwO1xcblxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcXG5cXG4gICAgb3BhY2l0eTogMC40O1xcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2U7XFxuICB9XFxuICBbZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHRdID4gYnV0dG9uOmxhc3Qtb2YtdHlwZTpob3ZlciB7XFxuICAgIG9wYWNpdHk6IDAuNztcXG4gIH1cXG5cIlxyXG4gICAgXSk7XHJcbiAgICBfdGVtcGxhdGVPYmplY3QgPSBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gZGF0YTtcclxuICAgIH07XHJcbiAgICByZXR1cm4gZGF0YTtcclxufVxyXG5jb25zdCBzdHlsZXMgPSAoMCwgX25vb3B0ZW1wbGF0ZS5ub29wKShfdGVtcGxhdGVPYmplY3QoKSk7XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1zdHlsZXMuanMubWFwIl0sIm5hbWVzIjpbIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZXhwb3J0cyIsInZhbHVlIiwiZW51bWVyYWJsZSIsImdldCIsInN0eWxlcyIsIl90YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZSIsInJlcXVpcmUiLCJfbm9vcHRlbXBsYXRlIiwiX3RlbXBsYXRlT2JqZWN0IiwiZGF0YSIsIl8iLCJub29wIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iLCJtb2R1bGUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js": /*!***********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js ***! \***********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("// @ts-ignore\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_wildcard.cjs\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay\n }, /*#__PURE__*/ _react.createElement(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }), children);\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiJBQUFBLGFBQWE7QUFDQTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQztJQUNYO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUMsMkJBQTJCQyxtQkFBT0EsQ0FBQyxtSEFBeUM7QUFDbEYsTUFBTUMsNEJBQTRCRCxtQkFBT0EsQ0FBQyxxSEFBMEM7QUFDcEYsTUFBTUUsb0JBQW9CLFdBQVcsR0FBR0gseUJBQXlCSSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLG9KQUF1QjtBQUNsRyxNQUFNSSxTQUFTLFdBQVcsR0FBR0gsMEJBQTBCRSxDQUFDLENBQUNILG1CQUFPQSxDQUFDLHdHQUFPO0FBQ3hFLE1BQU1LLGNBQWNMLG1CQUFPQSxDQUFDLG9JQUFlO0FBQzNDLE1BQU1GLFVBQVUsU0FBU0EsUUFBUVEsS0FBSztJQUNsQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsUUFBUSxFQUFFQyxLQUFLLEVBQUUsR0FBR0g7SUFDckNGLE9BQU9NLFNBQVMsQ0FBQztRQUNaLElBQUdMLFlBQVlNLElBQUk7UUFDcEIsT0FBTztZQUNGLElBQUdOLFlBQVlPLE1BQU07UUFDMUI7SUFDSixHQUFHLEVBQUU7SUFDTCxNQUFNLENBQUNDLFNBQVNDLFdBQVcsR0FBR1YsT0FBT1csUUFBUSxDQUFDO0lBQzlDLE1BQU1DLFlBQVlaLE9BQU9hLFdBQVcsQ0FBQyxDQUFDQztRQUNsQ0osV0FBV0k7SUFDZixHQUFHLEVBQUU7SUFDTGQsT0FBT00sU0FBUyxDQUFDO1FBQ2IsSUFBSUcsV0FBVyxNQUFNO1lBQ2pCO1FBQ0o7UUFDQSxNQUFNTSxVQUFVLENBQUMsR0FBR2pCLGtCQUFrQmtCLE9BQU8sRUFBRTtZQUMzQ0MsU0FBU1I7UUFDYjtRQUNBLE9BQU87WUFDSE0sUUFBUUcsU0FBUztRQUNyQjtJQUNKLEdBQUc7UUFDQ1Q7S0FDSDtJQUNELE9BQU8sV0FBVyxHQUFHVCxPQUFPbUIsYUFBYSxDQUFDLE9BQU87UUFDN0MsOEJBQThCO1FBQzlCaEIsV0FBV0E7UUFDWGlCLEtBQUtSO0lBQ1QsR0FBRyxXQUFXLEdBQUdaLE9BQU9tQixhQUFhLENBQUMsT0FBTztRQUN6QywrQkFBK0I7UUFDL0IscUNBQXFDZCxRQUFRLE9BQU9nQjtJQUN4RCxJQUFJakI7QUFDUjtBQUVBLElBQUksQ0FBQyxPQUFPZCxRQUFRMEIsT0FBTyxLQUFLLGNBQWUsT0FBTzFCLFFBQVEwQixPQUFPLEtBQUssWUFBWTFCLFFBQVEwQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8xQixRQUFRMEIsT0FBTyxDQUFDTSxVQUFVLEtBQUssYUFBYTtJQUNyS2xDLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTBCLE9BQU8sRUFBRSxjQUFjO1FBQUV6QixPQUFPO0lBQUs7SUFDbkVILE9BQU9tQyxNQUFNLENBQUNqQyxRQUFRMEIsT0FBTyxFQUFFMUI7SUFDL0JrQyxPQUFPbEMsT0FBTyxHQUFHQSxRQUFRMEIsT0FBTztBQUNsQyxFQUVBLG1DQUFtQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L092ZXJsYXkuanM/YWMyMyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBAdHMtaWdub3JlXHJcblwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJPdmVybGF5XCIsIHtcclxuICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICBnZXQ6IGZ1bmN0aW9uKCkge1xyXG4gICAgICAgIHJldHVybiBPdmVybGF5O1xyXG4gICAgfVxyXG59KTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0ID0gcmVxdWlyZShcIkBzd2MvaGVscGVycy9fL19pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdFwiKTtcclxuY29uc3QgX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZCA9IHJlcXVpcmUoXCJAc3djL2hlbHBlcnMvXy9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkXCIpO1xyXG5jb25zdCBfbWFpbnRhaW50YWJmb2N1cyA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0Ll8ocmVxdWlyZShcIi4vbWFpbnRhaW4tLXRhYi1mb2N1c1wiKSk7XHJcbmNvbnN0IF9yZWFjdCA9IC8qI19fUFVSRV9fKi8gX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5fKHJlcXVpcmUoXCJyZWFjdFwiKSk7XHJcbmNvbnN0IF9ib2R5bG9ja2VyID0gcmVxdWlyZShcIi4vYm9keS1sb2NrZXJcIik7XHJcbmNvbnN0IE92ZXJsYXkgPSBmdW5jdGlvbiBPdmVybGF5KHBhcmFtKSB7XHJcbiAgICBsZXQgeyBjbGFzc05hbWUsIGNoaWxkcmVuLCBmaXhlZCB9ID0gcGFyYW07XHJcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XHJcbiAgICAgICAgKDAsIF9ib2R5bG9ja2VyLmxvY2spKCk7XHJcbiAgICAgICAgcmV0dXJuICgpPT57XHJcbiAgICAgICAgICAgICgwLCBfYm9keWxvY2tlci51bmxvY2spKCk7XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtdKTtcclxuICAgIGNvbnN0IFtvdmVybGF5LCBzZXRPdmVybGF5XSA9IF9yZWFjdC51c2VTdGF0ZShudWxsKTtcclxuICAgIGNvbnN0IG9uT3ZlcmxheSA9IF9yZWFjdC51c2VDYWxsYmFjaygoZWwpPT57XHJcbiAgICAgICAgc2V0T3ZlcmxheShlbCk7XHJcbiAgICB9LCBbXSk7XHJcbiAgICBfcmVhY3QudXNlRWZmZWN0KCgpPT57XHJcbiAgICAgICAgaWYgKG92ZXJsYXkgPT0gbnVsbCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnN0IGhhbmRsZTIgPSAoMCwgX21haW50YWludGFiZm9jdXMuZGVmYXVsdCkoe1xyXG4gICAgICAgICAgICBjb250ZXh0OiBvdmVybGF5XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuICgpPT57XHJcbiAgICAgICAgICAgIGhhbmRsZTIuZGlzZW5nYWdlKCk7XHJcbiAgICAgICAgfTtcclxuICAgIH0sIFtcclxuICAgICAgICBvdmVybGF5XHJcbiAgICBdKTtcclxuICAgIHJldHVybiAvKiNfX1BVUkVfXyovIF9yZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIHtcclxuICAgICAgICBcImRhdGEtbmV4dGpzLWRpYWxvZy1vdmVybGF5XCI6IHRydWUsXHJcbiAgICAgICAgY2xhc3NOYW1lOiBjbGFzc05hbWUsXHJcbiAgICAgICAgcmVmOiBvbk92ZXJsYXlcclxuICAgIH0sIC8qI19fUFVSRV9fKi8gX3JlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwge1xyXG4gICAgICAgIFwiZGF0YS1uZXh0anMtZGlhbG9nLWJhY2tkcm9wXCI6IHRydWUsXHJcbiAgICAgICAgXCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AtZml4ZWRcIjogZml4ZWQgPyB0cnVlIDogdW5kZWZpbmVkXHJcbiAgICB9KSwgY2hpbGRyZW4pO1xyXG59O1xyXG5cclxuaWYgKCh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnZnVuY3Rpb24nIHx8ICh0eXBlb2YgZXhwb3J0cy5kZWZhdWx0ID09PSAnb2JqZWN0JyAmJiBleHBvcnRzLmRlZmF1bHQgIT09IG51bGwpKSAmJiB0eXBlb2YgZXhwb3J0cy5kZWZhdWx0Ll9fZXNNb2R1bGUgPT09ICd1bmRlZmluZWQnKSB7XHJcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMuZGVmYXVsdCwgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xyXG4gIE9iamVjdC5hc3NpZ24oZXhwb3J0cy5kZWZhdWx0LCBleHBvcnRzKTtcclxuICBtb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMuZGVmYXVsdDtcclxufVxyXG5cclxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9T3ZlcmxheS5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiT3ZlcmxheSIsIl9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCIsInJlcXVpcmUiLCJfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIiwiX21haW50YWludGFiZm9jdXMiLCJfIiwiX3JlYWN0IiwiX2JvZHlsb2NrZXIiLCJwYXJhbSIsImNsYXNzTmFtZSIsImNoaWxkcmVuIiwiZml4ZWQiLCJ1c2VFZmZlY3QiLCJsb2NrIiwidW5sb2NrIiwib3ZlcmxheSIsInNldE92ZXJsYXkiLCJ1c2VTdGF0ZSIsIm9uT3ZlcmxheSIsInVzZUNhbGxiYWNrIiwiZWwiLCJoYW5kbGUyIiwiZGVmYXVsdCIsImNvbnRleHQiLCJkaXNlbmdhZ2UiLCJjcmVhdGVFbGVtZW50IiwicmVmIiwidW5kZWZpbmVkIiwiX19lc01vZHVsZSIsImFzc2lnbiIsIm1vZHVsZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js": /*!***************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js ***! \***************************************************************************************************************/ /***/ ((module, exports) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n lock: function() {\n return lock;\n },\n unlock: function() {\n return unlock;\n }\n});\nlet previousBodyPaddingRight;\nlet previousBodyOverflowSetting;\nlet activeLocks = 0;\nfunction lock() {\n setTimeout(()=>{\n if (activeLocks++ > 0) {\n return;\n }\n const scrollBarGap = window.innerWidth - document.documentElement.clientWidth;\n if (scrollBarGap > 0) {\n previousBodyPaddingRight = document.body.style.paddingRight;\n document.body.style.paddingRight = \"\" + scrollBarGap + \"px\";\n }\n previousBodyOverflowSetting = document.body.style.overflow;\n document.body.style.overflow = \"hidden\";\n });\n}\nfunction unlock() {\n setTimeout(()=>{\n if (activeLocks === 0 || --activeLocks !== 0) {\n return;\n }\n if (previousBodyPaddingRight !== undefined) {\n document.body.style.paddingRight = previousBodyPaddingRight;\n previousBodyPaddingRight = undefined;\n }\n if (previousBodyOverflowSetting !== undefined) {\n document.body.style.overflow = previousBodyOverflowSetting;\n previousBodyOverflowSetting = undefined;\n }\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=body-locker.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRixLQUFNQyxDQUFBQSxDQUdOO0FBQ0EsU0FBU0csUUFBUUMsTUFBTSxFQUFFQyxHQUFHO0lBQ3hCLElBQUksSUFBSUMsUUFBUUQsSUFBSVQsT0FBT0MsY0FBYyxDQUFDTyxRQUFRRSxNQUFNO1FBQ3BEQyxZQUFZO1FBQ1pDLEtBQUtILEdBQUcsQ0FBQ0MsS0FBSztJQUNsQjtBQUNKO0FBQ0FILFFBQVFMLFNBQVM7SUFDYkcsTUFBTTtRQUNGLE9BQU9BO0lBQ1g7SUFDQUMsUUFBUTtRQUNKLE9BQU9BO0lBQ1g7QUFDSjtBQUNBLElBQUlPO0FBQ0osSUFBSUM7QUFDSixJQUFJQyxjQUFjO0FBQ2xCLFNBQVNWO0lBQ0xXLFdBQVc7UUFDUCxJQUFJRCxnQkFBZ0IsR0FBRztZQUNuQjtRQUNKO1FBQ0EsTUFBTUUsZUFBZUMsT0FBT0MsVUFBVSxHQUFHQyxTQUFTQyxlQUFlLENBQUNDLFdBQVc7UUFDN0UsSUFBSUwsZUFBZSxHQUFHO1lBQ2xCSiwyQkFBMkJPLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZO1lBQzNETCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHLEtBQUtSLGVBQWU7UUFDM0Q7UUFDQUgsOEJBQThCTSxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUTtRQUMxRE4sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBRztJQUNuQztBQUNKO0FBQ0EsU0FBU3BCO0lBQ0xVLFdBQVc7UUFDUCxJQUFJRCxnQkFBZ0IsS0FBSyxFQUFFQSxnQkFBZ0IsR0FBRztZQUMxQztRQUNKO1FBQ0EsSUFBSUYsNkJBQTZCYyxXQUFXO1lBQ3hDUCxTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxHQUFHWjtZQUNuQ0EsMkJBQTJCYztRQUMvQjtRQUNBLElBQUliLGdDQUFnQ2EsV0FBVztZQUMzQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNFLFFBQVEsR0FBR1o7WUFDL0JBLDhCQUE4QmE7UUFDbEM7SUFDSjtBQUNKO0FBRUEsSUFBSSxDQUFDLE9BQU96QixRQUFRMEIsT0FBTyxLQUFLLGNBQWUsT0FBTzFCLFFBQVEwQixPQUFPLEtBQUssWUFBWTFCLFFBQVEwQixPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU8xQixRQUFRMEIsT0FBTyxDQUFDQyxVQUFVLEtBQUssYUFBYTtJQUNySzdCLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUTBCLE9BQU8sRUFBRSxjQUFjO1FBQUV6QixPQUFPO0lBQUs7SUFDbkVILE9BQU84QixNQUFNLENBQUM1QixRQUFRMEIsT0FBTyxFQUFFMUI7SUFDL0JFLE9BQU9GLE9BQU8sR0FBR0EsUUFBUTBCLE9BQU87QUFDbEMsRUFFQSx1Q0FBdUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9uZXh0anMvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcz84ZDFkIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xyXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcclxuICAgIHZhbHVlOiB0cnVlXHJcbn0pO1xyXG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcclxuICAgIGxvY2s6IG51bGwsXHJcbiAgICB1bmxvY2s6IG51bGxcclxufSk7XHJcbmZ1bmN0aW9uIF9leHBvcnQodGFyZ2V0LCBhbGwpIHtcclxuICAgIGZvcih2YXIgbmFtZSBpbiBhbGwpT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwgbmFtZSwge1xyXG4gICAgICAgIGVudW1lcmFibGU6IHRydWUsXHJcbiAgICAgICAgZ2V0OiBhbGxbbmFtZV1cclxuICAgIH0pO1xyXG59XHJcbl9leHBvcnQoZXhwb3J0cywge1xyXG4gICAgbG9jazogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIGxvY2s7XHJcbiAgICB9LFxyXG4gICAgdW5sb2NrOiBmdW5jdGlvbigpIHtcclxuICAgICAgICByZXR1cm4gdW5sb2NrO1xyXG4gICAgfVxyXG59KTtcclxubGV0IHByZXZpb3VzQm9keVBhZGRpbmdSaWdodDtcclxubGV0IHByZXZpb3VzQm9keU92ZXJmbG93U2V0dGluZztcclxubGV0IGFjdGl2ZUxvY2tzID0gMDtcclxuZnVuY3Rpb24gbG9jaygpIHtcclxuICAgIHNldFRpbWVvdXQoKCk9PntcclxuICAgICAgICBpZiAoYWN0aXZlTG9ja3MrKyA+IDApIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCBzY3JvbGxCYXJHYXAgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aDtcclxuICAgICAgICBpZiAoc2Nyb2xsQmFyR2FwID4gMCkge1xyXG4gICAgICAgICAgICBwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQgPSBkb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodDtcclxuICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5zdHlsZS5wYWRkaW5nUmlnaHQgPSBcIlwiICsgc2Nyb2xsQmFyR2FwICsgXCJweFwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgPSBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93O1xyXG4gICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUub3ZlcmZsb3cgPSBcImhpZGRlblwiO1xyXG4gICAgfSk7XHJcbn1cclxuZnVuY3Rpb24gdW5sb2NrKCkge1xyXG4gICAgc2V0VGltZW91dCgoKT0+e1xyXG4gICAgICAgIGlmIChhY3RpdmVMb2NrcyA9PT0gMCB8fCAtLWFjdGl2ZUxvY2tzICE9PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHByZXZpb3VzQm9keVBhZGRpbmdSaWdodCAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuc3R5bGUucGFkZGluZ1JpZ2h0ID0gcHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0O1xyXG4gICAgICAgICAgICBwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gcHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nO1xyXG4gICAgICAgICAgICBwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmcgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgfSk7XHJcbn1cclxuXHJcbmlmICgodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ2Z1bmN0aW9uJyB8fCAodHlwZW9mIGV4cG9ydHMuZGVmYXVsdCA9PT0gJ29iamVjdCcgJiYgZXhwb3J0cy5kZWZhdWx0ICE9PSBudWxsKSkgJiYgdHlwZW9mIGV4cG9ydHMuZGVmYXVsdC5fX2VzTW9kdWxlID09PSAndW5kZWZpbmVkJykge1xyXG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLmRlZmF1bHQsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcclxuICBPYmplY3QuYXNzaWduKGV4cG9ydHMuZGVmYXVsdCwgZXhwb3J0cyk7XHJcbiAgbW9kdWxlLmV4cG9ydHMgPSBleHBvcnRzLmRlZmF1bHQ7XHJcbn1cclxuXHJcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWJvZHktbG9ja2VyLmpzLm1hcCJdLCJuYW1lcyI6WyJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImV4cG9ydHMiLCJ2YWx1ZSIsIm1vZHVsZSIsImxvY2siLCJ1bmxvY2siLCJfZXhwb3J0IiwidGFyZ2V0IiwiYWxsIiwibmFtZSIsImVudW1lcmFibGUiLCJnZXQiLCJwcmV2aW91c0JvZHlQYWRkaW5nUmlnaHQiLCJwcmV2aW91c0JvZHlPdmVyZmxvd1NldHRpbmciLCJhY3RpdmVMb2NrcyIsInNldFRpbWVvdXQiLCJzY3JvbGxCYXJHYXAiLCJ3aW5kb3ciLCJpbm5lcldpZHRoIiwiZG9jdW1lbnQiLCJkb2N1bWVudEVsZW1lbnQiLCJjbGllbnRXaWR0aCIsImJvZHkiLCJzdHlsZSIsInBhZGRpbmdSaWdodCIsIm92ZXJmbG93IiwidW5kZWZpbmVkIiwiZGVmYXVsdCIsIl9fZXNNb2R1bGUiLCJhc3NpZ24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js": /*!*********************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js ***! \*********************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return _Overlay.Overlay;\n }\n}));\nconst _Overlay = __webpack_require__(/*! ./Overlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/Overlay.js\");\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=index.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiQUFBYTtBQUNiQSw4Q0FBNkM7SUFDekNHLE9BQU87QUFDWCxDQUFDLEVBQUM7QUFDRkgsMkNBQTBDO0lBQ3RDSSxZQUFZO0lBQ1pDLEtBQUs7UUFDRCxPQUFPQyxTQUFTQyxPQUFPO0lBQzNCO0FBQ0osQ0FBQyxFQUFDO0FBQ0YsTUFBTUQsV0FBV0UsbUJBQU9BLENBQUMsNEhBQVc7QUFFcEMsSUFBSSxDQUFDLE9BQU9OLFFBQVFPLE9BQU8sS0FBSyxjQUFlLE9BQU9QLFFBQVFPLE9BQU8sS0FBSyxZQUFZUCxRQUFRTyxPQUFPLEtBQUssSUFBSSxLQUFNLE9BQU9QLFFBQVFPLE9BQU8sQ0FBQ0MsVUFBVSxLQUFLLGFBQWE7SUFDcktWLE9BQU9DLGNBQWMsQ0FBQ0MsUUFBUU8sT0FBTyxFQUFFLGNBQWM7UUFBRU4sT0FBTztJQUFLO0lBQ25FSCxPQUFPVyxNQUFNLENBQUNULFFBQVFPLE9BQU8sRUFBRVA7SUFDL0JVLE9BQU9WLE9BQU8sR0FBR0EsUUFBUU8sT0FBTztBQUNsQyxFQUVBLGlDQUFpQyIsInNvdXJjZXMiOlsid2VicGFjazovL25leHRqcy8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9PdmVybGF5L2luZGV4LmpzP2E4OGYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2Ugc3RyaWN0XCI7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xyXG4gICAgdmFsdWU6IHRydWVcclxufSk7XHJcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIk92ZXJsYXlcIiwge1xyXG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcclxuICAgIGdldDogZnVuY3Rpb24oKSB7XHJcbiAgICAgICAgcmV0dXJuIF9PdmVybGF5Lk92ZXJsYXk7XHJcbiAgICB9XHJcbn0pO1xyXG5jb25zdCBfT3ZlcmxheSA9IHJlcXVpcmUoXCIuL092ZXJsYXlcIik7XHJcblxyXG5pZiAoKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdmdW5jdGlvbicgfHwgKHR5cGVvZiBleHBvcnRzLmRlZmF1bHQgPT09ICdvYmplY3QnICYmIGV4cG9ydHMuZGVmYXVsdCAhPT0gbnVsbCkpICYmIHR5cGVvZiBleHBvcnRzLmRlZmF1bHQuX19lc01vZHVsZSA9PT0gJ3VuZGVmaW5lZCcpIHtcclxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cy5kZWZhdWx0LCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XHJcbiAgT2JqZWN0LmFzc2lnbihleHBvcnRzLmRlZmF1bHQsIGV4cG9ydHMpO1xyXG4gIG1vZHVsZS5leHBvcnRzID0gZXhwb3J0cy5kZWZhdWx0O1xyXG59XHJcblxyXG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbmRleC5qcy5tYXAiXSwibmFtZXMiOlsiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJleHBvcnRzIiwidmFsdWUiLCJlbnVtZXJhYmxlIiwiZ2V0IiwiX092ZXJsYXkiLCJPdmVybGF5IiwicmVxdWlyZSIsImRlZmF1bHQiLCJfX2VzTW9kdWxlIiwiYXNzaWduIiwibW9kdWxlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n"); /***/ }), /***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": /*!***********************************************************************************************************************!*\ !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! \***********************************************************************************************************************/ /***/ ((module, exports, __webpack_require__) => { "use strict"; eval("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/cjs/_interop_require_default.cjs\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(ssr)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\r\n Facility to cache test results in localStorage.\r\n\r\n USAGE:\r\n cache.get('key');\r\n cache.set('key', 'value');\r\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = false || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\n return element.querySelector(\"area\");\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n var focus = element.querySelector(\"area\");\n focus.focus();\n return _document.activeElement === focus;\n }\n};\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaWithoutHref = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\n return element.querySelector(\"area\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // fixes https://github.com/medialize/ally.js/issues/35\n // Firefox loads the DataURI asynchronously, causing a false-negative\n return true;\n }\n return _document.activeElement === focusTarget;\n }\n};\nvar focusAudioWithoutControls = {\n name: \"can-focus-audio-without-controls\",\n element: \"audio\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\nvar invalidGif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\";\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusBrokenImageMap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '\"\"';\n return element.querySelector(\"area\");\n }\n};\n// Children of focusable elements with display:flex are focusable in IE10-11\nvar focusChildrenOfFocusableFlexbox = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = 'hello';\n return element.querySelector(\"span\");\n }\n};\n// fieldset[tabindex=0][disabled] should not be focusable, but Blink and WebKit disagree\n// @specification https://www.w3.org/TR/html5/disabled-elements.html#concept-element-disabled\n// @browser-issue Chromium https://crbug.com/453847\n// @browser-issue WebKit https://bugs.webkit.org/show_bug.cgi?id=141086\nvar focusFieldsetDisabled = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\nvar focusFieldset = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = \"legend

content

\";\n }\n};\n// elements with display:flex are focusable in IE10-11\nvar focusFlexboxContainer = {\n element: \"span\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"display: -webkit-flex; display: -ms-flexbox; display: flex;\");\n element.innerHTML = 'hello';\n }\n};\n// form[tabindex=0][disabled] should be focusable as the\n// specification doesn't know the disabled attribute on the form element\n// @specification https://www.w3.org/TR/html5/forms.html#the-form-element\nvar focusFormDisabled = {\n element: \"form\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", 0);\n element.setAttribute(\"disabled\", \"disabled\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// fixes https://github.com/medialize/ally.js/issues/20\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-ismap\nvar focusImgIsmap = {\n element: \"a\",\n mutate: function mutate(element) {\n element.href = \"#void\";\n element.innerHTML = '\"\"';\n return element.querySelector(\"img\");\n }\n};\n// NOTE: https://github.com/medialize/ally.js/issues/35\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusImgUsemapTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '\"\"';\n return element.querySelector(\"img\");\n }\n};\nvar focusInHiddenIframe = {\n element: function element(wrapper, _document) {\n var iframe = _document.createElement(\"iframe\");\n // iframe must be part of the DOM before accessing the contentWindow is possible\n wrapper.appendChild(iframe);\n // create the iframe's default document ()\n var iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.close();\n return iframe;\n },\n mutate: function mutate(iframe) {\n iframe.style.visibility = \"hidden\";\n var iframeDocument = iframe.contentWindow.document;\n var input = iframeDocument.createElement(\"input\");\n iframeDocument.body.appendChild(input);\n return input;\n },\n validate: function validate(iframe) {\n var iframeDocument = iframe.contentWindow.document;\n var focus = iframeDocument.querySelector(\"input\");\n return iframeDocument.activeElement === focus;\n }\n};\nvar result = !platform.is.WEBKIT;\nfunction focusInZeroDimensionObject() {\n return result;\n}\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusInvalidTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"invalid-value\");\n }\n};\nvar focusLabelTabindex = {\n element: \"label\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"-1\");\n },\n validate: function validate(element, focusTarget, _document) {\n // force layout in Chrome 49, otherwise the element won't be focusable\n /* eslint-disable no-unused-vars */ var variableToPreventDeadCodeElimination = element.offsetHeight;\n /* eslint-enable no-unused-vars */ element.focus();\n return _document.activeElement === element;\n }\n};\nvar svg = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtb\" + \"G5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBpZD0ic3ZnIj48dGV4dCB4PSIxMCIgeT0iMjAiIGlkPSJ\" + \"zdmctbGluay10ZXh0Ij50ZXh0PC90ZXh0Pjwvc3ZnPg==\";\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvgHidden = {\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n element.style.visibility = \"hidden\";\n }\n};\n// Note: IE10 on BrowserStack does not like this test\nvar focusObjectSvg = {\n name: \"can-focus-object-svg\",\n element: \"object\",\n mutate: function mutate(element) {\n element.setAttribute(\"type\", \"image/svg+xml\");\n element.setAttribute(\"data\", svg);\n element.setAttribute(\"width\", \"200\");\n element.setAttribute(\"height\", \"50\");\n },\n validate: function validate(element, focusTarget, _document) {\n if (platform.is.GECKO) {\n // Firefox seems to be handling the object creation asynchronously and thereby produces a false negative test result.\n // Because we know Firefox is able to focus object elements referencing SVGs, we simply cheat by sniffing the user agent string\n return true;\n }\n return _document.activeElement === element;\n }\n};\n// Every Environment except IE9 considers SWF objects focusable\nvar result$1 = !platform.is.IE9;\nfunction focusObjectSwf() {\n return result$1;\n}\nvar focusRedirectImgUsemap = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '\"\"';\n // focus the , not the
\n return element.querySelector(\"img\");\n },\n validate: function validate(element, focusTarget, _document) {\n var target = element.querySelector(\"area\");\n return _document.activeElement === target;\n }\n};\n// see https://jsbin.com/nenirisage/edit?html,js,console,output\nvar focusRedirectLegend = {\n element: \"fieldset\",\n mutate: function mutate(element) {\n element.innerHTML = 'legend';\n // take care of focus in validate();\n return false;\n },\n validate: function validate(element, focusTarget, _document) {\n var focusable = element.querySelector('input[tabindex=\"-1\"]');\n var tabbable = element.querySelector('input[tabindex=\"0\"]');\n // Firefox requires this test to focus the
first, while this is not necessary in\n // https://jsbin.com/nenirisage/edit?html,js,console,output\n element.focus();\n element.querySelector(\"legend\").focus();\n return _document.activeElement === focusable && \"focusable\" || _document.activeElement === tabbable && \"tabbable\" || \"\";\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollBody = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '
scrollable content
';\n return element.querySelector(\"div\");\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainerWithoutOverflow = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px;\");\n element.innerHTML = '
scrollable content
';\n }\n};\n// https://github.com/medialize/ally.js/issues/21\nvar focusScrollContainer = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"style\", \"width: 100px; height: 50px; overflow: auto;\");\n element.innerHTML = '
scrollable content
';\n }\n};\nvar focusSummary = {\n element: \"details\",\n mutate: function mutate(element) {\n element.innerHTML = \"foo

content

\";\n return element.firstElementChild;\n }\n};\nfunction makeFocusableForeignObject() {\n // Constructs \n // without raising a Trusted Types violation\n var foreignObject = document.createElementNS(\"http://www.w3.org/2000/svg\", \"foreignObject\");\n foreignObject.width.baseVal.value = 30;\n foreignObject.height.baseVal.value = 30;\n foreignObject.appendChild(document.createElement(\"input\"));\n foreignObject.lastChild.type = \"text\";\n return foreignObject;\n}\nfunction focusSvgForeignObjectHack(element) {\n // Edge13, Edge14: foreignObject focus hack\n // https://jsbin.com/kunehinugi/edit?html,js,output\n // https://jsbin.com/fajagi/3/edit?html,js,output\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (!isSvgElement) {\n return false;\n }\n // inject and focus an element into the SVG element to receive focus\n var foreignObject = makeFocusableForeignObject();\n element.appendChild(foreignObject);\n var input = foreignObject.querySelector(\"input\");\n input.focus();\n // upon disabling the activeElement, IE and Edge\n // will not shift focus to like all the other\n // browsers, but instead find the first focusable\n // ancestor and shift focus to that\n input.disabled = true;\n // clean up\n element.removeChild(foreignObject);\n return true;\n}\nfunction generate(element) {\n return '' + element + \"\";\n}\nfunction focus(element) {\n if (element.focus) {\n return;\n }\n try {\n HTMLElement.prototype.focus.call(element);\n } catch (e) {\n focusSvgForeignObjectHack(element);\n }\n}\nfunction validate(element, focusTarget, _document) {\n focus(focusTarget);\n return _document.activeElement === focusTarget;\n}\nvar focusSvgFocusableAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('a');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('a');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgNegativeTabindexAttribute = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('a');\n return element.querySelector(\"text\");\n },\n validate: validate\n};\nvar focusSvgUseTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate([\n 'link',\n ''\n ].join(\"\"));\n return element.querySelector(\"use\");\n },\n validate: validate\n};\nvar focusSvgForeignobjectTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate('');\n // Safari 8's quersSelector() can't identify foreignObject, but getElementyByTagName() can\n return element.querySelector(\"foreignObject\") || element.getElementsByTagName(\"foreignObject\")[0];\n },\n validate: validate\n};\n// Firefox seems to be handling the SVG-document-in-iframe creation asynchronously\n// and thereby produces a false negative test result. Thus the test is pointless\n// and we resort to UA sniffing once again.\n// see http://jsbin.com/vunadohoko/1/edit?js,console,output\nvar result$2 = Boolean(platform.is.GECKO && typeof SVGElement !== \"undefined\" && SVGElement.prototype.focus);\nfunction focusSvgInIframe() {\n return result$2;\n}\nvar focusSvg = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = generate(\"\");\n return element.firstChild;\n },\n validate: validate\n};\n// Firefox allows *any* value and treats invalid values like tabindex=\"-1\"\n// @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\nvar focusTabindexTrailingCharacters = {\n element: \"div\",\n mutate: function mutate(element) {\n element.setAttribute(\"tabindex\", \"3x\");\n }\n};\nvar focusTable = {\n element: \"table\",\n mutate: function mutate(element, wrapper, _document) {\n // IE9 has a problem replacing TBODY contents with innerHTML.\n // https://stackoverflow.com/a/8097055/515124\n // element.innerHTML = 'cell';\n var fragment = _document.createDocumentFragment();\n fragment.innerHTML = \"cell\";\n element.appendChild(fragment);\n }\n};\nvar focusVideoWithoutControls = {\n element: \"video\",\n mutate: function mutate(element) {\n try {\n // invalid media file can trigger warning in console, data-uri to prevent HTTP request\n element.setAttribute(\"src\", gif);\n } catch (e) {\n // IE9 may throw \"Error: Not implemented\"\n }\n }\n};\n// https://jsbin.com/vafaba/3/edit?html,js,console,output\nvar result$3 = platform.is.GECKO || platform.is.TRIDENT || platform.is.EDGE;\nfunction tabsequenceAreaAtImgPosition() {\n return result$3;\n}\nvar testCallbacks = {\n cssShadowPiercingDeepCombinator: cssShadowPiercingDeepCombinator,\n focusInZeroDimensionObject: focusInZeroDimensionObject,\n focusObjectSwf: focusObjectSwf,\n focusSvgInIframe: focusSvgInIframe,\n tabsequenceAreaAtImgPosition: tabsequenceAreaAtImgPosition\n};\nvar testDescriptions = {\n focusAreaImgTabindex: focusAreaImgTabindex,\n focusAreaTabindex: focusAreaTabindex,\n focusAreaWithoutHref: focusAreaWithoutHref,\n focusAudioWithoutControls: focusAudioWithoutControls,\n focusBrokenImageMap: focusBrokenImageMap,\n focusChildrenOfFocusableFlexbox: focusChildrenOfFocusableFlexbox,\n focusFieldsetDisabled: focusFieldsetDisabled,\n focusFieldset: focusFieldset,\n focusFlexboxContainer: focusFlexboxContainer,\n focusFormDisabled: focusFormDisabled,\n focusImgIsmap: focusImgIsmap,\n focusImgUsemapTabindex: focusImgUsemapTabindex,\n focusInHiddenIframe: focusInHiddenIframe,\n focusInvalidTabindex: focusInvalidTabindex,\n focusLabelTabindex: focusLabelTabindex,\n focusObjectSvg: focusObjectSvg,\n focusObjectSvgHidden: focusObjectSvgHidden,\n focusRedirectImgUsemap: focusRedirectImgUsemap,\n focusRedirectLegend: focusRedirectLegend,\n focusScrollBody: focusScrollBody,\n focusScrollContainerWithoutOverflow: focusScrollContainerWithoutOverflow,\n focusScrollContainer: focusScrollContainer,\n focusSummary: focusSummary,\n focusSvgFocusableAttribute: focusSvgFocusableAttribute,\n focusSvgTabindexAttribute: focusSvgTabindexAttribute,\n focusSvgNegativeTabindexAttribute: focusSvgNegativeTabindexAttribute,\n focusSvgUseTabindex: focusSvgUseTabindex,\n focusSvgForeignobjectTabindex: focusSvgForeignobjectTabindex,\n focusSvg: focusSvg,\n focusTabindexTrailingCharacters: focusTabindexTrailingCharacters,\n focusTable: focusTable,\n focusVideoWithoutControls: focusVideoWithoutControls\n};\nfunction executeTests() {\n var results = detectFocus(testDescriptions);\n Object.keys(testCallbacks).forEach(function(key) {\n results[key] = testCallbacks[key]();\n });\n return results;\n}\nvar supportsCache = null;\nfunction _supports() {\n if (supportsCache) {\n return supportsCache;\n }\n supportsCache = cache$1.get();\n if (!supportsCache.time) {\n cache$1.set(executeTests());\n supportsCache = cache$1.get();\n }\n return supportsCache;\n}\nvar supports = void 0;\n// https://www.w3.org/TR/html5/infrastructure.html#rules-for-parsing-integers\n// NOTE: all browsers agree to allow trailing spaces as well\nvar validIntegerPatternNoTrailing = /^\\s*(-|\\+)?[0-9]+\\s*$/;\nvar validIntegerPatternWithTrailing = /^\\s*(-|\\+)?[0-9]+.*$/;\nfunction isValidTabindex(context) {\n if (!supports) {\n supports = _supports();\n }\n var validIntegerPattern = supports.focusTabindexTrailingCharacters ? validIntegerPatternWithTrailing : validIntegerPatternNoTrailing;\n var element = contextToElement({\n label: \"is/valid-tabindex\",\n resolveDocument: true,\n context: context\n });\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var hasTabIndex = element.hasAttribute(\"tabIndex\");\n if (!hasTabindex && !hasTabIndex) {\n return false;\n }\n // older Firefox and Internet Explorer don't support tabindex on SVG elements\n var isSvgElement = element.ownerSVGElement || element.nodeName.toLowerCase() === \"svg\";\n if (isSvgElement && !supports.focusSvgTabindexAttribute) {\n return false;\n }\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n if (supports.focusInvalidTabindex) {\n return true;\n }\n // an element matches the tabindex selector even if its value is invalid\n var tabindex = element.getAttribute(hasTabindex ? \"tabindex\" : \"tabIndex\");\n // IE11 parses tabindex=\"\" as the value \"-32768\"\n // @browser-issue Trident https://connect.microsoft.com/IE/feedback/details/1072965\n if (tabindex === \"-32768\") {\n return false;\n }\n return Boolean(tabindex && validIntegerPattern.test(tabindex));\n}\nfunction tabindexValue(element) {\n if (!isValidTabindex(element)) {\n return null;\n }\n // Edge 14 has a capitalization problem on SVG elements,\n // see https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/9282058/\n var hasTabindex = element.hasAttribute(\"tabindex\");\n var attributeName = hasTabindex ? \"tabindex\" : \"tabIndex\";\n // @browser-issue Gecko https://bugzilla.mozilla.org/show_bug.cgi?id=1128054\n var tabindex = parseInt(element.getAttribute(attributeName), 10);\n return isNaN(tabindex) ? -1 : tabindex;\n}\n// this is a shared utility file for focus-relevant.js and tabbable.js\n// separate testing of this file's functions is not necessary,\n// as they're implicitly tested by way of the consumers\nfunction isUserModifyWritable(style) {\n // https://www.w3.org/TR/1999/WD-css3-userint-19990916#user-modify\n // https://github.com/medialize/ally.js/issues/17\n var userModify = style.webkitUserModify || \"\";\n return Boolean(userModify && userModify.indexOf(\"write\") !== -1);\n}\nfunction hasCssOverflowScroll(style) {\n return [\n style.getPropertyValue(\"overflow\"),\n style.getPropertyValue(\"overflow-x\"),\n style.getPropertyValue(\"overflow-y\")\n ].some(function(overflow) {\n return overflow === \"auto\" || overflow === \"scroll\";\n });\n}\nfunction hasCssDisplayFlex(style) {\n return style.display.indexOf(\"flex\") > -1;\n}\nfunction isScrollableContainer(element, nodeName, parentNodeName, parentStyle) {\n if (nodeName !== \"div\" && nodeName !== \"span\") {\n // Internet Explorer advances scrollable containers and bodies to focusable\n // only if the scrollable container is
or - this does *not*\n // happen for
,
, …\n return false;\n }\n if (parentNodeName && parentNodeName !== \"div\" && parentNodeName !== \"span\" && !hasCssOverflowScroll(parentStyle)) {\n return false;\n }\n return element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth;\n}\nvar supports$1 = void 0;\nfunction isFocusRelevantRules() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context, _ref$except = _ref.except, except = _ref$except === undefined ? {\n flexbox: false,\n scrollable: false,\n shadow: false\n } : _ref$except;\n if (!supports$1) {\n supports$1 = _supports();\n }\n var element = contextToElement({\n label: \"is/focus-relevant\",\n resolveDocument: true,\n context: context\n });\n if (!except.shadow && element.shadowRoot) {\n // a ShadowDOM host receives focus when the focus moves to its content\n return true;\n }\n var nodeName = element.nodeName.toLowerCase();\n if (nodeName === \"input\" && element.type === \"hidden\") {\n // input[type=\"hidden\"] supports.cannot be focused\n return false;\n }\n if (nodeName === \"input\" || nodeName === \"select\" || nodeName === \"button\" || nodeName === \"textarea\") {\n return true;\n }\n if (nodeName === \"legend\" && supports$1.focusRedirectLegend) {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"label\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"area\") {\n // specifics filtered in is/focusable\n return true;\n }\n if (nodeName === \"a\" && element.hasAttribute(\"href\")) {\n return true;\n }\n if (nodeName === \"object\" && element.hasAttribute(\"usemap\")) {\n // object[usemap] is not focusable in any browser\n return false;\n }\n if (nodeName === \"object\") {\n var svgType = element.getAttribute(\"type\");\n if (!supports$1.focusObjectSvg && svgType === \"image/svg+xml\") {\n // object[type=\"image/svg+xml\"] is not focusable in Internet Explorer\n return false;\n } else if (!supports$1.focusObjectSwf && svgType === \"application/x-shockwave-flash\") {\n // object[type=\"application/x-shockwave-flash\"] is not focusable in Internet Explorer 9\n return false;\n }\n }\n if (nodeName === \"iframe\" || nodeName === \"object\") {\n // browsing context containers\n return true;\n }\n if (nodeName === \"embed\" || nodeName === \"keygen\") {\n // embed is considered focus-relevant but not focusable\n // see https://github.com/medialize/ally.js/issues/82\n return true;\n }\n if (element.hasAttribute(\"contenteditable\")) {\n // also see CSS property user-modify below\n return true;\n }\n if (nodeName === \"audio\" && (supports$1.focusAudioWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (nodeName === \"video\" && (supports$1.focusVideoWithoutControls || element.hasAttribute(\"controls\"))) {\n return true;\n }\n if (supports$1.focusSummary && nodeName === \"summary\") {\n return true;\n }\n var validTabindex = isValidTabindex(element);\n if (nodeName === \"img\" && element.hasAttribute(\"usemap\")) {\n // Gecko, Trident and Edge do not allow an image with an image map and tabindex to be focused,\n // it appears the tabindex is overruled so focus is still forwarded to the \n return validTabindex && supports$1.focusImgUsemapTabindex || supports$1.focusRedirectImgUsemap;\n }\n if (supports$1.focusTable && (nodeName === \"table\" || nodeName === \"td\")) {\n // IE10-11 supports.can focus and
\n return true;\n }\n if (supports$1.focusFieldset && nodeName === \"fieldset\") {\n // IE10-11 supports.can focus
\n return true;\n }\n var isSvgElement = nodeName === \"svg\";\n var isSvgContent = element.ownerSVGElement;\n var focusableAttribute = element.getAttribute(\"focusable\");\n var tabindex = tabindexValue(element);\n if (nodeName === \"use\" && tabindex !== null && !supports$1.focusSvgUseTabindex) {\n // cannot be made focusable by adding a tabindex attribute anywhere but Blink and WebKit\n return false;\n }\n if (nodeName === \"foreignobject\") {\n // can only be made focusable in Blink and WebKit\n return tabindex !== null && supports$1.focusSvgForeignobjectTabindex;\n }\n if (elementMatches(element, \"svg a\") && element.hasAttribute(\"xlink:href\")) {\n return true;\n }\n if ((isSvgElement || isSvgContent) && element.focus && !supports$1.focusSvgNegativeTabindexAttribute && tabindex < 0) {\n // Firefox 51 and 52 treat any natively tabbable SVG element with\n // tabindex=\"-1\" as tabbable and everything else as inert\n // see https://bugzilla.mozilla.org/show_bug.cgi?id=1302340\n return false;\n }\n if (isSvgElement) {\n return validTabindex || supports$1.focusSvg || supports$1.focusSvgInIframe || // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n Boolean(supports$1.focusSvgFocusableAttribute && focusableAttribute && focusableAttribute === \"true\");\n }\n if (isSvgContent) {\n if (supports$1.focusSvgTabindexAttribute && validTabindex) {\n return true;\n }\n if (supports$1.focusSvgFocusableAttribute) {\n // Internet Explorer understands the focusable attribute introduced in SVG Tiny 1.2\n return focusableAttribute === \"true\";\n }\n }\n // https://www.w3.org/TR/html5/editing.html#sequential-focus-navigation-and-the-tabindex-attribute\n if (validTabindex) {\n return true;\n }\n var style = window.getComputedStyle(element, null);\n if (isUserModifyWritable(style)) {\n return true;\n }\n if (supports$1.focusImgIsmap && nodeName === \"img\" && element.hasAttribute(\"ismap\")) {\n // IE10-11 considers the in focusable\n // https://github.com/medialize/ally.js/issues/20\n var hasLinkParent = getParents({\n context: element\n }).some(function(parent) {\n return parent.nodeName.toLowerCase() === \"a\" && parent.hasAttribute(\"href\");\n });\n if (hasLinkParent) {\n return true;\n }\n }\n // https://github.com/medialize/ally.js/issues/21\n if (!except.scrollable && supports$1.focusScrollContainer) {\n if (supports$1.focusScrollContainerWithoutOverflow) {\n // Internet Explorer does will consider the scrollable area focusable\n // if the element is a
or a and it is in fact scrollable,\n // regardless of the CSS overflow property\n if (isScrollableContainer(element, nodeName)) {\n return true;\n }\n } else if (hasCssOverflowScroll(style)) {\n // Firefox requires proper overflow setting, IE does not necessarily\n // https://developer.mozilla.org/docs/Web/CSS/overflow\n return true;\n }\n }\n if (!except.flexbox && supports$1.focusFlexboxContainer && hasCssDisplayFlex(style)) {\n // elements with display:flex are focusable in IE10-11\n return true;\n }\n var parent = element.parentElement;\n if (!except.scrollable && parent) {\n var parentNodeName = parent.nodeName.toLowerCase();\n var parentStyle = window.getComputedStyle(parent, null);\n if (supports$1.focusScrollBody && isScrollableContainer(parent, nodeName, parentNodeName, parentStyle)) {\n // scrollable bodies are focusable Internet Explorer\n // https://github.com/medialize/ally.js/issues/21\n return true;\n }\n // Children of focusable elements with display:flex are focusable in IE10-11\n if (supports$1.focusChildrenOfFocusableFlexbox) {\n if (hasCssDisplayFlex(parentStyle)) {\n return true;\n }\n }\n }\n // NOTE: elements marked as inert are not focusable,\n // but that property is not exposed to the DOM\n // https://www.w3.org/TR/html5/editing.html#inert\n return false;\n}\n// bind exceptions to an iterator callback\nisFocusRelevantRules.except = function() {\n var except = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var isFocusRelevant = function isFocusRelevant(context) {\n return isFocusRelevantRules({\n context: context,\n except: except\n });\n };\n isFocusRelevant.rules = isFocusRelevantRules;\n return isFocusRelevant;\n};\n// provide isFocusRelevant(context) as default iterator callback\nvar isFocusRelevant = isFocusRelevantRules.except({});\nfunction findIndex(array, callback) {\n // attempt to use native or polyfilled Array#findIndex first\n if (array.findIndex) {\n return array.findIndex(callback);\n }\n var length = array.length;\n // shortcut if the array is empty\n if (length === 0) {\n return -1;\n }\n // otherwise loop over array\n for(var i = 0; i < length; i++){\n if (callback(array[i], i, array)) {\n return i;\n }\n }\n return -1;\n}\nfunction getContentDocument(node) {\n try {\n // works on and