diff --git a/.next/app-build-manifest.json b/.next/app-build-manifest.json deleted file mode 100644 index f3ae424..0000000 --- a/.next/app-build-manifest.json +++ /dev/null @@ -1,35 +0,0 @@ -{ - "pages": { - "/gunbuilder/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/gunbuilder/page.js" - ], - "/layout": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/css/app/layout.css", - "static/chunks/app/layout.js" - ], - "/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/page.js" - ], - "/gunbuilder/[categoryId]/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/gunbuilder/[categoryId]/page.js" - ], - "/register/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/register/page.js" - ], - "/login/page": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js", - "static/chunks/app/login/page.js" - ] - } -} \ No newline at end of file diff --git a/.next/build-manifest.json b/.next/build-manifest.json deleted file mode 100644 index 018cb67..0000000 --- a/.next/build-manifest.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "polyfillFiles": [ - "static/chunks/polyfills.js" - ], - "devFiles": [], - "ampDevFiles": [], - "lowPriorityFiles": [ - "static/development/_buildManifest.js", - "static/development/_ssgManifest.js" - ], - "rootMainFiles": [ - "static/chunks/webpack.js", - "static/chunks/main-app.js" - ], - "pages": { - "/_app": [] - }, - "ampFirstPages": [] -} \ No newline at end of file diff --git a/.next/cache/webpack/client-development-fallback/0.pack.gz b/.next/cache/webpack/client-development-fallback/0.pack.gz deleted file mode 100644 index e1ce7e9..0000000 Binary files a/.next/cache/webpack/client-development-fallback/0.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development-fallback/index.pack.gz b/.next/cache/webpack/client-development-fallback/index.pack.gz deleted file mode 100644 index 0f58fe8..0000000 Binary files a/.next/cache/webpack/client-development-fallback/index.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/0.pack.gz b/.next/cache/webpack/client-development/0.pack.gz deleted file mode 100644 index 59ff779..0000000 Binary files a/.next/cache/webpack/client-development/0.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/1.pack.gz b/.next/cache/webpack/client-development/1.pack.gz deleted file mode 100644 index a0e9139..0000000 Binary files a/.next/cache/webpack/client-development/1.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/10.pack.gz b/.next/cache/webpack/client-development/10.pack.gz deleted file mode 100644 index 8508fbf..0000000 Binary files a/.next/cache/webpack/client-development/10.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/11.pack.gz b/.next/cache/webpack/client-development/11.pack.gz deleted file mode 100644 index 5abae2f..0000000 Binary files a/.next/cache/webpack/client-development/11.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/12.pack.gz b/.next/cache/webpack/client-development/12.pack.gz deleted file mode 100644 index bcb7cd6..0000000 Binary files a/.next/cache/webpack/client-development/12.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/13.pack.gz b/.next/cache/webpack/client-development/13.pack.gz deleted file mode 100644 index 71ce988..0000000 Binary files a/.next/cache/webpack/client-development/13.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/14.pack.gz b/.next/cache/webpack/client-development/14.pack.gz deleted file mode 100644 index 819f712..0000000 Binary files a/.next/cache/webpack/client-development/14.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/15.pack.gz b/.next/cache/webpack/client-development/15.pack.gz deleted file mode 100644 index 688b03a..0000000 Binary files a/.next/cache/webpack/client-development/15.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/16.pack.gz b/.next/cache/webpack/client-development/16.pack.gz deleted file mode 100644 index a94ea7c..0000000 Binary files a/.next/cache/webpack/client-development/16.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/17.pack.gz b/.next/cache/webpack/client-development/17.pack.gz deleted file mode 100644 index 9b6fc3e..0000000 Binary files a/.next/cache/webpack/client-development/17.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/18.pack.gz b/.next/cache/webpack/client-development/18.pack.gz deleted file mode 100644 index f9a849f..0000000 Binary files a/.next/cache/webpack/client-development/18.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/19.pack.gz b/.next/cache/webpack/client-development/19.pack.gz deleted file mode 100644 index f38d0bd..0000000 Binary files a/.next/cache/webpack/client-development/19.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/2.pack.gz b/.next/cache/webpack/client-development/2.pack.gz deleted file mode 100644 index bd85695..0000000 Binary files a/.next/cache/webpack/client-development/2.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/20.pack.gz b/.next/cache/webpack/client-development/20.pack.gz deleted file mode 100644 index 168e5c6..0000000 Binary files a/.next/cache/webpack/client-development/20.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/21.pack.gz b/.next/cache/webpack/client-development/21.pack.gz deleted file mode 100644 index eacfb6d..0000000 Binary files a/.next/cache/webpack/client-development/21.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/22.pack.gz b/.next/cache/webpack/client-development/22.pack.gz deleted file mode 100644 index 82b63bd..0000000 Binary files a/.next/cache/webpack/client-development/22.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/3.pack.gz b/.next/cache/webpack/client-development/3.pack.gz deleted file mode 100644 index fe6ce24..0000000 Binary files a/.next/cache/webpack/client-development/3.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/4.pack.gz b/.next/cache/webpack/client-development/4.pack.gz deleted file mode 100644 index 91bd5a3..0000000 Binary files a/.next/cache/webpack/client-development/4.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/5.pack.gz b/.next/cache/webpack/client-development/5.pack.gz deleted file mode 100644 index 0b8e7eb..0000000 Binary files a/.next/cache/webpack/client-development/5.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/6.pack.gz b/.next/cache/webpack/client-development/6.pack.gz deleted file mode 100644 index 36886a7..0000000 Binary files a/.next/cache/webpack/client-development/6.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/7.pack.gz b/.next/cache/webpack/client-development/7.pack.gz deleted file mode 100644 index c119b90..0000000 Binary files a/.next/cache/webpack/client-development/7.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/8.pack.gz b/.next/cache/webpack/client-development/8.pack.gz deleted file mode 100644 index cec0be8..0000000 Binary files a/.next/cache/webpack/client-development/8.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/9.pack.gz b/.next/cache/webpack/client-development/9.pack.gz deleted file mode 100644 index 0e049bf..0000000 Binary files a/.next/cache/webpack/client-development/9.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/index.pack.gz b/.next/cache/webpack/client-development/index.pack.gz deleted file mode 100644 index 551ad95..0000000 Binary files a/.next/cache/webpack/client-development/index.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/client-development/index.pack.gz.old b/.next/cache/webpack/client-development/index.pack.gz.old deleted file mode 100644 index 075b50f..0000000 Binary files a/.next/cache/webpack/client-development/index.pack.gz.old and /dev/null differ diff --git a/.next/cache/webpack/server-development/0.pack.gz b/.next/cache/webpack/server-development/0.pack.gz deleted file mode 100644 index 1a17b68..0000000 Binary files a/.next/cache/webpack/server-development/0.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/1.pack.gz b/.next/cache/webpack/server-development/1.pack.gz deleted file mode 100644 index 5f63a56..0000000 Binary files a/.next/cache/webpack/server-development/1.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/10.pack.gz b/.next/cache/webpack/server-development/10.pack.gz deleted file mode 100644 index 61a1ea3..0000000 Binary files a/.next/cache/webpack/server-development/10.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/11.pack.gz b/.next/cache/webpack/server-development/11.pack.gz deleted file mode 100644 index 94b0525..0000000 Binary files a/.next/cache/webpack/server-development/11.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/12.pack.gz b/.next/cache/webpack/server-development/12.pack.gz deleted file mode 100644 index 82e4d2c..0000000 Binary files a/.next/cache/webpack/server-development/12.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/13.pack.gz b/.next/cache/webpack/server-development/13.pack.gz deleted file mode 100644 index e9655bb..0000000 Binary files a/.next/cache/webpack/server-development/13.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/2.pack.gz b/.next/cache/webpack/server-development/2.pack.gz deleted file mode 100644 index ced75f9..0000000 Binary files a/.next/cache/webpack/server-development/2.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/3.pack.gz b/.next/cache/webpack/server-development/3.pack.gz deleted file mode 100644 index ee53c28..0000000 Binary files a/.next/cache/webpack/server-development/3.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/4.pack.gz b/.next/cache/webpack/server-development/4.pack.gz deleted file mode 100644 index 60d7636..0000000 Binary files a/.next/cache/webpack/server-development/4.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/5.pack.gz b/.next/cache/webpack/server-development/5.pack.gz deleted file mode 100644 index 73952be..0000000 Binary files a/.next/cache/webpack/server-development/5.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/6.pack.gz b/.next/cache/webpack/server-development/6.pack.gz deleted file mode 100644 index ca96e73..0000000 Binary files a/.next/cache/webpack/server-development/6.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/7.pack.gz b/.next/cache/webpack/server-development/7.pack.gz deleted file mode 100644 index 9bf6b80..0000000 Binary files a/.next/cache/webpack/server-development/7.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/8.pack.gz b/.next/cache/webpack/server-development/8.pack.gz deleted file mode 100644 index e8993bb..0000000 Binary files a/.next/cache/webpack/server-development/8.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/9.pack.gz b/.next/cache/webpack/server-development/9.pack.gz deleted file mode 100644 index 8fa525a..0000000 Binary files a/.next/cache/webpack/server-development/9.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/index.pack.gz b/.next/cache/webpack/server-development/index.pack.gz deleted file mode 100644 index fc52e06..0000000 Binary files a/.next/cache/webpack/server-development/index.pack.gz and /dev/null differ diff --git a/.next/cache/webpack/server-development/index.pack.gz.old b/.next/cache/webpack/server-development/index.pack.gz.old deleted file mode 100644 index 6aea4fb..0000000 Binary files a/.next/cache/webpack/server-development/index.pack.gz.old and /dev/null differ diff --git a/.next/package.json b/.next/package.json deleted file mode 100644 index 7156107..0000000 --- a/.next/package.json +++ /dev/null @@ -1 +0,0 @@ -{"type": "commonjs"} \ No newline at end of file diff --git a/.next/react-loadable-manifest.json b/.next/react-loadable-manifest.json deleted file mode 100644 index 9e26dfe..0000000 --- a/.next/react-loadable-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/.next/server/app-paths-manifest.json b/.next/server/app-paths-manifest.json deleted file mode 100644 index d342191..0000000 --- a/.next/server/app-paths-manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "/gunbuilder/page": "app/gunbuilder/page.js", - "/gunbuilder/[categoryId]/page": "app/gunbuilder/[categoryId]/page.js", - "/register/page": "app/register/page.js" -} \ No newline at end of file diff --git a/.next/server/app/_not-found/page.js b/.next/server/app/_not-found/page.js deleted file mode 100644 index 973f5cb..0000000 --- a/.next/server/app/_not-found/page.js +++ /dev/null @@ -1,218 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/_not-found/page"; -exports.ids = ["app/_not-found/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\"/_not-found\", {\n children: ['__PAGE__', {}, {\n page: [\n () => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)),\n \"next/dist/client/components/not-found-error\"\n ]\n }]\n }, {}]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/_not-found/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/_not-found/page\",\n pathname: \"/_not-found\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZfbm90LWZvdW5kJTJGcGFnZSZwYWdlPSUyRl9ub3QtZm91bmQlMkZwYWdlJmFwcFBhdGhzPSZwYWdlUGF0aD1ub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZub3QtZm91bmQtZXJyb3IuanMmYXBwRGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj0lMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDO0FBQ3JDO0FBQ0Esc0JBQXNCLDBOQUFnRjtBQUN0RztBQUNBO0FBQ0EsYUFBYTtBQUNiLFdBQVcsSUFBSTtBQUNmLFNBQVM7QUFDVDtBQUNBLHlCQUF5Qiw0SUFBd0Y7QUFDakgsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz8wZTY0Il0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgICBjaGlsZHJlbjogW1wiL19ub3QtZm91bmRcIiwge1xuICAgICAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgICAgICBwYWdlOiBbXG4gICAgICAgICAgICAgICAgKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLFxuICAgICAgICAgICAgICAgIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH1dXG4gICAgICAgICAgfSwge31dXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiKSwgXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2xheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtdO1xuZXhwb3J0IHsgdHJlZSwgcGFnZXMgfTtcbmV4cG9ydCB7IGRlZmF1bHQgYXMgR2xvYmFsRXJyb3IgfSBmcm9tIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5XCI7XG5jb25zdCBfX25leHRfYXBwX3JlcXVpcmVfXyA9IF9fd2VicGFja19yZXF1aXJlX19cbmNvbnN0IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fID0gKCkgPT4gUHJvbWlzZS5yZXNvbHZlKClcbmV4cG9ydCBjb25zdCBvcmlnaW5hbFBhdGhuYW1lID0gXCIvX25vdC1mb3VuZC9wYWdlXCI7XG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL19ub3QtZm91bmQvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvX25vdC1mb3VuZFwiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 181,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FJO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgbG9hZGluZzogYm9vbGVhbjsgLy8gY292ZXJzIGluaXRpYWwgaHlkcmF0ZSArIGFjdGl2ZSBhdXRoIHJlcXVlc3RzXG4gIGxvZ2luOiAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVnaXN0ZXI6IChwYXJhbXM6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIH0pID0+IFByb21pc2U8dm9pZD47XG4gIGxvZ291dDogKCkgPT4gdm9pZDtcbiAgZ2V0QXV0aEhlYWRlcnM6ICgpID0+IEhlYWRlcnNJbml0O1xufTtcblxuY29uc3QgQXV0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEF1dGhDb250ZXh0VmFsdWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IFRPS0VOX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdG9rZW5cIjtcbmNvbnN0IFVTRVJfS0VZID0gXCJiYWxsaXN0aWNfYXV0aF91c2VyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRoUHJvdmlkZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxBdXRoVXNlcj4obnVsbCk7XG4gIGNvbnN0IFt0b2tlbiwgc2V0VG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpOyAvLyBzdGFydCB0cnVlIHdoaWxlIHdlIGh5ZHJhdGUgKyByZXVzZSBmb3IgY2FsbHNcblxuICAvLyBoeWRyYXRlIGZyb20gbG9jYWxTdG9yYWdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHN0b3JlZFRva2VuID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRPS0VOX0tFWSk7XG4gICAgICBjb25zdCBzdG9yZWRVc2VyID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFVTRVJfS0VZKTtcblxuICAgICAgaWYgKHN0b3JlZFRva2VuICYmIHN0b3JlZFVzZXIpIHtcbiAgICAgICAgc2V0VG9rZW4oc3RvcmVkVG9rZW4pO1xuICAgICAgICBzZXRVc2VyKEpTT04ucGFyc2Uoc3RvcmVkVXNlcikpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNldFNlc3Npb24gPSB1c2VDYWxsYmFjaygobmV3VG9rZW46IHN0cmluZywgbmV3VXNlcjogQXV0aFVzZXIpID0+IHtcbiAgICBzZXRUb2tlbihuZXdUb2tlbik7XG4gICAgc2V0VXNlcihuZXdVc2VyKTtcblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVE9LRU5fS0VZLCBuZXdUb2tlbik7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVVNFUl9LRVksIEpTT04uc3RyaW5naWZ5KG5ld1VzZXIpKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbGVhclNlc3Npb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW4obnVsbCk7XG4gICAgc2V0VXNlcihudWxsKTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX0tFWSk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVVNFUl9LRVkpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlZ2lzdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0VfVVJMfS9hcGkvYXV0aC9yZWdpc3RlcmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZW1haWw6IHBhcmFtcy5lbWFpbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogcGFyYW1zLmRpc3BsYXlOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBhY2NvdW50XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YToge1xuICAgICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICAgICAgICByb2xlOiBzdHJpbmc7XG4gICAgICAgIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIHNldFNlc3Npb24oZGF0YS50b2tlbiwge1xuICAgICAgICAgIGVtYWlsOiBkYXRhLmVtYWlsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgcm9sZTogZGF0YS5yb2xlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFNlc3Npb25dLFxuICApO1xuXG4gIGNvbnN0IGxvZ2luID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL2xvZ2luYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dCB8fCBcIkZhaWxlZCB0byBsb2cgaW5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9nb3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyU2Vzc2lvbigpO1xuICB9LCBbY2xlYXJTZXNzaW9uXSk7XG5cbiAgY29uc3QgZ2V0QXV0aEhlYWRlcnMgPSB1c2VDYWxsYmFjaygoKTogSGVhZGVyc0luaXQgPT4ge1xuICAgIGlmICghdG9rZW4pIHJldHVybiB7fTtcbiAgICByZXR1cm4ge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgfTtcbiAgfSwgW3Rva2VuXSk7XG5cbiAgY29uc3QgdmFsdWU6IEF1dGhDb250ZXh0VmFsdWUgPSB7XG4gICAgdXNlcixcbiAgICBsb2FkaW5nLFxuICAgIGxvZ2luLFxuICAgIHJlZ2lzdGVyLFxuICAgIGxvZ291dCxcbiAgICBnZXRBdXRoSGVhZGVycyxcbiAgfTtcblxuICByZXR1cm4gPEF1dGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQXV0aENvbnRleHQuUHJvdmlkZXI+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXV0aCgpOiBBdXRoQ29udGV4dFZhbHVlIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChBdXRoQ29udGV4dCk7XG4gIGlmICghY3R4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQXV0aCBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIEF1dGhQcm92aWRlclwiKTtcbiAgfVxuICByZXR1cm4gY3R4O1xufSJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJBUElfQkFTRV9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMIiwiQXV0aENvbnRleHQiLCJ1bmRlZmluZWQiLCJUT0tFTl9LRVkiLCJVU0VSX0tFWSIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ0b2tlbiIsInNldFRva2VuIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzdG9yZWRUb2tlbiIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdG9yZWRVc2VyIiwiSlNPTiIsInBhcnNlIiwic2V0U2Vzc2lvbiIsIm5ld1Rva2VuIiwibmV3VXNlciIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJjbGVhclNlc3Npb24iLCJyZW1vdmVJdGVtIiwicmVnaXN0ZXIiLCJwYXJhbXMiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiZW1haWwiLCJwYXNzd29yZCIsImRpc3BsYXlOYW1lIiwib2siLCJ0ZXh0IiwiRXJyb3IiLCJkYXRhIiwianNvbiIsInJvbGUiLCJsb2dpbiIsImxvZ291dCIsImdldEF1dGhIZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsInZhbHVlIiwiUHJvdmlkZXIiLCJ1c2VBdXRoIiwiY3R4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2F_not-found%2Fpage&page=%2F_not-found%2Fpage&appPaths=&pagePath=node_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-error.js&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/_not-found/page_client-reference-manifest.js b/.next/server/app/_not-found/page_client-reference-manifest.js deleted file mode 100644 index 1dcd831..0000000 --- a/.next/server/app/_not-found/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/_not-found/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/register/page.tsx":{"*":{"id":"(ssr)/./app/register/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/login/page.tsx":{"*":{"id":"(ssr)/./app/login/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx":{"id":"(app-pages-browser)/./app/register/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx":{"id":"(app-pages-browser)/./app/login/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/_not-found/page":[]}} \ No newline at end of file diff --git a/.next/server/app/gunbuilder/[categoryId]/page.js b/.next/server/app/gunbuilder/[categoryId]/page.js deleted file mode 100644 index de979e4..0000000 --- a/.next/server/app/gunbuilder/[categoryId]/page.js +++ /dev/null @@ -1,290 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/gunbuilder/[categoryId]/page"; -exports.ids = ["app/gunbuilder/[categoryId]/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&page=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&appPaths=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&page=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&appPaths=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'gunbuilder',\n {\n children: [\n '[categoryId]',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/gunbuilder/[categoryId]/page.tsx */ \"(rsc)/./app/gunbuilder/[categoryId]/page.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/gunbuilder/[categoryId]/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/gunbuilder/[categoryId]/page\",\n pathname: \"/gunbuilder/[categoryId]\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZndW5idWlsZGVyJTJGJTVCY2F0ZWdvcnlJZCU1RCUyRnBhZ2UmcGFnZT0lMkZndW5idWlsZGVyJTJGJTVCY2F0ZWdvcnlJZCU1RCUyRnBhZ2UmYXBwUGF0aHM9JTJGZ3VuYnVpbGRlciUyRiU1QmNhdGVnb3J5SWQlNUQlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZ3VuYnVpbGRlciUyRiU1QmNhdGVnb3J5SWQlNUQlMkZwYWdlLnRzeCZhcHBEaXI9JTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1Qix3TEFBOEc7QUFDckk7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SUFBd0Y7QUFDakgsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz85ZTdlIl0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2d1bmJ1aWxkZXInLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdbY2F0ZWdvcnlJZF0nLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2d1bmJ1aWxkZXIvW2NhdGVnb3J5SWRdL3BhZ2UudHN4XCIpLCBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvZ3VuYnVpbGRlci9bY2F0ZWdvcnlJZF0vcGFnZS50c3hcIl0sXG4gICAgICAgICAgXG4gICAgICAgIH1dXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9sYXlvdXQudHN4XCIpLCBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9ndW5idWlsZGVyL1tjYXRlZ29yeUlkXS9wYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL2d1bmJ1aWxkZXIvW2NhdGVnb3J5SWRdL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvZ3VuYnVpbGRlci9bY2F0ZWdvcnlJZF0vcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvZ3VuYnVpbGRlci9bY2F0ZWdvcnlJZF1cIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&page=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&appPaths=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/gunbuilder/[categoryId]/page.tsx */ \"(ssr)/./app/gunbuilder/[categoryId]/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ3VuYnVpbGRlciUyRiU1QmNhdGVnb3J5SWQlNUQlMkZwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsd0xBQThHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzg1OTkiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2d1bmJ1aWxkZXIvW2NhdGVnb3J5SWRdL3BhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./app/gunbuilder/[categoryId]/page.tsx": -/*!**********************************************!*\ - !*** ./app/gunbuilder/[categoryId]/page.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ CategoryPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/data/gunbuilderParts */ \"(ssr)/./data/gunbuilderParts.ts\");\n/* harmony import */ var _data_partRoleMappings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/data/partRoleMappings */ \"(ssr)/./data/partRoleMappings.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst STORAGE_KEY = \"gunbuilder-build-state\";\nfunction CategoryPage() {\n const params = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useParams)();\n const categoryId = params.categoryId;\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useRouter)();\n const [viewMode, setViewMode] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"list\");\n const [parts, setParts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n // filter + sort state\n const [brandFilter, setBrandFilter] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"all\");\n const [sortBy, setSortBy] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"relevance\");\n const [searchQuery, setSearchQuery] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n // build state for this page, synced with localStorage\n const [build, setBuild] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(()=>{\n if (true) return {};\n try {\n const stored = window.localStorage.getItem(STORAGE_KEY);\n return stored ? JSON.parse(stored) : {};\n } catch {\n return {};\n }\n });\n const category = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>_data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES.find((c)=>c.id === categoryId), [\n categoryId\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (!categoryId) return;\n const controller = new AbortController();\n async function fetchCategoryParts() {\n try {\n setLoading(true);\n setError(null);\n // FIX: determine which backend partRoles map to this category\n const roles = _data_partRoleMappings__WEBPACK_IMPORTED_MODULE_5__.CATEGORY_TO_PART_ROLES[categoryId] ?? [];\n const search = new URLSearchParams();\n search.set(\"platform\", \"AR-15\");\n roles.forEach((r)=>search.append(\"partRoles\", r));\n const url = `${API_BASE_URL}/api/products/gunbuilder${roles.length ? `?${search.toString()}` : \"\"}`;\n const res = await fetch(url, {\n signal: controller.signal\n });\n if (!res.ok) {\n throw new Error(`Failed to load products (${res.status})`);\n }\n const data = await res.json();\n const normalized = data.map((p)=>({\n id: p.id,\n categoryId,\n name: p.name,\n brand: p.brand,\n price: p.price ?? 0,\n imageUrl: p.mainImageUrl ?? undefined,\n url: p.buyUrl ?? undefined,\n notes: undefined\n }));\n setParts(normalized);\n } catch (err) {\n if (err.name === \"AbortError\") return;\n setError(err.message ?? \"Failed to load products\");\n } finally{\n setLoading(false);\n }\n }\n fetchCategoryParts();\n return ()=>controller.abort();\n }, [\n categoryId\n ]);\n // persist build to localStorage whenever it changes\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (true) return;\n try {\n window.localStorage.setItem(STORAGE_KEY, JSON.stringify(build));\n } catch {\n // ignore\n }\n }, [\n build\n ]);\n // handler to toggle Add / Remove for this category\n const handleTogglePart = (categoryId, partId)=>{\n const isSelected = build[categoryId] === partId;\n if (isSelected) {\n // Remove from build\n setBuild((prev)=>{\n const updated = {\n ...prev\n };\n delete updated[categoryId];\n return updated;\n });\n } else {\n // Add to build and navigate back to main gunbuilder page\n setBuild((prev)=>({\n ...prev,\n [categoryId]: partId\n }));\n router.push(\"/gunbuilder\");\n }\n };\n // available brands for filter\n const availableBrands = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>Array.from(new Set(parts.map((p)=>p.brand))).filter(Boolean).sort((a, b)=>a.localeCompare(b)), [\n parts\n ]);\n // filtered + sorted parts with selected part pinned to top\n const filteredParts = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n let result = [\n ...parts\n ];\n if (brandFilter !== \"all\") {\n result = result.filter((p)=>p.brand === brandFilter);\n }\n const normalizedQuery = searchQuery.trim().toLowerCase();\n if (normalizedQuery) {\n result = result.filter((p)=>{\n const name = p.name.toLowerCase();\n const brand = p.brand.toLowerCase();\n return name.includes(normalizedQuery) || brand.includes(normalizedQuery);\n });\n }\n switch(sortBy){\n case \"price-asc\":\n result.sort((a, b)=>a.price - b.price);\n break;\n case \"price-desc\":\n result.sort((a, b)=>b.price - a.price);\n break;\n case \"brand-asc\":\n result.sort((a, b)=>a.brand.localeCompare(b.brand));\n break;\n case \"relevance\":\n default:\n break;\n }\n // Pin the currently selected part (for this category) to the top, if any\n const selectedId = build[categoryId];\n if (selectedId) {\n const selected = result.filter((p)=>p.id === selectedId);\n const others = result.filter((p)=>p.id !== selectedId);\n result = [\n ...selected,\n ...others\n ];\n }\n return result;\n }, [\n parts,\n brandFilter,\n sortBy,\n build,\n categoryId,\n searchQuery\n ]);\n if (!category) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-6xl px-4 py-6 lg:py-10\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-semibold text-zinc-50 mb-4\",\n children: \"Category Not Found\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 211,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/gunbuilder\",\n className: \"text-amber-300 hover:text-amber-200 underline\",\n children: \"Return to Gunbuilder\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 214,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 210,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 209,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 208,\n columnNumber: 7\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-6xl px-4 py-6 lg:py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"mb-6\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/gunbuilder\",\n className: \"text-xs text-zinc-400 hover:text-zinc-300 mb-4 inline-block\",\n children: \"← Back to The Armory\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 231,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-start justify-between gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-500\",\n children: \"Shadow Standard\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 239,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-1 text-2xl md:text-3xl font-semibold tracking-tight\",\n children: [\n category.name,\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-300\",\n children: \"Parts\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 243,\n columnNumber: 33\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 242,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-sm text-zinc-400 max-w-xl\",\n children: [\n \"Browse all available \",\n category.name.toLowerCase(),\n \" options for your build, pulled live from your Ballistic backend.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 245,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 238,\n columnNumber: 13\n }, this),\n !loading && !error && parts.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 border border-zinc-800 rounded-md p-1 bg-zinc-950/60\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setViewMode(\"card\"),\n className: `px-3 py-1.5 text-xs font-medium rounded transition-colors ${viewMode === \"card\" ? \"bg-zinc-800 text-zinc-50\" : \"text-zinc-400 hover:text-zinc-300\"}`,\n \"aria-label\": \"Card view\",\n children: \"Card\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 252,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setViewMode(\"list\"),\n className: `px-3 py-1.5 text-xs font-medium rounded transition-colors ${viewMode === \"list\" ? \"bg-zinc-800 text-zinc-50\" : \"text-zinc-400 hover:text-zinc-300\"}`,\n \"aria-label\": \"List view\",\n children: \"List\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 264,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 251,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 237,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 230,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"rounded-lg border border-zinc-800 bg-zinc-950/60 p-3 md:p-4\",\n children: [\n !loading && !error && parts.length > 0 && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-4 flex flex-col gap-3 md:flex-row md:items-center md:justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-zinc-500\",\n children: [\n \"Showing\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-zinc-200 font-medium\",\n children: filteredParts.length\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 288,\n columnNumber: 17\n }, this),\n \" \",\n \"of\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-zinc-200 font-medium\",\n children: parts.length\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 292,\n columnNumber: 17\n }, this),\n \" \",\n \"parts\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 286,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-wrap gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"part-search\",\n className: \"text-xs text-zinc-500\",\n children: \"Search\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 299,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"relative\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"part-search\",\n type: \"text\",\n value: searchQuery,\n onChange: (e)=>setSearchQuery(e.target.value),\n placeholder: `Search ${category.name.toLowerCase()}...`,\n className: \"rounded-md border border-zinc-700 bg-zinc-900/70 text-xs text-zinc-200 px-2 py-1 pr-6 focus:outline-none focus:ring-1 focus:ring-amber-400\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 303,\n columnNumber: 19\n }, this),\n searchQuery && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>setSearchQuery(\"\"),\n className: \"absolute right-1 top-1/2 -translate-y-1/2 text-zinc-500 hover:text-zinc-300 text-xs leading-none\",\n \"aria-label\": \"Clear search\",\n children: \"\\xd7\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 312,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 302,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 298,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"brand-filter\",\n className: \"text-xs text-zinc-500\",\n children: \"Brand\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 324,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n id: \"brand-filter\",\n value: brandFilter,\n onChange: (e)=>setBrandFilter(e.target.value),\n className: \"rounded-md border border-zinc-700 bg-zinc-900/70 text-xs text-zinc-200 px-2 py-1 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"all\",\n children: \"All brands\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 336,\n columnNumber: 21\n }, this),\n availableBrands.map((b)=>/*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: b,\n children: b\n }, b, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 338,\n columnNumber: 23\n }, this))\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 330,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 323,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n htmlFor: \"sort-by\",\n className: \"text-xs text-zinc-500\",\n children: \"Sort\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 345,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"select\", {\n id: \"sort-by\",\n value: sortBy,\n onChange: (e)=>setSortBy(e.target.value),\n className: \"rounded-md border border-zinc-700 bg-zinc-900/70 text-xs text-zinc-200 px-2 py-1 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"relevance\",\n children: \"Relevance\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 356,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"price-asc\",\n children: \"Price: Low → High\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 357,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"price-desc\",\n children: \"Price: High → Low\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 358,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"option\", {\n value: \"brand-asc\",\n children: \"Brand: A → Z\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 359,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 348,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 344,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 297,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 285,\n columnNumber: 13\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-zinc-500 text-center py-8\",\n children: [\n \"Loading \",\n category.name.toLowerCase(),\n \"…\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 367,\n columnNumber: 13\n }, this) : error ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400 text-center py-8\",\n children: [\n error,\n \" — check that the Ballistic API is running.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 371,\n columnNumber: 13\n }, this) : filteredParts.length === 0 ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-zinc-500 text-center py-8\",\n children: \"No parts available for this category yet.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 375,\n columnNumber: 13\n }, this) : viewMode === \"card\" ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"grid gap-3 md:grid-cols-2 lg:grid-cols-3\",\n children: filteredParts.map((part)=>{\n const isSelected = build[categoryId] === part.id;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `group relative rounded-md p-3 transition-all duration-200 flex flex-col border ${isSelected ? \"border-amber-400/70 bg-amber-400/10 shadow-[0_0_0_1px_rgba(251,191,36,0.25)]\" : \"border-zinc-700 bg-zinc-900/50 hover:border-amber-400/60 hover:bg-amber-400/10\"}`,\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-between items-center gap-2 mb-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm font-semibold text-zinc-50\",\n children: [\n part.brand,\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"font-normal\",\n children: [\n \"— \",\n part.name\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 396,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 394,\n columnNumber: 25\n }, this),\n part.notes && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-xs text-zinc-400 line-clamp-2\",\n children: part.notes\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 399,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 393,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm font-semibold text-amber-300 whitespace-nowrap\",\n children: [\n \"$\",\n part.price.toFixed(2)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 404,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 392,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-2 flex gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: `/gunbuilder/${categoryId}/${part.id}`,\n className: \"flex-1 rounded-md border border-zinc-700 bg-zinc-800/50 px-3 py-2 text-xs font-medium text-zinc-300 hover:bg-zinc-700 hover:border-zinc-600 transition-colors text-center\",\n children: \"View Details\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 409,\n columnNumber: 23\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>handleTogglePart(categoryId, part.id),\n className: `flex-1 rounded-md px-3 py-2 text-xs font-semibold transition-colors text-center ${isSelected ? \"bg-zinc-800 text-zinc-100 border border-zinc-600 hover:bg-zinc-700\" : \"bg-amber-400 text-black hover:bg-amber-300\"}`,\n children: isSelected ? \"Remove from Build\" : \"Add to Build\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 415,\n columnNumber: 23\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 408,\n columnNumber: 21\n }, this)\n ]\n }, part.id, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 384,\n columnNumber: 19\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 379,\n columnNumber: 13\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"hidden md:grid grid-cols-[minmax(0,3fr)_minmax(0,1fr)_minmax(0,1fr)_auto] gap-4 px-3 pb-2 text-[0.7rem] uppercase tracking-[0.16em] text-zinc-500\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Part\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 435,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n children: \"Brand\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 436,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-right\",\n children: \"Price\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 437,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-right pr-2\",\n children: \"Actions\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 438,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 434,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-2\",\n children: filteredParts.map((part)=>{\n const isSelected = build[categoryId] === part.id;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: `group relative rounded-md p-3 transition-all duration-200 border ${isSelected ? \"border-amber-400/70 bg-amber-400/10 shadow-[0_0_0_1px_rgba(251,191,36,0.25)]\" : \"border-zinc-700 bg-zinc-900/50 hover:border-amber-400/60 hover:bg-amber-400/10\"}`,\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-2 md:grid md:grid-cols-[minmax(0,3fr)_minmax(0,1fr)_minmax(0,1fr)_auto] md:items-center md:gap-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1 min-w-0\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm font-semibold text-zinc-50\",\n children: part.name\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 456,\n columnNumber: 27\n }, this),\n part.notes && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-xs text-zinc-400 line-clamp-1\",\n children: part.notes\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 460,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 455,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs md:text-sm text-zinc-400 md:text-left\",\n children: part.brand\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 465,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-sm font-semibold text-amber-300 md:text-right\",\n children: [\n \"$\",\n part.price.toFixed(2)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 468,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: `/gunbuilder/${categoryId}/${part.id}`,\n className: \"rounded-md border border-zinc-700 bg-zinc-800/50 px-3 py-1.5 text-xs font-medium text-zinc-300 hover:bg-zinc-700 hover:border-zinc-600 transition-colors whitespace-nowrap\",\n children: \"View Details\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 472,\n columnNumber: 27\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>handleTogglePart(categoryId, part.id),\n className: `rounded-md px-3 py-1.5 text-xs font-semibold transition-colors whitespace-nowrap ${isSelected ? \"bg-zinc-800 text-zinc-100 border border-zinc-600 hover:bg-zinc-700\" : \"bg-amber-400 text-black hover:bg-amber-300\"}`,\n children: isSelected ? \"Remove from Build\" : \"Add to Build\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 478,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 471,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 454,\n columnNumber: 23\n }, this)\n }, part.id, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 446,\n columnNumber: 21\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 441,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 282,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 228,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx\",\n lineNumber: 227,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9hcHAvZ3VuYnVpbGRlci9bY2F0ZWdvcnlJZF0vcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUVxRDtBQUN4QjtBQUMwQjtBQUNIO0FBQ2E7QUFnQmpFLE1BQU1RLGVBQ0pDLFFBQVFDLEdBQUcsQ0FBQ0Msd0JBQXdCLElBQUk7QUFRMUMsTUFBTUMsY0FBYztBQUVMLFNBQVNDO0lBQ3RCLE1BQU1DLFNBQVNWLDBEQUFTQTtJQUN4QixNQUFNVyxhQUFhRCxPQUFPQyxVQUFVO0lBQ3BDLE1BQU1DLFNBQVNYLDBEQUFTQTtJQUV4QixNQUFNLENBQUNZLFVBQVVDLFlBQVksR0FBR2hCLCtDQUFRQSxDQUFXO0lBQ25ELE1BQU0sQ0FBQ2lCLE9BQU9DLFNBQVMsR0FBR2xCLCtDQUFRQSxDQUFTLEVBQUU7SUFDN0MsTUFBTSxDQUFDbUIsU0FBU0MsV0FBVyxHQUFHcEIsK0NBQVFBLENBQUM7SUFDdkMsTUFBTSxDQUFDcUIsT0FBT0MsU0FBUyxHQUFHdEIsK0NBQVFBLENBQWdCO0lBRWxELHNCQUFzQjtJQUN0QixNQUFNLENBQUN1QixhQUFhQyxlQUFlLEdBQUd4QiwrQ0FBUUEsQ0FBUztJQUN2RCxNQUFNLENBQUN5QixRQUFRQyxVQUFVLEdBQUcxQiwrQ0FBUUEsQ0FBYTtJQUNqRCxNQUFNLENBQUMyQixhQUFhQyxlQUFlLEdBQUc1QiwrQ0FBUUEsQ0FBUztJQUV2RCx1REFBdUQ7SUFDdkQsTUFBTSxDQUFDNkIsT0FBT0MsU0FBUyxHQUFHOUIsK0NBQVFBLENBQWE7UUFDN0MsSUFBSSxJQUE2QixFQUFFLE9BQU8sQ0FBQztRQUMzQyxJQUFJO1lBQ0YsTUFBTStCLFNBQVNDLE9BQU9DLFlBQVksQ0FBQ0MsT0FBTyxDQUFDeEI7WUFDM0MsT0FBT3FCLFNBQVVJLEtBQUtDLEtBQUssQ0FBQ0wsVUFBeUIsQ0FBQztRQUN4RCxFQUFFLE9BQU07WUFDTixPQUFPLENBQUM7UUFDVjtJQUNGO0lBRUEsTUFBTU0sV0FBV3RDLDhDQUFPQSxDQUN0QixJ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UyxJQUNQbEMsaUJBQWlCakUsWUFBWWdILEtBQUtyRixFQUFFO2dFQUV0Q2dFLFdBQVcsQ0FBQyxpRkFBaUYsRUFDM0Z4QixhQUNJLHVFQUNBLDZDQUNMLENBQUM7MEVBRURBLGFBQWEsc0JBQXNCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7MkNBMUNyQzZDLEtBQUtyRixFQUFFOzs7OztvQ0FnRGxCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUWhCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9hcHAvZ3VuYnVpbGRlci9bY2F0ZWdvcnlJZF0vcGFnZS50c3g/OGI1ZCJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuaW1wb3J0IHsgdXNlUGFyYW1zLCB1c2VSb3V0ZXIgfSBmcm9tIFwibmV4dC9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgeyBDQVRFR09SSUVTIH0gZnJvbSBcIkAvZGF0YS9ndW5idWlsZGVyUGFydHNcIjtcbmltcG9ydCB7IENBVEVHT1JZX1RPX1BBUlRfUk9MRVMgfSBmcm9tIFwiQC9kYXRhL3BhcnRSb2xlTWFwcGluZ3NcIjtcbmltcG9ydCB0eXBlIHsgQ2F0ZWdvcnlJZCwgUGFydCB9IGZyb20gXCJAL3R5cGVzL2d1bmJ1aWxkZXJcIjtcblxudHlwZSBWaWV3TW9kZSA9IFwiY2FyZFwiIHwgXCJsaXN0XCI7XG5cbnR5cGUgR3VuYnVpbGRlclByb2R1Y3RGcm9tQXBpID0ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGJyYW5kOiBzdHJpbmc7XG4gIHBsYXRmb3JtOiBzdHJpbmc7XG4gIHBhcnRSb2xlOiBzdHJpbmc7XG4gIHByaWNlOiBudW1iZXIgfCBudWxsO1xuICBtYWluSW1hZ2VVcmw6IHN0cmluZyB8IG51bGw7XG4gIGJ1eVVybDogc3RyaW5nIHwgbnVsbDtcbn07XG5cbmNvbnN0IEFQSV9CQVNFX1VSTCA9XG4gIHByb2Nlc3MuZW52Lk5FWFRfUFVCTElDX0FQSV9CQVNFX1VSTCA/PyBcImh0dHA6Ly9sb2NhbGhvc3Q6ODA4MFwiO1xuXG5cbi8vIHNvcnQgb3B0aW9uc1xudHlwZSBTb3J0T3B0aW9uID0gXCJyZWxldmFuY2VcIiB8IFwicHJpY2UtYXNjXCIgfCBcInByaWNlLWRlc2NcIiB8IFwiYnJhbmQtYXNjXCI7XG5cbi8vIGJ1aWxkIHN0YXRlIHR5cGUgKyBzdG9yYWdlIGtleSAobWF0Y2hlcyAvZ3VuYnVpbGRlcilcbnR5cGUgQnVpbGRTdGF0ZSA9IFBhcnRpYWw8UmVjb3JkPENhdGVnb3J5SWQsIHN0cmluZz4+O1xuY29uc3QgU1RPUkFHRV9LRVkgPSBcImd1bmJ1aWxkZXItYnVpbGQtc3RhdGVcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ2F0ZWdvcnlQYWdlKCkge1xuICBjb25zdCBwYXJhbXMgPSB1c2VQYXJhbXMoKTtcbiAgY29uc3QgY2F0ZWdvcnlJZCA9IHBhcmFtcy5jYXRlZ29yeUlkIGFzIENhdGVnb3J5SWQ7XG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xuXG4gIGNvbnN0IFt2aWV3TW9kZSwgc2V0Vmlld01vZGVdID0gdXNlU3RhdGU8Vmlld01vZGU+KFwibGlzdFwiKTtcbiAgY29uc3QgW3BhcnRzLCBzZXRQYXJ0c10gPSB1c2VTdGF0ZTxQYXJ0W10+KFtdKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgLy8gZmlsdGVyICsgc29ydCBzdGF0ZVxuICBjb25zdCBbYnJhbmRGaWx0ZXIsIHNldEJyYW5kRmlsdGVyXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJhbGxcIik7XG4gIGNvbnN0IFtzb3J0QnksIHNldFNvcnRCeV0gPSB1c2VTdGF0ZTxTb3J0T3B0aW9uPihcInJlbGV2YW5jZVwiKTtcbiAgY29uc3QgW3NlYXJjaFF1ZXJ5LCBzZXRTZWFyY2hRdWVyeV0gPSB1c2VTdGF0ZTxzdHJpbmc+KFwiXCIpO1xuXG4gIC8vICBidWlsZCBzdGF0ZSBmb3IgdGhpcyBwYWdlLCBzeW5jZWQgd2l0aCBsb2NhbFN0b3JhZ2VcbiAgY29uc3QgW2J1aWxkLCBzZXRCdWlsZF0gPSB1c2VTdGF0ZTxCdWlsZFN0YXRlPigoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybiB7fTtcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RvcmVkID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFNUT1JBR0VfS0VZKTtcbiAgICAgIHJldHVybiBzdG9yZWQgPyAoSlNPTi5wYXJzZShzdG9yZWQpIGFzIEJ1aWxkU3RhdGUpIDoge307XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4ge307XG4gICAgfVxuICB9KTtcblxuICBjb25zdCBjYXRlZ29yeSA9IHVzZU1lbW8oXG4gICAgKCkgPT4gQ0FURUdPUklFUy5maW5kKChjKSA9PiBjLmlkID09PSBjYXRlZ29yeUlkKSxcbiAgICBbY2F0ZWdvcnlJZF0sXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWNhdGVnb3J5SWQpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICBhc3luYyBmdW5jdGlvbiBmZXRjaENhdGVnb3J5UGFydHMoKSB7XG4gICAgICB0cnkge1xuICAgICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgICAgc2V0RXJyb3IobnVsbCk7XG5cbiAgICAgICAgLy8gRklYOiBkZXRlcm1pbmUgd2hpY2ggYmFja2VuZCBwYXJ0Um9sZXMgbWFwIHRvIHRoaXMgY2F0ZWdvcnlcbiAgICBjb25zdCByb2xlcyA9IENBVEVHT1JZX1RPX1BBUlRfUk9MRVNbY2F0ZWdvcnlJZF0gPz8gW107XG5cbiAgICAgICAgY29uc3Qgc2VhcmNoID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpO1xuICAgICAgICBzZWFyY2guc2V0KFwicGxhdGZvcm1cIiwgXCJBUi0xNVwiKTtcbiAgICAgICAgcm9sZXMuZm9yRWFjaCgocikgPT4gc2VhcmNoLmFwcGVuZChcInBhcnRSb2xlc1wiLCByKSk7XG5cbiAgICAgICAgY29uc3QgdXJsID0gYCR7QVBJX0JBU0VfVVJMfS9hcGkvcHJvZHVjdHMvZ3VuYnVpbGRlciR7XG4gICAgICAgICAgcm9sZXMubGVuZ3RoID8gYD8ke3NlYXJjaC50b1N0cmluZygpfWAgOiBcIlwiXG4gICAgICAgIH1gO1xuXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBwcm9kdWN0cyAoJHtyZXMuc3RhdHVzfSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IEd1bmJ1aWxkZXJQcm9kdWN0RnJvbUFwaVtdID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICBjb25zdCBub3JtYWxpemVkOiBQYXJ0W10gPSBkYXRhLm1hcCgocCkgPT4gKHtcbiAgICAgICAgICBpZDogcC5pZCxcbiAgICAgICAgICBjYXRlZ29yeUlkLFxuICAgICAgICAgIG5hbWU6IHAubmFtZSxcbiAgICAgICAgICBicmFuZDogcC5icmFuZCxcbiAgICAgICAgICBwcmljZTogcC5wcmljZSA/PyAwLFxuICAgICAgICAgIGltYWdlVXJsOiBwLm1haW5JbWFnZVVybCA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgdXJsOiBwLmJ1eVVybCA/PyB1bmRlZmluZWQsXG4gICAgICAgICAgbm90ZXM6IHVuZGVmaW5lZCxcbiAgICAgICAgfSkpO1xuXG4gICAgICAgIHNldFBhcnRzKG5vcm1hbGl6ZWQpO1xuICAgICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgICAgaWYgKGVyci5uYW1lID09PSBcIkFib3J0RXJyb3JcIikgcmV0dXJuO1xuICAgICAgICBzZXRFcnJvcihlcnIubWVzc2FnZSA/PyBcIkZhaWxlZCB0byBsb2FkIHByb2R1Y3RzXCIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmV0Y2hDYXRlZ29yeVBhcnRzKCk7XG5cbiAgICByZXR1cm4gKCkgPT4gY29udHJvbGxlci5hYm9ydCgpO1xuICB9LCBbY2F0ZWdvcnlJZF0pO1xuXG4gIC8vICBwZXJzaXN0IGJ1aWxkIHRvIGxvY2FsU3RvcmFnZSB3aGVuZXZlciBpdCBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcbiAgICB0cnkge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShidWlsZCkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfVxuICB9LCBbYnVpbGRdKTtcblxuICAvLyAgaGFuZGxlciB0byB0b2dnbGUgQWRkIC8gUmVtb3ZlIGZvciB0aGlzIGNhdGVnb3J5XG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVBhcnQgPSAoY2F0ZWdvcnlJZDogQ2F0ZWdvcnlJZCwgcGFydElkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBpc1NlbGVjdGVkID0gYnVpbGRbY2F0ZWdvcnlJZF0gPT09IHBhcnRJZDtcblxuICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICAvLyBSZW1vdmUgZnJvbSBidWlsZFxuICAgICAgc2V0QnVpbGQoKHByZXYpID0+IHtcbiAgICAgICAgY29uc3QgdXBkYXRlZDogQnVpbGRTdGF0ZSA9IHsgLi4ucHJldiB9O1xuICAgICAgICBkZWxldGUgdXBkYXRlZFtjYXRlZ29yeUlkXTtcbiAgICAgICAgcmV0dXJuIHVwZGF0ZWQ7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQWRkIHRvIGJ1aWxkIGFuZCBuYXZpZ2F0ZSBiYWNrIHRvIG1haW4gZ3VuYnVpbGRlciBwYWdlXG4gICAgICBzZXRCdWlsZCgocHJldikgPT4gKHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgW2NhdGVnb3J5SWRdOiBwYXJ0SWQsXG4gICAgICB9KSk7XG4gICAgICByb3V0ZXIucHVzaChcIi9ndW5idWlsZGVyXCIpO1xuICAgIH1cbiAgfTtcblxuICAvLyBhdmFpbGFibGUgYnJhbmRzIGZvciBmaWx0ZXJcbiAgY29uc3QgYXZhaWxhYmxlQnJhbmRzID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgQXJyYXkuZnJvbShuZXcgU2V0KHBhcnRzLm1hcCgocCkgPT4gcC5icmFuZCkpKVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBhLmxvY2FsZUNvbXBhcmUoYikpLFxuICAgIFtwYXJ0c10sXG4gICk7XG5cbiAgLy8gZmlsdGVyZWQgKyBzb3J0ZWQgcGFydHMgd2l0aCBzZWxlY3RlZCBwYXJ0IHBpbm5lZCB0byB0b3BcbiAgY29uc3QgZmlsdGVyZWRQYXJ0cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGxldCByZXN1bHQgPSBbLi4ucGFydHNdO1xuXG4gICAgaWYgKGJyYW5kRmlsdGVyICE9PSBcImFsbFwiKSB7XG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKChwKSA9PiBwLmJyYW5kID09PSBicmFuZEZpbHRlcik7XG4gICAgfVxuXG4gICAgY29uc3Qgbm9ybWFsaXplZFF1ZXJ5ID0gc2VhcmNoUXVlcnkudHJpbSgpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKG5vcm1hbGl6ZWRRdWVyeSkge1xuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcigocCkgPT4ge1xuICAgICAgICBjb25zdCBuYW1lID0gcC5uYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgIGNvbnN0IGJyYW5kID0gcC5icmFuZC50b0xvd2VyQ2FzZSgpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIG5hbWUuaW5jbHVkZXMobm9ybWFsaXplZFF1ZXJ5KSB8fFxuICAgICAgICAgIGJyYW5kLmluY2x1ZGVzKG5vcm1hbGl6ZWRRdWVyeSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHN3aXRjaCAoc29ydEJ5KSB7XG4gICAgICBjYXNlIFwicHJpY2UtYXNjXCI6XG4gICAgICAgIHJlc3VsdC5zb3J0KChhLCBiKSA9PiBhLnByaWNlIC0gYi5wcmljZSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInByaWNlLWRlc2NcIjpcbiAgICAgICAgcmVzdWx0LnNvcnQoKGEsIGIpID0+IGIucHJpY2UgLSBhLnByaWNlKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiYnJhbmQtYXNjXCI6XG4gICAgICAgIHJlc3VsdC5zb3J0KChhLCBiKSA9PiBhLmJyYW5kLmxvY2FsZUNvbXBhcmUoYi5icmFuZCkpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJyZWxldmFuY2VcIjpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIC8vIGxlYXZlIGluIGJhY2tlbmQgb3JkZXJcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgLy8gUGluIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFydCAoZm9yIHRoaXMgY2F0ZWdvcnkpIHRvIHRoZSB0b3AsIGlmIGFueVxuICAgIGNvbnN0IHNlbGVjdGVkSWQgPSBidWlsZFtjYXRlZ29yeUlkXTtcbiAgICBpZiAoc2VsZWN0ZWRJZCkge1xuICAgICAgY29uc3Qgc2VsZWN0ZWQgPSByZXN1bHQuZmlsdGVyKChwKSA9PiBwLmlkID09PSBzZWxlY3RlZElkKTtcbiAgICAgIGNvbnN0IG90aGVycyA9IHJlc3VsdC5maWx0ZXIoKHApID0+IHAuaWQgIT09IHNlbGVjdGVkSWQpO1xuICAgICAgcmVzdWx0ID0gWy4uLnNlbGVjdGVkLCAuLi5vdGhlcnNdO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH0sIFtwYXJ0cywgYnJhbmRGaWx0ZXIsIHNvcnRCeSwgYnVpbGQsIGNhdGVnb3J5SWQsIHNlYXJjaFF1ZXJ5XSk7XG5cbiAgaWYgKCFjYXRlZ29yeSkge1xuICAgIHJldHVybiAoXG4gICAgICA8bWFpbiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctYmxhY2sgdGV4dC16aW5jLTUwXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy02eGwgcHgtNCBweS02IGxnOnB5LTEwXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LWNlbnRlclwiPlxuICAgICAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdGV4dC16aW5jLTUwIG1iLTRcIj5cbiAgICAgICAgICAgICAgQ2F0ZWdvcnkgTm90IEZvdW5kXG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgaHJlZj1cIi9ndW5idWlsZGVyXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDAgaG92ZXI6dGV4dC1hbWJlci0yMDAgdW5kZXJsaW5lXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUmV0dXJuIHRvIEd1bmJ1aWxkZXJcbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L21haW4+XG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPG1haW4gY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIGJnLWJsYWNrIHRleHQtemluYy01MFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIG1heC13LTZ4bCBweC00IHB5LTYgbGc6cHktMTBcIj5cbiAgICAgICAgey8qIEhlYWRlciAqL31cbiAgICAgICAgPGhlYWRlciBjbGFzc05hbWU9XCJtYi02XCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGhyZWY9XCIvZ3VuYnVpbGRlclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTMwMCBtYi00IGlubGluZS1ibG9ja1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAg4oaQIEJhY2sgdG8gVGhlIEFybW9yeVxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtc3RhcnQganVzdGlmeS1iZXR3ZWVuIGdhcC00XCI+XG4gICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgICAgICAgIFNoYWRvdyBTdGFuZGFyZFxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJtdC0xIHRleHQtMnhsIG1kOnRleHQtM3hsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHRcIj5cbiAgICAgICAgICAgICAgICB7Y2F0ZWdvcnkubmFtZX0gPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDBcIj5QYXJ0czwvc3Bhbj5cbiAgICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiB0ZXh0LXNtIHRleHQtemluYy00MDAgbWF4LXcteGxcIj5cbiAgICAgICAgICAgICAgICBCcm93c2UgYWxsIGF2YWlsYWJsZSB7Y2F0ZWdvcnkubmFtZS50b0xvd2VyQ2FzZSgpfSBvcHRpb25zIGZvclxuICAgICAgICAgICAgICAgIHlvdXIgYnVpbGQsIHB1bGxlZCBsaXZlIGZyb20geW91ciBCYWxsaXN0aWMgYmFja2VuZC5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB7IWxvYWRpbmcgJiYgIWVycm9yICYmIHBhcnRzLmxlbmd0aCA+IDAgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggZ2FwLTIgYm9yZGVyIGJvcmRlci16aW5jLTgwMCByb3VuZGVkLW1kIHAtMSBiZy16aW5jLTk1MC82MFwiPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0Vmlld01vZGUoXCJjYXJkXCIpfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgcHgtMyBweS0xLjUgdGV4dC14cyBmb250LW1lZGl1bSByb3VuZGVkIHRyYW5zaXRpb24tY29sb3JzICR7XG4gICAgICAgICAgICAgICAgICAgIHZpZXdNb2RlID09PSBcImNhcmRcIlxuICAgICAgICAgICAgICAgICAgICAgID8gXCJiZy16aW5jLTgwMCB0ZXh0LXppbmMtNTBcIlxuICAgICAgICAgICAgICAgICAgICAgIDogXCJ0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0zMDBcIlxuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2FyZCB2aWV3XCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICBDYXJkXG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRWaWV3TW9kZShcImxpc3RcIil9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2BweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHJvdW5kZWQgdHJhbnNpdGlvbi1jb2xvcnMgJHtcbiAgICAgICAgICAgICAgICAgICAgdmlld01vZGUgPT09IFwibGlzdFwiXG4gICAgICAgICAgICAgICAgICAgICAgPyBcImJnLXppbmMtODAwIHRleHQtemluYy01MFwiXG4gICAgICAgICAgICAgICAgICAgICAgOiBcInRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTMwMFwiXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJMaXN0IHZpZXdcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIExpc3RcbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICB7LyogUGFydHMgR3JpZC9MaXN0ICovfVxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJyb3VuZGVkLWxnIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05NTAvNjAgcC0zIG1kOnAtNFwiPlxuICAgICAgICAgIHsvKiBGaWx0ZXIgKyBzb3J0IHRvb2xiYXIgKi99XG4gICAgICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiBwYXJ0cy5sZW5ndGggPiAwICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWItNCBmbGV4IGZsZXgtY29sIGdhcC0zIG1kOmZsZXgtcm93IG1kOml0ZW1zLWNlbnRlciBtZDpqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5cbiAgICAgICAgICAgICAgICBTaG93aW5ne1wiIFwifVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtemluYy0yMDAgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgIHtmaWx0ZXJlZFBhcnRzLmxlbmd0aH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+e1wiIFwifVxuICAgICAgICAgICAgICAgIG9me1wiIFwifVxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtemluYy0yMDAgZm9udC1tZWRpdW1cIj5cbiAgICAgICAgICAgICAgICAgIHtwYXJ0cy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgPC9zcGFuPntcIiBcIn1cbiAgICAgICAgICAgICAgICBwYXJ0c1xuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtd3JhcCBnYXAtM1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJwYXJ0LXNlYXJjaFwiIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgU2VhcmNoXG4gICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJlbGF0aXZlXCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJwYXJ0LXNlYXJjaFwiXG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NlYXJjaFF1ZXJ5fVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFNlYXJjaFF1ZXJ5KGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2BTZWFyY2ggJHtjYXRlZ29yeS5uYW1lLnRvTG93ZXJDYXNlKCl9Li4uYH1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzcwIHRleHQteHMgdGV4dC16aW5jLTIwMCBweC0yIHB5LTEgcHItNiBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICB7c2VhcmNoUXVlcnkgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0U2VhcmNoUXVlcnkoXCJcIil9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiYWJzb2x1dGUgcmlnaHQtMSB0b3AtMS8yIC10cmFuc2xhdGUteS0xLzIgdGV4dC16aW5jLTUwMCBob3Zlcjp0ZXh0LXppbmMtMzAwIHRleHQteHMgbGVhZGluZy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwiQ2xlYXIgc2VhcmNoXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIMOXXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgICAgICAgIGh0bWxGb3I9XCJicmFuZC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIlxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICBCcmFuZFxuICAgICAgICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxzZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgaWQ9XCJicmFuZC1maWx0ZXJcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17YnJhbmRGaWx0ZXJ9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0QnJhbmRGaWx0ZXIoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNzAgdGV4dC14cyB0ZXh0LXppbmMtMjAwIHB4LTIgcHktMSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImFsbFwiPkFsbCBicmFuZHM8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAge2F2YWlsYWJsZUJyYW5kcy5tYXAoKGIpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT17Yn0gdmFsdWU9e2J9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2J9XG4gICAgICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWNlbnRlciBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgPGxhYmVsIGh0bWxGb3I9XCJzb3J0LWJ5XCIgY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+XG4gICAgICAgICAgICAgICAgICAgIFNvcnRcbiAgICAgICAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgICAgIGlkPVwic29ydC1ieVwiXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtzb3J0Qnl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT5cbiAgICAgICAgICAgICAgICAgICAgICBzZXRTb3J0QnkoZS50YXJnZXQudmFsdWUgYXMgU29ydE9wdGlvbilcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNzAgdGV4dC14cyB0ZXh0LXppbmMtMjAwIHB4LTIgcHktMSBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJlbGV2YW5jZVwiPlJlbGV2YW5jZTwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicHJpY2UtYXNjXCI+UHJpY2U6IExvdyDihpIgSGlnaDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicHJpY2UtZGVzY1wiPlByaWNlOiBIaWdoIOKGkiBMb3c8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImJyYW5kLWFzY1wiPkJyYW5kOiBBIOKGkiBaPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtemluYy01MDAgdGV4dC1jZW50ZXIgcHktOFwiPlxuICAgICAgICAgICAgICBMb2FkaW5nIHtjYXRlZ29yeS5uYW1lLnRvTG93ZXJDYXNlKCl94oCmXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgKSA6IGVycm9yID8gKFxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXJlZC00MDAgdGV4dC1jZW50ZXIgcHktOFwiPlxuICAgICAgICAgICAgICB7ZXJyb3J9IOKAlCBjaGVjayB0aGF0IHRoZSBCYWxsaXN0aWMgQVBJIGlzIHJ1bm5pbmcuXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgKSA6IGZpbHRlcmVkUGFydHMubGVuZ3RoID09PSAwID8gKFxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC1zbSB0ZXh0LXppbmMtNTAwIHRleHQtY2VudGVyIHB5LThcIj5cbiAgICAgICAgICAgICAgTm8gcGFydHMgYXZhaWxhYmxlIGZvciB0aGlzIGNhdGVnb3J5IHlldC5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICApIDogdmlld01vZGUgPT09IFwiY2FyZFwiID8gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJncmlkIGdhcC0zIG1kOmdyaWQtY29scy0yIGxnOmdyaWQtY29scy0zXCI+XG4gICAgICAgICAgICAgIHtmaWx0ZXJlZFBhcnRzLm1hcCgocGFydCkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBidWlsZFtjYXRlZ29yeUlkXSA9PT0gcGFydC5pZDtcblxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGtleT17cGFydC5pZH1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZ3JvdXAgcmVsYXRpdmUgcm91bmRlZC1tZCBwLTMgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGZsZXggZmxleC1jb2wgYm9yZGVyICR7XG4gICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgPyBcImJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHNoYWRvdy1bMF8wXzBfMXB4X3JnYmEoMjUxLDE5MSwzNiwwLjI1KV1cIlxuICAgICAgICAgICAgICAgICAgICAgICAgOiBcImJvcmRlci16aW5jLTcwMCBiZy16aW5jLTkwMC81MCBob3Zlcjpib3JkZXItYW1iZXItNDAwLzYwIGhvdmVyOmJnLWFtYmVyLTQwMC8xMFwiXG4gICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlciBnYXAtMiBtYi0zXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtemluYy01MFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICB7cGFydC5icmFuZH17XCIgXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cImZvbnQtbm9ybWFsXCI+4oCUIHtwYXJ0Lm5hbWV9PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICB7cGFydC5ub3RlcyAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC14cyB0ZXh0LXppbmMtNDAwIGxpbmUtY2xhbXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwYXJ0Lm5vdGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtYW1iZXItMzAwIHdoaXRlc3BhY2Utbm93cmFwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAke3BhcnQucHJpY2UudG9GaXhlZCgyKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMiBmbGV4IGdhcC0yXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e2AvZ3VuYnVpbGRlci8ke2NhdGVnb3J5SWR9LyR7cGFydC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleC0xIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTcwMCBiZy16aW5jLTgwMC81MCBweC0zIHB5LTIgdGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtMzAwIGhvdmVyOmJnLXppbmMtNzAwIGhvdmVyOmJvcmRlci16aW5jLTYwMCB0cmFuc2l0aW9uLWNvbG9ycyB0ZXh0LWNlbnRlclwiXG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgVmlldyBEZXRhaWxzXG4gICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlVG9nZ2xlUGFydChjYXRlZ29yeUlkLCBwYXJ0LmlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YGZsZXgtMSByb3VuZGVkLW1kIHB4LTMgcHktMiB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhbnNpdGlvbi1jb2xvcnMgdGV4dC1jZW50ZXIgJHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gXCJiZy16aW5jLTgwMCB0ZXh0LXppbmMtMTAwIGJvcmRlciBib3JkZXItemluYy02MDAgaG92ZXI6YmctemluYy03MDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJiZy1hbWJlci00MDAgdGV4dC1ibGFjayBob3ZlcjpiZy1hbWJlci0zMDBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAge2lzU2VsZWN0ZWQgPyBcIlJlbW92ZSBmcm9tIEJ1aWxkXCIgOiBcIkFkZCB0byBCdWlsZFwifVxuICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIHsvKiBIZWFkZXIgcm93IGZvciBsaXN0IHZpZXcgKi99XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaGlkZGVuIG1kOmdyaWQgZ3JpZC1jb2xzLVttaW5tYXgoMCwzZnIpX21pbm1heCgwLDFmcilfbWlubWF4KDAsMWZyKV9hdXRvXSBnYXAtNCBweC0zIHBiLTIgdGV4dC1bMC43cmVtXSB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMTZlbV0gdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgICAgICAgIDxzcGFuPlBhcnQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4+QnJhbmQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1yaWdodFwiPlByaWNlPC9zcGFuPlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtcmlnaHQgcHItMlwiPkFjdGlvbnM8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0yXCI+XG4gICAgICAgICAgICAgICAge2ZpbHRlcmVkUGFydHMubWFwKChwYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgICBjb25zdCBpc1NlbGVjdGVkID0gYnVpbGRbY2F0ZWdvcnlJZF0gPT09IHBhcnQuaWQ7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBrZXk9e3BhcnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgZ3JvdXAgcmVsYXRpdmUgcm91bmRlZC1tZCBwLTMgdHJhbnNpdGlvbi1hbGwgZHVyYXRpb24tMjAwIGJvcmRlciAke1xuICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiYm9yZGVyLWFtYmVyLTQwMC83MCBiZy1hbWJlci00MDAvMTAgc2hhZG93LVswXzBfMF8xcHhfcmdiYSgyNTEsMTkxLDM2LDAuMjUpXVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogXCJib3JkZXItemluYy03MDAgYmctemluYy05MDAvNTAgaG92ZXI6Ym9yZGVyLWFtYmVyLTQwMC82MCBob3ZlcjpiZy1hbWJlci00MDAvMTBcIlxuICAgICAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGZsZXgtY29sIGdhcC0yIG1kOmdyaWQgbWQ6Z3JpZC1jb2xzLVttaW5tYXgoMCwzZnIpX21pbm1heCgwLDFmcilfbWlubWF4KDAsMWZyKV9hdXRvXSBtZDppdGVtcy1jZW50ZXIgbWQ6Z2FwLTRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleC0xIG1pbi13LTBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC16aW5jLTUwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3BhcnQubmFtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtwYXJ0Lm5vdGVzICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQteHMgdGV4dC16aW5jLTQwMCBsaW5lLWNsYW1wLTFcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtwYXJ0Lm5vdGVzfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIG1kOnRleHQtc20gdGV4dC16aW5jLTQwMCBtZDp0ZXh0LWxlZnRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge3BhcnQuYnJhbmR9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtYW1iZXItMzAwIG1kOnRleHQtcmlnaHRcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgJHtwYXJ0LnByaWNlLnRvRml4ZWQoMil9XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBqdXN0aWZ5LWVuZCBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e2AvZ3VuYnVpbGRlci8ke2NhdGVnb3J5SWR9LyR7cGFydC5pZH1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTcwMCBiZy16aW5jLTgwMC81MCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy0zMDAgaG92ZXI6YmctemluYy03MDAgaG92ZXI6Ym9yZGVyLXppbmMtNjAwIHRyYW5zaXRpb24tY29sb3JzIHdoaXRlc3BhY2Utbm93cmFwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZpZXcgRGV0YWlsc1xuICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlVG9nZ2xlUGFydChjYXRlZ29yeUlkLCBwYXJ0LmlkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Byb3VuZGVkLW1kIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0cmFuc2l0aW9uLWNvbG9ycyB3aGl0ZXNwYWNlLW5vd3JhcCAke1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXNTZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IFwiYmctemluYy04MDAgdGV4dC16aW5jLTEwMCBib3JkZXIgYm9yZGVyLXppbmMtNjAwIGhvdmVyOmJnLXppbmMtNzAwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBcImJnLWFtYmVyLTQwMCB0ZXh0LWJsYWNrIGhvdmVyOmJnLWFtYmVyLTMwMFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7aXNTZWxlY3RlZCA/IFwiUmVtb3ZlIGZyb20gQnVpbGRcIiA6IFwiQWRkIHRvIEJ1aWxkXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L3NlY3Rpb24+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gICk7XG59Il0sIm5hbWVzIjpbInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsIkxpbmsiLCJ1c2VQYXJhbXMiLCJ1c2VSb3V0ZXIiLCJDQVRFR09SSUVTIiwiQ0FURUdPUllfVE9fUEFSVF9ST0xFUyIsIkFQSV9CQVNFX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwiLCJTVE9SQUdFX0tFWSIsIkNhdGVnb3J5UGFnZSIsInBhcmFtcyIsImNhdGVnb3J5SWQiLCJyb3V0ZXIiLCJ2aWV3TW9kZSIsInNldFZpZXdNb2RlIiwicGFydHMiLCJzZXRQYXJ0cyIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiZXJyb3IiLCJzZXRFcnJvciIsImJyYW5kRmlsdGVyIiwic2V0QnJhbmRGaWx0ZXIiLCJzb3J0QnkiLCJzZXRTb3J0QnkiLCJzZWFyY2hRdWVyeSIsInNldFNlYXJjaFF1ZXJ5IiwiYnVpbGQiLCJzZXRCdWlsZCIsInN0b3JlZCIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJKU09OIiwicGFyc2UiLCJjYXRlZ29yeSIsImZpbmQiLCJjIiwiaWQiLCJjb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwiZmV0Y2hDYXRlZ29yeVBhcnRzIiwicm9sZXMiLCJzZWFyY2giLCJVUkxTZWFyY2hQYXJhbXMiLCJzZXQiLCJmb3JFYWNoIiwiciIsImFwcGVuZCIsInVybCIsImxlbmd0aCIsInRvU3RyaW5nIiwicmVzIiwiZmV0Y2giLCJzaWduYWwiLCJvayIsIkVycm9yIiwic3RhdHVzIiwiZGF0YSIsImpzb24iLCJub3JtYWxpemVkIiwibWFwIiwicCIsIm5hbWUiLCJicmFuZCIsInByaWNlIiwiaW1hZ2VVcmwiLCJtYWluSW1hZ2VVcmwiLCJ1bmRlZmluZWQiLCJidXlVcmwiLCJub3RlcyIsImVyciIsIm1lc3NhZ2UiLCJhYm9ydCIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJoYW5kbGVUb2dnbGVQYXJ0IiwicGFydElkIiwiaXNTZWxlY3RlZCIsInByZXYiLCJ1cGRhdGVkIiwicHVzaCIsImF2YWlsYWJsZUJyYW5kcyIsIkFycmF5IiwiZnJvbSIsIlNldCIsImZpbHRlciIsIkJvb2xlYW4iLCJzb3J0IiwiYSIsImIiLCJsb2NhbGVDb21wYXJlIiwiZmlsdGVyZWRQYXJ0cyIsInJlc3VsdCIsIm5vcm1hbGl6ZWRRdWVyeSIsInRyaW0iLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwic2VsZWN0ZWRJZCIsInNlbGVjdGVkIiwib3RoZXJzIiwibWFpbiIsImNsYXNzTmFtZSIsImRpdiIsImgxIiwiaHJlZiIsImhlYWRlciIsInNwYW4iLCJidXR0b24iLCJ0eXBlIiwib25DbGljayIsImFyaWEtbGFiZWwiLCJzZWN0aW9uIiwibGFiZWwiLCJodG1sRm9yIiwiaW5wdXQiLCJ2YWx1ZSIsIm9uQ2hhbmdlIiwiZSIsInRhcmdldCIsInBsYWNlaG9sZGVyIiwic2VsZWN0Iiwib3B0aW9uIiwicGFydCIsInRvRml4ZWQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./app/gunbuilder/[categoryId]/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n token,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 183,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FFO1FBQ0FFO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgdG9rZW46IHN0cmluZyB8IG51bGw7IFxuICBsb2FkaW5nOiBib29sZWFuOyAvLyBjb3ZlcnMgaW5pdGlhbCBoeWRyYXRlICsgYWN0aXZlIGF1dGggcmVxdWVzdHNcbiAgbG9naW46IChwYXJhbXM6IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWdpc3RlcjogKHBhcmFtczoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgbG9nb3V0OiAoKSA9PiB2b2lkO1xuICBnZXRBdXRoSGVhZGVyczogKCkgPT4gSGVhZGVyc0luaXQ7XG59O1xuXG5jb25zdCBBdXRoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8QXV0aENvbnRleHRWYWx1ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuY29uc3QgVE9LRU5fS0VZID0gXCJiYWxsaXN0aWNfYXV0aF90b2tlblwiO1xuY29uc3QgVVNFUl9LRVkgPSBcImJhbGxpc3RpY19hdXRoX3VzZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEF1dGhQcm92aWRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPEF1dGhVc2VyPihudWxsKTtcbiAgY29uc3QgW3Rva2VuLCBzZXRUb2tlbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7IC8vIHN0YXJ0IHRydWUgd2hpbGUgd2UgaHlkcmF0ZSArIHJldXNlIGZvciBjYWxsc1xuXG4gIC8vIGh5ZHJhdGUgZnJvbSBsb2NhbFN0b3JhZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcblxuICAgICAgY29uc3Qgc3RvcmVkVG9rZW4gPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVE9LRU5fS0VZKTtcbiAgICAgIGNvbnN0IHN0b3JlZFVzZXIgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVVNFUl9LRVkpO1xuXG4gICAgICBpZiAoc3RvcmVkVG9rZW4gJiYgc3RvcmVkVXNlcikge1xuICAgICAgICBzZXRUb2tlbihzdG9yZWRUb2tlbik7XG4gICAgICAgIHNldFVzZXIoSlNPTi5wYXJzZShzdG9yZWRVc2VyKSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3Qgc2V0U2Vzc2lvbiA9IHVzZUNhbGxiYWNrKChuZXdUb2tlbjogc3RyaW5nLCBuZXdVc2VyOiBBdXRoVXNlcikgPT4ge1xuICAgIHNldFRva2VuKG5ld1Rva2VuKTtcbiAgICBzZXRVc2VyKG5ld1VzZXIpO1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShUT0tFTl9LRVksIG5ld1Rva2VuKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShVU0VSX0tFWSwgSlNPTi5zdHJpbmdpZnkobmV3VXNlcikpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU2Vzc2lvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRUb2tlbihudWxsKTtcbiAgICBzZXRVc2VyKG51bGwpO1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVE9LRU5fS0VZKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShVU0VSX0tFWSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVnaXN0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmc7IGRpc3BsYXlOYW1lPzogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL3JlZ2lzdGVyYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBwYXJhbXMuZGlzcGxheU5hbWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRleHQgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGFjY291bnRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9naW4gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFX1VSTH0vYXBpL2F1dGgvbG9naW5gLCB7XG4gICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGVtYWlsOiBwYXJhbXMuZW1haWwsXG4gICAgICAgICAgICBwYXNzd29yZDogcGFyYW1zLnBhc3N3b3JkLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGxvZyBpblwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IHtcbiAgICAgICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgcm9sZTogc3RyaW5nO1xuICAgICAgICB9ID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICBzZXRTZXNzaW9uKGRhdGEudG9rZW4sIHtcbiAgICAgICAgICBlbWFpbDogZGF0YS5lbWFpbCxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogZGF0YS5kaXNwbGF5TmFtZSA/PyBudWxsLFxuICAgICAgICAgIHJvbGU6IGRhdGEucm9sZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRTZXNzaW9uXSxcbiAgKTtcblxuICBjb25zdCBsb2dvdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY2xlYXJTZXNzaW9uKCk7XG4gIH0sIFtjbGVhclNlc3Npb25dKTtcblxuICBjb25zdCBnZXRBdXRoSGVhZGVycyA9IHVzZUNhbGxiYWNrKCgpOiBIZWFkZXJzSW5pdCA9PiB7XG4gICAgaWYgKCF0b2tlbikgcmV0dXJuIHt9O1xuICAgIHJldHVybiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICB9O1xuICB9LCBbdG9rZW5dKTtcblxuICBjb25zdCB2YWx1ZTogQXV0aENvbnRleHRWYWx1ZSA9IHtcbiAgICB1c2VyLFxuICAgIHRva2VuLFxuICAgIGxvYWRpbmcsXG4gICAgbG9naW4sXG4gICAgcmVnaXN0ZXIsXG4gICAgbG9nb3V0LFxuICAgIGdldEF1dGhIZWFkZXJzLFxuICB9O1xuXG4gIHJldHVybiA8QXV0aENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9BdXRoQ29udGV4dC5Qcm92aWRlcj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VBdXRoKCk6IEF1dGhDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KEF1dGhDb250ZXh0KTtcbiAgaWYgKCFjdHgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VBdXRoIG11c3QgYmUgdXNlZCB3aXRoaW4gYW4gQXV0aFByb3ZpZGVyXCIpO1xuICB9XG4gIHJldHVybiBjdHg7XG59Il0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkFQSV9CQVNFX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwiLCJBdXRoQ29udGV4dCIsInVuZGVmaW5lZCIsIlRPS0VOX0tFWSIsIlVTRVJfS0VZIiwiQXV0aFByb3ZpZGVyIiwiY2hpbGRyZW4iLCJ1c2VyIiwic2V0VXNlciIsInRva2VuIiwic2V0VG9rZW4iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInN0b3JlZFRva2VuIiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInN0b3JlZFVzZXIiLCJKU09OIiwicGFyc2UiLCJzZXRTZXNzaW9uIiwibmV3VG9rZW4iLCJuZXdVc2VyIiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImNsZWFyU2Vzc2lvbiIsInJlbW92ZUl0ZW0iLCJyZWdpc3RlciIsInBhcmFtcyIsInJlcyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJlbWFpbCIsInBhc3N3b3JkIiwiZGlzcGxheU5hbWUiLCJvayIsInRleHQiLCJFcnJvciIsImRhdGEiLCJqc29uIiwicm9sZSIsImxvZ2luIiwibG9nb3V0IiwiZ2V0QXV0aEhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwidmFsdWUiLCJQcm92aWRlciIsInVzZUF1dGgiLCJjdHgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./data/gunbuilderParts.ts": -/*!*********************************!*\ - !*** ./data/gunbuilderParts.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CATEGORIES: () => (/* binding */ CATEGORIES)\n/* harmony export */ });\nconst CATEGORIES = [\n // LOWER\n {\n id: \"lower\",\n name: \"Stripped Lower Receiver\",\n description: \"Serialized lower – the foundation of the build.\"\n },\n {\n id: \"completeLower\",\n name: \"Complete Lower\",\n description: \"Factory-built lower with stock, buffer system, and controls.\"\n },\n {\n id: \"lowerParts\",\n name: \"Lower Parts Kit\",\n description: \"Pins, springs, and controls for the lower.\"\n },\n {\n id: \"trigger\",\n name: \"Trigger / Fire Control\",\n description: \"Single-stage, two-stage, and match triggers.\"\n },\n {\n id: \"grip\",\n name: \"Pistol Grip\",\n description: \"Grips that shape how the rifle handles.\"\n },\n {\n id: \"safety\",\n name: \"Safety / Selector\",\n description: \"Ambi selectors and control upgrades.\"\n },\n {\n id: \"buffer\",\n name: \"Buffer System\",\n description: \"Buffer tube, buffer, spring, and related parts.\"\n },\n {\n id: \"stock\",\n name: \"Stock / Brace\",\n description: \"Adjustable, fixed, and minimalist stocks.\"\n },\n // UPPER\n {\n id: \"upper\",\n name: \"Stripped Upper Receiver\",\n description: \"The core of the top half of your build.\"\n },\n {\n id: \"completeUpper\",\n name: \"Complete Upper\",\n description: \"Pre-assembled uppers ready to pin and shoot.\"\n },\n {\n id: \"bcg\",\n name: \"Bolt Carrier Group\",\n description: \"The heartbeat of the rifle’s cycling.\"\n },\n {\n id: \"barrel\",\n name: \"Barrel\",\n description: \"Different lengths, profiles, and calibers.\"\n },\n {\n id: \"gasBlock\",\n name: \"Gas Block\",\n description: \"Standard and adjustable gas blocks.\"\n },\n {\n id: \"gasTube\",\n name: \"Gas Tube\",\n description: \"Carbine, mid, rifle, and more.\"\n },\n {\n id: \"muzzleDevice\",\n name: \"Muzzle Device\",\n description: \"Brakes, comps, and flash hiders.\"\n },\n {\n id: \"suppressor\",\n name: \"Suppressor\",\n description: \"Hearing-safe setups and hosts.\"\n },\n {\n id: \"handguard\",\n name: \"Handguard / Rail\",\n description: \"M-LOK rails and front-end furniture.\"\n },\n {\n id: \"chargingHandle\",\n name: \"Charging Handle\",\n description: \"Standard and ambi charging handles.\"\n },\n {\n id: \"sights\",\n name: \"Iron Sights\",\n description: \"Backup and primary irons.\"\n },\n {\n id: \"optic\",\n name: \"Optic\",\n description: \"LPVOs, red dots, and magnifiers.\"\n }\n];\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9kYXRhL2d1bmJ1aWxkZXJQYXJ0cy50cyIsIm1hcHBpbmdzIjoiOzs7O0FBRU8sTUFBTUEsYUFBeUI7SUFDcEMsUUFBUTtJQUNSO1FBQ0VDLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBRUEsUUFBUTtJQUNSO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtDQUNELENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2RhdGEvZ3VuYnVpbGRlclBhcnRzLnRzPzczYWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYXRlZ29yeSwgUGFydCB9IGZyb20gXCJAL3R5cGVzL2d1bmJ1aWxkZXJcIjtcblxuZXhwb3J0IGNvbnN0IENBVEVHT1JJRVM6IENhdGVnb3J5W10gPSBbXG4gIC8vIExPV0VSXG4gIHtcbiAgICBpZDogXCJsb3dlclwiLFxuICAgIG5hbWU6IFwiU3RyaXBwZWQgTG93ZXIgUmVjZWl2ZXJcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTZXJpYWxpemVkIGxvd2VyIOKAkyB0aGUgZm91bmRhdGlvbiBvZiB0aGUgYnVpbGQuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJjb21wbGV0ZUxvd2VyXCIsXG4gICAgbmFtZTogXCJDb21wbGV0ZSBMb3dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkZhY3RvcnktYnVpbHQgbG93ZXIgd2l0aCBzdG9jaywgYnVmZmVyIHN5c3RlbSwgYW5kIGNvbnRyb2xzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwibG93ZXJQYXJ0c1wiLFxuICAgIG5hbWU6IFwiTG93ZXIgUGFydHMgS2l0XCIsXG4gICAgZGVzY3JpcHRpb246IFwiUGlucywgc3ByaW5ncywgYW5kIGNvbnRyb2xzIGZvciB0aGUgbG93ZXIuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJ0cmlnZ2VyXCIsXG4gICAgbmFtZTogXCJUcmlnZ2VyIC8gRmlyZSBDb250cm9sXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2luZ2xlLXN0YWdlLCB0d28tc3RhZ2UsIGFuZCBtYXRjaCB0cmlnZ2Vycy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImdyaXBcIixcbiAgICBuYW1lOiBcIlBpc3RvbCBHcmlwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiR3JpcHMgdGhhdCBzaGFwZSBob3cgdGhlIHJpZmxlIGhhbmRsZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJzYWZldHlcIixcbiAgICBuYW1lOiBcIlNhZmV0eSAvIFNlbGVjdG9yXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQW1iaSBzZWxlY3RvcnMgYW5kIGNvbnRyb2wgdXBncmFkZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJidWZmZXJcIixcbiAgICBuYW1lOiBcIkJ1ZmZlciBTeXN0ZW1cIixcbiAgICBkZXNjcmlwdGlvbjogXCJCdWZmZXIgdHViZSwgYnVmZmVyLCBzcHJpbmcsIGFuZCByZWxhdGVkIHBhcnRzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwic3RvY2tcIixcbiAgICBuYW1lOiBcIlN0b2NrIC8gQnJhY2VcIixcbiAgICBkZXNjcmlwdGlvbjogXCJBZGp1c3RhYmxlLCBmaXhlZCwgYW5kIG1pbmltYWxpc3Qgc3RvY2tzLlwiLFxuICB9LFxuXG4gIC8vIFVQUEVSXG4gIHtcbiAgICBpZDogXCJ1cHBlclwiLFxuICAgIG5hbWU6IFwiU3RyaXBwZWQgVXBwZXIgUmVjZWl2ZXJcIixcbiAgICBkZXNjcmlwdGlvbjogXCJUaGUgY29yZSBvZiB0aGUgdG9wIGhhbGYgb2YgeW91ciBidWlsZC5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImNvbXBsZXRlVXBwZXJcIixcbiAgICBuYW1lOiBcIkNvbXBsZXRlIFVwcGVyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUHJlLWFzc2VtYmxlZCB1cHBlcnMgcmVhZHkgdG8gcGluIGFuZCBzaG9vdC5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImJjZ1wiLFxuICAgIG5hbWU6IFwiQm9sdCBDYXJyaWVyIEdyb3VwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIGhlYXJ0YmVhdCBvZiB0aGUgcmlmbGXigJlzIGN5Y2xpbmcuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJiYXJyZWxcIixcbiAgICBuYW1lOiBcIkJhcnJlbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkRpZmZlcmVudCBsZW5ndGhzLCBwcm9maWxlcywgYW5kIGNhbGliZXJzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiZ2FzQmxvY2tcIixcbiAgICBuYW1lOiBcIkdhcyBCbG9ja1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YW5kYXJkIGFuZCBhZGp1c3RhYmxlIGdhcyBibG9ja3MuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJnYXNUdWJlXCIsXG4gICAgbmFtZTogXCJHYXMgVHViZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkNhcmJpbmUsIG1pZCwgcmlmbGUsIGFuZCBtb3JlLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwibXV6emxlRGV2aWNlXCIsXG4gICAgbmFtZTogXCJNdXp6bGUgRGV2aWNlXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQnJha2VzLCBjb21wcywgYW5kIGZsYXNoIGhpZGVycy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcInN1cHByZXNzb3JcIixcbiAgICBuYW1lOiBcIlN1cHByZXNzb3JcIixcbiAgICBkZXNjcmlwdGlvbjogXCJIZWFyaW5nLXNhZmUgc2V0dXBzIGFuZCBob3N0cy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImhhbmRndWFyZFwiLFxuICAgIG5hbWU6IFwiSGFuZGd1YXJkIC8gUmFpbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk0tTE9LIHJhaWxzIGFuZCBmcm9udC1lbmQgZnVybml0dXJlLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiY2hhcmdpbmdIYW5kbGVcIixcbiAgICBuYW1lOiBcIkNoYXJnaW5nIEhhbmRsZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YW5kYXJkIGFuZCBhbWJpIGNoYXJnaW5nIGhhbmRsZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJzaWdodHNcIixcbiAgICBuYW1lOiBcIklyb24gU2lnaHRzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQmFja3VwIGFuZCBwcmltYXJ5IGlyb25zLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwib3B0aWNcIixcbiAgICBuYW1lOiBcIk9wdGljXCIsXG4gICAgZGVzY3JpcHRpb246IFwiTFBWT3MsIHJlZCBkb3RzLCBhbmQgbWFnbmlmaWVycy5cIixcbiAgfSxcbl07XG4iXSwibmFtZXMiOlsiQ0FURUdPUklFUyIsImlkIiwibmFtZSIsImRlc2NyaXB0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./data/gunbuilderParts.ts\n"); - -/***/ }), - -/***/ "(ssr)/./data/partRoleMappings.ts": -/*!**********************************!*\ - !*** ./data/partRoleMappings.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CATEGORY_TO_PART_ROLES: () => (/* binding */ CATEGORY_TO_PART_ROLES),\n/* harmony export */ PART_ROLE_TO_CATEGORY: () => (/* binding */ PART_ROLE_TO_CATEGORY)\n/* harmony export */ });\n// CategoryId -> partRoles\nconst CATEGORY_TO_PART_ROLES = {\n // CORE / EXISTING\n upper: [\n \"upper-receiver\"\n ],\n barrel: [\n \"barrel\"\n ],\n handguard: [\n \"handguard\"\n ],\n chargingHandle: [\n \"charging-handle\"\n ],\n buffer: [\n \"buffer-kit\"\n ],\n lowerParts: [\n \"lower-parts-kit\"\n ],\n sights: [\n \"sight\"\n ],\n lower: [\n \"lower-receiver\"\n ],\n optic: [\n \"optic\"\n ],\n stock: [\n \"stock\"\n ],\n // NEW LOWER PARTS\n trigger: [\n \"trigger\",\n \"trigger-kit\"\n ],\n grip: [\n \"pistol-grip\",\n \"grip\"\n ],\n safety: [\n \"safety\",\n \"safety-selector\"\n ],\n completeLower: [\n \"complete-lower\"\n ],\n // NEW UPPER PARTS\n completeUpper: [\n \"complete-upper\"\n ],\n bcg: [\n \"bcg\",\n \"bolt-carrier-group\"\n ],\n gasBlock: [\n \"gas-block\"\n ],\n gasTube: [\n \"gas-tube\"\n ],\n muzzleDevice: [\n \"muzzle-device\",\n \"compensator\",\n \"brake\"\n ],\n suppressor: [\n \"suppressor\"\n ]\n};\n// Invert to get partRole -> CategoryId\nconst PART_ROLE_TO_CATEGORY = Object.entries(CATEGORY_TO_PART_ROLES).reduce((acc, [categoryId, roles])=>{\n for (const role of roles){\n acc[role] = categoryId;\n }\n return acc;\n}, {});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9kYXRhL3BhcnRSb2xlTWFwcGluZ3MudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSwwQkFBMEI7QUFDbkIsTUFBTUEseUJBQXVEO0lBQ2xFLGtCQUFrQjtJQUNsQkMsT0FBTztRQUFDO0tBQWlCO0lBQ3pCQyxRQUFRO1FBQUM7S0FBUztJQUNsQkMsV0FBVztRQUFDO0tBQVk7SUFDeEJDLGdCQUFnQjtRQUFDO0tBQWtCO0lBQ25DQyxRQUFRO1FBQUM7S0FBYTtJQUN0QkMsWUFBWTtRQUFDO0tBQWtCO0lBQy9CQyxRQUFRO1FBQUM7S0FBUTtJQUNqQkMsT0FBTztRQUFDO0tBQWlCO0lBQ3pCQyxPQUFPO1FBQUM7S0FBUTtJQUNoQkMsT0FBTztRQUFDO0tBQVE7SUFFaEIsa0JBQWtCO0lBQ2xCQyxTQUFTO1FBQUM7UUFBVztLQUFjO0lBQ25DQyxNQUFNO1FBQUM7UUFBZTtLQUFPO0lBQzdCQyxRQUFRO1FBQUM7UUFBVTtLQUFrQjtJQUNyQ0MsZUFBZTtRQUFDO0tBQWlCO0lBRWpDLGtCQUFrQjtJQUNsQkMsZUFBZTtRQUFDO0tBQWlCO0lBQ2pDQyxLQUFLO1FBQUM7UUFBTztLQUFxQjtJQUNsQ0MsVUFBVTtRQUFDO0tBQVk7SUFDdkJDLFNBQVM7UUFBQztLQUFXO0lBQ3JCQyxjQUFjO1FBQUM7UUFBaUI7UUFBZTtLQUFRO0lBQ3ZEQyxZQUFZO1FBQUM7S0FBYTtBQUM1QixFQUFFO0FBRUYsdUNBQXVDO0FBQ2hDLE1BQU1DLHdCQUFvREMsT0FDOURDLE9BQU8sQ0FBQ3ZCLHdCQUNSd0IsTUFBTSxDQUFDLENBQUNDLEtBQUssQ0FBQ0MsWUFBWUMsTUFBTTtJQUMvQixLQUFLLE1BQU1DLFFBQVFELE1BQU87UUFDeEJGLEdBQUcsQ0FBQ0csS0FBSyxHQUFHRjtJQUNkO0lBQ0EsT0FBT0Q7QUFDVCxHQUFHLENBQUMsR0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2RhdGEvcGFydFJvbGVNYXBwaW5ncy50cz9jNjI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2F0ZWdvcnlJZCB9IGZyb20gXCJAL3R5cGVzL2d1bmJ1aWxkZXJcIjtcblxuLy8gQ2F0ZWdvcnlJZCAtPiBwYXJ0Um9sZXNcbmV4cG9ydCBjb25zdCBDQVRFR09SWV9UT19QQVJUX1JPTEVTOiBSZWNvcmQ8Q2F0ZWdvcnlJZCwgc3RyaW5nW10+ID0ge1xuICAvLyBDT1JFIC8gRVhJU1RJTkdcbiAgdXBwZXI6IFtcInVwcGVyLXJlY2VpdmVyXCJdLFxuICBiYXJyZWw6IFtcImJhcnJlbFwiXSxcbiAgaGFuZGd1YXJkOiBbXCJoYW5kZ3VhcmRcIl0sXG4gIGNoYXJnaW5nSGFuZGxlOiBbXCJjaGFyZ2luZy1oYW5kbGVcIl0sXG4gIGJ1ZmZlcjogW1wiYnVmZmVyLWtpdFwiXSxcbiAgbG93ZXJQYXJ0czogW1wibG93ZXItcGFydHMta2l0XCJdLFxuICBzaWdodHM6IFtcInNpZ2h0XCJdLFxuICBsb3dlcjogW1wibG93ZXItcmVjZWl2ZXJcIl0sXG4gIG9wdGljOiBbXCJvcHRpY1wiXSxcbiAgc3RvY2s6IFtcInN0b2NrXCJdLFxuXG4gIC8vIE5FVyBMT1dFUiBQQVJUU1xuICB0cmlnZ2VyOiBbXCJ0cmlnZ2VyXCIsIFwidHJpZ2dlci1raXRcIl0sXG4gIGdyaXA6IFtcInBpc3RvbC1ncmlwXCIsIFwiZ3JpcFwiXSxcbiAgc2FmZXR5OiBbXCJzYWZldHlcIiwgXCJzYWZldHktc2VsZWN0b3JcIl0sXG4gIGNvbXBsZXRlTG93ZXI6IFtcImNvbXBsZXRlLWxvd2VyXCJdLFxuXG4gIC8vIE5FVyBVUFBFUiBQQVJUU1xuICBjb21wbGV0ZVVwcGVyOiBbXCJjb21wbGV0ZS11cHBlclwiXSxcbiAgYmNnOiBbXCJiY2dcIiwgXCJib2x0LWNhcnJpZXItZ3JvdXBcIl0sXG4gIGdhc0Jsb2NrOiBbXCJnYXMtYmxvY2tcIl0sXG4gIGdhc1R1YmU6IFtcImdhcy10dWJlXCJdLFxuICBtdXp6bGVEZXZpY2U6IFtcIm11enpsZS1kZXZpY2VcIiwgXCJjb21wZW5zYXRvclwiLCBcImJyYWtlXCJdLFxuICBzdXBwcmVzc29yOiBbXCJzdXBwcmVzc29yXCJdLFxufTtcblxuLy8gSW52ZXJ0IHRvIGdldCBwYXJ0Um9sZSAtPiBDYXRlZ29yeUlkXG5leHBvcnQgY29uc3QgUEFSVF9ST0xFX1RPX0NBVEVHT1JZOiBSZWNvcmQ8c3RyaW5nLCBDYXRlZ29yeUlkPiA9IE9iamVjdFxuICAuZW50cmllcyhDQVRFR09SWV9UT19QQVJUX1JPTEVTKVxuICAucmVkdWNlKChhY2MsIFtjYXRlZ29yeUlkLCByb2xlc10pID0+IHtcbiAgICBmb3IgKGNvbnN0IHJvbGUgb2Ygcm9sZXMpIHtcbiAgICAgIGFjY1tyb2xlXSA9IGNhdGVnb3J5SWQgYXMgQ2F0ZWdvcnlJZDtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgQ2F0ZWdvcnlJZD4pOyJdLCJuYW1lcyI6WyJDQVRFR09SWV9UT19QQVJUX1JPTEVTIiwidXBwZXIiLCJiYXJyZWwiLCJoYW5kZ3VhcmQiLCJjaGFyZ2luZ0hhbmRsZSIsImJ1ZmZlciIsImxvd2VyUGFydHMiLCJzaWdodHMiLCJsb3dlciIsIm9wdGljIiwic3RvY2siLCJ0cmlnZ2VyIiwiZ3JpcCIsInNhZmV0eSIsImNvbXBsZXRlTG93ZXIiLCJjb21wbGV0ZVVwcGVyIiwiYmNnIiwiZ2FzQmxvY2siLCJnYXNUdWJlIiwibXV6emxlRGV2aWNlIiwic3VwcHJlc3NvciIsIlBBUlRfUk9MRV9UT19DQVRFR09SWSIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJhY2MiLCJjYXRlZ29yeUlkIiwicm9sZXMiLCJyb2xlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./data/partRoleMappings.ts\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/gunbuilder/[categoryId]/page.tsx": -/*!**********************************************!*\ - !*** ./app/gunbuilder/[categoryId]/page.tsx ***! - \**********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $$typeof: () => (/* binding */ $$typeof), -/* harmony export */ __esModule: () => (/* binding */ __esModule), -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx#default`)); - - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&page=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&appPaths=%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2F%5BcategoryId%5D%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/gunbuilder/[categoryId]/page_client-reference-manifest.js b/.next/server/app/gunbuilder/[categoryId]/page_client-reference-manifest.js deleted file mode 100644 index dc56c19..0000000 --- a/.next/server/app/gunbuilder/[categoryId]/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/gunbuilder/[categoryId]/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/register/page.tsx":{"*":{"id":"(ssr)/./app/register/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/login/page.tsx":{"*":{"id":"(ssr)/./app/login/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":["app/gunbuilder/page","static/chunks/app/gunbuilder/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":["app/gunbuilder/[categoryId]/page","static/chunks/app/gunbuilder/%5BcategoryId%5D/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx":{"id":"(app-pages-browser)/./app/register/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx":{"id":"(app-pages-browser)/./app/login/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page":[]}} \ No newline at end of file diff --git a/.next/server/app/gunbuilder/page.js b/.next/server/app/gunbuilder/page.js deleted file mode 100644 index 2f4e754..0000000 --- a/.next/server/app/gunbuilder/page.js +++ /dev/null @@ -1,290 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/gunbuilder/page"; -exports.ids = ["app/gunbuilder/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fpage&page=%2Fgunbuilder%2Fpage&appPaths=%2Fgunbuilder%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fpage&page=%2Fgunbuilder%2Fpage&appPaths=%2Fgunbuilder%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'gunbuilder',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/gunbuilder/page.tsx */ \"(rsc)/./app/gunbuilder/page.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/gunbuilder/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/gunbuilder/page\",\n pathname: \"/gunbuilder\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZndW5idWlsZGVyJTJGcGFnZSZwYWdlPSUyRmd1bmJ1aWxkZXIlMkZwYWdlJmFwcFBhdGhzPSUyRmd1bmJ1aWxkZXIlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZ3VuYnVpbGRlciUyRnBhZ2UudHN4JmFwcERpcj0lMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmFwcCZwYWdlRXh0ZW5zaW9ucz10c3gmcGFnZUV4dGVuc2lvbnM9dHMmcGFnZUV4dGVuc2lvbnM9anN4JnBhZ2VFeHRlbnNpb25zPWpzJnJvb3REaXI9JTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUmaXNEZXY9dHJ1ZSZ0c2NvbmZpZ1BhdGg9dHNjb25maWcuanNvbiZiYXNlUGF0aD0mYXNzZXRQcmVmaXg9Jm5leHRDb25maWdPdXRwdXQ9JnByZWZlcnJlZFJlZ2lvbj0mbWlkZGxld2FyZUNvbmZpZz1lMzAlM0QhIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxhQUFhLHNCQUFzQjtBQUNpRTtBQUNyQztBQUMvRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQ0FBaUM7QUFDakMsdUJBQXVCLDhKQUFpRztBQUN4SDtBQUNBLFNBQVM7QUFDVCxPQUFPO0FBQ1A7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SUFBd0Y7QUFDakgsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZTI0Il0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJ2d1bmJ1aWxkZXInLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2d1bmJ1aWxkZXIvcGFnZS50c3hcIiksIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9ndW5idWlsZGVyL3BhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICdsYXlvdXQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2xheW91dC50c3hcIiksIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9sYXlvdXQudHN4XCJdLFxuJ25vdC1mb3VuZCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIiksIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiXSxcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LmNoaWxkcmVuO1xuY29uc3QgcGFnZXMgPSBbXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2d1bmJ1aWxkZXIvcGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9ndW5idWlsZGVyL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvZ3VuYnVpbGRlci9wYWdlXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIi9ndW5idWlsZGVyXCIsXG4gICAgICAgIC8vIFRoZSBmb2xsb3dpbmcgYXJlbid0IHVzZWQgaW4gcHJvZHVjdGlvbi5cbiAgICAgICAgYnVuZGxlUGF0aDogXCJcIixcbiAgICAgICAgZmlsZW5hbWU6IFwiXCIsXG4gICAgICAgIGFwcFBhdGhzOiBbXVxuICAgIH0sXG4gICAgdXNlcmxhbmQ6IHtcbiAgICAgICAgbG9hZGVyVHJlZTogdHJlZVxuICAgIH1cbn0pO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1hcHAtcGFnZS5qcy5tYXAiXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fpage&page=%2Fgunbuilder%2Fpage&appPaths=%2Fgunbuilder%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!******************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \******************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/gunbuilder/page.tsx */ \"(ssr)/./app/gunbuilder/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ3VuYnVpbGRlciUyRnBhZ2UudHN4JTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJnNlcnZlcj10cnVlISIsIm1hcHBpbmdzIjoiQUFBQSw4SkFBaUciLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8/N2FkYiJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvZ3VuYnVpbGRlci9wYWdlLnRzeFwiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./app/gunbuilder/page.tsx": -/*!*********************************!*\ - !*** ./app/gunbuilder/page.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ GunbuilderPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/data/gunbuilderParts */ \"(ssr)/./data/gunbuilderParts.ts\");\n/* harmony import */ var _data_partRoleMappings__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/data/partRoleMappings */ \"(ssr)/./data/partRoleMappings.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst STORAGE_KEY = \"gunbuilder-build-state\";\n// Category groups for the main grid\nconst CATEGORY_GROUPS = [\n {\n id: \"lower-group\",\n label: \"Lower Receiver Parts\",\n description: \"Everything from the serialized lower to small parts, fire control, and core controls.\",\n categoryIds: [\n \"lower\",\n \"completeLower\",\n \"lowerParts\",\n \"trigger\",\n \"grip\",\n \"safety\",\n \"buffer\",\n \"stock\"\n ]\n },\n {\n id: \"upper-group\",\n label: \"Upper Receiver Parts\",\n description: \"Barrel, upper, gas system, and the parts that keep the rifle cycling.\",\n categoryIds: [\n \"upper\",\n \"completeUpper\",\n \"bcg\",\n \"barrel\",\n \"gasBlock\",\n \"gasTube\",\n \"muzzleDevice\",\n \"suppressor\",\n \"handguard\",\n \"chargingHandle\",\n \"sights\",\n \"optic\"\n ]\n }\n];\nfunction GunbuilderPage() {\n const searchParams = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useSearchParams)();\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_3__.useRouter)();\n const [parts, setParts] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [build, setBuild] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(()=>{\n if (false) {}\n return {};\n });\n const [shareStatus, setShareStatus] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [shareUrl, setShareUrl] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const controller = new AbortController();\n async function fetchProducts() {\n try {\n setLoading(true);\n setError(null);\n const res = await fetch(`${API_BASE_URL}/api/products/gunbuilder?platform=AR-15`, {\n signal: controller.signal\n });\n if (!res.ok) {\n throw new Error(`Failed to load products (${res.status})`);\n }\n const data = await res.json();\n const normalized = data.map((p)=>{\n const categoryId = _data_partRoleMappings__WEBPACK_IMPORTED_MODULE_5__.PART_ROLE_TO_CATEGORY[p.partRole];\n if (!categoryId) {\n // Skip any parts we don't know how to map yet\n return null;\n }\n return {\n id: String(p.id),\n categoryId,\n name: p.name,\n brand: p.brand,\n price: p.price ?? 0,\n imageUrl: p.mainImageUrl ?? undefined,\n url: p.buyUrl ?? undefined,\n notes: undefined\n };\n }).filter((p)=>p !== null);\n setParts(normalized);\n } catch (err) {\n if (err.name === \"AbortError\") return;\n setError(err.message ?? \"Failed to load products\");\n } finally{\n setLoading(false);\n }\n }\n fetchProducts();\n return ()=>controller.abort();\n }, []);\n // Handle URL query parameter for part selection (?select=upper:165)\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n const selectParam = searchParams.get(\"select\");\n if (selectParam) {\n const [categoryId, partId] = selectParam.split(\":\");\n if (categoryId && partId && _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES.some((c)=>c.id === categoryId)) {\n setBuild((prev)=>{\n const updated = {\n ...prev,\n [categoryId]: partId\n };\n if (false) {}\n return updated;\n });\n router.replace(\"/gunbuilder\", {\n scroll: false\n });\n }\n }\n }, [\n searchParams,\n router\n ]);\n // Persist build state to localStorage whenever it changes\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (false) {}\n }, [\n build\n ]);\n const partsByCategory = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n const grouped = {};\n for (const category of _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES){\n grouped[category.id] = parts.filter((p)=>p.categoryId === category.id);\n }\n return grouped;\n }, [\n parts\n ]);\n const selectedParts = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>{\n return Object.entries(build).map(([categoryId, partId])=>parts.find((p)=>p.id === partId && p.categoryId === categoryId)).filter(Boolean);\n }, [\n build,\n parts\n ]);\n const totalPrice = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>selectedParts.reduce((sum, p)=>sum + p.price, 0), [\n selectedParts\n ]);\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n if (true) return;\n // If no parts selected, clear the share URL\n if (Object.keys(build).length === 0) {\n setShareUrl(\"\");\n return;\n }\n try {\n const payload = JSON.stringify(build);\n const encoded = window.btoa(payload);\n const origin = window.location?.origin ?? \"\";\n const url = `${origin}/gunbuilder/build?build=${encodeURIComponent(encoded)}`;\n setShareUrl(url);\n } catch {\n setShareUrl(\"\");\n }\n }, [\n build\n ]);\n const handleSelectPart = (categoryId, partId)=>{\n setBuild((prev)=>({\n ...prev,\n [categoryId]: partId\n }));\n };\n // Use group ordering for the summary as well\n const summaryCategoryOrder = (0,react__WEBPACK_IMPORTED_MODULE_1__.useMemo)(()=>CATEGORY_GROUPS.flatMap((group)=>group.categoryIds).filter((id)=>_data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES.some((c)=>c.id === id)), []);\n const handleShare = async ()=>{\n if (selectedParts.length === 0) {\n setShareStatus(\"Add a few parts before sharing your build.\");\n return;\n }\n const lines = [];\n lines.push(\"Shadow Standard — The Armory Build\");\n lines.push(\"\");\n lines.push(`Total: $${totalPrice.toFixed(2)}`);\n lines.push(\"\");\n summaryCategoryOrder.forEach((categoryId)=>{\n const cat = _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES.find((c)=>c.id === categoryId);\n if (!cat) return;\n const selectedPartId = build[cat.id];\n const part = parts.find((p)=>p.id === selectedPartId && p.categoryId === cat.id);\n if (part) {\n lines.push(`${cat.name}: ${part.brand} — ${part.name} ($${part.price.toFixed(2)})`);\n } else {\n lines.push(`${cat.name}: [Not selected]`);\n }\n });\n const text = lines.join(\"\\n\");\n try {\n await navigator.clipboard.writeText(text);\n setShareStatus(\"Build summary copied to clipboard.\");\n } catch {\n setShareStatus(\"Could not access clipboard. You can copy from the build summary page.\");\n }\n };\n const handleCopyLink = async ()=>{\n if (!shareUrl) {\n setShareStatus(\"No shareable link available yet.\");\n return;\n }\n try {\n await navigator.clipboard.writeText(shareUrl);\n setShareStatus(\"Shareable link copied to clipboard.\");\n } catch {\n setShareStatus(\"Could not copy link to clipboard.\");\n }\n };\n const handleNativeShare = async ()=>{\n if (!shareUrl) {\n setShareStatus(\"No shareable link available yet.\");\n return;\n }\n if (navigator.share) {\n try {\n await navigator.share({\n title: \"Shadow Standard — The Armory Build\",\n text: \"Check out my Shadow Standard Armory build.\",\n url: shareUrl\n });\n setShareStatus(\"Share dialog opened.\");\n } catch {\n // User canceled or share failed; keep it quiet but let them know\n setShareStatus(\"Share canceled or unavailable. You can copy the link instead.\");\n }\n } else {\n // Fallback to copying the link\n await handleCopyLink();\n }\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"border-b border-amber-500/20 bg-amber-500/5\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl flex-col gap-1 px-4 py-2 text-[0.75rem] text-amber-100 md:flex-row md:items-center md:justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"rounded-sm bg-amber-500/20 px-2 py-0.5 text-[0.65rem] font-semibold uppercase tracking-[0.18em] text-amber-300\",\n children: \"Early Access Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 333,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"hidden text-amber-100/90 md:inline\",\n children: \"You're using an early-access prototype of The Armory. Data, pricing, and available parts are still evolving.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 336,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 332,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-100/90 md:hidden\",\n children: \"Early-access prototype. Data and pricing may change.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 341,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 331,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 330,\n columnNumber: 7\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto max-w-6xl px-4 py-6 lg:py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"mb-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-500\",\n children: \"Shadow Standard Co.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 350,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-1 text-2xl md:text-3xl font-semibold tracking-tight\",\n children: [\n \"The Build Bench: \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-300\",\n children: \"Early Access\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 354,\n columnNumber: 32\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 353,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-sm text-zinc-400 max-w-xl\",\n children: \"Explore components from trusted brands, choose one part per category, track live prices, and watch your total build cost update as you go. This early-access builder keeps your setup saved locally so you can come back and refine it anytime.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 356,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 349,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 348,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"mb-6 rounded-lg border border-zinc-800 bg-zinc-950/80 p-3 md:p-4 flex flex-col gap-3 md:flex-row md:items-start md:justify-between\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xs font-semibold uppercase tracking-[0.16em] text-amber-300\",\n children: \"My Build Breakdown\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 369,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-zinc-400\",\n children: \"Current build total\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 373,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-2xl font-semibold text-amber-300\",\n children: [\n \"$\",\n totalPrice.toFixed(2)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 374,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-xs text-zinc-500 mt-1\",\n children: [\n selectedParts.length,\n \" / \",\n _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES.length,\n \" categories filled\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 377,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 372,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-2 flex flex-col items-stretch gap-2 sm:flex-row sm:flex-wrap\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: \"/gunbuilder/build\",\n className: `w-full sm:w-auto rounded-md border border-amber-400/60 bg-amber-400/10 px-3 py-2 text-sm font-medium text-amber-200 hover:bg-amber-400/15 text-center transition-colors ${selectedParts.length === 0 ? \"opacity-40 cursor-not-allowed pointer-events-none\" : \"\"}`,\n children: \"Build Summary\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 384,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: handleShare,\n className: `w-full sm:w-auto rounded-md px-3 py-2 text-sm font-semibold transition-colors border ${selectedParts.length === 0 ? \"bg-zinc-900/80 text-zinc-600 border-zinc-800 cursor-not-allowed\" : \"bg-zinc-900/80 text-zinc-200 border-zinc-700 hover:bg-zinc-800\"}`,\n disabled: selectedParts.length === 0,\n children: \"Copy Build Summary\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 394,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: ()=>{\n setBuild({});\n if (false) {}\n },\n disabled: selectedParts.length === 0,\n className: `w-full sm:w-auto rounded-md border border-zinc-700 bg-zinc-900/50 px-3 py-2 text-sm font-medium text-zinc-300 hover:bg-zinc-800 hover:border-zinc-600 transition-colors ${selectedParts.length === 0 ? \"opacity-40 cursor-not-allowed\" : \"\"}`,\n children: \"Clear Build\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 406,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 383,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 368,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex flex-col gap-3 md:items-end md:text-right md:flex-1\",\n children: [\n selectedParts.length > 0 && shareUrl && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full md:w-auto\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h3\", {\n className: \"text-[0.7rem] font-semibold uppercase tracking-[0.16em] text-zinc-400\",\n children: \"Share Your Build\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 428,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-[0.7rem] text-zinc-500\",\n children: \"Share this link to let others view your build or bookmark it to come back later.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 431,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-2 flex flex-col gap-2 md:flex-row md:items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[0.65rem] uppercase tracking-[0.16em] text-zinc-500 mb-1\",\n children: \"Shareable URL\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 437,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n type: \"text\",\n readOnly: true,\n value: shareUrl,\n className: \"w-full rounded-md border border-zinc-700 bg-zinc-950/80 px-2 py-1.5 text-[0.7rem] text-zinc-200 font-mono outline-none focus:ring-1 focus:ring-amber-400\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 440,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 436,\n columnNumber: 19\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex gap-2 md:flex-none md:mt-5\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: handleNativeShare,\n className: \"flex-1 md:flex-none rounded-md bg-zinc-900/80 px-3 py-1.5 text-[0.75rem] font-semibold text-zinc-100 border border-zinc-700 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n children: \"Share\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 448,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: handleCopyLink,\n className: \"flex-1 md:flex-none rounded-md bg-amber-400 px-3 py-1.5 text-[0.75rem] font-semibold text-black hover:bg-amber-300 transition-colors\",\n children: \"Copy Link\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 455,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 447,\n columnNumber: 19\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 435,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 427,\n columnNumber: 15\n }, this),\n shareStatus && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-1 text-[0.7rem] text-zinc-500\",\n children: shareStatus\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 468,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 425,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 366,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"rounded-lg border border-zinc-800 bg-zinc-950/60 p-3 md:p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mb-4 text-xs text-zinc-500\",\n children: \"Work top-down through the major sections. Each row shows your current pick for that part type, with price and a direct buy link—or a quick way to choose a part if you haven't picked one yet.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 477,\n columnNumber: 11\n }, this),\n loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-zinc-500\",\n children: \"Loading parts from backend…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 485,\n columnNumber: 13\n }, this),\n error && !loading && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-sm text-red-400\",\n children: [\n error,\n \" — check that the Ballistic API is running and CORS is configured.\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 490,\n columnNumber: 13\n }, this),\n !loading && !error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-6\",\n children: CATEGORY_GROUPS.map((group)=>{\n const groupCategories = _data_gunbuilderParts__WEBPACK_IMPORTED_MODULE_4__.CATEGORIES.filter((c)=>group.categoryIds.includes(c.id));\n if (groupCategories.length === 0) {\n return null;\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-baseline justify-between gap-2\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-sm font-semibold text-zinc-100\",\n children: group.label\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 511,\n columnNumber: 25\n }, this),\n group.description && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs text-zinc-500 mt-1 max-w-xl\",\n children: group.description\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 515,\n columnNumber: 27\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 510,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 509,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"overflow-x-auto rounded-md border border-zinc-800 bg-zinc-950/80\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"table\", {\n className: \"min-w-full text-xs md:text-sm\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"thead\", {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n className: \"border-b border-zinc-800 bg-zinc-900/60\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-3 py-2 text-left font-semibold text-zinc-400\",\n children: \"Component / Part Type\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 526,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-3 py-2 text-left font-semibold text-zinc-400\",\n children: \"Brand\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 529,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-3 py-2 text-right font-semibold text-zinc-400\",\n children: \"Price\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 532,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-3 py-2 text-right font-semibold text-zinc-400\",\n children: \"Sale Price\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 535,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-3 py-2 text-left font-semibold text-zinc-400\",\n children: \"Caliber\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 538,\n columnNumber: 29\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"th\", {\n className: \"px-3 py-2 text-right font-semibold text-zinc-400\",\n children: \"Buy / Choose\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 541,\n columnNumber: 29\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 525,\n columnNumber: 27\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 524,\n columnNumber: 25\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tbody\", {\n children: groupCategories.map((category)=>{\n const categoryParts = partsByCategory[category.id] ?? [];\n const selectedPartId = build[category.id];\n const selectedPart = categoryParts.find((p)=>p.id === selectedPartId);\n const hasParts = categoryParts.length > 0;\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"tr\", {\n className: \"border-t border-zinc-900 hover:bg-zinc-900/60 transition-colors\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-3 py-2 align-top\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"font-medium text-zinc-100\",\n children: category.name\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 563,\n columnNumber: 35\n }, this),\n selectedPart ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[0.7rem] text-zinc-500 line-clamp-1\",\n children: selectedPart.name\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 567,\n columnNumber: 37\n }, this) : hasParts ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[0.7rem] text-zinc-600\",\n children: \"No part selected\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 571,\n columnNumber: 37\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"text-[0.7rem] text-zinc-600\",\n children: \"No parts available yet\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 575,\n columnNumber: 37\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 562,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-3 py-2 align-top text-zinc-300\",\n children: selectedPart ? selectedPart.brand : \"—\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 582,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-3 py-2 align-top text-right text-amber-300\",\n children: selectedPart ? `$${selectedPart.price.toFixed(2)}` : \"—\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 587,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-3 py-2 align-top text-right text-zinc-400\",\n children: selectedPart ? \"—\" : \"—\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 594,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-3 py-2 align-top text-zinc-400\",\n children: \"—\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 600,\n columnNumber: 33\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"td\", {\n className: \"px-3 py-2 align-top\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-end gap-2\",\n children: selectedPart && selectedPart.url ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: `/gunbuilder/${category.id}`,\n className: \"hidden md:inline-flex rounded-md border border-zinc-700 bg-zinc-900/70 px-2.5 py-1 text-[0.7rem] font-medium text-zinc-300 hover:bg-zinc-800 hover:border-zinc-600 transition-colors\",\n children: \"Change Part\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 610,\n columnNumber: 41\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"a\", {\n href: selectedPart.url,\n target: \"_blank\",\n rel: \"noreferrer\",\n className: \"inline-flex rounded-md bg-amber-400 px-2.5 py-1 text-[0.7rem] font-semibold text-black hover:bg-amber-300 transition-colors\",\n children: \"Buy\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 616,\n columnNumber: 41\n }, this)\n ]\n }, void 0, true) : hasParts ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n href: `/gunbuilder/${category.id}`,\n className: \"inline-flex rounded-md border border-zinc-700 bg-zinc-900/70 px-2.5 py-1 text-[0.7rem] font-medium text-zinc-200 hover:bg-zinc-800 hover:border-zinc-600 transition-colors\",\n onClick: ()=>{\n // If you want to pre-select something later, you can handle here.\n },\n children: \"Choose a Part\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 626,\n columnNumber: 39\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-[0.7rem] text-zinc-600\",\n children: \"—\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 636,\n columnNumber: 39\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 607,\n columnNumber: 35\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 606,\n columnNumber: 33\n }, this)\n ]\n }, category.id, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 557,\n columnNumber: 31\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 546,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 523,\n columnNumber: 23\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 522,\n columnNumber: 21\n }, this)\n ]\n }, group.id, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 508,\n columnNumber: 19\n }, this);\n })\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 497,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 476,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"mt-8 rounded-lg border border-zinc-800 bg-zinc-950/80 p-3 md:p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xs font-semibold uppercase tracking-[0.16em] text-amber-300\",\n children: \"What's New in Early Access\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 657,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"mt-2 space-y-1 text-sm text-zinc-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Live parts and pricing pulled from multiple merchants.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 661,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Grouped layout for lower and upper receiver parts so you can see at a glance which sections of your build are still missing.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 662,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Running build total that updates automatically as you add or swap components.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 666,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Local build persistence so your selections stick around between visits on this device.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 670,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 660,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 656,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"section\", {\n className: \"mt-8 rounded-lg border border-zinc-800 bg-zinc-950/80 p-3 md:p-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-xs font-semibold uppercase tracking-[0.16em] text-amber-300\",\n children: \"What's on our roadmap\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 679,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"ul\", {\n className: \"mt-2 space-y-1 text-sm text-zinc-400\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Platform filters (AR-15, AR-9, AR-10)\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 683,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• More part categories and furniture\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 684,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Richer pricing/stock sync\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 685,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• Smarter compatibility checks between components\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 686,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"li\", {\n children: \"• AR9/AR10 support and more\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 687,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 682,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 678,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 346,\n columnNumber: 7\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx\",\n lineNumber: 329,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFTcEUsRUFBRTs7Ozs7NERBc0Z0Qjs7Ozs7Ozs7Ozs7Ozs7Ozs7O3VDQXhJRXlGLE1BQU16RixFQUFFOzs7OztnQ0E4SXRCOzs7Ozs7Ozs7Ozs7a0NBTU4sOERBQUNpSDt3QkFBUUwsV0FBVTs7MENBQ2pCLDhEQUFDTTtnQ0FBR04sV0FBVTswQ0FBbUU7Ozs7OzswQ0FHakYsOERBQUMrQjtnQ0FBRy9CLFdBQVU7O2tEQUNaLDhEQUFDZ0M7a0RBQUc7Ozs7OztrREFDSiw4REFBQ0E7a0RBQUc7Ozs7OztrREFJSiw4REFBQ0E7a0RBQUc7Ozs7OztrREFJSiw4REFBQ0E7a0RBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7OztrQ0FRUiw4REFBQzNCO3dCQUFRTCxXQUFVOzswQ0FDakIsOERBQUNNO2dDQUFHTixXQUFVOzBDQUFtRTs7Ozs7OzBDQUdqRiw4REFBQytCO2dDQUFHL0IsV0FBVTs7a0RBQ1osOERBQUNnQztrREFBRzs7Ozs7O2tEQUNKLDhEQUFDQTtrREFBRzs7Ozs7O2tEQUNKLDhEQUFDQTtrREFBRzs7Ozs7O2tEQUNKLDhEQUFDQTtrREFBRzs7Ozs7O2tEQUNKLDhEQUFDQTtrREFBRzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTWhCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9hcHAvZ3VuYnVpbGRlci9wYWdlLnRzeD8wNTQwIl0sInNvdXJjZXNDb250ZW50IjpbIlwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VTZWFyY2hQYXJhbXMsIHVzZVJvdXRlciB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIjtcbmltcG9ydCB7IENBVEVHT1JJRVMgfSBmcm9tIFwiQC9kYXRhL2d1bmJ1aWxkZXJQYXJ0c1wiO1xuaW1wb3J0IHR5cGUgeyBDYXRlZ29yeUlkLCBQYXJ0IH0gZnJvbSBcIkAvdHlwZXMvZ3VuYnVpbGRlclwiO1xuaW1wb3J0IHsgUEFSVF9ST0xFX1RPX0NBVEVHT1JZIH0gZnJvbSBcIkAvZGF0YS9wYXJ0Um9sZU1hcHBpbmdzXCI7XG5cbnR5cGUgR3VuYnVpbGRlclByb2R1Y3RGcm9tQXBpID0ge1xuICBpZDogbnVtYmVyOyAvLyBiYWNrZW5kIG51bWVyaWMgaWRcbiAgbmFtZTogc3RyaW5nO1xuICBicmFuZDogc3RyaW5nO1xuICBwbGF0Zm9ybTogc3RyaW5nO1xuICBwYXJ0Um9sZTogc3RyaW5nO1xuICBwcmljZTogbnVtYmVyIHwgbnVsbDtcbiAgbWFpbkltYWdlVXJsOiBzdHJpbmcgfCBudWxsO1xuICBidXlVcmw6IHN0cmluZyB8IG51bGw7XG59O1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBCdWlsZFN0YXRlID0gUGFydGlhbDxSZWNvcmQ8Q2F0ZWdvcnlJZCwgc3RyaW5nPj47IC8vIGNhdGVnb3J5SWQgLT4gcGFydElkXG5cbmNvbnN0IFNUT1JBR0VfS0VZID0gXCJndW5idWlsZGVyLWJ1aWxkLXN0YXRlXCI7XG5cbi8vIENhdGVnb3J5IGdyb3VwcyBmb3IgdGhlIG1haW4gZ3JpZFxuY29uc3QgQ0FURUdPUllfR1JPVVBTOiB7XG4gIGlkOiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBjYXRlZ29yeUlkczogQ2F0ZWdvcnlJZFtdO1xufVtdID0gW1xuICB7XG4gICAgaWQ6IFwibG93ZXItZ3JvdXBcIixcbiAgICBsYWJlbDogXCJMb3dlciBSZWNlaXZlciBQYXJ0c1wiLFxuICAgIGRlc2NyaXB0aW9uOlxuICAgICAgXCJFdmVyeXRoaW5nIGZyb20gdGhlIHNlcmlhbGl6ZWQgbG93ZXIgdG8gc21hbGwgcGFydHMsIGZpcmUgY29udHJvbCwgYW5kIGNvcmUgY29udHJvbHMuXCIsXG4gICAgY2F0ZWdvcnlJZHM6IFtcbiAgICAgIFwibG93ZXJcIixcbiAgICAgIFwiY29tcGxldGVMb3dlclwiLFxuICAgICAgXCJsb3dlclBhcnRzXCIsXG4gICAgICBcInRyaWdnZXJcIixcbiAgICAgIFwiZ3JpcFwiLFxuICAgICAgXCJzYWZldHlcIixcbiAgICAgIFwiYnVmZmVyXCIsXG4gICAgICBcInN0b2NrXCIsXG4gICAgXSxcbiAgfSxcbiAge1xuICAgIGlkOiBcInVwcGVyLWdyb3VwXCIsXG4gICAgbGFiZWw6IFwiVXBwZXIgUmVjZWl2ZXIgUGFydHNcIixcbiAgICBkZXNjcmlwdGlvbjpcbiAgICAgIFwiQmFycmVsLCB1cHBlciwgZ2FzIHN5c3RlbSwgYW5kIHRoZSBwYXJ0cyB0aGF0IGtlZXAgdGhlIHJpZmxlIGN5Y2xpbmcuXCIsXG4gICAgY2F0ZWdvcnlJZHM6IFtcbiAgICAgIFwidXBwZXJcIixcbiAgICAgIFwiY29tcGxldGVVcHBlclwiLFxuICAgICAgXCJiY2dcIixcbiAgICAgIFwiYmFycmVsXCIsXG4gICAgICBcImdhc0Jsb2NrXCIsXG4gICAgICBcImdhc1R1YmVcIixcbiAgICAgIFwibXV6emxlRGV2aWNlXCIsXG4gICAgICBcInN1cHByZXNzb3JcIixcbiAgICAgIFwiaGFuZGd1YXJkXCIsXG4gICAgICBcImNoYXJnaW5nSGFuZGxlXCIsXG4gICAgICBcInNpZ2h0c1wiLFxuICAgICAgXCJvcHRpY1wiLFxuICAgIF0sXG4gIH0sXG4gIC8vIE9wdGlvbmFsOiBmdXR1cmUgZ3JvdXAgZm9yIGFjY2Vzc29yaWVzL2Z1cm5pdHVyZSBpZiBuZWVkZWRcbiAgLy8ge1xuICAvLyAgIGlkOiBcImFjY2Vzc29yaWVzLWdyb3VwXCIsXG4gIC8vICAgbGFiZWw6IFwiQWNjZXNzb3JpZXMgJiBGdXJuaXR1cmVcIixcbiAgLy8gICBkZXNjcmlwdGlvbjogXCJPcHRpY3MsIGxpZ2h0cywgc2xpbmdzLCBhbmQgb3RoZXIgc3VwcG9ydGluZyBnZWFyLlwiLFxuICAvLyAgIGNhdGVnb3J5SWRzOiBbXCJvcHRpY1wiLCBcInNpZ2h0c1wiLCAuLi5dIGFzIENhdGVnb3J5SWRbXSxcbiAgLy8gfSxcbl07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEd1bmJ1aWxkZXJQYWdlKCkge1xuICBjb25zdCBzZWFyY2hQYXJhbXMgPSB1c2VTZWFyY2hQYXJhbXMoKTtcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKCk7XG4gIGNvbnN0IFtwYXJ0cywgc2V0UGFydHNdID0gdXNlU3RhdGU8UGFydFtdPihbXSk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbYnVpbGQsIHNldEJ1aWxkXSA9IHVzZVN0YXRlPEJ1aWxkU3RhdGU+KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgY29uc3Qgc3RvcmVkID0gbG9jYWxTdG9yYWdlLmdldEl0ZW0oU1RPUkFHRV9LRVkpO1xuICAgICAgaWYgKHN0b3JlZCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHJldHVybiBKU09OLnBhcnNlKHN0b3JlZCk7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHJldHVybiB7fTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4ge307XG4gIH0pO1xuICBjb25zdCBbc2hhcmVTdGF0dXMsIHNldFNoYXJlU3RhdHVzXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuICBjb25zdCBbc2hhcmVVcmwsIHNldFNoYXJlVXJsXSA9IHVzZVN0YXRlPHN0cmluZz4oXCJcIik7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBjb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24gZmV0Y2hQcm9kdWN0cygpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKFxuICAgICAgICAgIGAke0FQSV9CQVNFX1VSTH0vYXBpL3Byb2R1Y3RzL2d1bmJ1aWxkZXI/cGxhdGZvcm09QVItMTVgLFxuICAgICAgICAgIHsgc2lnbmFsOiBjb250cm9sbGVyLnNpZ25hbCB9LFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBwcm9kdWN0cyAoJHtyZXMuc3RhdHVzfSlgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IEd1bmJ1aWxkZXJQcm9kdWN0RnJvbUFwaVtdID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICBjb25zdCBub3JtYWxpemVkOiBQYXJ0W10gPSBkYXRhXG4gICAgICAgICAgLm1hcCgocCk6IFBhcnQgfCBudWxsID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNhdGVnb3J5SWQgPSBQQVJUX1JPTEVfVE9fQ0FURUdPUllbcC5wYXJ0Um9sZV07XG4gICAgICAgICAgICBpZiAoIWNhdGVnb3J5SWQpIHtcbiAgICAgICAgICAgICAgLy8gU2tpcCBhbnkgcGFydHMgd2UgZG9uJ3Qga25vdyBob3cgdG8gbWFwIHlldFxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgaWQ6IFN0cmluZyhwLmlkKSwgLy8gQUxXQVlTIHN0cmluZ1xuICAgICAgICAgICAgICBjYXRlZ29yeUlkLFxuICAgICAgICAgICAgICBuYW1lOiBwLm5hbWUsXG4gICAgICAgICAgICAgIGJyYW5kOiBwLmJyYW5kLFxuICAgICAgICAgICAgICBwcmljZTogcC5wcmljZSA/PyAwLFxuICAgICAgICAgICAgICBpbWFnZVVybDogcC5tYWluSW1hZ2VVcmwgPz8gdW5kZWZpbmVkLFxuICAgICAgICAgICAgICB1cmw6IHAuYnV5VXJsID8/IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgbm90ZXM6IHVuZGVmaW5lZCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuZmlsdGVyKChwKTogcCBpcyBQYXJ0ID0+IHAgIT09IG51bGwpO1xuXG4gICAgICAgIHNldFBhcnRzKG5vcm1hbGl6ZWQpO1xuICAgICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgICAgaWYgKGVyci5uYW1lID09PSBcIkFib3J0RXJyb3JcIikgcmV0dXJuO1xuICAgICAgICBzZXRFcnJvcihlcnIubWVzc2FnZSA/PyBcIkZhaWxlZCB0byBsb2FkIHByb2R1Y3RzXCIpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmV0Y2hQcm9kdWN0cygpO1xuXG4gICAgcmV0dXJuICgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgfSwgW10pO1xuXG4gIC8vIEhhbmRsZSBVUkwgcXVlcnkgcGFyYW1ldGVyIGZvciBwYXJ0IHNlbGVjdGlvbiAoP3NlbGVjdD11cHBlcjoxNjUpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3Qgc2VsZWN0UGFyYW0gPSBzZWFyY2hQYXJhbXMuZ2V0KFwic2VsZWN0XCIpO1xuICAgIGlmIChzZWxlY3RQYXJhbSkge1xuICAgICAgY29uc3QgW2NhdGVnb3J5SWQsIHBhcnRJZF0gPSBzZWxlY3RQYXJhbS5zcGxpdChcIjpcIik7XG4gICAgICBpZiAoY2F0ZWdvcnlJZCAmJiBwYXJ0SWQgJiYgQ0FURUdPUklFUy5zb21lKChjKSA9PiBjLmlkID09PSBjYXRlZ29yeUlkKSkge1xuICAgICAgICBzZXRCdWlsZCgocHJldikgPT4ge1xuICAgICAgICAgIGNvbnN0IHVwZGF0ZWQgPSB7XG4gICAgICAgICAgICAuLi5wcmV2LFxuICAgICAgICAgICAgW2NhdGVnb3J5SWQgYXMgQ2F0ZWdvcnlJZF06IHBhcnRJZCxcbiAgICAgICAgICB9O1xuICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShTVE9SQUdFX0tFWSwgSlNPTi5zdHJpbmdpZnkodXBkYXRlZCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdXBkYXRlZDtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcm91dGVyLnJlcGxhY2UoXCIvZ3VuYnVpbGRlclwiLCB7IHNjcm9sbDogZmFsc2UgfSk7XG4gICAgICB9XG4gICAgfVxuICB9LCBbc2VhcmNoUGFyYW1zLCByb3V0ZXJdKTtcblxuICAvLyBQZXJzaXN0IGJ1aWxkIHN0YXRlIHRvIGxvY2FsU3RvcmFnZSB3aGVuZXZlciBpdCBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFNUT1JBR0VfS0VZLCBKU09OLnN0cmluZ2lmeShidWlsZCkpO1xuICAgIH1cbiAgfSwgW2J1aWxkXSk7XG5cbiAgY29uc3QgcGFydHNCeUNhdGVnb3J5OiBSZWNvcmQ8Q2F0ZWdvcnlJZCwgUGFydFtdPiA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGdyb3VwZWQgPSB7fSBhcyBSZWNvcmQ8Q2F0ZWdvcnlJZCwgUGFydFtdPjtcbiAgICBmb3IgKGNvbnN0IGNhdGVnb3J5IG9mIENBVEVHT1JJRVMpIHtcbiAgICAgIGdyb3VwZWRbY2F0ZWdvcnkuaWRdID0gcGFydHMuZmlsdGVyKFxuICAgICAgICAocCkgPT4gcC5jYXRlZ29yeUlkID09PSBjYXRlZ29yeS5pZCxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBncm91cGVkO1xuICB9LCBbcGFydHNdKTtcblxuICBjb25zdCBzZWxlY3RlZFBhcnRzOiBQYXJ0W10gPSB1c2VNZW1vKCgpID0+IHtcbiAgICByZXR1cm4gT2JqZWN0LmVudHJpZXMoYnVpbGQpXG4gICAgICAubWFwKChbY2F0ZWdvcnlJZCwgcGFydElkXSkgPT5cbiAgICAgICAgcGFydHMuZmluZCgocCkgPT4gcC5pZCA9PT0gcGFydElkICYmIHAuY2F0ZWdvcnlJZCA9PT0gY2F0ZWdvcnlJZCksXG4gICAgICApXG4gICAgICAuZmlsdGVyKEJvb2xlYW4pIGFzIFBhcnRbXTtcbiAgfSwgW2J1aWxkLCBwYXJ0c10pO1xuXG4gIGNvbnN0IHRvdGFsUHJpY2UgPSB1c2VNZW1vKFxuICAgICgpID0+IHNlbGVjdGVkUGFydHMucmVkdWNlKChzdW0sIHApID0+IHN1bSArIHAucHJpY2UsIDApLFxuICAgIFtzZWxlY3RlZFBhcnRzXSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICAvLyBJZiBubyBwYXJ0cyBzZWxlY3RlZCwgY2xlYXIgdGhlIHNoYXJlIFVSTFxuICAgIGlmIChPYmplY3Qua2V5cyhidWlsZCkubGVuZ3RoID09PSAwKSB7XG4gICAgICBzZXRTaGFyZVVybChcIlwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcGF5bG9hZCA9IEpTT04uc3RyaW5naWZ5KGJ1aWxkKTtcbiAgICAgIGNvbnN0IGVuY29kZWQgPSB3aW5kb3cuYnRvYShwYXlsb2FkKTtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHdpbmRvdy5sb2NhdGlvbj8ub3JpZ2luID8/IFwiXCI7XG4gICAgICBjb25zdCB1cmwgPSBgJHtvcmlnaW59L2d1bmJ1aWxkZXIvYnVpbGQ/YnVpbGQ9JHtlbmNvZGVVUklDb21wb25lbnQoXG4gICAgICAgIGVuY29kZWQsXG4gICAgICApfWA7XG4gICAgICBzZXRTaGFyZVVybCh1cmwpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0U2hhcmVVcmwoXCJcIik7XG4gICAgfVxuICB9LCBbYnVpbGRdKTtcblxuICBjb25zdCBoYW5kbGVTZWxlY3RQYXJ0ID0gKGNhdGVnb3J5SWQ6IENhdGVnb3J5SWQsIHBhcnRJZDogc3RyaW5nKSA9PiB7XG4gICAgc2V0QnVpbGQoKHByZXYpID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgW2NhdGVnb3J5SWRdOiBwYXJ0SWQsXG4gICAgfSkpO1xuICB9O1xuXG4gIC8vIFVzZSBncm91cCBvcmRlcmluZyBmb3IgdGhlIHN1bW1hcnkgYXMgd2VsbFxuICBjb25zdCBzdW1tYXJ5Q2F0ZWdvcnlPcmRlcjogQ2F0ZWdvcnlJZFtdID0gdXNlTWVtbyhcbiAgICAoKSA9PlxuICAgICAgQ0FURUdPUllfR1JPVVBTLmZsYXRNYXAoKGdyb3VwKSA9PiBncm91cC5jYXRlZ29yeUlkcykuZmlsdGVyKFxuICAgICAgICAoaWQpID0+IENBVEVHT1JJRVMuc29tZSgoYykgPT4gYy5pZCA9PT0gaWQpLFxuICAgICAgKSxcbiAgICBbXSxcbiAgKTtcblxuICBjb25zdCBoYW5kbGVTaGFyZSA9IGFzeW5jICgpID0+IHtcbiAgICBpZiAoc2VsZWN0ZWRQYXJ0cy5sZW5ndGggPT09IDApIHtcbiAgICAgIHNldFNoYXJlU3RhdHVzKFwiQWRkIGEgZmV3IHBhcnRzIGJlZm9yZSBzaGFyaW5nIHlvdXIgYnVpbGQuXCIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGxpbmVzOiBzdHJpbmdbXSA9IFtdO1xuICAgIGxpbmVzLnB1c2goXCJTaGFkb3cgU3RhbmRhcmQg4oCUIFRoZSBBcm1vcnkgQnVpbGRcIik7XG4gICAgbGluZXMucHVzaChcIlwiKTtcbiAgICBsaW5lcy5wdXNoKGBUb3RhbDogJCR7dG90YWxQcmljZS50b0ZpeGVkKDIpfWApO1xuICAgIGxpbmVzLnB1c2goXCJcIik7XG5cbiAgICBzdW1tYXJ5Q2F0ZWdvcnlPcmRlci5mb3JFYWNoKChjYXRlZ29yeUlkKSA9PiB7XG4gICAgICBjb25zdCBjYXQgPSBDQVRFR09SSUVTLmZpbmQoKGMpID0+IGMuaWQgPT09IGNhdGVnb3J5SWQpO1xuICAgICAgaWYgKCFjYXQpIHJldHVybjtcblxuICAgICAgY29uc3Qgc2VsZWN0ZWRQYXJ0SWQgPSBidWlsZFtjYXQuaWRdO1xuICAgICAgY29uc3QgcGFydCA9IHBhcnRzLmZpbmQoXG4gICAgICAgIChwKSA9PiBwLmlkID09PSBzZWxlY3RlZFBhcnRJZCAmJiBwLmNhdGVnb3J5SWQgPT09IGNhdC5pZCxcbiAgICAgICk7XG5cbiAgICAgIGlmIChwYXJ0KSB7XG4gICAgICAgIGxpbmVzLnB1c2goXG4gICAgICAgICAgYCR7Y2F0Lm5hbWV9OiAke3BhcnQuYnJhbmR9IOKAlCAke3BhcnQubmFtZX0gKCQke3BhcnQucHJpY2UudG9GaXhlZChcbiAgICAgICAgICAgIDIsXG4gICAgICAgICAgKX0pYCxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxpbmVzLnB1c2goYCR7Y2F0Lm5hbWV9OiBbTm90IHNlbGVjdGVkXWApO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgY29uc3QgdGV4dCA9IGxpbmVzLmpvaW4oXCJcXG5cIik7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbmF2aWdhdG9yLmNsaXBib2FyZC53cml0ZVRleHQodGV4dCk7XG4gICAgICBzZXRTaGFyZVN0YXR1cyhcIkJ1aWxkIHN1bW1hcnkgY29waWVkIHRvIGNsaXBib2FyZC5cIik7XG4gICAgfSBjYXRjaCB7XG4gICAgICBzZXRTaGFyZVN0YXR1cyhcbiAgICAgICAgXCJDb3VsZCBub3QgYWNjZXNzIGNsaXBib2FyZC4gWW91IGNhbiBjb3B5IGZyb20gdGhlIGJ1aWxkIHN1bW1hcnkgcGFnZS5cIixcbiAgICAgICk7XG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNvcHlMaW5rID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghc2hhcmVVcmwpIHtcbiAgICAgIHNldFNoYXJlU3RhdHVzKFwiTm8gc2hhcmVhYmxlIGxpbmsgYXZhaWxhYmxlIHlldC5cIik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG5hdmlnYXRvci5jbGlwYm9hcmQud3JpdGVUZXh0KHNoYXJlVXJsKTtcbiAgICAgIHNldFNoYXJlU3RhdHVzKFwiU2hhcmVhYmxlIGxpbmsgY29waWVkIHRvIGNsaXBib2FyZC5cIik7XG4gICAgfSBjYXRjaCB7XG4gICAgICBzZXRTaGFyZVN0YXR1cyhcIkNvdWxkIG5vdCBjb3B5IGxpbmsgdG8gY2xpcGJvYXJkLlwiKTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlTmF0aXZlU2hhcmUgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFzaGFyZVVybCkge1xuICAgICAgc2V0U2hhcmVTdGF0dXMoXCJObyBzaGFyZWFibGUgbGluayBhdmFpbGFibGUgeWV0LlwiKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobmF2aWdhdG9yLnNoYXJlKSB7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBuYXZpZ2F0b3Iuc2hhcmUoe1xuICAgICAgICAgIHRpdGxlOiBcIlNoYWRvdyBTdGFuZGFyZCDigJQgVGhlIEFybW9yeSBCdWlsZFwiLFxuICAgICAgICAgIHRleHQ6IFwiQ2hlY2sgb3V0IG15IFNoYWRvdyBTdGFuZGFyZCBBcm1vcnkgYnVpbGQuXCIsXG4gICAgICAgICAgdXJsOiBzaGFyZVVybCxcbiAgICAgICAgfSk7XG4gICAgICAgIHNldFNoYXJlU3RhdHVzKFwiU2hhcmUgZGlhbG9nIG9wZW5lZC5cIik7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgLy8gVXNlciBjYW5jZWxlZCBvciBzaGFyZSBmYWlsZWQ7IGtlZXAgaXQgcXVpZXQgYnV0IGxldCB0aGVtIGtub3dcbiAgICAgICAgc2V0U2hhcmVTdGF0dXMoXCJTaGFyZSBjYW5jZWxlZCBvciB1bmF2YWlsYWJsZS4gWW91IGNhbiBjb3B5IHRoZSBsaW5rIGluc3RlYWQuXCIpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBGYWxsYmFjayB0byBjb3B5aW5nIHRoZSBsaW5rXG4gICAgICBhd2FpdCBoYW5kbGVDb3B5TGluaygpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxtYWluIGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlbiBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYm9yZGVyLWIgYm9yZGVyLWFtYmVyLTUwMC8yMCBiZy1hbWJlci01MDAvNVwiPlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgZmxleC1jb2wgZ2FwLTEgcHgtNCBweS0yIHRleHQtWzAuNzVyZW1dIHRleHQtYW1iZXItMTAwIG1kOmZsZXgtcm93IG1kOml0ZW1zLWNlbnRlciBtZDpqdXN0aWZ5LWJldHdlZW5cIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0yXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJyb3VuZGVkLXNtIGJnLWFtYmVyLTUwMC8yMCBweC0yIHB5LTAuNSB0ZXh0LVswLjY1cmVtXSBmb250LXNlbWlib2xkIHVwcGVyY2FzZSB0cmFja2luZy1bMC4xOGVtXSB0ZXh0LWFtYmVyLTMwMFwiPlxuICAgICAgICAgICAgICBFYXJseSBBY2Nlc3MgQmV0YVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwiaGlkZGVuIHRleHQtYW1iZXItMTAwLzkwIG1kOmlubGluZVwiPlxuICAgICAgICAgICAgICBZb3UmYXBvcztyZSB1c2luZyBhbiBlYXJseS1hY2Nlc3MgcHJvdG90eXBlIG9mIFRoZSBBcm1vcnkuIERhdGEsXG4gICAgICAgICAgICAgIHByaWNpbmcsIGFuZCBhdmFpbGFibGUgcGFydHMgYXJlIHN0aWxsIGV2b2x2aW5nLlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtYW1iZXItMTAwLzkwIG1kOmhpZGRlblwiPlxuICAgICAgICAgICAgRWFybHktYWNjZXNzIHByb3RvdHlwZS4gRGF0YSBhbmQgcHJpY2luZyBtYXkgY2hhbmdlLlxuICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBtYXgtdy02eGwgcHgtNCBweS02IGxnOnB5LTEwXCI+XG4gICAgICAgIHsvKiBIZWFkZXIgKi99XG4gICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwibWItNlwiPlxuICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgICAgICBTaGFkb3cgU3RhbmRhcmQgQ28uXG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwibXQtMSB0ZXh0LTJ4bCBtZDp0ZXh0LTN4bCBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0XCI+XG4gICAgICAgICAgICAgIFRoZSBCdWlsZCBCZW5jaDogPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDBcIj5FYXJseSBBY2Nlc3M8L3NwYW4+XG4gICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiB0ZXh0LXNtIHRleHQtemluYy00MDAgbWF4LXcteGxcIj5cbiAgICAgICAgICAgICAgRXhwbG9yZSBjb21wb25lbnRzIGZyb20gdHJ1c3RlZCBicmFuZHMsIGNob29zZSBvbmUgcGFydCBwZXJcbiAgICAgICAgICAgICAgY2F0ZWdvcnksIHRyYWNrIGxpdmUgcHJpY2VzLCBhbmQgd2F0Y2ggeW91ciB0b3RhbCBidWlsZCBjb3N0XG4gICAgICAgICAgICAgIHVwZGF0ZSBhcyB5b3UgZ28uIFRoaXMgZWFybHktYWNjZXNzIGJ1aWxkZXIga2VlcHMgeW91ciBzZXR1cCBzYXZlZFxuICAgICAgICAgICAgICBsb2NhbGx5IHNvIHlvdSBjYW4gY29tZSBiYWNrIGFuZCByZWZpbmUgaXQgYW55dGltZS5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9oZWFkZXI+XG5cbiAgICAgICAgICAgICAgICB7LyogQnVpbGQgc3VtbWFyeSBwYW5lbCAqL31cbiAgICAgICAgICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJtYi02IHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTk1MC84MCBwLTMgbWQ6cC00IGZsZXggZmxleC1jb2wgZ2FwLTMgbWQ6ZmxleC1yb3cgbWQ6aXRlbXMtc3RhcnQgbWQ6anVzdGlmeS1iZXR3ZWVuXCI+XG4gICAgICAgICAgey8qIExlZnQ6IHRpdGxlICsgdG90YWxzICsgcHJpbWFyeSBhY3Rpb25zICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBnYXAtMlwiPlxuICAgICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMTZlbV0gdGV4dC1hbWJlci0zMDBcIj5cbiAgICAgICAgICAgICAgTXkgQnVpbGQgQnJlYWtkb3duXG4gICAgICAgICAgICA8L2gyPlxuICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy00MDBcIj5DdXJyZW50IGJ1aWxkIHRvdGFsPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTMwMFwiPlxuICAgICAgICAgICAgICAgICR7dG90YWxQcmljZS50b0ZpeGVkKDIpfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDAgbXQtMVwiPlxuICAgICAgICAgICAgICAgIHtzZWxlY3RlZFBhcnRzLmxlbmd0aH0gLyB7Q0FURUdPUklFUy5sZW5ndGh9IGNhdGVnb3JpZXMgZmlsbGVkXG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgIHsvKiBQcmltYXJ5IGFjdGlvbnMgbm93IGxpdmUgdW5kZXIgdGhlIHRvdGFsICovfVxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC0yIGZsZXggZmxleC1jb2wgaXRlbXMtc3RyZXRjaCBnYXAtMiBzbTpmbGV4LXJvdyBzbTpmbGV4LXdyYXBcIj5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2d1bmJ1aWxkZXIvYnVpbGRcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YHctZnVsbCBzbTp3LWF1dG8gcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWFtYmVyLTQwMC82MCBiZy1hbWJlci00MDAvMTAgcHgtMyBweS0yIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzE1IHRleHQtY2VudGVyIHRyYW5zaXRpb24tY29sb3JzICR7XG4gICAgICAgICAgICAgICAgICBzZWxlY3RlZFBhcnRzLmxlbmd0aCA9PT0gMFxuICAgICAgICAgICAgICAgICAgICA/IFwib3BhY2l0eS00MCBjdXJzb3Itbm90LWFsbG93ZWQgcG9pbnRlci1ldmVudHMtbm9uZVwiXG4gICAgICAgICAgICAgICAgICAgIDogXCJcIlxuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgQnVpbGQgU3VtbWFyeVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVTaGFyZX1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2B3LWZ1bGwgc206dy1hdXRvIHJvdW5kZWQtbWQgcHgtMyBweS0yIHRleHQtc20gZm9udC1zZW1pYm9sZCB0cmFuc2l0aW9uLWNvbG9ycyBib3JkZXIgJHtcbiAgICAgICAgICAgICAgICAgIHNlbGVjdGVkUGFydHMubGVuZ3RoID09PSAwXG4gICAgICAgICAgICAgICAgICAgID8gXCJiZy16aW5jLTkwMC84MCB0ZXh0LXppbmMtNjAwIGJvcmRlci16aW5jLTgwMCBjdXJzb3Itbm90LWFsbG93ZWRcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiYmctemluYy05MDAvODAgdGV4dC16aW5jLTIwMCBib3JkZXItemluYy03MDAgaG92ZXI6YmctemluYy04MDBcIlxuICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZFBhcnRzLmxlbmd0aCA9PT0gMH1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIENvcHkgQnVpbGQgU3VtbWFyeVxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgICAgIHNldEJ1aWxkKHt9KTtcbiAgICAgICAgICAgICAgICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFNUT1JBR0VfS0VZKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZFBhcnRzLmxlbmd0aCA9PT0gMH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2B3LWZ1bGwgc206dy1hdXRvIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTcwMCBiZy16aW5jLTkwMC81MCBweC0zIHB5LTIgdGV4dC1zbSBmb250LW1lZGl1bSB0ZXh0LXppbmMtMzAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTYwMCB0cmFuc2l0aW9uLWNvbG9ycyAke1xuICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRQYXJ0cy5sZW5ndGggPT09IDAgPyBcIm9wYWNpdHktNDAgY3Vyc29yLW5vdC1hbGxvd2VkXCIgOiBcIlwiXG4gICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBDbGVhciBCdWlsZFxuICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgey8qIFJpZ2h0OiBTaGFyZSBZb3VyIEJ1aWxkICovfVxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBmbGV4LWNvbCBnYXAtMyBtZDppdGVtcy1lbmQgbWQ6dGV4dC1yaWdodCBtZDpmbGV4LTFcIj5cbiAgICAgICAgICAgIHtzZWxlY3RlZFBhcnRzLmxlbmd0aCA+IDAgJiYgc2hhcmVVcmwgJiYgKFxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBtZDp3LWF1dG9cIj5cbiAgICAgICAgICAgICAgICA8aDMgY2xhc3NOYW1lPVwidGV4dC1bMC43cmVtXSBmb250LXNlbWlib2xkIHVwcGVyY2FzZSB0cmFja2luZy1bMC4xNmVtXSB0ZXh0LXppbmMtNDAwXCI+XG4gICAgICAgICAgICAgICAgICBTaGFyZSBZb3VyIEJ1aWxkXG4gICAgICAgICAgICAgICAgPC9oMz5cbiAgICAgICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0xIHRleHQtWzAuN3JlbV0gdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgICAgICAgICAgU2hhcmUgdGhpcyBsaW5rIHRvIGxldCBvdGhlcnMgdmlldyB5b3VyIGJ1aWxkIG9yIGJvb2ttYXJrIGl0IHRvIGNvbWVcbiAgICAgICAgICAgICAgICAgIGJhY2sgbGF0ZXIuXG4gICAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXQtMiBmbGV4IGZsZXgtY29sIGdhcC0yIG1kOmZsZXgtcm93IG1kOml0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4LTFcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LVswLjY1cmVtXSB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMTZlbV0gdGV4dC16aW5jLTUwMCBtYi0xXCI+XG4gICAgICAgICAgICAgICAgICAgICAgU2hhcmVhYmxlIFVSTFxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgIHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3NoYXJlVXJsfVxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05NTAvODAgcHgtMiBweS0xLjUgdGV4dC1bMC43cmVtXSB0ZXh0LXppbmMtMjAwIGZvbnQtbW9ubyBvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGdhcC0yIG1kOmZsZXgtbm9uZSBtZDptdC01XCI+XG4gICAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVOYXRpdmVTaGFyZX1cbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJmbGV4LTEgbWQ6ZmxleC1ub25lIHJvdW5kZWQtbWQgYmctemluYy05MDAvODAgcHgtMyBweS0xLjUgdGV4dC1bMC43NXJlbV0gZm9udC1zZW1pYm9sZCB0ZXh0LXppbmMtMTAwIGJvcmRlciBib3JkZXItemluYy03MDAgaG92ZXI6YmctemluYy04MDAgaG92ZXI6Ym9yZGVyLXppbmMtNTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIFNoYXJlXG4gICAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ29weUxpbmt9XG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiZmxleC0xIG1kOmZsZXgtbm9uZSByb3VuZGVkLW1kIGJnLWFtYmVyLTQwMCBweC0zIHB5LTEuNSB0ZXh0LVswLjc1cmVtXSBmb250LXNlbWlib2xkIHRleHQtYmxhY2sgaG92ZXI6YmctYW1iZXItMzAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIENvcHkgTGlua1xuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgIHtzaGFyZVN0YXR1cyAmJiAoXG4gICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTEgdGV4dC1bMC43cmVtXSB0ZXh0LXppbmMtNTAwXCI+XG4gICAgICAgICAgICAgICAge3NoYXJlU3RhdHVzfVxuICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3NlY3Rpb24+XG5cbiAgICAgICAgey8qIExheW91dCAqL31cbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwicm91bmRlZC1sZyBib3JkZXIgYm9yZGVyLXppbmMtODAwIGJnLXppbmMtOTUwLzYwIHAtMyBtZDpwLTRcIj5cbiAgICAgICAgICA8cCBjbGFzc05hbWU9XCJtYi00IHRleHQteHMgdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgICAgV29yayB0b3AtZG93biB0aHJvdWdoIHRoZSBtYWpvciBzZWN0aW9ucy4gRWFjaCByb3cgc2hvd3MgeW91clxuICAgICAgICAgICAgY3VycmVudCBwaWNrIGZvciB0aGF0IHBhcnQgdHlwZSwgd2l0aCBwcmljZSBhbmQgYSBkaXJlY3QgYnV5XG4gICAgICAgICAgICBsaW5r4oCUb3IgYSBxdWljayB3YXkgdG8gY2hvb3NlIGEgcGFydCBpZiB5b3UgaGF2ZW4mYXBvczt0IHBpY2tlZFxuICAgICAgICAgICAgb25lIHlldC5cbiAgICAgICAgICA8L3A+XG5cbiAgICAgICAgICB7bG9hZGluZyAmJiAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtemluYy01MDBcIj5cbiAgICAgICAgICAgICAgTG9hZGluZyBwYXJ0cyBmcm9tIGJhY2tlbmTigKZcbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICApfVxuICAgICAgICAgIHtlcnJvciAmJiAhbG9hZGluZyAmJiAoXG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9XCJ0ZXh0LXNtIHRleHQtcmVkLTQwMFwiPlxuICAgICAgICAgICAgICB7ZXJyb3J9IOKAlCBjaGVjayB0aGF0IHRoZSBCYWxsaXN0aWMgQVBJIGlzIHJ1bm5pbmcgYW5kIENPUlMgaXNcbiAgICAgICAgICAgICAgY29uZmlndXJlZC5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgeyFsb2FkaW5nICYmICFlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktNlwiPlxuICAgICAgICAgICAgICB7Q0FURUdPUllfR1JPVVBTLm1hcCgoZ3JvdXApID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBncm91cENhdGVnb3JpZXMgPSBDQVRFR09SSUVTLmZpbHRlcigoYykgPT5cbiAgICAgICAgICAgICAgICAgIGdyb3VwLmNhdGVnb3J5SWRzLmluY2x1ZGVzKGMuaWQgYXMgQ2F0ZWdvcnlJZCksXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGlmIChncm91cENhdGVnb3JpZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPGRpdiBrZXk9e2dyb3VwLmlkfSBjbGFzc05hbWU9XCJzcGFjZS15LTNcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJmbGV4IGl0ZW1zLWJhc2VsaW5lIGp1c3RpZnktYmV0d2VlbiBnYXAtMlwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtemluYy0xMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2dyb3VwLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtncm91cC5kZXNjcmlwdGlvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTUwMCBtdC0xIG1heC13LXhsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2dyb3VwLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm92ZXJmbG93LXgtYXV0byByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05NTAvODBcIj5cbiAgICAgICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3NOYW1lPVwibWluLXctZnVsbCB0ZXh0LXhzIG1kOnRleHQtc21cIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHRyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTkwMC82MFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aCBjbGFzc05hbWU9XCJweC0zIHB5LTIgdGV4dC1sZWZ0IGZvbnQtc2VtaWJvbGQgdGV4dC16aW5jLTQwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcG9uZW50IC8gUGFydCBUeXBlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtMyBweS0yIHRleHQtbGVmdCBmb250LXNlbWlib2xkIHRleHQtemluYy00MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyYW5kXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtMyBweS0yIHRleHQtcmlnaHQgZm9udC1zZW1pYm9sZCB0ZXh0LXppbmMtNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTMgcHktMiB0ZXh0LXJpZ2h0IGZvbnQtc2VtaWJvbGQgdGV4dC16aW5jLTQwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU2FsZSBQcmljZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoIGNsYXNzTmFtZT1cInB4LTMgcHktMiB0ZXh0LWxlZnQgZm9udC1zZW1pYm9sZCB0ZXh0LXppbmMtNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDYWxpYmVyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGggY2xhc3NOYW1lPVwicHgtMyBweS0yIHRleHQtcmlnaHQgZm9udC1zZW1pYm9sZCB0ZXh0LXppbmMtNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXkgLyBDaG9vc2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAge2dyb3VwQ2F0ZWdvcmllcy5tYXAoKGNhdGVnb3J5KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2F0ZWdvcnlQYXJ0cyA9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0c0J5Q2F0ZWdvcnlbY2F0ZWdvcnkuaWRdID8/IFtdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFydElkID0gYnVpbGRbY2F0ZWdvcnkuaWRdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkUGFydCA9IGNhdGVnb3J5UGFydHMuZmluZChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwKSA9PiBwLmlkID09PSBzZWxlY3RlZFBhcnRJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGhhc1BhcnRzID0gY2F0ZWdvcnlQYXJ0cy5sZW5ndGggPiAwO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2NhdGVnb3J5LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJib3JkZXItdCBib3JkZXItemluYy05MDAgaG92ZXI6YmctemluYy05MDAvNjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7LyogQ29tcG9uZW50IC8gUGFydCBUeXBlICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3NOYW1lPVwicHgtMyBweS0yIGFsaWduLXRvcFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZm9udC1tZWRpdW0gdGV4dC16aW5jLTEwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge2NhdGVnb3J5Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3NlbGVjdGVkUGFydCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGV4dC1bMC43cmVtXSB0ZXh0LXppbmMtNTAwIGxpbmUtY2xhbXAtMVwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2VsZWN0ZWRQYXJ0Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogaGFzUGFydHMgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRleHQtWzAuN3JlbV0gdGV4dC16aW5jLTYwMFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBObyBwYXJ0IHNlbGVjdGVkXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0ZXh0LVswLjdyZW1dIHRleHQtemluYy02MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTm8gcGFydHMgYXZhaWxhYmxlIHlldFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7LyogQnJhbmQgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJweC0zIHB5LTIgYWxpZ24tdG9wIHRleHQtemluYy0zMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2VsZWN0ZWRQYXJ0ID8gc2VsZWN0ZWRQYXJ0LmJyYW5kIDogXCLigJRcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7LyogUHJpY2UgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJweC0zIHB5LTIgYWxpZ24tdG9wIHRleHQtcmlnaHQgdGV4dC1hbWJlci0zMDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7c2VsZWN0ZWRQYXJ0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IGAkJHtzZWxlY3RlZFBhcnQucHJpY2UudG9GaXhlZCgyKX1gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IFwi4oCUXCJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFNhbGUgUHJpY2UgKHBsYWNlaG9sZGVyIHVudGlsIHdlIHdpcmUgdGhyb3VnaCBzYWxlL29yaWdpbmFsKSAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTMgcHktMiBhbGlnbi10b3AgdGV4dC1yaWdodCB0ZXh0LXppbmMtNDAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIFRPRE86IHdpcmUgaW4gc2FsZS9vcmlnaW5hbCBwcmljZXMgZnJvbSBiYWNrZW5kICovfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZFBhcnQgPyBcIuKAlFwiIDogXCLigJRcIn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7LyogQ2FsaWJlciAocGxhY2Vob2xkZXIgZm9yIG5vdykgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCBjbGFzc05hbWU9XCJweC0zIHB5LTIgYWxpZ24tdG9wIHRleHQtemluYy00MDBcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7LyogVE9ETzogd2lyZSBpbiBjYWxpYmVyIGZyb20gUHJvZHVjdFN1bW1hcnlEdG8gd2hlbiBhdmFpbGFibGUgKi99XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCUXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgey8qIEJ1eSAvIENob29zZSAqL31cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzTmFtZT1cInB4LTMgcHktMiBhbGlnbi10b3BcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1lbmQgZ2FwLTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtzZWxlY3RlZFBhcnQgJiYgc2VsZWN0ZWRQYXJ0LnVybCA/IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YC9ndW5idWlsZGVyLyR7Y2F0ZWdvcnkuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cImhpZGRlbiBtZDppbmxpbmUtZmxleCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNzAgcHgtMi41IHB5LTEgdGV4dC1bMC43cmVtXSBmb250LW1lZGl1bSB0ZXh0LXppbmMtMzAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTYwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbmdlIFBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhyZWY9e3NlbGVjdGVkUGFydC51cmx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCByb3VuZGVkLW1kIGJnLWFtYmVyLTQwMCBweC0yLjUgcHktMSB0ZXh0LVswLjdyZW1dIGZvbnQtc2VtaWJvbGQgdGV4dC1ibGFjayBob3ZlcjpiZy1hbWJlci0zMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1eVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApIDogaGFzUGFydHMgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YC9ndW5idWlsZGVyLyR7Y2F0ZWdvcnkuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNzAgcHgtMi41IHB5LTEgdGV4dC1bMC43cmVtXSBmb250LW1lZGl1bSB0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTYwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWYgeW91IHdhbnQgdG8gcHJlLXNlbGVjdCBzb21ldGhpbmcgbGF0ZXIsIHlvdSBjYW4gaGFuZGxlIGhlcmUuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENob29zZSBhIFBhcnRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1bMC43cmVtXSB0ZXh0LXppbmMtNjAwXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCUXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgICAgICAgICAgICA8L3RhYmxlPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9zZWN0aW9uPlxuXG4gICAgICAgIHsvKiBXaGF0J3MgTmV3ICovfVxuICAgICAgICA8c2VjdGlvbiBjbGFzc05hbWU9XCJtdC04IHJvdW5kZWQtbGcgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTk1MC84MCBwLTMgbWQ6cC00XCI+XG4gICAgICAgICAgPGgyIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1zZW1pYm9sZCB1cHBlcmNhc2UgdHJhY2tpbmctWzAuMTZlbV0gdGV4dC1hbWJlci0zMDBcIj5cbiAgICAgICAgICAgIFdoYXQmYXBvcztzIE5ldyBpbiBFYXJseSBBY2Nlc3NcbiAgICAgICAgICA8L2gyPlxuICAgICAgICAgIDx1bCBjbGFzc05hbWU9XCJtdC0yIHNwYWNlLXktMSB0ZXh0LXNtIHRleHQtemluYy00MDBcIj5cbiAgICAgICAgICAgIDxsaT7igKIgTGl2ZSBwYXJ0cyBhbmQgcHJpY2luZyBwdWxsZWQgZnJvbSBtdWx0aXBsZSBtZXJjaGFudHMuPC9saT5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAg4oCiIEdyb3VwZWQgbGF5b3V0IGZvciBsb3dlciBhbmQgdXBwZXIgcmVjZWl2ZXIgcGFydHMgc28geW91IGNhbiBzZWVcbiAgICAgICAgICAgICAgYXQgYSBnbGFuY2Ugd2hpY2ggc2VjdGlvbnMgb2YgeW91ciBidWlsZCBhcmUgc3RpbGwgbWlzc2luZy5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgICAgICA8bGk+XG4gICAgICAgICAgICAgIOKAoiBSdW5uaW5nIGJ1aWxkIHRvdGFsIHRoYXQgdXBkYXRlcyBhdXRvbWF0aWNhbGx5IGFzIHlvdSBhZGQgb3JcbiAgICAgICAgICAgICAgc3dhcCBjb21wb25lbnRzLlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgIDxsaT5cbiAgICAgICAgICAgICAg4oCiIExvY2FsIGJ1aWxkIHBlcnNpc3RlbmNlIHNvIHlvdXIgc2VsZWN0aW9ucyBzdGljayBhcm91bmQgYmV0d2VlblxuICAgICAgICAgICAgICB2aXNpdHMgb24gdGhpcyBkZXZpY2UuXG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvc2VjdGlvbj5cblxuICAgICAgICB7LyogUm9hZG1hcCAqL31cbiAgICAgICAgPHNlY3Rpb24gY2xhc3NOYW1lPVwibXQtOCByb3VuZGVkLWxnIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05NTAvODAgcC0zIG1kOnAtNFwiPlxuICAgICAgICAgIDxoMiBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdXBwZXJjYXNlIHRyYWNraW5nLVswLjE2ZW1dIHRleHQtYW1iZXItMzAwXCI+XG4gICAgICAgICAgICBXaGF0JmFwb3M7cyBvbiBvdXIgcm9hZG1hcFxuICAgICAgICAgIDwvaDI+XG4gICAgICAgICAgPHVsIGNsYXNzTmFtZT1cIm10LTIgc3BhY2UteS0xIHRleHQtc20gdGV4dC16aW5jLTQwMFwiPlxuICAgICAgICAgICAgPGxpPuKAoiBQbGF0Zm9ybSBmaWx0ZXJzIChBUi0xNSwgQVItOSwgQVItMTApPC9saT5cbiAgICAgICAgICAgIDxsaT7igKIgTW9yZSBwYXJ0IGNhdGVnb3JpZXMgYW5kIGZ1cm5pdHVyZTwvbGk+XG4gICAgICAgICAgICA8bGk+4oCiIFJpY2hlciBwcmljaW5nL3N0b2NrIHN5bmM8L2xpPlxuICAgICAgICAgICAgPGxpPuKAoiBTbWFydGVyIGNvbXBhdGliaWxpdHkgY2hlY2tzIGJldHdlZW4gY29tcG9uZW50czwvbGk+XG4gICAgICAgICAgICA8bGk+4oCiIEFSOS9BUjEwIHN1cHBvcnQgYW5kIG1vcmU8L2xpPlxuICAgICAgICAgIDwvdWw+XG4gICAgICAgIDwvc2VjdGlvbj5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgKTtcbn0iXSwibmFtZXMiOlsidXNlTWVtbyIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiTGluayIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVJvdXRlciIsIkNBVEVHT1JJRVMiLCJQQVJUX1JPTEVfVE9fQ0FURUdPUlkiLCJBUElfQkFTRV9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMIiwiU1RPUkFHRV9LRVkiLCJDQVRFR09SWV9HUk9VUFMiLCJpZCIsImxhYmVsIiwiZGVzY3JpcHRpb24iLCJjYXRlZ29yeUlkcyIsIkd1bmJ1aWxkZXJQYWdlIiwic2VhcmNoUGFyYW1zIiwicm91dGVyIiwicGFydHMiLCJzZXRQYXJ0cyIsImxvYWRpbmciLCJzZXRMb2FkaW5nIiwiZXJyb3IiLCJzZXRFcnJvciIsImJ1aWxkIiwic2V0QnVpbGQiLCJzdG9yZWQiLCJsb2NhbFN0b3JhZ2UiLCJnZXRJdGVtIiwiSlNPTiIsInBhcnNlIiwic2hhcmVTdGF0dXMiLCJzZXRTaGFyZVN0YXR1cyIsInNoYXJlVXJsIiwic2V0U2hhcmVVcmwiLCJjb250cm9sbGVyIiwiQWJvcnRDb250cm9sbGVyIiwiZmV0Y2hQcm9kdWN0cyIsInJlcyIsImZldGNoIiwic2lnbmFsIiwib2siLCJFcnJvciIsInN0YXR1cyIsImRhdGEiLCJqc29uIiwibm9ybWFsaXplZCIsIm1hcCIsInAiLCJjYXRlZ29yeUlkIiwicGFydFJvbGUiLCJTdHJpbmciLCJuYW1lIiwiYnJhbmQiLCJwcmljZSIsImltYWdlVXJsIiwibWFpbkltYWdlVXJsIiwidW5kZWZpbmVkIiwidXJsIiwiYnV5VXJsIiwibm90ZXMiLCJmaWx0ZXIiLCJlcnIiLCJtZXNzYWdlIiwiYWJvcnQiLCJzZWxlY3RQYXJhbSIsImdldCIsInBhcnRJZCIsInNwbGl0Iiwic29tZSIsImMiLCJwcmV2IiwidXBkYXRlZCIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJyZXBsYWNlIiwic2Nyb2xsIiwicGFydHNCeUNhdGVnb3J5IiwiZ3JvdXBlZCIsImNhdGVnb3J5Iiwic2VsZWN0ZWRQYXJ0cyIsIk9iamVjdCIsImVudHJpZXMiLCJmaW5kIiwiQm9vbGVhbiIsInRvdGFsUHJpY2UiLCJyZWR1Y2UiLCJzdW0iLCJrZXlzIiwibGVuZ3RoIiwicGF5bG9hZCIsImVuY29kZWQiLCJ3aW5kb3ciLCJidG9hIiwib3JpZ2luIiwibG9jYXRpb24iLCJlbmNvZGVVUklDb21wb25lbnQiLCJoYW5kbGVTZWxlY3RQYXJ0Iiwic3VtbWFyeUNhdGVnb3J5T3JkZXIiLCJmbGF0TWFwIiwiZ3JvdXAiLCJoYW5kbGVTaGFyZSIsImxpbmVzIiwicHVzaCIsInRvRml4ZWQiLCJmb3JFYWNoIiwiY2F0Iiwic2VsZWN0ZWRQYXJ0SWQiLCJwYXJ0IiwidGV4dCIsImpvaW4iLCJuYXZpZ2F0b3IiLCJjbGlwYm9hcmQiLCJ3cml0ZVRleHQiLCJoYW5kbGVDb3B5TGluayIsImhhbmRsZU5hdGl2ZVNoYXJlIiwic2hhcmUiLCJ0aXRsZSIsIm1haW4iLCJjbGFzc05hbWUiLCJkaXYiLCJzcGFuIiwiaGVhZGVyIiwiaDEiLCJzZWN0aW9uIiwiaDIiLCJocmVmIiwiYnV0dG9uIiwidHlwZSIsIm9uQ2xpY2siLCJkaXNhYmxlZCIsInJlbW92ZUl0ZW0iLCJoMyIsImlucHV0IiwicmVhZE9ubHkiLCJ2YWx1ZSIsImdyb3VwQ2F0ZWdvcmllcyIsImluY2x1ZGVzIiwidGFibGUiLCJ0aGVhZCIsInRyIiwidGgiLCJ0Ym9keSIsImNhdGVnb3J5UGFydHMiLCJzZWxlY3RlZFBhcnQiLCJoYXNQYXJ0cyIsInRkIiwiYSIsInRhcmdldCIsInJlbCIsInVsIiwibGkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./app/gunbuilder/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n token,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 183,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FFO1FBQ0FFO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgdG9rZW46IHN0cmluZyB8IG51bGw7IFxuICBsb2FkaW5nOiBib29sZWFuOyAvLyBjb3ZlcnMgaW5pdGlhbCBoeWRyYXRlICsgYWN0aXZlIGF1dGggcmVxdWVzdHNcbiAgbG9naW46IChwYXJhbXM6IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWdpc3RlcjogKHBhcmFtczoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgbG9nb3V0OiAoKSA9PiB2b2lkO1xuICBnZXRBdXRoSGVhZGVyczogKCkgPT4gSGVhZGVyc0luaXQ7XG59O1xuXG5jb25zdCBBdXRoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8QXV0aENvbnRleHRWYWx1ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuY29uc3QgVE9LRU5fS0VZID0gXCJiYWxsaXN0aWNfYXV0aF90b2tlblwiO1xuY29uc3QgVVNFUl9LRVkgPSBcImJhbGxpc3RpY19hdXRoX3VzZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEF1dGhQcm92aWRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPEF1dGhVc2VyPihudWxsKTtcbiAgY29uc3QgW3Rva2VuLCBzZXRUb2tlbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7IC8vIHN0YXJ0IHRydWUgd2hpbGUgd2UgaHlkcmF0ZSArIHJldXNlIGZvciBjYWxsc1xuXG4gIC8vIGh5ZHJhdGUgZnJvbSBsb2NhbFN0b3JhZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcblxuICAgICAgY29uc3Qgc3RvcmVkVG9rZW4gPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVE9LRU5fS0VZKTtcbiAgICAgIGNvbnN0IHN0b3JlZFVzZXIgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVVNFUl9LRVkpO1xuXG4gICAgICBpZiAoc3RvcmVkVG9rZW4gJiYgc3RvcmVkVXNlcikge1xuICAgICAgICBzZXRUb2tlbihzdG9yZWRUb2tlbik7XG4gICAgICAgIHNldFVzZXIoSlNPTi5wYXJzZShzdG9yZWRVc2VyKSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3Qgc2V0U2Vzc2lvbiA9IHVzZUNhbGxiYWNrKChuZXdUb2tlbjogc3RyaW5nLCBuZXdVc2VyOiBBdXRoVXNlcikgPT4ge1xuICAgIHNldFRva2VuKG5ld1Rva2VuKTtcbiAgICBzZXRVc2VyKG5ld1VzZXIpO1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShUT0tFTl9LRVksIG5ld1Rva2VuKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShVU0VSX0tFWSwgSlNPTi5zdHJpbmdpZnkobmV3VXNlcikpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU2Vzc2lvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRUb2tlbihudWxsKTtcbiAgICBzZXRVc2VyKG51bGwpO1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVE9LRU5fS0VZKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShVU0VSX0tFWSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVnaXN0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmc7IGRpc3BsYXlOYW1lPzogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL3JlZ2lzdGVyYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBwYXJhbXMuZGlzcGxheU5hbWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRleHQgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGFjY291bnRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9naW4gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFX1VSTH0vYXBpL2F1dGgvbG9naW5gLCB7XG4gICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGVtYWlsOiBwYXJhbXMuZW1haWwsXG4gICAgICAgICAgICBwYXNzd29yZDogcGFyYW1zLnBhc3N3b3JkLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGxvZyBpblwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IHtcbiAgICAgICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgcm9sZTogc3RyaW5nO1xuICAgICAgICB9ID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICBzZXRTZXNzaW9uKGRhdGEudG9rZW4sIHtcbiAgICAgICAgICBlbWFpbDogZGF0YS5lbWFpbCxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogZGF0YS5kaXNwbGF5TmFtZSA/PyBudWxsLFxuICAgICAgICAgIHJvbGU6IGRhdGEucm9sZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRTZXNzaW9uXSxcbiAgKTtcblxuICBjb25zdCBsb2dvdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY2xlYXJTZXNzaW9uKCk7XG4gIH0sIFtjbGVhclNlc3Npb25dKTtcblxuICBjb25zdCBnZXRBdXRoSGVhZGVycyA9IHVzZUNhbGxiYWNrKCgpOiBIZWFkZXJzSW5pdCA9PiB7XG4gICAgaWYgKCF0b2tlbikgcmV0dXJuIHt9O1xuICAgIHJldHVybiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICB9O1xuICB9LCBbdG9rZW5dKTtcblxuICBjb25zdCB2YWx1ZTogQXV0aENvbnRleHRWYWx1ZSA9IHtcbiAgICB1c2VyLFxuICAgIHRva2VuLFxuICAgIGxvYWRpbmcsXG4gICAgbG9naW4sXG4gICAgcmVnaXN0ZXIsXG4gICAgbG9nb3V0LFxuICAgIGdldEF1dGhIZWFkZXJzLFxuICB9O1xuXG4gIHJldHVybiA8QXV0aENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9BdXRoQ29udGV4dC5Qcm92aWRlcj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VBdXRoKCk6IEF1dGhDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KEF1dGhDb250ZXh0KTtcbiAgaWYgKCFjdHgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VBdXRoIG11c3QgYmUgdXNlZCB3aXRoaW4gYW4gQXV0aFByb3ZpZGVyXCIpO1xuICB9XG4gIHJldHVybiBjdHg7XG59Il0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkFQSV9CQVNFX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwiLCJBdXRoQ29udGV4dCIsInVuZGVmaW5lZCIsIlRPS0VOX0tFWSIsIlVTRVJfS0VZIiwiQXV0aFByb3ZpZGVyIiwiY2hpbGRyZW4iLCJ1c2VyIiwic2V0VXNlciIsInRva2VuIiwic2V0VG9rZW4iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInN0b3JlZFRva2VuIiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInN0b3JlZFVzZXIiLCJKU09OIiwicGFyc2UiLCJzZXRTZXNzaW9uIiwibmV3VG9rZW4iLCJuZXdVc2VyIiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImNsZWFyU2Vzc2lvbiIsInJlbW92ZUl0ZW0iLCJyZWdpc3RlciIsInBhcmFtcyIsInJlcyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJlbWFpbCIsInBhc3N3b3JkIiwiZGlzcGxheU5hbWUiLCJvayIsInRleHQiLCJFcnJvciIsImRhdGEiLCJqc29uIiwicm9sZSIsImxvZ2luIiwibG9nb3V0IiwiZ2V0QXV0aEhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwidmFsdWUiLCJQcm92aWRlciIsInVzZUF1dGgiLCJjdHgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./data/gunbuilderParts.ts": -/*!*********************************!*\ - !*** ./data/gunbuilderParts.ts ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CATEGORIES: () => (/* binding */ CATEGORIES)\n/* harmony export */ });\nconst CATEGORIES = [\n // LOWER\n {\n id: \"lower\",\n name: \"Stripped Lower Receiver\",\n description: \"Serialized lower – the foundation of the build.\"\n },\n {\n id: \"completeLower\",\n name: \"Complete Lower\",\n description: \"Factory-built lower with stock, buffer system, and controls.\"\n },\n {\n id: \"lowerParts\",\n name: \"Lower Parts Kit\",\n description: \"Pins, springs, and controls for the lower.\"\n },\n {\n id: \"trigger\",\n name: \"Trigger / Fire Control\",\n description: \"Single-stage, two-stage, and match triggers.\"\n },\n {\n id: \"grip\",\n name: \"Pistol Grip\",\n description: \"Grips that shape how the rifle handles.\"\n },\n {\n id: \"safety\",\n name: \"Safety / Selector\",\n description: \"Ambi selectors and control upgrades.\"\n },\n {\n id: \"buffer\",\n name: \"Buffer System\",\n description: \"Buffer tube, buffer, spring, and related parts.\"\n },\n {\n id: \"stock\",\n name: \"Stock / Brace\",\n description: \"Adjustable, fixed, and minimalist stocks.\"\n },\n // UPPER\n {\n id: \"upper\",\n name: \"Stripped Upper Receiver\",\n description: \"The core of the top half of your build.\"\n },\n {\n id: \"completeUpper\",\n name: \"Complete Upper\",\n description: \"Pre-assembled uppers ready to pin and shoot.\"\n },\n {\n id: \"bcg\",\n name: \"Bolt Carrier Group\",\n description: \"The heartbeat of the rifle’s cycling.\"\n },\n {\n id: \"barrel\",\n name: \"Barrel\",\n description: \"Different lengths, profiles, and calibers.\"\n },\n {\n id: \"gasBlock\",\n name: \"Gas Block\",\n description: \"Standard and adjustable gas blocks.\"\n },\n {\n id: \"gasTube\",\n name: \"Gas Tube\",\n description: \"Carbine, mid, rifle, and more.\"\n },\n {\n id: \"muzzleDevice\",\n name: \"Muzzle Device\",\n description: \"Brakes, comps, and flash hiders.\"\n },\n {\n id: \"suppressor\",\n name: \"Suppressor\",\n description: \"Hearing-safe setups and hosts.\"\n },\n {\n id: \"handguard\",\n name: \"Handguard / Rail\",\n description: \"M-LOK rails and front-end furniture.\"\n },\n {\n id: \"chargingHandle\",\n name: \"Charging Handle\",\n description: \"Standard and ambi charging handles.\"\n },\n {\n id: \"sights\",\n name: \"Iron Sights\",\n description: \"Backup and primary irons.\"\n },\n {\n id: \"optic\",\n name: \"Optic\",\n description: \"LPVOs, red dots, and magnifiers.\"\n }\n];\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9kYXRhL2d1bmJ1aWxkZXJQYXJ0cy50cyIsIm1hcHBpbmdzIjoiOzs7O0FBRU8sTUFBTUEsYUFBeUI7SUFDcEMsUUFBUTtJQUNSO1FBQ0VDLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBRUEsUUFBUTtJQUNSO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtJQUNBO1FBQ0VGLElBQUk7UUFDSkMsTUFBTTtRQUNOQyxhQUFhO0lBQ2Y7SUFDQTtRQUNFRixJQUFJO1FBQ0pDLE1BQU07UUFDTkMsYUFBYTtJQUNmO0lBQ0E7UUFDRUYsSUFBSTtRQUNKQyxNQUFNO1FBQ05DLGFBQWE7SUFDZjtDQUNELENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2RhdGEvZ3VuYnVpbGRlclBhcnRzLnRzPzczYWUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBDYXRlZ29yeSwgUGFydCB9IGZyb20gXCJAL3R5cGVzL2d1bmJ1aWxkZXJcIjtcblxuZXhwb3J0IGNvbnN0IENBVEVHT1JJRVM6IENhdGVnb3J5W10gPSBbXG4gIC8vIExPV0VSXG4gIHtcbiAgICBpZDogXCJsb3dlclwiLFxuICAgIG5hbWU6IFwiU3RyaXBwZWQgTG93ZXIgUmVjZWl2ZXJcIixcbiAgICBkZXNjcmlwdGlvbjogXCJTZXJpYWxpemVkIGxvd2VyIOKAkyB0aGUgZm91bmRhdGlvbiBvZiB0aGUgYnVpbGQuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJjb21wbGV0ZUxvd2VyXCIsXG4gICAgbmFtZTogXCJDb21wbGV0ZSBMb3dlclwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkZhY3RvcnktYnVpbHQgbG93ZXIgd2l0aCBzdG9jaywgYnVmZmVyIHN5c3RlbSwgYW5kIGNvbnRyb2xzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwibG93ZXJQYXJ0c1wiLFxuICAgIG5hbWU6IFwiTG93ZXIgUGFydHMgS2l0XCIsXG4gICAgZGVzY3JpcHRpb246IFwiUGlucywgc3ByaW5ncywgYW5kIGNvbnRyb2xzIGZvciB0aGUgbG93ZXIuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJ0cmlnZ2VyXCIsXG4gICAgbmFtZTogXCJUcmlnZ2VyIC8gRmlyZSBDb250cm9sXCIsXG4gICAgZGVzY3JpcHRpb246IFwiU2luZ2xlLXN0YWdlLCB0d28tc3RhZ2UsIGFuZCBtYXRjaCB0cmlnZ2Vycy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImdyaXBcIixcbiAgICBuYW1lOiBcIlBpc3RvbCBHcmlwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiR3JpcHMgdGhhdCBzaGFwZSBob3cgdGhlIHJpZmxlIGhhbmRsZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJzYWZldHlcIixcbiAgICBuYW1lOiBcIlNhZmV0eSAvIFNlbGVjdG9yXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQW1iaSBzZWxlY3RvcnMgYW5kIGNvbnRyb2wgdXBncmFkZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJidWZmZXJcIixcbiAgICBuYW1lOiBcIkJ1ZmZlciBTeXN0ZW1cIixcbiAgICBkZXNjcmlwdGlvbjogXCJCdWZmZXIgdHViZSwgYnVmZmVyLCBzcHJpbmcsIGFuZCByZWxhdGVkIHBhcnRzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwic3RvY2tcIixcbiAgICBuYW1lOiBcIlN0b2NrIC8gQnJhY2VcIixcbiAgICBkZXNjcmlwdGlvbjogXCJBZGp1c3RhYmxlLCBmaXhlZCwgYW5kIG1pbmltYWxpc3Qgc3RvY2tzLlwiLFxuICB9LFxuXG4gIC8vIFVQUEVSXG4gIHtcbiAgICBpZDogXCJ1cHBlclwiLFxuICAgIG5hbWU6IFwiU3RyaXBwZWQgVXBwZXIgUmVjZWl2ZXJcIixcbiAgICBkZXNjcmlwdGlvbjogXCJUaGUgY29yZSBvZiB0aGUgdG9wIGhhbGYgb2YgeW91ciBidWlsZC5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImNvbXBsZXRlVXBwZXJcIixcbiAgICBuYW1lOiBcIkNvbXBsZXRlIFVwcGVyXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUHJlLWFzc2VtYmxlZCB1cHBlcnMgcmVhZHkgdG8gcGluIGFuZCBzaG9vdC5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImJjZ1wiLFxuICAgIG5hbWU6IFwiQm9sdCBDYXJyaWVyIEdyb3VwXCIsXG4gICAgZGVzY3JpcHRpb246IFwiVGhlIGhlYXJ0YmVhdCBvZiB0aGUgcmlmbGXigJlzIGN5Y2xpbmcuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJiYXJyZWxcIixcbiAgICBuYW1lOiBcIkJhcnJlbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkRpZmZlcmVudCBsZW5ndGhzLCBwcm9maWxlcywgYW5kIGNhbGliZXJzLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiZ2FzQmxvY2tcIixcbiAgICBuYW1lOiBcIkdhcyBCbG9ja1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YW5kYXJkIGFuZCBhZGp1c3RhYmxlIGdhcyBibG9ja3MuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJnYXNUdWJlXCIsXG4gICAgbmFtZTogXCJHYXMgVHViZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkNhcmJpbmUsIG1pZCwgcmlmbGUsIGFuZCBtb3JlLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwibXV6emxlRGV2aWNlXCIsXG4gICAgbmFtZTogXCJNdXp6bGUgRGV2aWNlXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQnJha2VzLCBjb21wcywgYW5kIGZsYXNoIGhpZGVycy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcInN1cHByZXNzb3JcIixcbiAgICBuYW1lOiBcIlN1cHByZXNzb3JcIixcbiAgICBkZXNjcmlwdGlvbjogXCJIZWFyaW5nLXNhZmUgc2V0dXBzIGFuZCBob3N0cy5cIixcbiAgfSxcbiAge1xuICAgIGlkOiBcImhhbmRndWFyZFwiLFxuICAgIG5hbWU6IFwiSGFuZGd1YXJkIC8gUmFpbFwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIk0tTE9LIHJhaWxzIGFuZCBmcm9udC1lbmQgZnVybml0dXJlLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwiY2hhcmdpbmdIYW5kbGVcIixcbiAgICBuYW1lOiBcIkNoYXJnaW5nIEhhbmRsZVwiLFxuICAgIGRlc2NyaXB0aW9uOiBcIlN0YW5kYXJkIGFuZCBhbWJpIGNoYXJnaW5nIGhhbmRsZXMuXCIsXG4gIH0sXG4gIHtcbiAgICBpZDogXCJzaWdodHNcIixcbiAgICBuYW1lOiBcIklyb24gU2lnaHRzXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQmFja3VwIGFuZCBwcmltYXJ5IGlyb25zLlwiLFxuICB9LFxuICB7XG4gICAgaWQ6IFwib3B0aWNcIixcbiAgICBuYW1lOiBcIk9wdGljXCIsXG4gICAgZGVzY3JpcHRpb246IFwiTFBWT3MsIHJlZCBkb3RzLCBhbmQgbWFnbmlmaWVycy5cIixcbiAgfSxcbl07XG4iXSwibmFtZXMiOlsiQ0FURUdPUklFUyIsImlkIiwibmFtZSIsImRlc2NyaXB0aW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./data/gunbuilderParts.ts\n"); - -/***/ }), - -/***/ "(ssr)/./data/partRoleMappings.ts": -/*!**********************************!*\ - !*** ./data/partRoleMappings.ts ***! - \**********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ CATEGORY_TO_PART_ROLES: () => (/* binding */ CATEGORY_TO_PART_ROLES),\n/* harmony export */ PART_ROLE_TO_CATEGORY: () => (/* binding */ PART_ROLE_TO_CATEGORY)\n/* harmony export */ });\n// CategoryId -> partRoles\nconst CATEGORY_TO_PART_ROLES = {\n // CORE / EXISTING\n upper: [\n \"upper-receiver\"\n ],\n barrel: [\n \"barrel\"\n ],\n handguard: [\n \"handguard\"\n ],\n chargingHandle: [\n \"charging-handle\"\n ],\n buffer: [\n \"buffer-kit\"\n ],\n lowerParts: [\n \"lower-parts-kit\"\n ],\n sights: [\n \"sight\"\n ],\n lower: [\n \"lower-receiver\"\n ],\n optic: [\n \"optic\"\n ],\n stock: [\n \"stock\"\n ],\n // NEW LOWER PARTS\n trigger: [\n \"trigger\",\n \"trigger-kit\"\n ],\n grip: [\n \"pistol-grip\",\n \"grip\"\n ],\n safety: [\n \"safety\",\n \"safety-selector\"\n ],\n completeLower: [\n \"complete-lower\"\n ],\n // NEW UPPER PARTS\n completeUpper: [\n \"complete-upper\"\n ],\n bcg: [\n \"bcg\",\n \"bolt-carrier-group\"\n ],\n gasBlock: [\n \"gas-block\"\n ],\n gasTube: [\n \"gas-tube\"\n ],\n muzzleDevice: [\n \"muzzle-device\",\n \"compensator\",\n \"brake\"\n ],\n suppressor: [\n \"suppressor\"\n ]\n};\n// Invert to get partRole -> CategoryId\nconst PART_ROLE_TO_CATEGORY = Object.entries(CATEGORY_TO_PART_ROLES).reduce((acc, [categoryId, roles])=>{\n for (const role of roles){\n acc[role] = categoryId;\n }\n return acc;\n}, {});\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9kYXRhL3BhcnRSb2xlTWFwcGluZ3MudHMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSwwQkFBMEI7QUFDbkIsTUFBTUEseUJBQXVEO0lBQ2xFLGtCQUFrQjtJQUNsQkMsT0FBTztRQUFDO0tBQWlCO0lBQ3pCQyxRQUFRO1FBQUM7S0FBUztJQUNsQkMsV0FBVztRQUFDO0tBQVk7SUFDeEJDLGdCQUFnQjtRQUFDO0tBQWtCO0lBQ25DQyxRQUFRO1FBQUM7S0FBYTtJQUN0QkMsWUFBWTtRQUFDO0tBQWtCO0lBQy9CQyxRQUFRO1FBQUM7S0FBUTtJQUNqQkMsT0FBTztRQUFDO0tBQWlCO0lBQ3pCQyxPQUFPO1FBQUM7S0FBUTtJQUNoQkMsT0FBTztRQUFDO0tBQVE7SUFFaEIsa0JBQWtCO0lBQ2xCQyxTQUFTO1FBQUM7UUFBVztLQUFjO0lBQ25DQyxNQUFNO1FBQUM7UUFBZTtLQUFPO0lBQzdCQyxRQUFRO1FBQUM7UUFBVTtLQUFrQjtJQUNyQ0MsZUFBZTtRQUFDO0tBQWlCO0lBRWpDLGtCQUFrQjtJQUNsQkMsZUFBZTtRQUFDO0tBQWlCO0lBQ2pDQyxLQUFLO1FBQUM7UUFBTztLQUFxQjtJQUNsQ0MsVUFBVTtRQUFDO0tBQVk7SUFDdkJDLFNBQVM7UUFBQztLQUFXO0lBQ3JCQyxjQUFjO1FBQUM7UUFBaUI7UUFBZTtLQUFRO0lBQ3ZEQyxZQUFZO1FBQUM7S0FBYTtBQUM1QixFQUFFO0FBRUYsdUNBQXVDO0FBQ2hDLE1BQU1DLHdCQUFvREMsT0FDOURDLE9BQU8sQ0FBQ3ZCLHdCQUNSd0IsTUFBTSxDQUFDLENBQUNDLEtBQUssQ0FBQ0MsWUFBWUMsTUFBTTtJQUMvQixLQUFLLE1BQU1DLFFBQVFELE1BQU87UUFDeEJGLEdBQUcsQ0FBQ0csS0FBSyxHQUFHRjtJQUNkO0lBQ0EsT0FBT0Q7QUFDVCxHQUFHLENBQUMsR0FBaUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2RhdGEvcGFydFJvbGVNYXBwaW5ncy50cz9jNjI0Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2F0ZWdvcnlJZCB9IGZyb20gXCJAL3R5cGVzL2d1bmJ1aWxkZXJcIjtcblxuLy8gQ2F0ZWdvcnlJZCAtPiBwYXJ0Um9sZXNcbmV4cG9ydCBjb25zdCBDQVRFR09SWV9UT19QQVJUX1JPTEVTOiBSZWNvcmQ8Q2F0ZWdvcnlJZCwgc3RyaW5nW10+ID0ge1xuICAvLyBDT1JFIC8gRVhJU1RJTkdcbiAgdXBwZXI6IFtcInVwcGVyLXJlY2VpdmVyXCJdLFxuICBiYXJyZWw6IFtcImJhcnJlbFwiXSxcbiAgaGFuZGd1YXJkOiBbXCJoYW5kZ3VhcmRcIl0sXG4gIGNoYXJnaW5nSGFuZGxlOiBbXCJjaGFyZ2luZy1oYW5kbGVcIl0sXG4gIGJ1ZmZlcjogW1wiYnVmZmVyLWtpdFwiXSxcbiAgbG93ZXJQYXJ0czogW1wibG93ZXItcGFydHMta2l0XCJdLFxuICBzaWdodHM6IFtcInNpZ2h0XCJdLFxuICBsb3dlcjogW1wibG93ZXItcmVjZWl2ZXJcIl0sXG4gIG9wdGljOiBbXCJvcHRpY1wiXSxcbiAgc3RvY2s6IFtcInN0b2NrXCJdLFxuXG4gIC8vIE5FVyBMT1dFUiBQQVJUU1xuICB0cmlnZ2VyOiBbXCJ0cmlnZ2VyXCIsIFwidHJpZ2dlci1raXRcIl0sXG4gIGdyaXA6IFtcInBpc3RvbC1ncmlwXCIsIFwiZ3JpcFwiXSxcbiAgc2FmZXR5OiBbXCJzYWZldHlcIiwgXCJzYWZldHktc2VsZWN0b3JcIl0sXG4gIGNvbXBsZXRlTG93ZXI6IFtcImNvbXBsZXRlLWxvd2VyXCJdLFxuXG4gIC8vIE5FVyBVUFBFUiBQQVJUU1xuICBjb21wbGV0ZVVwcGVyOiBbXCJjb21wbGV0ZS11cHBlclwiXSxcbiAgYmNnOiBbXCJiY2dcIiwgXCJib2x0LWNhcnJpZXItZ3JvdXBcIl0sXG4gIGdhc0Jsb2NrOiBbXCJnYXMtYmxvY2tcIl0sXG4gIGdhc1R1YmU6IFtcImdhcy10dWJlXCJdLFxuICBtdXp6bGVEZXZpY2U6IFtcIm11enpsZS1kZXZpY2VcIiwgXCJjb21wZW5zYXRvclwiLCBcImJyYWtlXCJdLFxuICBzdXBwcmVzc29yOiBbXCJzdXBwcmVzc29yXCJdLFxufTtcblxuLy8gSW52ZXJ0IHRvIGdldCBwYXJ0Um9sZSAtPiBDYXRlZ29yeUlkXG5leHBvcnQgY29uc3QgUEFSVF9ST0xFX1RPX0NBVEVHT1JZOiBSZWNvcmQ8c3RyaW5nLCBDYXRlZ29yeUlkPiA9IE9iamVjdFxuICAuZW50cmllcyhDQVRFR09SWV9UT19QQVJUX1JPTEVTKVxuICAucmVkdWNlKChhY2MsIFtjYXRlZ29yeUlkLCByb2xlc10pID0+IHtcbiAgICBmb3IgKGNvbnN0IHJvbGUgb2Ygcm9sZXMpIHtcbiAgICAgIGFjY1tyb2xlXSA9IGNhdGVnb3J5SWQgYXMgQ2F0ZWdvcnlJZDtcbiAgICB9XG4gICAgcmV0dXJuIGFjYztcbiAgfSwge30gYXMgUmVjb3JkPHN0cmluZywgQ2F0ZWdvcnlJZD4pOyJdLCJuYW1lcyI6WyJDQVRFR09SWV9UT19QQVJUX1JPTEVTIiwidXBwZXIiLCJiYXJyZWwiLCJoYW5kZ3VhcmQiLCJjaGFyZ2luZ0hhbmRsZSIsImJ1ZmZlciIsImxvd2VyUGFydHMiLCJzaWdodHMiLCJsb3dlciIsIm9wdGljIiwic3RvY2siLCJ0cmlnZ2VyIiwiZ3JpcCIsInNhZmV0eSIsImNvbXBsZXRlTG93ZXIiLCJjb21wbGV0ZVVwcGVyIiwiYmNnIiwiZ2FzQmxvY2siLCJnYXNUdWJlIiwibXV6emxlRGV2aWNlIiwic3VwcHJlc3NvciIsIlBBUlRfUk9MRV9UT19DQVRFR09SWSIsIk9iamVjdCIsImVudHJpZXMiLCJyZWR1Y2UiLCJhY2MiLCJjYXRlZ29yeUlkIiwicm9sZXMiLCJyb2xlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./data/partRoleMappings.ts\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/gunbuilder/page.tsx": -/*!*********************************!*\ - !*** ./app/gunbuilder/page.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ $$typeof: () => (/* binding */ $$typeof), -/* harmony export */ __esModule: () => (/* binding */ __esModule), -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx#default`)); - - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fpage&page=%2Fgunbuilder%2Fpage&appPaths=%2Fgunbuilder%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/gunbuilder/page_client-reference-manifest.js b/.next/server/app/gunbuilder/page_client-reference-manifest.js deleted file mode 100644 index 5b7077b..0000000 --- a/.next/server/app/gunbuilder/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/gunbuilder/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/register/page.tsx":{"*":{"id":"(ssr)/./app/register/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/login/page.tsx":{"*":{"id":"(ssr)/./app/login/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":["app/gunbuilder/page","static/chunks/app/gunbuilder/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx":{"id":"(app-pages-browser)/./app/register/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx":{"id":"(app-pages-browser)/./app/login/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page":[]}} \ No newline at end of file diff --git a/.next/server/app/gunbuilder/register/page.js b/.next/server/app/gunbuilder/register/page.js deleted file mode 100644 index 43eddf5..0000000 --- a/.next/server/app/gunbuilder/register/page.js +++ /dev/null @@ -1,250 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/gunbuilder/register/page"; -exports.ids = ["app/gunbuilder/register/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fregister%2Fpage&page=%2Fgunbuilder%2Fregister%2Fpage&appPaths=%2Fgunbuilder%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fregister%2Fpage&page=%2Fgunbuilder%2Fregister%2Fpage&appPaths=%2Fgunbuilder%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'gunbuilder',\n {\n children: [\n 'register',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/gunbuilder/register/page.tsx */ \"(rsc)/./app/gunbuilder/register/page.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/gunbuilder/register/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/gunbuilder/register/page\",\n pathname: \"/gunbuilder/register\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZndW5idWlsZGVyJTJGcmVnaXN0ZXIlMkZwYWdlJnBhZ2U9JTJGZ3VuYnVpbGRlciUyRnJlZ2lzdGVyJTJGcGFnZSZhcHBQYXRocz0lMkZndW5idWlsZGVyJTJGcmVnaXN0ZXIlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGZ3VuYnVpbGRlciUyRnJlZ2lzdGVyJTJGcGFnZS50c3gmYXBwRGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj0lMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQyx1QkFBdUIsZ0xBQTBHO0FBQ2pJO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsNElBQXdGO0FBQ2pILG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLDhHQUFrQjtBQUNqRDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8/Yzc1NSJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdndW5idWlsZGVyJyxcbiAgICAgICAge1xuICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAncmVnaXN0ZXInLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbJ19fUEFHRV9fJywge30sIHtcbiAgICAgICAgICBwYWdlOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2d1bmJ1aWxkZXIvcmVnaXN0ZXIvcGFnZS50c3hcIiksIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9ndW5idWlsZGVyL3JlZ2lzdGVyL3BhZ2UudHN4XCJdLFxuICAgICAgICAgIFxuICAgICAgICB9XVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICBcbiAgICAgICAgXG4gICAgICB9XG4gICAgICBdXG4gICAgICB9LFxuICAgICAgICB7XG4gICAgICAgIFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiKSwgXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2xheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvZ3VuYnVpbGRlci9yZWdpc3Rlci9wYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL2d1bmJ1aWxkZXIvcmVnaXN0ZXIvcGFnZVwiO1xuZXhwb3J0IGNvbnN0IF9fbmV4dF9hcHBfXyA9IHtcbiAgICByZXF1aXJlOiBfX25leHRfYXBwX3JlcXVpcmVfXyxcbiAgICBsb2FkQ2h1bms6IF9fbmV4dF9hcHBfbG9hZF9jaHVua19fXG59O1xuZXhwb3J0ICogZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvYXBwLXJlbmRlci9lbnRyeS1iYXNlXCI7XG4vLyBDcmVhdGUgYW5kIGV4cG9ydCB0aGUgcm91dGUgbW9kdWxlIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbmV4cG9ydCBjb25zdCByb3V0ZU1vZHVsZSA9IG5ldyBBcHBQYWdlUm91dGVNb2R1bGUoe1xuICAgIGRlZmluaXRpb246IHtcbiAgICAgICAga2luZDogUm91dGVLaW5kLkFQUF9QQUdFLFxuICAgICAgICBwYWdlOiBcIi9ndW5idWlsZGVyL3JlZ2lzdGVyL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL2d1bmJ1aWxkZXIvcmVnaXN0ZXJcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fregister%2Fpage&page=%2Fgunbuilder%2Fregister%2Fpage&appPaths=%2Fgunbuilder%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2Fregister%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2Fregister%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/gunbuilder/register/page.tsx */ \"(ssr)/./app/gunbuilder/register/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ3VuYnVpbGRlciUyRnJlZ2lzdGVyJTJGcGFnZS50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLGdMQUEwRyIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz8yNDEwIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9ndW5idWlsZGVyL3JlZ2lzdGVyL3BhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fgunbuilder%2Fregister%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./app/gunbuilder/register/page.tsx": -/*!******************************************!*\ - !*** ./app/gunbuilder/register/page.tsx ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RegisterPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// app/register/page.tsx\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction RegisterPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const searchParams = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)();\n const { register, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_4__.useAuth)();\n const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [displayName, setDisplayName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [password, setPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const next = searchParams.get(\"next\") || \"/gunbuilder\";\n async function handleSubmit(e) {\n e.preventDefault();\n setError(null);\n try {\n await register({\n email,\n password,\n displayName\n });\n router.push(next);\n } catch (err) {\n setError(err.message ?? \"Failed to create account\");\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-md flex-col px-4 py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-semibold tracking-tight\",\n children: [\n \"Join the \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-300\",\n children: \"Shadow Standard\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 37,\n columnNumber: 20\n }, this),\n \" beta\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-sm text-zinc-400\",\n children: \"Create an account so we can save your builds, watch price drops, and roll out new features to you first.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n className: \"mt-6 space-y-4\",\n children: [\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-md border border-red-500/40 bg-red-500/10 px-3 py-2 text-sm text-red-200\",\n children: error\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"displayName\",\n children: \"Display Name (optional)\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"displayName\",\n type: \"text\",\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: displayName,\n onChange: (e)=>setDisplayName(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"email\",\n children: \"Email\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 68,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"email\",\n type: \"email\",\n autoComplete: \"email\",\n required: true,\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: email,\n onChange: (e)=>setEmail(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 71,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 67,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"password\",\n children: \"Password\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 83,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"password\",\n type: \"password\",\n autoComplete: \"new-password\",\n required: true,\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: password,\n onChange: (e)=>setPassword(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 89,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 82,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"submit\",\n disabled: loading,\n className: \"mt-2 w-full rounded-md border border-amber-400/70 bg-amber-400/20 px-3 py-2 text-sm font-semibold text-amber-100 hover:bg-amber-400/30 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\",\n children: loading ? \"Creating account…\" : \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 100,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-xs text-zinc-500\",\n children: [\n \"Already have an account?\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n href: \"/login\",\n className: \"text-amber-300 hover:text-amber-200\",\n children: \"Log in\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 111,\n columnNumber: 11\n }, this),\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 35,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9hcHAvZ3VuYnVpbGRlci9yZWdpc3Rlci9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLHdCQUF3Qjs7QUFHb0I7QUFDaUI7QUFDaEM7QUFDbUI7QUFFakMsU0FBU0s7SUFDdEIsTUFBTUMsU0FBU0wsMERBQVNBO0lBQ3hCLE1BQU1NLGVBQWVMLGdFQUFlQTtJQUNwQyxNQUFNLEVBQUVNLFFBQVEsRUFBRUMsT0FBTyxFQUFFLEdBQUdMLDZEQUFPQTtJQUVyQyxNQUFNLENBQUNNLE9BQU9DLFNBQVMsR0FBR1gsK0NBQVFBLENBQUM7SUFDbkMsTUFBTSxDQUFDWSxhQUFhQyxlQUFlLEdBQUdiLCtDQUFRQSxDQUFDO0lBQy9DLE1BQU0sQ0FBQ2MsVUFBVUMsWUFBWSxHQUFHZiwrQ0FBUUEsQ0FBQztJQUN6QyxNQUFNLENBQUNnQixPQUFPQyxTQUFTLEdBQUdqQiwrQ0FBUUEsQ0FBZ0I7SUFFbEQsTUFBTWtCLE9BQU9YLGFBQWFZLEdBQUcsQ0FBQyxXQUFXO0lBRXpDLGVBQWVDLGFBQWFDLENBQVk7UUFDdENBLEVBQUVDLGNBQWM7UUFDaEJMLFNBQVM7UUFFVCxJQUFJO1lBQ0YsTUFBTVQsU0FBUztnQkFBRUU7Z0JBQU9JO2dCQUFVRjtZQUFZO1lBQzlDTixPQUFPaUIsSUFBSSxDQUFDTDtRQUNkLEVBQUUsT0FBT00sS0FBVTtZQUNqQlAsU0FBU08sSUFBSUMsT0FBTyxJQUFJO1FBQzFCO0lBQ0Y7SUFFQSxxQkFDRSw4REFBQ0M7UUFBS0MsV0FBVTtrQkFDZCw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBQ2IsOERBQUNFO29CQUFHRixXQUFVOzt3QkFBd0M7c0NBQzNDLDhEQUFDRzs0QkFBS0gsV0FBVTtzQ0FBaUI7Ozs7Ozt3QkFBc0I7Ozs7Ozs7OEJBRWxFLDhEQUFDSTtvQkFBRUosV0FBVTs4QkFBNkI7Ozs7Ozs4QkFLMUMsOERBQUNLO29CQUFLQyxVQUFVYjtvQkFBY08sV0FBVTs7d0JBQ3JDWCx1QkFDQyw4REFBQ1k7NEJBQUlELFdBQVU7c0NBQ1pYOzs7Ozs7c0NBSUwsOERBQUNZOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ087b0NBQ0NQLFdBQVU7b0NBQ1ZRLFNBQVE7OENBQ1Q7Ozs7Ozs4Q0FHRCw4REFBQ0M7b0NBQ0NDLElBQUc7b0NBQ0hDLE1BQUs7b0NBQ0xYLFdBQVU7b0NBQ1ZZLE9BQU8zQjtvQ0FDUDRCLFVBQVUsQ0FBQ25CLElBQU1SLGVBQWVRLEVBQUVvQixNQUFNLENBQUNGLEtBQUs7Ozs7Ozs7Ozs7OztzQ0FJbEQsOERBQUNYOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ087b0NBQU1QLFdBQVU7b0NBQW9DUSxTQUFROzhDQUFROzs7Ozs7OENBR3JFLDhEQUFDQztvQ0FDQ0MsSUFBRztvQ0FDSEMsTUFBSztvQ0FDTEksY0FBYTtvQ0FDYkMsUUFBUTtvQ0FDUmhCLFdBQVU7b0NBQ1ZZLE9BQU83QjtvQ0FDUDhCLFVBQVUsQ0FBQ25CLElBQU1WLFNBQVNVLEVBQUVvQixNQUFNLENBQUNGLEtBQUs7Ozs7Ozs7Ozs7OztzQ0FJNUMsOERBQUNYOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ087b0NBQ0NQLFdBQVU7b0NBQ1ZRLFNBQVE7OENBQ1Q7Ozs7Ozs4Q0FHRCw4REFBQ0M7b0NBQ0NDLElBQUc7b0NBQ0hDLE1BQUs7b0NBQ0xJLGNBQWE7b0NBQ2JDLFFBQVE7b0NBQ1JoQixXQUFVO29DQUNWWSxPQUFPekI7b0NBQ1AwQixVQUFVLENBQUNuQixJQUFNTixZQUFZTSxFQUFFb0IsTUFBTSxDQUFDRixLQUFLOzs7Ozs7Ozs7Ozs7c0NBSS9DLDhEQUFDSzs0QkFDQ04sTUFBSzs0QkFDTE8sVUFBVXBDOzRCQUNWa0IsV0FBVTtzQ0FFVGxCLFVBQVUsc0JBQXNCOzs7Ozs7Ozs7Ozs7OEJBSXJDLDhEQUFDc0I7b0JBQUVKLFdBQVU7O3dCQUE2Qjt3QkFDZjtzQ0FDekIsOERBQUN4QixpREFBSUE7NEJBQUMyQyxNQUFLOzRCQUFTbkIsV0FBVTtzQ0FBc0M7Ozs7Ozt3QkFFN0Q7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1qQiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vYXBwL2d1bmJ1aWxkZXIvcmVnaXN0ZXIvcGFnZS50c3g/OGZlMiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBhcHAvcmVnaXN0ZXIvcGFnZS50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgeyBGb3JtRXZlbnQsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyB1c2VSb3V0ZXIsIHVzZVNlYXJjaFBhcmFtcyB9IGZyb20gXCJuZXh0L25hdmlnYXRpb25cIjtcbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIFJlZ2lzdGVyUGFnZSgpIHtcbiAgY29uc3Qgcm91dGVyID0gdXNlUm91dGVyKCk7XG4gIGNvbnN0IHNlYXJjaFBhcmFtcyA9IHVzZVNlYXJjaFBhcmFtcygpO1xuICBjb25zdCB7IHJlZ2lzdGVyLCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgY29uc3QgW2VtYWlsLCBzZXRFbWFpbF0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW2Rpc3BsYXlOYW1lLCBzZXREaXNwbGF5TmFtZV0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW3Bhc3N3b3JkLCBzZXRQYXNzd29yZF0gPSB1c2VTdGF0ZShcIlwiKTtcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcblxuICBjb25zdCBuZXh0ID0gc2VhcmNoUGFyYW1zLmdldChcIm5leHRcIikgfHwgXCIvZ3VuYnVpbGRlclwiO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGhhbmRsZVN1Ym1pdChlOiBGb3JtRXZlbnQpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgc2V0RXJyb3IobnVsbCk7XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgcmVnaXN0ZXIoeyBlbWFpbCwgcGFzc3dvcmQsIGRpc3BsYXlOYW1lIH0pO1xuICAgICAgcm91dGVyLnB1c2gobmV4dCk7XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIHNldEVycm9yKGVyci5tZXNzYWdlID8/IFwiRmFpbGVkIHRvIGNyZWF0ZSBhY2NvdW50XCIpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPG1haW4gY2xhc3NOYW1lPVwibWluLWgtc2NyZWVuIGJnLWJsYWNrIHRleHQtemluYy01MFwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctbWQgZmxleC1jb2wgcHgtNCBweS0xMFwiPlxuICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodFwiPlxuICAgICAgICAgIEpvaW4gdGhlIDxzcGFuIGNsYXNzTmFtZT1cInRleHQtYW1iZXItMzAwXCI+U2hhZG93IFN0YW5kYXJkPC9zcGFuPiBiZXRhXG4gICAgICAgIDwvaDE+XG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTIgdGV4dC1zbSB0ZXh0LXppbmMtNDAwXCI+XG4gICAgICAgICAgQ3JlYXRlIGFuIGFjY291bnQgc28gd2UgY2FuIHNhdmUgeW91ciBidWlsZHMsIHdhdGNoIHByaWNlIGRyb3BzLCBhbmRcbiAgICAgICAgICByb2xsIG91dCBuZXcgZmVhdHVyZXMgdG8geW91IGZpcnN0LlxuICAgICAgICA8L3A+XG5cbiAgICAgICAgPGZvcm0gb25TdWJtaXQ9e2hhbmRsZVN1Ym1pdH0gY2xhc3NOYW1lPVwibXQtNiBzcGFjZS15LTRcIj5cbiAgICAgICAgICB7ZXJyb3IgJiYgKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItcmVkLTUwMC80MCBiZy1yZWQtNTAwLzEwIHB4LTMgcHktMiB0ZXh0LXNtIHRleHQtcmVkLTIwMFwiPlxuICAgICAgICAgICAgICB7ZXJyb3J9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTFcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDBcIlxuICAgICAgICAgICAgICBodG1sRm9yPVwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBEaXNwbGF5IE5hbWUgKG9wdGlvbmFsKVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXppbmMtODAwIGJnLXppbmMtOTAwLzcwIHB4LTMgcHktMiB0ZXh0LXNtIHRleHQtemluYy01MCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgdmFsdWU9e2Rpc3BsYXlOYW1lfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldERpc3BsYXlOYW1lKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiIGh0bWxGb3I9XCJlbWFpbFwiPlxuICAgICAgICAgICAgICBFbWFpbFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cImVtYWlsXCJcbiAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXppbmMtODAwIGJnLXppbmMtOTAwLzcwIHB4LTMgcHktMiB0ZXh0LXNtIHRleHQtemluYy01MCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgdmFsdWU9e2VtYWlsfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEVtYWlsKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFBhc3N3b3JkXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJuZXctcGFzc3dvcmRcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXppbmMtODAwIGJnLXppbmMtOTAwLzcwIHB4LTMgcHktMiB0ZXh0LXNtIHRleHQtemluYy01MCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgdmFsdWU9e3Bhc3N3b3JkfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldFBhc3N3b3JkKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgIGRpc2FibGVkPXtsb2FkaW5nfVxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibXQtMiB3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWFtYmVyLTQwMC83MCBiZy1hbWJlci00MDAvMjAgcHgtMyBweS0yIHRleHQtc20gZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTEwMCBob3ZlcjpiZy1hbWJlci00MDAvMzAgZGlzYWJsZWQ6b3BhY2l0eS01MCBkaXNhYmxlZDpjdXJzb3Itbm90LWFsbG93ZWQgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtsb2FkaW5nID8gXCJDcmVhdGluZyBhY2NvdW504oCmXCIgOiBcIkpvaW4gQmV0YVwifVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Zvcm0+XG5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtNCB0ZXh0LXhzIHRleHQtemluYy01MDBcIj5cbiAgICAgICAgICBBbHJlYWR5IGhhdmUgYW4gYWNjb3VudD97XCIgXCJ9XG4gICAgICAgICAgPExpbmsgaHJlZj1cIi9sb2dpblwiIGNsYXNzTmFtZT1cInRleHQtYW1iZXItMzAwIGhvdmVyOnRleHQtYW1iZXItMjAwXCI+XG4gICAgICAgICAgICBMb2cgaW5cbiAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgLlxuICAgICAgICA8L3A+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gICk7XG59Il0sIm5hbWVzIjpbInVzZVN0YXRlIiwidXNlUm91dGVyIiwidXNlU2VhcmNoUGFyYW1zIiwiTGluayIsInVzZUF1dGgiLCJSZWdpc3RlclBhZ2UiLCJyb3V0ZXIiLCJzZWFyY2hQYXJhbXMiLCJyZWdpc3RlciIsImxvYWRpbmciLCJlbWFpbCIsInNldEVtYWlsIiwiZGlzcGxheU5hbWUiLCJzZXREaXNwbGF5TmFtZSIsInBhc3N3b3JkIiwic2V0UGFzc3dvcmQiLCJlcnJvciIsInNldEVycm9yIiwibmV4dCIsImdldCIsImhhbmRsZVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInB1c2giLCJlcnIiLCJtZXNzYWdlIiwibWFpbiIsImNsYXNzTmFtZSIsImRpdiIsImgxIiwic3BhbiIsInAiLCJmb3JtIiwib25TdWJtaXQiLCJsYWJlbCIsImh0bWxGb3IiLCJpbnB1dCIsImlkIiwidHlwZSIsInZhbHVlIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJhdXRvQ29tcGxldGUiLCJyZXF1aXJlZCIsImJ1dHRvbiIsImRpc2FibGVkIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./app/gunbuilder/register/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 181,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FJO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgbG9hZGluZzogYm9vbGVhbjsgLy8gY292ZXJzIGluaXRpYWwgaHlkcmF0ZSArIGFjdGl2ZSBhdXRoIHJlcXVlc3RzXG4gIGxvZ2luOiAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVnaXN0ZXI6IChwYXJhbXM6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIH0pID0+IFByb21pc2U8dm9pZD47XG4gIGxvZ291dDogKCkgPT4gdm9pZDtcbiAgZ2V0QXV0aEhlYWRlcnM6ICgpID0+IEhlYWRlcnNJbml0O1xufTtcblxuY29uc3QgQXV0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEF1dGhDb250ZXh0VmFsdWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IFRPS0VOX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdG9rZW5cIjtcbmNvbnN0IFVTRVJfS0VZID0gXCJiYWxsaXN0aWNfYXV0aF91c2VyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRoUHJvdmlkZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxBdXRoVXNlcj4obnVsbCk7XG4gIGNvbnN0IFt0b2tlbiwgc2V0VG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpOyAvLyBzdGFydCB0cnVlIHdoaWxlIHdlIGh5ZHJhdGUgKyByZXVzZSBmb3IgY2FsbHNcblxuICAvLyBoeWRyYXRlIGZyb20gbG9jYWxTdG9yYWdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHN0b3JlZFRva2VuID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRPS0VOX0tFWSk7XG4gICAgICBjb25zdCBzdG9yZWRVc2VyID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFVTRVJfS0VZKTtcblxuICAgICAgaWYgKHN0b3JlZFRva2VuICYmIHN0b3JlZFVzZXIpIHtcbiAgICAgICAgc2V0VG9rZW4oc3RvcmVkVG9rZW4pO1xuICAgICAgICBzZXRVc2VyKEpTT04ucGFyc2Uoc3RvcmVkVXNlcikpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNldFNlc3Npb24gPSB1c2VDYWxsYmFjaygobmV3VG9rZW46IHN0cmluZywgbmV3VXNlcjogQXV0aFVzZXIpID0+IHtcbiAgICBzZXRUb2tlbihuZXdUb2tlbik7XG4gICAgc2V0VXNlcihuZXdVc2VyKTtcblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVE9LRU5fS0VZLCBuZXdUb2tlbik7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVVNFUl9LRVksIEpTT04uc3RyaW5naWZ5KG5ld1VzZXIpKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbGVhclNlc3Npb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW4obnVsbCk7XG4gICAgc2V0VXNlcihudWxsKTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX0tFWSk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVVNFUl9LRVkpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlZ2lzdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0VfVVJMfS9hcGkvYXV0aC9yZWdpc3RlcmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZW1haWw6IHBhcmFtcy5lbWFpbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogcGFyYW1zLmRpc3BsYXlOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBhY2NvdW50XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YToge1xuICAgICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICAgICAgICByb2xlOiBzdHJpbmc7XG4gICAgICAgIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIHNldFNlc3Npb24oZGF0YS50b2tlbiwge1xuICAgICAgICAgIGVtYWlsOiBkYXRhLmVtYWlsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgcm9sZTogZGF0YS5yb2xlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFNlc3Npb25dLFxuICApO1xuXG4gIGNvbnN0IGxvZ2luID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL2xvZ2luYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dCB8fCBcIkZhaWxlZCB0byBsb2cgaW5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9nb3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyU2Vzc2lvbigpO1xuICB9LCBbY2xlYXJTZXNzaW9uXSk7XG5cbiAgY29uc3QgZ2V0QXV0aEhlYWRlcnMgPSB1c2VDYWxsYmFjaygoKTogSGVhZGVyc0luaXQgPT4ge1xuICAgIGlmICghdG9rZW4pIHJldHVybiB7fTtcbiAgICByZXR1cm4ge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgfTtcbiAgfSwgW3Rva2VuXSk7XG5cbiAgY29uc3QgdmFsdWU6IEF1dGhDb250ZXh0VmFsdWUgPSB7XG4gICAgdXNlcixcbiAgICBsb2FkaW5nLFxuICAgIGxvZ2luLFxuICAgIHJlZ2lzdGVyLFxuICAgIGxvZ291dCxcbiAgICBnZXRBdXRoSGVhZGVycyxcbiAgfTtcblxuICByZXR1cm4gPEF1dGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQXV0aENvbnRleHQuUHJvdmlkZXI+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXV0aCgpOiBBdXRoQ29udGV4dFZhbHVlIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChBdXRoQ29udGV4dCk7XG4gIGlmICghY3R4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQXV0aCBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIEF1dGhQcm92aWRlclwiKTtcbiAgfVxuICByZXR1cm4gY3R4O1xufSJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJBUElfQkFTRV9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMIiwiQXV0aENvbnRleHQiLCJ1bmRlZmluZWQiLCJUT0tFTl9LRVkiLCJVU0VSX0tFWSIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ0b2tlbiIsInNldFRva2VuIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzdG9yZWRUb2tlbiIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdG9yZWRVc2VyIiwiSlNPTiIsInBhcnNlIiwic2V0U2Vzc2lvbiIsIm5ld1Rva2VuIiwibmV3VXNlciIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJjbGVhclNlc3Npb24iLCJyZW1vdmVJdGVtIiwicmVnaXN0ZXIiLCJwYXJhbXMiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiZW1haWwiLCJwYXNzd29yZCIsImRpc3BsYXlOYW1lIiwib2siLCJ0ZXh0IiwiRXJyb3IiLCJkYXRhIiwianNvbiIsInJvbGUiLCJsb2dpbiIsImxvZ291dCIsImdldEF1dGhIZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsInZhbHVlIiwiUHJvdmlkZXIiLCJ1c2VBdXRoIiwiY3R4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/gunbuilder/register/page.tsx": -/*!******************************************!*\ - !*** ./app/gunbuilder/register/page.tsx ***! - \******************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $$typeof: () => (/* binding */ $$typeof),\n/* harmony export */ __esModule: () => (/* binding */ __esModule),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx#default`));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ3VuYnVpbGRlci9yZWdpc3Rlci9wYWdlLnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQXdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9hcHAvZ3VuYnVpbGRlci9yZWdpc3Rlci9wYWdlLnRzeD84ZmUyIl0sInNvdXJjZXNDb250ZW50IjpbIi8vIGFwcC9yZWdpc3Rlci9wYWdlLnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7IEZvcm1FdmVudCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVJvdXRlciwgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUmVnaXN0ZXJQYWdlKCkge1xuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKTtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdXNlU2VhcmNoUGFyYW1zKCk7XG4gIGNvbnN0IHsgcmVnaXN0ZXIsIGxvYWRpbmcgfSA9IHVzZUF1dGgoKTtcblxuICBjb25zdCBbZW1haWwsIHNldEVtYWlsXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZGlzcGxheU5hbWUsIHNldERpc3BsYXlOYW1lXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbcGFzc3dvcmQsIHNldFBhc3N3b3JkXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IG5leHQgPSBzZWFyY2hQYXJhbXMuZ2V0KFwibmV4dFwiKSB8fCBcIi9ndW5idWlsZGVyXCI7XG5cbiAgYXN5bmMgZnVuY3Rpb24gaGFuZGxlU3VibWl0KGU6IEZvcm1FdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXRFcnJvcihudWxsKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCByZWdpc3Rlcih7IGVtYWlsLCBwYXNzd29yZCwgZGlzcGxheU5hbWUgfSk7XG4gICAgICByb3V0ZXIucHVzaChuZXh0KTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgc2V0RXJyb3IoZXJyLm1lc3NhZ2UgPz8gXCJGYWlsZWQgdG8gY3JlYXRlIGFjY291bnRcIik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8bWFpbiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctYmxhY2sgdGV4dC16aW5jLTUwXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy1tZCBmbGV4LWNvbCBweC00IHB5LTEwXCI+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0XCI+XG4gICAgICAgICAgSm9pbiB0aGUgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDBcIj5TaGFkb3cgU3RhbmRhcmQ8L3NwYW4+IGJldGFcbiAgICAgICAgPC9oMT5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiB0ZXh0LXNtIHRleHQtemluYy00MDBcIj5cbiAgICAgICAgICBDcmVhdGUgYW4gYWNjb3VudCBzbyB3ZSBjYW4gc2F2ZSB5b3VyIGJ1aWxkcywgd2F0Y2ggcHJpY2UgZHJvcHMsIGFuZFxuICAgICAgICAgIHJvbGwgb3V0IG5ldyBmZWF0dXJlcyB0byB5b3UgZmlyc3QuXG4gICAgICAgIDwvcD5cblxuICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBjbGFzc05hbWU9XCJtdC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1yZWQtNTAwLzQwIGJnLXJlZC01MDAvMTAgcHgtMyBweS0yIHRleHQtc20gdGV4dC1yZWQtMjAwXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIERpc3BsYXkgTmFtZSAob3B0aW9uYWwpXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05MDAvNzAgcHgtMyBweS0yIHRleHQtc20gdGV4dC16aW5jLTUwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1hbWJlci00MDBcIlxuICAgICAgICAgICAgICB2YWx1ZT17ZGlzcGxheU5hbWV9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0RGlzcGxheU5hbWUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwXCIgaHRtbEZvcj1cImVtYWlsXCI+XG4gICAgICAgICAgICAgIEVtYWlsXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05MDAvNzAgcHgtMyBweS0yIHRleHQtc20gdGV4dC16aW5jLTUwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1hbWJlci00MDBcIlxuICAgICAgICAgICAgICB2YWx1ZT17ZW1haWx9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0RW1haWwoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwXCJcbiAgICAgICAgICAgICAgaHRtbEZvcj1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUGFzc3dvcmRcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05MDAvNzAgcHgtMyBweS0yIHRleHQtc20gdGV4dC16aW5jLTUwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1hbWJlci00MDBcIlxuICAgICAgICAgICAgICB2YWx1ZT17cGFzc3dvcmR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0UGFzc3dvcmQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgZGlzYWJsZWQ9e2xvYWRpbmd9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0yIHctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8yMCBweC0zIHB5LTIgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtYW1iZXItMTAwIGhvdmVyOmJnLWFtYmVyLTQwMC8zMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2xvYWRpbmcgPyBcIkNyZWF0aW5nIGFjY291bnTigKZcIiA6IFwiSm9pbiBCZXRhXCJ9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZm9ybT5cblxuICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IHRleHQteHMgdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgIEFscmVhZHkgaGF2ZSBhbiBhY2NvdW50P3tcIiBcIn1cbiAgICAgICAgICA8TGluayBocmVmPVwiL2xvZ2luXCIgY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDAgaG92ZXI6dGV4dC1hbWJlci0yMDBcIj5cbiAgICAgICAgICAgIExvZyBpblxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgKTtcbn0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./app/gunbuilder/register/page.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fgunbuilder%2Fregister%2Fpage&page=%2Fgunbuilder%2Fregister%2Fpage&appPaths=%2Fgunbuilder%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fgunbuilder%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/gunbuilder/register/page_client-reference-manifest.js b/.next/server/app/gunbuilder/register/page_client-reference-manifest.js deleted file mode 100644 index 27c4554..0000000 --- a/.next/server/app/gunbuilder/register/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/gunbuilder/register/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/register/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/register/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":["app/gunbuilder/page","static/chunks/app/gunbuilder/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/register/page.tsx","name":"*","chunks":["app/gunbuilder/register/page","static/chunks/app/gunbuilder/register/page.js"],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/register/page":[]}} \ No newline at end of file diff --git a/.next/server/app/login/page.js b/.next/server/app/login/page.js deleted file mode 100644 index 9ca75a9..0000000 --- a/.next/server/app/login/page.js +++ /dev/null @@ -1,250 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/login/page"; -exports.ids = ["app/login/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Flogin%2Fpage&page=%2Flogin%2Fpage&appPaths=%2Flogin%2Fpage&pagePath=private-next-app-dir%2Flogin%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Flogin%2Fpage&page=%2Flogin%2Fpage&appPaths=%2Flogin%2Fpage&pagePath=private-next-app-dir%2Flogin%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'login',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/login/page.tsx */ \"(rsc)/./app/login/page.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/login/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/login/page\",\n pathname: \"/login\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZsb2dpbiUyRnBhZ2UmcGFnZT0lMkZsb2dpbiUyRnBhZ2UmYXBwUGF0aHM9JTJGbG9naW4lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGbG9naW4lMkZwYWdlLnRzeCZhcHBEaXI9JTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1QixvSkFBNEY7QUFDbkg7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsNElBQXdGO0FBQ2pILG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLDhHQUFrQjtBQUNqRDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8/ZDkzOCJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdsb2dpbicsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbG9naW4vcGFnZS50c3hcIiksIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9sb2dpbi9wYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9sYXlvdXQudHN4XCIpLCBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9sb2dpbi9wYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL2xvZ2luL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvbG9naW4vcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvbG9naW5cIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Flogin%2Fpage&page=%2Flogin%2Fpage&appPaths=%2Flogin%2Fpage&pagePath=private-next-app-dir%2Flogin%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Flogin%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Flogin%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/login/page.tsx */ \"(ssr)/./app/login/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGbG9naW4lMkZwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsb0pBQTRGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvP2U3NmEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2xvZ2luL3BhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Flogin%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./app/login/page.tsx": -/*!****************************!*\ - !*** ./app/login/page.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ LoginPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// app/login/page.tsx\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction LoginPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const searchParams = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)();\n const { login, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_4__.useAuth)();\n const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [password, setPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const next = searchParams.get(\"next\") || \"/gunbuilder\";\n async function handleSubmit(e) {\n e.preventDefault();\n setError(null);\n try {\n await login({\n email,\n password\n });\n router.push(next);\n } catch (err) {\n setError(err.message ?? \"Failed to log in\");\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-md flex-col px-4 py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-semibold tracking-tight\",\n children: [\n \"Log In to \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-300\",\n children: \"The Armory\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 36,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 35,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-sm text-zinc-400\",\n children: \"Use your beta credentials to get back to your saved builds.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 38,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n className: \"mt-6 space-y-4\",\n children: [\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-md border border-red-500/40 bg-red-500/10 px-3 py-2 text-sm text-red-200\",\n children: error\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 44,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"email\",\n children: \"Email\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 50,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"email\",\n type: \"email\",\n autoComplete: \"email\",\n required: true,\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: email,\n onChange: (e)=>setEmail(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 53,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 49,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"password\",\n children: \"Password\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 65,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"password\",\n type: \"password\",\n autoComplete: \"current-password\",\n required: true,\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: password,\n onChange: (e)=>setPassword(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 71,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 64,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"submit\",\n disabled: loading,\n className: \"mt-2 w-full rounded-md border border-amber-400/70 bg-amber-400/20 px-3 py-2 text-sm font-semibold text-amber-100 hover:bg-amber-400/30 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\",\n children: loading ? \"Signing in…\" : \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 82,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 42,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-xs text-zinc-500\",\n children: [\n \"New here?\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n href: \"/register\",\n className: \"text-amber-300 hover:text-amber-200\",\n children: \"Join the beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 93,\n columnNumber: 11\n }, this),\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 91,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 34,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx\",\n lineNumber: 33,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9hcHAvbG9naW4vcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQSxxQkFBcUI7O0FBR3VCO0FBQ2lCO0FBQ2hDO0FBQ21CO0FBRWpDLFNBQVNLO0lBQ3RCLE1BQU1DLFNBQVNMLDBEQUFTQTtJQUN4QixNQUFNTSxlQUFlTCxnRUFBZUE7SUFDcEMsTUFBTSxFQUFFTSxLQUFLLEVBQUVDLE9BQU8sRUFBRSxHQUFHTCw2REFBT0E7SUFFbEMsTUFBTSxDQUFDTSxPQUFPQyxTQUFTLEdBQUdYLCtDQUFRQSxDQUFDO0lBQ25DLE1BQU0sQ0FBQ1ksVUFBVUMsWUFBWSxHQUFHYiwrQ0FBUUEsQ0FBQztJQUN6QyxNQUFNLENBQUNjLE9BQU9DLFNBQVMsR0FBR2YsK0NBQVFBLENBQWdCO0lBRWxELE1BQU1nQixPQUFPVCxhQUFhVSxHQUFHLENBQUMsV0FBVztJQUV6QyxlQUFlQyxhQUFhQyxDQUFZO1FBQ3RDQSxFQUFFQyxjQUFjO1FBQ2hCTCxTQUFTO1FBRVQsSUFBSTtZQUNGLE1BQU1QLE1BQU07Z0JBQUVFO2dCQUFPRTtZQUFTO1lBQzlCTixPQUFPZSxJQUFJLENBQUNMO1FBQ2QsRUFBRSxPQUFPTSxLQUFVO1lBQ2pCUCxTQUFTTyxJQUFJQyxPQUFPLElBQUk7UUFDMUI7SUFDRjtJQUVBLHFCQUNFLDhEQUFDQztRQUFLQyxXQUFVO2tCQUNkLDRFQUFDQztZQUFJRCxXQUFVOzs4QkFDYiw4REFBQ0U7b0JBQUdGLFdBQVU7O3dCQUF3QztzQ0FDMUMsOERBQUNHOzRCQUFLSCxXQUFVO3NDQUFpQjs7Ozs7Ozs7Ozs7OzhCQUU3Qyw4REFBQ0k7b0JBQUVKLFdBQVU7OEJBQTZCOzs7Ozs7OEJBSTFDLDhEQUFDSztvQkFBS0MsVUFBVWI7b0JBQWNPLFdBQVU7O3dCQUNyQ1gsdUJBQ0MsOERBQUNZOzRCQUFJRCxXQUFVO3NDQUNaWDs7Ozs7O3NDQUlMLDhEQUFDWTs0QkFBSUQsV0FBVTs7OENBQ2IsOERBQUNPO29DQUFNUCxXQUFVO29DQUFvQ1EsU0FBUTs4Q0FBUTs7Ozs7OzhDQUdyRSw4REFBQ0M7b0NBQ0NDLElBQUc7b0NBQ0hDLE1BQUs7b0NBQ0xDLGNBQWE7b0NBQ2JDLFFBQVE7b0NBQ1JiLFdBQVU7b0NBQ1ZjLE9BQU83QjtvQ0FDUDhCLFVBQVUsQ0FBQ3JCLElBQU1SLFNBQVNRLEVBQUVzQixNQUFNLENBQUNGLEtBQUs7Ozs7Ozs7Ozs7OztzQ0FJNUMsOERBQUNiOzRCQUFJRCxXQUFVOzs4Q0FDYiw4REFBQ087b0NBQ0NQLFdBQVU7b0NBQ1ZRLFNBQVE7OENBQ1Q7Ozs7Ozs4Q0FHRCw4REFBQ0M7b0NBQ0NDLElBQUc7b0NBQ0hDLE1BQUs7b0NBQ0xDLGNBQWE7b0NBQ2JDLFFBQVE7b0NBQ1JiLFdBQVU7b0NBQ1ZjLE9BQU8zQjtvQ0FDUDRCLFVBQVUsQ0FBQ3JCLElBQU1OLFlBQVlNLEVBQUVzQixNQUFNLENBQUNGLEtBQUs7Ozs7Ozs7Ozs7OztzQ0FJL0MsOERBQUNHOzRCQUNDTixNQUFLOzRCQUNMTyxVQUFVbEM7NEJBQ1ZnQixXQUFVO3NDQUVUaEIsVUFBVSxnQkFBZ0I7Ozs7Ozs7Ozs7Ozs4QkFJL0IsOERBQUNvQjtvQkFBRUosV0FBVTs7d0JBQTZCO3dCQUM5QjtzQ0FDViw4REFBQ3RCLGlEQUFJQTs0QkFDSHlDLE1BQUs7NEJBQ0xuQixXQUFVO3NDQUNYOzs7Ozs7d0JBRU07Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1qQiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vYXBwL2xvZ2luL3BhZ2UudHN4PzQ5MGEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwL2xvZ2luL3BhZ2UudHN4XG5cInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHsgRm9ybUV2ZW50LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlUm91dGVyLCB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tIFwibmV4dC9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMb2dpblBhZ2UoKSB7XG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xuICBjb25zdCBzZWFyY2hQYXJhbXMgPSB1c2VTZWFyY2hQYXJhbXMoKTtcbiAgY29uc3QgeyBsb2dpbiwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIGNvbnN0IFtlbWFpbCwgc2V0RW1haWxdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtwYXNzd29yZCwgc2V0UGFzc3dvcmRdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgbmV4dCA9IHNlYXJjaFBhcmFtcy5nZXQoXCJuZXh0XCIpIHx8IFwiL2d1bmJ1aWxkZXJcIjtcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVTdWJtaXQoZTogRm9ybUV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGxvZ2luKHsgZW1haWwsIHBhc3N3b3JkIH0pO1xuICAgICAgcm91dGVyLnB1c2gobmV4dCk7XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIHNldEVycm9yKGVyci5tZXNzYWdlID8/IFwiRmFpbGVkIHRvIGxvZyBpblwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxtYWluIGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlbiBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBmbGV4IG1heC13LW1kIGZsZXgtY29sIHB4LTQgcHktMTBcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHRcIj5cbiAgICAgICAgICBMb2cgSW4gdG8gPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDBcIj5UaGUgQXJtb3J5PC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0yIHRleHQtc20gdGV4dC16aW5jLTQwMFwiPlxuICAgICAgICAgIFVzZSB5b3VyIGJldGEgY3JlZGVudGlhbHMgdG8gZ2V0IGJhY2sgdG8geW91ciBzYXZlZCBidWlsZHMuXG4gICAgICAgIDwvcD5cblxuICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBjbGFzc05hbWU9XCJtdC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1yZWQtNTAwLzQwIGJnLXJlZC01MDAvMTAgcHgtMyBweS0yIHRleHQtc20gdGV4dC1yZWQtMjAwXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiIGh0bWxGb3I9XCJlbWFpbFwiPlxuICAgICAgICAgICAgICBFbWFpbFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cImVtYWlsXCJcbiAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXppbmMtODAwIGJnLXppbmMtOTAwLzcwIHB4LTMgcHktMiB0ZXh0LXNtIHRleHQtemluYy01MCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgdmFsdWU9e2VtYWlsfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEVtYWlsKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFBhc3N3b3JkXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJjdXJyZW50LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTkwMC83MCBweC0zIHB5LTIgdGV4dC1zbSB0ZXh0LXppbmMtNTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLWFtYmVyLTQwMFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtwYXNzd29yZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRQYXNzd29yZChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBkaXNhYmxlZD17bG9hZGluZ31cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzIwIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0xMDAgaG92ZXI6YmctYW1iZXItNDAwLzMwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bG9hZGluZyA/IFwiU2lnbmluZyBpbuKAplwiIDogXCJMb2cgSW5cIn1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgdGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+XG4gICAgICAgICAgTmV3IGhlcmU/e1wiIFwifVxuICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYW1iZXItMzAwIGhvdmVyOnRleHQtYW1iZXItMjAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBKb2luIHRoZSBiZXRhXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIC5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICApO1xufSJdLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZVJvdXRlciIsInVzZVNlYXJjaFBhcmFtcyIsIkxpbmsiLCJ1c2VBdXRoIiwiTG9naW5QYWdlIiwicm91dGVyIiwic2VhcmNoUGFyYW1zIiwibG9naW4iLCJsb2FkaW5nIiwiZW1haWwiLCJzZXRFbWFpbCIsInBhc3N3b3JkIiwic2V0UGFzc3dvcmQiLCJlcnJvciIsInNldEVycm9yIiwibmV4dCIsImdldCIsImhhbmRsZVN1Ym1pdCIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInB1c2giLCJlcnIiLCJtZXNzYWdlIiwibWFpbiIsImNsYXNzTmFtZSIsImRpdiIsImgxIiwic3BhbiIsInAiLCJmb3JtIiwib25TdWJtaXQiLCJsYWJlbCIsImh0bWxGb3IiLCJpbnB1dCIsImlkIiwidHlwZSIsImF1dG9Db21wbGV0ZSIsInJlcXVpcmVkIiwidmFsdWUiLCJvbkNoYW5nZSIsInRhcmdldCIsImJ1dHRvbiIsImRpc2FibGVkIiwiaHJlZiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./app/login/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 181,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FJO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgbG9hZGluZzogYm9vbGVhbjsgLy8gY292ZXJzIGluaXRpYWwgaHlkcmF0ZSArIGFjdGl2ZSBhdXRoIHJlcXVlc3RzXG4gIGxvZ2luOiAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVnaXN0ZXI6IChwYXJhbXM6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIH0pID0+IFByb21pc2U8dm9pZD47XG4gIGxvZ291dDogKCkgPT4gdm9pZDtcbiAgZ2V0QXV0aEhlYWRlcnM6ICgpID0+IEhlYWRlcnNJbml0O1xufTtcblxuY29uc3QgQXV0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEF1dGhDb250ZXh0VmFsdWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IFRPS0VOX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdG9rZW5cIjtcbmNvbnN0IFVTRVJfS0VZID0gXCJiYWxsaXN0aWNfYXV0aF91c2VyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRoUHJvdmlkZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxBdXRoVXNlcj4obnVsbCk7XG4gIGNvbnN0IFt0b2tlbiwgc2V0VG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpOyAvLyBzdGFydCB0cnVlIHdoaWxlIHdlIGh5ZHJhdGUgKyByZXVzZSBmb3IgY2FsbHNcblxuICAvLyBoeWRyYXRlIGZyb20gbG9jYWxTdG9yYWdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHN0b3JlZFRva2VuID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRPS0VOX0tFWSk7XG4gICAgICBjb25zdCBzdG9yZWRVc2VyID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFVTRVJfS0VZKTtcblxuICAgICAgaWYgKHN0b3JlZFRva2VuICYmIHN0b3JlZFVzZXIpIHtcbiAgICAgICAgc2V0VG9rZW4oc3RvcmVkVG9rZW4pO1xuICAgICAgICBzZXRVc2VyKEpTT04ucGFyc2Uoc3RvcmVkVXNlcikpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNldFNlc3Npb24gPSB1c2VDYWxsYmFjaygobmV3VG9rZW46IHN0cmluZywgbmV3VXNlcjogQXV0aFVzZXIpID0+IHtcbiAgICBzZXRUb2tlbihuZXdUb2tlbik7XG4gICAgc2V0VXNlcihuZXdVc2VyKTtcblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVE9LRU5fS0VZLCBuZXdUb2tlbik7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVVNFUl9LRVksIEpTT04uc3RyaW5naWZ5KG5ld1VzZXIpKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbGVhclNlc3Npb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW4obnVsbCk7XG4gICAgc2V0VXNlcihudWxsKTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX0tFWSk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVVNFUl9LRVkpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlZ2lzdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0VfVVJMfS9hcGkvYXV0aC9yZWdpc3RlcmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZW1haWw6IHBhcmFtcy5lbWFpbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogcGFyYW1zLmRpc3BsYXlOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBhY2NvdW50XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YToge1xuICAgICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICAgICAgICByb2xlOiBzdHJpbmc7XG4gICAgICAgIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIHNldFNlc3Npb24oZGF0YS50b2tlbiwge1xuICAgICAgICAgIGVtYWlsOiBkYXRhLmVtYWlsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgcm9sZTogZGF0YS5yb2xlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFNlc3Npb25dLFxuICApO1xuXG4gIGNvbnN0IGxvZ2luID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL2xvZ2luYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dCB8fCBcIkZhaWxlZCB0byBsb2cgaW5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9nb3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyU2Vzc2lvbigpO1xuICB9LCBbY2xlYXJTZXNzaW9uXSk7XG5cbiAgY29uc3QgZ2V0QXV0aEhlYWRlcnMgPSB1c2VDYWxsYmFjaygoKTogSGVhZGVyc0luaXQgPT4ge1xuICAgIGlmICghdG9rZW4pIHJldHVybiB7fTtcbiAgICByZXR1cm4ge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgfTtcbiAgfSwgW3Rva2VuXSk7XG5cbiAgY29uc3QgdmFsdWU6IEF1dGhDb250ZXh0VmFsdWUgPSB7XG4gICAgdXNlcixcbiAgICBsb2FkaW5nLFxuICAgIGxvZ2luLFxuICAgIHJlZ2lzdGVyLFxuICAgIGxvZ291dCxcbiAgICBnZXRBdXRoSGVhZGVycyxcbiAgfTtcblxuICByZXR1cm4gPEF1dGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQXV0aENvbnRleHQuUHJvdmlkZXI+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXV0aCgpOiBBdXRoQ29udGV4dFZhbHVlIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChBdXRoQ29udGV4dCk7XG4gIGlmICghY3R4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQXV0aCBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIEF1dGhQcm92aWRlclwiKTtcbiAgfVxuICByZXR1cm4gY3R4O1xufSJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJBUElfQkFTRV9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMIiwiQXV0aENvbnRleHQiLCJ1bmRlZmluZWQiLCJUT0tFTl9LRVkiLCJVU0VSX0tFWSIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ0b2tlbiIsInNldFRva2VuIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzdG9yZWRUb2tlbiIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdG9yZWRVc2VyIiwiSlNPTiIsInBhcnNlIiwic2V0U2Vzc2lvbiIsIm5ld1Rva2VuIiwibmV3VXNlciIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJjbGVhclNlc3Npb24iLCJyZW1vdmVJdGVtIiwicmVnaXN0ZXIiLCJwYXJhbXMiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiZW1haWwiLCJwYXNzd29yZCIsImRpc3BsYXlOYW1lIiwib2siLCJ0ZXh0IiwiRXJyb3IiLCJkYXRhIiwianNvbiIsInJvbGUiLCJsb2dpbiIsImxvZ291dCIsImdldEF1dGhIZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsInZhbHVlIiwiUHJvdmlkZXIiLCJ1c2VBdXRoIiwiY3R4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/login/page.tsx": -/*!****************************!*\ - !*** ./app/login/page.tsx ***! - \****************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $$typeof: () => (/* binding */ $$typeof),\n/* harmony export */ __esModule: () => (/* binding */ __esModule),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx#default`));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbG9naW4vcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUFxQiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vYXBwL2xvZ2luL3BhZ2UudHN4PzQ5MGEiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwL2xvZ2luL3BhZ2UudHN4XG5cInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHsgRm9ybUV2ZW50LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlUm91dGVyLCB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tIFwibmV4dC9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBMb2dpblBhZ2UoKSB7XG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xuICBjb25zdCBzZWFyY2hQYXJhbXMgPSB1c2VTZWFyY2hQYXJhbXMoKTtcbiAgY29uc3QgeyBsb2dpbiwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIGNvbnN0IFtlbWFpbCwgc2V0RW1haWxdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtwYXNzd29yZCwgc2V0UGFzc3dvcmRdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgbmV4dCA9IHNlYXJjaFBhcmFtcy5nZXQoXCJuZXh0XCIpIHx8IFwiL2d1bmJ1aWxkZXJcIjtcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVTdWJtaXQoZTogRm9ybUV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IGxvZ2luKHsgZW1haWwsIHBhc3N3b3JkIH0pO1xuICAgICAgcm91dGVyLnB1c2gobmV4dCk7XG4gICAgfSBjYXRjaCAoZXJyOiBhbnkpIHtcbiAgICAgIHNldEVycm9yKGVyci5tZXNzYWdlID8/IFwiRmFpbGVkIHRvIGxvZyBpblwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxtYWluIGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlbiBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBmbGV4IG1heC13LW1kIGZsZXgtY29sIHB4LTQgcHktMTBcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHRcIj5cbiAgICAgICAgICBMb2cgSW4gdG8gPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDBcIj5UaGUgQXJtb3J5PC9zcGFuPlxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0yIHRleHQtc20gdGV4dC16aW5jLTQwMFwiPlxuICAgICAgICAgIFVzZSB5b3VyIGJldGEgY3JlZGVudGlhbHMgdG8gZ2V0IGJhY2sgdG8geW91ciBzYXZlZCBidWlsZHMuXG4gICAgICAgIDwvcD5cblxuICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBjbGFzc05hbWU9XCJtdC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1yZWQtNTAwLzQwIGJnLXJlZC01MDAvMTAgcHgtMyBweS0yIHRleHQtc20gdGV4dC1yZWQtMjAwXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiIGh0bWxGb3I9XCJlbWFpbFwiPlxuICAgICAgICAgICAgICBFbWFpbFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cImVtYWlsXCJcbiAgICAgICAgICAgICAgdHlwZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwiZW1haWxcIlxuICAgICAgICAgICAgICByZXF1aXJlZFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3LWZ1bGwgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXppbmMtODAwIGJnLXppbmMtOTAwLzcwIHB4LTMgcHktMiB0ZXh0LXNtIHRleHQtemluYy01MCBmb2N1czpvdXRsaW5lLW5vbmUgZm9jdXM6cmluZy0xIGZvY3VzOnJpbmctYW1iZXItNDAwXCJcbiAgICAgICAgICAgICAgdmFsdWU9e2VtYWlsfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHNldEVtYWlsKGUudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIFBhc3N3b3JkXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICB0eXBlPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJjdXJyZW50LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTkwMC83MCBweC0zIHB5LTIgdGV4dC1zbSB0ZXh0LXppbmMtNTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLWFtYmVyLTQwMFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtwYXNzd29yZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRQYXNzd29yZChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBkaXNhYmxlZD17bG9hZGluZ31cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzIwIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0xMDAgaG92ZXI6YmctYW1iZXItNDAwLzMwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bG9hZGluZyA/IFwiU2lnbmluZyBpbuKAplwiIDogXCJMb2cgSW5cIn1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgdGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+XG4gICAgICAgICAgTmV3IGhlcmU/e1wiIFwifVxuICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQtYW1iZXItMzAwIGhvdmVyOnRleHQtYW1iZXItMjAwXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBKb2luIHRoZSBiZXRhXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIC5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICApO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/login/page.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Flogin%2Fpage&page=%2Flogin%2Fpage&appPaths=%2Flogin%2Fpage&pagePath=private-next-app-dir%2Flogin%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/login/page_client-reference-manifest.js b/.next/server/app/login/page_client-reference-manifest.js deleted file mode 100644 index 5ef7578..0000000 --- a/.next/server/app/login/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/login/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/register/page.tsx":{"*":{"id":"(ssr)/./app/register/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/login/page.tsx":{"*":{"id":"(ssr)/./app/login/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx":{"id":"(app-pages-browser)/./app/register/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx":{"id":"(app-pages-browser)/./app/login/page.tsx","name":"*","chunks":["app/login/page","static/chunks/app/login/page.js"],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/login/page":[]}} \ No newline at end of file diff --git a/.next/server/app/page.js b/.next/server/app/page.js deleted file mode 100644 index 04afb2c..0000000 --- a/.next/server/app/page.js +++ /dev/null @@ -1,239 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/page"; -exports.ids = ["app/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/page.tsx */ \"(rsc)/./app/page.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\"],\n \n }]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/page\",\n pathname: \"/\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZwYWdlJnBhZ2U9JTJGcGFnZSZhcHBQYXRocz0lMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcGFnZS50c3gmYXBwRGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJnBhZ2VFeHRlbnNpb25zPXRzeCZwYWdlRXh0ZW5zaW9ucz10cyZwYWdlRXh0ZW5zaW9ucz1qc3gmcGFnZUV4dGVuc2lvbnM9anMmcm9vdERpcj0lMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSZpc0Rldj10cnVlJnRzY29uZmlnUGF0aD10c2NvbmZpZy5qc29uJmJhc2VQYXRoPSZhc3NldFByZWZpeD0mbmV4dENvbmZpZ091dHB1dD0mcHJlZmVycmVkUmVnaW9uPSZtaWRkbGV3YXJlQ29uZmlnPWUzMCUzRCEiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGFBQWEsc0JBQXNCO0FBQ2lFO0FBQ3JDO0FBQy9EO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQztBQUNqQyx1QkFBdUIsd0lBQXNGO0FBQzdHO0FBQ0EsU0FBUztBQUNULE9BQU87QUFDUDtBQUNBLHlCQUF5Qiw0SUFBd0Y7QUFDakgsb0JBQW9CLDBOQUFnRjtBQUNwRztBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDdUI7QUFDNkQ7QUFDcEYsNkJBQTZCLG1CQUFtQjtBQUNoRDtBQUNPO0FBQ0E7QUFDUDtBQUNBO0FBQ0E7QUFDdUQ7QUFDdkQ7QUFDTyx3QkFBd0IsOEdBQWtCO0FBQ2pEO0FBQ0EsY0FBYyx5RUFBUztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDQTtBQUNBO0FBQ0EsQ0FBQzs7QUFFRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz85ZTBkIl0sInNvdXJjZXNDb250ZW50IjpbIlwiVFVSQk9QQUNLIHsgdHJhbnNpdGlvbjogbmV4dC1zc3IgfVwiO1xuaW1wb3J0IHsgQXBwUGFnZVJvdXRlTW9kdWxlIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLW1vZHVsZXMvYXBwLXBhZ2UvbW9kdWxlLmNvbXBpbGVkXCI7XG5pbXBvcnQgeyBSb3V0ZUtpbmQgfSBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9mdXR1cmUvcm91dGUta2luZFwiO1xuLy8gV2UgaW5qZWN0IHRoZSB0cmVlIGFuZCBwYWdlcyBoZXJlIHNvIHRoYXQgd2UgY2FuIHVzZSB0aGVtIGluIHRoZSByb3V0ZVxuLy8gbW9kdWxlLlxuY29uc3QgdHJlZSA9IHtcbiAgICAgICAgY2hpbGRyZW46IFtcbiAgICAgICAgJycsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvcGFnZS50c3hcIiksIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9wYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgJ2xheW91dCc6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiKSwgXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL2xheW91dC50c3hcIl0sXG4nbm90LWZvdW5kJzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwibmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1lcnJvclwiKSwgXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCJdLFxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIF1cbiAgICAgIH0uY2hpbGRyZW47XG5jb25zdCBwYWdlcyA9IFtcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvcGFnZS50c3hcIl07XG5leHBvcnQgeyB0cmVlLCBwYWdlcyB9O1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBHbG9iYWxFcnJvciB9IGZyb20gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnlcIjtcbmNvbnN0IF9fbmV4dF9hcHBfcmVxdWlyZV9fID0gX193ZWJwYWNrX3JlcXVpcmVfX1xuY29uc3QgX19uZXh0X2FwcF9sb2FkX2NodW5rX18gPSAoKSA9PiBQcm9taXNlLnJlc29sdmUoKVxuZXhwb3J0IGNvbnN0IG9yaWdpbmFsUGF0aG5hbWUgPSBcIi9wYWdlXCI7XG5leHBvcnQgY29uc3QgX19uZXh0X2FwcF9fID0ge1xuICAgIHJlcXVpcmU6IF9fbmV4dF9hcHBfcmVxdWlyZV9fLFxuICAgIGxvYWRDaHVuazogX19uZXh0X2FwcF9sb2FkX2NodW5rX19cbn07XG5leHBvcnQgKiBmcm9tIFwibmV4dC9kaXN0L3NlcnZlci9hcHAtcmVuZGVyL2VudHJ5LWJhc2VcIjtcbi8vIENyZWF0ZSBhbmQgZXhwb3J0IHRoZSByb3V0ZSBtb2R1bGUgdGhhdCB3aWxsIGJlIGNvbnN1bWVkLlxuZXhwb3J0IGNvbnN0IHJvdXRlTW9kdWxlID0gbmV3IEFwcFBhZ2VSb3V0ZU1vZHVsZSh7XG4gICAgZGVmaW5pdGlvbjoge1xuICAgICAgICBraW5kOiBSb3V0ZUtpbmQuQVBQX1BBR0UsXG4gICAgICAgIHBhZ2U6IFwiL3BhZ2VcIixcbiAgICAgICAgcGF0aG5hbWU6IFwiL1wiLFxuICAgICAgICAvLyBUaGUgZm9sbG93aW5nIGFyZW4ndCB1c2VkIGluIHByb2R1Y3Rpb24uXG4gICAgICAgIGJ1bmRsZVBhdGg6IFwiXCIsXG4gICAgICAgIGZpbGVuYW1lOiBcIlwiLFxuICAgICAgICBhcHBQYXRoczogW11cbiAgICB9LFxuICAgIHVzZXJsYW5kOiB7XG4gICAgICAgIGxvYWRlclRyZWU6IHRyZWVcbiAgICB9XG59KTtcblxuLy8jIHNvdXJjZU1hcHBpbmdVUkw9YXBwLXBhZ2UuanMubWFwIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!": -/*!*******************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true! ***! - \*******************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/link.js */ \"(ssr)/./node_modules/next/dist/client/link.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZsaW5rLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTIyKiUyMiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsZ01BQStHIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzgwODciXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvbGluay5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Flink.js%22%2C%22ids%22%3A%5B%22*%22%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 181,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FJO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgbG9hZGluZzogYm9vbGVhbjsgLy8gY292ZXJzIGluaXRpYWwgaHlkcmF0ZSArIGFjdGl2ZSBhdXRoIHJlcXVlc3RzXG4gIGxvZ2luOiAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgcmVnaXN0ZXI6IChwYXJhbXM6IHtcbiAgICBlbWFpbDogc3RyaW5nO1xuICAgIHBhc3N3b3JkOiBzdHJpbmc7XG4gICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gIH0pID0+IFByb21pc2U8dm9pZD47XG4gIGxvZ291dDogKCkgPT4gdm9pZDtcbiAgZ2V0QXV0aEhlYWRlcnM6ICgpID0+IEhlYWRlcnNJbml0O1xufTtcblxuY29uc3QgQXV0aENvbnRleHQgPSBjcmVhdGVDb250ZXh0PEF1dGhDb250ZXh0VmFsdWUgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG5cbmNvbnN0IFRPS0VOX0tFWSA9IFwiYmFsbGlzdGljX2F1dGhfdG9rZW5cIjtcbmNvbnN0IFVTRVJfS0VZID0gXCJiYWxsaXN0aWNfYXV0aF91c2VyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBBdXRoUHJvdmlkZXIoeyBjaGlsZHJlbiB9OiB7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfSkge1xuICBjb25zdCBbdXNlciwgc2V0VXNlcl0gPSB1c2VTdGF0ZTxBdXRoVXNlcj4obnVsbCk7XG4gIGNvbnN0IFt0b2tlbiwgc2V0VG9rZW5dID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpOyAvLyBzdGFydCB0cnVlIHdoaWxlIHdlIGh5ZHJhdGUgKyByZXVzZSBmb3IgY2FsbHNcblxuICAvLyBoeWRyYXRlIGZyb20gbG9jYWxTdG9yYWdlXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSBcInVuZGVmaW5lZFwiKSByZXR1cm47XG5cbiAgICAgIGNvbnN0IHN0b3JlZFRva2VuID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFRPS0VOX0tFWSk7XG4gICAgICBjb25zdCBzdG9yZWRVc2VyID0gd2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKFVTRVJfS0VZKTtcblxuICAgICAgaWYgKHN0b3JlZFRva2VuICYmIHN0b3JlZFVzZXIpIHtcbiAgICAgICAgc2V0VG9rZW4oc3RvcmVkVG9rZW4pO1xuICAgICAgICBzZXRVc2VyKEpTT04ucGFyc2Uoc3RvcmVkVXNlcikpO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHNldFNlc3Npb24gPSB1c2VDYWxsYmFjaygobmV3VG9rZW46IHN0cmluZywgbmV3VXNlcjogQXV0aFVzZXIpID0+IHtcbiAgICBzZXRUb2tlbihuZXdUb2tlbik7XG4gICAgc2V0VXNlcihuZXdVc2VyKTtcblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVE9LRU5fS0VZLCBuZXdUb2tlbik7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnNldEl0ZW0oVVNFUl9LRVksIEpTT04uc3RyaW5naWZ5KG5ld1VzZXIpKTtcbiAgICB9XG4gIH0sIFtdKTtcblxuICBjb25zdCBjbGVhclNlc3Npb24gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0VG9rZW4obnVsbCk7XG4gICAgc2V0VXNlcihudWxsKTtcbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgd2luZG93LmxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKFRPS0VOX0tFWSk7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVVNFUl9LRVkpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IHJlZ2lzdGVyID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nOyBkaXNwbGF5TmFtZT86IHN0cmluZyB9KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nKHRydWUpO1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goYCR7QVBJX0JBU0VfVVJMfS9hcGkvYXV0aC9yZWdpc3RlcmAsIHtcbiAgICAgICAgICBtZXRob2Q6IFwiUE9TVFwiLFxuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICAgICAgZW1haWw6IHBhcmFtcy5lbWFpbCxcbiAgICAgICAgICAgIHBhc3N3b3JkOiBwYXJhbXMucGFzc3dvcmQsXG4gICAgICAgICAgICBkaXNwbGF5TmFtZTogcGFyYW1zLmRpc3BsYXlOYW1lLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGNyZWF0ZSBhY2NvdW50XCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF0YToge1xuICAgICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgICAgZW1haWw6IHN0cmluZztcbiAgICAgICAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgICAgICAgICByb2xlOiBzdHJpbmc7XG4gICAgICAgIH0gPSBhd2FpdCByZXMuanNvbigpO1xuXG4gICAgICAgIHNldFNlc3Npb24oZGF0YS50b2tlbiwge1xuICAgICAgICAgIGVtYWlsOiBkYXRhLmVtYWlsLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBkYXRhLmRpc3BsYXlOYW1lID8/IG51bGwsXG4gICAgICAgICAgcm9sZTogZGF0YS5yb2xlLFxuICAgICAgICB9KTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHNldExvYWRpbmcoZmFsc2UpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW3NldFNlc3Npb25dLFxuICApO1xuXG4gIGNvbnN0IGxvZ2luID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHBhcmFtczogeyBlbWFpbDogc3RyaW5nOyBwYXNzd29yZDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL2xvZ2luYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICB9KSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKCFyZXMub2spIHtcbiAgICAgICAgICBjb25zdCB0ZXh0ID0gYXdhaXQgcmVzLnRleHQoKTtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IodGV4dCB8fCBcIkZhaWxlZCB0byBsb2cgaW5cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9nb3V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNsZWFyU2Vzc2lvbigpO1xuICB9LCBbY2xlYXJTZXNzaW9uXSk7XG5cbiAgY29uc3QgZ2V0QXV0aEhlYWRlcnMgPSB1c2VDYWxsYmFjaygoKTogSGVhZGVyc0luaXQgPT4ge1xuICAgIGlmICghdG9rZW4pIHJldHVybiB7fTtcbiAgICByZXR1cm4ge1xuICAgICAgQXV0aG9yaXphdGlvbjogYEJlYXJlciAke3Rva2VufWAsXG4gICAgfTtcbiAgfSwgW3Rva2VuXSk7XG5cbiAgY29uc3QgdmFsdWU6IEF1dGhDb250ZXh0VmFsdWUgPSB7XG4gICAgdXNlcixcbiAgICBsb2FkaW5nLFxuICAgIGxvZ2luLFxuICAgIHJlZ2lzdGVyLFxuICAgIGxvZ291dCxcbiAgICBnZXRBdXRoSGVhZGVycyxcbiAgfTtcblxuICByZXR1cm4gPEF1dGhDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+e2NoaWxkcmVufTwvQXV0aENvbnRleHQuUHJvdmlkZXI+O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdXNlQXV0aCgpOiBBdXRoQ29udGV4dFZhbHVlIHtcbiAgY29uc3QgY3R4ID0gdXNlQ29udGV4dChBdXRoQ29udGV4dCk7XG4gIGlmICghY3R4KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwidXNlQXV0aCBtdXN0IGJlIHVzZWQgd2l0aGluIGFuIEF1dGhQcm92aWRlclwiKTtcbiAgfVxuICByZXR1cm4gY3R4O1xufSJdLCJuYW1lcyI6WyJjcmVhdGVDb250ZXh0IiwidXNlQ2FsbGJhY2siLCJ1c2VDb250ZXh0IiwidXNlRWZmZWN0IiwidXNlU3RhdGUiLCJBUElfQkFTRV9VUkwiLCJwcm9jZXNzIiwiZW52IiwiTkVYVF9QVUJMSUNfQVBJX0JBU0VfVVJMIiwiQXV0aENvbnRleHQiLCJ1bmRlZmluZWQiLCJUT0tFTl9LRVkiLCJVU0VSX0tFWSIsIkF1dGhQcm92aWRlciIsImNoaWxkcmVuIiwidXNlciIsInNldFVzZXIiLCJ0b2tlbiIsInNldFRva2VuIiwibG9hZGluZyIsInNldExvYWRpbmciLCJzdG9yZWRUb2tlbiIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJzdG9yZWRVc2VyIiwiSlNPTiIsInBhcnNlIiwic2V0U2Vzc2lvbiIsIm5ld1Rva2VuIiwibmV3VXNlciIsInNldEl0ZW0iLCJzdHJpbmdpZnkiLCJjbGVhclNlc3Npb24iLCJyZW1vdmVJdGVtIiwicmVnaXN0ZXIiLCJwYXJhbXMiLCJyZXMiLCJmZXRjaCIsIm1ldGhvZCIsImhlYWRlcnMiLCJib2R5IiwiZW1haWwiLCJwYXNzd29yZCIsImRpc3BsYXlOYW1lIiwib2siLCJ0ZXh0IiwiRXJyb3IiLCJkYXRhIiwianNvbiIsInJvbGUiLCJsb2dpbiIsImxvZ291dCIsImdldEF1dGhIZWFkZXJzIiwiQXV0aG9yaXphdGlvbiIsInZhbHVlIiwiUHJvdmlkZXIiLCJ1c2VBdXRoIiwiY3R4Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/page.tsx": -/*!**********************!*\ - !*** ./app/page.tsx ***! - \**********************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ HomePage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(rsc)/./node_modules/next/dist/api/link.js\");\n\n\nfunction HomePage() {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50 flex items-center justify-center px-4\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"max-w-xl text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-500\",\n children: \"Shadow Standard Co.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 7,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"mt-2 text-3xl md:text-4xl font-semibold tracking-tight\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 10,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-3 text-sm md:text-base text-zinc-400\",\n children: \"Shadow Standard’s Armory Build Bench isn’t a catalog — it’s a workbench for people who take their rifles, and their craft, seriously. We pull live parts and pricing from the brands that matter, lay everything out with purpose, and let you shape a rifle the same way you’d shape a hunt or a mission: one smart choice at a time. Track your build cost, swap components on the fly, save your setup, and share it with the crew. No noise. No gimmicks. Just clean information and the tools to build something worth carrying.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 13,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mt-6\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/gunbuilder\",\n className: \"inline-flex items-center justify-center rounded-md border border-amber-400/70 bg-amber-400/10 px-4 py-2 text-sm font-medium text-amber-200 hover:bg-amber-400/15\",\n children: \"Open The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 23,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 6,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/page.tsx\",\n lineNumber: 5,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBNkI7QUFFZCxTQUFTQztJQUN0QixxQkFDRSw4REFBQ0M7UUFBS0MsV0FBVTtrQkFDZCw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBQ2IsOERBQUNFO29CQUFFRixXQUFVOzhCQUFpRTs7Ozs7OzhCQUc5RSw4REFBQ0c7b0JBQUdILFdBQVU7OEJBQXlEOzs7Ozs7OEJBR3ZFLDhEQUFDRTtvQkFBRUYsV0FBVTs4QkFBMEM7Ozs7Ozs4QkFVdkQsOERBQUNDO29CQUFJRCxXQUFVOzhCQUNiLDRFQUFDSCxpREFBSUE7d0JBQ0hPLE1BQUs7d0JBQ0xKLFdBQVU7a0NBQ1g7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFPWCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vYXBwL3BhZ2UudHN4Pzc2MDMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb21lUGFnZSgpIHtcbiAgcmV0dXJuIChcbiAgICA8bWFpbiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctYmxhY2sgdGV4dC16aW5jLTUwIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHB4LTRcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWF4LXcteGwgdGV4dC1jZW50ZXJcIj5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy01MDBcIj5cbiAgICAgICAgICBTaGFkb3cgU3RhbmRhcmQgQ28uXG4gICAgICAgIDwvcD5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cIm10LTIgdGV4dC0zeGwgbWQ6dGV4dC00eGwgZm9udC1zZW1pYm9sZCB0cmFja2luZy10aWdodFwiPlxuICAgICAgICAgIFRoZSBCdWlsZCBCZW5jaFxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0zIHRleHQtc20gbWQ6dGV4dC1iYXNlIHRleHQtemluYy00MDBcIj5cbiAgICAgICAgICBTaGFkb3cgU3RhbmRhcmTigJlzIEFybW9yeSBCdWlsZCBCZW5jaCBpc27igJl0IGEgY2F0YWxvZyDigJQgaXTigJlzIGFcbiAgICAgICAgICB3b3JrYmVuY2ggZm9yIHBlb3BsZSB3aG8gdGFrZSB0aGVpciByaWZsZXMsIGFuZCB0aGVpciBjcmFmdCxcbiAgICAgICAgICBzZXJpb3VzbHkuIFdlIHB1bGwgbGl2ZSBwYXJ0cyBhbmQgcHJpY2luZyBmcm9tIHRoZSBicmFuZHMgdGhhdCBtYXR0ZXIsXG4gICAgICAgICAgbGF5IGV2ZXJ5dGhpbmcgb3V0IHdpdGggcHVycG9zZSwgYW5kIGxldCB5b3Ugc2hhcGUgYSByaWZsZSB0aGUgc2FtZVxuICAgICAgICAgIHdheSB5b3XigJlkIHNoYXBlIGEgaHVudCBvciBhIG1pc3Npb246IG9uZSBzbWFydCBjaG9pY2UgYXQgYSB0aW1lLiBUcmFja1xuICAgICAgICAgIHlvdXIgYnVpbGQgY29zdCwgc3dhcCBjb21wb25lbnRzIG9uIHRoZSBmbHksIHNhdmUgeW91ciBzZXR1cCwgYW5kXG4gICAgICAgICAgc2hhcmUgaXQgd2l0aCB0aGUgY3Jldy4gTm8gbm9pc2UuIE5vIGdpbW1pY2tzLiBKdXN0IGNsZWFuIGluZm9ybWF0aW9uXG4gICAgICAgICAgYW5kIHRoZSB0b29scyB0byBidWlsZCBzb21ldGhpbmcgd29ydGggY2FycnlpbmcuXG4gICAgICAgIDwvcD5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtdC02XCI+XG4gICAgICAgICAgPExpbmtcbiAgICAgICAgICAgIGhyZWY9XCIvZ3VuYnVpbGRlclwiXG4gICAgICAgICAgICBjbGFzc05hbWU9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLWFtYmVyLTQwMC83MCBiZy1hbWJlci00MDAvMTAgcHgtNCBweS0yIHRleHQtc20gZm9udC1tZWRpdW0gdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzE1XCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICBPcGVuIFRoZSBCdWlsZCBCZW5jaFxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L21haW4+XG4gICk7XG59XG4iXSwibmFtZXMiOlsiTGluayIsIkhvbWVQYWdlIiwibWFpbiIsImNsYXNzTmFtZSIsImRpdiIsInAiLCJoMSIsImhyZWYiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/page.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fpage&page=%2Fpage&appPaths=%2Fpage&pagePath=private-next-app-dir%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/page_client-reference-manifest.js b/.next/server/app/page_client-reference-manifest.js deleted file mode 100644 index 79ffcf2..0000000 --- a/.next/server/app/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/register/page.tsx":{"*":{"id":"(ssr)/./app/register/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/login/page.tsx":{"*":{"id":"(ssr)/./app/login/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx":{"id":"(app-pages-browser)/./app/register/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx":{"id":"(app-pages-browser)/./app/login/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[]}} \ No newline at end of file diff --git a/.next/server/app/register/page.js b/.next/server/app/register/page.js deleted file mode 100644 index ffa3667..0000000 --- a/.next/server/app/register/page.js +++ /dev/null @@ -1,250 +0,0 @@ -/* - * 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/). - */ -(() => { -var exports = {}; -exports.id = "app/register/page"; -exports.ids = ["app/register/page"]; -exports.modules = { - -/***/ "./action-async-storage.external": -/*!****************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external" ***! - \****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/action-async-storage.external": -/*!*******************************************************************************!*\ - !*** external "next/dist/client/components/action-async-storage.external.js" ***! - \*******************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/action-async-storage.external.js"); - -/***/ }), - -/***/ "./request-async-storage.external": -/*!*****************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external" ***! - \*****************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/request-async-storage.external": -/*!********************************************************************************!*\ - !*** external "next/dist/client/components/request-async-storage.external.js" ***! - \********************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/request-async-storage.external.js"); - -/***/ }), - -/***/ "./static-generation-async-storage.external": -/*!***************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external" ***! - \***************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external"); - -/***/ }), - -/***/ "../../client/components/static-generation-async-storage.external": -/*!******************************************************************************************!*\ - !*** external "next/dist/client/components/static-generation-async-storage.external.js" ***! - \******************************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/client/components/static-generation-async-storage.external.js"); - -/***/ }), - -/***/ "next/dist/compiled/next-server/app-page.runtime.dev.js": -/*!*************************************************************************!*\ - !*** external "next/dist/compiled/next-server/app-page.runtime.dev.js" ***! - \*************************************************************************/ -/***/ ((module) => { - -"use strict"; -module.exports = require("next/dist/compiled/next-server/app-page.runtime.dev.js"); - -/***/ }), - -/***/ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fregister%2Fpage&page=%2Fregister%2Fpage&appPaths=%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!": -/*!******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fregister%2Fpage&page=%2Fregister%2Fpage&appPaths=%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D! ***! - \******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ GlobalError: () => (/* reexport default from dynamic */ next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default.a),\n/* harmony export */ __next_app__: () => (/* binding */ __next_app__),\n/* harmony export */ originalPathname: () => (/* binding */ originalPathname),\n/* harmony export */ pages: () => (/* binding */ pages),\n/* harmony export */ routeModule: () => (/* binding */ routeModule),\n/* harmony export */ tree: () => (/* binding */ tree)\n/* harmony export */ });\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/server/future/route-modules/app-page/module.compiled */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/module.compiled.js?d969\");\n/* harmony import */ var next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/dist/server/future/route-kind */ \"(rsc)/./node_modules/next/dist/server/future/route-kind.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/dist/client/components/error-boundary */ \"(rsc)/./node_modules/next/dist/client/components/error-boundary.js\");\n/* harmony import */ var next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(next_dist_client_components_error_boundary__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/dist/server/app-render/entry-base */ \"(rsc)/./node_modules/next/dist/server/app-render/entry-base.js\");\n/* harmony import */ var next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__) if([\"default\",\"tree\",\"pages\",\"GlobalError\",\"originalPathname\",\"__next_app__\",\"routeModule\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => next_dist_server_app_render_entry_base__WEBPACK_IMPORTED_MODULE_3__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\"TURBOPACK { transition: next-ssr }\";\n\n\n// We inject the tree and pages here so that we can use them in the route\n// module.\nconst tree = {\n children: [\n '',\n {\n children: [\n 'register',\n {\n children: ['__PAGE__', {}, {\n page: [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/register/page.tsx */ \"(rsc)/./app/register/page.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\"],\n \n }]\n },\n {\n \n \n }\n ]\n },\n {\n 'layout': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/layout.tsx */ \"(rsc)/./app/layout.tsx\")), \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\"],\n'not-found': [() => Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! next/dist/client/components/not-found-error */ \"(rsc)/./node_modules/next/dist/client/components/not-found-error.js\", 23)), \"next/dist/client/components/not-found-error\"],\n \n }\n ]\n }.children;\nconst pages = [\"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\"];\n\n\nconst __next_app_require__ = __webpack_require__\nconst __next_app_load_chunk__ = () => Promise.resolve()\nconst originalPathname = \"/register/page\";\nconst __next_app__ = {\n require: __next_app_require__,\n loadChunk: __next_app_load_chunk__\n};\n\n// Create and export the route module that will be consumed.\nconst routeModule = new next_dist_server_future_route_modules_app_page_module_compiled__WEBPACK_IMPORTED_MODULE_0__.AppPageRouteModule({\n definition: {\n kind: next_dist_server_future_route_kind__WEBPACK_IMPORTED_MODULE_1__.RouteKind.APP_PAGE,\n page: \"/register/page\",\n pathname: \"/register\",\n // The following aren't used in production.\n bundlePath: \"\",\n filename: \"\",\n appPaths: []\n },\n userland: {\n loaderTree: tree\n }\n});\n\n//# sourceMappingURL=app-page.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWFwcC1sb2FkZXIuanM/bmFtZT1hcHAlMkZyZWdpc3RlciUyRnBhZ2UmcGFnZT0lMkZyZWdpc3RlciUyRnBhZ2UmYXBwUGF0aHM9JTJGcmVnaXN0ZXIlMkZwYWdlJnBhZ2VQYXRoPXByaXZhdGUtbmV4dC1hcHAtZGlyJTJGcmVnaXN0ZXIlMkZwYWdlLnRzeCZhcHBEaXI9JTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZhcHAmcGFnZUV4dGVuc2lvbnM9dHN4JnBhZ2VFeHRlbnNpb25zPXRzJnBhZ2VFeHRlbnNpb25zPWpzeCZwYWdlRXh0ZW5zaW9ucz1qcyZyb290RGlyPSUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJmlzRGV2PXRydWUmdHNjb25maWdQYXRoPXRzY29uZmlnLmpzb24mYmFzZVBhdGg9JmFzc2V0UHJlZml4PSZuZXh0Q29uZmlnT3V0cHV0PSZwcmVmZXJyZWRSZWdpb249Jm1pZGRsZXdhcmVDb25maWc9ZTMwJTNEISIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsYUFBYSxzQkFBc0I7QUFDaUU7QUFDckM7QUFDL0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDO0FBQ2pDLHVCQUF1QiwwSkFBK0Y7QUFDdEg7QUFDQSxTQUFTO0FBQ1QsT0FBTztBQUNQO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPO0FBQ1A7QUFDQSx5QkFBeUIsNElBQXdGO0FBQ2pILG9CQUFvQiwwTkFBZ0Y7QUFDcEc7QUFDQTtBQUNBO0FBQ0EsT0FBTztBQUNQO0FBQ3VCO0FBQzZEO0FBQ3BGLDZCQUE2QixtQkFBbUI7QUFDaEQ7QUFDTztBQUNBO0FBQ1A7QUFDQTtBQUNBO0FBQ3VEO0FBQ3ZEO0FBQ08sd0JBQXdCLDhHQUFrQjtBQUNqRDtBQUNBLGNBQWMseUVBQVM7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBLENBQUM7O0FBRUQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8/OGMwYSJdLCJzb3VyY2VzQ29udGVudCI6WyJcIlRVUkJPUEFDSyB7IHRyYW5zaXRpb246IG5leHQtc3NyIH1cIjtcbmltcG9ydCB7IEFwcFBhZ2VSb3V0ZU1vZHVsZSB9IGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2Z1dHVyZS9yb3V0ZS1tb2R1bGVzL2FwcC1wYWdlL21vZHVsZS5jb21waWxlZFwiO1xuaW1wb3J0IHsgUm91dGVLaW5kIH0gZnJvbSBcIm5leHQvZGlzdC9zZXJ2ZXIvZnV0dXJlL3JvdXRlLWtpbmRcIjtcbi8vIFdlIGluamVjdCB0aGUgdHJlZSBhbmQgcGFnZXMgaGVyZSBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlbSBpbiB0aGUgcm91dGVcbi8vIG1vZHVsZS5cbmNvbnN0IHRyZWUgPSB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICcnLFxuICAgICAgICB7XG4gICAgICAgIGNoaWxkcmVuOiBbXG4gICAgICAgICdyZWdpc3RlcicsXG4gICAgICAgIHtcbiAgICAgICAgY2hpbGRyZW46IFsnX19QQUdFX18nLCB7fSwge1xuICAgICAgICAgIHBhZ2U6IFsoKSA9PiBpbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvcmVnaXN0ZXIvcGFnZS50c3hcIiksIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9yZWdpc3Rlci9wYWdlLnRzeFwiXSxcbiAgICAgICAgICBcbiAgICAgICAgfV1cbiAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAnbGF5b3V0JzogWygpID0+IGltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9sYXlvdXQudHN4XCIpLCBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9hcHAvbGF5b3V0LnRzeFwiXSxcbidub3QtZm91bmQnOiBbKCkgPT4gaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCJuZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWVycm9yXCIpLCBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQtZXJyb3JcIl0sXG4gICAgICAgIFxuICAgICAgfVxuICAgICAgXVxuICAgICAgfS5jaGlsZHJlbjtcbmNvbnN0IHBhZ2VzID0gW1wiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2FwcC9yZWdpc3Rlci9wYWdlLnRzeFwiXTtcbmV4cG9ydCB7IHRyZWUsIHBhZ2VzIH07XG5leHBvcnQgeyBkZWZhdWx0IGFzIEdsb2JhbEVycm9yIH0gZnJvbSBcIm5leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9lcnJvci1ib3VuZGFyeVwiO1xuY29uc3QgX19uZXh0X2FwcF9yZXF1aXJlX18gPSBfX3dlYnBhY2tfcmVxdWlyZV9fXG5jb25zdCBfX25leHRfYXBwX2xvYWRfY2h1bmtfXyA9ICgpID0+IFByb21pc2UucmVzb2x2ZSgpXG5leHBvcnQgY29uc3Qgb3JpZ2luYWxQYXRobmFtZSA9IFwiL3JlZ2lzdGVyL3BhZ2VcIjtcbmV4cG9ydCBjb25zdCBfX25leHRfYXBwX18gPSB7XG4gICAgcmVxdWlyZTogX19uZXh0X2FwcF9yZXF1aXJlX18sXG4gICAgbG9hZENodW5rOiBfX25leHRfYXBwX2xvYWRfY2h1bmtfX1xufTtcbmV4cG9ydCAqIGZyb20gXCJuZXh0L2Rpc3Qvc2VydmVyL2FwcC1yZW5kZXIvZW50cnktYmFzZVwiO1xuLy8gQ3JlYXRlIGFuZCBleHBvcnQgdGhlIHJvdXRlIG1vZHVsZSB0aGF0IHdpbGwgYmUgY29uc3VtZWQuXG5leHBvcnQgY29uc3Qgcm91dGVNb2R1bGUgPSBuZXcgQXBwUGFnZVJvdXRlTW9kdWxlKHtcbiAgICBkZWZpbml0aW9uOiB7XG4gICAgICAgIGtpbmQ6IFJvdXRlS2luZC5BUFBfUEFHRSxcbiAgICAgICAgcGFnZTogXCIvcmVnaXN0ZXIvcGFnZVwiLFxuICAgICAgICBwYXRobmFtZTogXCIvcmVnaXN0ZXJcIixcbiAgICAgICAgLy8gVGhlIGZvbGxvd2luZyBhcmVuJ3QgdXNlZCBpbiBwcm9kdWN0aW9uLlxuICAgICAgICBidW5kbGVQYXRoOiBcIlwiLFxuICAgICAgICBmaWxlbmFtZTogXCJcIixcbiAgICAgICAgYXBwUGF0aHM6IFtdXG4gICAgfSxcbiAgICB1c2VybGFuZDoge1xuICAgICAgICBsb2FkZXJUcmVlOiB0cmVlXG4gICAgfVxufSk7XG5cbi8vIyBzb3VyY2VNYXBwaW5nVVJMPWFwcC1wYWdlLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fregister%2Fpage&page=%2Fregister%2Fpage&appPaths=%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./components/TopNav.tsx */ \"(ssr)/./components/TopNav.tsx\"));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./context/AuthContext.tsx */ \"(ssr)/./context/AuthContext.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGZ2xvYmFscy5jc3MlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZjb21wb25lbnRzJTJGVG9wTmF2LnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiUyMlRvcE5hdiUyMiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRmNvbnRleHQlMkZBdXRoQ29udGV4dC50c3glMjIlMkMlMjJpZHMlMjIlM0ElNUIlMjJBdXRoUHJvdmlkZXIlMjIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZm9udCUyRmdvb2dsZSUyRnRhcmdldC5jc3MlM0YlN0IlNUMlMjJwYXRoJTVDJTIyJTNBJTVDJTIyYXBwJTJGbGF5b3V0LnRzeCU1QyUyMiUyQyU1QyUyMmltcG9ydCU1QyUyMiUzQSU1QyUyMkludGVyJTVDJTIyJTJDJTVDJTIyYXJndW1lbnRzJTVDJTIyJTNBJTVCJTdCJTVDJTIyc3Vic2V0cyU1QyUyMiUzQSU1QiU1QyUyMmxhdGluJTVDJTIyJTVEJTdEJTVEJTJDJTVDJTIydmFyaWFibGVOYW1lJTVDJTIyJTNBJTVDJTIyaW50ZXIlNUMlMjIlN0QlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0Qmc2VydmVyPXRydWUhIiwibWFwcGluZ3MiOiJBQUFBLDBKQUEySDtBQUMzSDtBQUNBLDhKQUFtSSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLz9kZmY4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiVG9wTmF2XCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbXBvbmVudHMvVG9wTmF2LnRzeFwiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiLCB3ZWJwYWNrRXhwb3J0czogW1wiQXV0aFByb3ZpZGVyXCJdICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL2NvbnRleHQvQXV0aENvbnRleHQudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fglobals.css%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcomponents%2FTopNav.tsx%22%2C%22ids%22%3A%5B%22TopNav%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fcontext%2FAuthContext.tsx%22%2C%22ids%22%3A%5B%22AuthProvider%22%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Ffont%2Fgoogle%2Ftarget.css%3F%7B%5C%22path%5C%22%3A%5C%22app%2Flayout.tsx%5C%22%2C%5C%22import%5C%22%3A%5C%22Inter%5C%22%2C%5C%22arguments%5C%22%3A%5B%7B%5C%22subsets%5C%22%3A%5B%5C%22latin%5C%22%5D%7D%5D%2C%5C%22variableName%5C%22%3A%5C%22inter%5C%22%7D%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fregister%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!****************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fregister%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \****************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.bind(__webpack_require__, /*! ./app/register/page.tsx */ \"(ssr)/./app/register/page.tsx\"));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGYXBwJTJGcmVnaXN0ZXIlMkZwYWdlLnRzeCUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsMEpBQStGIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvP2ExZGEiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvYXBwL3JlZ2lzdGVyL3BhZ2UudHN4XCIpO1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp%2Fregister%2Fpage.tsx%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!": -/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true! ***! - \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => { - -eval("Promise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/app-router.js */ \"(ssr)/./node_modules/next/dist/client/components/app-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/client-page.js */ \"(ssr)/./node_modules/next/dist/client/components/client-page.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/error-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/layout-router.js */ \"(ssr)/./node_modules/next/dist/client/components/layout-router.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/not-found-boundary.js */ \"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js\", 23));\n;\nPromise.resolve(/*! import() eager */).then(__webpack_require__.t.bind(__webpack_require__, /*! ./node_modules/next/dist/client/components/render-from-template-context.js */ \"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js\", 23));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2J1aWxkL3dlYnBhY2svbG9hZGVycy9uZXh0LWZsaWdodC1jbGllbnQtZW50cnktbG9hZGVyLmpzP21vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGYXBwLXJvdXRlci5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZtb2R1bGVzPSU3QiUyMnJlcXVlc3QlMjIlM0ElMjIlMkZVc2VycyUyRnNlYW4lMkZEZXYlMkZndW5idWlsZGVyLXByb3RvdHlwZSUyRm5vZGVfbW9kdWxlcyUyRm5leHQlMkZkaXN0JTJGY2xpZW50JTJGY29tcG9uZW50cyUyRmNsaWVudC1wYWdlLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGZXJyb3ItYm91bmRhcnkuanMlMjIlMkMlMjJpZHMlMjIlM0ElNUIlNUQlN0QmbW9kdWxlcz0lN0IlMjJyZXF1ZXN0JTIyJTNBJTIyJTJGVXNlcnMlMkZzZWFuJTJGRGV2JTJGZ3VuYnVpbGRlci1wcm90b3R5cGUlMkZub2RlX21vZHVsZXMlMkZuZXh0JTJGZGlzdCUyRmNsaWVudCUyRmNvbXBvbmVudHMlMkZsYXlvdXQtcm91dGVyLmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGbm90LWZvdW5kLWJvdW5kYXJ5LmpzJTIyJTJDJTIyaWRzJTIyJTNBJTVCJTVEJTdEJm1vZHVsZXM9JTdCJTIycmVxdWVzdCUyMiUzQSUyMiUyRlVzZXJzJTJGc2VhbiUyRkRldiUyRmd1bmJ1aWxkZXItcHJvdG90eXBlJTJGbm9kZV9tb2R1bGVzJTJGbmV4dCUyRmRpc3QlMkZjbGllbnQlMkZjb21wb25lbnRzJTJGcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qcyUyMiUyQyUyMmlkcyUyMiUzQSU1QiU1RCU3RCZzZXJ2ZXI9dHJ1ZSEiLCJtYXBwaW5ncyI6IkFBQUEsa09BQWdJO0FBQ2hJO0FBQ0Esb09BQWlJO0FBQ2pJO0FBQ0EsME9BQW9JO0FBQ3BJO0FBQ0Esd09BQW1JO0FBQ25JO0FBQ0Esa1BBQXdJO0FBQ3hJO0FBQ0Esc1FBQWtKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvPzdiMjUiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLmpzXCIpO1xuO1xuaW1wb3J0KC8qIHdlYnBhY2tNb2RlOiBcImVhZ2VyXCIgKi8gXCIvVXNlcnMvc2Vhbi9EZXYvZ3VuYnVpbGRlci1wcm90b3R5cGUvbm9kZV9tb2R1bGVzL25leHQvZGlzdC9jbGllbnQvY29tcG9uZW50cy9jbGllbnQtcGFnZS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanNcIik7XG47XG5pbXBvcnQoLyogd2VicGFja01vZGU6IFwiZWFnZXJcIiAqLyBcIi9Vc2Vycy9zZWFuL0Rldi9ndW5idWlsZGVyLXByb3RvdHlwZS9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qc1wiKTtcbjtcbmltcG9ydCgvKiB3ZWJwYWNrTW9kZTogXCJlYWdlclwiICovIFwiL1VzZXJzL3NlYW4vRGV2L2d1bmJ1aWxkZXItcHJvdG90eXBlL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvY2xpZW50L2NvbXBvbmVudHMvcmVuZGVyLWZyb20tdGVtcGxhdGUtY29udGV4dC5qc1wiKTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/build/webpack/loaders/next-flight-client-entry-loader.js?modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fapp-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fclient-page.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Ferror-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Flayout-router.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Fnot-found-boundary.js%22%2C%22ids%22%3A%5B%5D%7D&modules=%7B%22request%22%3A%22%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fnode_modules%2Fnext%2Fdist%2Fclient%2Fcomponents%2Frender-from-template-context.js%22%2C%22ids%22%3A%5B%5D%7D&server=true!\n"); - -/***/ }), - -/***/ "(ssr)/./app/register/page.tsx": -/*!*******************************!*\ - !*** ./app/register/page.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RegisterPage)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var next_navigation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! next/navigation */ \"(ssr)/./node_modules/next/dist/api/navigation.js\");\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// app/register/page.tsx\n/* __next_internal_client_entry_do_not_use__ default auto */ \n\n\n\n\nfunction RegisterPage() {\n const router = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useRouter)();\n const searchParams = (0,next_navigation__WEBPACK_IMPORTED_MODULE_2__.useSearchParams)();\n const { register, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_4__.useAuth)();\n const [email, setEmail] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [displayName, setDisplayName] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [password, setPassword] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(\"\");\n const [error, setError] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const next = searchParams.get(\"next\") || \"/gunbuilder\";\n async function handleSubmit(e) {\n e.preventDefault();\n setError(null);\n try {\n await register({\n email,\n password,\n displayName\n });\n router.push(next);\n } catch (err) {\n setError(err.message ?? \"Failed to create account\");\n }\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"min-h-screen bg-black text-zinc-50\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-md flex-col px-4 py-10\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-2xl font-semibold tracking-tight\",\n children: [\n \"Join the \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-300\",\n children: \"Shadow Standard\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 37,\n columnNumber: 20\n }, this),\n \" beta\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 36,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-2 text-sm text-zinc-400\",\n children: \"Create an account so we can save your builds, watch price drops, and roll out new features to you first.\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 39,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"form\", {\n onSubmit: handleSubmit,\n className: \"mt-6 space-y-4\",\n children: [\n error && /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"rounded-md border border-red-500/40 bg-red-500/10 px-3 py-2 text-sm text-red-200\",\n children: error\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 46,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"displayName\",\n children: \"Display Name (optional)\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 52,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"displayName\",\n type: \"text\",\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: displayName,\n onChange: (e)=>setDisplayName(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 58,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 51,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"email\",\n children: \"Email\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 68,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"email\",\n type: \"email\",\n autoComplete: \"email\",\n required: true,\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: email,\n onChange: (e)=>setEmail(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 71,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 67,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"space-y-1\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"label\", {\n className: \"text-xs font-medium text-zinc-400\",\n htmlFor: \"password\",\n children: \"Password\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 83,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"input\", {\n id: \"password\",\n type: \"password\",\n autoComplete: \"new-password\",\n required: true,\n className: \"w-full rounded-md border border-zinc-800 bg-zinc-900/70 px-3 py-2 text-sm text-zinc-50 focus:outline-none focus:ring-1 focus:ring-amber-400\",\n value: password,\n onChange: (e)=>setPassword(e.target.value)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 89,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 82,\n columnNumber: 11\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"submit\",\n disabled: loading,\n className: \"mt-2 w-full rounded-md border border-amber-400/70 bg-amber-400/20 px-3 py-2 text-sm font-semibold text-amber-100 hover:bg-amber-400/30 disabled:opacity-50 disabled:cursor-not-allowed transition-colors\",\n children: loading ? \"Creating account…\" : \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 100,\n columnNumber: 11\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 44,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"mt-4 text-xs text-zinc-500\",\n children: [\n \"Already have an account?\",\n \" \",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n href: \"/login\",\n className: \"text-amber-300 hover:text-amber-200\",\n children: \"Log in\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 111,\n columnNumber: 11\n }, this),\n \".\"\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 109,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 35,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx\",\n lineNumber: 34,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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Y2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9yZWdpc3Rlci9wYWdlLnRzeD80N2E4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGFwcC9yZWdpc3Rlci9wYWdlLnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7IEZvcm1FdmVudCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IHVzZVJvdXRlciwgdXNlU2VhcmNoUGFyYW1zIH0gZnJvbSBcIm5leHQvbmF2aWdhdGlvblwiO1xuaW1wb3J0IExpbmsgZnJvbSBcIm5leHQvbGlua1wiO1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUmVnaXN0ZXJQYWdlKCkge1xuICBjb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKTtcbiAgY29uc3Qgc2VhcmNoUGFyYW1zID0gdXNlU2VhcmNoUGFyYW1zKCk7XG4gIGNvbnN0IHsgcmVnaXN0ZXIsIGxvYWRpbmcgfSA9IHVzZUF1dGgoKTtcblxuICBjb25zdCBbZW1haWwsIHNldEVtYWlsXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZGlzcGxheU5hbWUsIHNldERpc3BsYXlOYW1lXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbcGFzc3dvcmQsIHNldFBhc3N3b3JkXSA9IHVzZVN0YXRlKFwiXCIpO1xuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG4gIGNvbnN0IG5leHQgPSBzZWFyY2hQYXJhbXMuZ2V0KFwibmV4dFwiKSB8fCBcIi9ndW5idWlsZGVyXCI7XG5cbiAgYXN5bmMgZnVuY3Rpb24gaGFuZGxlU3VibWl0KGU6IEZvcm1FdmVudCkge1xuICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICBzZXRFcnJvcihudWxsKTtcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCByZWdpc3Rlcih7IGVtYWlsLCBwYXNzd29yZCwgZGlzcGxheU5hbWUgfSk7XG4gICAgICByb3V0ZXIucHVzaChuZXh0KTtcbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgc2V0RXJyb3IoZXJyLm1lc3NhZ2UgPz8gXCJGYWlsZWQgdG8gY3JlYXRlIGFjY291bnRcIik7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8bWFpbiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gYmctYmxhY2sgdGV4dC16aW5jLTUwXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy1tZCBmbGV4LWNvbCBweC00IHB5LTEwXCI+XG4gICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTJ4bCBmb250LXNlbWlib2xkIHRyYWNraW5nLXRpZ2h0XCI+XG4gICAgICAgICAgSm9pbiB0aGUgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDBcIj5TaGFkb3cgU3RhbmRhcmQ8L3NwYW4+IGJldGFcbiAgICAgICAgPC9oMT5cbiAgICAgICAgPHAgY2xhc3NOYW1lPVwibXQtMiB0ZXh0LXNtIHRleHQtemluYy00MDBcIj5cbiAgICAgICAgICBDcmVhdGUgYW4gYWNjb3VudCBzbyB3ZSBjYW4gc2F2ZSB5b3VyIGJ1aWxkcywgd2F0Y2ggcHJpY2UgZHJvcHMsIGFuZFxuICAgICAgICAgIHJvbGwgb3V0IG5ldyBmZWF0dXJlcyB0byB5b3UgZmlyc3QuXG4gICAgICAgIDwvcD5cblxuICAgICAgICA8Zm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fSBjbGFzc05hbWU9XCJtdC02IHNwYWNlLXktNFwiPlxuICAgICAgICAgIHtlcnJvciAmJiAoXG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1yZWQtNTAwLzQwIGJnLXJlZC01MDAvMTAgcHgtMyBweS0yIHRleHQtc20gdGV4dC1yZWQtMjAwXCI+XG4gICAgICAgICAgICAgIHtlcnJvcn1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG5cbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInNwYWNlLXktMVwiPlxuICAgICAgICAgICAgPGxhYmVsXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMFwiXG4gICAgICAgICAgICAgIGh0bWxGb3I9XCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIERpc3BsYXkgTmFtZSAob3B0aW9uYWwpXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwiZGlzcGxheU5hbWVcIlxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05MDAvNzAgcHgtMyBweS0yIHRleHQtc20gdGV4dC16aW5jLTUwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1hbWJlci00MDBcIlxuICAgICAgICAgICAgICB2YWx1ZT17ZGlzcGxheU5hbWV9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0RGlzcGxheU5hbWUoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICA8bGFiZWwgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwXCIgaHRtbEZvcj1cImVtYWlsXCI+XG4gICAgICAgICAgICAgIEVtYWlsXG4gICAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgIGlkPVwiZW1haWxcIlxuICAgICAgICAgICAgICB0eXBlPVwiZW1haWxcIlxuICAgICAgICAgICAgICBhdXRvQ29tcGxldGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05MDAvNzAgcHgtMyBweS0yIHRleHQtc20gdGV4dC16aW5jLTUwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1hbWJlci00MDBcIlxuICAgICAgICAgICAgICB2YWx1ZT17ZW1haWx9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0RW1haWwoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwXCJcbiAgICAgICAgICAgICAgaHRtbEZvcj1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgUGFzc3dvcmRcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJwYXNzd29yZFwiXG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cIm5ldy1wYXNzd29yZFwiXG4gICAgICAgICAgICAgIHJlcXVpcmVkXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cInctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItemluYy04MDAgYmctemluYy05MDAvNzAgcHgtMyBweS0yIHRleHQtc20gdGV4dC16aW5jLTUwIGZvY3VzOm91dGxpbmUtbm9uZSBmb2N1czpyaW5nLTEgZm9jdXM6cmluZy1hbWJlci00MDBcIlxuICAgICAgICAgICAgICB2YWx1ZT17cGFzc3dvcmR9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZSkgPT4gc2V0UGFzc3dvcmQoZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgZGlzYWJsZWQ9e2xvYWRpbmd9XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtdC0yIHctZnVsbCByb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8yMCBweC0zIHB5LTIgdGV4dC1zbSBmb250LXNlbWlib2xkIHRleHQtYW1iZXItMTAwIGhvdmVyOmJnLWFtYmVyLTQwMC8zMCBkaXNhYmxlZDpvcGFjaXR5LTUwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge2xvYWRpbmcgPyBcIkNyZWF0aW5nIGFjY291bnTigKZcIiA6IFwiSm9pbiBCZXRhXCJ9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZm9ybT5cblxuICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC00IHRleHQteHMgdGV4dC16aW5jLTUwMFwiPlxuICAgICAgICAgIEFscmVhZHkgaGF2ZSBhbiBhY2NvdW50P3tcIiBcIn1cbiAgICAgICAgICA8TGluayBocmVmPVwiL2xvZ2luXCIgY2xhc3NOYW1lPVwidGV4dC1hbWJlci0zMDAgaG92ZXI6dGV4dC1hbWJlci0yMDBcIj5cbiAgICAgICAgICAgIExvZyBpblxuICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAuXG4gICAgICAgIDwvcD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbWFpbj5cbiAgKTtcbn0iXSwibmFtZXMiOlsidXNlU3RhdGUiLCJ1c2VSb3V0ZXIiLCJ1c2VTZWFyY2hQYXJhbXMiLCJMaW5rIiwidXNlQXV0aCIsIlJlZ2lzdGVyUGFnZSIsInJvdXRlciIsInNlYXJjaFBhcmFtcyIsInJlZ2lzdGVyIiwibG9hZGluZyIsImVtYWlsIiwic2V0RW1haWwiLCJkaXNwbGF5TmFtZSIsInNldERpc3BsYXlOYW1lIiwicGFzc3dvcmQiLCJzZXRQYXNzd29yZCIsImVycm9yIiwic2V0RXJyb3IiLCJuZXh0IiwiZ2V0IiwiaGFuZGxlU3VibWl0IiwiZSIsInByZXZlbnREZWZhdWx0IiwicHVzaCIsImVyciIsIm1lc3NhZ2UiLCJtYWluIiwiY2xhc3NOYW1lIiwiZGl2IiwiaDEiLCJzcGFuIiwicCIsImZvcm0iLCJvblN1Ym1pdCIsImxhYmVsIiwiaHRtbEZvciIsImlucHV0IiwiaWQiLCJ0eXBlIiwidmFsdWUiLCJvbkNoYW5nZSIsInRhcmdldCIsImF1dG9Db21wbGV0ZSIsInJlcXVpcmVkIiwiYnV0dG9uIiwiZGlzYWJsZWQiLCJocmVmIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./app/register/page.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ TopNav)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_link__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! next/link */ \"(ssr)/./node_modules/next/dist/api/link.js\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(ssr)/./context/AuthContext.tsx\");\n// components/TopNav.tsx\n/* __next_internal_client_entry_do_not_use__ TopNav auto */ \n\n\nfunction TopNav() {\n const { user, logout, loading } = (0,_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.useAuth)();\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"border-b border-zinc-800 bg-black/95 backdrop-blur\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mx-auto flex max-w-6xl items-center justify-between px-4 py-2\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/\",\n className: \"text-xs font-semibold tracking-[0.2em] uppercase text-zinc-400\",\n children: \"The Build Bench\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 14,\n columnNumber: 9\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex items-center gap-3\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n className: \"inline-flex h-8 w-8 items-center justify-center rounded-full border border-zinc-700 bg-zinc-900/60 text-zinc-400 hover:text-zinc-200 hover:bg-zinc-800 hover:border-zinc-500 transition-colors\",\n \"aria-label\": \"Search (coming soon)\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"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 className: \"h-4 w-4\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"circle\", {\n cx: \"11\",\n cy: \"11\",\n r: \"6\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 39,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"line\", {\n x1: \"16.5\",\n y1: \"16.5\",\n x2: \"21\",\n y2: \"21\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 40,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 29,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 24,\n columnNumber: 11\n }, this),\n loading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-500\",\n children: \"Checking session…\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 45,\n columnNumber: 13\n }, this) : user ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-xs text-zinc-300\",\n children: user.displayName || user.email\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 48,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n type: \"button\",\n onClick: logout,\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log Out\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 51,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/login\",\n className: \"text-xs font-medium text-zinc-400 hover:text-zinc-100 transition-colors\",\n children: \"Log In\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 61,\n columnNumber: 15\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(next_link__WEBPACK_IMPORTED_MODULE_1__[\"default\"], {\n href: \"/register\",\n className: \"rounded-md border border-amber-400/70 bg-amber-400/10 px-3 py-1.5 text-xs font-semibold text-amber-200 hover:bg-amber-400/20 transition-colors\",\n children: \"Join Beta\"\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 67,\n columnNumber: 15\n }, this)\n ]\n }, void 0, true)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 22,\n columnNumber: 9\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 12,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx\",\n lineNumber: 11,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSx3QkFBd0I7O0FBR0s7QUFDbUI7QUFFekMsU0FBU0U7SUFDZCxNQUFNLEVBQUVDLElBQUksRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUUsR0FBR0osNkRBQU9BO0lBRXpDLHFCQUNFLDhEQUFDSztRQUFPQyxXQUFVO2tCQUNoQiw0RUFBQ0M7WUFBSUQsV0FBVTs7OEJBRWIsOERBQUNQLGlEQUFJQTtvQkFDSFMsTUFBSztvQkFDTEYsV0FBVTs4QkFDWDs7Ozs7OzhCQUtELDhEQUFDQztvQkFBSUQsV0FBVTs7c0NBRWIsOERBQUNHOzRCQUNDQyxNQUFLOzRCQUNMSixXQUFVOzRCQUNWSyxjQUFXO3NDQUVYLDRFQUFDQztnQ0FDQ0MsT0FBTTtnQ0FDTkMsU0FBUTtnQ0FDUkMsTUFBSztnQ0FDTEMsUUFBTztnQ0FDUEMsYUFBYTtnQ0FDYkMsZUFBYztnQ0FDZEMsZ0JBQWU7Z0NBQ2ZiLFdBQVU7O2tEQUVWLDhEQUFDYzt3Q0FBT0MsSUFBRzt3Q0FBS0MsSUFBRzt3Q0FBS0MsR0FBRTs7Ozs7O2tEQUMxQiw4REFBQ0M7d0NBQUtDLElBQUc7d0NBQU9DLElBQUc7d0NBQU9DLElBQUc7d0NBQUtDLElBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7O3dCQUl4Q3hCLHdCQUNDLDhEQUFDeUI7NEJBQUt2QixXQUFVO3NDQUF3Qjs7Ozs7bUNBQ3RDSixxQkFDRjs7OENBQ0UsOERBQUMyQjtvQ0FBS3ZCLFdBQVU7OENBQ2JKLEtBQUs0QixXQUFXLElBQUk1QixLQUFLNkIsS0FBSzs7Ozs7OzhDQUVqQyw4REFBQ3RCO29DQUNDQyxNQUFLO29DQUNMc0IsU0FBUzdCO29DQUNURyxXQUFVOzhDQUNYOzs7Ozs7O3lEQUtIOzs4Q0FDRSw4REFBQ1AsaURBQUlBO29DQUNIUyxNQUFLO29DQUNMRixXQUFVOzhDQUNYOzs7Ozs7OENBR0QsOERBQUNQLGlEQUFJQTtvQ0FDSFMsTUFBSztvQ0FDTEYsV0FBVTs4Q0FDWDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNmIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9jb21wb25lbnRzL1RvcE5hdi50c3g/ZGY1NiJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjb21wb25lbnRzL1RvcE5hdi50c3hcblwidXNlIGNsaWVudFwiO1xuXG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gVG9wTmF2KCkge1xuICBjb25zdCB7IHVzZXIsIGxvZ291dCwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIHJldHVybiAoXG4gICAgPGhlYWRlciBjbGFzc05hbWU9XCJib3JkZXItYiBib3JkZXItemluYy04MDAgYmctYmxhY2svOTUgYmFja2Ryb3AtYmx1clwiPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJteC1hdXRvIGZsZXggbWF4LXctNnhsIGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gcHgtNCBweS0yXCI+XG4gICAgICAgIHsvKiBCcmFuZCAvIEhvbWUgbGluayAqL31cbiAgICAgICAgPExpbmtcbiAgICAgICAgICBocmVmPVwiL1wiXG4gICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LXNlbWlib2xkIHRyYWNraW5nLVswLjJlbV0gdXBwZXJjYXNlIHRleHQtemluYy00MDBcIlxuICAgICAgICA+XG4gICAgICAgICAgVGhlIEJ1aWxkIEJlbmNoXG4gICAgICAgIDwvTGluaz5cblxuICAgICAgICB7LyogUmlnaHQgc2lkZSBhY3Rpb25zICovfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXggaXRlbXMtY2VudGVyIGdhcC0zXCI+XG4gICAgICAgICAgey8qIFNlYXJjaCBwbGFjZWhvbGRlciAqL31cbiAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIGNsYXNzTmFtZT1cImlubGluZS1mbGV4IGgtOCB3LTggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtZnVsbCBib3JkZXIgYm9yZGVyLXppbmMtNzAwIGJnLXppbmMtOTAwLzYwIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTIwMCBob3ZlcjpiZy16aW5jLTgwMCBob3Zlcjpib3JkZXItemluYy01MDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIlNlYXJjaCAoY29taW5nIHNvb24pXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxuICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgZmlsbD1cIm5vbmVcIlxuICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICBzdHJva2VXaWR0aD17Mn1cbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cImgtNCB3LTRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8Y2lyY2xlIGN4PVwiMTFcIiBjeT1cIjExXCIgcj1cIjZcIiAvPlxuICAgICAgICAgICAgICA8bGluZSB4MT1cIjE2LjVcIiB5MT1cIjE2LjVcIiB4Mj1cIjIxXCIgeTI9XCIyMVwiIC8+XG4gICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICA8L2J1dHRvbj5cblxuICAgICAgICAgIHtsb2FkaW5nID8gKFxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+Q2hlY2tpbmcgc2Vzc2lvbuKApjwvc3Bhbj5cbiAgICAgICAgICApIDogdXNlciA/IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cInRleHQteHMgdGV4dC16aW5jLTMwMFwiPlxuICAgICAgICAgICAgICAgIHt1c2VyLmRpc3BsYXlOYW1lIHx8IHVzZXIuZW1haWx9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2xvZ291dH1cbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgT3V0XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxMaW5rXG4gICAgICAgICAgICAgICAgaHJlZj1cIi9sb2dpblwiXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwIGhvdmVyOnRleHQtemluYy0xMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgTG9nIEluXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL3JlZ2lzdGVyXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJyb3VuZGVkLW1kIGJvcmRlciBib3JkZXItYW1iZXItNDAwLzcwIGJnLWFtYmVyLTQwMC8xMCBweC0zIHB5LTEuNSB0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0yMDAgaG92ZXI6YmctYW1iZXItNDAwLzIwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEpvaW4gQmV0YVxuICAgICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvaGVhZGVyPlxuICApO1xufSJdLCJuYW1lcyI6WyJMaW5rIiwidXNlQXV0aCIsIlRvcE5hdiIsInVzZXIiLCJsb2dvdXQiLCJsb2FkaW5nIiwiaGVhZGVyIiwiY2xhc3NOYW1lIiwiZGl2IiwiaHJlZiIsImJ1dHRvbiIsInR5cGUiLCJhcmlhLWxhYmVsIiwic3ZnIiwieG1sbnMiLCJ2aWV3Qm94IiwiZmlsbCIsInN0cm9rZSIsInN0cm9rZVdpZHRoIiwic3Ryb2tlTGluZWNhcCIsInN0cm9rZUxpbmVqb2luIiwiY2lyY2xlIiwiY3giLCJjeSIsInIiLCJsaW5lIiwieDEiLCJ5MSIsIngyIiwieTIiLCJzcGFuIiwiZGlzcGxheU5hbWUiLCJlbWFpbCIsIm9uQ2xpY2siXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(ssr)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ AuthProvider: () => (/* binding */ AuthProvider),\n/* harmony export */ useAuth: () => (/* binding */ useAuth)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* __next_internal_client_entry_do_not_use__ AuthProvider,useAuth auto */ \n\nconst API_BASE_URL = process.env.NEXT_PUBLIC_API_BASE_URL ?? \"http://localhost:8080\";\nconst AuthContext = /*#__PURE__*/ (0,react__WEBPACK_IMPORTED_MODULE_1__.createContext)(undefined);\nconst TOKEN_KEY = \"ballistic_auth_token\";\nconst USER_KEY = \"ballistic_auth_user\";\nfunction AuthProvider({ children }) {\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [token, setToken] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null);\n const [loading, setLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true); // start true while we hydrate + reuse for calls\n // hydrate from localStorage\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n try {\n if (true) return;\n const storedToken = window.localStorage.getItem(TOKEN_KEY);\n const storedUser = window.localStorage.getItem(USER_KEY);\n if (storedToken && storedUser) {\n setToken(storedToken);\n setUser(JSON.parse(storedUser));\n }\n } catch {\n // ignore\n } finally{\n setLoading(false);\n }\n }, []);\n const setSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)((newToken, newUser)=>{\n setToken(newToken);\n setUser(newUser);\n if (false) {}\n }, []);\n const clearSession = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n setToken(null);\n setUser(null);\n if (false) {}\n }, []);\n const register = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/register`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password,\n displayName: params.displayName\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to create account\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const login = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(async (params)=>{\n setLoading(true);\n try {\n const res = await fetch(`${API_BASE_URL}/api/auth/login`, {\n method: \"POST\",\n headers: {\n \"Content-Type\": \"application/json\"\n },\n body: JSON.stringify({\n email: params.email,\n password: params.password\n })\n });\n if (!res.ok) {\n const text = await res.text();\n throw new Error(text || \"Failed to log in\");\n }\n const data = await res.json();\n setSession(data.token, {\n email: data.email,\n displayName: data.displayName ?? null,\n role: data.role\n });\n } finally{\n setLoading(false);\n }\n }, [\n setSession\n ]);\n const logout = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n clearSession();\n }, [\n clearSession\n ]);\n const getAuthHeaders = (0,react__WEBPACK_IMPORTED_MODULE_1__.useCallback)(()=>{\n if (!token) return {};\n return {\n Authorization: `Bearer ${token}`\n };\n }, [\n token\n ]);\n const value = {\n user,\n token,\n loading,\n login,\n register,\n logout,\n getAuthHeaders\n };\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(AuthContext.Provider, {\n value: value,\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx\",\n lineNumber: 183,\n columnNumber: 10\n }, this);\n}\nfunction useAuth() {\n const ctx = (0,react__WEBPACK_IMPORTED_MODULE_1__.useContext)(AuthContext);\n if (!ctx) {\n throw new Error(\"useAuth must be used within an AuthProvider\");\n }\n return ctx;\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFNLElBQUlDLE1BQU1ELFFBQVE7WUFDMUI7WUFFQSxNQUFNRSxPQUtGLE1BQU1YLElBQUlZLElBQUk7WUFFbEJyQixXQUFXb0IsS0FBSy9CLEtBQUssRUFBRTtnQkFDckJ5QixPQUFPTSxLQUFLTixLQUFLO2dCQUNqQkUsYUFBYUksS0FBS0osV0FBVyxJQUFJO2dCQUNqQ00sTUFBTUYsS0FBS0UsSUFBSTtZQUNqQjtRQUNGLFNBQVU7WUFDUjlCLFdBQVc7UUFDYjtJQUNGLEdBQ0E7UUFBQ1E7S0FBVztJQUdkLE1BQU13QixTQUFTbkQsa0RBQVdBLENBQUM7UUFDekJnQztJQUNGLEdBQUc7UUFBQ0E7S0FBYTtJQUVqQixNQUFNb0IsaUJBQWlCcEQsa0RBQVdBLENBQUM7UUFDakMsSUFBSSxDQUFDZ0IsT0FBTyxPQUFPLENBQUM7UUFDcEIsT0FBTztZQUNMcUMsZUFBZSxDQUFDLE9BQU8sRUFBRXJDLE1BQU0sQ0FBQztRQUNsQztJQUNGLEdBQUc7UUFBQ0E7S0FBTTtJQUVWLE1BQU1zQyxRQUEwQjtRQUM5QnhDO1FBQ0FFO1FBQ0FFO1FBQ0FnQztRQUNBaEI7UUFDQWlCO1FBQ0FDO0lBQ0Y7SUFFQSxxQkFBTyw4REFBQzVDLFlBQVkrQyxRQUFRO1FBQUNELE9BQU9BO2tCQUFRekM7Ozs7OztBQUM5QztBQUVPLFNBQVMyQztJQUNkLE1BQU1DLE1BQU14RCxpREFBVUEsQ0FBQ087SUFDdkIsSUFBSSxDQUFDaUQsS0FBSztRQUNSLE1BQU0sSUFBSVgsTUFBTTtJQUNsQjtJQUNBLE9BQU9XO0FBQ1QiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbnRleHQvQXV0aENvbnRleHQudHN4P2ZkZmYiXSwic291cmNlc0NvbnRlbnQiOlsiXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCB7XG4gIGNyZWF0ZUNvbnRleHQsXG4gIHVzZUNhbGxiYWNrLFxuICB1c2VDb250ZXh0LFxuICB1c2VFZmZlY3QsXG4gIHVzZVN0YXRlLFxuICBSZWFjdE5vZGUsXG59IGZyb20gXCJyZWFjdFwiO1xuXG5jb25zdCBBUElfQkFTRV9VUkwgPVxuICBwcm9jZXNzLmVudi5ORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwgPz8gXCJodHRwOi8vbG9jYWxob3N0OjgwODBcIjtcblxudHlwZSBBdXRoVXNlciA9IHtcbiAgZW1haWw6IHN0cmluZztcbiAgZGlzcGxheU5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICByb2xlOiBzdHJpbmc7XG59IHwgbnVsbDtcblxudHlwZSBBdXRoQ29udGV4dFZhbHVlID0ge1xuICB1c2VyOiBBdXRoVXNlcjtcbiAgdG9rZW46IHN0cmluZyB8IG51bGw7IFxuICBsb2FkaW5nOiBib29sZWFuOyAvLyBjb3ZlcnMgaW5pdGlhbCBoeWRyYXRlICsgYWN0aXZlIGF1dGggcmVxdWVzdHNcbiAgbG9naW46IChwYXJhbXM6IHsgZW1haWw6IHN0cmluZzsgcGFzc3dvcmQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPHZvaWQ+O1xuICByZWdpc3RlcjogKHBhcmFtczoge1xuICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgcGFzc3dvcmQ6IHN0cmluZztcbiAgICBkaXNwbGF5TmFtZT86IHN0cmluZztcbiAgfSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgbG9nb3V0OiAoKSA9PiB2b2lkO1xuICBnZXRBdXRoSGVhZGVyczogKCkgPT4gSGVhZGVyc0luaXQ7XG59O1xuXG5jb25zdCBBdXRoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8QXV0aENvbnRleHRWYWx1ZSB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuY29uc3QgVE9LRU5fS0VZID0gXCJiYWxsaXN0aWNfYXV0aF90b2tlblwiO1xuY29uc3QgVVNFUl9LRVkgPSBcImJhbGxpc3RpY19hdXRoX3VzZXJcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIEF1dGhQcm92aWRlcih7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPEF1dGhVc2VyPihudWxsKTtcbiAgY29uc3QgW3Rva2VuLCBzZXRUb2tlbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKTtcbiAgY29uc3QgW2xvYWRpbmcsIHNldExvYWRpbmddID0gdXNlU3RhdGUodHJ1ZSk7IC8vIHN0YXJ0IHRydWUgd2hpbGUgd2UgaHlkcmF0ZSArIHJldXNlIGZvciBjYWxsc1xuXG4gIC8vIGh5ZHJhdGUgZnJvbSBsb2NhbFN0b3JhZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgPT09IFwidW5kZWZpbmVkXCIpIHJldHVybjtcblxuICAgICAgY29uc3Qgc3RvcmVkVG9rZW4gPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVE9LRU5fS0VZKTtcbiAgICAgIGNvbnN0IHN0b3JlZFVzZXIgPSB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oVVNFUl9LRVkpO1xuXG4gICAgICBpZiAoc3RvcmVkVG9rZW4gJiYgc3RvcmVkVXNlcikge1xuICAgICAgICBzZXRUb2tlbihzdG9yZWRUb2tlbik7XG4gICAgICAgIHNldFVzZXIoSlNPTi5wYXJzZShzdG9yZWRVc2VyKSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBpZ25vcmVcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3Qgc2V0U2Vzc2lvbiA9IHVzZUNhbGxiYWNrKChuZXdUb2tlbjogc3RyaW5nLCBuZXdVc2VyOiBBdXRoVXNlcikgPT4ge1xuICAgIHNldFRva2VuKG5ld1Rva2VuKTtcbiAgICBzZXRVc2VyKG5ld1VzZXIpO1xuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShUT0tFTl9LRVksIG5ld1Rva2VuKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShVU0VSX0tFWSwgSlNPTi5zdHJpbmdpZnkobmV3VXNlcikpO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIGNvbnN0IGNsZWFyU2Vzc2lvbiA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRUb2tlbihudWxsKTtcbiAgICBzZXRVc2VyKG51bGwpO1xuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oVE9LRU5fS0VZKTtcbiAgICAgIHdpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShVU0VSX0tFWSk7XG4gICAgfVxuICB9LCBbXSk7XG5cbiAgY29uc3QgcmVnaXN0ZXIgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmc7IGRpc3BsYXlOYW1lPzogc3RyaW5nIH0pID0+IHtcbiAgICAgIHNldExvYWRpbmcodHJ1ZSk7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSBhd2FpdCBmZXRjaChgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoL3JlZ2lzdGVyYCwge1xuICAgICAgICAgIG1ldGhvZDogXCJQT1NUXCIsXG4gICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeSh7XG4gICAgICAgICAgICBlbWFpbDogcGFyYW1zLmVtYWlsLFxuICAgICAgICAgICAgcGFzc3dvcmQ6IHBhcmFtcy5wYXNzd29yZCxcbiAgICAgICAgICAgIGRpc3BsYXlOYW1lOiBwYXJhbXMuZGlzcGxheU5hbWUsXG4gICAgICAgICAgfSksXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IHJlcy50ZXh0KCk7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKHRleHQgfHwgXCJGYWlsZWQgdG8gY3JlYXRlIGFjY291bnRcIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkYXRhOiB7XG4gICAgICAgICAgdG9rZW46IHN0cmluZztcbiAgICAgICAgICBlbWFpbDogc3RyaW5nO1xuICAgICAgICAgIGRpc3BsYXlOYW1lPzogc3RyaW5nO1xuICAgICAgICAgIHJvbGU6IHN0cmluZztcbiAgICAgICAgfSA9IGF3YWl0IHJlcy5qc29uKCk7XG5cbiAgICAgICAgc2V0U2Vzc2lvbihkYXRhLnRva2VuLCB7XG4gICAgICAgICAgZW1haWw6IGRhdGEuZW1haWwsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IGRhdGEuZGlzcGxheU5hbWUgPz8gbnVsbCxcbiAgICAgICAgICByb2xlOiBkYXRhLnJvbGUsXG4gICAgICAgIH0pO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgc2V0TG9hZGluZyhmYWxzZSk7XG4gICAgICB9XG4gICAgfSxcbiAgICBbc2V0U2Vzc2lvbl0sXG4gICk7XG5cbiAgY29uc3QgbG9naW4gPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGFyYW1zOiB7IGVtYWlsOiBzdHJpbmc7IHBhc3N3b3JkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgc2V0TG9hZGluZyh0cnVlKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGAke0FQSV9CQVNFX1VSTH0vYXBpL2F1dGgvbG9naW5gLCB7XG4gICAgICAgICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgICB9LFxuICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KHtcbiAgICAgICAgICAgIGVtYWlsOiBwYXJhbXMuZW1haWwsXG4gICAgICAgICAgICBwYXNzd29yZDogcGFyYW1zLnBhc3N3b3JkLFxuICAgICAgICAgIH0pLFxuICAgICAgICB9KTtcblxuICAgICAgICBpZiAoIXJlcy5vaykge1xuICAgICAgICAgIGNvbnN0IHRleHQgPSBhd2FpdCByZXMudGV4dCgpO1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcih0ZXh0IHx8IFwiRmFpbGVkIHRvIGxvZyBpblwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGRhdGE6IHtcbiAgICAgICAgICB0b2tlbjogc3RyaW5nO1xuICAgICAgICAgIGVtYWlsOiBzdHJpbmc7XG4gICAgICAgICAgZGlzcGxheU5hbWU/OiBzdHJpbmc7XG4gICAgICAgICAgcm9sZTogc3RyaW5nO1xuICAgICAgICB9ID0gYXdhaXQgcmVzLmpzb24oKTtcblxuICAgICAgICBzZXRTZXNzaW9uKGRhdGEudG9rZW4sIHtcbiAgICAgICAgICBlbWFpbDogZGF0YS5lbWFpbCxcbiAgICAgICAgICBkaXNwbGF5TmFtZTogZGF0YS5kaXNwbGF5TmFtZSA/PyBudWxsLFxuICAgICAgICAgIHJvbGU6IGRhdGEucm9sZSxcbiAgICAgICAgfSk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICBzZXRMb2FkaW5nKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIFtzZXRTZXNzaW9uXSxcbiAgKTtcblxuICBjb25zdCBsb2dvdXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY2xlYXJTZXNzaW9uKCk7XG4gIH0sIFtjbGVhclNlc3Npb25dKTtcblxuICBjb25zdCBnZXRBdXRoSGVhZGVycyA9IHVzZUNhbGxiYWNrKCgpOiBIZWFkZXJzSW5pdCA9PiB7XG4gICAgaWYgKCF0b2tlbikgcmV0dXJuIHt9O1xuICAgIHJldHVybiB7XG4gICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICB9O1xuICB9LCBbdG9rZW5dKTtcblxuICBjb25zdCB2YWx1ZTogQXV0aENvbnRleHRWYWx1ZSA9IHtcbiAgICB1c2VyLFxuICAgIHRva2VuLFxuICAgIGxvYWRpbmcsXG4gICAgbG9naW4sXG4gICAgcmVnaXN0ZXIsXG4gICAgbG9nb3V0LFxuICAgIGdldEF1dGhIZWFkZXJzLFxuICB9O1xuXG4gIHJldHVybiA8QXV0aENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3ZhbHVlfT57Y2hpbGRyZW59PC9BdXRoQ29udGV4dC5Qcm92aWRlcj47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VBdXRoKCk6IEF1dGhDb250ZXh0VmFsdWUge1xuICBjb25zdCBjdHggPSB1c2VDb250ZXh0KEF1dGhDb250ZXh0KTtcbiAgaWYgKCFjdHgpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1c2VBdXRoIG11c3QgYmUgdXNlZCB3aXRoaW4gYW4gQXV0aFByb3ZpZGVyXCIpO1xuICB9XG4gIHJldHVybiBjdHg7XG59Il0sIm5hbWVzIjpbImNyZWF0ZUNvbnRleHQiLCJ1c2VDYWxsYmFjayIsInVzZUNvbnRleHQiLCJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkFQSV9CQVNFX1VSTCIsInByb2Nlc3MiLCJlbnYiLCJORVhUX1BVQkxJQ19BUElfQkFTRV9VUkwiLCJBdXRoQ29udGV4dCIsInVuZGVmaW5lZCIsIlRPS0VOX0tFWSIsIlVTRVJfS0VZIiwiQXV0aFByb3ZpZGVyIiwiY2hpbGRyZW4iLCJ1c2VyIiwic2V0VXNlciIsInRva2VuIiwic2V0VG9rZW4iLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsInN0b3JlZFRva2VuIiwid2luZG93IiwibG9jYWxTdG9yYWdlIiwiZ2V0SXRlbSIsInN0b3JlZFVzZXIiLCJKU09OIiwicGFyc2UiLCJzZXRTZXNzaW9uIiwibmV3VG9rZW4iLCJuZXdVc2VyIiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImNsZWFyU2Vzc2lvbiIsInJlbW92ZUl0ZW0iLCJyZWdpc3RlciIsInBhcmFtcyIsInJlcyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImJvZHkiLCJlbWFpbCIsInBhc3N3b3JkIiwiZGlzcGxheU5hbWUiLCJvayIsInRleHQiLCJFcnJvciIsImRhdGEiLCJqc29uIiwicm9sZSIsImxvZ2luIiwibG9nb3V0IiwiZ2V0QXV0aEhlYWRlcnMiLCJBdXRob3JpemF0aW9uIiwidmFsdWUiLCJQcm92aWRlciIsInVzZUF1dGgiLCJjdHgiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./context/AuthContext.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/globals.css": -/*!*************************!*\ - !*** ./app/globals.css ***! - \*************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (\"8e3b978f6080\");\nif (false) {}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvZ2xvYmFscy5jc3MiLCJtYXBwaW5ncyI6Ijs7OztBQUFBLGlFQUFlLGNBQWM7QUFDN0IsSUFBSSxLQUFVLEVBQUUsRUFBdUIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9nbG9iYWxzLmNzcz9jZDI4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWZhdWx0IFwiOGUzYjk3OGY2MDgwXCJcbmlmIChtb2R1bGUuaG90KSB7IG1vZHVsZS5ob3QuYWNjZXB0KCkgfVxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./app/globals.css\n"); - -/***/ }), - -/***/ "(rsc)/./app/layout.tsx": -/*!************************!*\ - !*** ./app/layout.tsx ***! - \************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* binding */ RootLayout),\n/* harmony export */ metadata: () => (/* binding */ metadata)\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(rsc)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/rsc/react-jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"} */ \"(rsc)/./node_modules/next/font/google/target.css?{\\\"path\\\":\\\"app/layout.tsx\\\",\\\"import\\\":\\\"Inter\\\",\\\"arguments\\\":[{\\\"subsets\\\":[\\\"latin\\\"]}],\\\"variableName\\\":\\\"inter\\\"}\");\n/* harmony import */ var next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _globals_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./globals.css */ \"(rsc)/./app/globals.css\");\n/* harmony import */ var _context_AuthContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/context/AuthContext */ \"(rsc)/./context/AuthContext.tsx\");\n/* harmony import */ var _components_TopNav__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/TopNav */ \"(rsc)/./components/TopNav.tsx\");\n\n\n\n\n\nconst metadata = {\n title: \"Shadow Standard Co.\",\n description: \"The Armory — Early Access\"\n};\nfunction RootLayout({ children }) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"html\", {\n lang: \"en\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"body\", {\n className: (next_font_google_target_css_path_app_layout_tsx_import_Inter_arguments_subsets_latin_variableName_inter___WEBPACK_IMPORTED_MODULE_4___default().className),\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_context_AuthContext__WEBPACK_IMPORTED_MODULE_2__.AuthProvider, {\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"min-h-screen flex flex-col bg-black text-zinc-50\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_TopNav__WEBPACK_IMPORTED_MODULE_3__.TopNav, {}, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 20,\n columnNumber: 13\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex-1\",\n children: children\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 21,\n columnNumber: 13\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 19,\n columnNumber: 11\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 18,\n columnNumber: 9\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 17,\n columnNumber: 7\n }, this)\n }, void 0, false, {\n fileName: \"/Users/sean/Dev/gunbuilder-prototype/app/layout.tsx\",\n lineNumber: 16,\n columnNumber: 5\n }, this);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvbGF5b3V0LnRzeCIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBTU1BO0FBTmlCO0FBRzhCO0FBQ1I7QUFJdEMsTUFBTUcsV0FBVztJQUN0QkMsT0FBTztJQUNQQyxhQUFhO0FBQ2YsRUFBRTtBQUVhLFNBQVNDLFdBQVcsRUFBRUMsUUFBUSxFQUEyQjtJQUN0RSxxQkFDRSw4REFBQ0M7UUFBS0MsTUFBSztrQkFDVCw0RUFBQ0M7WUFBS0MsV0FBV1gsMkpBQWU7c0JBQzlCLDRFQUFDQyw4REFBWUE7MEJBQ1gsNEVBQUNXO29CQUFJRCxXQUFVOztzQ0FDYiw4REFBQ1Qsc0RBQU1BOzs7OztzQ0FDUCw4REFBQ1c7NEJBQUtGLFdBQVU7c0NBQVVKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNdEMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2FwcC9sYXlvdXQudHN4Pzk5ODgiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFwiLi9nbG9iYWxzLmNzc1wiO1xuaW1wb3J0IHsgSW50ZXIgfSBmcm9tIFwibmV4dC9mb250L2dvb2dsZVwiO1xuaW1wb3J0IHR5cGUgeyBSZWFjdE5vZGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IEF1dGhQcm92aWRlciB9IGZyb20gXCJAL2NvbnRleHQvQXV0aENvbnRleHRcIjtcbmltcG9ydCB7IFRvcE5hdiB9IGZyb20gXCJAL2NvbXBvbmVudHMvVG9wTmF2XCI7XG5cbmNvbnN0IGludGVyID0gSW50ZXIoeyBzdWJzZXRzOiBbXCJsYXRpblwiXSB9KTtcblxuZXhwb3J0IGNvbnN0IG1ldGFkYXRhID0ge1xuICB0aXRsZTogXCJTaGFkb3cgU3RhbmRhcmQgQ28uXCIsXG4gIGRlc2NyaXB0aW9uOiBcIlRoZSBBcm1vcnkg4oCUIEVhcmx5IEFjY2Vzc1wiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gUm9vdExheW91dCh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW46IFJlYWN0Tm9kZSB9KSB7XG4gIHJldHVybiAoXG4gICAgPGh0bWwgbGFuZz1cImVuXCI+XG4gICAgICA8Ym9keSBjbGFzc05hbWU9e2ludGVyLmNsYXNzTmFtZX0+XG4gICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtaW4taC1zY3JlZW4gZmxleCBmbGV4LWNvbCBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgICAgICAgIDxUb3BOYXYgLz5cbiAgICAgICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXgtMVwiPntjaGlsZHJlbn08L21haW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn0iXSwibmFtZXMiOlsiaW50ZXIiLCJBdXRoUHJvdmlkZXIiLCJUb3BOYXYiLCJtZXRhZGF0YSIsInRpdGxlIiwiZGVzY3JpcHRpb24iLCJSb290TGF5b3V0IiwiY2hpbGRyZW4iLCJodG1sIiwibGFuZyIsImJvZHkiLCJjbGFzc05hbWUiLCJkaXYiLCJtYWluIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/layout.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./app/register/page.tsx": -/*!*******************************!*\ - !*** ./app/register/page.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ $$typeof: () => (/* binding */ $$typeof),\n/* harmony export */ __esModule: () => (/* binding */ __esModule),\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx#default`));\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9hcHAvcmVnaXN0ZXIvcGFnZS50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUF3QiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vYXBwL3JlZ2lzdGVyL3BhZ2UudHN4PzQ3YTgiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gYXBwL3JlZ2lzdGVyL3BhZ2UudHN4XG5cInVzZSBjbGllbnRcIjtcblxuaW1wb3J0IHsgRm9ybUV2ZW50LCB1c2VTdGF0ZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgdXNlUm91dGVyLCB1c2VTZWFyY2hQYXJhbXMgfSBmcm9tIFwibmV4dC9uYXZpZ2F0aW9uXCI7XG5pbXBvcnQgTGluayBmcm9tIFwibmV4dC9saW5rXCI7XG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSBcIkAvY29udGV4dC9BdXRoQ29udGV4dFwiO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBSZWdpc3RlclBhZ2UoKSB7XG4gIGNvbnN0IHJvdXRlciA9IHVzZVJvdXRlcigpO1xuICBjb25zdCBzZWFyY2hQYXJhbXMgPSB1c2VTZWFyY2hQYXJhbXMoKTtcbiAgY29uc3QgeyByZWdpc3RlciwgbG9hZGluZyB9ID0gdXNlQXV0aCgpO1xuXG4gIGNvbnN0IFtlbWFpbCwgc2V0RW1haWxdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtkaXNwbGF5TmFtZSwgc2V0RGlzcGxheU5hbWVdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtwYXNzd29yZCwgc2V0UGFzc3dvcmRdID0gdXNlU3RhdGUoXCJcIik7XG4gIGNvbnN0IFtlcnJvciwgc2V0RXJyb3JdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cbiAgY29uc3QgbmV4dCA9IHNlYXJjaFBhcmFtcy5nZXQoXCJuZXh0XCIpIHx8IFwiL2d1bmJ1aWxkZXJcIjtcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVTdWJtaXQoZTogRm9ybUV2ZW50KSB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHNldEVycm9yKG51bGwpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJlZ2lzdGVyKHsgZW1haWwsIHBhc3N3b3JkLCBkaXNwbGF5TmFtZSB9KTtcbiAgICAgIHJvdXRlci5wdXNoKG5leHQpO1xuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICBzZXRFcnJvcihlcnIubWVzc2FnZSA/PyBcIkZhaWxlZCB0byBjcmVhdGUgYWNjb3VudFwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxtYWluIGNsYXNzTmFtZT1cIm1pbi1oLXNjcmVlbiBiZy1ibGFjayB0ZXh0LXppbmMtNTBcIj5cbiAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXgtYXV0byBmbGV4IG1heC13LW1kIGZsZXgtY29sIHB4LTQgcHktMTBcIj5cbiAgICAgICAgPGgxIGNsYXNzTmFtZT1cInRleHQtMnhsIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctdGlnaHRcIj5cbiAgICAgICAgICBKb2luIHRoZSA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWFtYmVyLTMwMFwiPlNoYWRvdyBTdGFuZGFyZDwvc3Bhbj4gYmV0YVxuICAgICAgICA8L2gxPlxuICAgICAgICA8cCBjbGFzc05hbWU9XCJtdC0yIHRleHQtc20gdGV4dC16aW5jLTQwMFwiPlxuICAgICAgICAgIENyZWF0ZSBhbiBhY2NvdW50IHNvIHdlIGNhbiBzYXZlIHlvdXIgYnVpbGRzLCB3YXRjaCBwcmljZSBkcm9wcywgYW5kXG4gICAgICAgICAgcm9sbCBvdXQgbmV3IGZlYXR1cmVzIHRvIHlvdSBmaXJzdC5cbiAgICAgICAgPC9wPlxuXG4gICAgICAgIDxmb3JtIG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9IGNsYXNzTmFtZT1cIm10LTYgc3BhY2UteS00XCI+XG4gICAgICAgICAge2Vycm9yICYmIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwicm91bmRlZC1tZCBib3JkZXIgYm9yZGVyLXJlZC01MDAvNDAgYmctcmVkLTUwMC8xMCBweC0zIHB5LTIgdGV4dC1zbSB0ZXh0LXJlZC0yMDBcIj5cbiAgICAgICAgICAgICAge2Vycm9yfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cblxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwic3BhY2UteS0xXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidGV4dC14cyBmb250LW1lZGl1bSB0ZXh0LXppbmMtNDAwXCJcbiAgICAgICAgICAgICAgaHRtbEZvcj1cImRpc3BsYXlOYW1lXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgRGlzcGxheSBOYW1lIChvcHRpb25hbClcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJkaXNwbGF5TmFtZVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTkwMC83MCBweC0zIHB5LTIgdGV4dC1zbSB0ZXh0LXppbmMtNTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLWFtYmVyLTQwMFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtkaXNwbGF5TmFtZX1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXREaXNwbGF5TmFtZShlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTFcIj5cbiAgICAgICAgICAgIDxsYWJlbCBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDBcIiBodG1sRm9yPVwiZW1haWxcIj5cbiAgICAgICAgICAgICAgRW1haWxcbiAgICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgaWQ9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIHR5cGU9XCJlbWFpbFwiXG4gICAgICAgICAgICAgIGF1dG9Db21wbGV0ZT1cImVtYWlsXCJcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTkwMC83MCBweC0zIHB5LTIgdGV4dC1zbSB0ZXh0LXppbmMtNTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLWFtYmVyLTQwMFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtlbWFpbH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRFbWFpbChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzcGFjZS15LTFcIj5cbiAgICAgICAgICAgIDxsYWJlbFxuICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDBcIlxuICAgICAgICAgICAgICBodG1sRm9yPVwicGFzc3dvcmRcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBQYXNzd29yZFxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICBpZD1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgdHlwZT1cInBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgYXV0b0NvbXBsZXRlPVwibmV3LXBhc3N3b3JkXCJcbiAgICAgICAgICAgICAgcmVxdWlyZWRcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwidy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci16aW5jLTgwMCBiZy16aW5jLTkwMC83MCBweC0zIHB5LTIgdGV4dC1zbSB0ZXh0LXppbmMtNTAgZm9jdXM6b3V0bGluZS1ub25lIGZvY3VzOnJpbmctMSBmb2N1czpyaW5nLWFtYmVyLTQwMFwiXG4gICAgICAgICAgICAgIHZhbHVlPXtwYXNzd29yZH1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9eyhlKSA9PiBzZXRQYXNzd29yZChlLnRhcmdldC52YWx1ZSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvZGl2PlxuXG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBkaXNhYmxlZD17bG9hZGluZ31cbiAgICAgICAgICAgIGNsYXNzTmFtZT1cIm10LTIgdy1mdWxsIHJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzIwIHB4LTMgcHktMiB0ZXh0LXNtIGZvbnQtc2VtaWJvbGQgdGV4dC1hbWJlci0xMDAgaG92ZXI6YmctYW1iZXItNDAwLzMwIGRpc2FibGVkOm9wYWNpdHktNTAgZGlzYWJsZWQ6Y3Vyc29yLW5vdC1hbGxvd2VkIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7bG9hZGluZyA/IFwiQ3JlYXRpbmcgYWNjb3VudOKAplwiIDogXCJKb2luIEJldGFcIn1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9mb3JtPlxuXG4gICAgICAgIDxwIGNsYXNzTmFtZT1cIm10LTQgdGV4dC14cyB0ZXh0LXppbmMtNTAwXCI+XG4gICAgICAgICAgQWxyZWFkeSBoYXZlIGFuIGFjY291bnQ/e1wiIFwifVxuICAgICAgICAgIDxMaW5rIGhyZWY9XCIvbG9naW5cIiBjbGFzc05hbWU9XCJ0ZXh0LWFtYmVyLTMwMCBob3Zlcjp0ZXh0LWFtYmVyLTIwMFwiPlxuICAgICAgICAgICAgTG9nIGluXG4gICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgIC5cbiAgICAgICAgPC9wPlxuICAgICAgPC9kaXY+XG4gICAgPC9tYWluPlxuICApO1xufSJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(rsc)/./app/register/page.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./components/TopNav.tsx": -/*!*******************************!*\ - !*** ./components/TopNav.tsx ***! - \*******************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ TopNav: () => (/* binding */ e0)\n/* harmony export */ });\n/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ \"(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js\");\n\nconst proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx`)\n\n// Accessing the __esModule property and exporting $$typeof are required here.\n// The __esModule getter forces the proxy target to create the default export\n// and the $$typeof value is for rendering logic to determine if the module\n// is a client boundary.\nconst { __esModule, $$typeof } = proxy;\nconst __default__ = proxy.default;\n\nconst e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx#TopNav`);\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9jb21wb25lbnRzL1RvcE5hdi50c3giLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBd0IiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL2NvbXBvbmVudHMvVG9wTmF2LnRzeD9kZjU2Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIGNvbXBvbmVudHMvVG9wTmF2LnRzeFxuXCJ1c2UgY2xpZW50XCI7XG5cbmltcG9ydCBMaW5rIGZyb20gXCJuZXh0L2xpbmtcIjtcbmltcG9ydCB7IHVzZUF1dGggfSBmcm9tIFwiQC9jb250ZXh0L0F1dGhDb250ZXh0XCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBUb3BOYXYoKSB7XG4gIGNvbnN0IHsgdXNlciwgbG9nb3V0LCBsb2FkaW5nIH0gPSB1c2VBdXRoKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8aGVhZGVyIGNsYXNzTmFtZT1cImJvcmRlci1iIGJvcmRlci16aW5jLTgwMCBiZy1ibGFjay85NSBiYWNrZHJvcC1ibHVyXCI+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIm14LWF1dG8gZmxleCBtYXgtdy02eGwgaXRlbXMtY2VudGVyIGp1c3RpZnktYmV0d2VlbiBweC00IHB5LTJcIj5cbiAgICAgICAgey8qIEJyYW5kIC8gSG9tZSBsaW5rICovfVxuICAgICAgICA8TGlua1xuICAgICAgICAgIGhyZWY9XCIvXCJcbiAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtc2VtaWJvbGQgdHJhY2tpbmctWzAuMmVtXSB1cHBlcmNhc2UgdGV4dC16aW5jLTQwMFwiXG4gICAgICAgID5cbiAgICAgICAgICBUaGUgQnVpbGQgQmVuY2hcbiAgICAgICAgPC9MaW5rPlxuXG4gICAgICAgIHsvKiBSaWdodCBzaWRlIGFjdGlvbnMgKi99XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICB7LyogU2VhcmNoIHBsYWNlaG9sZGVyICovfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwiaW5saW5lLWZsZXggaC04IHctOCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcm91bmRlZC1mdWxsIGJvcmRlciBib3JkZXItemluYy03MDAgYmctemluYy05MDAvNjAgdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMjAwIGhvdmVyOmJnLXppbmMtODAwIGhvdmVyOmJvcmRlci16aW5jLTUwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiU2VhcmNoIChjb21pbmcgc29vbilcIlxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzdmdcbiAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXG4gICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgIHN0cm9rZT1cImN1cnJlbnRDb2xvclwiXG4gICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXsyfVxuICAgICAgICAgICAgICBzdHJva2VMaW5lY2FwPVwicm91bmRcIlxuICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPVwiaC00IHctNFwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxjaXJjbGUgY3g9XCIxMVwiIGN5PVwiMTFcIiByPVwiNlwiIC8+XG4gICAgICAgICAgICAgIDxsaW5lIHgxPVwiMTYuNVwiIHkxPVwiMTYuNVwiIHgyPVwiMjFcIiB5Mj1cIjIxXCIgLz5cbiAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAge2xvYWRpbmcgPyAoXG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXhzIHRleHQtemluYy01MDBcIj5DaGVja2luZyBzZXNzaW9u4oCmPC9zcGFuPlxuICAgICAgICAgICkgOiB1c2VyID8gKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPVwidGV4dC14cyB0ZXh0LXppbmMtMzAwXCI+XG4gICAgICAgICAgICAgICAge3VzZXIuZGlzcGxheU5hbWUgfHwgdXNlci5lbWFpbH1cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgb25DbGljaz17bG9nb3V0fVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInRleHQteHMgZm9udC1tZWRpdW0gdGV4dC16aW5jLTQwMCBob3Zlcjp0ZXh0LXppbmMtMTAwIHRyYW5zaXRpb24tY29sb3JzXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIExvZyBPdXRcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPExpbmtcbiAgICAgICAgICAgICAgICBocmVmPVwiL2xvZ2luXCJcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXhzIGZvbnQtbWVkaXVtIHRleHQtemluYy00MDAgaG92ZXI6dGV4dC16aW5jLTEwMCB0cmFuc2l0aW9uLWNvbG9yc1wiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBMb2cgSW5cbiAgICAgICAgICAgICAgPC9MaW5rPlxuICAgICAgICAgICAgICA8TGlua1xuICAgICAgICAgICAgICAgIGhyZWY9XCIvcmVnaXN0ZXJcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cInJvdW5kZWQtbWQgYm9yZGVyIGJvcmRlci1hbWJlci00MDAvNzAgYmctYW1iZXItNDAwLzEwIHB4LTMgcHktMS41IHRleHQteHMgZm9udC1zZW1pYm9sZCB0ZXh0LWFtYmVyLTIwMCBob3ZlcjpiZy1hbWJlci00MDAvMjAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgSm9pbiBCZXRhXG4gICAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG4gICk7XG59Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(rsc)/./components/TopNav.tsx\n"); - -/***/ }), - -/***/ "(rsc)/./context/AuthContext.tsx": -/*!*********************************!*\ - !*** ./context/AuthContext.tsx ***! - \*********************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ AuthProvider: () => (/* binding */ e0), -/* harmony export */ useAuth: () => (/* binding */ e1) -/* harmony export */ }); -/* harmony import */ var next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! next/dist/build/webpack/loaders/next-flight-loader/module-proxy */ "(rsc)/./node_modules/next/dist/build/webpack/loaders/next-flight-loader/module-proxy.js"); - -const proxy = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx`) - -// Accessing the __esModule property and exporting $$typeof are required here. -// The __esModule getter forces the proxy target to create the default export -// and the $$typeof value is for rendering logic to determine if the module -// is a client boundary. -const { __esModule, $$typeof } = proxy; -const __default__ = proxy.default; - -const e0 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#AuthProvider`); - -const e1 = (0,next_dist_build_webpack_loaders_next_flight_loader_module_proxy__WEBPACK_IMPORTED_MODULE_0__.createProxy)(String.raw`/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx#useAuth`); - - -/***/ }) - -}; -; - -// load runtime -var __webpack_require__ = require("../../webpack-runtime.js"); -__webpack_require__.C(exports); -var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId)) -var __webpack_exports__ = __webpack_require__.X(0, ["vendor-chunks/next","vendor-chunks/@swc"], () => (__webpack_exec__("(rsc)/./node_modules/next/dist/build/webpack/loaders/next-app-loader.js?name=app%2Fregister%2Fpage&page=%2Fregister%2Fpage&appPaths=%2Fregister%2Fpage&pagePath=private-next-app-dir%2Fregister%2Fpage.tsx&appDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype%2Fapp&pageExtensions=tsx&pageExtensions=ts&pageExtensions=jsx&pageExtensions=js&rootDir=%2FUsers%2Fsean%2FDev%2Fgunbuilder-prototype&isDev=true&tsconfigPath=tsconfig.json&basePath=&assetPrefix=&nextConfigOutput=&preferredRegion=&middlewareConfig=e30%3D!"))); -module.exports = __webpack_exports__; - -})(); \ No newline at end of file diff --git a/.next/server/app/register/page_client-reference-manifest.js b/.next/server/app/register/page_client-reference-manifest.js deleted file mode 100644 index 684c6d9..0000000 --- a/.next/server/app/register/page_client-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/register/page"]={"moduleLoading":{"prefix":"/_next/","crossOrigin":null},"ssrModuleMapping":{"(app-pages-browser)/./app/gunbuilder/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./components/TopNav.tsx":{"*":{"id":"(ssr)/./components/TopNav.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./context/AuthContext.tsx":{"*":{"id":"(ssr)/./context/AuthContext.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./node_modules/next/dist/client/link.js":{"*":{"id":"(ssr)/./node_modules/next/dist/client/link.js","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx":{"*":{"id":"(ssr)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/register/page.tsx":{"*":{"id":"(ssr)/./app/register/page.tsx","name":"*","chunks":[],"async":false}},"(app-pages-browser)/./app/login/page.tsx":{"*":{"id":"(ssr)/./app/login/page.tsx","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/globals.css":{"id":"(app-pages-browser)/./app/globals.css","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/components/TopNav.tsx":{"id":"(app-pages-browser)/./components/TopNav.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/context/AuthContext.tsx":{"id":"(app-pages-browser)/./context/AuthContext.tsx","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}":{"id":"(app-pages-browser)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}","name":"*","chunks":["app/layout","static/chunks/app/layout.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/app-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/app-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/client-page.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/client-page.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/error-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/error-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/layout-router.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/layout-router.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/not-found-boundary.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/not-found-boundary.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/components/render-from-template-context.js","name":"*","chunks":["app-pages-internals","static/chunks/app-pages-internals.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/node_modules/next/dist/esm/client/link.js":{"id":"(app-pages-browser)/./node_modules/next/dist/client/link.js","name":"*","chunks":["app/page","static/chunks/app/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/gunbuilder/[categoryId]/page.tsx":{"id":"(app-pages-browser)/./app/gunbuilder/[categoryId]/page.tsx","name":"*","chunks":[],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/register/page.tsx":{"id":"(app-pages-browser)/./app/register/page.tsx","name":"*","chunks":["app/register/page","static/chunks/app/register/page.js"],"async":false},"/Users/sean/Dev/gunbuilder-prototype/app/login/page.tsx":{"id":"(app-pages-browser)/./app/login/page.tsx","name":"*","chunks":[],"async":false}},"entryCSSFiles":{"/Users/sean/Dev/gunbuilder-prototype/":[],"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/css/app/layout.css"],"/Users/sean/Dev/gunbuilder-prototype/app/page":[],"/Users/sean/Dev/gunbuilder-prototype/app/register/page":[]}} \ No newline at end of file diff --git a/.next/server/interception-route-rewrite-manifest.js b/.next/server/interception-route-rewrite-manifest.js deleted file mode 100644 index 82d3ab1..0000000 --- a/.next/server/interception-route-rewrite-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__INTERCEPTION_ROUTE_REWRITE_MANIFEST="[]" \ No newline at end of file diff --git a/.next/server/middleware-build-manifest.js b/.next/server/middleware-build-manifest.js deleted file mode 100644 index c7ad621..0000000 --- a/.next/server/middleware-build-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__BUILD_MANIFEST={"polyfillFiles":["static/chunks/polyfills.js"],"devFiles":[],"ampDevFiles":[],"lowPriorityFiles":["static/development/_buildManifest.js","static/development/_ssgManifest.js"],"rootMainFiles":["static/chunks/webpack.js","static/chunks/main-app.js"],"pages":{"/_app":[]},"ampFirstPages":[]} \ No newline at end of file diff --git a/.next/server/middleware-manifest.json b/.next/server/middleware-manifest.json deleted file mode 100644 index 33872a3..0000000 --- a/.next/server/middleware-manifest.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "version": 3, - "middleware": {}, - "functions": {}, - "sortedMiddleware": [] -} \ No newline at end of file diff --git a/.next/server/middleware-react-loadable-manifest.js b/.next/server/middleware-react-loadable-manifest.js deleted file mode 100644 index ca34f09..0000000 --- a/.next/server/middleware-react-loadable-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__REACT_LOADABLE_MANIFEST="{}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.js b/.next/server/next-font-manifest.js deleted file mode 100644 index dba4e3c..0000000 --- a/.next/server/next-font-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__NEXT_FONT_MANIFEST="{\"pages\":{},\"app\":{\"/Users/sean/Dev/gunbuilder-prototype/app/layout\":[\"static/media/e4af272ccee01ff0-s.p.woff2\"]},\"appUsingSizeAdjust\":true,\"pagesUsingSizeAdjust\":false}" \ No newline at end of file diff --git a/.next/server/next-font-manifest.json b/.next/server/next-font-manifest.json deleted file mode 100644 index 73cd0f4..0000000 --- a/.next/server/next-font-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{"pages":{},"app":{"/Users/sean/Dev/gunbuilder-prototype/app/layout":["static/media/e4af272ccee01ff0-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false} \ No newline at end of file diff --git a/.next/server/pages-manifest.json b/.next/server/pages-manifest.json deleted file mode 100644 index 9e26dfe..0000000 --- a/.next/server/pages-manifest.json +++ /dev/null @@ -1 +0,0 @@ -{} \ No newline at end of file diff --git a/.next/server/server-reference-manifest.js b/.next/server/server-reference-manifest.js deleted file mode 100644 index 8787191..0000000 --- a/.next/server/server-reference-manifest.js +++ /dev/null @@ -1 +0,0 @@ -self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"FyH3Qb2rPHUm9eHWWvC8Vbag5b9aacT2znnmir9FL5c=\"\n}" \ No newline at end of file diff --git a/.next/server/server-reference-manifest.json b/.next/server/server-reference-manifest.json deleted file mode 100644 index ab1fe32..0000000 --- a/.next/server/server-reference-manifest.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "node": {}, - "edge": {}, - "encryptionKey": "FyH3Qb2rPHUm9eHWWvC8Vbag5b9aacT2znnmir9FL5c=" -} \ No newline at end of file diff --git a/.next/server/vendor-chunks/@swc.js b/.next/server/vendor-chunks/@swc.js deleted file mode 100644 index d263a04..0000000 --- a/.next/server/vendor-chunks/@swc.js +++ /dev/null @@ -1,75 +0,0 @@ -"use strict"; -/* - * 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/@swc"; -exports.ids = ["vendor-chunks/@swc"]; -exports.modules = { - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js": -/*!**************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js ***! - \**************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _class_private_field_loose_base),\n/* harmony export */ _class_private_field_loose_base: () => (/* binding */ _class_private_field_loose_base)\n/* harmony export */ });\nfunction _class_private_field_loose_base(receiver, privateKey) {\n if (!Object.prototype.hasOwnProperty.call(receiver, privateKey)) {\n throw new TypeError(\"attempted to use private field on non-instance\");\n }\n\n return receiver;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQU87QUFDUDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNnRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZS5qcz81MTYwIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9iYXNlKHJlY2VpdmVyLCBwcml2YXRlS2V5KSB7XG4gICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocmVjZWl2ZXIsIHByaXZhdGVLZXkpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJhdHRlbXB0ZWQgdG8gdXNlIHByaXZhdGUgZmllbGQgb24gbm9uLWluc3RhbmNlXCIpO1xuICAgIH1cblxuICAgIHJldHVybiByZWNlaXZlcjtcbn1cbmV4cG9ydCB7IF9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2Jhc2UgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _class_private_field_loose_key),\n/* harmony export */ _class_private_field_loose_key: () => (/* binding */ _class_private_field_loose_key)\n/* harmony export */ });\nvar id = 0;\n\nfunction _class_private_field_loose_key(name) {\n return \"__private_\" + id++ + \"_\" + name;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTs7QUFFTztBQUNQO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL19jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleS5qcz81ODI1Il0sInNvdXJjZXNDb250ZW50IjpbInZhciBpZCA9IDA7XG5cbmV4cG9ydCBmdW5jdGlvbiBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkobmFtZSkge1xuICAgIHJldHVybiBcIl9fcHJpdmF0ZV9cIiArIGlkKysgKyBcIl9cIiArIG5hbWU7XG59XG5leHBvcnQgeyBfY2xhc3NfcHJpdmF0ZV9maWVsZF9sb29zZV9rZXkgYXMgXyB9O1xuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_default),\n/* harmony export */ _interop_require_default: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0LmpzP2FiZTYiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js": -/*!********************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_wildcard.js ***! - \********************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_wildcard),\n/* harmony export */ _interop_require_wildcard: () => (/* binding */ _interop_require_wildcard)\n/* harmony export */ });\nfunction _getRequireWildcardCache(nodeInterop) {\n if (typeof WeakMap !== \"function\") return null;\n\n var cacheBabelInterop = new WeakMap();\n var cacheNodeInterop = new WeakMap();\n\n return (_getRequireWildcardCache = function(nodeInterop) {\n return nodeInterop ? cacheNodeInterop : cacheBabelInterop;\n })(nodeInterop);\n}\nfunction _interop_require_wildcard(obj, nodeInterop) {\n if (!nodeInterop && obj && obj.__esModule) return obj;\n if (obj === null || typeof obj !== \"object\" && typeof obj !== \"function\") return { default: obj };\n\n var cache = _getRequireWildcardCache(nodeInterop);\n\n if (cache && cache.has(obj)) return cache.get(obj);\n\n var newObj = { __proto__: null };\n var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;\n\n for (var key in obj) {\n if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) {\n var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;\n if (desc && (desc.get || desc.set)) Object.defineProperty(newObj, key, desc);\n else newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n\n if (cache) cache.set(obj, newObj);\n\n return newObj;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkLmpzIiwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7QUFDTztBQUNQO0FBQ0EsdUZBQXVGOztBQUV2Rjs7QUFFQTs7QUFFQSxtQkFBbUI7QUFDbkI7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUMwQyIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV93aWxkY2FyZC5qcz8wMWE1Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZShub2RlSW50ZXJvcCkge1xuICAgIGlmICh0eXBlb2YgV2Vha01hcCAhPT0gXCJmdW5jdGlvblwiKSByZXR1cm4gbnVsbDtcblxuICAgIHZhciBjYWNoZUJhYmVsSW50ZXJvcCA9IG5ldyBXZWFrTWFwKCk7XG4gICAgdmFyIGNhY2hlTm9kZUludGVyb3AgPSBuZXcgV2Vha01hcCgpO1xuXG4gICAgcmV0dXJuIChfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUgPSBmdW5jdGlvbihub2RlSW50ZXJvcCkge1xuICAgICAgICByZXR1cm4gbm9kZUludGVyb3AgPyBjYWNoZU5vZGVJbnRlcm9wIDogY2FjaGVCYWJlbEludGVyb3A7XG4gICAgfSkobm9kZUludGVyb3ApO1xufVxuZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQob2JqLCBub2RlSW50ZXJvcCkge1xuICAgIGlmICghbm9kZUludGVyb3AgJiYgb2JqICYmIG9iai5fX2VzTW9kdWxlKSByZXR1cm4gb2JqO1xuICAgIGlmIChvYmogPT09IG51bGwgfHwgdHlwZW9mIG9iaiAhPT0gXCJvYmplY3RcIiAmJiB0eXBlb2Ygb2JqICE9PSBcImZ1bmN0aW9uXCIpIHJldHVybiB7IGRlZmF1bHQ6IG9iaiB9O1xuXG4gICAgdmFyIGNhY2hlID0gX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlKG5vZGVJbnRlcm9wKTtcblxuICAgIGlmIChjYWNoZSAmJiBjYWNoZS5oYXMob2JqKSkgcmV0dXJuIGNhY2hlLmdldChvYmopO1xuXG4gICAgdmFyIG5ld09iaiA9IHsgX19wcm90b19fOiBudWxsIH07XG4gICAgdmFyIGhhc1Byb3BlcnR5RGVzY3JpcHRvciA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eSAmJiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xuXG4gICAgZm9yICh2YXIga2V5IGluIG9iaikge1xuICAgICAgICBpZiAoa2V5ICE9PSBcImRlZmF1bHRcIiAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpKSB7XG4gICAgICAgICAgICB2YXIgZGVzYyA9IGhhc1Byb3BlcnR5RGVzY3JpcHRvciA/IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqLCBrZXkpIDogbnVsbDtcbiAgICAgICAgICAgIGlmIChkZXNjICYmIChkZXNjLmdldCB8fCBkZXNjLnNldCkpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuZXdPYmosIGtleSwgZGVzYyk7XG4gICAgICAgICAgICBlbHNlIG5ld09ialtrZXldID0gb2JqW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZXdPYmouZGVmYXVsdCA9IG9iajtcblxuICAgIGlmIChjYWNoZSkgY2FjaGUuc2V0KG9iaiwgbmV3T2JqKTtcblxuICAgIHJldHVybiBuZXdPYmo7XG59XG5leHBvcnQgeyBfaW50ZXJvcF9yZXF1aXJlX3dpbGRjYXJkIGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js": -/*!*************************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js ***! - \*************************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _tagged_template_literal_loose),\n/* harmony export */ _tagged_template_literal_loose: () => (/* binding */ _tagged_template_literal_loose)\n/* harmony export */ });\nfunction _tagged_template_literal_loose(strings, raw) {\n if (!raw) raw = strings.slice(0);\n\n strings.raw = raw;\n\n return strings;\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9fdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2UuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQOztBQUVBOztBQUVBO0FBQ0E7QUFDK0MiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL25vZGVfbW9kdWxlcy9Ac3djL2hlbHBlcnMvZXNtL190YWdnZWRfdGVtcGxhdGVfbGl0ZXJhbF9sb29zZS5qcz9jMTdiIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBfdGFnZ2VkX3RlbXBsYXRlX2xpdGVyYWxfbG9vc2Uoc3RyaW5ncywgcmF3KSB7XG4gICAgaWYgKCFyYXcpIHJhdyA9IHN0cmluZ3Muc2xpY2UoMCk7XG5cbiAgICBzdHJpbmdzLnJhdyA9IHJhdztcblxuICAgIHJldHVybiBzdHJpbmdzO1xufVxuZXhwb3J0IHsgX3RhZ2dlZF90ZW1wbGF0ZV9saXRlcmFsX2xvb3NlIGFzIF8gfTtcbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\n"); - -/***/ }), - -/***/ "(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js": -/*!*******************************************************************!*\ - !*** ./node_modules/@swc/helpers/esm/_interop_require_default.js ***! - \*******************************************************************/ -/***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => { - -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ _: () => (/* binding */ _interop_require_default),\n/* harmony export */ _interop_require_default: () => (/* binding */ _interop_require_default)\n/* harmony export */ });\nfunction _interop_require_default(obj) {\n return obj && obj.__esModule ? obj : { default: obj };\n}\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvQHN3Yy9oZWxwZXJzL2VzbS9faW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBTztBQUNQLDJDQUEyQztBQUMzQztBQUN5QyIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vbm9kZV9tb2R1bGVzL0Bzd2MvaGVscGVycy9lc20vX2ludGVyb3BfcmVxdWlyZV9kZWZhdWx0LmpzPzM5NWEiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGZ1bmN0aW9uIF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdChvYmopIHtcbiAgICByZXR1cm4gb2JqICYmIG9iai5fX2VzTW9kdWxlID8gb2JqIDogeyBkZWZhdWx0OiBvYmogfTtcbn1cbmV4cG9ydCB7IF9pbnRlcm9wX3JlcXVpcmVfZGVmYXVsdCBhcyBfIH07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/@swc/helpers/esm/_interop_require_default.js\n"); - -/***/ }) - -}; -; \ No newline at end of file diff --git a/.next/server/vendor-chunks/next.js b/.next/server/vendor-chunks/next.js deleted file mode 100644 index bc5baf8..0000000 --- a/.next/server/vendor-chunks/next.js +++ /dev/null @@ -1,2364 +0,0 @@ -/* - * 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHJzYykvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP3tcInBhdGhcIjpcImFwcC9sYXlvdXQudHN4XCIsXCJpbXBvcnRcIjpcIkludGVyXCIsXCJhcmd1bWVudHNcIjpbe1wic3Vic2V0c1wiOltcImxhdGluXCJdfV0sXCJ2YXJpYWJsZU5hbWVcIjpcImludGVyXCJ9IiwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQSxXQUFXLGdGQUFnRjtBQUMzRjtBQUNBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi9ub2RlX21vZHVsZXMvbmV4dC9mb250L2dvb2dsZS90YXJnZXQuY3NzP2IwNjkiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gRXhwb3J0c1xubW9kdWxlLmV4cG9ydHMgPSB7XG5cdFwic3R5bGVcIjoge1wiZm9udEZhbWlseVwiOlwiJ19fSW50ZXJfZjM2N2YzJywgJ19fSW50ZXJfRmFsbGJhY2tfZjM2N2YzJ1wiLFwiZm9udFN0eWxlXCI6XCJub3JtYWxcIn0sXG5cdFwiY2xhc3NOYW1lXCI6IFwiX19jbGFzc05hbWVfZjM2N2YzXCJcbn07XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(rsc)/./node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Inter\",\"arguments\":[{\"subsets\":[\"latin\"]}],\"variableName\":\"inter\"}\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/api/link.js": -/*!********************************************!*\ - !*** ./node_modules/next/dist/api/link.js ***! - \********************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (/* reexport default from dynamic */ _client_link__WEBPACK_IMPORTED_MODULE_0___default.a)\n/* harmony export */ });\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/link */ \"(ssr)/./node_modules/next/dist/client/link.js\");\n/* harmony import */ var _client_link__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_link__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_link__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_link__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n\n//# sourceMappingURL=link.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9saW5rLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUF5QztBQUNWOztBQUUvQiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4vbm9kZV9tb2R1bGVzL25leHQvZGlzdC9hcGkvbGluay5qcz8yYzA4Il0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB7IGRlZmF1bHQgfSBmcm9tIFwiLi4vY2xpZW50L2xpbmtcIjtcbmV4cG9ydCAqIGZyb20gXCIuLi9jbGllbnQvbGlua1wiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1saW5rLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/link.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/api/navigation.js": -/*!**************************************************!*\ - !*** ./node_modules/next/dist/api/navigation.js ***! - \**************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../client/components/navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\n/* harmony import */ var _client_components_navigation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_client_components_navigation__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony reexport (unknown) */ var __WEBPACK_REEXPORT_OBJECT__ = {};\n/* harmony reexport (unknown) */ for(const __WEBPACK_IMPORT_KEY__ in _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__) if(__WEBPACK_IMPORT_KEY__ !== \"default\") __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = () => _client_components_navigation__WEBPACK_IMPORTED_MODULE_0__[__WEBPACK_IMPORT_KEY__]\n/* harmony reexport (unknown) */ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);\n\n\n//# sourceMappingURL=navigation.js.map//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2FwaS9uYXZpZ2F0aW9uLmpzIiwibWFwcGluZ3MiOiI7Ozs7OztBQUFnRDs7QUFFaEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uL25vZGVfbW9kdWxlcy9uZXh0L2Rpc3QvYXBpL25hdmlnYXRpb24uanM/MGJlMyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tIFwiLi4vY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvblwiO1xuXG4vLyMgc291cmNlTWFwcGluZ1VSTD1uYXZpZ2F0aW9uLmpzLm1hcCJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/api/navigation.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/add-base-path.js": -/*!********************************************************!*\ - !*** ./node_modules/next/dist/client/add-base-path.js ***! - \********************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"addBasePath\", ({\n enumerable: true,\n get: function() {\n return addBasePath;\n }\n}));\nconst _addpathprefix = __webpack_require__(/*! ../shared/lib/router/utils/add-path-prefix */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/add-path-prefix.js\");\nconst _normalizetrailingslash = __webpack_require__(/*! ./normalize-trailing-slash */ \"(ssr)/./node_modules/next/dist/client/normalize-trailing-slash.js\");\nconst basePath = false || \"\";\nfunction addBasePath(path, required) {\n return (0, _normalizetrailingslash.normalizePathTrailingSlash)( false ? 0 : (0, _addpathprefix.addPathPrefix)(path, basePath));\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=add-base-path.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtYmFzZS1wYXRoLmpzIiwibWFwcGluZ3MiOiI7Ozs7K0NBS2dCQTs7O2VBQUFBOzs7MkNBTGM7b0RBQ2E7QUFFM0MsTUFBTUMsV0FBV0MsTUFBbUMsSUFBZTtBQUU1RCxTQUFTRixZQUFZSyxJQUFZLEVBQUVDLFFBQWtCO0lBQzFELE9BQU9DLENBQUFBLEdBQUFBLHdCQUFBQSwwQkFBMEIsRUFDL0JMLE1BQStDSSxHQUMzQ0QsQ0FBQUEsR0FDQUksQ0FBQUEsR0FBQUEsZUFBQUEsYUFBYSxFQUFDSixNQUFNSjtBQUU1QiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uL3NyYy9jbGllbnQvYWRkLWJhc2UtcGF0aC50cz81MTcxIl0sIm5hbWVzIjpbImFkZEJhc2VQYXRoIiwiYmFzZVBhdGgiLCJwcm9jZXNzIiwiZW52IiwiX19ORVhUX1JPVVRFUl9CQVNFUEFUSCIsInBhdGgiLCJyZXF1aXJlZCIsIm5vcm1hbGl6ZVBhdGhUcmFpbGluZ1NsYXNoIiwiX19ORVhUX01BTlVBTF9DTElFTlRfQkFTRV9QQVRIIiwiYWRkUGF0aFByZWZpeCJdLCJzb3VyY2VSb290IjoiIn0=\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hZGQtbG9jYWxlLmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBR2FBOzs7ZUFBQUE7OztvREFGOEI7QUFFcEMsTUFBTUEsWUFBdUIsU0FBQ0MsSUFBQUE7cUNBQVNDLE9BQUFBLElBQUFBLE1BQUFBLE9BQUFBLElBQUFBLE9BQUFBLElBQUFBLElBQUFBLE9BQUFBLEdBQUFBLE9BQUFBLE1BQUFBLE9BQUFBO1FBQUFBLElBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEdBQUFBLFNBQUFBLENBQUFBLEtBQUFBOztJQUM1QyxJQUFJQyxLQUErQixFQUFFLEVBSXJDO0lBQ0EsT0FBT0Y7QUFDVCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uL3NyYy9jbGllbnQvYWRkLWxvY2FsZS50cz9mYWFlIl0sIm5hbWVzIjpbImFkZExvY2FsZSIsInBhdGgiLCJhcmdzIiwicHJvY2VzcyIsImVudiIsIl9fTkVYVF9JMThOX1NVUFBPUlQiLCJub3JtYWxpemVQYXRoVHJhaWxpbmdTbGFzaCIsInJlcXVpcmUiXSwic291cmNlUm9vdCI6IiJ9\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9hcHAtY2FsbC1zZXJ2ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FFc0JBOzs7ZUFBQUE7Ozt1Q0FGb0I7QUFFbkMsZUFBZUEsV0FBV0MsUUFBZ0IsRUFBRUMsVUFBaUI7SUFDbEUsTUFBTUMsbUJBQW1CQyxDQUFBQSxHQUFBQSxXQUFBQSx5QkFBeUI7SUFFbEQsSUFBSSxDQUFDRCxrQkFBa0I7UUFDckIsTUFBTSxJQUFJRSxNQUFNO0lBQ2xCO0lBRUEsT0FBTyxJQUFJQyxRQUFRLENBQUNDLFNBQVNDO1FBQzNCTCxpQkFBaUI7WUFDZkY7WUFDQUM7WUFDQUs7WUFDQUM7UUFDRjtJQUNGO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi9zcmMvY2xpZW50L2FwcC1jYWxsLXNlcnZlci50cz80OTRhIl0sIm5hbWVzIjpbImNhbGxTZXJ2ZXIiLCJhY3Rpb25JZCIsImFjdGlvbkFyZ3MiLCJhY3Rpb25EaXNwYXRjaGVyIiwiZ2V0U2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsIkVycm9yIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiXSwic291cmNlUm9vdCI6IiJ9\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItYW5ub3VuY2VyLmpzIiwibWFwcGluZ3MiOiI7Ozs7c0RBNkJnQkE7OztlQUFBQTs7O21DQTdCNEI7c0NBQ2Y7QUFHN0IsTUFBTUMsaUJBQWlCO0FBQ3ZCLE1BQU1DLGVBQWU7QUFFckIsU0FBU0M7UUFFSEM7SUFESixNQUFNQSxvQkFBb0JDLFNBQVNDLGlCQUFpQixDQUFDTCxlQUFlLENBQUMsRUFBRTtJQUN2RSxJQUFJRyxxQkFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsQ0FBQUEsZ0NBQUFBLGtCQUFtQkcsVUFBVSxxQkFBN0JILDhCQUErQkksVUFBVSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxPQUFPSixrQkFBa0JHLFVBQVUsQ0FBQ0MsVUFBVSxDQUFDLEVBQUU7SUFDbkQsT0FBTztRQUNMLE1BQU1DLFlBQVlKLFNBQVNLLGFBQWEsQ0FBQ1Q7UUFDekNRLFVBQVVFLEtBQUssQ0FBQ0MsT0FBTyxHQUFHO1FBQzFCLE1BQU1DLFlBQVlSLFNBQVNLLGFBQWEsQ0FBQztRQUN6Q0csVUFBVUMsUUFBUSxHQUFHO1FBQ3JCRCxVQUFVRSxFQUFFLEdBQUdiO1FBQ2ZXLFVBQVVHLElBQUksR0FBRztRQUNqQkgsVUFBVUYsS0FBSyxDQUFDQyxPQUFPLEdBQ3JCO1FBRUYsdURBQXVEO1FBQ3ZELE1BQU1LLFNBQVNSLFVBQVVTLFlBQVksQ0FBQztZQUFFQyxNQUFNO1FBQU87UUFDckRGLE9BQU9HLFdBQVcsQ0FBQ1A7UUFDbkJSLFNBQVNnQixJQUFJLENBQUNELFdBQVcsQ0FBQ1g7UUFDMUIsT0FBT0k7SUFDVDtBQUNGO0FBRU8sU0FBU2IsbUJBQW1Cc0IsS0FBcUM7SUFBckMsTUFBRUMsSUFBSSxFQUErQixHQUFyQ0Q7SUFDakMsTUFBTSxDQUFDRSxZQUFZQyxjQUFjLEdBQUdDLENBQUFBLEdBQUFBLE9BQUFBLFFBQVEsRUFBcUI7SUFFakVDLENBQUFBLEdBQUFBLE9BQUFBLFNBQVMsRUFBQztRQUNSLE1BQU1kLFlBQVlWO1FBQ2xCc0IsY0FBY1o7UUFDZCxPQUFPO1lBQ0wsTUFBTUosWUFBWUosU0FBU3VCLG9CQUFvQixDQUFDM0IsZUFBZSxDQUFDLEVBQUU7WUFDbEUsSUFBSVEsYUFBQUEsT0FBQUEsS0FBQUEsSUFBQUEsVUFBV29CLFdBQVcsRUFBRTtnQkFDMUJ4QixTQUFTZ0IsSUFBSSxDQUFDUyxXQUFXLENBQUNyQjtZQUM1QjtRQUNGO0lBQ0YsR0FBRyxFQUFFO0lBRUwsTUFBTSxDQUFDc0IsbUJBQW1CQyxxQkFBcUIsR0FBR04sQ0FBQUEsR0FBQUEsT0FBQUEsUUFBUSxFQUFDO0lBQzNELE1BQU1PLGdCQUFnQkMsQ0FBQUEsR0FBQUEsT0FBQUEsTUFBTTtJQUU1QlAsQ0FBQUEsR0FBQUEsT0FBQUEsU0FBUyxFQUFDO1FBQ1IsSUFBSVEsZUFBZTtRQUNuQixJQUFJOUIsU0FBUytCLEtBQUssRUFBRTtZQUNsQkQsZUFBZTlCLFNBQVMrQixLQUFLO1FBQy9CLE9BQU87WUFDTCxNQUFNQyxhQUFhaEMsU0FBU2lDLGFBQWEsQ0FBQztZQUMxQyxJQUFJRCxZQUFZO2dCQUNkRixlQUFlRSxXQUFXRSxTQUFTLElBQUlGLFdBQVdHLFdBQVcsSUFBSTtZQUNuRTtRQUNGO1FBRUEsNEVBQTRFO1FBQzVFLGlDQUFpQztRQUNqQyxJQUNFUCxjQUFjUSxPQUFPLEtBQUtDLGFBQzFCVCxjQUFjUSxPQUFPLEtBQUtOLGNBQzFCO1lBQ0FILHFCQUFxQkc7UUFDdkI7UUFDQUYsY0FBY1EsT0FBTyxHQUFHTjtJQUMxQixHQUFHO1FBQUNaO0tBQUs7SUFFVCxPQUFPQyxhQUFhbUIsV0FBYm5CLEdBQWFtQixDQUFBQSxHQUFBQSxVQUFBQSxZQUFZLEVBQUNaLG1CQUFtQlAsY0FBYztBQUNwRSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWFubm91bmNlci50c3g/YWRlMyJdLCJuYW1lcyI6WyJBcHBSb3V0ZXJBbm5vdW5jZXIiLCJBTk5PVU5DRVJfVFlQRSIsIkFOTk9VTkNFUl9JRCIsImdldEFubm91bmNlck5vZGUiLCJleGlzdGluZ0Fubm91bmNlciIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeU5hbWUiLCJzaGFkb3dSb290IiwiY2hpbGROb2RlcyIsImNvbnRhaW5lciIsImNyZWF0ZUVsZW1lbnQiLCJzdHlsZSIsImNzc1RleHQiLCJhbm5vdW5jZXIiLCJhcmlhTGl2ZSIsImlkIiwicm9sZSIsInNoYWRvdyIsImF0dGFjaFNoYWRvdyIsIm1vZGUiLCJhcHBlbmRDaGlsZCIsImJvZHkiLCJwYXJhbSIsInRyZWUiLCJwb3J0YWxOb2RlIiwic2V0UG9ydGFsTm9kZSIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiZ2V0RWxlbWVudHNCeVRhZ05hbWUiLCJpc0Nvbm5lY3RlZCIsInJlbW92ZUNoaWxkIiwicm91dGVBbm5vdW5jZW1lbnQiLCJzZXRSb3V0ZUFubm91bmNlbWVudCIsInByZXZpb3VzVGl0bGUiLCJ1c2VSZWYiLCJjdXJyZW50VGl0bGUiLCJ0aXRsZSIsInBhZ2VIZWFkZXIiLCJxdWVyeVNlbGVjdG9yIiwiaW5uZXJUZXh0IiwidGV4dENvbnRlbnQiLCJjdXJyZW50IiwidW5kZWZpbmVkIiwiY3JlYXRlUG9ydGFsIl0sInNvdXJjZVJvb3QiOiIifQ==\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 ACTION: function() {\n return ACTION;\n },\n FLIGHT_PARAMETERS: function() {\n return FLIGHT_PARAMETERS;\n },\n NEXT_DID_POSTPONE_HEADER: function() {\n return NEXT_DID_POSTPONE_HEADER;\n },\n NEXT_ROUTER_PREFETCH_HEADER: function() {\n return NEXT_ROUTER_PREFETCH_HEADER;\n },\n NEXT_ROUTER_STATE_TREE: function() {\n return NEXT_ROUTER_STATE_TREE;\n },\n NEXT_RSC_UNION_QUERY: function() {\n return NEXT_RSC_UNION_QUERY;\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_HEADER: function() {\n return RSC_HEADER;\n }\n});\nconst RSC_HEADER = \"RSC\";\nconst ACTION = \"Next-Action\";\nconst NEXT_ROUTER_STATE_TREE = \"Next-Router-State-Tree\";\nconst NEXT_ROUTER_PREFETCH_HEADER = \"Next-Router-Prefetch\";\nconst NEXT_URL = \"Next-Url\";\nconst RSC_CONTENT_TYPE_HEADER = \"text/x-component\";\nconst FLIGHT_PARAMETERS = [\n [\n RSC_HEADER\n ],\n [\n NEXT_ROUTER_STATE_TREE\n ],\n [\n NEXT_ROUTER_PREFETCH_HEADER\n ]\n];\nconst NEXT_RSC_UNION_QUERY = \"_rsc\";\nconst NEXT_DID_POSTPONE_HEADER = \"x-nextjs-postponed\";\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router-headers.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXItaGVhZGVycy5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFDYUEsUUFBTTtlQUFOQTs7SUFPQUMsbUJBQWlCO2VBQWpCQTs7SUFRQUMsMEJBQXdCO2VBQXhCQTs7SUFaQUMsNkJBQTJCO2VBQTNCQTs7SUFEQUMsd0JBQXNCO2VBQXRCQTs7SUFXQUMsc0JBQW9CO2VBQXBCQTs7SUFUQUMsVUFBUTtlQUFSQTs7SUFDQUMseUJBQXVCO2VBQXZCQTs7SUFOQUMsWUFBVTtlQUFWQTs7O0FBQU4sTUFBTUEsYUFBYTtBQUNuQixNQUFNUixTQUFTO0FBRWYsTUFBTUkseUJBQXlCO0FBQy9CLE1BQU1ELDhCQUE4QjtBQUNwQyxNQUFNRyxXQUFXO0FBQ2pCLE1BQU1DLDBCQUEwQjtBQUVoQyxNQUFNTixvQkFBb0I7SUFDL0I7UUFBQ087S0FBVztJQUNaO1FBQUNKO0tBQXVCO0lBQ3hCO1FBQUNEO0tBQTRCO0NBQzlCO0FBRU0sTUFBTUUsdUJBQXVCO0FBRTdCLE1BQU1ILDJCQUEyQiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9hcHAtcm91dGVyLWhlYWRlcnMudHM/Zjk0ZSJdLCJuYW1lcyI6WyJBQ1RJT04iLCJGTElHSFRfUEFSQU1FVEVSUyIsIk5FWFRfRElEX1BPU1RQT05FX0hFQURFUiIsIk5FWFRfUk9VVEVSX1BSRUZFVENIX0hFQURFUiIsIk5FWFRfUk9VVEVSX1NUQVRFX1RSRUUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIk5FWFRfVVJMIiwiUlNDX0NPTlRFTlRfVFlQRV9IRUFERVIiLCJSU0NfSEVBREVSIl0sInNvdXJjZVJvb3QiOiIifQ==\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 createEmptyCacheNode: function() {\n return createEmptyCacheNode;\n },\n default: function() {\n return AppRouter;\n },\n getServerActionDispatcher: function() {\n return getServerActionDispatcher;\n },\n urlToUrlWithoutFlightMarker: function() {\n return urlToUrlWithoutFlightMarker;\n }\n});\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _routerreducertypes = __webpack_require__(/*! ./router-reducer/router-reducer-types */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/router-reducer-types.js\");\nconst _createhreffromurl = __webpack_require__(/*! ./router-reducer/create-href-from-url */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-href-from-url.js\");\nconst _hooksclientcontextsharedruntime = __webpack_require__(/*! ../../shared/lib/hooks-client-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/hooks-client-context.js\");\nconst _usereducerwithdevtools = __webpack_require__(/*! ./use-reducer-with-devtools */ \"(ssr)/./node_modules/next/dist/client/components/use-reducer-with-devtools.js\");\nconst _errorboundary = __webpack_require__(/*! ./error-boundary */ \"(ssr)/./node_modules/next/dist/client/components/error-boundary.js\");\nconst _createinitialrouterstate = __webpack_require__(/*! ./router-reducer/create-initial-router-state */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/create-initial-router-state.js\");\nconst _isbot = __webpack_require__(/*! ../../shared/lib/router/utils/is-bot */ \"(ssr)/./node_modules/next/dist/shared/lib/router/utils/is-bot.js\");\nconst _addbasepath = __webpack_require__(/*! ../add-base-path */ \"(ssr)/./node_modules/next/dist/client/add-base-path.js\");\nconst _approuterannouncer = __webpack_require__(/*! ./app-router-announcer */ \"(ssr)/./node_modules/next/dist/client/components/app-router-announcer.js\");\nconst _redirectboundary = __webpack_require__(/*! ./redirect-boundary */ \"(ssr)/./node_modules/next/dist/client/components/redirect-boundary.js\");\nconst _findheadincache = __webpack_require__(/*! ./router-reducer/reducers/find-head-in-cache */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/find-head-in-cache.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.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 _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst isServer = \"undefined\" === \"undefined\";\n// Ensure the initialParallelRoutes are not combined because of double-rendering in the browser with Strict Mode.\nlet initialParallelRoutes = isServer ? null : new Map();\nlet globalServerActionDispatcher = null;\nfunction getServerActionDispatcher() {\n return globalServerActionDispatcher;\n}\nconst globalMutable = {};\nfunction urlToUrlWithoutFlightMarker(url) {\n const urlWithoutFlightParameters = new URL(url, location.origin);\n urlWithoutFlightParameters.searchParams.delete(_approuterheaders.NEXT_RSC_UNION_QUERY);\n if (false) {}\n return urlWithoutFlightParameters;\n}\n// this function performs a depth-first search of the tree to find the selected\n// params\nfunction getSelectedParams(currentTree, params) {\n if (params === void 0) params = {};\n const parallelRoutes = currentTree[1];\n for (const parallelRoute of Object.values(parallelRoutes)){\n const segment = parallelRoute[0];\n const isDynamicParameter = Array.isArray(segment);\n const segmentValue = isDynamicParameter ? segment[1] : segment;\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) continue;\n // Ensure catchAll and optional catchall are turned into an array\n const isCatchAll = isDynamicParameter && (segment[2] === \"c\" || segment[2] === \"oc\");\n if (isCatchAll) {\n params[segment[0]] = segment[1].split(\"/\");\n } else if (isDynamicParameter) {\n params[segment[0]] = segment[1];\n }\n params = getSelectedParams(parallelRoute, params);\n }\n return params;\n}\nfunction isExternalURL(url) {\n return url.origin !== window.location.origin;\n}\nfunction HistoryUpdater(param) {\n let { appRouterState, sync } = param;\n (0, _react.useInsertionEffect)(()=>{\n const { tree, pushRef, canonicalUrl } = appRouterState;\n const historyState = {\n ...pushRef.preserveCustomHistoryState ? window.history.state : {},\n // Identifier is shortened intentionally.\n // __NA is used to identify if the history entry can be handled by the app-router.\n // __N is used to identify if the history entry can be handled by the old router.\n __NA: true,\n __PRIVATE_NEXTJS_INTERNALS_TREE: tree\n };\n if (pushRef.pendingPush && // Skip pushing an additional history entry if the canonicalUrl is the same as the current url.\n // This mirrors the browser behavior for normal navigation.\n (0, _createhreffromurl.createHrefFromUrl)(new URL(window.location.href)) !== canonicalUrl) {\n // This intentionally mutates React state, pushRef is overwritten to ensure additional push/replace calls do not trigger an additional history entry.\n pushRef.pendingPush = false;\n window.history.pushState(historyState, \"\", canonicalUrl);\n } else {\n window.history.replaceState(historyState, \"\", canonicalUrl);\n }\n sync(appRouterState);\n }, [\n appRouterState,\n sync\n ]);\n return null;\n}\nfunction createEmptyCacheNode() {\n return {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n}\nfunction useServerActionDispatcher(dispatch) {\n const serverActionDispatcher = (0, _react.useCallback)((actionPayload)=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n ...actionPayload,\n type: _routerreducertypes.ACTION_SERVER_ACTION\n });\n });\n }, [\n dispatch\n ]);\n globalServerActionDispatcher = serverActionDispatcher;\n}\n/**\n * Server response that only patches the cache and tree.\n */ function useChangeByServerResponse(dispatch) {\n return (0, _react.useCallback)((param)=>{\n let { previousTree, serverResponse } = param;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_SERVER_PATCH,\n previousTree,\n serverResponse\n });\n });\n }, [\n dispatch\n ]);\n}\nfunction useNavigate(dispatch) {\n return (0, _react.useCallback)((href, navigateType, shouldScroll)=>{\n const url = new URL((0, _addbasepath.addBasePath)(href), location.href);\n return dispatch({\n type: _routerreducertypes.ACTION_NAVIGATE,\n url,\n isExternalUrl: isExternalURL(url),\n locationSearch: location.search,\n shouldScroll: shouldScroll != null ? shouldScroll : true,\n navigateType\n });\n }, [\n dispatch\n ]);\n}\nfunction copyNextJsInternalHistoryState(data) {\n if (data == null) data = {};\n const currentState = window.history.state;\n const __NA = currentState == null ? void 0 : currentState.__NA;\n if (__NA) {\n data.__NA = __NA;\n }\n const __PRIVATE_NEXTJS_INTERNALS_TREE = currentState == null ? void 0 : currentState.__PRIVATE_NEXTJS_INTERNALS_TREE;\n if (__PRIVATE_NEXTJS_INTERNALS_TREE) {\n data.__PRIVATE_NEXTJS_INTERNALS_TREE = __PRIVATE_NEXTJS_INTERNALS_TREE;\n }\n return data;\n}\nfunction Head(param) {\n let { headCacheNode } = param;\n // If this segment has a `prefetchHead`, it's the statically prefetched data.\n // We should use that on initial render instead of `head`. Then we'll switch\n // to `head` when the dynamic response streams in.\n const head = headCacheNode !== null ? headCacheNode.head : null;\n const prefetchHead = headCacheNode !== null ? headCacheNode.prefetchHead : null;\n // If no prefetch data is available, then we go straight to rendering `head`.\n const resolvedPrefetchRsc = prefetchHead !== null ? prefetchHead : head;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `head`.\n return (0, _react.useDeferredValue)(head, resolvedPrefetchRsc);\n}\n/**\n * The global router that wraps the application components.\n */ function Router(param) {\n let { buildId, initialHead, initialTree, initialCanonicalUrl, initialSeedData, couldBeIntercepted, assetPrefix, missingSlots } = param;\n const initialState = (0, _react.useMemo)(()=>(0, _createinitialrouterstate.createInitialRouterState)({\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialParallelRoutes,\n location: !isServer ? window.location : null,\n initialHead,\n couldBeIntercepted\n }), [\n buildId,\n initialSeedData,\n initialCanonicalUrl,\n initialTree,\n initialHead,\n couldBeIntercepted\n ]);\n const [reducerState, dispatch, sync] = (0, _usereducerwithdevtools.useReducerWithReduxDevtools)(initialState);\n (0, _react.useEffect)(()=>{\n // Ensure initialParallelRoutes is cleaned up from memory once it's used.\n initialParallelRoutes = null;\n }, []);\n const { canonicalUrl } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // Add memoized pathname/query for useSearchParams and usePathname.\n const { searchParams, pathname } = (0, _react.useMemo)(()=>{\n const url = new URL(canonicalUrl, true ? \"http://n\" : 0);\n return {\n // This is turned into a readonly class in `useSearchParams`\n searchParams: url.searchParams,\n pathname: (0, _hasbasepath.hasBasePath)(url.pathname) ? (0, _removebasepath.removeBasePath)(url.pathname) : url.pathname\n };\n }, [\n canonicalUrl\n ]);\n const changeByServerResponse = useChangeByServerResponse(dispatch);\n const navigate = useNavigate(dispatch);\n useServerActionDispatcher(dispatch);\n /**\n * The app router that is exposed through `useRouter`. It's only concerned with dispatching actions to the reducer, does not hold state.\n */ const appRouter = (0, _react.useMemo)(()=>{\n const routerInstance = {\n back: ()=>window.history.back(),\n forward: ()=>window.history.forward(),\n prefetch: (href, options)=>{\n // Don't prefetch for bots as they don't navigate.\n // Don't prefetch during development (improves compilation performance)\n if ((0, _isbot.isBot)(window.navigator.userAgent) || \"development\" === \"development\") {\n return;\n }\n const url = new URL((0, _addbasepath.addBasePath)(href), window.location.href);\n // External urls can't be prefetched in the same way.\n if (isExternalURL(url)) {\n return;\n }\n (0, _react.startTransition)(()=>{\n var _options_kind;\n dispatch({\n type: _routerreducertypes.ACTION_PREFETCH,\n url,\n kind: (_options_kind = options == null ? void 0 : options.kind) != null ? _options_kind : _routerreducertypes.PrefetchKind.FULL\n });\n });\n },\n replace: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"replace\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n push: (href, options)=>{\n if (options === void 0) options = {};\n (0, _react.startTransition)(()=>{\n var _options_scroll;\n navigate(href, \"push\", (_options_scroll = options.scroll) != null ? _options_scroll : true);\n });\n },\n refresh: ()=>{\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_REFRESH,\n origin: window.location.origin\n });\n });\n },\n fastRefresh: ()=>{\n if (false) {} else {\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_FAST_REFRESH,\n origin: window.location.origin\n });\n });\n }\n }\n };\n return routerInstance;\n }, [\n dispatch,\n navigate\n ]);\n (0, _react.useEffect)(()=>{\n // Exists for debugging purposes. Don't use in application code.\n if (window.next) {\n window.next.router = appRouter;\n }\n }, [\n appRouter\n ]);\n if (true) {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const { cache, prefetchCache, tree } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n (0, _react.useEffect)(()=>{\n // Add `window.nd` for debugging purposes.\n // This is not meant for use in applications as concurrent rendering will affect the cache/tree/router.\n // @ts-ignore this is for debugging\n window.nd = {\n router: appRouter,\n cache,\n prefetchCache,\n tree\n };\n }, [\n appRouter,\n cache,\n prefetchCache,\n tree\n ]);\n }\n (0, _react.useEffect)(()=>{\n // If the app is restored from bfcache, it's possible that\n // pushRef.mpaNavigation is true, which would mean that any re-render of this component\n // would trigger the mpa navigation logic again from the lines below.\n // This will restore the router to the initial state in the event that the app is restored from bfcache.\n function handlePageShow(event) {\n var _window_history_state;\n if (!event.persisted || !((_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE)) {\n return;\n }\n // Clear the pendingMpaPath value so that a subsequent MPA navigation to the same URL can be triggered.\n // This is necessary because if the browser restored from bfcache, the pendingMpaPath would still be set to the value\n // of the last MPA navigation.\n globalMutable.pendingMpaPath = undefined;\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n }\n window.addEventListener(\"pageshow\", handlePageShow);\n return ()=>{\n window.removeEventListener(\"pageshow\", handlePageShow);\n };\n }, [\n dispatch\n ]);\n // When mpaNavigation flag is set do a hard navigation to the new url.\n // Infinitely suspend because we don't actually want to rerender any child\n // components with the new URL and any entangled state updates shouldn't\n // commit either (eg: useTransition isPending should stay true until the page\n // unloads).\n //\n // This is a side effect in render. Don't try this at home, kids. It's\n // probably safe because we know this is a singleton component and it's never\n // in . At least I hope so. (It will run twice in dev strict mode,\n // but that's... fine?)\n const { pushRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n if (pushRef.mpaNavigation) {\n // if there's a re-render, we don't want to trigger another redirect if one is already in flight to the same URL\n if (globalMutable.pendingMpaPath !== canonicalUrl) {\n const location1 = window.location;\n if (pushRef.pendingPush) {\n location1.assign(canonicalUrl);\n } else {\n location1.replace(canonicalUrl);\n }\n globalMutable.pendingMpaPath = canonicalUrl;\n }\n // TODO-APP: Should we listen to navigateerror here to catch failed\n // navigations somehow? And should we call window.stop() if a SPA navigation\n // should interrupt an MPA one?\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n (0, _react.useEffect)(()=>{\n const originalPushState = window.history.pushState.bind(window.history);\n const originalReplaceState = window.history.replaceState.bind(window.history);\n // Ensure the canonical URL in the Next.js Router is updated when the URL is changed so that `usePathname` and `useSearchParams` hold the pushed values.\n const applyUrlFromHistoryPushReplace = (url)=>{\n var _window_history_state;\n const href = window.location.href;\n const tree = (_window_history_state = window.history.state) == null ? void 0 : _window_history_state.__PRIVATE_NEXTJS_INTERNALS_TREE;\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(url != null ? url : href, href),\n tree\n });\n });\n };\n /**\n * Patch pushState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.pushState = function pushState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalPushState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalPushState(data, _unused, url);\n };\n /**\n * Patch replaceState to ensure external changes to the history are reflected in the Next.js Router.\n * Ensures Next.js internal history state is copied to the new history entry.\n * Ensures usePathname and useSearchParams hold the newly provided url.\n */ window.history.replaceState = function replaceState(data, _unused, url) {\n // Avoid a loop when Next.js internals trigger pushState/replaceState\n if ((data == null ? void 0 : data.__NA) || (data == null ? void 0 : data._N)) {\n return originalReplaceState(data, _unused, url);\n }\n data = copyNextJsInternalHistoryState(data);\n if (url) {\n applyUrlFromHistoryPushReplace(url);\n }\n return originalReplaceState(data, _unused, url);\n };\n /**\n * Handle popstate event, this is used to handle back/forward in the browser.\n * By default dispatches ACTION_RESTORE, however if the history entry was not pushed/replaced by app-router it will reload the page.\n * That case can happen when the old router injected the history entry.\n */ const onPopState = (param)=>{\n let { state } = param;\n if (!state) {\n // TODO-APP: this case only happens when pushState/replaceState was called outside of Next.js. It should probably reload the page in this case.\n return;\n }\n // This case happens when the history entry was pushed by the `pages` router.\n if (!state.__NA) {\n window.location.reload();\n return;\n }\n // TODO-APP: Ideally the back button should not use startTransition as it should apply the updates synchronously\n // Without startTransition works if the cache is there for this path\n (0, _react.startTransition)(()=>{\n dispatch({\n type: _routerreducertypes.ACTION_RESTORE,\n url: new URL(window.location.href),\n tree: state.__PRIVATE_NEXTJS_INTERNALS_TREE\n });\n });\n };\n // Register popstate event to call onPopstate.\n window.addEventListener(\"popstate\", onPopState);\n return ()=>{\n window.history.pushState = originalPushState;\n window.history.replaceState = originalReplaceState;\n window.removeEventListener(\"popstate\", onPopState);\n };\n }, [\n dispatch\n ]);\n const { cache, tree, nextUrl, focusAndScrollRef } = (0, _usereducerwithdevtools.useUnwrapState)(reducerState);\n const matchingHead = (0, _react.useMemo)(()=>{\n return (0, _findheadincache.findHeadInCache)(cache, tree[1]);\n }, [\n cache,\n tree\n ]);\n // Add memoized pathParams for useParams.\n const pathParams = (0, _react.useMemo)(()=>{\n return getSelectedParams(tree);\n }, [\n tree\n ]);\n let head;\n if (matchingHead !== null) {\n // The head is wrapped in an extra component so we can use\n // `useDeferredValue` to swap between the prefetched and final versions of\n // the head. (This is what LayoutRouter does for segment data, too.)\n //\n // The `key` is used to remount the component whenever the head moves to\n // a different segment.\n const [headCacheNode, headKey] = matchingHead;\n head = /*#__PURE__*/ (0, _jsxruntime.jsx)(Head, {\n headCacheNode: headCacheNode\n }, headKey);\n } else {\n head = null;\n }\n let content = /*#__PURE__*/ (0, _jsxruntime.jsxs)(_redirectboundary.RedirectBoundary, {\n children: [\n head,\n cache.rsc,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_approuterannouncer.AppRouterAnnouncer, {\n tree: tree\n })\n ]\n });\n if (true) {\n if (false) {}\n const HotReloader = (__webpack_require__(/*! ./react-dev-overlay/app/hot-reloader-client */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\")[\"default\"]);\n content = /*#__PURE__*/ (0, _jsxruntime.jsx)(HotReloader, {\n assetPrefix: assetPrefix,\n children: content\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HistoryUpdater, {\n appRouterState: (0, _usereducerwithdevtools.useUnwrapState)(reducerState),\n sync: sync\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathParamsContext.Provider, {\n value: pathParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.PathnameContext.Provider, {\n value: pathname,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_hooksclientcontextsharedruntime.SearchParamsContext.Provider, {\n value: searchParams,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.GlobalLayoutRouterContext.Provider, {\n value: {\n buildId,\n changeByServerResponse,\n tree,\n focusAndScrollRef,\n nextUrl\n },\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.AppRouterContext.Provider, {\n value: appRouter,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n childNodes: cache.parallelRoutes,\n tree,\n // Root node always has `url`\n // Provided in AppTreeContext to ensure it can be overwritten in layout-router\n url: canonicalUrl,\n loading: cache.loading\n },\n children: content\n })\n })\n })\n })\n })\n })\n ]\n });\n}\nfunction AppRouter(props) {\n const { globalErrorComponent, ...rest } = props;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: globalErrorComponent,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(Router, {\n ...rest\n })\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=app-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7UUFtTGdCQSxTQUFBQTswQkFBQUE7O0lBeWdCaEI7OztJQWpuQmdCQzsrQkFBQUE7O0lBUUFDO2lDQUFBQTs7Ozs7O3VEQWxFVEMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt1Q0FlQUEsbUJBQUFBLENBQUE7Z0RBUTJCOzt5Q0FVM0JBLG1CQUFBQSxDQUFBO2dDQUN1QkEsbUJBQUFBLENBQUE7O2tDQUdSQSxtQkFBQUEsQ0FBQTs7O2dEQUdXOzhDQUNEOztnREFFSzs4Q0FDTjs0Q0FDSDt5Q0FDSztBQUdqQyxNQUFNQyxXQUFXRCxtQkFBQUEsQ0FBT0Usc0ZBQUFBO0FBRXhCLE1BQUFELFdBQUE7QUFDQSxpSEFFUUU7QUFFUixJQUFJQyx3QkFBQUEsV0FBK0IsV0FBQUQ7QUFFNUIsSUFBQUMsK0JBQVNQO1NBQ2RBO0lBQ0YsT0FBQU87QUFFQTtBQUlPLE1BQUFDLGdCQUFTUCxDQUFBQTtTQUNkQSw0QkFBTVEsR0FBNkI7SUFDbkNBLE1BQUFBLDZCQUEyQkMsSUFBWUMsSUFBQ0MsS0FBT0MsU0FBQUEsTUFBQUE7SUFDL0NKLDJCQUF3QkMsWUFBSyxDQUFBRSxNQUFjLENBQUFFLGtCQUFBRCxvQkFBQTtRQUN6Q0UsS0FDY0MsRUFBb0IsRUFTcEM7SUFDRixPQUFBUDtBQUVBO0FBQ0EsK0VBQVM7QUFDVCxTQUFTWTtTQUVQQyxrQkFBQUEsV0FBa0IsRUFBQUEsTUFBQTtJQUVsQixJQUFBQSxXQUFNQyxLQUFBQSxHQUFpQkMsU0FBQUEsQ0FBQUE7SUFFdkIsTUFBS0QsaUJBQU1FLFdBQWlCQyxDQUFPQyxFQUFBQTtTQUNqQyxNQUFNQyxpQkFBVUgsT0FBY0UsTUFBRSxDQUFBSixnQkFBQTtRQUNoQyxNQUFNTSxVQUFBQSxhQUFxQkMsQ0FBQUEsRUFBQUE7UUFDM0IsTUFBTUMscUJBQWVGLE1BQUFBLE9BQUFBLENB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QSxFQUFBQSxlQUFBQSxhQUFBQSxFQUFBQTt3QkFDN0JBO2tCQUFnQixrQkFBQWQsWUFBQUMsR0FBQSxFQUFBaUIsUUFBQTs7O0lBR3RCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2FwcC1yb3V0ZXIudHN4PzM3ODEiXSwibmFtZXMiOlsiY3JlYXRlRW1wdHlDYWNoZU5vZGUiLCJnZXRTZXJ2ZXJBY3Rpb25EaXNwYXRjaGVyIiwidXJsVG9VcmxXaXRob3V0RmxpZ2h0TWFya2VyIiwiXyIsInJlcXVpcmUiLCJpc1NlcnZlciIsIndpbmRvdyIsIk1hcCIsImdsb2JhbFNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJnbG9iYWxNdXRhYmxlIiwidXJsV2l0aG91dEZsaWdodFBhcmFtZXRlcnMiLCJzZWFyY2hQYXJhbXMiLCJVUkwiLCJkZWxldGUiLCJORVhUX1JTQ19VTklPTl9RVUVSWSIsIl9hcHByb3V0ZXJoZWFkZXJzIiwicHJvY2VzcyIsIl9fTkVYVF9DT05GSUdfT1VUUFVUIiwicGF0aG5hbWUiLCJsZW5ndGgiLCJlbmRzV2l0aCIsInNsaWNlIiwiZ2V0U2VsZWN0ZWRQYXJhbXMiLCJwYXJhbXMiLCJwYXJhbGxlbFJvdXRlcyIsImN1cnJlbnRUcmVlIiwicGFyYWxsZWxSb3V0ZSIsIk9iamVjdCIsInZhbHVlcyIsInNlZ21lbnQiLCJpc0R5bmFtaWNQYXJhbWV0ZXIiLCJBcnJheSIsInNlZ21lbnRWYWx1ZSIsInN0YXJ0c1dpdGgiLCJQQUdFX1NFR01FTlRfS0VZIiwiX3NlZ21lbnQiLCJpc0NhdGNoQWxsIiwic3BsaXQiLCJpc0V4dGVybmFsVVJMIiwidXJsIiwib3JpZ2luIiwibG9jYXRpb24iLCJIaXN0b3J5VXBkYXRlciIsInBhcmFtIiwic3luYyIsInVzZUluc2VydGlvbkVmZmVjdCIsIl9yZWFjdCIsImNhbm9uaWNhbFVybCIsImhpc3RvcnlTdGF0ZSIsImFwcFJvdXRlclN0YXRlIiwicHJlc2VydmVDdXN0b21IaXN0b3J5U3RhdGUiLCJwdXNoUmVmIiwiaGlzdG9yeSIsInN0YXRlIiwiX19OQSIsIl9fUFJJVkFURV9ORVhUSlNfSU5URVJOQUxTX1RSRUUiLCJ0cmVlIiwicGVuZGluZ1B1c2giLCJjcmVhdGVIcmVmRnJvbVVybCIsIl9jcmVhdGVocmVmZnJvbXVybCIsImhyZWYiLCJwdXNoU3RhdGUiLCJyZXBsYWNlU3RhdGUiLCJsYXp5RGF0YSIsInJzYyIsInByZWZldGNoUnNjIiwiaGVhZCIsInByZWZldGNoSGVhZCIsImxhenlEYXRhUmVzb2x2ZWQiLCJsb2FkaW5nIiwidXNlU2VydmVyQWN0aW9uRGlzcGF0Y2hlciIsInVzZUNhbGxiYWNrIiwic3RhcnRUcmFuc2l0aW9uIiwiYWN0aW9uUGF5bG9hZCIsImRpc3BhdGNoIiwidHlwZSIsIkFDVElPTl9TRVJWRVJfQUNUSU9OIiwiX3JvdXRlcnJlZHVjZXJ0eXBlcyIsInNlcnZlckFjdGlvbkRpc3BhdGNoZXIiLCJwcmV2aW91c1RyZWUiLCJzZXJ2ZXJSZXNwb25zZSIsInVzZU5hdmlnYXRlIiwiYWRkQmFzZVBhdGgiLCJzaG91bGRTY3JvbGwiLCJfYWRkYmFzZXBhdGgiLCJBQ1RJT05fTkFWSUdBVEUiLCJpc0V4dGVybmFsVXJsIiwibG9jYXRpb25TZWFyY2giLCJzZWFyY2giLCJuYXZpZ2F0ZVR5cGUiLCJkYXRhIiwiY3VycmVudFN0YXRlIiwiSGVhZCIsImhlYWRDYWNoZU5vZGUiLCJyZXNvbHZlZFByZWZldGNoUnNjIiwidXNlRGVmZXJyZWRWYWx1ZSIsImJ1aWxkSWQiLCJpbml0aWFsSGVhZCIsImluaXRpYWxTdGF0ZSIsInVzZU1lbW8iLCJpbml0aWFsQ2Fub25pY2FsVXJsIiwiY3JlYXRlSW5pdGlhbFJvdXRlclN0YXRlIiwiYXNzZXRQcmVmaXgiLCJtaXNzaW5nU2xvdHMiLCJpbml0aWFsU2VlZERhdGEiLCJpbml0aWFsVHJlZSIsImluaXRpYWxQYXJhbGxlbFJvdXRlcyIsImNvdWxkQmVJbnRlcmNlcHRlZCIsInVzZUVmZmVjdCIsIl91c2VyZWR1Y2Vyd2l0aGRldnRvb2xzIiwidXNlUmVkdWNlcldpdGhSZWR1eERldnRvb2xzIiwidXNlVW53cmFwU3RhdGUiLCJyZWR1Y2VyU3RhdGUiLCJoYXNCYXNlUGF0aCIsIl9oYXNiYXNlcGF0aCIsIl9yZW1vdmViYXNlcGF0aCIsInJlbW92ZUJhc2VQYXRoIiwibmF2aWdhdGUiLCJhcHBSb3V0ZXIiLCJyb3V0ZXJJbnN0YW5jZSIsImJhY2siLCJmb3J3YXJkIiwicHJlZmV0Y2giLCJvcHRpb25zIiwiTk9ERV9FTlYiLCJfaXNib3QiLCJpc0JvdCIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsImtpbmQiLCJfb3B0aW9uc19raW5kIiwiUHJlZmV0Y2hLaW5kIiwiRlVMTCIsInJlcGxhY2UiLCJfb3B0aW9uc19zY3JvbGwiLCJzY3JvbGwiLCJwdXNoIiwicmVmcmVzaCIsImZhc3RSZWZyZXNoIiwiRXJyb3IiLCJuZXh0Iiwicm91dGVyIiwiY2FjaGUiLCJwcmVmZXRjaENhY2hlIiwiX3dpbmRvd19oaXN0b3J5X3N0YXRlIiwiZXZlbnQiLCJwZXJzaXN0ZWQiLCJwZW5kaW5nTXBhUGF0aCIsInVuZGVmaW5lZCIsImFkZEV2ZW50TGlzdGVuZXIiLCJoYW5kbGVQYWdlU2hvdyIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJtcGFOYXZpZ2F0aW9uIiwibG9jYXRpb24xIiwiYXNzaWduIiwidXNlIiwidW5yZXNvbHZlZFRoZW5hYmxlIiwiX3VucmVzb2x2ZWR0aGVuYWJsZSIsIm9yaWdpbmFsUHVzaFN0YXRlIiwib3JpZ2luYWxSZXBsYWNlU3RhdGUiLCJiaW5kIiwiX3VudXNlZCIsImFwcGx5VXJsRnJvbUhpc3RvcnlQdXNoUmVwbGFjZSIsInJlbG9hZCIsIm9uUG9wU3RhdGUiLCJtYXRjaGluZ0hlYWQiLCJmaW5kSGVhZEluQ2FjaGUiLCJfZmluZGhlYWRpbmNhY2hlIiwicGF0aFBhcmFtcyIsImhlYWRLZXkiLCJEZXZSb290Tm90Rm91bmRCb3VuZGFyeSIsImNvbnRlbnQiLCJfanN4cnVudGltZSIsImpzeCIsIk1pc3NpbmdTbG90Q29udGV4dCIsInZhbHVlIiwiSG90UmVsb2FkZXIiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiUHJvdmlkZXIiLCJjaGFuZ2VCeVNlcnZlclJlc3BvbnNlIiwiZm9jdXNBbmRTY3JvbGxSZWYiLCJuZXh0VXJsIiwiTGF5b3V0Um91dGVyQ29udGV4dCIsImNoaWxkTm9kZXMiLCJBcHBSb3V0ZXIiLCJnbG9iYWxFcnJvckNvbXBvbmVudCIsInJlc3QiLCJFcnJvckJvdW5kYXJ5IiwiZXJyb3JDb21wb25lbnQiLCJSb3V0ZXIiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/app-router.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js": -/*!*********************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/bailout-to-client-rendering.js ***! - \*********************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"bailoutToClientRendering\", ({\n enumerable: true,\n get: function() {\n return bailoutToClientRendering;\n }\n}));\nconst _bailouttocsr = __webpack_require__(/*! ../../shared/lib/lazy-dynamic/bailout-to-csr */ \"(ssr)/./node_modules/next/dist/shared/lib/lazy-dynamic/bailout-to-csr.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nfunction bailoutToClientRendering(reason) {\n const staticGenerationStore = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.forceStatic) return;\n if (staticGenerationStore == null ? void 0 : staticGenerationStore.isStaticGeneration) throw new _bailouttocsr.BailoutToCSRError(reason);\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=bailout-to-client-rendering.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2JhaWxvdXQtdG8tY2xpZW50LXJlbmRlcmluZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzREQUdnQkE7OztlQUFBQTs7OzBDQUhrQjtrRUFDVztBQUV0QyxTQUFTQSx5QkFBeUJDLE1BQWM7SUFDckQsTUFBTUMsd0JBQXdCQyxzQ0FBQUEsNEJBQTRCLENBQUNDLFFBQVE7SUFFbkUsSUFBSUYseUJBQUFBLE9BQUFBLEtBQUFBLElBQUFBLHNCQUF1QkcsV0FBVyxFQUFFO0lBRXhDLElBQUlILHlCQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxzQkFBdUJJLGtCQUFrQixFQUMzQyxNQUFNLElBQUlDLGNBQUFBLGlCQUFpQixDQUFDTjtBQUNoQyIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9iYWlsb3V0LXRvLWNsaWVudC1yZW5kZXJpbmcudHM/YmJkOCJdLCJuYW1lcyI6WyJiYWlsb3V0VG9DbGllbnRSZW5kZXJpbmciLCJyZWFzb24iLCJzdGF0aWNHZW5lcmF0aW9uU3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiZ2V0U3RvcmUiLCJmb3JjZVN0YXRpYyIsImlzU3RhdGljR2VuZXJhdGlvbiIsIkJhaWxvdXRUb0NTUkVycm9yIl0sInNvdXJjZVJvb3QiOiIifQ==\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-page.js": -/*!*****************************************************************!*\ - !*** ./node_modules/next/dist/client/components/client-page.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, \"ClientPageRoot\", ({\n enumerable: true,\n get: function() {\n return ClientPageRoot;\n }\n}));\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _searchparams = __webpack_require__(/*! ./search-params */ \"(ssr)/./node_modules/next/dist/client/components/search-params.js\");\nfunction ClientPageRoot(param) {\n let { Component, props } = param;\n // We expect to be passed searchParams but even if we aren't we can construct one from\n // an empty object. We only do this if we are in a static generation as a performance\n // optimization. Ideally we'd unconditionally construct the tracked params but since\n // this creates a proxy which is slow and this would happen even for client navigations\n // that are done entirely dynamically and we know there the dynamic tracking is a noop\n // in this dynamic case we can safely elide it.\n props.searchParams = (0, _searchparams.createDynamicallyTrackedSearchParams)(props.searchParams || {});\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(Component, {\n ...props\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-page.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBR08sTUFBQUEsZ0JBQVNDLG1CQUFBQSxDQU1mO1NBTjhCQSxlQUU3QkMsS0FJRDtJQUNDLE1BQUFDLFNBQUEsRUFBQUQsS0FBQSxLQUFBRTtJQUNBLHNGQUFxRjtJQUNyRixxRkFBb0Y7SUFDcEY7SUFDQSx1RkFBc0Y7SUFDdEYsc0ZBQStDO0lBQy9DRiwrQ0FBcUJHO0lBR3JCSCxNQUFBSSxZQUFBLEdBQU8sSUFBQU4sY0FBQUssb0NBQUNGLEVBQUFBLE1BQUFBLFlBQUFBLElBQUFBLENBQUFBO1dBQW1CLGtCQUFBSSxZQUFBQyxHQUFBLEVBQUFMLFdBQUE7O0lBQzdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2NsaWVudC1wYWdlLnRzeD84NGM1Il0sIm5hbWVzIjpbIl9zZWFyY2hwYXJhbXMiLCJDbGllbnRQYWdlUm9vdCIsInByb3BzIiwiQ29tcG9uZW50IiwicGFyYW0iLCJjcmVhdGVEeW5hbWljYWxseVRyYWNrZWRTZWFyY2hQYXJhbXMiLCJzZWFyY2hQYXJhbXMiLCJfanN4cnVudGltZSIsImpzeCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/client-page.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 ErrorBoundary: function() {\n return ErrorBoundary;\n },\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});\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _isnextroutererror = __webpack_require__(/*! ./is-next-router-error */ \"(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\");\nconst _staticgenerationasyncstorageexternal = __webpack_require__(/*! ./static-generation-async-storage.external */ \"./static-generation-async-storage.external\");\nconst styles = {\n error: {\n // https://github.com/sindresorhus/modern-normalize/blob/main/modern-normalize.css#L38-L52\n fontFamily: 'system-ui,\"Segoe UI\",Roboto,Helvetica,Arial,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\"',\n height: \"100vh\",\n textAlign: \"center\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\"\n },\n text: {\n fontSize: \"14px\",\n fontWeight: 400,\n lineHeight: \"28px\",\n margin: \"0 8px\"\n }\n};\n// if we are revalidating we want to re-throw the error so the\n// function crashes so we can maintain our previous cache\n// instead of caching the error page\nfunction HandleISRError(param) {\n let { error } = param;\n const store = _staticgenerationasyncstorageexternal.staticGenerationAsyncStorage.getStore();\n if ((store == null ? void 0 : store.isRevalidate) || (store == null ? void 0 : store.isStaticGeneration)) {\n console.error(error);\n throw error;\n }\n return null;\n}\nclass ErrorBoundaryHandler extends _react.default.Component {\n static getDerivedStateFromError(error) {\n if ((0, _isnextroutererror.isNextRouterError)(error)) {\n // Re-throw if an expected internal Next.js router error occurs\n // this means it should be handled by a different boundary (such as a NotFound boundary in a parent segment)\n throw error;\n }\n return {\n error\n };\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.error) {\n return {\n error: null,\n previousPathname: props.pathname\n };\n }\n return {\n error: state.error,\n previousPathname: props.pathname\n };\n }\n // Explicit type is needed to avoid the generated `.d.ts` having a wide return type that could be specific the the `@types/react` version.\n render() {\n if (this.state.error) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: this.state.error\n }),\n this.props.errorStyles,\n this.props.errorScripts,\n /*#__PURE__*/ (0, _jsxruntime.jsx)(this.props.errorComponent, {\n error: this.state.error,\n reset: this.reset\n })\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.reset = ()=>{\n this.setState({\n error: null\n });\n };\n this.state = {\n error: null,\n previousPathname: this.props.pathname\n };\n }\n}\nfunction GlobalError(param) {\n let { error } = param;\n const digest = error == null ? void 0 : error.digest;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n id: \"__next_error__\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"body\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(HandleISRError, {\n error: error\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n style: styles.error,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"h2\", {\n style: styles.text,\n children: \"Application error: a \" + (digest ? \"server\" : \"client\") + \"-side exception has occurred (see the \" + (digest ? \"server logs\" : \"browser console\") + \" for more information).\"\n }),\n digest ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"p\", {\n style: styles.text,\n children: \"Digest: \" + digest\n }) : null\n ]\n })\n })\n ]\n })\n ]\n });\n}\nconst _default = GlobalError;\nfunction ErrorBoundary(param) {\n let { errorComponent, errorStyles, errorScripts, children } = param;\n const pathname = (0, _navigation.usePathname)();\n if (errorComponent) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(ErrorBoundaryHandler, {\n pathname: pathname,\n errorComponent: errorComponent,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=error-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2Vycm9yLWJvdW5kYXJ5LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O1FBb0tnQkEsU0FBYTttQkFBYkE7O0lBdEdIQzswQkFBQUE7O0lBaUVHQztpQkFBQUE7O0lBd0JoQjtJQUNBLGdGQUEyQztJQUMzQywyQ0FBMEI7Ozs7Ozs7NkJBdEpFQyx5QkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTs7O0FBSTVCLE1BQU1DLHdDQUFTRCxtQkFBQUEsQ0FBQTtNQUNiRSxTQUFPO1dBQ0w7UUFDQUMsMEZBQ0U7UUFDRkMsWUFBUTtRQUNSQyxRQUFBQTtRQUNBQyxXQUFTO1FBQ1RDLFNBQUFBO1FBQ0FDLGVBQVk7UUFDWkMsWUFBQUE7UUFDRkEsZ0JBQUE7SUFDQUM7VUFDRUM7UUFDQUMsVUFBQUE7UUFDQUMsWUFBWTtRQUNaQyxZQUFRO1FBQ1ZBLFFBQUE7SUFDRjtBQXdCQTtBQUNBLDhEQUF5RDtBQUN6RCx5REFBb0M7QUFDcEMsb0NBQWlEO1NBQXpCQyxlQUFBQyxLQUFBO0lBQ3RCLE1BQU1DLEtBQUFBLEVBQUFBLEdBQVFDO0lBQ2QsTUFBSUQsUUFBQUEsc0NBQW1CQyw0QkFBSUQsQ0FBQUEsUUFBT0U7UUFDaENDLENBQUFBLFNBQVFsQixPQUFNQSxLQUFBQSxJQUFBQSxNQUFBQSxZQUFBQSxLQUFBQSxDQUFBQSxTQUFBQSxPQUFBQSxLQUFBQSxJQUFBQSxNQUFBQSxrQkFBQUEsR0FBQUE7UUFDZGtCLFFBQU1sQixLQUFBQSxDQUFBQTtRQUNSLE1BQUFBO0lBRUE7SUFDRjtBQUVPO01BU0xOLDZCQUFPeUIsT0FBcUNDLE9BQUUsQ0FBQUMsU0FBQTtXQUM1Q0YseUJBQUlHLEtBQUFBLEVBQUFBO1lBQ0YsSUFBQUMsbUJBQUFELGlCQUFBLEVBQUF0QixRQUFBO1lBQ0E7WUFDQSw0R0FBTUE7WUFDUixNQUFBQTtRQUVBO2VBQVNBO1lBQU1BO1FBQ2pCO0lBRUE7V0FJRXdCLHlCQUFBQyxLQUFBLEVBQUFDLEtBQUE7Ozs7OztZQU9FRCxNQUFBRSxRQUFPLEtBQUFELE1BQUFFLGdCQUFBLElBQUFGLE1BQUExQixLQUFBO21CQUNMQTtnQkFDQTRCLE9BQUFBO2dCQUNGQSxrQkFBQUgsTUFBQUUsUUFBQTtZQUNGO1FBQ0E7ZUFDRTNCO1lBQ0E0QixPQUFBQSxNQUFBQSxLQUFrQkg7WUFDcEJHLGtCQUFBSCxNQUFBRSxRQUFBO1FBQ0Y7SUFNQTtJQUNBRSwwSUFBMEI7YUFDcEI7WUFDRixLQUFBSCxLQUFBLENBQUExQixLQUFBOzs7K0JBRTJCLEdBQUksSUFBQzBCLFlBQVdJLEdBQUEsRUFBQWpCLGdCQUFBOztvQkFDdEM7b0JBQ0EsSUFBSSxDQUFDWSxLQUFLLENBQUNNLFdBQUFBOzJDQUNaOytCQUNTLEdBQUksSUFBQ0wsWUFBV0ksR0FBQSxPQUFBTCxLQUFBLENBQUFPLGNBQUE7d0JBQ3ZCQyxPQUFPLElBQUksQ0FBQ0EsS0FBSyxDQUFBakMsS0FBQTs7OztZQUl6QjtRQUVBO1FBQ0YsWUFBQXlCLEtBQUEsQ0FBQVMsUUFBQTtJQTFEQUM7Z0JBQ1FWLEtBQUFBLENBQUFBO2FBb0NSUSxDQUFBQTtZQUNFLENBQUFBLEtBQUtHLEdBQUFBO2dCQUFXcEMsQ0FBQUEsUUFBTztnQkFBS0EsT0FBQTtZQUM5QjtRQXJDRTtZQUFlQSxDQUFBQSxLQUFBQSxHQUFPO1lBQU00QixPQUFBQTtZQUFzQ0Esa0JBQUEsS0FBQUgsS0FBQSxDQUFBRSxRQUFBO1FBQ3BFO0lBd0RGO0FBRU87U0FBcUJoQyxZQUFBbUIsS0FBQTtJQUMxQixNQUFNdUIsS0FBQUEsRUFBQUEsR0FBNkJyQztJQUNuQyxNQUFBcUMsU0FBQXJDLFNBQ0UsZ0JBQUFBLE1BQUNzQyxNQUFBQTtXQUFRLGtCQUFBRSxZQUFBQyxJQUFBOzs7MEJBRVAsSUFBQUQsWUFBQVYsR0FBQSxVQUFDWSxDQUFBQTs7OytCQUN3QjFDLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLGdCQUFBQTs7OytCQUNYRCxHQUFBQSxDQUFBQSxHQUFPQyxZQUFLOEIsR0FBQTtzQ0FDdEI5QixLQUFBOzs7MkNBQ2FELEdBQUFBLENBQUFBLEdBQU9TLFlBQUlzQixHQUFBO2tEQUNsQnRCLElBQUE7O2dDQU1INkI7eUNBQThCLFdBQUo3QixHQUFJLElBQUFnQyxZQUFBVixHQUFBO2tEQUFJdEIsSUFBQTs4Q0FBMEIsYUFBQTZCOzs7Ozs7OztJQU16RTs7QUFlTyxNQUFBTyxXQUFTbkQ7U0FBY0EsY0FDNUJ1QyxLQUNBYTtJQUlBLE1BQU1sQixjQUFXbUIsRUFBQUEsV0FBQUEsRUFBQUEsWUFBVyxFQUFBWixRQUFBLEtBQUFwQjtJQUM1QixNQUFJa0IsV0FBQUEsQ0FBQUEsR0FBZ0JlLFlBQUFELFdBQUE7UUFDbEJkLGdCQUFBO2VBRWNMLFdBQUFBLEdBQUFBLENBQUFBLEdBQUFBLFlBQUFBLEdBQUFBLEVBQUFBLHNCQUFBQTtZQUNWSyxVQUFBQTtZQUNBYSxnQkFBYUE7WUFDYmQsYUFBQUE7MEJBRUNHOztRQUdQO0lBRUE7V0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBQ1oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvZXJyb3ItYm91bmRhcnkudHN4PzY2NTkiXSwibmFtZXMiOlsiRXJyb3JCb3VuZGFyeSIsIkVycm9yQm91bmRhcnlIYW5kbGVyIiwiR2xvYmFsRXJyb3IiLCJfaW50ZXJvcF9yZXF1aXJlX2RlZmF1bHQiLCJfIiwicmVxdWlyZSIsInN0eWxlcyIsImVycm9yIiwiZm9udEZhbWlseSIsImhlaWdodCIsInRleHRBbGlnbiIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwidGV4dCIsImZvbnRTaXplIiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJtYXJnaW4iLCJIYW5kbGVJU1JFcnJvciIsInBhcmFtIiwic3RvcmUiLCJzdGF0aWNHZW5lcmF0aW9uQXN5bmNTdG9yYWdlIiwiaXNTdGF0aWNHZW5lcmF0aW9uIiwiY29uc29sZSIsImdldERlcml2ZWRTdGF0ZUZyb21FcnJvciIsImRlZmF1bHQiLCJDb21wb25lbnQiLCJpc05leHRSb3V0ZXJFcnJvciIsIl9pc25leHRyb3V0ZXJlcnJvciIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsInByb3BzIiwic3RhdGUiLCJwYXRobmFtZSIsInByZXZpb3VzUGF0aG5hbWUiLCJyZW5kZXIiLCJqc3giLCJlcnJvclNjcmlwdHMiLCJlcnJvckNvbXBvbmVudCIsInJlc2V0IiwiY2hpbGRyZW4iLCJjb25zdHJ1Y3RvciIsInNldFN0YXRlIiwiZGlnZXN0IiwiaHRtbCIsImlkIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiYm9keSIsInN0eWxlIiwiX2RlZmF1bHQiLCJlcnJvclN0eWxlcyIsInVzZVBhdGhuYW1lIiwiX25hdmlnYXRpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/error-boundary.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js": -/*!**************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/hooks-server-context.js ***! - \**************************************************************************/ -/***/ ((module, exports) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\n0 && (0);\nfunction _export(target, all) {\n for(var name in all)Object.defineProperty(target, name, {\n enumerable: true,\n get: all[name]\n });\n}\n_export(exports, {\n DynamicServerError: function() {\n return DynamicServerError;\n },\n isDynamicServerError: function() {\n return isDynamicServerError;\n }\n});\nconst DYNAMIC_ERROR_CODE = \"DYNAMIC_SERVER_USAGE\";\nclass DynamicServerError extends Error {\n constructor(description){\n super(\"Dynamic server usage: \" + description);\n this.description = description;\n this.digest = DYNAMIC_ERROR_CODE;\n }\n}\nfunction isDynamicServerError(err) {\n if (typeof err !== \"object\" || err === null || !(\"digest\" in err) || typeof err.digest !== \"string\") {\n return false;\n }\n return err.digest === DYNAMIC_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hooks-server-context.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2hvb2tzLXNlcnZlci1jb250ZXh0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUVhQSxvQkFBa0I7ZUFBbEJBOztJQVFHQyxzQkFBb0I7ZUFBcEJBOzs7QUFWaEIsTUFBTUMscUJBQXFCO0FBRXBCLE1BQU1GLDJCQUEyQkc7SUFHdENDLFlBQVlDLFdBQW1DLENBQUU7UUFDL0MsS0FBSyxDQUFDLDJCQUF5QkE7YUFETEEsV0FBQUEsR0FBQUE7YUFGNUJDLE1BQUFBLEdBQW9DSjtJQUlwQztBQUNGO0FBRU8sU0FBU0QscUJBQXFCTSxHQUFZO0lBQy9DLElBQ0UsT0FBT0EsUUFBUSxZQUNmQSxRQUFRLFFBQ1IsQ0FBRSxhQUFZQSxHQUFBQSxLQUNkLE9BQU9BLElBQUlELE1BQU0sS0FBSyxVQUN0QjtRQUNBLE9BQU87SUFDVDtJQUVBLE9BQU9DLElBQUlELE1BQU0sS0FBS0o7QUFDeEIiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvaG9va3Mtc2VydmVyLWNvbnRleHQudHM/ODIzOCJdLCJuYW1lcyI6WyJEeW5hbWljU2VydmVyRXJyb3IiLCJpc0R5bmFtaWNTZXJ2ZXJFcnJvciIsIkRZTkFNSUNfRVJST1JfQ09ERSIsIkVycm9yIiwiY29uc3RydWN0b3IiLCJkZXNjcmlwdGlvbiIsImRpZ2VzdCIsImVyciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/hooks-server-context.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/is-hydration-error.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/is-hydration-error.js ***! - \************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"isHydrationError\", ({\n enumerable: true,\n get: function() {\n return isHydrationError;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _iserror = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ../../lib/is-error */ \"(ssr)/./node_modules/next/dist/lib/is-error.js\"));\nconst hydrationErrorRegex = /hydration failed|while hydrating|content does not match|did not match/i;\nfunction isHydrationError(error) {\n return (0, _iserror.default)(error) && hydrationErrorRegex.test(error.message);\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-hydration-error.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLWh5ZHJhdGlvbi1lcnJvci5qcyIsIm1hcHBpbmdzIjoiOzs7O29EQUtnQkE7OztlQUFBQTs7Ozs4RUFMSTtBQUVwQixNQUFNQyxzQkFDSjtBQUVLLFNBQVNELGlCQUFpQkUsS0FBYztJQUM3QyxPQUFPQyxDQUFBQSxHQUFBQSxTQUFBQSxPQUFPLEVBQUNELFVBQVVELG9CQUFvQkcsSUFBSSxDQUFDRixNQUFNRyxPQUFPO0FBQ2pFIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL2lzLWh5ZHJhdGlvbi1lcnJvci50cz82ZmJhIl0sIm5hbWVzIjpbImlzSHlkcmF0aW9uRXJyb3IiLCJoeWRyYXRpb25FcnJvclJlZ2V4IiwiZXJyb3IiLCJpc0Vycm9yIiwidGVzdCIsIm1lc3NhZ2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-hydration-error.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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2lzLW5leHQtcm91dGVyLWVycm9yLmpzIiwibWFwcGluZ3MiOiI7Ozs7cURBR2dCQTs7O2VBQUFBOzs7c0NBSGdCO3NDQUNBO0FBRXpCLFNBQVNBLGtCQUFrQkMsS0FBVTtJQUMxQyxPQUNFQSxTQUFTQSxNQUFNQyxNQUFNLElBQUtDLENBQUFBLENBQUFBLEdBQUFBLFVBQUFBLGVBQWUsRUFBQ0YsVUFBVUcsQ0FBQUEsR0FBQUEsVUFBQUEsZUFBZSxFQUFDSCxNQUFBQTtBQUV4RSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9pcy1uZXh0LXJvdXRlci1lcnJvci50cz9lNTA1Il0sIm5hbWVzIjpbImlzTmV4dFJvdXRlckVycm9yIiwiZXJyb3IiLCJkaWdlc3QiLCJpc1JlZGlyZWN0RXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/is-next-router-error.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/layout-router.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/layout-router.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return OuterLayoutRouter;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _reactdom = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! react-dom */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-dom.js\"));\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nconst _fetchserverresponse = __webpack_require__(/*! ./router-reducer/fetch-server-response */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/fetch-server-response.js\");\nconst _unresolvedthenable = __webpack_require__(/*! ./unresolved-thenable */ \"(ssr)/./node_modules/next/dist/client/components/unresolved-thenable.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\");\nconst _hasinterceptionrouteincurrenttree = __webpack_require__(/*! ./router-reducer/reducers/has-interception-route-in-current-tree */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/has-interception-route-in-current-tree.js\");\n/**\n * Add refetch marker to router state at the point of the current layout segment.\n * This ensures the response returned is not further down than the current layout segment.\n */ function walkAddRefetch(segmentPathToWalk, treeToRecreate) {\n if (segmentPathToWalk) {\n const [segment, parallelRouteKey] = segmentPathToWalk;\n const isLast = segmentPathToWalk.length === 2;\n if ((0, _matchsegments.matchSegment)(treeToRecreate[0], segment)) {\n if (treeToRecreate[1].hasOwnProperty(parallelRouteKey)) {\n if (isLast) {\n const subTree = walkAddRefetch(undefined, treeToRecreate[1][parallelRouteKey]);\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: [\n subTree[0],\n subTree[1],\n subTree[2],\n \"refetch\"\n ]\n }\n ];\n }\n return [\n treeToRecreate[0],\n {\n ...treeToRecreate[1],\n [parallelRouteKey]: walkAddRefetch(segmentPathToWalk.slice(2), treeToRecreate[1][parallelRouteKey])\n }\n ];\n }\n }\n }\n return treeToRecreate;\n}\n// TODO-APP: Replace with new React API for finding dom nodes without a `ref` when available\n/**\n * Wraps ReactDOM.findDOMNode with additional logic to hide React Strict Mode warning\n */ function findDOMNode(instance) {\n // Tree-shake for server bundle\n if (true) return null;\n // Only apply strict mode warning when not in production\n if (true) {\n const originalConsoleError = console.error;\n try {\n console.error = function() {\n for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){\n messages[_key] = arguments[_key];\n }\n // Ignore strict mode warning for the findDomNode call below\n if (!messages[0].includes(\"Warning: %s is deprecated in StrictMode.\")) {\n originalConsoleError(...messages);\n }\n };\n return _reactdom.default.findDOMNode(instance);\n } finally{\n console.error = originalConsoleError;\n }\n }\n return _reactdom.default.findDOMNode(instance);\n}\nconst rectProperties = [\n \"bottom\",\n \"height\",\n \"left\",\n \"right\",\n \"top\",\n \"width\",\n \"x\",\n \"y\"\n];\n/**\n * Check if a HTMLElement is hidden or fixed/sticky position\n */ function shouldSkipElement(element) {\n // we ignore fixed or sticky positioned elements since they'll likely pass the \"in-viewport\" check\n // and will result in a situation we bail on scroll because of something like a fixed nav,\n // even though the actual page content is offscreen\n if ([\n \"sticky\",\n \"fixed\"\n ].includes(getComputedStyle(element).position)) {\n if (true) {\n console.warn(\"Skipping auto-scroll behavior due to `position: sticky` or `position: fixed` on element:\", element);\n }\n return true;\n }\n // Uses `getBoundingClientRect` to check if the element is hidden instead of `offsetParent`\n // because `offsetParent` doesn't consider document/body\n const rect = element.getBoundingClientRect();\n return rectProperties.every((item)=>rect[item] === 0);\n}\n/**\n * Check if the top corner of the HTMLElement is in the viewport.\n */ function topOfElementInViewport(element, viewportHeight) {\n const rect = element.getBoundingClientRect();\n return rect.top >= 0 && rect.top <= viewportHeight;\n}\n/**\n * Find the DOM node for a hash fragment.\n * If `top` the page has to scroll to the top of the page. This mirrors the browser's behavior.\n * If the hash fragment is an id, the page has to scroll to the element with that id.\n * If the hash fragment is a name, the page has to scroll to the first element with that name.\n */ function getHashFragmentDomNode(hashFragment) {\n // If the hash fragment is `top` the page has to scroll to the top of the page.\n if (hashFragment === \"top\") {\n return document.body;\n }\n var _document_getElementById;\n // If the hash fragment is an id, the page has to scroll to the element with that id.\n return (_document_getElementById = document.getElementById(hashFragment)) != null ? _document_getElementById : document.getElementsByName(hashFragment)[0];\n}\nclass InnerScrollAndFocusHandler extends _react.default.Component {\n componentDidMount() {\n this.handlePotentialScroll();\n }\n componentDidUpdate() {\n // Because this property is overwritten in handlePotentialScroll it's fine to always run it when true as it'll be set to false for subsequent renders.\n if (this.props.focusAndScrollRef.apply) {\n this.handlePotentialScroll();\n }\n }\n render() {\n return this.props.children;\n }\n constructor(...args){\n super(...args);\n this.handlePotentialScroll = ()=>{\n // Handle scroll and focus, it's only applied once in the first useEffect that triggers that changed.\n const { focusAndScrollRef, segmentPath } = this.props;\n if (focusAndScrollRef.apply) {\n // segmentPaths is an array of segment paths that should be scrolled to\n // if the current segment path is not in the array, the scroll is not applied\n // unless the array is empty, in which case the scroll is always applied\n if (focusAndScrollRef.segmentPaths.length !== 0 && !focusAndScrollRef.segmentPaths.some((scrollRefSegmentPath)=>segmentPath.every((segment, index)=>(0, _matchsegments.matchSegment)(segment, scrollRefSegmentPath[index])))) {\n return;\n }\n let domNode = null;\n const hashFragment = focusAndScrollRef.hashFragment;\n if (hashFragment) {\n domNode = getHashFragmentDomNode(hashFragment);\n }\n // `findDOMNode` is tricky because it returns just the first child if the component is a fragment.\n // This already caused a bug where the first child was a 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__*/ (0, _jsxruntime.jsx)(InnerScrollAndFocusHandler, {\n segmentPath: segmentPath,\n focusAndScrollRef: context.focusAndScrollRef,\n children: children\n });\n}\n/**\n * InnerLayoutRouter handles rendering the provided segment based on the cache.\n */ function InnerLayoutRouter(param) {\n let { parallelRouterKey, url, childNodes, segmentPath, tree, // isActive,\n cacheKey } = param;\n const context = (0, _react.useContext)(_approutercontextsharedruntime.GlobalLayoutRouterContext);\n if (!context) {\n throw new Error(\"invariant global layout router not mounted\");\n }\n const { buildId, changeByServerResponse, tree: fullTree } = context;\n // Read segment path from the parallel router cache node.\n let childNode = childNodes.get(cacheKey);\n // When data is not available during rendering client-side we need to fetch\n // it from the server.\n if (childNode === undefined) {\n const newLazyCacheNode = {\n lazyData: null,\n rsc: null,\n prefetchRsc: null,\n head: null,\n prefetchHead: null,\n parallelRoutes: new Map(),\n lazyDataResolved: false,\n loading: null\n };\n /**\n * Flight data fetch kicked off during render and put into the cache.\n */ childNode = newLazyCacheNode;\n childNodes.set(cacheKey, newLazyCacheNode);\n }\n // `rsc` represents the renderable node for this segment.\n // If this segment has a `prefetchRsc`, it's the statically prefetched data.\n // We should use that on initial render instead of `rsc`. Then we'll switch\n // to `rsc` when the dynamic response streams in.\n //\n // If no prefetch data is available, then we go straight to rendering `rsc`.\n const resolvedPrefetchRsc = childNode.prefetchRsc !== null ? childNode.prefetchRsc : childNode.rsc;\n // We use `useDeferredValue` to handle switching between the prefetched and\n // final values. The second argument is returned on initial render, then it\n // re-renders with the first argument.\n //\n // @ts-expect-error The second argument to `useDeferredValue` is only\n // available in the experimental builds. When its disabled, it will always\n // return `rsc`.\n const rsc = (0, _react.useDeferredValue)(childNode.rsc, resolvedPrefetchRsc);\n // `rsc` is either a React node or a promise for a React node, except we\n // special case `null` to represent that this segment's data is missing. If\n // it's a promise, we need to unwrap it so we can determine whether or not the\n // data is missing.\n const resolvedRsc = typeof rsc === \"object\" && rsc !== null && typeof rsc.then === \"function\" ? (0, _react.use)(rsc) : rsc;\n if (!resolvedRsc) {\n // The data for this segment is not available, and there's no pending\n // navigation that will be able to fulfill it. We need to fetch more from\n // the server and patch the cache.\n // Check if there's already a pending request.\n let lazyData = childNode.lazyData;\n if (lazyData === null) {\n /**\n * Router state with refetch marker added\n */ // TODO-APP: remove ''\n const refetchTree = walkAddRefetch([\n \"\",\n ...segmentPath\n ], fullTree);\n const includeNextUrl = (0, _hasinterceptionrouteincurrenttree.hasInterceptionRouteInCurrentTree)(fullTree);\n childNode.lazyData = lazyData = (0, _fetchserverresponse.fetchServerResponse)(new URL(url, location.origin), refetchTree, includeNextUrl ? context.nextUrl : null, buildId);\n childNode.lazyDataResolved = false;\n }\n /**\n * Flight response data\n */ // When the data has not resolved yet `use` will suspend here.\n const serverResponse = (0, _react.use)(lazyData);\n if (!childNode.lazyDataResolved) {\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({\n previousTree: fullTree,\n serverResponse\n });\n });\n });\n // It's important that we mark this as resolved, in case this branch is replayed, we don't want to continously re-apply\n // the patch to the tree.\n childNode.lazyDataResolved = true;\n // Suspend infinitely as `changeByServerResponse` will cause a different part of the tree to be rendered.\n (0, _react.use)(_unresolvedthenable.unresolvedThenable);\n }\n }\n // If we get to this point, then we know we have something we can render.\n const subtree = /*#__PURE__*/ (0, _jsxruntime.jsx)(_approutercontextsharedruntime.LayoutRouterContext.Provider, {\n value: {\n tree: tree[1][parallelRouterKey],\n childNodes: childNode.parallelRoutes,\n // TODO-APP: overriding of url for parallel routes\n url: url,\n loading: childNode.loading\n },\n children: resolvedRsc\n });\n // Ensure root layout is not wrapped in a div as the root layout renders ``\n return subtree;\n}\n/**\n * Renders suspense boundary with the provided \"loading\" property as the fallback.\n * If no loading property is provided it renders the children without a suspense boundary.\n */ function LoadingBoundary(param) {\n let { children, hasLoading, loading, loadingStyles, loadingScripts } = param;\n // We have an explicit prop for checking if `loading` is provided, to disambiguate between a loading\n // component that returns `null` / `undefined`, vs not having a loading component at all.\n if (hasLoading) {\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_react.Suspense, {\n fallback: /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n loadingStyles,\n loadingScripts,\n loading\n ]\n }),\n children: children\n });\n }\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nfunction OuterLayoutRouter(param) {\n let { parallelRouterKey, segmentPath, error, errorStyles, errorScripts, templateStyles, templateScripts, 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, loading } = context;\n // Get the current parallelRouter cache node\n let childNodesForParallelRouter = childNodes.get(parallelRouterKey);\n // If the parallel router cache node does not exist yet, create it.\n // This writes to the cache when there is no item in the cache yet. It never *overwrites* existing cache items which is why it's safe in concurrent mode.\n if (!childNodesForParallelRouter) {\n childNodesForParallelRouter = new Map();\n childNodes.set(parallelRouterKey, childNodesForParallelRouter);\n }\n // Get the active segment in the tree\n // The reason arrays are used in the data format is that these are transferred from the server to the browser so it's optimized to save bytes.\n const treeSegment = tree[1][parallelRouterKey][0];\n // If segment is an array it's a dynamic route and we want to read the dynamic route value as the segment to get from the cache.\n const currentChildSegmentValue = (0, _getsegmentvalue.getSegmentValue)(treeSegment);\n /**\n * Decides which segments to keep rendering, all segments that are not active will be wrapped in ``.\n */ // TODO-APP: Add handling of `` when it's available.\n const preservedSegments = [\n treeSegment\n ];\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n styles,\n preservedSegments.map((preservedSegment)=>{\n const preservedSegmentValue = (0, _getsegmentvalue.getSegmentValue)(preservedSegment);\n const cacheKey = (0, _createroutercachekey.createRouterCacheKey)(preservedSegment);\n return(/*\n - Error boundary\n - Only renders error boundary if error component is provided.\n - Rendered for each segment to ensure they have their own error state.\n - Loading boundary\n - Only renders suspense boundary if loading components is provided.\n - Rendered for each segment to ensure they have their own loading state.\n - Passed to the router during rendering to ensure it can be immediately rendered when suspending on a Flight fetch.\n */ /*#__PURE__*/ (0, _jsxruntime.jsxs)(_approutercontextsharedruntime.TemplateContext.Provider, {\n value: /*#__PURE__*/ (0, _jsxruntime.jsx)(ScrollAndFocusHandler, {\n segmentPath: segmentPath,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_errorboundary.ErrorBoundary, {\n errorComponent: error,\n errorStyles: errorStyles,\n errorScripts: errorScripts,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(LoadingBoundary, {\n hasLoading: Boolean(loading),\n loading: loading == null ? void 0 : loading[0],\n loadingStyles: loading == null ? void 0 : loading[1],\n loadingScripts: loading == null ? void 0 : loading[2],\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_notfoundboundary.NotFoundBoundary, {\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_redirectboundary.RedirectBoundary, {\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(InnerLayoutRouter, {\n parallelRouterKey: parallelRouterKey,\n url: url,\n tree: tree,\n childNodes: childNodesForParallelRouter,\n segmentPath: segmentPath,\n cacheKey: cacheKey,\n isActive: currentChildSegmentValue === preservedSegmentValue\n })\n })\n })\n })\n })\n }),\n children: [\n templateStyles,\n templateScripts,\n template\n ]\n }, (0, _createroutercachekey.createRouterCacheKey)(preservedSegment, true)));\n })\n ]\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=layout-router.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL2xheW91dC1yb3V0ZXIuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7eURBMEJPQSxDQUFBLENBQUFDLG1CQUFBQSxDQUFBO3VDQUM2QkEsbUJBQUFBLENBQUE7aURBQ0Q7Z0RBQ0w7MkNBQ0Q7O2dEQUVJOzhDQUNBOzhDQUNEOzs7QUFJaEMsTUFBQUMscUNBQUFELG1CQUFBQSxDQUFBOzs7O0lBUUUsU0FBSUUsZUFBbUJBLGlCQUFBLEVBQUFDLGNBQUE7UUFDckJELG1CQUFnQkU7UUFDaEIsTUFBTUMsQ0FBQUEsU0FBU0gsaUJBQWtCSSxHQUFBQTtRQUVqQyxNQUFJQyxTQUFBQSxrQkFBQUEsTUFBYUosS0FBQUE7WUFDZixJQUFJQSxlQUFlSSxZQUFHQyxFQUFBQSxjQUFlSixDQUFBQSxFQUFBQSxFQUFBQSxVQUFtQjtnQkFDdERELGNBQVksSUFBQUssY0FBQSxDQUFBSixtQkFBQTtvQkFDVkMsUUFBTUk7b0JBSU4sTUFBQUEsVUFBT0MsZUFBQUMsV0FBQVIsY0FBQSxJQUFBQyxpQkFBQTsyQkFDTEQ7d0JBQ0FBLGNBQUE7OzRCQUVFLEdBQUNDLGNBQUFBLENBQWlCLEVBQUU7OENBQ1I7Z0NBQ1ZLLE9BQU8sQ0FBQyxFQUFFO2dDQUNWQSxPQUFPLENBQUMsRUFBRTtnQ0FDVkEsT0FBQTtnQ0FDRDs2QkFDSDt3QkFDRDtxQkFDSDtnQkFFQTt1QkFDRU47b0JBQ0FBLGNBQUE7O3dCQUVFLEdBQUNDLGNBQUFBLENBQWlCLEVBQUVNO3dCQUl0QixDQUFBTixpQkFBQSxFQUFBTSxlQUFBUixrQkFBQVUsS0FBQSxLQUFBVCxjQUFBLElBQUFDLGlCQUFBO29CQUNEO2lCQUNIO1lBQ0Y7UUFDRjtJQUVBO0lBQ0YsT0FBQUQ7QUFFQTtBQUNBOzs7SUFNRSxTQUFBVSxZQUFBQyxRQUFBO0lBQ0EsK0JBQXNCO0lBQ3RCO0lBQ0Esd0RBQTJDO1FBQ3pDQyxJQUFNQyxFQUErQkM7UUFD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QSxtQkFBQUE7NENBQ25CQyxtQkFBS0E7NENBQ0xFLEtBQUFBOzRDQUNBRCxNQUFBQTs0Q0FDQTlCLFlBQUFBOzRDQUNBZ0MsYUFBVUE7NENBQ1ZxRSxVQUNFakI7Ozs7Ozs7OzhCQVVma0I7d0JBQ0FDO3dCQUNBekI7O3FCQXZDSVc7Z0JBMENYLE9BQUFFLHNCQUFBRixvQkFBQSxFQUFBQyxrQkFBQTs7O0lBR04iLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbGF5b3V0LXJvdXRlci50c3g/YzY5ZCJdLCJuYW1lcyI6WyJfIiwicmVxdWlyZSIsIl9oYXNpbnRlcmNlcHRpb25yb3V0ZWluY3VycmVudHRyZWUiLCJzZWdtZW50UGF0aFRvV2FsayIsInRyZWVUb1JlY3JlYXRlIiwicGFyYWxsZWxSb3V0ZUtleSIsImlzTGFzdCIsImxlbmd0aCIsIm1hdGNoU2VnbWVudCIsImhhc093blByb3BlcnR5Iiwic3ViVHJlZSIsIndhbGtBZGRSZWZldGNoIiwidW5kZWZpbmVkIiwic2xpY2UiLCJmaW5kRE9NTm9kZSIsImluc3RhbmNlIiwicHJvY2VzcyIsIm9yaWdpbmFsQ29uc29sZUVycm9yIiwiZXJyb3IiLCJjb25zb2xlIiwibWVzc2FnZXMiLCJfcmVhY3Rkb20iLCJkZWZhdWx0IiwicmVjdFByb3BlcnRpZXMiLCJzaG91bGRTa2lwRWxlbWVudCIsImVsZW1lbnQiLCJpbmNsdWRlcyIsInBvc2l0aW9uIiwid2FybiIsInJlY3QiLCJpdGVtIiwiZXZlcnkiLCJnZXRCb3VuZGluZ0NsaWVudFJlY3QiLCJ0b3AiLCJ2aWV3cG9ydEhlaWdodCIsImdldEhhc2hGcmFnbWVudERvbU5vZGUiLCJoYXNoRnJhZ21lbnQiLCJib2R5IiwiZG9jdW1lbnQiLCJfZG9jdW1lbnRfZ2V0RWxlbWVudEJ5SWQiLCJnZXRFbGVtZW50QnlJZCIsImdldEVsZW1lbnRzQnlOYW1lIiwiY29tcG9uZW50RGlkTW91bnQiLCJfcmVhY3QiLCJDb21wb25lbnQiLCJoYW5kbGVQb3RlbnRpYWxTY3JvbGwiLCJjb21wb25lbnREaWRVcGRhdGUiLCJhcHBseSIsInJlbmRlciIsInByb3BzIiwiY2hpbGRyZW4iLCJmb2N1c0FuZFNjcm9sbFJlZiIsInNlZ21lbnRQYXRoIiwic2VnbWVudFBhdGhzIiwic29tZSIsInNjcm9sbFJlZlNlZ21lbnRQYXRoIiwic2VnbWVudCIsImluZGV4IiwiX21hdGNoc2VnbWVudHMiLCJkb21Ob2RlIiwiRWxlbWVudCIsIkhUTUxFbGVtZW50IiwibmV4dEVsZW1lbnRTaWJsaW5nIiwiaGFuZGxlU21vb3RoU2Nyb2xsIiwiX2hhbmRsZXNtb290aHNjcm9sbCIsInNjcm9sbEludG9WaWV3IiwiaHRtbEVsZW1lbnQiLCJjbGllbnRIZWlnaHQiLCJ0b3BPZkVsZW1lbnRJblZpZXdwb3J0Iiwic2Nyb2xsVG9wIiwiZG9udEZvcmNlTGF5b3V0Iiwib25seUhhc2hDaGFuZ2UiLCJmb2N1cyIsIlNjcm9sbEFuZEZvY3VzSGFuZGxlciIsInBhcmFtIiwiY29udGV4dCIsInVzZUNvbnRleHQiLCJfYXBwcm91dGVyY29udGV4dHNoYXJlZHJ1bnRpbWUiLCJHbG9iYWxMYXlvdXRSb3V0ZXJDb250ZXh0IiwiRXJyb3IiLCJwYXJhbGxlbFJvdXRlcktleSIsInVybCIsImNoaWxkTm9kZXMiLCJ0cmVlIiwiY2FjaGVLZXkiLCJidWlsZElkIiwiY2hhbmdlQnlTZXJ2ZXJSZXNwb25zZSIsImZ1bGxUcmVlIiwiY2hpbGROb2RlIiwiZ2V0IiwibmV3TGF6eUNhY2hlTm9kZSIsImxhenlEYXRhIiwicnNjIiwicHJlZmV0Y2hSc2MiLCJoZWFkIiwicHJlZmV0Y2hIZWFkIiwicGFyYWxsZWxSb3V0ZXMiLCJsYXp5RGF0YVJlc29sdmVkIiwiTWFwIiwibG9hZGluZyIsInNldCIsInJlc29sdmVkUHJlZmV0Y2hSc2MiLCJ1c2VEZWZlcnJlZFZhbHVlIiwicmVzb2x2ZWRSc2MiLCJ0aGVuIiwidXNlIiwicmVmZXRjaFRyZWUiLCJmZXRjaFNlcnZlclJlc3BvbnNlIiwibG9jYXRpb24iLCJfZmV0Y2hzZXJ2ZXJyZXNwb25zZSIsIlVSTCIsIm9yaWdpbiIsImluY2x1ZGVOZXh0VXJsIiwibmV4dFVybCIsInNldFRpbWVvdXQiLCJzdGFydFRyYW5zaXRpb24iLCJzZXJ2ZXJSZXNwb25zZSIsIl91bnJlc29sdmVkdGhlbmFibGUiLCJ1bnJlc29sdmVkVGhlbmFibGUiLCJfanN4cnVudGltZSIsImpzeCIsIkxheW91dFJvdXRlckNvbnRleHQiLCJQcm92aWRlciIsInN1YnRyZWUiLCJoYXNMb2FkaW5nIiwibG9hZGluZ1N0eWxlcyIsImxvYWRpbmdTY3JpcHRzIiwiZmFsbGJhY2siLCJTdXNwZW5zZSIsIk91dGVyTGF5b3V0Um91dGVyIiwidGVtcGxhdGUiLCJub3RGb3VuZCIsIm5vdEZvdW5kU3R5bGVzIiwic3R5bGVzIiwiY2hpbGROb2Rlc0ZvclBhcmFsbGVsUm91dGVyIiwidHJlZVNlZ21lbnQiLCJjdXJyZW50Q2hpbGRTZWdtZW50VmFsdWUiLCJfZ2V0c2VnbWVudHZhbHVlIiwiZ2V0U2VnbWVudFZhbHVlIiwicHJlc2VydmVkU2VnbWVudHMiLCJwcmVzZXJ2ZWRTZWdtZW50VmFsdWUiLCJjcmVhdGVSb3V0ZXJDYWNoZUtleSIsInByZXNlcnZlZFNlZ21lbnQiLCJfY3JlYXRlcm91dGVyY2FjaGVrZXkiLCJ2YWx1ZSIsImpzeHMiLCJlcnJvckNvbXBvbmVudCIsImVycm9yU3R5bGVzIiwiZXJyb3JTY3JpcHRzIiwiQm9vbGVhbiIsIk5vdEZvdW5kQm91bmRhcnkiLCJfcmVkaXJlY3Rib3VuZGFyeSIsIklubmVyTGF5b3V0Um91dGVyIiwiaXNBY3RpdmUiLCJ0ZW1wbGF0ZVN0eWxlcyIsInRlbXBsYXRlU2NyaXB0cyJdLCJzb3VyY2VSb290IjoiIn0=\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 canSegmentBeOverridden: function() {\n return canSegmentBeOverridden;\n },\n matchSegment: function() {\n return matchSegment;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL21hdGNoLXNlZ21lbnRzLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQXlCYUEsd0JBQXNCO2VBQXRCQTs7SUF0QkFDLGNBQVk7ZUFBWkE7Ozs2Q0FIbUI7QUFHekIsTUFBTUEsZUFBZSxDQUMxQkMsaUJBQ0FDO0lBRUEsb0NBQW9DO0lBQ3BDLElBQUksT0FBT0Qsb0JBQW9CLFVBQVU7UUFDdkMsSUFBSSxPQUFPQyxZQUFZLFVBQVU7WUFDL0Isd0NBQXdDO1lBQ3hDLE9BQU9ELG9CQUFvQkM7UUFDN0I7UUFDQSxPQUFPO0lBQ1Q7SUFFQSxJQUFJLE9BQU9BLFlBQVksVUFBVTtRQUMvQixPQUFPO0lBQ1Q7SUFDQSxPQUFPRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRSxJQUFJRCxlQUFlLENBQUMsRUFBRSxLQUFLQyxPQUFPLENBQUMsRUFBRTtBQUMvRTtBQUtPLE1BQU1ILHlCQUF5QixDQUNwQ0UsaUJBQ0FDO1FBTU9DO0lBSlAsSUFBSUMsTUFBTUMsT0FBTyxDQUFDSixvQkFBb0IsQ0FBQ0csTUFBTUMsT0FBTyxDQUFDSCxVQUFVO1FBQzdELE9BQU87SUFDVDtJQUVBLE9BQU9DLENBQUFBLENBQUFBLG1CQUFBQSxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDRixnQkFBQUEsS0FBQUEsT0FBQUEsS0FBQUEsSUFBaEJFLGlCQUFrQ0csS0FBSyxNQUFLSixPQUFPLENBQUMsRUFBRTtBQUMvRCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9tYXRjaC1zZWdtZW50cy50cz9mNjcwIl0sIm5hbWVzIjpbImNhblNlZ21lbnRCZU92ZXJyaWRkZW4iLCJtYXRjaFNlZ21lbnQiLCJleGlzdGluZ1NlZ21lbnQiLCJzZWdtZW50IiwiZ2V0U2VnbWVudFBhcmFtIiwiQXJyYXkiLCJpc0FycmF5IiwicGFyYW0iXSwic291cmNlUm9vdCI6IiJ9\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 _navigationreactserver.ReadonlyURLSearchParams;\n },\n RedirectType: function() {\n return _navigationreactserver.RedirectType;\n },\n ServerInsertedHTMLContext: function() {\n return _serverinsertedhtmlsharedruntime.ServerInsertedHTMLContext;\n },\n notFound: function() {\n return _navigationreactserver.notFound;\n },\n permanentRedirect: function() {\n return _navigationreactserver.permanentRedirect;\n },\n redirect: function() {\n return _navigationreactserver.redirect;\n },\n useParams: function() {\n return useParams;\n },\n usePathname: function() {\n return usePathname;\n },\n useRouter: function() {\n return useRouter;\n },\n useSearchParams: function() {\n return useSearchParams;\n },\n useSelectedLayoutSegment: function() {\n return useSelectedLayoutSegment;\n },\n useSelectedLayoutSegments: function() {\n return useSelectedLayoutSegments;\n },\n useServerInsertedHTML: function() {\n return _serverinsertedhtmlsharedruntime.useServerInsertedHTML;\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 _getsegmentvalue = __webpack_require__(/*! ./router-reducer/reducers/get-segment-value */ \"(ssr)/./node_modules/next/dist/client/components/router-reducer/reducers/get-segment-value.js\");\nconst _segment = __webpack_require__(/*! ../../shared/lib/segment */ \"(ssr)/./node_modules/next/dist/shared/lib/segment.js\");\nconst _navigationreactserver = __webpack_require__(/*! ./navigation.react-server */ \"(ssr)/./node_modules/next/dist/client/components/navigation.react-server.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\");\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you *read* the current URL's search parameters.\n *\n * Learn more about [`URLSearchParams` on MDN](https://developer.mozilla.org/docs/Web/API/URLSearchParams)\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useSearchParams } from 'next/navigation'\n *\n * export default function Page() {\n * const searchParams = useSearchParams()\n * searchParams.get('foo') // returns 'bar' when ?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSearchParams`](https://nextjs.org/docs/app/api-reference/functions/use-search-params)\n */ function 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 _navigationreactserver.ReadonlyURLSearchParams(searchParams);\n }, [\n searchParams\n ]);\n if (true) {\n // AsyncLocalStorage should not be included in the client bundle.\n const { bailoutToClientRendering } = __webpack_require__(/*! ./bailout-to-client-rendering */ \"(ssr)/./node_modules/next/dist/client/components/bailout-to-client-rendering.js\");\n // TODO-APP: handle dynamic = 'force-static' here and on the client\n bailoutToClientRendering(\"useSearchParams()\");\n }\n return readonlySearchParams;\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the current URL's pathname.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { usePathname } from 'next/navigation'\n *\n * export default function Page() {\n * const pathname = usePathname() // returns \"/dashboard\" on /dashboard?foo=bar\n * // ...\n * }\n * ```\n *\n * Read more: [Next.js Docs: `usePathname`](https://nextjs.org/docs/app/api-reference/functions/use-pathname)\n */ function 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}\n/**\n *\n * This hook allows you to programmatically change routes inside [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components).\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useRouter } from 'next/navigation'\n *\n * export default function Page() {\n * const router = useRouter()\n * // ...\n * router.push('/dashboard') // Navigate to /dashboard\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useRouter`](https://nextjs.org/docs/app/api-reference/functions/use-router)\n */ function 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/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read a route's dynamic params filled in by the current URL.\n *\n * @example\n * ```ts\n * \"use client\"\n * import { useParams } from 'next/navigation'\n *\n * export default function Page() {\n * // on /dashboard/[team] where pathname is /dashboard/nextjs\n * const { team } = useParams() // team === \"nextjs\"\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useParams`](https://nextjs.org/docs/app/api-reference/functions/use-params)\n */ function useParams() {\n return (0, _react.useContext)(_hooksclientcontextsharedruntime.PathParamsContext);\n}\n/** Get the canonical parameters from the current level to the leaf node. */ function getSelectedLayoutSegmentPath(tree, parallelRouteKey, first, segmentPath) {\n if (first === void 0) first = true;\n if (segmentPath === void 0) segmentPath = [];\n let node;\n if (first) {\n // Use the provided parallel route key on the first parallel route\n node = tree[1][parallelRouteKey];\n } else {\n // After first parallel route prefer children, if there's no children pick the first parallel route.\n const parallelRoutes = tree[1];\n var _parallelRoutes_children;\n node = (_parallelRoutes_children = parallelRoutes.children) != null ? _parallelRoutes_children : Object.values(parallelRoutes)[0];\n }\n if (!node) return segmentPath;\n const segment = node[0];\n const segmentValue = (0, _getsegmentvalue.getSegmentValue)(segment);\n if (!segmentValue || segmentValue.startsWith(_segment.PAGE_SEGMENT_KEY)) {\n return segmentPath;\n }\n segmentPath.push(segmentValue);\n return getSelectedLayoutSegmentPath(node, parallelRouteKey, false, segmentPath);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segments **below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n *\n * import { useSelectedLayoutSegments } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segments = useSelectedLayoutSegments()\n *\n * return (\n *
    \n * {segments.map((segment, index) => (\n *
  • {segment}
  • \n * ))}\n *
\n * )\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegments`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segments)\n */ function useSelectedLayoutSegments(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const context = (0, _react.useContext)(_approutercontextsharedruntime.LayoutRouterContext);\n // @ts-expect-error This only happens in `pages`. Type is overwritten in navigation.d.ts\n if (!context) return null;\n return getSelectedLayoutSegmentPath(context.tree, parallelRouteKey);\n}\n/**\n * A [Client Component](https://nextjs.org/docs/app/building-your-application/rendering/client-components) hook\n * that lets you read the active route segment **one level below** the Layout it is called from.\n *\n * @example\n * ```ts\n * 'use client'\n * import { useSelectedLayoutSegment } from 'next/navigation'\n *\n * export default function ExampleClientComponent() {\n * const segment = useSelectedLayoutSegment()\n *\n * return

Active segment: {segment}

\n * }\n * ```\n *\n * Read more: [Next.js Docs: `useSelectedLayoutSegment`](https://nextjs.org/docs/app/api-reference/functions/use-selected-layout-segment)\n */ function useSelectedLayoutSegment(parallelRouteKey) {\n if (parallelRouteKey === void 0) parallelRouteKey = \"children\";\n const selectedLayoutSegments = useSelectedLayoutSegments(parallelRouteKey);\n if (!selectedLayoutSegments || selectedLayoutSegments.length === 0) {\n return null;\n }\n const selectedLayoutSegment = parallelRouteKey === \"children\" ? selectedLayoutSegments[0] : selectedLayoutSegments[selectedLayoutSegments.length - 1];\n // if the default slot is showing, we return null since it's not technically \"selected\" (it's a fallback)\n // and returning an internal value like `__DEFAULT__` would be confusing.\n return selectedLayoutSegment === _segment.DEFAULT_SEGMENT_KEY ? null : selectedLayoutSegment;\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24uanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0lBOFFFQSx5QkFBdUI7ZUFBdkJBLHVCQUFBQSx1QkFBdUI7O0lBRHZCQyxjQUFZO2VBQVpBLHVCQUFBQSxZQUFZOztJQVJaQywyQkFBeUI7ZUFBekJBLGlDQUFBQSx5QkFBeUI7O0lBS3pCQyxVQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQUVSQyxtQkFBaUI7ZUFBakJBLHVCQUFBQSxpQkFBaUI7O0lBRGpCQyxVQUFRO2VBQVJBLHVCQUFBQSxRQUFROztJQVRSQyxXQUFTO2VBQVRBOztJQUhBQyxhQUFXO2VBQVhBOztJQUlBQyxXQUFTO2VBQVRBOztJQUxBQyxpQkFBZTtlQUFmQTs7SUFFQUMsMEJBQXdCO2VBQXhCQTs7SUFDQUMsMkJBQXlCO2VBQXpCQTs7SUFHQUMsdUJBQXFCO2VBQXJCQSxpQ0FBQUEscUJBQXFCOzs7bUNBcFFhOzJEQU03Qjs2REFLQTs2Q0FDeUI7cUNBQ3NCO21EQUNkOzZEQTJFakM7QUF6RVA7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FtQkMsR0FDRCxTQUFTSDtJQUNQLE1BQU1JLGVBQWVDLENBQUFBLEdBQUFBLE9BQUFBLFVBQVUsRUFBQ0MsaUNBQUFBLG1CQUFtQjtJQUVuRCw4REFBOEQ7SUFDOUQsMEVBQTBFO0lBQzFFLGtCQUFrQjtJQUNsQixNQUFNQyx1QkFBdUJDLENBQUFBLEdBQUFBLE9BQUFBLE9BQU8sRUFBQztRQUNuQyxJQUFJLENBQUNKLGNBQWM7WUFDakIseUVBQXlFO1lBQ3pFLGFBQWE7WUFDYixPQUFPO1FBQ1Q7UUFFQSxPQUFPLElBQUliLHVCQUFBQSx1QkFBdUIsQ0FBQ2E7SUFDckMsR0FBRztRQUFDQTtLQUFhO0lBRWpCLElBQUksSUFBa0IsRUFBYTtRQUNqQyxpRUFBaUU7UUFDakUsTUFBTSxFQUFFSyx3QkFBd0IsRUFBRSxHQUNoQ0MsbUJBQUFBLENBQVE7UUFDVixtRUFBbUU7UUFDbkVELHlCQUF5QjtJQUMzQjtJQUVBLE9BQU9GO0FBQ1Q7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNUO0lBQ1AsOEVBQThFO0lBQzlFLDBFQUEwRTtJQUMxRSxPQUFPTyxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNNLGlDQUFBQSxlQUFlO0FBQ25DO0FBT0E7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBaUJDLEdBQ0QsU0FBU1o7SUFDUCxNQUFNYSxTQUFTUCxDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUNRLCtCQUFBQSxnQkFBZ0I7SUFDMUMsSUFBSUQsV0FBVyxNQUFNO1FBQ25CLE1BQU0sSUFBSUUsTUFBTTtJQUNsQjtJQUVBLE9BQU9GO0FBQ1Q7QUFNQTs7Ozs7Ozs7Ozs7Ozs7OztDQWdCQyxHQUNELFNBQVNmO0lBQ1AsT0FBT1EsQ0FBQUEsR0FBQUEsT0FBQUEsVUFBVSxFQUFDVSxpQ0FBQUEsaUJBQWlCO0FBQ3JDO0FBRUEsMEVBQTBFLEdBQzFFLFNBQVNDLDZCQUNQQyxJQUF1QixFQUN2QkMsZ0JBQXdCLEVBQ3hCQyxLQUFZLEVBQ1pDLFdBQTBCO0lBRDFCRCxJQUFBQSxVQUFBQSxLQUFBQSxHQUFBQSxRQUFRO0lBQ1JDLElBQUFBLGdCQUFBQSxLQUFBQSxHQUFBQSxjQUF3QixFQUFFO0lBRTFCLElBQUlDO0lBQ0osSUFBSUYsT0FBTztRQUNULGtFQUFrRTtRQUNsRUUsT0FBT0osSUFBSSxDQUFDLEVBQUUsQ0FBQ0MsaUJBQWlCO0lBQ2xDLE9BQU87UUFDTCxvR0FBb0c7UUFDcEcsTUFBTUksaUJBQWlCTCxJQUFJLENBQUMsRUFBRTtZQUN2Qks7UUFBUEQsT0FBT0MsQ0FBQUEsMkJBQUFBLGVBQWVDLFFBQVEsWUFBdkJELDJCQUEyQkUsT0FBT0MsTUFBTSxDQUFDSCxlQUFlLENBQUMsRUFBRTtJQUNwRTtJQUVBLElBQUksQ0FBQ0QsTUFBTSxPQUFPRDtJQUNsQixNQUFNTSxVQUFVTCxJQUFJLENBQUMsRUFBRTtJQUV2QixNQUFNTSxlQUFlQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDRjtJQUNyQyxJQUFJLENBQUNDLGdCQUFnQkEsYUFBYUUsVUFBVSxDQUFDQyxTQUFBQSxnQkFBZ0IsR0FBRztRQUM5RCxPQUFPVjtJQUNUO0lBRUFBLFlBQVlXLElBQUksQ0FBQ0o7SUFFakIsT0FBT1gsNkJBQ0xLLE1BQ0FILGtCQUNBLE9BQ0FFO0FBRUo7QUFFQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBd0JDLEdBQ0QsU0FBU2xCLDBCQUNQZ0IsZ0JBQXFDO0lBQXJDQSxJQUFBQSxxQkFBQUEsS0FBQUEsR0FBQUEsbUJBQTJCO0lBRTNCLE1BQU1jLFVBQVUzQixDQUFBQSxHQUFBQSxPQUFBQSxVQUFVLEVBQUM0QiwrQkFBQUEsbUJBQW1CO0lBQzlDLHdGQUF3RjtJQUN4RixJQUFJLENBQUNELFNBQVMsT0FBTztJQUVyQixPQUFPaEIsNkJBQTZCZ0IsUUFBUWYsSUFBSSxFQUFFQztBQUNwRDtBQUVBOzs7Ozs7Ozs7Ozs7Ozs7OztDQWlCQyxHQUNELFNBQVNqQix5QkFDUGlCLGdCQUFxQztJQUFyQ0EsSUFBQUEscUJBQUFBLEtBQUFBLEdBQUFBLG1CQUEyQjtJQUUzQixNQUFNZ0IseUJBQXlCaEMsMEJBQTBCZ0I7SUFFekQsSUFBSSxDQUFDZ0IsMEJBQTBCQSx1QkFBdUJDLE1BQU0sS0FBSyxHQUFHO1FBQ2xFLE9BQU87SUFDVDtJQUVBLE1BQU1DLHdCQUNKbEIscUJBQXFCLGFBQ2pCZ0Isc0JBQXNCLENBQUMsRUFBRSxHQUN6QkEsc0JBQXNCLENBQUNBLHVCQUF1QkMsTUFBTSxHQUFHLEVBQUU7SUFFL0QseUdBQXlHO0lBQ3pHLHlFQUF5RTtJQUN6RSxPQUFPQywwQkFBMEJDLFNBQUFBLG1CQUFtQixHQUNoRCxPQUNBRDtBQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24udHM/ZjYyNCJdLCJuYW1lcyI6WyJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsIlJlZGlyZWN0VHlwZSIsIlNlcnZlckluc2VydGVkSFRNTENvbnRleHQiLCJub3RGb3VuZCIsInBlcm1hbmVudFJlZGlyZWN0IiwicmVkaXJlY3QiLCJ1c2VQYXJhbXMiLCJ1c2VQYXRobmFtZSIsInVzZVJvdXRlciIsInVzZVNlYXJjaFBhcmFtcyIsInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudCIsInVzZVNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJ1c2VTZXJ2ZXJJbnNlcnRlZEhUTUwiLCJzZWFyY2hQYXJhbXMiLCJ1c2VDb250ZXh0IiwiU2VhcmNoUGFyYW1zQ29udGV4dCIsInJlYWRvbmx5U2VhcmNoUGFyYW1zIiwidXNlTWVtbyIsImJhaWxvdXRUb0NsaWVudFJlbmRlcmluZyIsInJlcXVpcmUiLCJQYXRobmFtZUNvbnRleHQiLCJyb3V0ZXIiLCJBcHBSb3V0ZXJDb250ZXh0IiwiRXJyb3IiLCJQYXRoUGFyYW1zQ29udGV4dCIsImdldFNlbGVjdGVkTGF5b3V0U2VnbWVudFBhdGgiLCJ0cmVlIiwicGFyYWxsZWxSb3V0ZUtleSIsImZpcnN0Iiwic2VnbWVudFBhdGgiLCJub2RlIiwicGFyYWxsZWxSb3V0ZXMiLCJjaGlsZHJlbiIsIk9iamVjdCIsInZhbHVlcyIsInNlZ21lbnQiLCJzZWdtZW50VmFsdWUiLCJnZXRTZWdtZW50VmFsdWUiLCJzdGFydHNXaXRoIiwiUEFHRV9TRUdNRU5UX0tFWSIsInB1c2giLCJjb250ZXh0IiwiTGF5b3V0Um91dGVyQ29udGV4dCIsInNlbGVjdGVkTGF5b3V0U2VnbWVudHMiLCJsZW5ndGgiLCJzZWxlY3RlZExheW91dFNlZ21lbnQiLCJERUZBVUxUX1NFR01FTlRfS0VZIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js": -/*!*****************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/navigation.react-server.js ***! - \*****************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/** @internal */ \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 RedirectType: function() {\n return _redirect.RedirectType;\n },\n notFound: function() {\n return _notfound.notFound;\n },\n permanentRedirect: function() {\n return _redirect.permanentRedirect;\n },\n redirect: function() {\n return _redirect.redirect;\n }\n});\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\");\nclass ReadonlyURLSearchParamsError extends Error {\n constructor(){\n super(\"Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams\");\n }\n}\nclass ReadonlyURLSearchParams extends URLSearchParams {\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ append() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ delete() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ set() {\n throw new ReadonlyURLSearchParamsError();\n }\n /** @deprecated Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams */ sort() {\n throw new ReadonlyURLSearchParamsError();\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=navigation.react-server.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25hdmlnYXRpb24ucmVhY3Qtc2VydmVyLmpzIiwibWFwcGluZ3MiOiJBQUFBLGNBQWM7Ozs7Ozs7Ozs7OztJQThCTEEseUJBQXVCO2VBQXZCQTs7SUFGNkJDLGNBQVk7ZUFBWkEsVUFBQUEsWUFBWTs7SUFDekNDLFVBQVE7ZUFBUkEsVUFBQUEsUUFBUTs7SUFERUMsbUJBQWlCO2VBQWpCQSxVQUFBQSxpQkFBaUI7O0lBQTNCQyxVQUFRO2VBQVJBLFVBQUFBLFFBQVE7OztzQ0FBeUM7c0NBQ2pDO0FBNUJ6QixNQUFNQyxxQ0FBcUNDO0lBQ3pDQyxhQUFjO1FBQ1osS0FBSyxDQUNIO0lBRUo7QUFDRjtBQUVBLE1BQU1QLGdDQUFnQ1E7SUFDcEMsd0tBQXdLLEdBQ3hLQyxTQUFTO1FBQ1AsTUFBTSxJQUFJSjtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLSyxTQUFTO1FBQ1AsTUFBTSxJQUFJTDtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLTSxNQUFNO1FBQ0osTUFBTSxJQUFJTjtJQUNaO0lBQ0Esd0tBQXdLLEdBQ3hLTyxPQUFPO1FBQ0wsTUFBTSxJQUFJUDtJQUNaO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbmF2aWdhdGlvbi5yZWFjdC1zZXJ2ZXIudHM/ZGJjMCJdLCJuYW1lcyI6WyJSZWFkb25seVVSTFNlYXJjaFBhcmFtcyIsIlJlZGlyZWN0VHlwZSIsIm5vdEZvdW5kIiwicGVybWFuZW50UmVkaXJlY3QiLCJyZWRpcmVjdCIsIlJlYWRvbmx5VVJMU2VhcmNoUGFyYW1zRXJyb3IiLCJFcnJvciIsImNvbnN0cnVjdG9yIiwiVVJMU2VhcmNoUGFyYW1zIiwiYXBwZW5kIiwiZGVsZXRlIiwic2V0Iiwic29ydCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/navigation.react-server.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/not-found-boundary.js": -/*!************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/not-found-boundary.js ***! - \************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* __next_internal_client_entry_do_not_use__ cjs */ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"NotFoundBoundary\", ({\n enumerable: true,\n get: function() {\n return NotFoundBoundary;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _navigation = __webpack_require__(/*! ./navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _notfound = __webpack_require__(/*! ./not-found */ \"(ssr)/./node_modules/next/dist/client/components/not-found.js\");\nconst _warnonce = __webpack_require__(/*! ../../shared/lib/utils/warn-once */ \"(ssr)/./node_modules/next/dist/shared/lib/utils/warn-once.js\");\nconst _approutercontextsharedruntime = __webpack_require__(/*! ../../shared/lib/app-router-context.shared-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/contexts/app-router-context.js\");\nclass NotFoundErrorBoundary extends _react.default.Component {\n componentDidCatch() {\n if ( true && // A missing children slot is the typical not-found case, so no need to warn\n !this.props.missingSlots.has(\"children\")) {\n let warningMessage = \"No default component was found for a parallel route rendered on this page. Falling back to nearest NotFound boundary.\\n\" + \"Learn more: https://nextjs.org/docs/app/building-your-application/routing/parallel-routes#defaultjs\\n\\n\";\n if (this.props.missingSlots.size > 0) {\n const formattedSlots = Array.from(this.props.missingSlots).sort((a, b)=>a.localeCompare(b)).map((slot)=>\"@\" + slot).join(\", \");\n warningMessage += \"Missing slots: \" + formattedSlots;\n }\n (0, _warnonce.warnOnce)(warningMessage);\n }\n }\n static getDerivedStateFromError(error) {\n if ((0, _notfound.isNotFoundError)(error)) {\n return {\n notFoundTriggered: true\n };\n }\n // Re-throw if error is not for 404\n throw error;\n }\n static getDerivedStateFromProps(props, state) {\n /**\n * Handles reset of the error boundary when a navigation happens.\n * Ensures the error boundary does not stay enabled when navigating to a new page.\n * Approach of setState in render is safe as it checks the previous pathname and then overrides\n * it as outlined in https://react.dev/reference/react/useState#storing-information-from-previous-renders\n */ if (props.pathname !== state.previousPathname && state.notFoundTriggered) {\n return {\n notFoundTriggered: false,\n previousPathname: props.pathname\n };\n }\n return {\n notFoundTriggered: state.notFoundTriggered,\n previousPathname: props.pathname\n };\n }\n render() {\n if (this.state.notFoundTriggered) {\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"robots\",\n content: \"noindex\"\n }),\n true && /*#__PURE__*/ (0, _jsxruntime.jsx)(\"meta\", {\n name: \"next-error\",\n content: \"not-found\"\n }),\n this.props.notFoundStyles,\n this.props.notFound\n ]\n });\n }\n return this.props.children;\n }\n constructor(props){\n super(props);\n this.state = {\n notFoundTriggered: !!props.asNotFound,\n previousPathname: props.pathname\n };\n }\n}\nfunction NotFoundBoundary(param) {\n let { notFound, notFoundStyles, asNotFound, children } = param;\n const pathname = (0, _navigation.usePathname)();\n const missingSlots = (0, _react.useContext)(_approutercontextsharedruntime.MissingSlotContext);\n return notFound ? /*#__PURE__*/ (0, _jsxruntime.jsx)(NotFoundErrorBoundary, {\n pathname: pathname,\n notFound: notFound,\n notFoundStyles: notFoundStyles,\n asNotFound: asNotFound,\n missingSlots: missingSlots,\n children: children\n }) : /*#__PURE__*/ (0, _jsxruntime.jsx)(_jsxruntime.Fragment, {\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found-boundary.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC1ib3VuZGFyeS5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7NkJBRzRCQSwwQkFBQUMsQ0FBQSxDQUFBQyxtQkFBQUEsQ0FBQTt3Q0FDSTtzQ0FDUDs7QUFvQnpCLE1BQU1DLGlDQUE4QkMsbUJBQUFBLENBQUFBLHVLQUFBQTtNQVlsQ0MsOEJBQTBCQyxPQUFBQyxPQUFBLENBQUFDLFNBQUE7d0JBRVZDO1FBRVosSUFBQ0MsS0FBNEIsSUFDN0I7YUFDQSxDQUFBQyxLQUFJQyxDQUFBQSxZQUFBQSxDQUNGQyxHQUFBO1lBR0YsSUFBSUQsaUJBQVdFLDRIQUF1QjtnQkFDcEMsS0FBQUgsS0FBTUksQ0FBQUEsWUFBaUJDLENBQUFBLElBQUFBLEdBQU1DLEdBQUs7Z0JBS2xDTCxNQUFBQSxpQkFBa0JJLE1BQUFDLElBQUEsS0FBb0JGLENBQUFBLEtBQUFBLENBQUFBLFlBQUFBLEVBQUFBLElBQUFBLENBQUFBLENBQUFBLEdBQUFBLElBQUFBLEVBQUFBLGFBQUFBLENBQUFBLElBQUFBLEdBQUFBLENBQUFBLENBQUFBLE9BQUFBLE1BQUFBLE1BQUFBLElBQUFBLENBQUFBO2dCQUN4Q0gsa0JBQUEsb0JBQUFHO1lBRUFHO1lBQ0YsSUFBQUMsVUFBQUQsUUFBQSxFQUFBTjtRQUNGO0lBRUE7V0FDRVEseUJBQUlDLEtBQWUsRUFBQ0M7WUFDbEIsSUFBQUMsVUFBT0YsZUFBQSxFQUFBQyxRQUFBO21CQUNMRTtnQkFDRkEsbUJBQUE7WUFDRjtRQUNBO1FBQ0EsbUNBQU1GO1FBQ1IsTUFBQUE7SUFFQTtXQUlFRyx5QkFBQWQsS0FBQSxFQUFBZSxLQUFBOzs7Ozs7WUFPRWYsTUFBQWdCLFFBQU8sS0FBQUQsTUFBQUUsZ0JBQUEsSUFBQUYsTUFBQUYsaUJBQUE7bUJBQ0xBO2dCQUNBSSxtQkFBa0JqQjtnQkFDcEJpQixrQkFBQWpCLE1BQUFnQixRQUFBO1lBQ0Y7UUFDQTtlQUNFSDtZQUNBSSxtQkFBa0JqQixNQUFNZ0IsaUJBQVE7WUFDbENDLGtCQUFBakIsTUFBQWdCLFFBQUE7UUFDRjtJQUVBRTthQUNNO1lBQ0YsS0FBQUgsS0FBQSxDQUFBRixpQkFDRTs7OytCQUNhLE9BQUFNLFlBQUFDLEdBQUE7d0JBQVNDLE1BQUFBOztvQkFDbkJ0QjtvQkFqR1gsS0FrR3VCLHNCQUFBb0IsWUFBQUMsR0FBQTt3QkFBYUMsTUFBQUE7O29CQUV6QjtvQkFDQSxJQUFJLENBQUNyQixLQUFLLENBQUNzQixjQUFROzs7WUFHMUI7UUFFQTtRQUNGLFlBQUF0QixLQUFBLENBQUF1QixRQUFBO0lBOUVBQztnQkFDUXhCLEtBQUFBLENBQUFBO1FBQ04sS0FBS2UsQ0FBQUE7WUFDSEYsQ0FBQUEsS0FBQUEsR0FBQUE7WUFDQUksbUJBQWtCakIsQ0FBQUEsQ0FBQUEsTUFBTWdCLFVBQVE7WUFDbENDLGtCQUFBakIsTUFBQWdCLFFBQUE7UUFDRjtJQXlFRjtBQUVPO1NBQTBCUyxpQkFFL0JDLEtBQUFBO0lBSUEsTUFBTVYsUUFBQUEsRUFBQUEsY0FBV1csRUFBQUEsVUFBQUEsRUFBV0osUUFBQSxLQUFBSztJQUM1QixNQUFNekIsV0FBQUEsQ0FBQUEsR0FBZTBCLFlBQUFBLFdBQVdDO0lBQ2hDLE1BQUEzQixlQUFPbUIsQ0FBQUEsR0FBQUEsT0FDTE8sVUFBQSxFQUFBRSwrQkFBQ3ZDLGtCQUFBQTtXQUNDd0IsV0FBVUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsdUJBQUFBO1FBQ1ZNLFVBQVVBO1FBQ1ZJLFVBQUFBO1FBQ0FNLGdCQUFZQTtRQUNaN0IsWUFBQUE7c0JBRUNvQjs7U0FHQUEsV0FBQUEsR0FBQUEsQ0FBQUEsR0FBQUEsWUFBQUEsR0FBQUEsRUFBQUEsWUFBQUEsUUFBQUEsRUFBQUE7O0lBRVAiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvbm90LWZvdW5kLWJvdW5kYXJ5LnRzeD8xNzI0Il0sIm5hbWVzIjpbIl9pbnRlcm9wX3JlcXVpcmVfd2lsZGNhcmQiLCJfIiwicmVxdWlyZSIsIk5vdEZvdW5kRXJyb3JCb3VuZGFyeSIsIlJlYWN0IiwiY29tcG9uZW50RGlkQ2F0Y2giLCJfcmVhY3QiLCJkZWZhdWx0IiwiQ29tcG9uZW50IiwiTk9ERV9FTlYiLCJwcm9jZXNzIiwicHJvcHMiLCJ3YXJuaW5nTWVzc2FnZSIsImhhcyIsIm1pc3NpbmdTbG90cyIsImZvcm1hdHRlZFNsb3RzIiwiQXJyYXkiLCJmcm9tIiwid2Fybk9uY2UiLCJfd2Fybm9uY2UiLCJnZXREZXJpdmVkU3RhdGVGcm9tRXJyb3IiLCJpc05vdEZvdW5kRXJyb3IiLCJlcnJvciIsIl9ub3Rmb3VuZCIsIm5vdEZvdW5kVHJpZ2dlcmVkIiwiZ2V0RGVyaXZlZFN0YXRlRnJvbVByb3BzIiwic3RhdGUiLCJwYXRobmFtZSIsInByZXZpb3VzUGF0aG5hbWUiLCJyZW5kZXIiLCJfanN4cnVudGltZSIsImpzeCIsImNvbnRlbnQiLCJub3RGb3VuZCIsImNoaWxkcmVuIiwiY29uc3RydWN0b3IiLCJOb3RGb3VuZEJvdW5kYXJ5Iiwibm90Rm91bmRTdHlsZXMiLCJ1c2VQYXRobmFtZSIsInBhcmFtIiwidXNlQ29udGV4dCIsIk1pc3NpbmdTbG90Q29udGV4dCIsIl9hcHByb3V0ZXJjb250ZXh0c2hhcmVkcnVudGltZSIsImFzTm90Rm91bmQiXSwic291cmNlUm9vdCI6IiJ9\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 isNotFoundError: function() {\n return isNotFoundError;\n },\n notFound: function() {\n return notFound;\n }\n});\nconst NOT_FOUND_ERROR_CODE = \"NEXT_NOT_FOUND\";\nfunction notFound() {\n // eslint-disable-next-line no-throw-literal\n const error = new Error(NOT_FOUND_ERROR_CODE);\n error.digest = NOT_FOUND_ERROR_CODE;\n throw error;\n}\nfunction isNotFoundError(error) {\n if (typeof error !== \"object\" || error === null || !(\"digest\" in error)) {\n return false;\n }\n return error.digest === NOT_FOUND_ERROR_CODE;\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=not-found.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL25vdC1mb3VuZC5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFnQ2dCQSxpQkFBZTtlQUFmQTs7SUFkQUMsVUFBUTtlQUFSQTs7O0FBbEJoQixNQUFNQyx1QkFBdUI7QUFrQnRCLFNBQVNEO0lBQ2QsNENBQTRDO0lBQzVDLE1BQU1FLFFBQVEsSUFBSUMsTUFBTUY7SUFDdEJDLE1BQXdCRSxNQUFNLEdBQUdIO0lBQ25DLE1BQU1DO0FBQ1I7QUFTTyxTQUFTSCxnQkFBZ0JHLEtBQWM7SUFDNUMsSUFBSSxPQUFPQSxVQUFVLFlBQVlBLFVBQVUsUUFBUSxDQUFFLGFBQVlBLEtBQUFBLEdBQVE7UUFDdkUsT0FBTztJQUNUO0lBRUEsT0FBT0EsTUFBTUUsTUFBTSxLQUFLSDtBQUMxQiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9ub3QtZm91bmQudHM/MDdmYiJdLCJuYW1lcyI6WyJpc05vdEZvdW5kRXJyb3IiLCJub3RGb3VuZCIsIk5PVF9GT1VORF9FUlJPUl9DT0RFIiwiZXJyb3IiLCJFcnJvciIsImRpZ2VzdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/not-found.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/promise-queue.js": -/*!*******************************************************************!*\ - !*** ./node_modules/next/dist/client/components/promise-queue.js ***! - \*******************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/*\n This is a simple promise queue that allows you to limit the number of concurrent promises\n that are running at any given time. It's used to limit the number of concurrent\n prefetch requests that are being made to the server but could be used for other\n things as well.\n*/ \nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"PromiseQueue\", ({\n enumerable: true,\n get: function() {\n return PromiseQueue;\n }\n}));\nconst _class_private_field_loose_base = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_base */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_base.js\");\nconst _class_private_field_loose_key = __webpack_require__(/*! @swc/helpers/_/_class_private_field_loose_key */ \"(ssr)/./node_modules/@swc/helpers/esm/_class_private_field_loose_key.js\");\nvar _maxConcurrency = /*#__PURE__*/ _class_private_field_loose_key._(\"_maxConcurrency\"), _runningCount = /*#__PURE__*/ _class_private_field_loose_key._(\"_runningCount\"), _queue = /*#__PURE__*/ _class_private_field_loose_key._(\"_queue\"), _processNext = /*#__PURE__*/ _class_private_field_loose_key._(\"_processNext\");\nclass PromiseQueue {\n enqueue(promiseFn) {\n let taskResolve;\n let taskReject;\n const taskPromise = new Promise((resolve, reject)=>{\n taskResolve = resolve;\n taskReject = reject;\n });\n const task = async ()=>{\n try {\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]++;\n const result = await promiseFn();\n taskResolve(result);\n } catch (error) {\n taskReject(error);\n } finally{\n _class_private_field_loose_base._(this, _runningCount)[_runningCount]--;\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n }\n };\n const enqueueResult = {\n promiseFn: taskPromise,\n task\n };\n // wonder if we should take a LIFO approach here\n _class_private_field_loose_base._(this, _queue)[_queue].push(enqueueResult);\n _class_private_field_loose_base._(this, _processNext)[_processNext]();\n return taskPromise;\n }\n bump(promiseFn) {\n const index = _class_private_field_loose_base._(this, _queue)[_queue].findIndex((item)=>item.promiseFn === promiseFn);\n if (index > -1) {\n const bumpedItem = _class_private_field_loose_base._(this, _queue)[_queue].splice(index, 1)[0];\n _class_private_field_loose_base._(this, _queue)[_queue].unshift(bumpedItem);\n _class_private_field_loose_base._(this, _processNext)[_processNext](true);\n }\n }\n constructor(maxConcurrency = 5){\n Object.defineProperty(this, _processNext, {\n value: processNext\n });\n Object.defineProperty(this, _maxConcurrency, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _runningCount, {\n writable: true,\n value: void 0\n });\n Object.defineProperty(this, _queue, {\n writable: true,\n value: void 0\n });\n _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] = maxConcurrency;\n _class_private_field_loose_base._(this, _runningCount)[_runningCount] = 0;\n _class_private_field_loose_base._(this, _queue)[_queue] = [];\n }\n}\nfunction processNext(forced) {\n if (forced === void 0) forced = false;\n if ((_class_private_field_loose_base._(this, _runningCount)[_runningCount] < _class_private_field_loose_base._(this, _maxConcurrency)[_maxConcurrency] || forced) && _class_private_field_loose_base._(this, _queue)[_queue].length > 0) {\n var _class_private_field_loose_base__queue_shift;\n (_class_private_field_loose_base__queue_shift = _class_private_field_loose_base._(this, _queue)[_queue].shift()) == null ? void 0 : _class_private_field_loose_base__queue_shift.task();\n }\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=promise-queue.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3Byb21pc2UtcXVldWUuanMiLCJtYXBwaW5ncyI6IkFBQUE7Ozs7O0FBS0E7Ozs7Z0RBQ2FBOzs7ZUFBQUE7Ozs7O0lBQ1hDLGtCQUFBLGNBQUFDLCtCQUFBQyxDQUFBLHFCQUNBQyxnQkFBQSxjQUFBRiwrQkFBQUMsQ0FBQSxtQkFDQUUsU0FBQSxjQUFBSCwrQkFBQUMsQ0FBQSxZQW1EQUcsZUFBQSxjQUFBSiwrQkFBQUMsQ0FBQTtBQXRESyxNQUFNSDtJQWNYTyxRQUFXQyxTQUEyQixFQUFjO1FBQ2xELElBQUlDO1FBQ0osSUFBSUM7UUFFSixNQUFNQyxjQUFjLElBQUlDLFFBQVEsQ0FBQ0MsU0FBU0M7WUFDeENMLGNBQWNJO1lBQ2RILGFBQWFJO1FBQ2Y7UUFFQSxNQUFNQyxPQUFPO1lBQ1gsSUFBSTtnQkFDRkMsZ0NBQUFiLENBQUEsS0FBSSxFQUFFYyxjQUFBQSxDQUFBQSxjQUFBQTtnQkFDTixNQUFNQyxTQUFTLE1BQU1WO2dCQUNyQkMsWUFBWVM7WUFDZCxFQUFFLE9BQU9DLE9BQU87Z0JBQ2RULFdBQVdTO1lBQ2IsU0FBVTtnQkFDUkgsZ0NBQUFiLENBQUEsS0FBSSxFQUFFYyxjQUFBQSxDQUFBQSxjQUFBQTtnQkFDTkQsZ0NBQUFiLENBQUEsS0FBSSxFQUFFaUIsYUFBQUEsQ0FBQUEsYUFBQUE7WUFDUjtRQUNGO1FBRUEsTUFBTUMsZ0JBQWdCO1lBQUViLFdBQVdHO1lBQWFJO1FBQUs7UUFDckQsZ0RBQWdEO1FBQ2hEQyxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNQyxJQUFJLENBQUNGO1FBQ2pCTCxnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVpQixhQUFBQSxDQUFBQSxhQUFBQTtRQUVOLE9BQU9UO0lBQ1Q7SUFFQWEsS0FBS2hCLFNBQXVCLEVBQUU7UUFDNUIsTUFBTWlCLFFBQVFULGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1JLFNBQVMsQ0FBQyxDQUFDQyxPQUFTQSxLQUFLbkIsU0FBUyxLQUFLQTtRQUVqRSxJQUFJaUIsUUFBUSxDQUFDLEdBQUc7WUFDZCxNQUFNRyxhQUFhWixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVtQixPQUFBQSxDQUFBQSxPQUFBQSxDQUFNTyxNQUFNLENBQUNKLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDbERULGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLENBQU1RLE9BQU8sQ0FBQ0Y7WUFDcEJaLGdDQUFBYixDQUFBLEtBQUksRUFBRWlCLGFBQUFBLENBQUFBLGFBQUFBLENBQVk7UUFDcEI7SUFDRjtJQTVDQVcsWUFBWUMsaUJBQWlCLENBQUMsQ0FBRTtRQThDaENDLE9BQUFDLGNBQUEsT0FBQTVCLGNBQUE7bUJBQUFjOztRQXJEQWEsT0FBQUMsY0FBQSxPQUFBakMsaUJBQUE7O21CQUFBOztRQUNBZ0MsT0FBQUMsY0FBQSxPQUFBOUIsZUFBQTs7bUJBQUE7O1FBQ0E2QixPQUFBQyxjQUFBLE9BQUE3QixRQUFBOzttQkFBQTs7UUFNRVcsZ0NBQUFiLENBQUEsS0FBSSxFQUFFNkIsZ0JBQUFBLENBQUFBLGdCQUFBQSxHQUFpQkE7UUFDdkJoQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBLEdBQWU7UUFDckJELGdDQUFBYixDQUFBLEtBQUksRUFBRW1CLE9BQUFBLENBQUFBLE9BQUFBLEdBQVEsRUFBRTtJQUNsQjtBQWtERjtBQVJFLFNBQUFGLFlBQWFlLE1BQWM7SUFBZEEsSUFBQUEsV0FBQUEsS0FBQUEsR0FBQUEsU0FBUztJQUNwQixJQUNFLENBQUNuQixnQ0FBQWIsQ0FBQSxLQUFJLEVBQUVjLGNBQUFBLENBQUFBLGNBQUFBLEdBQWVELGdDQUFBYixDQUFBLEtBQUksRUFBRTZCLGdCQUFBQSxDQUFBQSxnQkFBQUEsSUFBa0JHLE1BQUFBLEtBQzlDbkIsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTWMsTUFBTSxHQUFHLEdBQ3JCO1lBQ0FDO1FBQUFBLENBQUFBLCtDQUFBckIsZ0NBQUFiLENBQUEsS0FBSSxFQUFFbUIsT0FBQUEsQ0FBQUEsT0FBQUEsQ0FBTWdCLEtBQUssdUJBQWpCRCw2Q0FBcUJ0QixJQUFJO0lBQzNCO0FBQ0YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcHJvbWlzZS1xdWV1ZS50cz9lNzM0Il0sIm5hbWVzIjpbIlByb21pc2VRdWV1ZSIsIl9tYXhDb25jdXJyZW5jeSIsIl9jbGFzc19wcml2YXRlX2ZpZWxkX2xvb3NlX2tleSIsIl8iLCJfcnVubmluZ0NvdW50IiwiX3F1ZXVlIiwiX3Byb2Nlc3NOZXh0IiwiZW5xdWV1ZSIsInByb21pc2VGbiIsInRhc2tSZXNvbHZlIiwidGFza1JlamVjdCIsInRhc2tQcm9taXNlIiwiUHJvbWlzZSIsInJlc29sdmUiLCJyZWplY3QiLCJ0YXNrIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZSIsInJ1bm5pbmdDb3VudCIsInJlc3VsdCIsImVycm9yIiwicHJvY2Vzc05leHQiLCJlbnF1ZXVlUmVzdWx0IiwicXVldWUiLCJwdXNoIiwiYnVtcCIsImluZGV4IiwiZmluZEluZGV4IiwiaXRlbSIsImJ1bXBlZEl0ZW0iLCJzcGxpY2UiLCJ1bnNoaWZ0IiwiY29uc3RydWN0b3IiLCJtYXhDb25jdXJyZW5jeSIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZm9yY2VkIiwibGVuZ3RoIiwiX2NsYXNzX3ByaXZhdGVfZmllbGRfbG9vc2VfYmFzZV9fcXVldWVfc2hpZnQiLCJzaGlmdCJdLCJzb3VyY2VSb290IjoiIn0=\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/app/ReactDevOverlay.js": -/*!*******************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/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 ReactDevOverlay;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.js\");\nconst _ShadowPortal = __webpack_require__(/*! ../internal/components/ShadowPortal */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/ShadowPortal.js\");\nconst _BuildError = __webpack_require__(/*! ../internal/container/BuildError */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/BuildError.js\");\nconst _Errors = __webpack_require__(/*! ../internal/container/Errors */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/Errors.js\");\nconst _parseStack = __webpack_require__(/*! ../internal/helpers/parseStack */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/parseStack.js\");\nconst _Base = __webpack_require__(/*! ../internal/styles/Base */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/Base.js\");\nconst _ComponentStyles = __webpack_require__(/*! ../internal/styles/ComponentStyles */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/ComponentStyles.js\");\nconst _CssReset = __webpack_require__(/*! ../internal/styles/CssReset */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/styles/CssReset.js\");\nconst _rootlayoutmissingtagserror = __webpack_require__(/*! ../internal/container/root-layout-missing-tags-error */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/container/root-layout-missing-tags-error.js\");\nclass ReactDevOverlay extends _react.PureComponent {\n static getDerivedStateFromError(error) {\n if (!error.stack) return {\n reactError: null\n };\n return {\n reactError: {\n id: 0,\n event: {\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack)\n }\n }\n };\n }\n componentDidCatch(componentErr) {\n this.props.onReactError(componentErr);\n }\n render() {\n var _state_rootLayoutMissingTags, _state_rootLayoutMissingTags1;\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 hasMissingTags = Boolean((_state_rootLayoutMissingTags = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags.length);\n const isMounted = hasBuildError || hasRuntimeErrors || reactError || hasMissingTags;\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(_jsxruntime.Fragment, {\n children: [\n reactError ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"html\", {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"head\", {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"body\", {})\n ]\n }) : children,\n isMounted ? /*#__PURE__*/ (0, _jsxruntime.jsxs)(_ShadowPortal.ShadowPortal, {\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_CssReset.CssReset, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_Base.Base, {}),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_ComponentStyles.ComponentStyles, {}),\n ((_state_rootLayoutMissingTags1 = state.rootLayoutMissingTags) == null ? void 0 : _state_rootLayoutMissingTags1.length) ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_rootlayoutmissingtagserror.RootLayoutMissingTagsError, {\n missingTags: state.rootLayoutMissingTags\n }) : hasBuildError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_BuildError.BuildError, {\n message: state.buildError,\n versionInfo: state.versionInfo\n }) : reactError ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n versionInfo: state.versionInfo,\n initialDisplayState: \"fullscreen\",\n errors: [\n reactError\n ]\n }) : hasRuntimeErrors ? /*#__PURE__*/ (0, _jsxruntime.jsx)(_Errors.Errors, {\n isAppDir: true,\n initialDisplayState: \"minimized\",\n errors: state.errors,\n versionInfo: state.versionInfo\n }) : undefined\n ]\n }) : undefined\n ]\n });\n }\n constructor(...args){\n super(...args);\n this.state = {\n reactError: null\n };\n }\n}\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9SZWFjdERldk92ZXJsYXkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7OztlQWdCcUJBOzs7Ozs2RUFoQkU7b0NBQ21DOzBDQUU3Qjt3Q0FDRjtvQ0FDSjt3Q0FFSTtrQ0FDTjs2Q0FDVztzQ0FDUDt3REFDa0I7QUFLNUIsTUFBTUEsd0JBQXdCQyxPQUFNQyxhQUFhO0lBVTlELE9BQU9DLHlCQUF5QkMsS0FBWSxFQUF3QjtRQUNsRSxJQUFJLENBQUNBLE1BQU1DLEtBQUssRUFBRSxPQUFPO1lBQUVDLFlBQVk7UUFBSztRQUM1QyxPQUFPO1lBQ0xBLFlBQVk7Z0JBQ1ZDLElBQUk7Z0JBQ0pDLE9BQU87b0JBQ0xDLE1BQU1DLFFBQUFBLHNCQUFzQjtvQkFDNUJDLFFBQVFQO29CQUNSUSxRQUFRQyxDQUFBQSxHQUFBQSxZQUFBQSxVQUFVLEVBQUNULE1BQU1DLEtBQUs7Z0JBQ2hDO1lBQ0Y7UUFDRjtJQUNGO0lBRUFTLGtCQUFrQkMsWUFBbUIsRUFBRTtRQUNyQyxJQUFJLENBQUNDLEtBQUssQ0FBQ0MsWUFBWSxDQUFDRjtJQUMxQjtJQUVBRyxTQUFTO1lBTXdCQyw4QkFtQnRCQTtRQXhCVCxNQUFNLEVBQUVBLEtBQUssRUFBRUMsUUFBUSxFQUFFLEdBQUcsSUFBSSxDQUFDSixLQUFLO1FBQ3RDLE1BQU0sRUFBRVYsVUFBVSxFQUFFLEdBQUcsSUFBSSxDQUFDYSxLQUFLO1FBRWpDLE1BQU1FLGdCQUFnQkYsTUFBTUcsVUFBVSxJQUFJO1FBQzFDLE1BQU1DLG1CQUFtQkMsUUFBUUwsTUFBTU0sTUFBTSxDQUFDQyxNQUFNO1FBQ3BELE1BQU1DLGlCQUFpQkgsUUFBQUEsQ0FBUUwsK0JBQUFBLE1BQU1TLHFCQUFxQixxQkFBM0JULDZCQUE2Qk8sTUFBTTtRQUNsRSxNQUFNRyxZQUNKUixpQkFBaUJFLG9CQUFvQmpCLGNBQWNxQjtRQUVyRCxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxJQUFBLEVBQUFELFlBQUFFLFFBQUE7O2dCQUNHMUIsYUFDQyxXQUREQSxHQUNDLElBQUF3QixZQUFBQyxJQUFBLEVBQUNFLFFBQUFBOztzQ0FDQyxJQUFBSCxZQUFBSSxHQUFBLEVBQUNDLFFBQUFBLENBQUFBO3NDQUNELElBQUFMLFlBQUFJLEdBQUEsRUFBQ0UsUUFBQUEsQ0FBQUE7O3FCQUdIaEI7Z0JBRURTLFlBQ0MsV0FEREEsR0FDQyxJQUFBQyxZQUFBQyxJQUFBLEVBQUNNLGNBQUFBLFlBQVk7O3NDQUNYLElBQUFQLFlBQUFJLEdBQUEsRUFBQ0ksVUFBQUEsUUFBUTtzQ0FDVCxJQUFBUixZQUFBSSxHQUFBLEVBQUNLLE1BQUFBLElBQUk7c0NBQ0wsSUFBQVQsWUFBQUksR0FBQSxFQUFDTSxpQkFBQUEsZUFBZTt3QkFDZnJCLENBQUFBLENBQUFBLGdDQUFBQSxNQUFNUyxxQkFBcUIscUJBQTNCVCw4QkFBNkJPLE1BQU0sSUFDbEMsV0FEa0MsR0FDbEMsSUFBQUksWUFBQUksR0FBQSxFQUFDTyw0QkFBQUEsMEJBQTBCOzRCQUN6QkMsYUFBYXZCLE1BQU1TLHFCQUFxQjs2QkFFeENQLGdCQUNGLFdBREVBLEdBQ0YsSUFBQVMsWUFBQUksR0FBQSxFQUFDUyxZQUFBQSxVQUFVOzRCQUNUQyxTQUFTekIsTUFBTUcsVUFBVTs0QkFDekJ1QixhQUFhMUIsTUFBTTBCLFdBQVc7NkJBRTlCdkMsYUFDRixXQURFQSxHQUNGLElBQUF3QixZQUFBSSxHQUFBLEVBQUNZLFFBQUFBLE1BQU07NEJBQ0xDLFVBQVU7NEJBQ1ZGLGFBQWExQixNQUFNMEIsV0FBVzs0QkFDOUJHLHFCQUFvQjs0QkFDcEJ2QixRQUFRO2dDQUFDbkI7NkJBQVc7NkJBRXBCaUIsbUJBQ0YsV0FERUEsR0FDRixJQUFBTyxZQUFBSSxHQUFBLEVBQUNZLFFBQUFBLE1BQU07NEJBQ0xDLFVBQVU7NEJBQ1ZDLHFCQUFvQjs0QkFDcEJ2QixRQUFRTixNQUFNTSxNQUFNOzRCQUNwQm9CLGFBQWExQixNQUFNMEIsV0FBVzs2QkFFOUJJOztxQkFFSkE7OztJQUdWOzs7YUF6RUE5QixLQUFBQSxHQUFRO1lBQUViLFlBQVk7UUFBSzs7QUEwRTdCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9SZWFjdERldk92ZXJsYXkudHN4P2YwNWYiXSwibmFtZXMiOlsiUmVhY3REZXZPdmVybGF5IiwiUmVhY3QiLCJQdXJlQ29tcG9uZW50IiwiZ2V0RGVyaXZlZFN0YXRlRnJvbUVycm9yIiwiZXJyb3IiLCJzdGFjayIsInJlYWN0RXJyb3IiLCJpZCIsImV2ZW50IiwidHlwZSIsIkFDVElPTl9VTkhBTkRMRURfRVJST1IiLCJyZWFzb24iLCJmcmFtZXMiLCJwYXJzZVN0YWNrIiwiY29tcG9uZW50RGlkQ2F0Y2giLCJjb21wb25lbnRFcnIiLCJwcm9wcyIsIm9uUmVhY3RFcnJvciIsInJlbmRlciIsInN0YXRlIiwiY2hpbGRyZW4iLCJoYXNCdWlsZEVycm9yIiwiYnVpbGRFcnJvciIsImhhc1J1bnRpbWVFcnJvcnMiLCJCb29sZWFuIiwiZXJyb3JzIiwibGVuZ3RoIiwiaGFzTWlzc2luZ1RhZ3MiLCJyb290TGF5b3V0TWlzc2luZ1RhZ3MiLCJpc01vdW50ZWQiLCJfanN4cnVudGltZSIsImpzeHMiLCJGcmFnbWVudCIsImh0bWwiLCJqc3giLCJoZWFkIiwiYm9keSIsIlNoYWRvd1BvcnRhbCIsIkNzc1Jlc2V0IiwiQmFzZSIsIkNvbXBvbmVudFN0eWxlcyIsIlJvb3RMYXlvdXRNaXNzaW5nVGFnc0Vycm9yIiwibWlzc2luZ1RhZ3MiLCJCdWlsZEVycm9yIiwibWVzc2FnZSIsInZlcnNpb25JbmZvIiwiRXJyb3JzIiwiaXNBcHBEaXIiLCJpbml0aWFsRGlzcGxheVN0YXRlIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/ReactDevOverlay.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js": -/*!***********************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js ***! - \***********************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* module decorator */ module = __webpack_require__.nmd(module);\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return HotReload;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = __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__(/*! ../internal/helpers/format-webpack-messages */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/format-webpack-messages.js\"));\nconst _navigation = __webpack_require__(/*! ../../navigation */ \"(ssr)/./node_modules/next/dist/client/components/navigation.js\");\nconst _shared = __webpack_require__(/*! ../shared */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/shared.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__(/*! ./ReactDevOverlay */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/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 _runtimeerrorhandler = __webpack_require__(/*! ../internal/helpers/runtime-error-handler */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/runtime-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\");\nconst _extractmodulesfromturbopackmessage = __webpack_require__(/*! ../../../../server/dev/extract-modules-from-turbopack-message */ \"(ssr)/./node_modules/next/dist/server/dev/extract-modules-from-turbopack-message.js\");\nlet mostRecentCompilationHash = null;\nlet __nextDevClientId = Math.round(Math.random() * 100 + Date.now());\nlet reloading = false;\nlet startLatency = null;\nfunction onBeforeFastRefresh(dispatcher, hasUpdates) {\n if (hasUpdates) {\n dispatcher.onBeforeRefresh();\n }\n}\nfunction onFastRefresh(dispatcher, sendMessage, updatedModules) {\n dispatcher.onBuildOk();\n reportHmrLatency(sendMessage, updatedModules);\n dispatcher.onRefresh();\n}\nfunction reportHmrLatency(sendMessage, updatedModules) {\n if (!startLatency) return;\n let endLatency = Date.now();\n const latency = endLatency - startLatency;\n console.log(\"[Fast Refresh] done in \" + latency + \"ms\");\n sendMessage(JSON.stringify({\n event: \"client-hmr-latency\",\n id: window.__nextDevClientId,\n startTime: startLatency,\n endTime: endLatency,\n page: window.location.pathname,\n updatedModules,\n // Whether the page (tab) was hidden at the time the event occurred.\n // This can impact the accuracy of the event's timing.\n isPageHidden: document.visibilityState === \"hidden\"\n }));\n}\n// There is a newer version of the code available.\nfunction handleAvailableHash(hash) {\n // Update last known compilation hash.\n mostRecentCompilationHash = hash;\n}\n/**\n * Is there a newer version of this code available?\n * For webpack: Check if the hash changed compared to __webpack_hash__\n * For Turbopack: Always true because it doesn't have __webpack_hash__\n */ function isUpdateAvailable() {\n if (false) {}\n /* globals __webpack_hash__ */ // __webpack_hash__ is the hash of the current compilation.\n // It's a global variable injected by Webpack.\n return mostRecentCompilationHash !== __webpack_require__.h();\n}\n// Webpack disallows updates in other states.\nfunction canApplyUpdates() {\n // @ts-expect-error module.hot exists\n return module.hot.status() === \"idle\";\n}\nfunction afterApplyUpdates(fn) {\n if (canApplyUpdates()) {\n fn();\n } else {\n function handler(status) {\n if (status === \"idle\") {\n // @ts-expect-error module.hot exists\n module.hot.removeStatusHandler(handler);\n fn();\n }\n }\n // @ts-expect-error module.hot exists\n module.hot.addStatusHandler(handler);\n }\n}\nfunction performFullReload(err, sendMessage) {\n const stackTrace = err && (err.stack && err.stack.split(\"\\n\").slice(0, 5).join(\"\\n\") || err.message || err + \"\");\n sendMessage(JSON.stringify({\n event: \"client-full-reload\",\n stackTrace,\n hadRuntimeError: !!_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError,\n dependencyChain: err ? err.dependencyChain : undefined\n }));\n if (reloading) return;\n reloading = true;\n window.location.reload();\n}\n// Attempt to update code on the fly, fall back to a hard reload.\nfunction tryApplyUpdates(onBeforeUpdate, onHotUpdateSuccess, sendMessage, dispatcher) {\n if (!isUpdateAvailable() || !canApplyUpdates()) {\n dispatcher.onBuildOk();\n return;\n }\n function handleApplyUpdates(err, updatedModules) {\n if (err || _runtimeerrorhandler.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 (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n }\n performFullReload(err, sendMessage);\n return;\n }\n const hasUpdates = Boolean(updatedModules.length);\n if (typeof onHotUpdateSuccess === \"function\") {\n // Maybe we want to do something.\n onHotUpdateSuccess(updatedModules);\n }\n if (isUpdateAvailable()) {\n // While we were updating, there was a new update! Do it again.\n tryApplyUpdates(hasUpdates ? ()=>{} : onBeforeUpdate, hasUpdates ? ()=>dispatcher.onBuildOk() : onHotUpdateSuccess, sendMessage, dispatcher);\n } else {\n dispatcher.onBuildOk();\n if (false) {}\n }\n }\n // https://webpack.js.org/api/hot-module-replacement/#check\n // @ts-expect-error module.hot exists\n module.hot.check(/* autoApply */ false).then((updatedModules)=>{\n if (!updatedModules) {\n return null;\n }\n if (typeof onBeforeUpdate === \"function\") {\n const hasUpdates = Boolean(updatedModules.length);\n onBeforeUpdate(hasUpdates);\n }\n // https://webpack.js.org/api/hot-module-replacement/#apply\n // @ts-expect-error module.hot exists\n return module.hot.apply();\n }).then((updatedModules)=>{\n handleApplyUpdates(null, updatedModules);\n }, (err)=>{\n handleApplyUpdates(err, null);\n });\n}\n/** Handles messages from the sevrer for the App Router. */ function processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher) {\n if (!(\"action\" in obj)) {\n return;\n }\n function handleErrors(errors) {\n // \"Massage\" webpack messages.\n const formatted = (0, _formatwebpackmessages.default)({\n errors: errors,\n warnings: []\n });\n // Only show the first error.\n dispatcher.onBuildError(formatted.errors[0]);\n // Also log them to the console.\n for(let i = 0; i < formatted.errors.length; i++){\n console.error((0, _stripansi.default)(formatted.errors[i]));\n }\n // Do not attempt to reload now.\n // We will reload on next success instead.\n if (false) {}\n }\n function handleHotUpdate() {\n if (false) {} else {\n tryApplyUpdates(function onBeforeHotUpdate(hasUpdates) {\n onBeforeFastRefresh(dispatcher, hasUpdates);\n }, function onSuccessfulHotUpdate(webpackUpdatedModules) {\n // Only dismiss it when we're sure it's a hot update.\n // Otherwise it would flicker right before the reload.\n onFastRefresh(dispatcher, sendMessage, webpackUpdatedModules);\n }, sendMessage, dispatcher);\n }\n }\n switch(obj.action){\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILDING:\n {\n startLatency = Date.now();\n console.log(\"[Fast Refresh] rebuilding\");\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.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) dispatcher.onVersionInfo(obj.versionInfo);\n const hasErrors = Boolean(errors && errors.length);\n // Compilation with errors (e.g. syntax error or missing modules).\n if (hasErrors) {\n sendMessage(JSON.stringify({\n event: \"client-error\",\n errorCount: errors.length,\n clientId: __nextDevClientId\n }));\n handleErrors(errors);\n return;\n }\n const hasWarnings = Boolean(warnings && warnings.length);\n if (hasWarnings) {\n sendMessage(JSON.stringify({\n event: \"client-warning\",\n warningCount: warnings.length,\n clientId: __nextDevClientId\n }));\n // Print warnings to the console.\n const formattedMessages = (0, _formatwebpackmessages.default)({\n warnings: warnings,\n errors: []\n });\n for(let i = 0; i < formattedMessages.warnings.length; i++){\n if (i === 5) {\n console.warn(\"There were more warnings in other files.\\n\" + \"You can find a complete log in the terminal.\");\n break;\n }\n console.warn((0, _stripansi.default)(formattedMessages.warnings[i]));\n }\n // No early return here as we need to apply modules in the same way between warnings only and compiles without warnings\n }\n sendMessage(JSON.stringify({\n event: \"client-success\",\n clientId: __nextDevClientId\n }));\n if (obj.action === _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.BUILT) {\n // Handle hot updates\n handleHotUpdate();\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED:\n {\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_CONNECTED\n });\n break;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE:\n {\n const updatedModules = (0, _extractmodulesfromturbopackmessage.extractModulesFromTurbopackMessage)(obj.data);\n dispatcher.onBeforeRefresh();\n processTurbopackMessage({\n type: _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.TURBOPACK_MESSAGE,\n data: obj.data\n });\n dispatcher.onRefresh();\n if (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n console.warn(_shared.REACT_REFRESH_FULL_RELOAD_FROM_ERROR);\n performFullReload(null, sendMessage);\n }\n reportHmrLatency(sendMessage, updatedModules);\n break;\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 (_runtimeerrorhandler.RuntimeErrorHandler.hadRuntimeError) {\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n (0, _react.startTransition)(()=>{\n router.fastRefresh();\n dispatcher.onRefresh();\n });\n if (false) {}\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.RELOAD_PAGE:\n {\n sendMessage(JSON.stringify({\n event: \"client-reload-page\",\n clientId: __nextDevClientId\n }));\n if (reloading) return;\n reloading = true;\n return window.location.reload();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.ADDED_PAGE:\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.REMOVED_PAGE:\n {\n // TODO-APP: potentially only refresh if the currently viewed page was added/removed.\n return router.fastRefresh();\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.SERVER_ERROR:\n {\n const { errorJSON } = obj;\n if (errorJSON) {\n const { message, stack } = JSON.parse(errorJSON);\n const error = new Error(message);\n error.stack = stack;\n handleErrors([\n error\n ]);\n }\n return;\n }\n case _hotreloadertypes.HMR_ACTIONS_SENT_TO_BROWSER.DEV_PAGES_MANIFEST_UPDATE:\n {\n return;\n }\n default:\n {}\n }\n}\nfunction HotReload(param) {\n let { assetPrefix, children } = param;\n const [state, dispatch] = (0, _shared.useErrorOverlayReducer)();\n const dispatcher = (0, _react.useMemo)(()=>{\n return {\n onBuildOk () {\n dispatch({\n type: _shared.ACTION_BUILD_OK\n });\n },\n onBuildError (message) {\n dispatch({\n type: _shared.ACTION_BUILD_ERROR,\n message\n });\n },\n onBeforeRefresh () {\n dispatch({\n type: _shared.ACTION_BEFORE_REFRESH\n });\n },\n onRefresh () {\n dispatch({\n type: _shared.ACTION_REFRESH\n });\n },\n onVersionInfo (versionInfo) {\n dispatch({\n type: _shared.ACTION_VERSION_INFO,\n versionInfo\n });\n }\n };\n }, [\n dispatch\n ]);\n const handleOnUnhandledError = (0, _react.useCallback)((error)=>{\n const errorDetails = error.details;\n // Component stack is added to the error in use-error-handler in case there was a hydration errror\n const componentStack = errorDetails == null ? void 0 : errorDetails.componentStack;\n const warning = errorDetails == null ? void 0 : errorDetails.warning;\n dispatch({\n type: _shared.ACTION_UNHANDLED_ERROR,\n reason: error,\n frames: (0, _parseStack.parseStack)(error.stack),\n componentStackFrames: componentStack ? (0, _parsecomponentstack.parseComponentStack)(componentStack) : undefined,\n warning\n });\n }, [\n dispatch\n ]);\n const handleOnUnhandledRejection = (0, _react.useCallback)((reason)=>{\n dispatch({\n type: _shared.ACTION_UNHANDLED_REJECTION,\n reason: reason,\n frames: (0, _parseStack.parseStack)(reason.stack)\n });\n }, [\n dispatch\n ]);\n const handleOnReactError = (0, _react.useCallback)(()=>{\n _runtimeerrorhandler.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, (err)=>performFullReload(err, sendMessage));\n const router = (0, _navigation.useRouter)();\n (0, _react.useEffect)(()=>{\n const websocket = webSocketRef.current;\n if (!websocket) return;\n const handler = (event)=>{\n try {\n const obj = JSON.parse(event.data);\n processMessage(obj, sendMessage, processTurbopackMessage, router, dispatcher);\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 websocket.addEventListener(\"message\", handler);\n return ()=>websocket.removeEventListener(\"message\", handler);\n }, [\n sendMessage,\n router,\n webSocketRef,\n dispatcher,\n processTurbopackMessage\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(_ReactDevOverlay.default, {\n onReactError: handleOnReactError,\n state: state,\n children: children\n });\n}\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=hot-reloader-client.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LmpzIiwibWFwcGluZ3MiOiI7Ozs7OzJDQWtjQTs7O2VBQXdCQTs7Ozs7bUNBamN5QztnRkFDM0M7NEZBQ1k7d0NBQ1I7b0NBVW5CO3dDQUNvQjtzRkFDQzs2Q0FDSTtpREFDSTswQ0FNN0I7aURBQzZCOzhDQUVRO2dFQUtPO0FBV25ELElBQUlDLDRCQUFpQztBQUNyQyxJQUFJQyxvQkFBb0JDLEtBQUtDLEtBQUssQ0FBQ0QsS0FBS0UsTUFBTSxLQUFLLE1BQU1DLEtBQUtDLEdBQUc7QUFDakUsSUFBSUMsWUFBWTtBQUNoQixJQUFJQyxlQUE4QjtBQUVsQyxTQUFTQyxvQkFBb0JDLFVBQXNCLEVBQUVDLFVBQW1CO0lBQ3RFLElBQUlBLFlBQVk7UUFDZEQsV0FBV0UsZUFBZTtJQUM1QjtBQUNGO0FBRUEsU0FBU0MsY0FDUEgsVUFBc0IsRUFDdEJJLFdBQXNDLEVBQ3RDQyxjQUFxQztJQUVyQ0wsV0FBV00sU0FBUztJQUVwQkMsaUJBQWlCSCxhQUFhQztJQUU5QkwsV0FBV1EsU0FBUztBQUN0QjtBQUVBLFNBQVNELGlCQUNQSCxXQUFzQyxFQUN0Q0MsY0FBcUM7SUFFckMsSUFBSSxDQUFDUCxjQUFjO0lBQ25CLElBQUlXLGFBQWFkLEtBQUtDLEdBQUc7SUFDekIsTUFBTWMsVUFBVUQsYUFBYVg7SUFDN0JhLFFBQVFDLEdBQUcsQ0FBQyw0QkFBMEJGLFVBQVE7SUFDOUNOLFlBQ0VTLEtBQUtDLFNBQVMsQ0FBQztRQUNiQyxPQUFPO1FBQ1BDLElBQUlDLE9BQU8xQixpQkFBaUI7UUFDNUIyQixXQUFXcEI7UUFDWHFCLFNBQVNWO1FBQ1RXLE1BQU1ILE9BQU9JLFFBQVEsQ0FBQ0MsUUFBUTtRQUM5QmpCO1FBQ0Esb0VBQW9FO1FBQ3BFLHNEQUFzRDtRQUN0RGtCLGNBQWNDLFNBQVNDLGVBQWUsS0FBSztJQUM3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L0csVUFBVSxDQUFDeEI7WUFDZixJQUFJO2dCQUNGLE1BQU11RCxNQUFNekQsS0FBS21HLEtBQUssQ0FBQ2pHLE1BQU13RixJQUFJO2dCQUNqQ2xDLGVBQ0VDLEtBQ0FsRSxhQUNBbUUseUJBQ0FDLFFBQ0F4RTtZQUVKLEVBQUUsT0FBTzJDLEtBQVU7b0JBRWtDQTtnQkFEbkRoQyxRQUFRZ0QsSUFBSSxDQUNWLDRCQUE0QjVDLE1BQU13RixJQUFJLEdBQUcsT0FBUTVELENBQUFBLENBQUFBLGFBQUFBLE9BQUFBLE9BQUFBLEtBQUFBLElBQUFBLElBQUtFLEtBQUssWUFBVkYsYUFBYztZQUVuRTtRQUNGO1FBRUEyRyxVQUFVRSxnQkFBZ0IsQ0FBQyxXQUFXakg7UUFDdEMsT0FBTyxJQUFNK0csVUFBVUcsbUJBQW1CLENBQUMsV0FBV2xIO0lBQ3hELEdBQUc7UUFBQ25DO1FBQWFvRTtRQUFRdUU7UUFBYy9JO1FBQVl1RTtLQUF3QjtJQUUzRSxPQUNFLFdBREYsR0FDRSxJQUFBbUYsWUFBQUMsR0FBQSxFQUFDQyxpQkFBQUEsT0FBZTtRQUFDQyxjQUFjaEI7UUFBb0J2QixPQUFPQTtrQkFDdkREOztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2FwcC9ob3QtcmVsb2FkZXItY2xpZW50LnRzeD84ZmM5Il0sIm5hbWVzIjpbIkhvdFJlbG9hZCIsIm1vc3RSZWNlbnRDb21waWxhdGlvbkhhc2giLCJfX25leHREZXZDbGllbnRJZCIsIk1hdGgiLCJyb3VuZCIsInJhbmRvbSIsIkRhdGUiLCJub3ciLCJyZWxvYWRpbmciLCJzdGFydExhdGVuY3kiLCJvbkJlZm9yZUZhc3RSZWZyZXNoIiwiZGlzcGF0Y2hlciIsImhhc1VwZGF0ZXMiLCJvbkJlZm9yZVJlZnJlc2giLCJvbkZhc3RSZWZyZXNoIiwic2VuZE1lc3NhZ2UiLCJ1cGRhdGVkTW9kdWxlcyIsIm9uQnVpbGRPayIsInJlcG9ydEhtckxhdGVuY3kiLCJvblJlZnJlc2giLCJlbmRMYXRlbmN5IiwibGF0ZW5jeSIsImNvbnNvbGUiLCJsb2ciLCJKU09OIiwic3RyaW5naWZ5IiwiZXZlbnQiLCJpZCIsIndpbmRvdyIsInN0YXJ0VGltZSIsImVuZFRpbWUiLCJwYWdlIiwibG9jYXRpb24iLCJwYXRobmFtZSIsImlzUGFnZUhpZGRlbiIsImRvY3VtZW50IiwidmlzaWJpbGl0eVN0YXRlIiwiaGFuZGxlQXZhaWxhYmxlSGFzaCIsImhhc2giLCJpc1VwZGF0ZUF2YWlsYWJsZSIsInByb2Nlc3MiLCJlbnYiLCJUVVJCT1BBQ0siLCJfX3dlYnBhY2tfaGFzaF9fIiwiY2FuQXBwbHlVcGRhdGVzIiwibW9kdWxlIiwiaG90Iiwic3RhdHVzIiwiYWZ0ZXJBcHBseVVwZGF0ZXMiLCJmbiIsImhhbmRsZXIiLCJyZW1vdmVTdGF0dXNIYW5kbGVyIiwiYWRkU3RhdHVzSGFuZGxlciIsInBlcmZvcm1GdWxsUmVsb2FkIiwiZXJyIiwic3RhY2tUcmFjZSIsInN0YWNrIiwic3BsaXQiLCJzbGljZSIsImpvaW4iLCJtZXNzYWdlIiwiaGFkUnVudGltZUVycm9yIiwiUnVudGltZUVycm9ySGFuZGxlciIsImRlcGVuZGVuY3lDaGFpbiIsInVuZGVmaW5lZCIsInJlbG9hZCIsInRyeUFwcGx5VXBkYXRlcyIsIm9uQmVmb3JlVXBkYXRlIiwib25Ib3RVcGRhdGVTdWNjZXNzIiwiaGFuZGxlQXBwbHlVcGRhdGVzIiwid2FybiIsIlJFQUNUX1JFRlJFU0hfRlVMTF9SRUxPQURfRlJPTV9FUlJPUiIsIkJvb2xlYW4iLCJsZW5ndGgiLCJfX05FWFRfVEVTVF9NT0RFIiwic2VsZiIsIl9fTkVYVF9ITVJfQ0IiLCJjaGVjayIsInRoZW4iLCJhcHBseSIsInByb2Nlc3NNZXNzYWdlIiwib2JqIiwicHJvY2Vzc1R1cmJvcGFja01lc3NhZ2UiLCJyb3V0ZXIiLCJoYW5kbGVFcnJvcnMiLCJlcnJvcnMiLCJmb3JtYXR0ZWQiLCJmb3JtYXRXZWJwYWNrTWVzc2FnZXMiLCJ3YXJuaW5ncyIsIm9uQnVpbGRFcnJvciIsImkiLCJlcnJvciIsInN0cmlwQW5zaSIsImhhbmRsZUhvdFVwZGF0ZSIsIm9uQmVmb3JlSG90VXBkYXRlIiwib25TdWNjZXNzZnVsSG90VXBkYXRlIiwid2VicGFja1VwZGF0ZWRNb2R1bGVzIiwiYWN0aW9uIiwiSE1SX0FDVElPTlNfU0VOVF9UT19CUk9XU0VSIiwiQlVJTERJTkciLCJCVUlMVCIsIlNZTkMiLCJvblZlcnNpb25JbmZvIiwidmVyc2lvbkluZm8iLCJoYXNFcnJvcnMiLCJlcnJvckNvdW50IiwiY2xpZW50SWQiLCJoYXNXYXJuaW5ncyIsIndhcm5pbmdDb3VudCIsImZvcm1hdHRlZE1lc3NhZ2VzIiwiVFVSQk9QQUNLX0NPTk5FQ1RFRCIsInR5cGUiLCJUVVJCT1BBQ0tfTUVTU0FHRSIsImV4dHJhY3RNb2R1bGVzRnJvbVR1cmJvcGFja01lc3NhZ2UiLCJkYXRhIiwiU0VSVkVSX0NPTVBPTkVOVF9DSEFOR0VTIiwic3RhcnRUcmFuc2l0aW9uIiwiZmFzdFJlZnJlc2giLCJSRUxPQURfUEFHRSIsIkFEREVEX1BBR0UiLCJSRU1PVkVEX1BBR0UiLCJTRVJWRVJfRVJST1IiLCJlcnJvckpTT04iLCJwYXJzZSIsIkVycm9yIiwiREVWX1BBR0VTX01BTklGRVNUX1VQREFURSIsInBhcmFtIiwiYXNzZXRQcmVmaXgiLCJjaGlsZHJlbiIsInN0YXRlIiwiZGlzcGF0Y2giLCJ1c2VFcnJvck92ZXJsYXlSZWR1Y2VyIiwidXNlTWVtbyIsIkFDVElPTl9CVUlMRF9PSyIsIkFDVElPTl9CVUlMRF9FUlJPUiIsIkFDVElPTl9CRUZPUkVfUkVGUkVTSCIsIkFDVElPTl9SRUZSRVNIIiwiQUNUSU9OX1ZFUlNJT05fSU5GTyIsImhhbmRsZU9uVW5oYW5kbGVkRXJyb3IiLCJ1c2VDYWxsYmFjayIsImVycm9yRGV0YWlscyIsImRldGFpbHMiLCJjb21wb25lbnRTdGFjayIsIndhcm5pbmciLCJBQ1RJT05fVU5IQU5ETEVEX0VSUk9SIiwicmVhc29uIiwiZnJhbWVzIiwicGFyc2VTdGFjayIsImNvbXBvbmVudFN0YWNrRnJhbWVzIiwicGFyc2VDb21wb25lbnRTdGFjayIsImhhbmRsZU9uVW5oYW5kbGVkUmVqZWN0aW9uIiwiQUNUSU9OX1VOSEFORExFRF9SRUpFQ1RJT04iLCJoYW5kbGVPblJlYWN0RXJyb3IiLCJ1c2VFcnJvckhhbmRsZXIiLCJ3ZWJTb2NrZXRSZWYiLCJ1c2VXZWJzb2NrZXQiLCJ1c2VXZWJzb2NrZXRQaW5nIiwidXNlU2VuZE1lc3NhZ2UiLCJ1c2VUdXJib3BhY2siLCJ1c2VSb3V0ZXIiLCJ1c2VFZmZlY3QiLCJ3ZWJzb2NrZXQiLCJjdXJyZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJfanN4cnVudGltZSIsImpzeCIsIlJlYWN0RGV2T3ZlcmxheSIsIm9uUmVhY3RFcnJvciJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/app/hot-reloader-client.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/CodeFrame.js ***! - \***************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"CodeFrame\", ({\n enumerable: true,\n get: function() {\n return CodeFrame;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _anser = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/anser */ \"(ssr)/./node_modules/next/dist/compiled/anser/index.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _stripansi = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/strip-ansi */ \"(ssr)/./node_modules/next/dist/compiled/strip-ansi/index.js\"));\nconst _stackframe = __webpack_require__(/*! ../../helpers/stack-frame */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/stack-frame.js\");\nconst _useopenineditor = __webpack_require__(/*! ../../helpers/use-open-in-editor */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/use-open-in-editor.js\");\nconst _hotlinkedtext = __webpack_require__(/*! ../hot-linked-text */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/hot-linked-text/index.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 // Find the minimum length of leading spaces after `|` in the code frame\n const miniLeadingSpacesLength = 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 // When the minimum length of leading spaces is greater than 1, remove them\n // from the code frame to help the indentation looks better when there's a lot leading spaces.\n if (miniLeadingSpacesLength > 1) {\n return lines.map((line, a)=>~(a = line.indexOf(\"|\")) ? line.substring(0, a) + line.substring(a).replace(\"^\\\\ {\" + miniLeadingSpacesLength + \"}\", \"\") : line).join(\"\\n\");\n }\n return lines.join(\"\\n\");\n }, [\n codeFrame\n ]);\n const decoded = _react.useMemo(()=>{\n return _anser.default.ansiToJson(formattedFrame, {\n json: true,\n use_classes: true,\n remove_empty: true\n });\n }, [\n formattedFrame\n ]);\n const open = (0, _useopenineditor.useOpenInEditor)({\n file: stackFrame.file,\n lineNumber: stackFrame.lineNumber,\n column: stackFrame.column\n });\n // TODO: make the caret absolute\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-codeframe\": true,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"p\", {\n role: \"link\",\n onClick: open,\n tabIndex: 1,\n title: \"Click to open in your editor\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"span\", {\n children: [\n (0, _stackframe.getFrameSource)(stackFrame),\n \" @\",\n \" \",\n /*#__PURE__*/ (0, _jsxruntime.jsx)(_hotlinkedtext.HotlinkedText, {\n text: stackFrame.methodName\n })\n ]\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"polyline\", {\n points: \"15 3 21 3 21 9\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"line\", {\n x1: \"10\",\n y1: \"14\",\n x2: \"21\",\n y2: \"3\"\n })\n ]\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"pre\", {\n children: decoded.map((entry, index)=>/*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n style: {\n color: entry.fg ? \"var(--color-\" + entry.fg + \")\" : undefined,\n ...entry.decoration === \"bold\" ? {\n fontWeight: 800\n } : entry.decoration === \"italic\" ? {\n fontStyle: \"italic\"\n } : undefined\n },\n children: entry.content\n }, \"frame-\" + index))\n })\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=CodeFrame.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS5qcyIsIm1hcHBpbmdzIjoiOzs7OzZDQVVhQTs7O2VBQUFBOzs7Ozs7NEVBVks7NkVBQ0s7Z0ZBRUQ7d0NBQ1M7NkNBQ0M7MkNBQ0Y7QUFJdkIsTUFBTUEsWUFBc0MsU0FBU0EsVUFBVUMsS0FHckU7SUFIcUUsTUFDcEVDLFVBQVUsRUFDVkMsU0FBUyxFQUNWLEdBSHFFRjtJQUlwRSw4Q0FBOEM7SUFDOUMsTUFBTUcsaUJBQWlCQyxPQUFNQyxPQUFPLENBQVM7UUFDM0MsTUFBTUMsUUFBUUosVUFBVUssS0FBSyxDQUFDO1FBRTlCLHdFQUF3RTtRQUN4RSxNQUFNQywwQkFBMEJGLE1BQzdCRyxHQUFHLENBQUMsQ0FBQ0MsT0FDSixvQkFBb0JDLElBQUksQ0FBQ0MsQ0FBQUEsR0FBQUEsV0FBQUEsT0FBUyxFQUFDRixXQUFXLE9BQzFDLE9BQ0Esb0JBQW9CQyxJQUFJLENBQUNDLENBQUFBLEdBQUFBLFdBQUFBLE9BQVMsRUFBQ0YsUUFFeENHLE1BQU0sQ0FBQ0MsU0FDUEwsR0FBRyxDQUFDLENBQUNNLElBQU1BLEVBQUdDLEdBQUcsSUFDakJDLE1BQU0sQ0FBQyxDQUFDQyxHQUFHQyxJQUFPQyxNQUFNRixLQUFLQyxFQUFFRSxNQUFNLEdBQUdDLEtBQUtDLEdBQUcsQ0FBQ0wsR0FBR0MsRUFBRUUsTUFBTSxHQUFJRztRQUVuRSwyRUFBMkU7UUFDM0UsOEZBQThGO1FBQzlGLElBQUloQiwwQkFBMEIsR0FBRztZQUMvQixPQUFPRixNQUNKRyxHQUFHLENBQUMsQ0FBQ0MsTUFBTWUsSUFDVixDQUFFQSxDQUFBQSxJQUFJZixLQUFLZ0IsT0FBTyxDQUFDLFFBQ2ZoQixLQUFLaUIsU0FBUyxDQUFDLEdBQUdGLEtBQ2xCZixLQUFLaUIsU0FBUyxDQUFDRixHQUFHRyxPQUFPLENBQUMsVUFBUXBCLDBCQUF3QixLQUFJLE1BQzlERSxNQUVMbUIsSUFBSSxDQUFDO1FBQ1Y7UUFDQSxPQUFPdkIsTUFBTXVCLElBQUksQ0FBQztJQUNwQixHQUFHO1FBQUMzQjtLQUFVO0lBRWQsTUFBTTRCLFVBQVUxQixPQUFNQyxPQUFPLENBQUM7UUFDNUIsT0FBTzBCLE9BQUFBLE9BQUssQ0FBQ0MsVUFBVSxDQUFDN0IsZ0JBQWdCO1lBQ3RDOEIsTUFBTTtZQUNOQyxhQUFhO1lBQ2JDLGNBQWM7UUFDaEI7SUFDRixHQUFHO1FBQUNoQztLQUFlO0lBRW5CLE1BQU1pQyxPQUFPQyxDQUFBQSxHQUFBQSxpQkFBQUEsZUFBZSxFQUFDO1FBQzNCQyxNQUFNckMsV0FBV3FDLElBQUk7UUFDckJDLFlBQVl0QyxXQUFXc0MsVUFBVTtRQUNqQ0MsUUFBUXZDLFdBQVd1QyxNQUFNO0lBQzNCO0lBRUEsZ0NBQWdDO0lBQ2hDLE9BQ0UsV0FERixHQUNFLElBQUFDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFBSUMseUJBQXFCOzswQkFDeEIsSUFBQUgsWUFBQUksR0FBQSxFQUFDRixPQUFBQTswQkFDQyxrQkFBQUYsWUFBQUMsSUFBQSxFQUFDSSxLQUFBQTtvQkFDQ0MsTUFBSztvQkFDTEMsU0FBU1o7b0JBQ1RhLFVBQVU7b0JBQ1ZDLE9BQU07O3NDQUVOLElBQUFULFlBQUFDLElBQUEsRUFBQ1MsUUFBQUE7O2dDQUNFQyxDQUFBQSxHQUFBQSxZQUFBQSxjQUFjLEVBQUNuRDtnQ0FBWTtnQ0FBRzs4Q0FDL0IsSUFBQXdDLFlBQUFJLEdBQUEsRUFBQ1EsZUFBQUEsYUFBYTtvQ0FBQ0MsTUFBTXJELFdBQVdzRCxVQUFVOzs7O3NDQUU1QyxJQUFBZCxZQUFBQyxJQUFBLEVBQUNjLE9BQUFBOzRCQUNDQyxPQUFNOzRCQUNOQyxTQUFROzRCQUNSQyxNQUFLOzRCQUNMQyxRQUFPOzRCQUNQQyxhQUFZOzRCQUNaQyxlQUFjOzRCQUNkQyxnQkFBZTs7OENBRWYsSUFBQXRCLFlBQUFJLEdBQUEsRUFBQ21CLFFBQUFBO29DQUFLQyxHQUFFOzs4Q0FDUixJQUFBeEIsWUFBQUksR0FBQSxFQUFDcUIsWUFBQUE7b0NBQVNDLFFBQU87OzhDQUNqQixJQUFBMUIsWUFBQUksR0FBQSxFQUFDbkMsUUFBQUE7b0NBQUswRCxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHO29DQUFLQyxJQUFHOzs7Ozs7OzBCQUl2QyxJQUFBOUIsWUFBQUksR0FBQSxFQUFDMkIsT0FBQUE7MEJBQ0UxQyxRQUFRckIsR0FBRyxDQUFDLENBQUNnRSxPQUFPQyxRQUNuQixXQURtQkEsR0FDbkIsSUFBQWpDLFlBQUFJLEdBQUEsRUFBQ00sUUFBQUE7d0JBRUN3QixPQUFPOzRCQUNMQyxPQUFPSCxNQUFNSSxFQUFFLEdBQUcsaUJBQWVKLE1BQU1JLEVBQUUsR0FBQyxNQUFLQzs0QkFDL0MsR0FBSUwsTUFBTU0sVUFBVSxLQUFLLFNBQ3JCO2dDQUFFQyxZQUFZOzRCQUFJLElBQ2xCUCxNQUFNTSxVQUFVLEtBQUssV0FDckI7Z0NBQUVFLFdBQVc7NEJBQVMsSUFDdEJILFNBQVM7d0JBQ2Y7a0NBRUNMLE1BQU1TLE9BQU87dUJBVlQsV0FBU1I7Ozs7QUFnQjFCIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL0NvZGVGcmFtZS50c3g/NzQ2NSJdLCJuYW1lcyI6WyJDb2RlRnJhbWUiLCJwYXJhbSIsInN0YWNrRnJhbWUiLCJjb2RlRnJhbWUiLCJmb3JtYXR0ZWRGcmFtZSIsIlJlYWN0IiwidXNlTWVtbyIsImxpbmVzIiwic3BsaXQiLCJtaW5pTGVhZGluZ1NwYWNlc0xlbmd0aCIsIm1hcCIsImxpbmUiLCJleGVjIiwic3RyaXBBbnNpIiwiZmlsdGVyIiwiQm9vbGVhbiIsInYiLCJwb3AiLCJyZWR1Y2UiLCJjIiwibiIsImlzTmFOIiwibGVuZ3RoIiwiTWF0aCIsIm1pbiIsIk5hTiIsImEiLCJpbmRleE9mIiwic3Vic3RyaW5nIiwicmVwbGFjZSIsImpvaW4iLCJkZWNvZGVkIiwiQW5zZXIiLCJhbnNpVG9Kc29uIiwianNvbiIsInVzZV9jbGFzc2VzIiwicmVtb3ZlX2VtcHR5Iiwib3BlbiIsInVzZU9wZW5JbkVkaXRvciIsImZpbGUiLCJsaW5lTnVtYmVyIiwiY29sdW1uIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtY29kZWZyYW1lIiwianN4IiwicCIsInJvbGUiLCJvbkNsaWNrIiwidGFiSW5kZXgiLCJ0aXRsZSIsInNwYW4iLCJnZXRGcmFtZVNvdXJjZSIsIkhvdGxpbmtlZFRleHQiLCJ0ZXh0IiwibWV0aG9kTmFtZSIsInN2ZyIsInhtbG5zIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsInBhdGgiLCJkIiwicG9seWxpbmUiLCJwb2ludHMiLCJ4MSIsInkxIiwieDIiLCJ5MiIsInByZSIsImVudHJ5IiwiaW5kZXgiLCJzdHlsZSIsImNvbG9yIiwiZmciLCJ1bmRlZmluZWQiLCJkZWNvcmF0aW9uIiwiZm9udFdlaWdodCIsImZvbnRTdHlsZSIsImNvbnRlbnQiXSwic291cmNlUm9vdCI6IiJ9\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7NkNBQVNBOzs7ZUFBQUEsV0FBQUEsU0FBUzs7O3VDQUFRIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL2luZGV4LnRzeD9mNGNiIl0sIm5hbWVzIjpbIkNvZGVGcmFtZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js": -/*!************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js ***! - \************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-codeframe] {\\n overflow: auto;\\n border-radius: var(--size-gap-half);\\n background-color: var(--color-ansi-bg);\\n color: var(--color-ansi-fg);\\n }\\n [data-nextjs-codeframe]::selection,\\n [data-nextjs-codeframe] *::selection {\\n background-color: var(--color-ansi-selection);\\n }\\n [data-nextjs-codeframe] * {\\n color: inherit;\\n background-color: transparent;\\n font-family: var(--font-stack-monospace);\\n }\\n\\n [data-nextjs-codeframe] > * {\\n margin: 0;\\n padding: calc(var(--size-gap) + var(--size-gap-half))\\n calc(var(--size-gap-double) + var(--size-gap-half));\\n }\\n [data-nextjs-codeframe] > div {\\n display: inline-block;\\n width: auto;\\n min-width: 100%;\\n border-bottom: 1px solid var(--color-ansi-bright-black);\\n }\\n [data-nextjs-codeframe] > div > p {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n cursor: pointer;\\n margin: 0;\\n }\\n [data-nextjs-codeframe] > div > p:hover {\\n text-decoration: underline dotted;\\n }\\n [data-nextjs-codeframe] div > p > svg {\\n width: auto;\\n height: 1em;\\n margin-left: 8px;\\n }\\n [data-nextjs-codeframe] div > pre {\\n overflow: hidden;\\n display: inline-block;\\n }\\n\"\n ]);\n _templateObject = function() {\n return data;\n };\n return data;\n}\nconst styles = (0, _nooptemplate.noop)(_templateObject());\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=styles.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvQ29kZUZyYW1lL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW1EU0E7OztlQUFBQTs7OzswQ0FuRG1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9Db2RlRnJhbWUvc3R5bGVzLnRzeD9iZTA5Il0sIm5hbWVzIjpbInN0eWxlcyIsImNzcyIsIl90ZW1wbGF0ZU9iamVjdCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/CodeFrame/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js ***! - \*********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Dialog\", ({\n enumerable: true,\n get: function() {\n return Dialog;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _useonclickoutside = __webpack_require__(/*! ../../hooks/use-on-click-outside */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/hooks/use-on-click-outside.js\");\nconst Dialog = function Dialog(param) {\n let { children, type, onClose, ...props } = param;\n const [dialog, setDialog] = _react.useState(null);\n const [role, setRole] = _react.useState(typeof document !== \"undefined\" && document.hasFocus() ? \"dialog\" : undefined);\n const onDialog = _react.useCallback((node)=>{\n setDialog(node);\n }, []);\n (0, _useonclickoutside.useOnClickOutside)(dialog, (e)=>{\n e.preventDefault();\n return onClose == null ? void 0 : onClose();\n });\n // Make HTMLElements with `role=link` accessible to be triggered by the\n // keyboard, i.e. [Enter].\n _react.useEffect(()=>{\n if (dialog == null) {\n return;\n }\n const root = dialog.getRootNode();\n // Always true, but we do this for TypeScript:\n if (!(root instanceof ShadowRoot)) {\n return;\n }\n const shadowRoot = root;\n function handler(e) {\n const el = shadowRoot.activeElement;\n if (e.key === \"Enter\" && el instanceof HTMLElement && el.getAttribute(\"role\") === \"link\") {\n e.preventDefault();\n e.stopPropagation();\n el.click();\n }\n }\n function handleFocus() {\n // safari will force itself as the active application when a background page triggers any sort of autofocus\n // this is a workaround to only set the dialog role if the document has focus\n setRole(document.hasFocus() ? \"dialog\" : undefined);\n }\n shadowRoot.addEventListener(\"keydown\", handler);\n window.addEventListener(\"focus\", handleFocus);\n window.addEventListener(\"blur\", handleFocus);\n return ()=>{\n shadowRoot.removeEventListener(\"keydown\", handler);\n window.removeEventListener(\"focus\", handleFocus);\n window.removeEventListener(\"blur\", handleFocus);\n };\n }, [\n dialog\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n ref: onDialog,\n \"data-nextjs-dialog\": true,\n tabIndex: -1,\n role: role,\n \"aria-labelledby\": props[\"aria-labelledby\"],\n \"aria-describedby\": props[\"aria-describedby\"],\n \"aria-modal\": \"true\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-banner\": true,\n className: \"banner-\" + type\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Dialog.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7Ozs7NkVBMUZjOytDQUNXO0FBVWxDLE1BQU1BLFNBQWdDLFNBQVNBLE9BQU9DLEtBS3JEO0lBTHFELE1BQ3BEQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsT0FBTyxFQUNQLEdBQUdDLE9BQ0osR0FMcURKO0lBTXBELE1BQU0sQ0FBQ0ssUUFBUUMsVUFBVSxHQUFHQyxPQUFNQyxRQUFRLENBQXdCO0lBQ2xFLE1BQU0sQ0FBQ0MsTUFBTUMsUUFBUSxHQUFHSCxPQUFNQyxRQUFRLENBQ3BDLE9BQU9HLGFBQWEsZUFBZUEsU0FBU0MsUUFBUSxLQUNoRCxXQUNBQztJQUVOLE1BQU1DLFdBQVdQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNsQ1YsVUFBVVU7SUFDWixHQUFHLEVBQUU7SUFDTEMsQ0FBQUEsR0FBQUEsbUJBQUFBLGlCQUFpQixFQUFDWixRQUFRLENBQUNhO1FBQ3pCQSxFQUFFQyxjQUFjO1FBQ2hCLE9BQU9oQixXQUFBQSxPQUFBQSxLQUFBQSxJQUFBQTtJQUNUO0lBRUEsdUVBQXVFO0lBQ3ZFLDBCQUEwQjtJQUMxQkksT0FBTWEsU0FBUyxDQUFDO1FBQ2QsSUFBSWYsVUFBVSxNQUFNO1lBQ2xCO1FBQ0Y7UUFFQSxNQUFNZ0IsT0FBT2hCLE9BQU9pQixXQUFXO1FBQy9CLDhDQUE4QztRQUM5QyxJQUFJLENBQUVELENBQUFBLGdCQUFnQkUsVUFBQUEsR0FBYTtZQUNqQztRQUNGO1FBQ0EsTUFBTUMsYUFBYUg7UUFDbkIsU0FBU0ksUUFBUVAsQ0FBZ0I7WUFDL0IsTUFBTVEsS0FBS0YsV0FBV0csYUFBYTtZQUNuQyxJQUNFVCxFQUFFVSxHQUFHLEtBQUssV0FDVkYsY0FBY0csZUFDZEgsR0FBR0ksWUFBWSxDQUFDLFlBQVksUUFDNUI7Z0JBQ0FaLEVBQUVDLGNBQWM7Z0JBQ2hCRCxFQUFFYSxlQUFlO2dCQUVqQkwsR0FBR00sS0FBSztZQUNWO1FBQ0Y7UUFFQSxTQUFTQztZQUNQLDJHQUEyRztZQUMzRyw2RUFBNkU7WUFDN0V2QixRQUFRQyxTQUFTQyxRQUFRLEtBQUssV0FBV0M7UUFDM0M7UUFFQVcsV0FBV1UsZ0JBQWdCLENBQUMsV0FBV1Q7UUFDdkNVLE9BQU9ELGdCQUFnQixDQUFDLFNBQVNEO1FBQ2pDRSxPQUFPRCxnQkFBZ0IsQ0FBQyxRQUFRRDtRQUNoQyxPQUFPO1lBQ0xULFdBQVdZLG1CQUFtQixDQUFDLFdBQVdYO1lBQzFDVSxPQUFPQyxtQkFBbUIsQ0FBQyxTQUFTSDtZQUNwQ0UsT0FBT0MsbUJBQW1CLENBQUMsUUFBUUg7UUFDckM7SUFDRixHQUFHO1FBQUM1QjtLQUFPO0lBRVgsT0FDRSxXQURGLEdBQ0UsSUFBQWdDLFlBQUFDLElBQUEsRUFBQ0MsT0FBQUE7UUFDQ0MsS0FBSzFCO1FBQ0wyQixzQkFBa0I7UUFDbEJDLFVBQVUsQ0FBQztRQUNYakMsTUFBTUE7UUFDTmtDLG1CQUFpQnZDLEtBQUssQ0FBQyxrQkFBa0I7UUFDekN3QyxvQkFBa0J4QyxLQUFLLENBQUMsbUJBQW1CO1FBQzNDeUMsY0FBVzs7MEJBRVgsSUFBQVIsWUFBQVMsR0FBQSxFQUFDUCxPQUFBQTtnQkFBSVEsNkJBQXlCO2dCQUFDQyxXQUFXLFlBQVU5Qzs7WUFDbkREOzs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2cudHN4PzVmNzIiXSwibmFtZXMiOlsiRGlhbG9nIiwicGFyYW0iLCJjaGlsZHJlbiIsInR5cGUiLCJvbkNsb3NlIiwicHJvcHMiLCJkaWFsb2ciLCJzZXREaWFsb2ciLCJSZWFjdCIsInVzZVN0YXRlIiwicm9sZSIsInNldFJvbGUiLCJkb2N1bWVudCIsImhhc0ZvY3VzIiwidW5kZWZpbmVkIiwib25EaWFsb2ciLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJ1c2VPbkNsaWNrT3V0c2lkZSIsImUiLCJwcmV2ZW50RGVmYXVsdCIsInVzZUVmZmVjdCIsInJvb3QiLCJnZXRSb290Tm9kZSIsIlNoYWRvd1Jvb3QiLCJzaGFkb3dSb290IiwiaGFuZGxlciIsImVsIiwiYWN0aXZlRWxlbWVudCIsImtleSIsIkhUTUxFbGVtZW50IiwiZ2V0QXR0cmlidXRlIiwic3RvcFByb3BhZ2F0aW9uIiwiY2xpY2siLCJoYW5kbGVGb2N1cyIsImFkZEV2ZW50TGlzdGVuZXIiLCJ3aW5kb3ciLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwicmVmIiwiZGF0YS1uZXh0anMtZGlhbG9nIiwidGFiSW5kZXgiLCJhcmlhLWxhYmVsbGVkYnkiLCJhcmlhLWRlc2NyaWJlZGJ5IiwiYXJpYS1tb2RhbCIsImpzeCIsImRhdGEtbmV4dGpzLWRpYWxvZy1iYW5uZXIiLCJjbGFzc05hbWUiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/Dialog.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js": -/*!*************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js ***! - \*************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogBody\", ({\n enumerable: true,\n get: function() {\n return DialogBody;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogBody = function DialogBody(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-body\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogBody.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0JvZHkuanMiLCJtYXBwaW5ncyI6Ijs7Ozs4Q0FrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxhQUF3QyxTQUFTQSxXQUFXQyxLQUdqRTtJQUhpRSxNQUNoRUMsUUFBUSxFQUNSQyxTQUFTLEVBQ1YsR0FIaUVGO0lBSWhFLE9BQ0UsV0FERixHQUNFLElBQUFHLFlBQUFDLEdBQUEsRUFBQ0MsT0FBQUE7UUFBSUMsMkJBQXVCO1FBQUNKLFdBQVdBO2tCQUNyQ0Q7O0FBR1AiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvRGlhbG9nQm9keS50c3g/NjJlYyJdLCJuYW1lcyI6WyJEaWFsb2dCb2R5IiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWJvZHkiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogBody.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js": -/*!****************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js ***! - \****************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogContent\", ({\n enumerable: true,\n get: function() {\n return DialogContent;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogContent = function DialogContent(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-content\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogContent.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQuanMiLCJtYXBwaW5ncyI6Ijs7OztpREFrQlNBOzs7ZUFBQUE7Ozs7OzZFQWxCYztBQU92QixNQUFNQSxnQkFBOEMsU0FBU0EsY0FBY0MsS0FHMUU7SUFIMEUsTUFDekVDLFFBQVEsRUFDUkMsU0FBUyxFQUNWLEdBSDBFRjtJQUl6RSxPQUNFLFdBREYsR0FDRSxJQUFBRyxZQUFBQyxHQUFBLEVBQUNDLE9BQUFBO1FBQUlDLDhCQUEwQjtRQUFDSixXQUFXQTtrQkFDeENEOztBQUdQIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0NvbnRlbnQudHN4P2FmZmYiXSwibmFtZXMiOlsiRGlhbG9nQ29udGVudCIsInBhcmFtIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJfanN4cnVudGltZSIsImpzeCIsImRpdiIsImRhdGEtbmV4dGpzLWRpYWxvZy1jb250ZW50Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogContent.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js": -/*!***************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/DialogHeader.js ***! - \***************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"DialogHeader\", ({\n enumerable: true,\n get: function() {\n return DialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst DialogHeader = function DialogHeader(param) {\n let { children, className } = param;\n return /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-header\": true,\n className: className,\n children: children\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=DialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL0RpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O2dEQWtCU0E7OztlQUFBQTs7Ozs7NkVBbEJjO0FBT3ZCLE1BQU1BLGVBQTRDLFNBQVNBLGFBQWFDLEtBR3ZFO0lBSHVFLE1BQ3RFQyxRQUFRLEVBQ1JDLFNBQVMsRUFDVixHQUh1RUY7SUFJdEUsT0FDRSxXQURGLEdBQ0UsSUFBQUcsWUFBQUMsR0FBQSxFQUFDQyxPQUFBQTtRQUFJQyw2QkFBeUI7UUFBQ0osV0FBV0E7a0JBQ3ZDRDs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL0RpYWxvZy9EaWFsb2dIZWFkZXIudHN4P2I5ZDAiXSwibmFtZXMiOlsiRGlhbG9nSGVhZGVyIiwicGFyYW0iLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsIl9qc3hydW50aW1lIiwianN4IiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWhlYWRlciJdLCJzb3VyY2VSb290IjoiIn0=\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSxRQUFNO2VBQU5BLFFBQUFBLE1BQU07O0lBQ05DLFlBQVU7ZUFBVkEsWUFBQUEsVUFBVTs7SUFDVkMsZUFBYTtlQUFiQSxlQUFBQSxhQUFhOztJQUNiQyxjQUFZO2VBQVpBLGNBQUFBLFlBQVk7O0lBQ1pDLFFBQU07ZUFBTkEsUUFBQUEsTUFBTTs7O29DQUpRO3dDQUNJOzJDQUNHOzBDQUNEO29DQUNOIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL2luZGV4LnRzPzY0YTAiXSwibmFtZXMiOlsiRGlhbG9nIiwiRGlhbG9nQm9keSIsIkRpYWxvZ0NvbnRlbnQiLCJEaWFsb2dIZWFkZXIiLCJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js": -/*!*********************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js ***! - \*********************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog] {\\n display: flex;\\n flex-direction: column;\\n width: 100%;\\n margin-right: auto;\\n margin-left: auto;\\n outline: none;\\n background: var(--color-background);\\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvRGlhbG9nL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQTBGU0E7OztlQUFBQTs7OzswQ0ExRm1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9EaWFsb2cvc3R5bGVzLnRzP2QyYjYiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Dialog/styles.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js": -/*!***************************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/LeftRightDialogHeader.js ***! - \***************************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"LeftRightDialogHeader\", ({\n enumerable: true,\n get: function() {\n return LeftRightDialogHeader;\n }\n}));\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _CloseIcon = __webpack_require__(/*! ../../icons/CloseIcon */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/icons/CloseIcon.js\");\nconst LeftRightDialogHeader = function LeftRightDialogHeader(param) {\n let { children, className, previous, next, close } = param;\n const buttonLeft = _react.useRef(null);\n const buttonRight = _react.useRef(null);\n const buttonClose = _react.useRef(null);\n const [nav, setNav] = _react.useState(null);\n const onNav = _react.useCallback((el)=>{\n setNav(el);\n }, []);\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n const d = self.document;\n function handler(e) {\n if (e.key === \"ArrowLeft\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonLeft.current) {\n buttonLeft.current.focus();\n }\n previous && previous();\n } else if (e.key === \"ArrowRight\") {\n e.preventDefault();\n e.stopPropagation();\n if (buttonRight.current) {\n buttonRight.current.focus();\n }\n next && next();\n } else if (e.key === \"Escape\") {\n e.preventDefault();\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 close == null ? void 0 : close();\n }\n }\n root.addEventListener(\"keydown\", handler);\n if (root !== d) {\n d.addEventListener(\"keydown\", handler);\n }\n return function() {\n root.removeEventListener(\"keydown\", handler);\n if (root !== d) {\n d.removeEventListener(\"keydown\", handler);\n }\n };\n }, [\n close,\n nav,\n next,\n previous\n ]);\n // Unlock focus for browsers like Firefox, that break all user focus if the\n // currently focused item becomes disabled.\n _react.useEffect(()=>{\n if (nav == null) {\n return;\n }\n const root = nav.getRootNode();\n // Always true, but we do this for TypeScript:\n if (root instanceof ShadowRoot) {\n const a = root.activeElement;\n if (previous == null) {\n if (buttonLeft.current && a === buttonLeft.current) {\n buttonLeft.current.blur();\n }\n } else if (next == null) {\n if (buttonRight.current && a === buttonRight.current) {\n buttonRight.current.blur();\n }\n }\n }\n }, [\n nav,\n next,\n previous\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-left-right\": true,\n className: className,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"nav\", {\n ref: onNav,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonLeft,\n type: \"button\",\n disabled: previous == null ? true : undefined,\n \"aria-disabled\": previous == null ? true : undefined,\n onClick: previous != null ? previous : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"previous\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L1.16663 6.99999L6.99996 12.8333M12.8333 6.99999H1.99996H12.8333Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n ref: buttonRight,\n type: \"button\",\n disabled: next == null ? true : undefined,\n \"aria-disabled\": next == null ? true : undefined,\n onClick: next != null ? next : undefined,\n children: /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"svg\", {\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"title\", {\n children: \"next\"\n }),\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"path\", {\n d: \"M6.99996 1.16666L12.8333 6.99999L6.99996 12.8333M1.16663 6.99999H12H1.16663Z\",\n stroke: \"currentColor\",\n strokeWidth: \"2\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })\n ]\n })\n }),\n children\n ]\n }),\n close ? /*#__PURE__*/ (0, _jsxruntime.jsx)(\"button\", {\n \"data-nextjs-errors-dialog-left-right-close-button\": true,\n ref: buttonClose,\n type: \"button\",\n onClick: close,\n \"aria-label\": \"Close\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(\"span\", {\n \"aria-hidden\": \"true\",\n children: /*#__PURE__*/ (0, _jsxruntime.jsx)(_CloseIcon.CloseIcon, {})\n })\n }) : null\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=LeftRightDialogHeader.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci5qcyIsIm1hcHBpbmdzIjoiOzs7O3lEQXdLU0E7OztlQUFBQTs7Ozs7NkVBeEtjO3VDQUNHO0FBVTFCLE1BQU1BLHdCQUNKLFNBQVNBLHNCQUFzQkMsS0FNOUI7SUFOOEIsTUFDN0JDLFFBQVEsRUFDUkMsU0FBUyxFQUNUQyxRQUFRLEVBQ1JDLElBQUksRUFDSkMsS0FBSyxFQUNOLEdBTjhCTDtJQU83QixNQUFNTSxhQUFhQyxPQUFNQyxNQUFNLENBQTJCO0lBQzFELE1BQU1DLGNBQWNGLE9BQU1DLE1BQU0sQ0FBMkI7SUFDM0QsTUFBTUUsY0FBY0gsT0FBTUMsTUFBTSxDQUEyQjtJQUUzRCxNQUFNLENBQUNHLEtBQUtDLE9BQU8sR0FBR0wsT0FBTU0sUUFBUSxDQUFxQjtJQUN6RCxNQUFNQyxRQUFRUCxPQUFNUSxXQUFXLENBQUMsQ0FBQ0M7UUFDL0JKLE9BQU9JO0lBQ1QsR0FBRyxFQUFFO0lBRUxULE9BQU1VLFNBQVMsQ0FBQztRQUNkLElBQUlOLE9BQU8sTUFBTTtZQUNmO1FBQ0Y7UUFFQSxNQUFNTyxPQUFPUCxJQUFJUSxXQUFXO1FBQzVCLE1BQU1DLElBQUlDLEtBQUtDLFFBQVE7UUFFdkIsU0FBU0MsUUFBUUMsQ0FBZ0I7WUFDL0IsSUFBSUEsRUFBRUMsR0FBRyxLQUFLLGFBQWE7Z0JBQ3pCRCxFQUFFRSxjQUFjO2dCQUNoQkYsRUFBRUcsZUFBZTtnQkFDakIsSUFBSXJCLFdBQVdzQixPQUFPLEVBQUU7b0JBQ3RCdEIsV0FBV3NCLE9BQU8sQ0FBQ0MsS0FBSztnQkFDMUI7Z0JBQ0ExQixZQUFZQTtZQUNkLE9BQU8sSUFBSXFCLEVBQUVDLEdBQUcsS0FBSyxjQUFjO2dCQUNqQ0QsRUFBRUUsY0FBYztnQkFDaEJGLEVBQUVH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QUVOLElBQUFmLFlBQUFLLEdBQUEsRUFBQ1csU0FBQUE7OENBQU07OzhDQUNQLElBQUFoQixZQUFBSyxHQUFBLEVBQUNZLFFBQUFBO29DQUNDbEMsR0FBRTtvQ0FDRm1DLFFBQU87b0NBQ1BDLGFBQVk7b0NBQ1pDLGVBQWM7b0NBQ2RDLGdCQUFlOzs7OztvQkFJcEJ6RDs7O1lBRUZJLFFBQ0MsV0FEREEsR0FDQyxJQUFBZ0MsWUFBQUssR0FBQSxFQUFDQyxVQUFBQTtnQkFDQ2dCLHFEQUFpRDtnQkFDakRsQixLQUFLL0I7Z0JBQ0xrQyxNQUFLO2dCQUNMSSxTQUFTM0M7Z0JBQ1R1RCxjQUFXOzBCQUVYLGtCQUFBdkIsWUFBQUssR0FBQSxFQUFDbUIsUUFBQUE7b0JBQUtDLGVBQVk7OEJBQ2hCLGtCQUFBekIsWUFBQUssR0FBQSxFQUFDcUIsV0FBQUEsU0FBUzs7aUJBR1o7OztBQUdWIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vZ3VuYnVpbGRlci1wcm90b3R5cGUvLi4vLi4vLi4vLi4vc3JjL2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL0xlZnRSaWdodERpYWxvZ0hlYWRlci50c3g/NjMxNyJdLCJuYW1lcyI6WyJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJwYXJhbSIsImNoaWxkcmVuIiwiY2xhc3NOYW1lIiwicHJldmlvdXMiLCJuZXh0IiwiY2xvc2UiLCJidXR0b25MZWZ0IiwiUmVhY3QiLCJ1c2VSZWYiLCJidXR0b25SaWdodCIsImJ1dHRvbkNsb3NlIiwibmF2Iiwic2V0TmF2IiwidXNlU3RhdGUiLCJvbk5hdiIsInVzZUNhbGxiYWNrIiwiZWwiLCJ1c2VFZmZlY3QiLCJyb290IiwiZ2V0Um9vdE5vZGUiLCJkIiwic2VsZiIsImRvY3VtZW50IiwiaGFuZGxlciIsImUiLCJrZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImN1cnJlbnQiLCJmb2N1cyIsIlNoYWRvd1Jvb3QiLCJhIiwiYWN0aXZlRWxlbWVudCIsIkhUTUxFbGVtZW50IiwiYmx1ciIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLWxlZnQtcmlnaHQiLCJyZWYiLCJqc3giLCJidXR0b24iLCJ0eXBlIiwiZGlzYWJsZWQiLCJ1bmRlZmluZWQiLCJhcmlhLWRpc2FibGVkIiwib25DbGljayIsInN2ZyIsInZpZXdCb3giLCJmaWxsIiwieG1sbnMiLCJ0aXRsZSIsInBhdGgiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImRhdGEtbmV4dGpzLWVycm9ycy1kaWFsb2ctbGVmdC1yaWdodC1jbG9zZS1idXR0b24iLCJhcmlhLWxhYmVsIiwic3BhbiIsImFyaWEtaGlkZGVuIiwiQ2xvc2VJY29uIl0sInNvdXJjZVJvb3QiOiIifQ==\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL2luZGV4LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztJQUFTQSx1QkFBcUI7ZUFBckJBLHVCQUFBQSxxQkFBcUI7O0lBQ3JCQyxRQUFNO2VBQU5BLFFBQUFBLE1BQU07OzttREFEdUI7b0NBQ2YiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvaW5kZXgudHM/OGFhZiJdLCJuYW1lcyI6WyJMZWZ0UmlnaHREaWFsb2dIZWFkZXIiLCJzdHlsZXMiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js": -/*!************************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/LeftRightDialogHeader/styles.js ***! - \************************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"styles\", ({\n enumerable: true,\n get: function() {\n return styles;\n }\n}));\nconst _tagged_template_literal_loose = __webpack_require__(/*! @swc/helpers/_/_tagged_template_literal_loose */ \"(ssr)/./node_modules/@swc/helpers/esm/_tagged_template_literal_loose.js\");\nconst _nooptemplate = __webpack_require__(/*! ../../helpers/noop-template */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/helpers/noop-template.js\");\nfunction _templateObject() {\n const data = _tagged_template_literal_loose._([\n \"\\n [data-nextjs-dialog-left-right] {\\n display: flex;\\n flex-direction: row;\\n align-content: center;\\n align-items: center;\\n justify-content: space-between;\\n }\\n [data-nextjs-dialog-left-right] > nav {\\n flex: 1;\\n display: flex;\\n align-items: center;\\n margin-right: var(--size-gap);\\n }\\n [data-nextjs-dialog-left-right] > nav > button {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n\\n width: calc(var(--size-gap-double) + var(--size-gap));\\n height: calc(var(--size-gap-double) + var(--size-gap));\\n font-size: 0;\\n border: none;\\n background-color: rgba(255, 85, 85, 0.1);\\n color: var(--color-ansi-red);\\n cursor: pointer;\\n transition: background-color 0.25s ease;\\n }\\n [data-nextjs-dialog-left-right] > nav > button > svg {\\n width: auto;\\n height: calc(var(--size-gap) + var(--size-gap-half));\\n }\\n [data-nextjs-dialog-left-right] > nav > button:hover {\\n background-color: rgba(255, 85, 85, 0.2);\\n }\\n [data-nextjs-dialog-left-right] > nav > button:disabled {\\n background-color: rgba(255, 85, 85, 0.1);\\n color: rgba(255, 85, 85, 0.4);\\n cursor: not-allowed;\\n }\\n\\n [data-nextjs-dialog-left-right] > nav > button:first-of-type {\\n border-radius: var(--size-gap-half) 0 0 var(--size-gap-half);\\n margin-right: 1px;\\n }\\n [data-nextjs-dialog-left-right] > nav > button:last-of-type {\\n border-radius: 0 var(--size-gap-half) var(--size-gap-half) 0;\\n }\\n\\n [data-nextjs-dialog-left-right] > button:last-of-type {\\n border: 0;\\n padding: 0;\\n\\n background-color: transparent;\\n appearance: none;\\n\\n opacity: 0.4;\\n transition: opacity 0.25s ease;\\n\\n color: var(--color-font);\\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvTGVmdFJpZ2h0RGlhbG9nSGVhZGVyL3N0eWxlcy5qcyIsIm1hcHBpbmdzIjoiOzs7OzBDQW9FU0E7OztlQUFBQTs7OzswQ0FwRW1COzs7Ozs7Ozs7O0FBRTVCLE1BQU1BLFNBQUFBLENBQUFBLEdBQVNDLGNBQUFBLElBQUcsRUFBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9ndW5idWlsZGVyLXByb3RvdHlwZS8uLi8uLi8uLi8uLi9zcmMvY2xpZW50L2NvbXBvbmVudHMvcmVhY3QtZGV2LW92ZXJsYXkvaW50ZXJuYWwvY29tcG9uZW50cy9MZWZ0UmlnaHREaWFsb2dIZWFkZXIvc3R5bGVzLnRzP2U5Y2QiXSwibmFtZXMiOlsic3R5bGVzIiwiY3NzIiwiX3RlbXBsYXRlT2JqZWN0Il0sInNvdXJjZVJvb3QiOiIifQ==\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("\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"Overlay\", ({\n enumerable: true,\n get: function() {\n return Overlay;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _interop_require_wildcard = __webpack_require__(/*! @swc/helpers/_/_interop_require_wildcard */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_wildcard.js\");\nconst _jsxruntime = __webpack_require__(/*! react/jsx-runtime */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react-jsx-runtime.js\");\nconst _maintaintabfocus = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! ./maintain--tab-focus */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js\"));\nconst _react = /*#__PURE__*/ _interop_require_wildcard._(__webpack_require__(/*! react */ \"(ssr)/./node_modules/next/dist/server/future/route-modules/app-page/vendored/ssr/react.js\"));\nconst _bodylocker = __webpack_require__(/*! ./body-locker */ \"(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/body-locker.js\");\nconst Overlay = function Overlay(param) {\n let { className, children, fixed } = param;\n _react.useEffect(()=>{\n (0, _bodylocker.lock)();\n return ()=>{\n (0, _bodylocker.unlock)();\n };\n }, []);\n const [overlay, setOverlay] = _react.useState(null);\n const onOverlay = _react.useCallback((el)=>{\n setOverlay(el);\n }, []);\n _react.useEffect(()=>{\n if (overlay == null) {\n return;\n }\n const handle2 = (0, _maintaintabfocus.default)({\n context: overlay\n });\n return ()=>{\n handle2.disengage();\n };\n }, [\n overlay\n ]);\n return /*#__PURE__*/ (0, _jsxruntime.jsxs)(\"div\", {\n \"data-nextjs-dialog-overlay\": true,\n className: className,\n ref: onOverlay,\n children: [\n /*#__PURE__*/ (0, _jsxruntime.jsx)(\"div\", {\n \"data-nextjs-dialog-backdrop\": true,\n \"data-nextjs-dialog-backdrop-fixed\": fixed ? true : undefined\n }),\n children\n ]\n });\n};\nif ((typeof exports.default === \"function\" || typeof exports.default === \"object\" && exports.default !== null) && typeof exports.default.__esModule === \"undefined\") {\n Object.defineProperty(exports.default, \"__esModule\", {\n value: true\n });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n} //# sourceMappingURL=Overlay.js.map\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9PdmVybGF5LmpzIiwibWFwcGluZ3MiOiI7Ozs7MkNBaURTQTs7O2VBQUFBOzs7Ozs7dUZBakRZOzZFQUNFO3dDQUNNO0FBUTdCLE1BQU1BLFVBQWtDLFNBQVNBLFFBQVFDLEtBSXhEO0lBSndELE1BQ3ZEQyxTQUFTLEVBQ1RDLFFBQVEsRUFDUkMsS0FBSyxFQUNOLEdBSndESDtJQUt2REksT0FBTUMsU0FBUyxDQUFDO1FBQ2RDLENBQUFBLEdBQUFBLFlBQUFBLElBQUk7UUFDSixPQUFPO1lBQ0xDLENBQUFBLEdBQUFBLFlBQUFBLE1BQU07UUFDUjtJQUNGLEdBQUcsRUFBRTtJQUVMLE1BQU0sQ0FBQ0MsU0FBU0MsV0FBVyxHQUFHTCxPQUFNTSxRQUFRLENBQXdCO0lBQ3BFLE1BQU1DLFlBQVlQLE9BQU1RLFdBQVcsQ0FBQyxDQUFDQztRQUNuQ0osV0FBV0k7SUFDYixHQUFHLEVBQUU7SUFFTFQsT0FBTUMsU0FBUyxDQUFDO1FBQ2QsSUFBSUcsV0FBVyxNQUFNO1lBQ25CO1FBQ0Y7UUFFQSxNQUFNTSxVQUFVQyxDQUFBQSxHQUFBQSxrQkFBQUEsT0FBUSxFQUFDO1lBQUVDLFNBQVNSO1FBQVE7UUFDNUMsT0FBTztZQUNMTSxRQUFRRyxTQUFTO1FBQ25CO0lBQ0YsR0FBRztRQUFDVDtLQUFRO0lBRVosT0FDRSxXQURGLEdBQ0UsSUFBQVUsWUFBQUMsSUFBQSxFQUFDQyxPQUFBQTtRQUFJQyw4QkFBMEI7UUFBQ3BCLFdBQVdBO1FBQVdxQixLQUFLWDs7MEJBQ3pELElBQUFPLFlBQUFLLEdBQUEsRUFBQ0gsT0FBQUE7Z0JBQ0NJLCtCQUEyQjtnQkFDM0JDLHFDQUFtQ3RCLFFBQVEsT0FBT3VCOztZQUVuRHhCOzs7QUFHUCIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvT3ZlcmxheS50c3g/MTg4MSJdLCJuYW1lcyI6WyJPdmVybGF5IiwicGFyYW0iLCJjbGFzc05hbWUiLCJjaGlsZHJlbiIsImZpeGVkIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJsb2NrIiwidW5sb2NrIiwib3ZlcmxheSIsInNldE92ZXJsYXkiLCJ1c2VTdGF0ZSIsIm9uT3ZlcmxheSIsInVzZUNhbGxiYWNrIiwiZWwiLCJoYW5kbGUyIiwiYWxseVRyYXAiLCJjb250ZXh0IiwiZGlzZW5nYWdlIiwiX2pzeHJ1bnRpbWUiLCJqc3hzIiwiZGl2IiwiZGF0YS1uZXh0anMtZGlhbG9nLW92ZXJsYXkiLCJyZWYiLCJqc3giLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AiLCJkYXRhLW5leHRqcy1kaWFsb2ctYmFja2Ryb3AtZml4ZWQiLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6IiJ9\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9ib2R5LWxvY2tlci5qcyIsIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7SUFLZ0JBLE1BQUk7ZUFBSkE7O0lBbUJBQyxRQUFNO2VBQU5BOzs7QUF4QmhCLElBQUlDO0FBQ0osSUFBSUM7QUFFSixJQUFJQyxjQUFjO0FBRVgsU0FBU0o7SUFDZEssV0FBVztRQUNULElBQUlELGdCQUFnQixHQUFHO1lBQ3JCO1FBQ0Y7UUFFQSxNQUFNRSxlQUNKQyxPQUFPQyxVQUFVLEdBQUdDLFNBQVNDLGVBQWUsQ0FBQ0MsV0FBVztRQUUxRCxJQUFJTCxlQUFlLEdBQUc7WUFDcEJKLDJCQUEyQk8sU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVk7WUFDM0RMLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDQyxZQUFZLEdBQUcsS0FBR1IsZUFBYTtRQUNyRDtRQUVBSCw4QkFBOEJNLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRO1FBQzFETixTQUFTRyxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHO0lBQ2pDO0FBQ0Y7QUFFTyxTQUFTZDtJQUNkSSxXQUFXO1FBQ1QsSUFBSUQsZ0JBQWdCLEtBQUssRUFBRUEsZ0JBQWdCLEdBQUc7WUFDNUM7UUFDRjtRQUVBLElBQUlGLDZCQUE2QmMsV0FBVztZQUMxQ1AsU0FBU0csSUFBSSxDQUFDQyxLQUFLLENBQUNDLFlBQVksR0FBR1o7WUFDbkNBLDJCQUEyQmM7UUFDN0I7UUFFQSxJQUFJYixnQ0FBZ0NhLFdBQVc7WUFDN0NQLFNBQVNHLElBQUksQ0FBQ0MsS0FBSyxDQUFDRSxRQUFRLEdBQUdaO1lBQy9CQSw4QkFBOEJhO1FBQ2hDO0lBQ0Y7QUFDRiIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvYm9keS1sb2NrZXIudHM/ODBhZSJdLCJuYW1lcyI6WyJsb2NrIiwidW5sb2NrIiwicHJldmlvdXNCb2R5UGFkZGluZ1JpZ2h0IiwicHJldmlvdXNCb2R5T3ZlcmZsb3dTZXR0aW5nIiwiYWN0aXZlTG9ja3MiLCJzZXRUaW1lb3V0Iiwic2Nyb2xsQmFyR2FwIiwid2luZG93IiwiaW5uZXJXaWR0aCIsImRvY3VtZW50IiwiZG9jdW1lbnRFbGVtZW50IiwiY2xpZW50V2lkdGgiLCJib2R5Iiwic3R5bGUiLCJwYWRkaW5nUmlnaHQiLCJvdmVyZmxvdyIsInVuZGVmaW5lZCJdLCJzb3VyY2VSb290IjoiIn0=\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKHNzcikvLi9ub2RlX21vZHVsZXMvbmV4dC9kaXN0L2NsaWVudC9jb21wb25lbnRzL3JlYWN0LWRldi1vdmVybGF5L2ludGVybmFsL2NvbXBvbmVudHMvT3ZlcmxheS9pbmRleC5qcyIsIm1hcHBpbmdzIjoiOzs7OzJDQUFTQTs7O2VBQUFBLFNBQUFBLE9BQU87OztxQ0FBUSIsInNvdXJjZXMiOlsid2VicGFjazovL2d1bmJ1aWxkZXItcHJvdG90eXBlLy4uLy4uLy4uLy4uL3NyYy9jbGllbnQvY29tcG9uZW50cy9yZWFjdC1kZXYtb3ZlcmxheS9pbnRlcm5hbC9jb21wb25lbnRzL092ZXJsYXkvaW5kZXgudHN4P2VkMDMiXSwibmFtZXMiOlsiT3ZlcmxheSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/index.js\n"); - -/***/ }), - -/***/ "(ssr)/./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js": -/*!***********************************************************************************************************************!*\ - !*** ./node_modules/next/dist/client/components/react-dev-overlay/internal/components/Overlay/maintain--tab-focus.js ***! - \***********************************************************************************************************************/ -/***/ ((module, exports, __webpack_require__) => { - -"use strict"; -eval("/* eslint-disable */ // @ts-nocheck\n// Copied from https://github.com/medialize/ally.js\n// License: MIT\n// Copyright (c) 2015 Rodney Rehm\n//\n// Entrypoint: ally.js/maintain/tab-focus\n\nObject.defineProperty(exports, \"__esModule\", ({\n value: true\n}));\nObject.defineProperty(exports, \"default\", ({\n enumerable: true,\n get: function() {\n return _default;\n }\n}));\nconst _interop_require_default = __webpack_require__(/*! @swc/helpers/_/_interop_require_default */ \"(ssr)/./node_modules/@swc/helpers/esm/_interop_require_default.js\");\nconst _platform = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/platform */ \"(ssr)/./node_modules/next/dist/compiled/platform/platform.js\"));\nconst _cssescape = /*#__PURE__*/ _interop_require_default._(__webpack_require__(/*! next/dist/compiled/css.escape */ \"(ssr)/./node_modules/next/dist/compiled/css.escape/css.escape.js\"));\n// input may be undefined, selector-tring, Node, NodeList, HTMLCollection, array of Nodes\n// yes, to some extent this is a bad replica of jQuery's constructor function\nfunction nodeArray(input) {\n if (!input) {\n return [];\n }\n if (Array.isArray(input)) {\n return input;\n }\n // instanceof Node - does not work with iframes\n if (input.nodeType !== undefined) {\n return [\n input\n ];\n }\n if (typeof input === \"string\") {\n input = document.querySelectorAll(input);\n }\n if (input.length !== undefined) {\n return [].slice.call(input, 0);\n }\n throw new TypeError(\"unexpected input \" + String(input));\n}\nfunction contextToElement(_ref) {\n var context = _ref.context, _ref$label = _ref.label, label = _ref$label === undefined ? \"context-to-element\" : _ref$label, resolveDocument = _ref.resolveDocument, defaultToDocument = _ref.defaultToDocument;\n var element = nodeArray(context)[0];\n if (resolveDocument && element && element.nodeType === Node.DOCUMENT_NODE) {\n element = element.documentElement;\n }\n if (!element && defaultToDocument) {\n return document.documentElement;\n }\n if (!element) {\n throw new TypeError(label + \" requires valid options.context\");\n }\n if (element.nodeType !== Node.ELEMENT_NODE && element.nodeType !== Node.DOCUMENT_FRAGMENT_NODE) {\n throw new TypeError(label + \" requires options.context to be an Element\");\n }\n return element;\n}\nfunction getShadowHost() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var element = contextToElement({\n label: \"get/shadow-host\",\n context: context\n });\n // walk up to the root\n var container = null;\n while(element){\n container = element;\n element = element.parentNode;\n }\n // https://developer.mozilla.org/docs/Web/API/Node.nodeType\n // NOTE: Firefox 34 does not expose ShadowRoot.host (but 37 does)\n if (container.nodeType === container.DOCUMENT_FRAGMENT_NODE && container.host) {\n // the root is attached to a fragment node that has a host\n return container.host;\n }\n return null;\n}\nfunction getDocument(node) {\n if (!node) {\n return document;\n }\n if (node.nodeType === Node.DOCUMENT_NODE) {\n return node;\n }\n return node.ownerDocument || document;\n}\nfunction isActiveElement(context) {\n var element = contextToElement({\n label: \"is/active-element\",\n resolveDocument: true,\n context: context\n });\n var _document = getDocument(element);\n if (_document.activeElement === element) {\n return true;\n }\n var shadowHost = getShadowHost({\n context: element\n });\n if (shadowHost && shadowHost.shadowRoot.activeElement === element) {\n return true;\n }\n return false;\n}\n// [elem, elem.parent, elem.parent.parent, …, html]\n// will not contain the shadowRoot (DOCUMENT_FRAGMENT_NODE) and shadowHost\nfunction getParents() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, context = _ref.context;\n var list = [];\n var element = contextToElement({\n label: \"get/parents\",\n context: context\n });\n while(element){\n list.push(element);\n // IE does know support parentElement on SVGElement\n element = element.parentNode;\n if (element && element.nodeType !== Node.ELEMENT_NODE) {\n element = null;\n }\n }\n return list;\n}\n// Element.prototype.matches may be available at a different name\n// https://developer.mozilla.org/en/docs/Web/API/Element/matches\nvar names = [\n \"matches\",\n \"webkitMatchesSelector\",\n \"mozMatchesSelector\",\n \"msMatchesSelector\"\n];\nvar name = null;\nfunction findMethodName(element) {\n names.some(function(_name) {\n if (!element[_name]) {\n return false;\n }\n name = _name;\n return true;\n });\n}\nfunction elementMatches(element, selector) {\n if (!name) {\n findMethodName(element);\n }\n return element[name](selector);\n}\n// deep clone of original platform\nvar platform = JSON.parse(JSON.stringify(_platform.default));\n// operating system\nvar os = platform.os.family || \"\";\nvar ANDROID = os === \"Android\";\nvar WINDOWS = os.slice(0, 7) === \"Windows\";\nvar OSX = os === \"OS X\";\nvar IOS = os === \"iOS\";\n// layout\nvar BLINK = platform.layout === \"Blink\";\nvar GECKO = platform.layout === \"Gecko\";\nvar TRIDENT = platform.layout === \"Trident\";\nvar EDGE = platform.layout === \"EdgeHTML\";\nvar WEBKIT = platform.layout === \"WebKit\";\n// browser version (not layout engine version!)\nvar version = parseFloat(platform.version);\nvar majorVersion = Math.floor(version);\nplatform.majorVersion = majorVersion;\nplatform.is = {\n // operating system\n ANDROID: ANDROID,\n WINDOWS: WINDOWS,\n OSX: OSX,\n IOS: IOS,\n // layout\n BLINK: BLINK,\n GECKO: GECKO,\n TRIDENT: TRIDENT,\n EDGE: EDGE,\n WEBKIT: WEBKIT,\n // INTERNET EXPLORERS\n IE9: TRIDENT && majorVersion === 9,\n IE10: TRIDENT && majorVersion === 10,\n IE11: TRIDENT && majorVersion === 11\n};\nfunction before() {\n var data = {\n // remember what had focus to restore after test\n activeElement: document.activeElement,\n // remember scroll positions to restore after test\n windowScrollTop: window.scrollTop,\n windowScrollLeft: window.scrollLeft,\n bodyScrollTop: document.body.scrollTop,\n bodyScrollLeft: document.body.scrollLeft\n };\n // wrap tests in an element hidden from screen readers to prevent them\n // from announcing focus, which can be quite irritating to the user\n var iframe = document.createElement(\"iframe\");\n iframe.setAttribute(\"style\", \"position:absolute; position:fixed; top:0; left:-2px; width:1px; height:1px; overflow:hidden;\");\n iframe.setAttribute(\"aria-live\", \"off\");\n iframe.setAttribute(\"aria-busy\", \"true\");\n iframe.setAttribute(\"aria-hidden\", \"true\");\n document.body.appendChild(iframe);\n var _window = iframe.contentWindow;\n var _document = _window.document;\n _document.open();\n _document.close();\n var wrapper = _document.createElement(\"div\");\n _document.body.appendChild(wrapper);\n data.iframe = iframe;\n data.wrapper = wrapper;\n data.window = _window;\n data.document = _document;\n return data;\n}\n// options.element:\n// {string} element name\n// {function} callback(wrapper, document) to generate an element\n// options.mutate: (optional)\n// {function} callback(element, wrapper, document) to manipulate element prior to focus-test.\n// Can return DOMElement to define focus target (default: element)\n// options.validate: (optional)\n// {function} callback(element, focusTarget, document) to manipulate test-result\nfunction test(data, options) {\n // make sure we operate on a clean slate\n data.wrapper.innerHTML = \"\";\n // create dummy element to test focusability of\n var element = typeof options.element === \"string\" ? data.document.createElement(options.element) : options.element(data.wrapper, data.document);\n // allow callback to further specify dummy element\n // and optionally define element to focus\n var focus = options.mutate && options.mutate(element, data.wrapper, data.document);\n if (!focus && focus !== false) {\n focus = element;\n }\n // element needs to be part of the DOM to be focusable\n !element.parentNode && data.wrapper.appendChild(element);\n // test if the element with invalid tabindex can be focused\n focus && focus.focus && focus.focus();\n // validate test's result\n return options.validate ? options.validate(element, focus, data.document) : data.document.activeElement === focus;\n}\nfunction after(data) {\n // restore focus to what it was before test and cleanup\n if (data.activeElement === document.body) {\n document.activeElement && document.activeElement.blur && document.activeElement.blur();\n if (platform.is.IE10) {\n // IE10 does not redirect focus to when the activeElement is removed\n document.body.focus();\n }\n } else {\n data.activeElement && data.activeElement.focus && data.activeElement.focus();\n }\n document.body.removeChild(data.iframe);\n // restore scroll position\n window.scrollTop = data.windowScrollTop;\n window.scrollLeft = data.windowScrollLeft;\n document.body.scrollTop = data.bodyScrollTop;\n document.body.scrollLeft = data.bodyScrollLeft;\n}\nfunction detectFocus(tests) {\n var data = before();\n var results = {};\n Object.keys(tests).map(function(key) {\n results[key] = test(data, tests[key]);\n });\n after(data);\n return results;\n}\n// this file is overwritten by `npm run build:pre`\nvar version$1 = \"1.4.1\";\n/*\n Facility to cache test results in localStorage.\n\n USAGE:\n cache.get('key');\n cache.set('key', 'value');\n */ function readLocalStorage(key) {\n // allow reading from storage to retrieve previous support results\n // even while the document does not have focus\n var data = void 0;\n try {\n data = window.localStorage && window.localStorage.getItem(key);\n data = data ? JSON.parse(data) : {};\n } catch (e) {\n data = {};\n }\n return data;\n}\nfunction writeLocalStorage(key, value) {\n if (!document.hasFocus()) {\n // if the document does not have focus when tests are executed, focus() may\n // not be handled properly and events may not be dispatched immediately.\n // This can happen when a document is reloaded while Developer Tools have focus.\n try {\n window.localStorage && window.localStorage.removeItem(key);\n } catch (e) {\n // ignore\n }\n return;\n }\n try {\n window.localStorage && window.localStorage.setItem(key, JSON.stringify(value));\n } catch (e) {\n // ignore\n }\n}\nvar userAgent = false || \"\";\nvar cacheKey = \"ally-supports-cache\";\nvar cache = readLocalStorage(cacheKey);\n// update the cache if ally or the user agent changed (newer version, etc)\nif (cache.userAgent !== userAgent || cache.version !== version$1) {\n cache = {};\n}\ncache.userAgent = userAgent;\ncache.version = version$1;\nvar cache$1 = {\n get: function get() {\n return cache;\n },\n set: function set(values) {\n Object.keys(values).forEach(function(key) {\n cache[key] = values[key];\n });\n cache.time = new Date().toISOString();\n writeLocalStorage(cacheKey, cache);\n }\n};\nfunction cssShadowPiercingDeepCombinator() {\n var combinator = void 0;\n // see https://dev.w3.org/csswg/css-scoping-1/#deep-combinator\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1117572\n // https://code.google.com/p/chromium/issues/detail?id=446051\n try {\n document.querySelector(\"html >>> :first-child\");\n combinator = \">>>\";\n } catch (noArrowArrowArrow) {\n try {\n // old syntax supported at least up to Chrome 41\n // https://code.google.com/p/chromium/issues/detail?id=446051\n document.querySelector(\"html /deep/ :first-child\");\n combinator = \"/deep/\";\n } catch (noDeep) {\n combinator = \"\";\n }\n }\n return combinator;\n}\nvar gif = \"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\";\n// https://developer.mozilla.org/docs/Web/HTML/Element/img#attr-usemap\nvar focusAreaImgTabindex = {\n element: \"div\",\n mutate: function mutate(element) {\n element.innerHTML = '' + '' + '\"\"';\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 querySelector() can't identify foreignObject, but getElementsByTagName() 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