Files
Dramlog-Prod/.next/static/webpack/app/page.b356c24f3a6ef10f.hot-update.js
2025-12-17 23:12:53 +01:00

22 lines
27 KiB
JavaScript

"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/).
*/
self["webpackHotUpdate_N_E"]("app/page",{
/***/ "(app-pages-browser)/./src/app/page.tsx":
/*!**************************!*\
!*** ./src/app/page.tsx ***!
\**************************/
/***/ (function(module, __webpack_exports__, __webpack_require__) {
eval(__webpack_require__.ts("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": function() { return /* binding */ Home; }\n/* harmony export */ });\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/jsx-dev-runtime.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react */ \"(app-pages-browser)/./node_modules/next/dist/compiled/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _components_CameraCapture__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @/components/CameraCapture */ \"(app-pages-browser)/./src/components/CameraCapture.tsx\");\n/* harmony import */ var _components_BottleGrid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @/components/BottleGrid */ \"(app-pages-browser)/./src/components/BottleGrid.tsx\");\n/* harmony import */ var _components_AuthForm__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @/components/AuthForm */ \"(app-pages-browser)/./src/components/AuthForm.tsx\");\n/* harmony import */ var _lib_supabase__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @/lib/supabase */ \"(app-pages-browser)/./src/lib/supabase.ts\");\n/* __next_internal_client_entry_do_not_use__ default auto */ \nvar _s = $RefreshSig$();\n\n\n\n\n\nfunction Home() {\n _s();\n const [bottles, setBottles] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)([]);\n const [isLoading, setIsLoading] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(true);\n const [user, setUser] = (0,react__WEBPACK_IMPORTED_MODULE_1__.useState)(null); // Added user state\n (0,react__WEBPACK_IMPORTED_MODULE_1__.useEffect)(()=>{\n // Check session\n const checkUser = async ()=>{\n const { data: { session } } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_5__.supabase.auth.getSession();\n var _session_user;\n setUser((_session_user = session === null || session === void 0 ? void 0 : session.user) !== null && _session_user !== void 0 ? _session_user : null);\n if (session === null || session === void 0 ? void 0 : session.user) {\n fetchCollection();\n } else {\n setIsLoading(false);\n }\n };\n checkUser();\n // Listen for auth changes\n const { data: { subscription } } = _lib_supabase__WEBPACK_IMPORTED_MODULE_5__.supabase.auth.onAuthStateChange((_event, session)=>{\n var _session_user;\n setUser((_session_user = session === null || session === void 0 ? void 0 : session.user) !== null && _session_user !== void 0 ? _session_user : null);\n if (session === null || session === void 0 ? void 0 : session.user) {\n fetchCollection();\n } else {\n setBottles([]);\n }\n });\n return ()=>subscription.unsubscribe();\n }, []);\n const fetchCollection = async ()=>{\n setIsLoading(true);\n try {\n const { data, error } = await _lib_supabase__WEBPACK_IMPORTED_MODULE_5__.supabase.from(\"bottles\").select(\"*\").order(\"created_at\", {\n ascending: false\n });\n if (error) throw error;\n setBottles(data || []);\n } catch (err) {\n console.error(\"Error fetching collection:\", err);\n } finally{\n setIsLoading(false);\n }\n };\n const handleLogout = async ()=>{\n await _lib_supabase__WEBPACK_IMPORTED_MODULE_5__.supabase.auth.signOut();\n };\n if (!user) {\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex min-h-screen flex-col items-center justify-center p-6 bg-zinc-50 dark:bg-black\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"mb-12 text-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-5xl font-black text-zinc-900 dark:text-white tracking-tighter mb-4\",\n children: [\n \"WHISKY\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-600\",\n children: \"VAULT\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 67,\n columnNumber: 31\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 66,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"p\", {\n className: \"text-zinc-500 max-w-sm mx-auto\",\n children: \"Scanne deine Flaschen, tracke deine Tastings und verwalte deinen Keller.\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 69,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 65,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_AuthForm__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {}, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 71,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 64,\n columnNumber: 13\n }, this);\n }\n return /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"main\", {\n className: \"flex min-h-screen flex-col items-center gap-12 p-6 md:p-24 bg-zinc-50 dark:bg-black\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"z-10 max-w-5xl w-full flex flex-col items-center gap-8\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"header\", {\n className: \"w-full flex justify-between items-center\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h1\", {\n className: \"text-4xl font-black text-zinc-900 dark:text-white tracking-tighter\",\n children: [\n \"WHISKY\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-amber-600\",\n children: \"VAULT\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 81,\n columnNumber: 31\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 80,\n columnNumber: 21\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"button\", {\n onClick: handleLogout,\n className: \"text-sm font-medium text-zinc-500 hover:text-zinc-800 dark:hover:text-zinc-300 transition-colors\",\n children: \"Abmelden\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 83,\n columnNumber: 21\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 79,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_CameraCapture__WEBPACK_IMPORTED_MODULE_2__[\"default\"], {\n onSaveComplete: fetchCollection\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 91,\n columnNumber: 17\n }, this),\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"w-full mt-12\",\n children: [\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"h2\", {\n className: \"text-2xl font-bold mb-6 text-zinc-800 dark:text-zinc-100 flex items-center gap-3\",\n children: [\n \"Deine Sammlung\",\n /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"span\", {\n className: \"text-sm font-normal text-zinc-500 bg-zinc-100 dark:bg-zinc-800 px-3 py-1 rounded-full\",\n children: bottles.length\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 96,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 94,\n columnNumber: 21\n }, this),\n isLoading ? /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"flex justify-center py-12\",\n children: /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(\"div\", {\n className: \"animate-spin rounded-full h-8 w-8 border-b-2 border-amber-600\"\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 103,\n columnNumber: 29\n }, this)\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 102,\n columnNumber: 25\n }, this) : /*#__PURE__*/ (0,react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxDEV)(_components_BottleGrid__WEBPACK_IMPORTED_MODULE_3__[\"default\"], {\n bottles: bottles\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 106,\n columnNumber: 25\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 93,\n columnNumber: 17\n }, this)\n ]\n }, void 0, true, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 78,\n columnNumber: 13\n }, this)\n }, void 0, false, {\n fileName: \"/home/robin/AI/Coding/Whisky/src/app/page.tsx\",\n lineNumber: 77,\n columnNumber: 9\n }, this);\n}\n_s(Home, \"jCmmO1rftSgHIdr74tj8GiYQJYE=\");\n_c = Home;\nvar _c;\n$RefreshReg$(_c, \"Home\");\n\n\n;\n // Wrapped in an IIFE to avoid polluting the global scope\n ;\n (function () {\n var _a, _b;\n // Legacy CSS implementations will `eval` browser code in a Node.js context\n // to extract CSS. For backwards compatibility, we need to check we're in a\n // browser context before continuing.\n if (typeof self !== 'undefined' &&\n // AMP / No-JS mode does not inject these helpers:\n '$RefreshHelpers$' in self) {\n // @ts-ignore __webpack_module__ is global\n var currentExports = module.exports;\n // @ts-ignore __webpack_module__ is global\n var prevSignature = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevSignature) !== null && _b !== void 0 ? _b : null;\n // This cannot happen in MainTemplate because the exports mismatch between\n // templating and execution.\n self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.id);\n // A module can be accepted automatically based on its exports, e.g. when\n // it is a Refresh Boundary.\n if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n // Save the previous exports signature on update so we can compare the boundary\n // signatures. We avoid saving exports themselves since it causes memory leaks (https://github.com/vercel/next.js/pull/53797)\n module.hot.dispose(function (data) {\n data.prevSignature =\n self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports);\n });\n // Unconditionally accept an update to this module, we'll check if it's\n // still a Refresh Boundary later.\n // @ts-ignore importMeta is replaced in the loader\n module.hot.accept();\n // This field is set when the previous version of this module was a\n // Refresh Boundary, letting us know we need to check for invalidation or\n // enqueue an update.\n if (prevSignature !== null) {\n // A boundary can become ineligible if its exports are incompatible\n // with the previous exports.\n //\n // For example, if you add/remove/change exports, we'll want to\n // re-execute the importing modules, and force those components to\n // re-render. Similarly, if you convert a class component to a\n // function, we want to invalidate the boundary.\n if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevSignature, self.$RefreshHelpers$.getRefreshBoundarySignature(currentExports))) {\n module.hot.invalidate();\n }\n else {\n self.$RefreshHelpers$.scheduleUpdate();\n }\n }\n }\n else {\n // Since we just executed the code for the module, it's possible that the\n // new exports made it ineligible for being a boundary.\n // We only care about the case when we were _previously_ a boundary,\n // because we already accepted this update (accidental side effect).\n var isNoLongerABoundary = prevSignature !== null;\n if (isNoLongerABoundary) {\n module.hot.invalidate();\n }\n }\n }\n })();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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LFdBQVU7O2dDQUFtRjs4Q0FFN0YsOERBQUNHO29DQUFLSCxXQUFVOzhDQUNYMUIsUUFBUW9DLE1BQU07Ozs7Ozs7Ozs7Ozt3QkFJdEJsQywwQkFDRyw4REFBQ3lCOzRCQUFJRCxXQUFVO3NDQUNYLDRFQUFDQztnQ0FBSUQsV0FBVTs7Ozs7Ozs7OztpREFHbkIsOERBQUM5Qiw4REFBVUE7NEJBQUNJLFNBQVNBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU03QztHQXZHd0JEO0tBQUFBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vX05fRS8uL3NyYy9hcHAvcGFnZS50c3g/ZjY4YSJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCc7XG5cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQ2FtZXJhQ2FwdHVyZSBmcm9tIFwiQC9jb21wb25lbnRzL0NhbWVyYUNhcHR1cmVcIjtcbmltcG9ydCBCb3R0bGVHcmlkIGZyb20gXCJAL2NvbXBvbmVudHMvQm90dGxlR3JpZFwiO1xuaW1wb3J0IEF1dGhGb3JtIGZyb20gXCJAL2NvbXBvbmVudHMvQXV0aEZvcm1cIjtcbmltcG9ydCB7IHN1cGFiYXNlIH0gZnJvbSAnQC9saWIvc3VwYWJhc2UnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBIb21lKCkge1xuICAgIGNvbnN0IFtib3R0bGVzLCBzZXRCb3R0bGVzXSA9IHVzZVN0YXRlPGFueVtdPihbXSk7XG4gICAgY29uc3QgW2lzTG9hZGluZywgc2V0SXNMb2FkaW5nXSA9IHVzZVN0YXRlKHRydWUpO1xuICAgIGNvbnN0IFt1c2VyLCBzZXRVc2VyXSA9IHVzZVN0YXRlPGFueT4obnVsbCk7IC8vIEFkZGVkIHVzZXIgc3RhdGVcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIC8vIENoZWNrIHNlc3Npb25cbiAgICAgICAgY29uc3QgY2hlY2tVc2VyID0gYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgeyBkYXRhOiB7IHNlc3Npb24gfSB9ID0gYXdhaXQgc3VwYWJhc2UuYXV0aC5nZXRTZXNzaW9uKCk7XG4gICAgICAgICAgICBzZXRVc2VyKHNlc3Npb24/LnVzZXIgPz8gbnVsbCk7XG4gICAgICAgICAgICBpZiAoc2Vzc2lvbj8udXNlcikge1xuICAgICAgICAgICAgICAgIGZldGNoQ29sbGVjdGlvbigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNoZWNrVXNlcigpO1xuXG4gICAgICAgIC8vIExpc3RlbiBmb3IgYXV0aCBjaGFuZ2VzXG4gICAgICAgIGNvbnN0IHsgZGF0YTogeyBzdWJzY3JpcHRpb24gfSB9ID0gc3VwYWJhc2UuYXV0aC5vbkF1dGhTdGF0ZUNoYW5nZSgoX2V2ZW50LCBzZXNzaW9uKSA9PiB7XG4gICAgICAgICAgICBzZXRVc2VyKHNlc3Npb24/LnVzZXIgPz8gbnVsbCk7XG4gICAgICAgICAgICBpZiAoc2Vzc2lvbj8udXNlcikge1xuICAgICAgICAgICAgICAgIGZldGNoQ29sbGVjdGlvbigpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBzZXRCb3R0bGVzKFtdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuICgpID0+IHN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH0sIFtdKTtcblxuICAgIGNvbnN0IGZldGNoQ29sbGVjdGlvbiA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgc2V0SXNMb2FkaW5nKHRydWUpO1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgeyBkYXRhLCBlcnJvciB9ID0gYXdhaXQgc3VwYWJhc2VcbiAgICAgICAgICAgICAgICAuZnJvbSgnYm90dGxlcycpXG4gICAgICAgICAgICAgICAgLnNlbGVjdCgnKicpXG4gICAgICAgICAgICAgICAgLm9yZGVyKCdjcmVhdGVkX2F0JywgeyBhc2NlbmRpbmc6IGZhbHNlIH0pO1xuXG4gICAgICAgICAgICBpZiAoZXJyb3IpIHRocm93IGVycm9yO1xuICAgICAgICAgICAgc2V0Qm90dGxlcyhkYXRhIHx8IFtdKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBjb2xsZWN0aW9uOicsIGVycik7XG4gICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpO1xuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNvbnN0IGhhbmRsZUxvZ291dCA9IGFzeW5jICgpID0+IHtcbiAgICAgICAgYXdhaXQgc3VwYWJhc2UuYXV0aC5zaWduT3V0KCk7XG4gICAgfTtcblxuICAgIGlmICghdXNlcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPG1haW4gY2xhc3NOYW1lPVwiZmxleCBtaW4taC1zY3JlZW4gZmxleC1jb2wgaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHAtNiBiZy16aW5jLTUwIGRhcms6YmctYmxhY2tcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIm1iLTEyIHRleHQtY2VudGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxoMSBjbGFzc05hbWU9XCJ0ZXh0LTV4bCBmb250LWJsYWNrIHRleHQtemluYy05MDAgZGFyazp0ZXh0LXdoaXRlIHRyYWNraW5nLXRpZ2h0ZXIgbWItNFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgV0hJU0tZPHNwYW4gY2xhc3NOYW1lPVwidGV4dC1hbWJlci02MDBcIj5WQVVMVDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgICAgPC9oMT5cbiAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3NOYW1lPVwidGV4dC16aW5jLTUwMCBtYXgtdy1zbSBteC1hdXRvXCI+U2Nhbm5lIGRlaW5lIEZsYXNjaGVuLCB0cmFja2UgZGVpbmUgVGFzdGluZ3MgdW5kIHZlcndhbHRlIGRlaW5lbiBLZWxsZXIuPC9wPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxBdXRoRm9ybSAvPlxuICAgICAgICAgICAgPC9tYWluPlxuICAgICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICAgIDxtYWluIGNsYXNzTmFtZT1cImZsZXggbWluLWgtc2NyZWVuIGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtMTIgcC02IG1kOnAtMjQgYmctemluYy01MCBkYXJrOmJnLWJsYWNrXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInotMTAgbWF4LXctNXhsIHctZnVsbCBmbGV4IGZsZXgtY29sIGl0ZW1zLWNlbnRlciBnYXAtOFwiPlxuICAgICAgICAgICAgICAgIDxoZWFkZXIgY2xhc3NOYW1lPVwidy1mdWxsIGZsZXgganVzdGlmeS1iZXR3ZWVuIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICAgICAgICA8aDEgY2xhc3NOYW1lPVwidGV4dC00eGwgZm9udC1ibGFjayB0ZXh0LXppbmMtOTAwIGRhcms6dGV4dC13aGl0ZSB0cmFja2luZy10aWdodGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICBXSElTS1k8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LWFtYmVyLTYwMFwiPlZBVUxUPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gxPlxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVMb2dvdXR9XG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbWVkaXVtIHRleHQtemluYy01MDAgaG92ZXI6dGV4dC16aW5jLTgwMCBkYXJrOmhvdmVyOnRleHQtemluYy0zMDAgdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICBBYm1lbGRlblxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8L2hlYWRlcj5cblxuICAgICAgICAgICAgICAgIDxDYW1lcmFDYXB0dXJlIG9uU2F2ZUNvbXBsZXRlPXtmZXRjaENvbGxlY3Rpb259IC8+XG5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInctZnVsbCBtdC0xMlwiPlxuICAgICAgICAgICAgICAgICAgICA8aDIgY2xhc3NOYW1lPVwidGV4dC0yeGwgZm9udC1ib2xkIG1iLTYgdGV4dC16aW5jLTgwMCBkYXJrOnRleHQtemluYy0xMDAgZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTNcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgIERlaW5lIFNhbW1sdW5nXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0ZXh0LXNtIGZvbnQtbm9ybWFsIHRleHQtemluYy01MDAgYmctemluYy0xMDAgZGFyazpiZy16aW5jLTgwMCBweC0zIHB5LTEgcm91bmRlZC1mdWxsXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2JvdHRsZXMubGVuZ3RofVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8L2gyPlxuXG4gICAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmcgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZsZXgganVzdGlmeS1jZW50ZXIgcHktMTJcIj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFuaW1hdGUtc3BpbiByb3VuZGVkLWZ1bGwgaC04IHctOCBib3JkZXItYi0yIGJvcmRlci1hbWJlci02MDBcIj48L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICAgICAgPEJvdHRsZUdyaWQgYm90dGxlcz17Ym90dGxlc30gLz5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L21haW4+XG4gICAgKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VTdGF0ZSIsIkNhbWVyYUNhcHR1cmUiLCJCb3R0bGVHcmlkIiwiQXV0aEZvcm0iLCJzdXBhYmFzZSIsIkhvbWUiLCJib3R0bGVzIiwic2V0Qm90dGxlcyIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsInVzZXIiLCJzZXRVc2VyIiwiY2hlY2tVc2VyIiwiZGF0YSIsInNlc3Npb24iLCJhdXRoIiwiZ2V0U2Vzc2lvbiIsImZldGNoQ29sbGVjdGlvbiIsInN1YnNjcmlwdGlvbiIsIm9uQXV0aFN0YXRlQ2hhbmdlIiwiX2V2ZW50IiwidW5zdWJzY3JpYmUiLCJlcnJvciIsImZyb20iLCJzZWxlY3QiLCJvcmRlciIsImFzY2VuZGluZyIsImVyciIsImNvbnNvbGUiLCJoYW5kbGVMb2dvdXQiLCJzaWduT3V0IiwibWFpbiIsImNsYXNzTmFtZSIsImRpdiIsImgxIiwic3BhbiIsInAiLCJoZWFkZXIiLCJidXR0b24iLCJvbkNsaWNrIiwib25TYXZlQ29tcGxldGUiLCJoMiIsImxlbmd0aCJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///(app-pages-browser)/./src/app/page.tsx\n"));
/***/ })
});