dramaling-vocab-learning/frontend/.next/static/webpack/app/dashboard/page.44e738a662add18c.hot-u...

22 lines
17 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/dashboard/page",{
/***/ "(app-pages-browser)/./lib/services/auth.ts":
/*!******************************!*\
!*** ./lib/services/auth.ts ***!
\******************************/
/***/ ((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 */ authService: () => (/* binding */ authService)\n/* harmony export */ });\n// Auth service for handling authentication API calls\nconst API_BASE_URL = 'http://localhost:5000';\nclass AuthService {\n async makeRequest(endpoint) {\n let options = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n const url = \"\".concat(API_BASE_URL, \"/api/auth\").concat(endpoint);\n const response = await fetch(url, {\n headers: {\n 'Content-Type': 'application/json',\n ...options.headers\n },\n ...options\n });\n if (!response.ok) {\n const errorData = await response.json().catch(()=>({\n error: 'Network error'\n }));\n throw new Error(errorData.error || \"HTTP \".concat(response.status));\n }\n return response.json();\n }\n async login(data) {\n try {\n var _response_data;\n const response = await this.makeRequest('/login', {\n method: 'POST',\n body: JSON.stringify(data)\n });\n if (response.success && ((_response_data = response.data) === null || _response_data === void 0 ? void 0 : _response_data.token)) {\n // Store token in localStorage\n localStorage.setItem('auth_token', response.data.token);\n localStorage.setItem('user_data', JSON.stringify(response.data.user));\n }\n return response;\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Login failed'\n };\n }\n }\n async register(data) {\n try {\n var _response_data;\n const response = await this.makeRequest('/register', {\n method: 'POST',\n body: JSON.stringify(data)\n });\n if (response.success && ((_response_data = response.data) === null || _response_data === void 0 ? void 0 : _response_data.token)) {\n // Store token in localStorage\n localStorage.setItem('auth_token', response.data.token);\n localStorage.setItem('user_data', JSON.stringify(response.data.user));\n }\n return response;\n } catch (error) {\n return {\n success: false,\n error: error instanceof Error ? error.message : 'Registration failed'\n };\n }\n }\n async logout() {\n localStorage.removeItem('auth_token');\n localStorage.removeItem('user_data');\n }\n getToken() {\n if (false) {}\n return localStorage.getItem('auth_token');\n }\n getUser() {\n if (false) {}\n const userData = localStorage.getItem('user_data');\n return userData ? JSON.parse(userData) : null;\n }\n isAuthenticated() {\n return this.getToken() !== null;\n }\n async checkAuthStatus() {\n const token = this.getToken();\n if (!token) return false;\n try {\n await this.makeRequest('/status', {\n headers: {\n 'Authorization': \"Bearer \".concat(token)\n }\n });\n return true;\n } catch (e) {\n // Token is invalid, clear it\n this.logout();\n return false;\n }\n }\n}\nconst authService = new AuthService();\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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiKGFwcC1wYWdlcy1icm93c2VyKS8uL2xpYi9zZXJ2aWNlcy9hdXRoLnRzIiwibWFwcGluZ3MiOiI7Ozs7QUFBQSxxREFBcUQ7QUErQnJELE1BQU1BLGVBQWU7QUFFckIsTUFBTUM7SUFDSixNQUFjQyxZQUNaQyxRQUFnQixFQUVKO1lBRFpDLFVBQUFBLGlFQUF1QixDQUFDO1FBRXhCLE1BQU1DLE1BQU0sR0FBMkJGLE9BQXhCSCxjQUFhLGFBQW9CLE9BQVRHO1FBRXZDLE1BQU1HLFdBQVcsTUFBTUMsTUFBTUYsS0FBSztZQUNoQ0csU0FBUztnQkFDUCxnQkFBZ0I7Z0JBQ2hCLEdBQUdKLFFBQVFJLE9BQU87WUFDcEI7WUFDQSxHQUFHSixPQUFPO1FBQ1o7UUFFQSxJQUFJLENBQUNFLFNBQVNHLEVBQUUsRUFBRTtZQUNoQixNQUFNQyxZQUFZLE1BQU1KLFNBQVNLLElBQUksR0FBR0MsS0FBSyxDQUFDLElBQU87b0JBQUVDLE9BQU87Z0JBQWdCO1lBQzlFLE1BQU0sSUFBSUMsTUFBTUosVUFBVUcsS0FBSyxJQUFJLFFBQXdCLE9BQWhCUCxTQUFTUyxNQUFNO1FBQzVEO1FBRUEsT0FBT1QsU0FBU0ssSUFBSTtJQUN0QjtJQUVBLE1BQU1LLE1BQU1DLElBQWtCLEVBQXlCO1FBQ3JELElBQUk7Z0JBTXNCWDtZQUx4QixNQUFNQSxXQUFXLE1BQU0sSUFBSSxDQUFDSixXQUFXLENBQWUsVUFBVTtnQkFDOURnQixRQUFRO2dCQUNSQyxNQUFNQyxLQUFLQyxTQUFTLENBQUNKO1lBQ3ZCO1lBRUEsSUFBSVgsU0FBU2dCLE9BQU8sTUFBSWhCLGlCQUFBQSxTQUFTVyxJQUFJLGNBQWJYLHFDQUFBQSxlQUFlaUIsS0FBSyxHQUFFO2dCQUM1Qyw4QkFBOEI7Z0JBQzlCQyxhQUFhQyxPQUFPLENBQUMsY0FBY25CLFNBQVNXLElBQUksQ0FBQ00sS0FBSztnQkFDdERDLGFBQWFDLE9BQU8sQ0FBQyxhQUFhTCxLQUFLQyxTQUFTLENBQUNmLFNBQVNXLElBQUksQ0FBQ1MsSUFBSTtZQUNyRTtZQUVBLE9BQU9wQjtRQUNULEVBQUUsT0FBT08sT0FBTztZQUNkLE9BQU87Z0JBQ0xTLFNBQVM7Z0JBQ1RULE9BQU9BLGlCQUFpQkMsUUFBUUQsTUFBTWMsT0FBTyxHQUFHO1lBQ2xEO1FBQ0Y7SUFDRjtJQUVBLE1BQU1DLFNBQVNYLElBQXFCLEVBQXlCO1FBQzNELElBQUk7Z0JBTXNCWDtZQUx4QixNQUFNQSxXQUFXLE1BQU0sSUFBSSxDQUFDSixXQUFXLENBQWUsYUFBYTtnQkFDakVnQixRQUFRO2dCQUNSQyxNQUFNQyxLQUFLQyxTQUFTLENBQUNKO1lBQ3ZCO1lBRUEsSUFBSVgsU0FBU2dCLE9BQU8sTUFBSWhCLGlCQUFBQSxTQUFTVyxJQUFJLGNBQWJYLHFDQUFBQSxlQUFlaUIsS0FBSyxHQUFFO2dCQUM1Qyw4QkFBOEI7Z0JBQzlCQyxhQUFhQyxPQUFPLENBQUMsY0FBY25CLFNBQVNXLElBQUksQ0FBQ00sS0FBSztnQkFDdERDLGFBQWFDLE9BQU8sQ0FBQyxhQUFhTCxLQUFLQyxTQUFTLENBQUNmLFNBQVNXLElBQUksQ0FBQ1MsSUFBSTtZQUNyRTtZQUVBLE9BQU9wQjtRQUNULEVBQUUsT0FBT08sT0FBTztZQUNkLE9BQU87Z0JBQ0xTLFNBQVM7Z0JBQ1RULE9BQU9BLGlCQUFpQkMsUUFBUUQsTUFBTWMsT0FBTyxHQUFHO1lBQ2xEO1FBQ0Y7SUFDRjtJQUVBLE1BQU1FLFNBQXdCO1FBQzVCTCxhQUFhTSxVQUFVLENBQUM7UUFDeEJOLGFBQWFNLFVBQVUsQ0FBQztJQUMxQjtJQUVBQyxXQUEwQjtRQUN4QixJQUFJLEtBQTZCLEVBQUUsRUFBWTtRQUMvQyxPQUFPUCxhQUFhUSxPQUFPLENBQUM7SUFDOUI7SUFFQUMsVUFBdUI7UUFDckIsSUFBSSxLQUE2QixFQUFFLEVBQVk7UUFDL0MsTUFBTUMsV0FBV1YsYUFBYVEsT0FBTyxDQUFDO1FBQ3RDLE9BQU9FLFdBQVdkLEtBQUtlLEtBQUssQ0FBQ0QsWUFBWTtJQUMzQztJQUVBRSxrQkFBMkI7UUFDekIsT0FBTyxJQUFJLENBQUNMLFFBQVEsT0FBTztJQUM3QjtJQUVBLE1BQU1NLGtCQUFvQztRQUN4QyxNQUFNZCxRQUFRLElBQUksQ0FBQ1EsUUFBUTtRQUMzQixJQUFJLENBQUNSLE9BQU8sT0FBTztRQUVuQixJQUFJO1lBQ0YsTUFBTSxJQUFJLENBQUNyQixXQUFXLENBQUMsV0FBVztnQkFDaENNLFNBQVM7b0JBQ1AsaUJBQWlCLFVBQWdCLE9BQU5lO2dCQUM3QjtZQUNGO1lBQ0EsT0FBTztRQUNULEVBQUUsVUFBTTtZQUNOLDZCQUE2QjtZQUM3QixJQUFJLENBQUNNLE1BQU07WUFDWCxPQUFPO1FBQ1Q7SUFDRjtBQUNGO0FBRU8sTUFBTVMsY0FBYyxJQUFJckMsY0FBYyIsInNvdXJjZXMiOlsiL1VzZXJzL2pldHRjaGVuZzEwMTgvY29kZS9kcmFtYWxpbmctdm9jYWItbGVhcm5pbmcvZnJvbnRlbmQvbGliL3NlcnZpY2VzL2F1dGgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gQXV0aCBzZXJ2aWNlIGZvciBoYW5kbGluZyBhdXRoZW50aWNhdGlvbiBBUEkgY2FsbHNcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTG9naW5SZXF1ZXN0IHtcclxuICBlbWFpbDogc3RyaW5nO1xyXG4gIHBhc3N3b3JkOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJSZXF1ZXN0IHtcclxuICB1c2VybmFtZTogc3RyaW5nO1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgcGFzc3dvcmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBVc2VyIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHVzZXJuYW1lOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBkaXNwbGF5TmFtZTogc3RyaW5nIHwgbnVsbDtcclxuICBhdmF0YXJVcmw6IHN0cmluZyB8IG51bGw7XHJcbiAgc3Vic2NyaXB0aW9uVHlwZTogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhSZXNwb25zZSB7XHJcbiAgc3VjY2VzczogYm9vbGVhbjtcclxuICBkYXRhPzoge1xyXG4gICAgdG9rZW46IHN0cmluZztcclxuICAgIHVzZXI6IFVzZXI7XHJcbiAgfTtcclxuICBlcnJvcj86IHN0cmluZztcclxufVxyXG5cclxuY29uc3QgQVBJX0JBU0VfVVJMID0gJ2h0dHA6Ly9sb2NhbGhvc3Q6NTAwMCc7XHJcblxyXG5jbGFzcyBBdXRoU2VydmljZSB7XHJcbiAgcHJpdmF0ZSBhc3luYyBtYWtlUmVxdWVzdDxUPihcclxuICAgIGVuZHBvaW50OiBzdHJpbmcsXHJcbiAgICBvcHRpb25zOiBSZXF1ZXN0SW5pdCA9IHt9XHJcbiAgKTogUHJvbWlzZTxUPiB7XHJcbiAgICBjb25zdCB1cmwgPSBgJHtBUElfQkFTRV9VUkx9L2FwaS9hdXRoJHtlbmRwb2ludH1gO1xyXG5cclxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2godXJsLCB7XHJcbiAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAnQ29udGVudC1UeXBlJzogJ2FwcGxpY2F0aW9uL2pzb24nLFxyXG4gICAgICAgIC4uLm9wdGlvbnMuaGVhZGVycyxcclxuICAgICAgfSxcclxuICAgICAgLi4ub3B0aW9ucyxcclxuICAgIH0pO1xyXG5cclxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcclxuICAgICAgY29uc3QgZXJyb3JEYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpLmNhdGNoKCgpID0+ICh7IGVycm9yOiAnTmV0d29yayBlcnJvcicgfSkpO1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JEYXRhLmVycm9yIHx8IGBIVFRQICR7cmVzcG9uc2Uuc3RhdHVzfWApO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiByZXNwb25zZS5qc29uKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2dpbihkYXRhOiBMb2dpblJlcXVlc3QpOiBQcm9taXNlPEF1dGhSZXNwb25zZT4ge1xyXG4gICAgdHJ5IHtcclxuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLm1ha2VSZXF1ZXN0PEF1dGhSZXNwb25zZT4oJy9sb2dpbicsIHtcclxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcclxuICAgICAgICBib2R5OiBKU09OLnN0cmluZ2lmeShkYXRhKSxcclxuICAgICAgfSk7XHJcblxyXG4gICAgICBpZiAocmVzcG9uc2Uuc3VjY2VzcyAmJiByZXNwb25zZS5kYXRhPy50b2tlbikge1xyXG4gICAgICAgIC8vIFN0b3JlIHRva2VuIGluIGxvY2FsU3RvcmFnZVxyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCdhdXRoX3Rva2VuJywgcmVzcG9uc2UuZGF0YS50b2tlbik7XHJcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ3VzZXJfZGF0YScsIEpTT04uc3RyaW5naWZ5KHJlc3BvbnNlLmRhdGEudXNlcikpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gcmVzcG9uc2U7XHJcbiAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICByZXR1cm4ge1xyXG4gICAgICAgIHN1Y2Nlc3M6IGZhbHNlLFxyXG4gICAgICAgIGVycm9yOiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6ICdMb2dpbiBmYWlsZWQnLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcmVnaXN0ZXIoZGF0YTogUmVnaXN0ZXJSZXF1ZXN0KTogUHJvbWlzZTxBdXRoUmVzcG9uc2U+IHtcclxuICAgIHRyeSB7XHJcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5tYWtlUmVxdWVzdDxBdXRoUmVzcG9uc2U+KCcvcmVnaXN0ZXInLCB7XHJcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXHJcbiAgICAgICAgYm9keTogSlNPTi5zdHJpbmdpZnkoZGF0YSksXHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgaWYgKHJlc3BvbnNlLnN1Y2Nlc3MgJiYgcmVzcG9uc2UuZGF0YT8udG9rZW4pIHtcclxuICAgICAgICAvLyBTdG9yZSB0b2tlbiBpbiBsb2NhbFN0b3JhZ2VcclxuICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgnYXV0aF90b2tlbicsIHJlc3BvbnNlLmRhdGEudG9rZW4pO1xyXG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VyX2RhdGEnLCBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5kYXRhLnVzZXIpKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHJlc3BvbnNlO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBzdWNjZXNzOiBmYWxzZSxcclxuICAgICAgICBlcnJvcjogZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiAnUmVnaXN0cmF0aW9uIGZhaWxlZCcsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2dvdXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSgnYXV0aF90b2tlbicpO1xyXG4gICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oJ3VzZXJfZGF0YScpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VG9rZW4oKTogc3RyaW5nIHwgbnVsbCB7XHJcbiAgICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHJldHVybiBudWxsO1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdhdXRoX3Rva2VuJyk7XHJcbiAgfVxyXG5cclxuICBnZXRVc2VyKCk6IFVzZXIgfCBudWxsIHtcclxuICAgIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykgcmV0dXJuIG51bGw7XHJcbiAgICBjb25zdCB1c2VyRGF0YSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyX2RhdGEnKTtcclxuICAgIHJldHVybiB1c2VyRGF0YSA/IEpTT04ucGFyc2UodXNlckRhdGEpIDogbnVsbDtcclxuICB9XHJcblxyXG4gIGlzQXV0aGVudGljYXRlZCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLmdldFRva2VuKCkgIT09IG51bGw7XHJcbiAgfVxyXG5cclxuICBhc3luYyBjaGVja0F1dGhTdGF0dXMoKTogUHJvbWlzZTxib29sZWFuPiB7XHJcbiAgICBjb25zdCB0b2tlbiA9IHRoaXMuZ2V0VG9rZW4oKTtcclxuICAgIGlmICghdG9rZW4pIHJldHVybiBmYWxzZTtcclxuXHJcbiAgICB0cnkge1xyXG4gICAgICBhd2FpdCB0aGlzLm1ha2VSZXF1ZXN0KCcvc3RhdHVzJywge1xyXG4gICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICdBdXRob3JpemF0aW9uJzogYEJlYXJlciAke3Rva2VufWAsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBjYXRjaCB7XHJcbiAgICAgIC8vIFRva2VuIGlzIGludmFsaWQsIGNsZWFyIGl0XHJcbiAgICAgIHRoaXMubG9nb3V0KCk7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBhdXRoU2VydmljZSA9IG5ldyBBdXRoU2VydmljZSgpOyJdLCJuYW1lcyI6WyJBUElfQkFTRV9VUkwiLCJBdXRoU2VydmljZSIsIm1ha2VSZXF1ZXN0IiwiZW5kcG9pbnQiLCJvcHRpb25zIiwidXJsIiwicmVzcG9uc2UiLCJmZXRjaCIsImhlYWRlcnMiLCJvayIsImVycm9yRGF0YSIsImpzb24iLCJjYXRjaCIsImVycm9yIiwiRXJyb3IiLCJzdGF0dXMiLCJsb2dpbiIsImRhdGEiLCJtZXRob2QiLCJib2R5IiwiSlNPTiIsInN0cmluZ2lmeSIsInN1Y2Nlc3MiLCJ0b2tlbiIsImxvY2FsU3RvcmFnZSIsInNldEl0ZW0iLCJ1c2VyIiwibWVzc2FnZSIsInJlZ2lzdGVyIiwibG9nb3V0IiwicmVtb3ZlSXRlbSIsImdldFRva2VuIiwiZ2V0SXRlbSIsImdldFVzZXIiLCJ1c2VyRGF0YSIsInBhcnNlIiwiaXNBdXRoZW50aWNhdGVkIiwiY2hlY2tBdXRoU3RhdHVzIiwiYXV0aFNlcnZpY2UiXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///(app-pages-browser)/./lib/services/auth.ts\n"));
/***/ })
});