%PDF- %PDF-
Direktori : /home/forge/takeaseat.eco-n-tech.co.uk/.nuxt/dist/server/ |
Current File : //home/forge/takeaseat.eco-n-tech.co.uk/.nuxt/dist/server/server.js.map |
{"version":3,"file":"server.js","sources":["webpack:///webpack/bootstrap","webpack:///external \"vue\"","webpack:///./node_modules/vue-loader/lib/runtime/componentNormalizer.js","webpack:///external \"vue-tailwind/dist/components\"","webpack:///external \"ufo\"","webpack:///external \"vee-validate\"","webpack:///./node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/vue-style-loader/lib/listToStyles.js","webpack:///./node_modules/vue-style-loader/lib/addStylesServer.js","webpack:///./.nuxt/empty.js","webpack:///external \"vuex\"","webpack:///external \"axios\"","webpack:///external \"defu\"","webpack:///external \"vue-no-ssr\"","webpack:///./components/layout/Header.vue?d7d3","webpack:///./components/layout/Header.vue","webpack:///./components/layout/Header.vue?78ae","webpack:///./components/layout/Header.vue?8ce5","webpack:///./node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/getUrl.js","webpack:///external \"vue-client-only\"","webpack:///external \"vue-router\"","webpack:///external \"moment\"","webpack:///external \"cookie\"","webpack:///external \"jwt-decode\"","webpack:///external \"requrl\"","webpack:///./assets/images/logo-white-small.svg","webpack:///./components/layout/PageHeader.vue?e499","webpack:///./components/layout/Menu/LoggedOutMenu.vue?c547","webpack:///./components/layout/Menu/LoggedInMenu.vue?967e","webpack:///./.nuxt/components/nuxt-loading.vue?18eb","webpack:///./components/layout/Footer.vue?6250","webpack:///./components/layout/Footer.vue?e397","webpack:///./components/layout/Footer.vue","webpack:///./components/layout/Footer.vue?6516","webpack:///./components/layout/Footer.vue?8190","webpack:///external \"node-fetch\"","webpack:///external \"vue-meta\"","webpack:///external \"cookie-universal\"","webpack:///external \"events\"","webpack:///external \"awesome-phonenumber\"","webpack:///external \"vee-validate/dist/locale/en.json\"","webpack:///external \"vue-tailwind\"","webpack:///external \"v-money\"","webpack:///external \"vue-password-strength-meter\"","webpack:///./components/layout/PageHeader.vue?1fe0","webpack:///./components/layout/PageHeader.vue","webpack:///./components/layout/PageHeader.vue?ce49","webpack:///./components/layout/PageHeader.vue?886b","webpack:///./assets/images/pageheader-bg.svg","webpack:///./node_modules/@nuxt/components/lib/installComponents.js","webpack:///./middleware/hero.js","webpack:///./middleware/success.js","webpack:///./middleware/therapist.js","webpack:///./components/layout/PageHeader.vue?4eb3","webpack:///./components/layout/PageHeader.vue?1c49","webpack:///./assets/images/pageheader-gray-bg.svg","webpack:///./assets/images/logo-small.svg","webpack:///./assets/images/logo.svg","webpack:///./components/layout/Menu/LoggedOutMenu.vue?1005","webpack:///./components/layout/Menu/LoggedOutMenu.vue?6cf0","webpack:///./components/layout/Menu/LoggedInMenu.vue?8b7e","webpack:///./components/layout/Menu/LoggedInMenu.vue?a96f","webpack:///./.nuxt/components/nuxt-loading.vue?20c4","webpack:///./.nuxt/components/nuxt-loading.vue?204c","webpack:///./node_modules/@nuxtjs/tailwindcss/dist/runtime/tailwind.css?f038","webpack:///./node_modules/@nuxtjs/tailwindcss/dist/runtime/tailwind.css","webpack:///./assets/css/app.css?1008","webpack:///./assets/css/app.css","webpack:///./assets/images/icons/icon-envelope.svg","webpack:///./assets/images/icons/icon-phone.svg","webpack:///./assets/images/icons/icon-search.svg","webpack:///./assets/images/icons/icon-filters.svg","webpack:///./assets/images/icons/payments/visa.svg","webpack:///./assets/images/icons/payments/mastercard.svg","webpack:///./assets/images/icons/payments/amex.svg","webpack:///./assets/css/fonts.css?d5fd","webpack:///./assets/css/fonts.css","webpack:///./assets/fonts/Poppins-100-devanagari1.woff2","webpack:///./assets/fonts/Poppins-100-latin-ext2.woff2","webpack:///./assets/fonts/Poppins-100-latin3.woff2","webpack:///./assets/fonts/Poppins-400-devanagari4.woff2","webpack:///./assets/fonts/Poppins-400-latin-ext5.woff2","webpack:///./assets/fonts/Poppins-400-latin6.woff2","webpack:///./assets/fonts/Poppins-500-devanagari7.woff2","webpack:///./assets/fonts/Poppins-500-latin-ext8.woff2","webpack:///./assets/fonts/Poppins-500-latin9.woff2","webpack:///./assets/fonts/Poppins-600-devanagari10.woff2","webpack:///./assets/fonts/Poppins-600-latin-ext11.woff2","webpack:///./assets/fonts/Poppins-600-latin12.woff2","webpack:///./assets/fonts/Poppins-700-devanagari13.woff2","webpack:///./assets/fonts/Poppins-700-latin-ext14.woff2","webpack:///./assets/fonts/Poppins-700-latin15.woff2","webpack:///./assets/fonts/Raleway-500-cyrillic-ext16.woff2","webpack:///./assets/fonts/Raleway-500-cyrillic17.woff2","webpack:///./assets/fonts/Raleway-500-vietnamese18.woff2","webpack:///./assets/fonts/Raleway-500-latin-ext19.woff2","webpack:///./assets/fonts/Raleway-500-latin20.woff2","webpack:///./assets/fonts/Raleway-600-cyrillic-ext21.woff2","webpack:///./assets/fonts/Raleway-600-cyrillic22.woff2","webpack:///./assets/fonts/Raleway-600-vietnamese23.woff2","webpack:///./assets/fonts/Raleway-600-latin-ext24.woff2","webpack:///./assets/fonts/Raleway-600-latin25.woff2","webpack:///./assets/fonts/Raleway-700-cyrillic-ext26.woff2","webpack:///./assets/fonts/Raleway-700-cyrillic27.woff2","webpack:///./assets/fonts/Raleway-700-vietnamese28.woff2","webpack:///./assets/fonts/Raleway-700-latin-ext29.woff2","webpack:///./assets/fonts/Raleway-700-latin30.woff2","webpack:///./assets/images/logo-white-text.svg","webpack:///./assets/images/icons/icon-facebook.svg","webpack:///./assets/images/icons/icon-instagram.svg","webpack:///./assets/images/icons/icon-twitter.svg","webpack:///./components/layout/Footer.vue?5904","webpack:///./components/layout/Footer.vue?1fc4","webpack:///./store/blog.js","webpack:///./store/booking.js","webpack:///./store/languages.js","webpack:///./store/location.js","webpack:///./store/session_types.js","webpack:///./store/specialisms.js","webpack:///./store/tags.js","webpack:///./store/therapists.js","webpack:///./store/account/billing.js","webpack:///./store/account/calendar.js","webpack:///./store/account/progress.js","webpack:///./store/account/subscription.js","webpack:///./store/booking/payment.js","webpack:///./store/booking/reschedule.js","webpack:///./store/booking/success.js","webpack:///./store/booking/summary.js","webpack:///./store/hero/bookings.js","webpack:///./store/therapist/bookings.js","webpack:///./store/therapist/clients.js","webpack:///./store/therapist/dashboard.js","webpack:///./store/therapist/invitations.js","webpack:///./store/therapist/messages.js","webpack:///./store/therapist/money.js","webpack:///./.nuxt/middleware.js","webpack:///./.nuxt/utils.js","webpack:///./.nuxt/mixins/fetch.server.js","webpack:///./.nuxt/router.scrollBehavior.js","webpack:///./.nuxt/router.js","webpack:///./.nuxt/components/nuxt-child.js","webpack:///./layouts/error.vue?f144","webpack:///./layouts/error.vue","webpack:///./layouts/error.vue?40d9","webpack:///./layouts/error.vue?4aaa","webpack:///./.nuxt/components/nuxt.js","webpack:///./.nuxt/components/nuxt-loading.vue","webpack:///./.nuxt/components/nuxt-loading.vue?12ad","webpack:///./.nuxt/components/nuxt-loading.vue?f2ce","webpack:///./layouts/default.vue?24f7","webpack:///./layouts/default.vue","webpack:///./layouts/default.vue?dbd1","webpack:///./layouts/default.vue?7e9a","webpack:///./.nuxt/App.js","webpack:///./.nuxt/store.js","webpack:///./.nuxt/components/utils.js","webpack:///./.nuxt/components/plugin.js","webpack:///./.nuxt/cookie-universal-nuxt.js","webpack:///./.nuxt/recaptcha.js","webpack:///./.nuxt/gtm.utils.js","webpack:///./.nuxt/gtm.js","webpack:///./.nuxt/moment.js","webpack:///./.nuxt/axios.js","webpack:///./node_modules/vee-validate/dist/rules.js","webpack:///./plugins/vee-validate.js","webpack:///./plugins/vue-tailwind.js","webpack:///./plugins/vue-money.js","webpack:///./plugins/password-strength-indicator.js","webpack:///./plugins/facebook-events.js","webpack:///./node_modules/@nuxtjs/auth-next/dist/runtime.mjs","webpack:///./.nuxt/auth.js","webpack:///./.nuxt/index.js","webpack:///./.nuxt/components/nuxt-link.server.js","webpack:///./.nuxt/server.js","webpack:///./components/CookieBanner.vue?84d2","webpack:///./components/CookieBanner.vue","webpack:///./components/CookieBanner.vue?1cd7","webpack:///./components/CookieBanner.vue?51ef","webpack:///./components/layout/Menu/LoggedOutMenu.vue?f2be","webpack:///./components/layout/Menu/LoggedOutMenu.vue","webpack:///./components/layout/Menu/LoggedOutMenu.vue?9106","webpack:///./components/layout/Menu/LoggedOutMenu.vue?d110","webpack:///./components/layout/Menu/LoggedInMenu.vue?b28c","webpack:///./components/layout/Menu/LoggedInMenu.vue","webpack:///./components/layout/Menu/LoggedInMenu.vue?7e76","webpack:///./components/layout/Menu/LoggedInMenu.vue?e3b7","webpack:///external \"url\""],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded chunks\n \t// \"0\" means \"already loaded\"\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// require() chunk loading for javascript\n\n \t\t// \"0\" is the signal for \"already loaded\"\n \t\tif(installedChunks[chunkId] !== 0) {\n \t\t\tvar chunk = require(\"./\" + ({\"1\":\"components/account-business\",\"2\":\"components/account-locations\",\"3\":\"components/account-nav\",\"4\":\"components/account-payouts\",\"5\":\"components/account-personal\",\"6\":\"components/account-progress-bar\",\"7\":\"components/account-security\",\"8\":\"components/account-social\",\"9\":\"components/account-subscription\",\"10\":\"components/block\",\"11\":\"components/booking\",\"12\":\"components/client\",\"13\":\"components/insurance\",\"14\":\"components/invitation\",\"15\":\"components/login-form\",\"16\":\"components/memberships\",\"17\":\"components/message\",\"18\":\"components/modal\",\"19\":\"components/money-manager-nav\",\"20\":\"components/new-card-modal\",\"21\":\"components/next-availability\",\"22\":\"components/payment\",\"23\":\"components/payment-step\",\"24\":\"components/personalisation\",\"25\":\"components/post\",\"26\":\"components/profile-rates\",\"27\":\"components/profile-session-types\",\"28\":\"components/qualifications\",\"29\":\"components/question-section-one\",\"30\":\"components/question-section-two\",\"31\":\"components/register-step\",\"32\":\"components/saved-cards\",\"33\":\"components/search-form\",\"34\":\"components/subscription-card-modal\",\"35\":\"components/summary-step\",\"36\":\"components/therapist\",\"37\":\"components/therapist-filters\",\"38\":\"components/therapist-price\",\"39\":\"components/widget\",\"40\":\"pages/about\",\"41\":\"pages/account/availability\",\"42\":\"pages/account/financial\",\"43\":\"pages/account/index\",\"44\":\"pages/account/settings\",\"45\":\"pages/account/verification\",\"46\":\"pages/blog/_slug\",\"47\":\"pages/blog/index\",\"48\":\"pages/booking/_slug\",\"49\":\"pages/booking/_therapist_slug/create/_id\",\"50\":\"pages/booking/_therapist_slug/reschedule/_id\",\"51\":\"pages/booking/_therapist_slug/reschedule/success\",\"52\":\"pages/booking/success\",\"53\":\"pages/bookings\",\"54\":\"pages/community\",\"55\":\"pages/contact-us\",\"56\":\"pages/forgot-password\",\"57\":\"pages/help\",\"58\":\"pages/index\",\"59\":\"pages/partnerships\",\"60\":\"pages/privacy-policy\",\"61\":\"pages/register/index\",\"62\":\"pages/register/invitation/_reference\",\"63\":\"pages/register/therapist\",\"64\":\"pages/reset-password\",\"65\":\"pages/terms-conditions\",\"66\":\"pages/therapist/bookings\",\"67\":\"pages/therapist/clients/_id\",\"68\":\"pages/therapist/clients/index\",\"69\":\"pages/therapist/index\",\"70\":\"pages/therapist/messages\",\"71\":\"pages/therapist/money/index\",\"72\":\"pages/therapist/money/statements\",\"73\":\"pages/therapists/_slug\",\"74\":\"pages/therapists/index\",\"75\":\"pages/therapists/location/_slug\",\"76\":\"pages/therapists/specialism/_slug\",\"77\":\"pages/therapists/tag/_slug\"}[chunkId]||chunkId) + \".js\");\n \t\t\tvar moreModules = chunk.modules, chunkIds = chunk.ids;\n \t\t\tfor(var moduleId in moreModules) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t\tfor(var i = 0; i < chunkIds.length; i++)\n \t\t\t\tinstalledChunks[chunkIds[i]] = 0;\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/_nuxt/\";\n\n \t// uncaught error handler for webpack runtime\n \t__webpack_require__.oe = function(err) {\n \t\tprocess.nextTick(function() {\n \t\t\tthrow err; // catch this error by using import().catch()\n \t\t});\n \t};\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 38);\n","module.exports = require(\"vue\");","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent (\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier, /* server only */\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options = typeof scriptExports === 'function'\n ? scriptExports.options\n : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) { // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection (h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing\n ? [].concat(existing, hook)\n : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","module.exports = require(\"vue-tailwind/dist/components\");","module.exports = require(\"ufo\");","module.exports = require(\"vee-validate\");","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","/**\n * Translates the list format produced by css-loader into something\n * easier to manipulate.\n */\nexport default function listToStyles (parentId, list) {\n var styles = []\n var newStyles = {}\n for (var i = 0; i < list.length; i++) {\n var item = list[i]\n var id = item[0]\n var css = item[1]\n var media = item[2]\n var sourceMap = item[3]\n var part = {\n id: parentId + ':' + i,\n css: css,\n media: media,\n sourceMap: sourceMap\n }\n if (!newStyles[id]) {\n styles.push(newStyles[id] = { id: id, parts: [part] })\n } else {\n newStyles[id].parts.push(part)\n }\n }\n return styles\n}\n","import listToStyles from './listToStyles'\n\nexport default function addStylesServer (parentId, list, isProduction, context) {\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n if (context) {\n if (!context.hasOwnProperty('styles')) {\n Object.defineProperty(context, 'styles', {\n enumerable: true,\n get: function() {\n return renderStyles(context._styles)\n }\n })\n // expose renderStyles for vue-server-renderer (vuejs/#6353)\n context._renderStyles = renderStyles\n }\n\n var styles = context._styles || (context._styles = {})\n list = listToStyles(parentId, list)\n if (isProduction) {\n addStyleProd(styles, list)\n } else {\n addStyleDev(styles, list)\n }\n }\n}\n\n// In production, render as few style tags as possible.\n// (mostly because IE9 has a limit on number of style tags)\nfunction addStyleProd (styles, list) {\n for (var i = 0; i < list.length; i++) {\n var parts = list[i].parts\n for (var j = 0; j < parts.length; j++) {\n var part = parts[j]\n // group style tags by media types.\n var id = part.media || 'default'\n var style = styles[id]\n if (style) {\n if (style.ids.indexOf(part.id) < 0) {\n style.ids.push(part.id)\n style.css += '\\n' + part.css\n }\n } else {\n styles[id] = {\n ids: [part.id],\n css: part.css,\n media: part.media\n }\n }\n }\n }\n}\n\n// In dev we use individual style tag for each module for hot-reload\n// and source maps.\nfunction addStyleDev (styles, list) {\n for (var i = 0; i < list.length; i++) {\n var parts = list[i].parts\n for (var j = 0; j < parts.length; j++) {\n var part = parts[j]\n styles[part.id] = {\n ids: [part.id],\n css: part.css,\n media: part.media\n }\n }\n }\n}\n\nfunction renderStyles (styles) {\n var css = ''\n for (var key in styles) {\n var style = styles[key]\n css += '<style data-vue-ssr-id=\"' + style.ids.join(' ') + '\"' +\n (style.media ? ( ' media=\"' + style.media + '\"' ) : '') + '>' +\n style.css + '</style>'\n }\n return css\n}\n","// This file is intentionally left empty for noop aliases\n","module.exports = require(\"vuex\");","module.exports = require(\"axios\");","module.exports = require(\"defu\");","module.exports = require(\"vue-no-ssr\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"fixed left-0 top-0 z-40 w-full\"},[_c('client-only',[_c('CookieBanner')],1),_vm._ssrNode(\" \"),_vm._ssrNode(\"<header class=\\\"w-full grid grid-cols-2 lg:grid-cols-8 py-4 px-4 md:px-8 bg-white shadow\\\">\",\"</header>\",[_vm._ssrNode(\"<div class=\\\"lg:col-span-2 flex items-center\\\">\",\"</div>\",[_c('NuxtLink',{attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"h-8 max-w-full block sm:hidden\",attrs:{\"src\":require(\"assets/images/logo-small.svg\"),\"alt\":\"Take a seat\"}}),_vm._v(\" \"),_c('img',{staticClass:\"h-8 max-w-full hidden sm:block\",attrs:{\"src\":require(\"assets/images/logo.svg\"),\"alt\":\"Take a seat\"}})])],1),_vm._ssrNode(\" \"),(_vm.isLoggedIn == false)?_vm._ssrNode(\"<div class=\\\"lg:col-span-6 flex justify-end lg:grid lg:grid-cols-3\\\">\",\"</div>\",[_vm._ssrNode(\"<div class=\\\"order-2 lg:order-1 lg:col-span-2 flex items-center justify-center\\\">\",\"</div>\",[_c('LoggedOutMenu')],1),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"order-1 lg:order-2 flex items-center justify-end\\\">\",\"</div>\",[_c('NuxtLink',{staticClass:\"account-button relative z-30 whitespace-nowrap\",attrs:{\"to\":\"/register/therapist\"}},[_vm._v(\"Join us\")]),_vm._ssrNode(\" \"),_c('LazyLoginForm')],2)],2):_vm._ssrNode(\"<div\"+(_vm._ssrClass(\"flex justify-end items-center\",_vm.isLoggedIn == false ? 'lg:col-span-2' : 'lg:col-span-6'))+\">\",\"</div>\",[(_vm.isLoggedIn == true)?_c('LoggedInMenu'):_vm._e(),_vm._ssrNode(\" \"),_c('NuxtLink',{staticClass:\"relative order-2 bg-gray p-2 ml-2 lg:mr-3 rounded-full flex items-center justify-center\",attrs:{\"to\":\"/therapist/messages\"}},[_c('div',{staticClass:\"absolute -top-1 -right-1 w-4 h-4 rounded-full bg-blue-light text-white text-xs flex items-center justify-center\"},[_vm._v(_vm._s(_vm.messageCount))]),_vm._v(\" \"),_c('svg',{staticClass:\"h-5 w-5\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M3 19v-8.93a2 2 0 01.89-1.664l7-4.666a2 2 0 012.22 0l7 4.666A2 2 0 0121 10.07V19M3 19a2 2 0 002 2h14a2 2 0 002-2M3 19l6.75-4.5M21 19l-6.75-4.5M3 10l6.75 4.5M21 10l-6.75 4.5m0 0l-1.14.76a2 2 0 01-2.22 0l-1.14-.76\"}})])]),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"relative order-1 lg:order-3\\\">\",\"</div>\",[_c('NuxtLink',{staticClass:\"flex items-center justify-center bg-gray pr-3 pl-3 sm:pl-4 py-2 rounded-xl text-black text-sm font-medium uppercase focus:outline-none hover:bg-gray transition\",attrs:{\"to\":_vm.role == 'therapist' ? '/account' : '/account/financial'}},[_c('span',[_vm._v(\"Account\")]),_vm._v(\" \"),_c('svg',{staticClass:\"w-4 h-4 ml-1\",attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"fill\":\"none\",\"viewBox\":\"0 0 24 24\",\"stroke\":\"currentColor\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\",\"d\":\"M19 9l-7 7-7-7\"}})])]),_vm._ssrNode(\" \"),(_vm.isDropdownOpen)?_vm._ssrNode(\"<div class=\\\"absolute top-full right-0 w-full bg-gray shadow rounded-lg overflow-hidden\\\">\",\"</div>\",[(_vm.role == 'therapist')?[_c('NuxtLink',{staticClass:\"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white\",attrs:{\"to\":\"/account\"}},[_vm._v(\"Profile\")]),_vm._ssrNode(\" \"),_c('NuxtLink',{staticClass:\"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white\",attrs:{\"to\":\"/account/availability\"}},[_vm._v(\"Availability\")])]:_vm._e(),_vm._ssrNode(\" \"),_c('NuxtLink',{staticClass:\"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white\",attrs:{\"to\":\"/account/financial\"}},[_vm._v(\"Financial\")]),_vm._ssrNode(\" \"),_c('NuxtLink',{staticClass:\"block w-full px-3 py-2 text-sm leading-5 transition hover:bg-white\",attrs:{\"to\":\"/account/settings\"}},[_vm._v(\"Settings\")]),_vm._ssrNode(\" <button class=\\\"block w-full border-t border-white text-left px-3 py-2 text-sm leading-5 transition hover:bg-white\\\">Logout</button>\")],2):_vm._e()],2)],2)],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data() {\n return {\n isDropdownOpen: false\n }\n },\n\n computed: {\n isLoggedIn() {\n return this.$auth.loggedIn;\n },\n user() {\n return this.$auth.user;\n },\n messages() {\n return this.$store.state.therapist.messages.list\n },\n role() {\n if(this.$auth.loggedIn == true) {\n return this.$auth.user.data.role.name;\n }\n\n return 'all';\n },\n messageCount() {\n return this.messages.filter(function (item) {\n return item.read == false;\n }).length\n }\n },\n\n async mounted() {\n if(this.isLoggedIn == true) {\n await this.$store.dispatch('therapist/messages/get', {\n user_id: this.user.data.id\n })\n }\n },\n\n methods: {\n async logout() {\n await this.$auth.logout();\n }\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Header.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Header.vue?vue&type=template&id=5f2e88cb&\"\nimport script from \"./Header.vue?vue&type=script&lang=js&\"\nexport * from \"./Header.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"54571d9a\"\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {CookieBanner: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/CookieBanner.vue').default,LoggedOutMenu: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Menu/LoggedOutMenu.vue').default,LoggedInMenu: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Menu/LoggedInMenu.vue').default,Header: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Header.vue').default})\n","\"use strict\";\n\nmodule.exports = function (url, options) {\n if (!options) {\n // eslint-disable-next-line no-param-reassign\n options = {};\n } // eslint-disable-next-line no-underscore-dangle, no-param-reassign\n\n\n url = url && url.__esModule ? url.default : url;\n\n if (typeof url !== \"string\") {\n return url;\n } // If url is already wrapped in quotes, remove them\n\n\n if (/^['\"].*['\"]$/.test(url)) {\n // eslint-disable-next-line no-param-reassign\n url = url.slice(1, -1);\n }\n\n if (options.hash) {\n // eslint-disable-next-line no-param-reassign\n url += options.hash;\n } // Should url be wrapped?\n // See https://drafts.csswg.org/css-values-3/#urls\n\n\n if (/[\"'() \\t\\n]/.test(url) || options.needQuotes) {\n return \"\\\"\".concat(url.replace(/\"/g, '\\\\\"').replace(/\\n/g, \"\\\\n\"), \"\\\"\");\n }\n\n return url;\n};","module.exports = require(\"vue-client-only\");","module.exports = require(\"vue-router\");","module.exports = require(\"moment\");","module.exports = require(\"cookie\");","module.exports = require(\"jwt-decode\");","module.exports = require(\"requrl\");","module.exports = __webpack_public_path__ + \"img/logo-white-small.e9a735b.svg\";","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=style&index=0&id=75568a56&lang=postcss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add CSS to SSR context\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesServer.js\").default\nmodule.exports.__inject__ = function (context) {\n add(\"9ce44fc0\", content, true, context)\n};","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedOutMenu.vue?vue&type=style&index=0&id=30beed07&lang=postcss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add CSS to SSR context\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesServer.js\").default\nmodule.exports.__inject__ = function (context) {\n add(\"6975d5f2\", content, true, context)\n};","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedInMenu.vue?vue&type=style&index=0&id=57ee62f1&lang=postcss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add CSS to SSR context\nvar add = require(\"!../../../node_modules/vue-style-loader/lib/addStylesServer.js\").default\nmodule.exports.__inject__ = function (context) {\n add(\"4ae288dd\", content, true, context)\n};","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--3-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=style&index=0&lang=css&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add CSS to SSR context\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesServer.js\").default\nmodule.exports.__inject__ = function (context) {\n add(\"53f61d5f\", content, true, context)\n};","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=13c9b172&lang=postcss&scoped=true&\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add CSS to SSR context\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesServer.js\").default\nmodule.exports.__inject__ = function (context) {\n add(\"2da35b05\", content, true, context)\n};","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('footer',{staticClass:\"bg-black py-6 px-3 md:px-8 md:py-8 mt-8\"},[_vm._ssrNode(\"<div class=\\\"grid grid-cols-1 sm:grid-cols-2 mb-10\\\" data-v-13c9b172>\",\"</div>\",[_vm._ssrNode(\"<div class=\\\"mb-6 flex items-center justify-center sm:mb-0 sm:block\\\" data-v-13c9b172>\",\"</div>\",[_c('NuxtLink',{attrs:{\"to\":\"/\"}},[_c('img',{staticClass:\"h-8 max-w-full\",attrs:{\"src\":require(\"assets/images/logo-white-text.svg\"),\"alt\":\"Take a seat\"}})])],1),_vm._ssrNode(\" <div class=\\\"flex items-center justify-center sm:justify-end\\\" data-v-13c9b172><a href=\\\"https://www.facebook.com/takeaseat.co.uk/\\\" target=\\\"_blank\\\" class=\\\"mx-3 sm:ml-5 sm:mr-0\\\" data-v-13c9b172><img\"+(_vm._ssrAttr(\"src\",require(\"assets/images/icons/icon-facebook.svg\")))+\" alt=\\\"Facebook\\\" data-v-13c9b172></a> <a href=\\\"https://www.instagram.com/takeaseat_therapy/\\\" target=\\\"_blank\\\" class=\\\"mx-3 sm:ml-5 sm:mr-0\\\" data-v-13c9b172><img\"+(_vm._ssrAttr(\"src\",require(\"assets/images/icons/icon-instagram.svg\")))+\" alt=\\\"Instagram\\\" data-v-13c9b172></a> <a href=\\\"https://twitter.com/TakeASeat__\\\" target=\\\"_blank\\\" class=\\\"mx-3 sm:ml-5 sm:mr-0\\\" data-v-13c9b172><img\"+(_vm._ssrAttr(\"src\",require(\"assets/images/icons/icon-twitter.svg\")))+\" alt=\\\"Twitter\\\" data-v-13c9b172></a></div>\")],2),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"grid lg:grid-cols-5 gap-4\\\" data-v-13c9b172>\",\"</div>\",[_vm._ssrNode(\"<div class=\\\"lg:col-span-2 flex items-center justify-center lg:block\\\" data-v-13c9b172><p class=\\\"text-white text-xs\\\" data-v-13c9b172>Copyright © 2021 by Take A Seat</p></div> \"),_vm._ssrNode(\"<div class=\\\"lg:col-span-3 flex flex-col sm:flex-row items-center justify-center lg:justify-end\\\" data-v-13c9b172>\",\"</div>\",[_vm._ssrNode(\"<a href=\\\"mailto:support@takeaseat.co.uk\\\" class=\\\"footer-link py-2 md:py-0\\\" data-v-13c9b172>Email support@takeaseat.co.uk</a> \"),_vm._l((_vm.links),function(link,key){return _c('NuxtLink',{key:key,staticClass:\"footer-link py-2 md:py-0 md:ml-4\",attrs:{\"to\":link.url}},[_vm._v(_vm._s(link.name))])})],2)],2)],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data() {\n return {\n links: [\n {\n name: 'Privacy',\n url: '/privacy-policy'\n },\n {\n name: 'Terms & Conditions',\n url: '/terms-conditions'\n },\n {\n name: 'Contact Us',\n url: '/contact-us'\n }\n ]\n }\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Footer.vue?vue&type=template&id=13c9b172&scoped=true&\"\nimport script from \"./Footer.vue?vue&type=script&lang=js&\"\nexport * from \"./Footer.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./Footer.vue?vue&type=style&index=0&id=13c9b172&lang=postcss&scoped=true&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n \"13c9b172\",\n \"3324b9a8\"\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Footer: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Footer.vue').default})\n","module.exports = require(\"node-fetch\");","module.exports = require(\"vue-meta\");","module.exports = require(\"cookie-universal\");","module.exports = require(\"events\");","module.exports = require(\"awesome-phonenumber\");","module.exports = require(\"vee-validate/dist/locale/en.json\");","module.exports = require(\"vue-tailwind\");","module.exports = require(\"v-money\");","module.exports = require(\"vue-password-strength-meter\");","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"page-header relative mb-8 py-10 px-6 flex flex-col items-center justify-center text-center\",class:_vm.classObject},[_vm._t(\"default\"),_vm._ssrNode(\" <div class=\\\"page-header-bg\\\" data-v-75568a56></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: {\n classObject: {\n type: String,\n default: 'bg-yellow'\n }\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./PageHeader.vue?vue&type=template&id=75568a56&scoped=true&\"\nimport script from \"./PageHeader.vue?vue&type=script&lang=js&\"\nexport * from \"./PageHeader.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./PageHeader.vue?vue&type=style&index=0&id=75568a56&lang=postcss&scoped=true&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n \"75568a56\",\n \"956799ee\"\n \n)\n\nexport default component.exports","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iQ29tcG9uZW50XzM4XzEiIGRhdGEtbmFtZT0iQ29tcG9uZW50IDM4IOKAkyAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMjY2IiBoZWlnaHQ9IjEwMCIgdmlld0JveD0iMCAwIDEyNjYgMTAwIj4KICA8ZyBpZD0iR3JvdXBfMTQ3NCIgZGF0YS1uYW1lPSJHcm91cCAxNDc0IiBvcGFjaXR5PSIwLjE1Ij4KICAgIDxwYXRoIGlkPSJQYXRoXzI4NCIgZGF0YS1uYW1lPSJQYXRoIDI4NCIgZD0iTTE3MjIuODI2LDU5OS40ODVjLTExNy42ODQtOC40NjctMjM2LjMwNy4zMjYtMzI5LjA4NywzMy4xMzNTMTA4Ny4zNzEsNjgwLjE5LDkwMi41NzgsNjEzLjZzLTQ0NS4zLDQxLjMxMS00NDUuMyw0MS4zMTF2MzYuOTc4czEyNjUuMjU1LTEuMDM4LDEyNjUuODA3LDBTMTcyMi44MjYsNTk5LjQ4NSwxNzIyLjgyNiw1OTkuNDg1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQ1Ny4yNzcgLTU5MS44OTMpIiBmaWxsPSIjZmZmIi8+CiAgPC9nPgogIDxwYXRoIGlkPSJQYXRoXzMyMyIgZGF0YS1uYW1lPSJQYXRoIDMyMyIgZD0iTTQzMy4xODgsNjA2LjAxOWMxMTAuMDIxLTExLjQxLDIzNi44NjMtMy41NjYsMzIzLjYsNDAuNjQzczI4Ni40MTcsNjQuMSw0NTkuMTc3LTI1LjYzMiw0ODMuMjIyLDU2LjksNDgzLjIyMiw1Ni45djE0LjAzMXMtMTI2Ni4yMy0uMDE4LTEyNjYsMFM0MzMuMTg4LDYwNi4wMTksNDMzLjE4OCw2MDYuMDE5WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTQzMy4xODggLTU5MS45NTcpIiBmaWxsPSIjZmZmIiBvcGFjaXR5PSIwLjE1Ii8+Cjwvc3ZnPgo=\"","global.installComponents = function (component, components) {\n var options = typeof component.exports === 'function'\n ? component.exports.extendOptions\n : component.options\n\n if (typeof component.exports === 'function') {\n options.components = component.exports.options.components\n }\n\n options.components = options.components || {}\n\n for (var i in components) {\n options.components[i] = options.components[i] || components[i]\n }\n\n\n if (options.functional) {\n provideFunctionalComponents(component, options.components)\n }\n}\n\nvar functionalPatchKey = '_functionalComponents'\n\nfunction provideFunctionalComponents(component, components) {\n if (component.exports[functionalPatchKey]) {\n return\n }\n component.exports[functionalPatchKey] = true\n\n var render = component.exports.render\n component.exports.render = function (h, vm) {\n return render(h, Object.assign({}, vm, {\n _c: function (n, a, b) {\n return vm._c(components[n] || n, a, b)\n }\n }))\n }\n}\n","export default function ({ store, redirect }) {\n if(store.state.auth.loggedIn == true) {\n if(store.state.auth.user.data.role !== null && store.state.auth.user.data.role.name !== 'hero') {\n return redirect('/')\n }\n }\n }","export default function ({ store, redirect }) {\n if(store.state.booking.success.list.length < 1 ) {\n return redirect('/')\n }\n}","export default function ({ store, redirect }) {\n if(store.state.auth.loggedIn == true) {\n if(store.state.auth.user.data.role !== null && store.state.auth.user.data.role.name !== 'therapist') {\n return redirect('/')\n }\n }\n}","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--4-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=style&index=0&id=75568a56&lang=postcss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"../../assets/images/pageheader-bg.svg\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"../../assets/images/pageheader-gray-bg.svg\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".page-header[data-v-75568a56]{min-height:450px;}@media (min-width:640px){.page-header[data-v-75568a56]{height:50vh}.page-header.home[data-v-75568a56]{height:70vh}}.page-header-bg[data-v-75568a56]{position:absolute;bottom:0px;left:0px;z-index:10;height:100%;width:100%;background-repeat:no-repeat;background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \");background-position:bottom;background-size:calc(100% + 2px) auto;border-bottom:100px solid hsla(0,0%,100%,.3)}.page-header-gray .page-header-bg[data-v-75568a56]{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \");border:none}.page-header-bottom[data-v-75568a56]{position:absolute;bottom:0px;left:0px;z-index:20;width:100%;padding-left:3rem;padding-right:3rem;padding-bottom:1.5rem}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","module.exports = __webpack_public_path__ + \"img/pageheader-gray-bg.f0f708e.svg\";","module.exports = __webpack_public_path__ + \"img/logo-small.a98e3f3.svg\";","module.exports = __webpack_public_path__ + \"img/logo.3d44ac9.svg\";","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--4-oneOf-1-0!../../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedOutMenu.vue?vue&type=style&index=0&id=30beed07&lang=postcss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".nav-link[data-v-30beed07]{margin-left:0.75rem;margin-right:0.75rem;font-size:0.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.nav-link.nuxt-link-exact-active[data-v-30beed07], .nav-link[data-v-30beed07]:hover{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity))}.mobile-nav-link[data-v-30beed07]{display:block;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:100ms;}.mobile-nav-link.nuxt-link-exact-active[data-v-30beed07], .mobile-nav-link[data-v-30beed07]:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","export * from \"-!../../../node_modules/vue-style-loader/index.js??ref--4-oneOf-1-0!../../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedInMenu.vue?vue&type=style&index=0&id=57ee62f1&lang=postcss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".nav-link[data-v-57ee62f1]{font-size:0.875rem;line-height:1.25rem;font-weight:500;text-transform:uppercase;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.nav-link.nuxt-link-exact-active[data-v-57ee62f1], .nav-link[data-v-57ee62f1]:hover{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity))}.mobile-nav-link[data-v-57ee62f1]{display:block;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:100ms;}.mobile-nav-link.nuxt-link-exact-active[data-v-57ee62f1], .mobile-nav-link[data-v-57ee62f1]:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--3-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--3-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=style&index=0&lang=css&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".nuxt-progress{position:fixed;top:0;left:0;right:0;height:2px;width:0;opacity:1;transition:width .1s,opacity .4s;background-color:#000;z-index:999999}.nuxt-progress.nuxt-progress-notransition{transition:none}.nuxt-progress-failed{background-color:red}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../../../@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../../../@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--3-oneOf-1-2!./tailwind.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\nrequire(\"!../../../../vue-style-loader/lib/addStylesServer.js\").default(\"54b08540\", content, true)","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"/*! tailwindcss v2.1.1 | MIT License | https://tailwindcss.com*//*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */\\n\\n/*\\nDocument\\n========\\n*/\\n\\n/**\\nUse a better box model (opinionated).\\n*/\\n\\n*,\\n*::before,\\n*::after {\\n\\tbox-sizing: border-box;\\n}\\n\\n/**\\nUse a more readable tab size (opinionated).\\n*/\\n\\n:root {\\n\\t-moz-tab-size: 4;\\n\\t-o-tab-size: 4;\\n\\t tab-size: 4;\\n}\\n\\n/**\\n1. Correct the line height in all browsers.\\n2. Prevent adjustments of font size after orientation changes in iOS.\\n*/\\n\\nhtml {\\n\\tline-height: 1.15; /* 1 */\\n\\t-webkit-text-size-adjust: 100%; /* 2 */\\n}\\n\\n/*\\nSections\\n========\\n*/\\n\\n/**\\nRemove the margin in all browsers.\\n*/\\n\\nbody {\\n\\tmargin: 0;\\n}\\n\\n/**\\nImprove consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\\n*/\\n\\nbody {\\n\\tfont-family:\\n\\t\\tsystem-ui,\\n\\t\\t-apple-system, /* Firefox supports this but not yet `system-ui` */\\n\\t\\t'Segoe UI',\\n\\t\\tRoboto,\\n\\t\\tHelvetica,\\n\\t\\tArial,\\n\\t\\tsans-serif,\\n\\t\\t'Apple Color Emoji',\\n\\t\\t'Segoe UI Emoji';\\n}\\n\\n/*\\nGrouping content\\n================\\n*/\\n\\n/**\\n1. Add the correct height in Firefox.\\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\\n*/\\n\\nhr {\\n\\theight: 0; /* 1 */\\n\\tcolor: inherit; /* 2 */\\n}\\n\\n/*\\nText-level semantics\\n====================\\n*/\\n\\n/**\\nAdd the correct text decoration in Chrome, Edge, and Safari.\\n*/\\n\\nabbr[title] {\\n\\t-webkit-text-decoration: underline dotted;\\n\\t text-decoration: underline dotted;\\n}\\n\\n/**\\nAdd the correct font weight in Edge and Safari.\\n*/\\n\\nb,\\nstrong {\\n\\tfont-weight: bolder;\\n}\\n\\n/**\\n1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)\\n2. Correct the odd 'em' font sizing in all browsers.\\n*/\\n\\ncode,\\nkbd,\\nsamp,\\npre {\\n\\tfont-family:\\n\\t\\tui-monospace,\\n\\t\\tSFMono-Regular,\\n\\t\\tConsolas,\\n\\t\\t'Liberation Mono',\\n\\t\\tMenlo,\\n\\t\\tmonospace; /* 1 */\\n\\tfont-size: 1em; /* 2 */\\n}\\n\\n/**\\nAdd the correct font size in all browsers.\\n*/\\n\\nsmall {\\n\\tfont-size: 80%;\\n}\\n\\n/**\\nPrevent 'sub' and 'sup' elements from affecting the line height in all browsers.\\n*/\\n\\nsub,\\nsup {\\n\\tfont-size: 75%;\\n\\tline-height: 0;\\n\\tposition: relative;\\n\\tvertical-align: baseline;\\n}\\n\\nsub {\\n\\tbottom: -0.25em;\\n}\\n\\nsup {\\n\\ttop: -0.5em;\\n}\\n\\n/*\\nTabular data\\n============\\n*/\\n\\n/**\\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\\n*/\\n\\ntable {\\n\\ttext-indent: 0; /* 1 */\\n\\tborder-color: inherit; /* 2 */\\n}\\n\\n/*\\nForms\\n=====\\n*/\\n\\n/**\\n1. Change the font styles in all browsers.\\n2. Remove the margin in Firefox and Safari.\\n*/\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n\\tfont-family: inherit; /* 1 */\\n\\tfont-size: 100%; /* 1 */\\n\\tline-height: 1.15; /* 1 */\\n\\tmargin: 0; /* 2 */\\n}\\n\\n/**\\nRemove the inheritance of text transform in Edge and Firefox.\\n1. Remove the inheritance of text transform in Firefox.\\n*/\\n\\nbutton,\\nselect { /* 1 */\\n\\ttext-transform: none;\\n}\\n\\n/**\\nCorrect the inability to style clickable types in iOS and Safari.\\n*/\\n\\nbutton,\\n[type='button'],\\n[type='reset'],\\n[type='submit'] {\\n\\t-webkit-appearance: button;\\n}\\n\\n/**\\nRemove the inner border and padding in Firefox.\\n*/\\n\\n::-moz-focus-inner {\\n\\tborder-style: none;\\n\\tpadding: 0;\\n}\\n\\n/**\\nRestore the focus styles unset by the previous rule.\\n*/\\n\\n:-moz-focusring {\\n\\toutline: 1px dotted ButtonText;\\n}\\n\\n/**\\nRemove the additional ':invalid' styles in Firefox.\\nSee: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737\\n*/\\n\\n:-moz-ui-invalid {\\n\\tbox-shadow: none;\\n}\\n\\n/**\\nRemove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.\\n*/\\n\\nlegend {\\n\\tpadding: 0;\\n}\\n\\n/**\\nAdd the correct vertical alignment in Chrome and Firefox.\\n*/\\n\\nprogress {\\n\\tvertical-align: baseline;\\n}\\n\\n/**\\nCorrect the cursor style of increment and decrement buttons in Safari.\\n*/\\n\\n::-webkit-inner-spin-button,\\n::-webkit-outer-spin-button {\\n\\theight: auto;\\n}\\n\\n/**\\n1. Correct the odd appearance in Chrome and Safari.\\n2. Correct the outline style in Safari.\\n*/\\n\\n[type='search'] {\\n\\t-webkit-appearance: textfield; /* 1 */\\n\\toutline-offset: -2px; /* 2 */\\n}\\n\\n/**\\nRemove the inner padding in Chrome and Safari on macOS.\\n*/\\n\\n::-webkit-search-decoration {\\n\\t-webkit-appearance: none;\\n}\\n\\n/**\\n1. Correct the inability to style clickable types in iOS and Safari.\\n2. Change font properties to 'inherit' in Safari.\\n*/\\n\\n::-webkit-file-upload-button {\\n\\t-webkit-appearance: button; /* 1 */\\n\\tfont: inherit; /* 2 */\\n}\\n\\n/*\\nInteractive\\n===========\\n*/\\n\\n/*\\nAdd the correct display in Chrome and Safari.\\n*/\\n\\nsummary {\\n\\tdisplay: list-item;\\n}/**\\n * Manually forked from SUIT CSS Base: https://github.com/suitcss/base\\n * A thin layer on top of normalize.css that provides a starting point more\\n * suitable for web applications.\\n */\\n\\n/**\\n * Removes the default spacing and border for appropriate elements.\\n */\\n\\nblockquote,\\ndl,\\ndd,\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6,\\nhr,\\nfigure,\\np,\\npre {\\n margin: 0;\\n}\\n\\nbutton {\\n background-color: transparent;\\n background-image: none;\\n}\\n\\n/**\\n * Work around a Firefox/IE bug where the transparent `button` background\\n * results in a loss of the default `button` focus styles.\\n */\\n\\nbutton:focus {\\n outline: 1px dotted;\\n outline: 5px auto -webkit-focus-ring-color;\\n}\\n\\nfieldset {\\n margin: 0;\\n padding: 0;\\n}\\n\\nol,\\nul {\\n list-style: none;\\n margin: 0;\\n padding: 0;\\n}\\n\\n/**\\n * Tailwind custom reset styles\\n */\\n\\n/**\\n * 1. Use the user's configured `sans` font-family (with Tailwind's default\\n * sans-serif font stack as a fallback) as a sane default.\\n * 2. Use Tailwind's default \\\"normal\\\" line-height so the user isn't forced\\n * to override it to ensure consistency even when using the default theme.\\n */\\n\\nhtml {\\n font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\"; /* 1 */\\n line-height: 1.5; /* 2 */\\n}\\n\\n\\n/**\\n * Inherit font-family and line-height from `html` so users can set them as\\n * a class directly on the `html` element.\\n */\\n\\nbody {\\n font-family: inherit;\\n line-height: inherit;\\n}\\n\\n/**\\n * 1. Prevent padding and border from affecting element width.\\n *\\n * We used to set this in the html element and inherit from\\n * the parent element for everything else. This caused issues\\n * in shadow-dom-enhanced elements like <details> where the content\\n * is wrapped by a div with box-sizing set to `content-box`.\\n *\\n * https://github.com/mozdevs/cssremedy/issues/4\\n *\\n *\\n * 2. Allow adding a border to an element by just adding a border-width.\\n *\\n * By default, the way the browser specifies that an element should have no\\n * border is by setting it's border-style to `none` in the user-agent\\n * stylesheet.\\n *\\n * In order to easily add borders to elements by just setting the `border-width`\\n * property, we change the default border-style for all elements to `solid`, and\\n * use border-width to hide them instead. This way our `border` utilities only\\n * need to set the `border-width` property instead of the entire `border`\\n * shorthand, making our border utilities much more straightforward to compose.\\n *\\n * https://github.com/tailwindcss/tailwindcss/pull/116\\n */\\n\\n*,\\n::before,\\n::after {\\n box-sizing: border-box; /* 1 */\\n border-width: 0; /* 2 */\\n border-style: solid; /* 2 */\\n border-color: currentColor; /* 2 */\\n}\\n\\n/*\\n * Ensure horizontal rules are visible by default\\n */\\n\\nhr {\\n border-top-width: 1px;\\n}\\n\\n/**\\n * Undo the `border-style: none` reset that Normalize applies to images so that\\n * our `border-{width}` utilities have the expected effect.\\n *\\n * The Normalize reset is unnecessary for us since we default the border-width\\n * to 0 on all elements.\\n *\\n * https://github.com/tailwindcss/tailwindcss/issues/362\\n */\\n\\nimg {\\n border-style: solid;\\n}\\n\\ntextarea {\\n resize: vertical;\\n}\\n\\ninput::-moz-placeholder, textarea::-moz-placeholder {\\n opacity: 1;\\n color: #a1a1aa;\\n}\\n\\ninput:-ms-input-placeholder, textarea:-ms-input-placeholder {\\n opacity: 1;\\n color: #a1a1aa;\\n}\\n\\ninput::placeholder,\\ntextarea::placeholder {\\n opacity: 1;\\n color: #a1a1aa;\\n}\\n\\nbutton,\\n[role=\\\"button\\\"] {\\n cursor: pointer;\\n}\\n\\ntable {\\n border-collapse: collapse;\\n}\\n\\nh1,\\nh2,\\nh3,\\nh4,\\nh5,\\nh6 {\\n font-size: inherit;\\n font-weight: inherit;\\n}\\n\\n/**\\n * Reset links to optimize for opt-in styling instead of\\n * opt-out.\\n */\\n\\na {\\n color: inherit;\\n text-decoration: inherit;\\n}\\n\\n/**\\n * Reset form element properties that are easy to forget to\\n * style explicitly so you don't inadvertently introduce\\n * styles that deviate from your design system. These styles\\n * supplement a partial reset that is already applied by\\n * normalize.css.\\n */\\n\\nbutton,\\ninput,\\noptgroup,\\nselect,\\ntextarea {\\n padding: 0;\\n line-height: inherit;\\n color: inherit;\\n}\\n\\n/**\\n * Use the configured 'mono' font family for elements that\\n * are expected to be rendered with a monospace font, falling\\n * back to the system monospace stack if there is no configured\\n * 'mono' font family.\\n */\\n\\npre,\\ncode,\\nkbd,\\nsamp {\\n font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \\\"Liberation Mono\\\", \\\"Courier New\\\", monospace;\\n}\\n\\n/**\\n * Make replaced elements `display: block` by default as that's\\n * the behavior you want almost all of the time. Inspired by\\n * CSS Remedy, with `svg` added as well.\\n *\\n * https://github.com/mozdevs/cssremedy/issues/14\\n */\\n\\nimg,\\nsvg,\\nvideo,\\ncanvas,\\naudio,\\niframe,\\nembed,\\nobject {\\n display: block;\\n vertical-align: middle;\\n}\\n\\n/**\\n * Constrain images and videos to the parent width and preserve\\n * their intrinsic aspect ratio.\\n *\\n * https://github.com/mozdevs/cssremedy/issues/14\\n */\\n\\nimg,\\nvideo {\\n max-width: 100%;\\n height: auto;\\n}*{--tw-shadow:0 0 #0000;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59, 130, 246, 0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;}\\n [type='text'],\\n [type='email'],\\n [type='url'],\\n [type='password'],\\n [type='number'],\\n [type='date'],\\n [type='datetime-local'],\\n [type='month'],\\n [type='search'],\\n [type='tel'],\\n [type='time'],\\n [type='week'],\\n [multiple],\\n textarea,\\n select\\n {-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-width:1px;border-radius:0px;padding-top:0.5rem;padding-right:0.75rem;padding-bottom:0.5rem;padding-left:0.75rem;font-size:1rem;line-height:1.5rem;}[type='text']:focus, [type='email']:focus, [type='url']:focus, [type='password']:focus, [type='number']:focus, [type='date']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='week']:focus, [multiple]:focus, textarea:focus, select:focus{outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);border-color:#2563eb;}input::-moz-placeholder, textarea::-moz-placeholder{color:#6b7280;opacity:1;}input:-ms-input-placeholder, textarea:-ms-input-placeholder{color:#6b7280;opacity:1;}input::placeholder, textarea::placeholder{color:#6b7280;opacity:1;}::-webkit-datetime-edit-fields-wrapper{padding:0;}::-webkit-date-and-time-value{min-height:1.5em;}select{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\\\");background-position:right 0.5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;color-adjust:exact;}[multiple]{background-image:initial;background-position:initial;background-repeat:unset;background-size:initial;padding-right:0.75rem;-webkit-print-color-adjust:unset;color-adjust:unset;}\\n [type='checkbox'],\\n [type='radio']\\n {-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:0;-webkit-print-color-adjust:exact;color-adjust:exact;display:inline-block;vertical-align:middle;background-origin:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;flex-shrink:0;height:1rem;width:1rem;color:#2563eb;background-color:#fff;border-color:#6b7280;border-width:1px;}[type='checkbox']{border-radius:0px;}[type='radio']{border-radius:100%;}\\n [type='checkbox']:focus,\\n [type='radio']:focus\\n {outline:2px solid transparent;outline-offset:2px;--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}\\n [type='checkbox']:checked,\\n [type='radio']:checked\\n {border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat;}[type='checkbox']:checked{background-image:url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3e%3c/svg%3e\\\");}[type='radio']:checked{background-image:url(\\\"data:image/svg+xml,%3csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3e%3ccircle cx='8' cy='8' r='3'/%3e%3c/svg%3e\\\");}\\n [type='checkbox']:checked:hover,\\n [type='checkbox']:checked:focus,\\n [type='radio']:checked:hover,\\n [type='radio']:checked:focus\\n {border-color:transparent;background-color:currentColor;}[type='checkbox']:indeterminate{background-image:url(\\\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3e%3c/svg%3e\\\");border-color:transparent;background-color:currentColor;background-size:100% 100%;background-position:center;background-repeat:no-repeat;}\\n [type='checkbox']:indeterminate:hover,\\n [type='checkbox']:indeterminate:focus\\n {border-color:transparent;background-color:currentColor;}[type='file']{background:unset;border-color:inherit;border-width:0;border-radius:0;padding:0;font-size:unset;line-height:inherit;}[type='file']:focus{outline:1px auto -webkit-focus-ring-color;}.prose{color:#374151;max-width:65ch;}.prose [class~=\\\"lead\\\"]{color:#4b5563;font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em;}.prose a{color:#111827;text-decoration:underline;font-weight:500;}.prose strong{color:#111827;font-weight:600;}.prose ol[type=\\\"A\\\"]{--list-counter-style:upper-alpha;}.prose ol[type=\\\"a\\\"]{--list-counter-style:lower-alpha;}.prose ol[type=\\\"A s\\\"]{--list-counter-style:upper-alpha;}.prose ol[type=\\\"a s\\\"]{--list-counter-style:lower-alpha;}.prose ol[type=\\\"I\\\"]{--list-counter-style:upper-roman;}.prose ol[type=\\\"i\\\"]{--list-counter-style:lower-roman;}.prose ol[type=\\\"I s\\\"]{--list-counter-style:upper-roman;}.prose ol[type=\\\"i s\\\"]{--list-counter-style:lower-roman;}.prose ol[type=\\\"1\\\"]{--list-counter-style:decimal;}.prose ol > li{position:relative;padding-left:1.75em;}.prose ol > li::before{content:counter(list-item, var(--list-counter-style, decimal)) \\\".\\\";position:absolute;font-weight:400;color:#6b7280;left:0;}.prose ul > li{position:relative;padding-left:1.75em;}.prose ul > li::before{content:\\\"\\\";position:absolute;background-color:#d1d5db;border-radius:50%;width:0.375em;height:0.375em;top:calc(0.875em - 0.1875em);left:0.25em;}.prose hr{border-color:#e5e7eb;border-top-width:1px;margin-top:3em;margin-bottom:3em;}.prose blockquote{font-weight:500;font-style:italic;color:#111827;border-left-width:0.25rem;border-left-color:#e5e7eb;quotes:\\\"\\\\201C\\\"\\\"\\\\201D\\\"\\\"\\\\2018\\\"\\\"\\\\2019\\\";margin-top:1.6em;margin-bottom:1.6em;padding-left:1em;}.prose blockquote p:first-of-type::before{content:open-quote;}.prose blockquote p:last-of-type::after{content:close-quote;}.prose h1{color:#111827;font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:0.8888889em;line-height:1.1111111;}.prose h2{color:#111827;font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333;}.prose h3{color:#111827;font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:0.6em;line-height:1.6;}.prose h4{color:#111827;font-weight:600;margin-top:1.5em;margin-bottom:0.5em;line-height:1.5;}.prose figure figcaption{color:#6b7280;font-size:0.875em;line-height:1.4285714;margin-top:0.8571429em;}.prose code{color:#111827;font-weight:600;font-size:0.875em;}.prose code::before{content:\\\"`\\\";}.prose code::after{content:\\\"`\\\";}.prose a code{color:#111827;}.prose pre{color:#e5e7eb;background-color:#1f2937;overflow-x:auto;font-size:0.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:0.375rem;padding-top:0.8571429em;padding-right:1.1428571em;padding-bottom:0.8571429em;padding-left:1.1428571em;}.prose pre code{background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:400;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;}.prose pre code::before{content:none;}.prose pre code::after{content:none;}.prose table{width:100%;table-layout:auto;text-align:left;margin-top:2em;margin-bottom:2em;font-size:0.875em;line-height:1.7142857;}.prose thead{color:#111827;font-weight:600;border-bottom-width:1px;border-bottom-color:#d1d5db;}.prose thead th{vertical-align:bottom;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em;}.prose tbody tr{border-bottom-width:1px;border-bottom-color:#e5e7eb;}.prose tbody tr:last-child{border-bottom-width:0;}.prose tbody td{vertical-align:top;padding-top:0.5714286em;padding-right:0.5714286em;padding-bottom:0.5714286em;padding-left:0.5714286em;}.prose{font-size:1rem;line-height:1.75;}.prose p{margin-top:1.25em;margin-bottom:1.25em;}.prose img{margin-top:2em;margin-bottom:2em;}.prose video{margin-top:2em;margin-bottom:2em;}.prose figure{margin-top:2em;margin-bottom:2em;}.prose figure > *{margin-top:0;margin-bottom:0;}.prose h2 code{font-size:0.875em;}.prose h3 code{font-size:0.9em;}.prose ol{margin-top:1.25em;margin-bottom:1.25em;}.prose ul{margin-top:1.25em;margin-bottom:1.25em;}.prose li{margin-top:0.5em;margin-bottom:0.5em;}.prose > ul > li p{margin-top:0.75em;margin-bottom:0.75em;}.prose > ul > li > *:first-child{margin-top:1.25em;}.prose > ul > li > *:last-child{margin-bottom:1.25em;}.prose > ol > li > *:first-child{margin-top:1.25em;}.prose > ol > li > *:last-child{margin-bottom:1.25em;}.prose ul ul, .prose ul ol, .prose ol ul, .prose ol ol{margin-top:0.75em;margin-bottom:0.75em;}.prose hr + *{margin-top:0;}.prose h2 + *{margin-top:0;}.prose h3 + *{margin-top:0;}.prose h4 + *{margin-top:0;}.prose thead th:first-child{padding-left:0;}.prose thead th:last-child{padding-right:0;}.prose tbody td:first-child{padding-left:0;}.prose tbody td:last-child{padding-right:0;}.prose > :first-child{margin-top:0;}.prose > :last-child{margin-bottom:0;}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;}.pointer-events-none{pointer-events:none;}.invisible{visibility:hidden;}.relative{position:relative;}.absolute{position:absolute;}.fixed{position:fixed;}.inset-y-0{top:0px;bottom:0px;}.top-0{top:0px;}.left-0{left:0px;}.right-0{right:0px;}.top-full{top:100%;}.bottom-0{bottom:0px;}.-top-1{top:-0.25rem;}.-right-1{right:-0.25rem;}.top-6{top:1.5rem;}.right-10{right:2.5rem;}.top-1{top:0.25rem;}.right-1{right:0.25rem;}.top-2{top:0.5rem;}.left-3{left:0.75rem;}.top-1\\\\/2{top:50%;}.left-0\\\\.5{left:0.125rem;}.top-10{top:2.5rem;}.right-full{right:100%;}.z-50{z-index:50;}.z-30{z-index:30;}.z-20{z-index:20;}.z-10{z-index:10;}.z-40{z-index:40;}.order-2{order:2;}.order-1{order:1;}.order-3{order:3;}.col-span-1{grid-column:span 1 / span 1;}.col-span-3{grid-column:span 3 / span 3;}.col-span-2{grid-column:span 2 / span 2;}.col-span-4{grid-column:span 4 / span 4;}.m-0{margin:0px;}.m-2{margin:0.5rem;}.m-0\\\\.5{margin:0.125rem;}.-m-3{margin:-0.75rem;}.m-auto{margin:auto;}.my-6{margin-top:1.5rem;margin-bottom:1.5rem;}.mx-auto{margin-left:auto;margin-right:auto;}.my-8{margin-top:2rem;margin-bottom:2rem;}.my-1{margin-top:0.25rem;margin-bottom:0.25rem;}.mx-3{margin-left:0.75rem;margin-right:0.75rem;}.my-3{margin-top:0.75rem;margin-bottom:0.75rem;}.-mx-1{margin-left:-0.25rem;margin-right:-0.25rem;}.-my-2{margin-top:-0.5rem;margin-bottom:-0.5rem;}.my-2{margin-top:0.5rem;margin-bottom:0.5rem;}.-mx-3{margin-left:-0.75rem;margin-right:-0.75rem;}.my-0{margin-top:0px;margin-bottom:0px;}.-mx-2{margin-left:-0.5rem;margin-right:-0.5rem;}.my-1\\\\.5{margin-top:0.375rem;margin-bottom:0.375rem;}.mx-2{margin-left:0.5rem;margin-right:0.5rem;}.my-16{margin-top:4rem;margin-bottom:4rem;}.mx-1{margin-left:0.25rem;margin-right:0.25rem;}.my-4{margin-top:1rem;margin-bottom:1rem;}.mr-4{margin-right:1rem;}.ml-2{margin-left:0.5rem;}.mb-3{margin-bottom:0.75rem;}.-mb-2{margin-bottom:-0.5rem;}.-ml-1{margin-left:-0.25rem;}.mr-3{margin-right:0.75rem;}.mr-5{margin-right:1.25rem;}.mb-8{margin-bottom:2rem;}.mb-20{margin-bottom:5rem;}.mb-10{margin-bottom:2.5rem;}.mb-6{margin-bottom:1.5rem;}.mb-4{margin-bottom:1rem;}.mt-3{margin-top:0.75rem;}.mt-6{margin-top:1.5rem;}.mb-2{margin-bottom:0.5rem;}.-mt-2{margin-top:-0.5rem;}.mt-8{margin-top:2rem;}.mr-1{margin-right:0.25rem;}.mb-12{margin-bottom:3rem;}.-mt-8{margin-top:-2rem;}.mt-1{margin-top:0.25rem;}.ml-1{margin-left:0.25rem;}.ml-auto{margin-left:auto;}.-mr-1{margin-right:-0.25rem;}.mb-1{margin-bottom:0.25rem;}.mt-2{margin-top:0.5rem;}.-ml-1\\\\.5{margin-left:-0.375rem;}.-mt-1{margin-top:-0.25rem;}.mt-4{margin-top:1rem;}.-mt-3{margin-top:-0.75rem;}.mr-10{margin-right:2.5rem;}.mr-2{margin-right:0.5rem;}.mb-0{margin-bottom:0px;}.-mt-4{margin-top:-1rem;}.mt-0{margin-top:0px;}.-mt-5{margin-top:-1.25rem;}.mb-16{margin-bottom:4rem;}.ml-3{margin-left:0.75rem;}.-mb-3{margin-bottom:-0.75rem;}.mt-16{margin-top:4rem;}.mb-1\\\\.5{margin-bottom:0.375rem;}.mt-1\\\\.5{margin-top:0.375rem;}.ml-5{margin-left:1.25rem;}.mb-5{margin-bottom:1.25rem;}.mt-5{margin-top:1.25rem;}.box-border{box-sizing:border-box;}.flex{display:flex;}.block{display:block;}.inline-block{display:inline-block;}.grid{display:grid;}.inline-flex{display:inline-flex;}.table{display:table;}.table-cell{display:table-cell;}.inline{display:inline;}.hidden{display:none;}.h-5{height:1.25rem;}.h-4{height:1rem;}.h-full{height:100%;}.h-7{height:1.75rem;}.h-11{height:2.75rem;}.h-10{height:2.5rem;}.h-9{height:2.25rem;}.h-24{height:6rem;}.h-16{height:4rem;}.h-6{height:1.5rem;}.h-8{height:2rem;}.h-3{height:0.75rem;}.h-12{height:3rem;}.h-48{height:12rem;}.h-screen{height:100vh;}.h-40{height:10rem;}.h-96{height:24rem;}.h-1{height:0.25rem;}.h-0\\\\.5{height:0.125rem;}.h-0{height:0px;}.w-full{width:100%;}.w-96{width:24rem;}.w-5{width:1.25rem;}.w-4{width:1rem;}.w-auto{width:auto;}.w-7{width:1.75rem;}.w-16{width:4rem;}.w-10{width:2.5rem;}.w-12{width:3rem;}.w-6{width:1.5rem;}.w-8{width:2rem;}.w-3{width:0.75rem;}.w-10\\\\/12{width:83.333333%;}.w-40{width:10rem;}.w-48{width:12rem;}.w-32{width:8rem;}.w-24{width:6rem;}.min-w-full{min-width:100%;}.max-w-full{max-width:100%;}.max-w-4xl{max-width:56rem;}.max-w-5xl{max-width:64rem;}.max-w-3xl{max-width:48rem;}.max-w-xl{max-width:36rem;}.max-w-md{max-width:28rem;}.max-w-xs{max-width:20rem;}.max-w-6xl{max-width:72rem;}.max-w-2xl{max-width:42rem;}.max-w-lg{max-width:32rem;}.flex-auto{flex:1 1 auto;}.flex-shrink-0{flex-shrink:0;}.flex-grow{flex-grow:1;}.border-collapse{border-collapse:collapse;}.transform{--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;transform:translateX(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));}.origin-top-right{transform-origin:top right;}.origin-top{transform-origin:top;}.origin-top-left{transform-origin:top left;}.translate-y-0{--tw-translate-y:0px;}.translate-y-full{--tw-translate-y:100%;}.translate-y-2{--tw-translate-y:0.5rem;}.-translate-y-3{--tw-translate-y:-0.75rem;}.-translate-y-1\\\\/2{--tw-translate-y:-50%;}.rotate-180{--tw-rotate:180deg;}.rotate-45{--tw-rotate:45deg;}.-rotate-45{--tw-rotate:-45deg;}.scale-100{--tw-scale-x:1;--tw-scale-y:1;}.scale-90{--tw-scale-x:.9;--tw-scale-y:.9;}.scale-95{--tw-scale-x:.95;--tw-scale-y:.95;}@-webkit-keyframes spin{to{transform:rotate(360deg);}}@keyframes spin{to{transform:rotate(360deg);}}.animate-spin{-webkit-animation:spin 1s linear infinite;animation:spin 1s linear infinite;}.cursor-pointer{cursor:pointer;}.cursor-not-allowed{cursor:not-allowed;}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none;}.grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.grid-cols-1{grid-template-columns:repeat(1, minmax(0, 1fr));}.grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}.grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.flex-row{flex-direction:row;}.flex-col{flex-direction:column;}.flex-nowrap{flex-wrap:nowrap;}.flex-wrap{flex-wrap:wrap;}.content-between{align-content:space-between;}.items-center{align-items:center;}.items-end{align-items:flex-end;}.items-start{align-items:flex-start;}.justify-center{justify-content:center;}.justify-end{justify-content:flex-end;}.justify-start{justify-content:flex-start;}.justify-between{justify-content:space-between;}.gap-4{gap:1rem;}.gap-8{gap:2rem;}.gap-2{gap:0.5rem;}.gap-10{gap:2.5rem;}.gap-6{gap:1.5rem;}.gap-1{gap:0.25rem;}.gap-3{gap:0.75rem;}.gap-5{gap:1.25rem;}.gap-x-4{-moz-column-gap:1rem;column-gap:1rem;}.gap-x-16{-moz-column-gap:4rem;column-gap:4rem;}.gap-y-10{row-gap:2.5rem;}.gap-y-4{row-gap:1rem;}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem;}.gap-y-2{row-gap:0.5rem;}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem;}.gap-x-3{-moz-column-gap:0.75rem;column-gap:0.75rem;}.gap-y-12{row-gap:3rem;}.gap-y-3{row-gap:0.75rem;}.gap-y-0{row-gap:0px;}.divide-y > :not([hidden]) ~ :not([hidden]){--tw-divide-y-reverse:0;border-top-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)));border-bottom-width:calc(1px * var(--tw-divide-y-reverse));}.overflow-hidden{overflow:hidden;}.overflow-y-auto{overflow-y:auto;}.overflow-auto{overflow:auto;}.overflow-visible{overflow:visible;}.overflow-x-auto{overflow-x:auto;}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}.whitespace-nowrap{white-space:nowrap;}.rounded-xl{border-radius:0.75rem;}.rounded-full{border-radius:9999px;}.rounded-lg{border-radius:0.5rem;}.rounded-md{border-radius:0.375rem;}.rounded{border-radius:0.25rem;}.rounded-sm{border-radius:0.125rem;}.rounded-3xl{border-radius:1.5rem;}.rounded-b-3xl{border-bottom-right-radius:1.5rem;border-bottom-left-radius:1.5rem;}.rounded-l-full{border-top-left-radius:9999px;border-bottom-left-radius:9999px;}.rounded-r-full{border-top-right-radius:9999px;border-bottom-right-radius:9999px;}.rounded-b{border-bottom-right-radius:0.25rem;border-bottom-left-radius:0.25rem;}.rounded-t-xl{border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;}.rounded-b-xl{border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;}.rounded-b-lg{border-bottom-right-radius:0.5rem;border-bottom-left-radius:0.5rem;}.rounded-r-xl{border-top-right-radius:0.75rem;border-bottom-right-radius:0.75rem;}.border-2{border-width:2px;}.border-0{border-width:0;}.border-4{border-width:4px;}.border{border-width:1px;}.border-15{border-width:15px;}.border-10{border-width:10px;}.border-40{border-width:40px;}.border-l-2{border-left-width:2px;}.border-l-8{border-left-width:8px;}.border-t{border-top-width:1px;}.border-b{border-bottom-width:1px;}.border-b-2{border-bottom-width:2px;}.border-t-2{border-top-width:2px;}.border-solid{border-style:solid;}.border-dashed{border-style:dashed;}.border-transparent{border-color:transparent;}.border-black{--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));}.border-orange{--tw-border-opacity:1;border-color:rgba(255, 137, 0, var(--tw-border-opacity));}.border-gray{--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));}.border-yellow{--tw-border-opacity:1;border-color:rgba(255, 204, 0, var(--tw-border-opacity));}.border-red{--tw-border-opacity:1;border-color:rgba(253, 80, 80, var(--tw-border-opacity));}.border-white{--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity));}.border-green{--tw-border-opacity:1;border-color:rgba(185, 203, 27, var(--tw-border-opacity));}.border-opacity-50{--tw-border-opacity:0.5;}.border-opacity-10{--tw-border-opacity:0.1;}.border-opacity-20{--tw-border-opacity:0.2;}.border-opacity-80{--tw-border-opacity:0.8;}.border-opacity-75{--tw-border-opacity:0.75;}.bg-black{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));}.bg-yellow{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));}.bg-white{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));}.bg-red{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity));}.bg-gray{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity));}.bg-green{--tw-bg-opacity:1;background-color:rgba(185, 203, 27, var(--tw-bg-opacity));}.bg-orange{--tw-bg-opacity:1;background-color:rgba(255, 137, 0, var(--tw-bg-opacity));}.bg-blue-light{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity));}.bg-blue{--tw-bg-opacity:1;background-color:rgba(142, 174, 217, var(--tw-bg-opacity));}.bg-pink{--tw-bg-opacity:1;background-color:rgba(253, 80, 188, var(--tw-bg-opacity));}.bg-blue-medium{--tw-bg-opacity:1;background-color:rgba(188, 205, 212, var(--tw-bg-opacity));}.bg-purple{--tw-bg-opacity:1;background-color:rgba(206, 169, 216, var(--tw-bg-opacity));}.bg-opacity-50{--tw-bg-opacity:0.5;}.bg-opacity-20{--tw-bg-opacity:0.2;}.bg-opacity-75{--tw-bg-opacity:0.75;}.bg-opacity-25{--tw-bg-opacity:0.25;}.bg-opacity-10{--tw-bg-opacity:0.1;}.bg-none{background-image:none;}.bg-contain{background-size:contain;}.bg-cover{background-size:cover;}.bg-center{background-position:center;}.bg-bottom{background-position:bottom;}.bg-no-repeat{background-repeat:no-repeat;}.fill-current{fill:currentColor;}.p-1{padding:0.25rem;}.p-6{padding:1.5rem;}.p-4{padding:1rem;}.p-3{padding:0.75rem;}.p-8{padding:2rem;}.p-2{padding:0.5rem;}.p-10{padding:2.5rem;}.p-20{padding:5rem;}.py-4{padding-top:1rem;padding-bottom:1rem;}.px-7{padding-left:1.75rem;padding-right:1.75rem;}.py-1\\\\.5{padding-top:0.375rem;padding-bottom:0.375rem;}.px-3{padding-left:0.75rem;padding-right:0.75rem;}.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}.px-4{padding-left:1rem;padding-right:1rem;}.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}.py-20{padding-top:5rem;padding-bottom:5rem;}.px-8{padding-left:2rem;padding-right:2rem;}.py-10{padding-top:2.5rem;padding-bottom:2.5rem;}.px-6{padding-left:1.5rem;padding-right:1.5rem;}.py-24{padding-top:6rem;padding-bottom:6rem;}.px-2{padding-left:0.5rem;padding-right:0.5rem;}.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}.py-12{padding-top:3rem;padding-bottom:3rem;}.px-0\\\\.5{padding-left:0.125rem;padding-right:0.125rem;}.px-0{padding-left:0px;padding-right:0px;}.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}.px-12{padding-left:3rem;padding-right:3rem;}.py-8{padding-top:2rem;padding-bottom:2rem;}.py-16{padding-top:4rem;padding-bottom:4rem;}.py-5{padding-top:1.25rem;padding-bottom:1.25rem;}.px-10{padding-left:2.5rem;padding-right:2.5rem;}.pt-20{padding-top:5rem;}.pl-2{padding-left:0.5rem;}.pl-3{padding-left:0.75rem;}.pr-20{padding-right:5rem;}.pl-16{padding-left:4rem;}.pl-2\\\\.5{padding-left:0.625rem;}.pt-4{padding-top:1rem;}.pt-16{padding-top:4rem;}.pb-20{padding-bottom:5rem;}.pt-2{padding-top:0.5rem;}.pr-10{padding-right:2.5rem;}.pr-8{padding-right:2rem;}.pb-2{padding-bottom:0.5rem;}.pr-3{padding-right:0.75rem;}.pb-6{padding-bottom:1.5rem;}.pl-10{padding-left:2.5rem;}.pb-48{padding-bottom:12rem;}.pt-6{padding-top:1.5rem;}.pt-8{padding-top:2rem;}.pb-10{padding-bottom:2.5rem;}.pb-28{padding-bottom:7rem;}.pl-12{padding-left:3rem;}.pl-6{padding-left:1.5rem;}.pt-3{padding-top:0.75rem;}.pt-10{padding-top:2.5rem;}.pr-5{padding-right:1.25rem;}.text-center{text-align:center;}.text-left{text-align:left;}.text-right{text-align:right;}.font-sans{font-family:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \\\"Segoe UI\\\", Roboto, \\\"Helvetica Neue\\\", Arial, \\\"Noto Sans\\\", sans-serif, \\\"Apple Color Emoji\\\", \\\"Segoe UI Emoji\\\", \\\"Segoe UI Symbol\\\", \\\"Noto Color Emoji\\\";}.text-base{font-size:1rem;line-height:1.5rem;}.text-xs{font-size:0.75rem;line-height:1rem;}.text-sm{font-size:0.875rem;line-height:1.25rem;}.text-lg{font-size:1.125rem;line-height:1.75rem;}.text-7xl{font-size:4.5rem;line-height:1;}.text-5xl{font-size:3rem;line-height:1;}.text-2xl{font-size:1.5rem;line-height:2rem;}.text-3xl{font-size:1.875rem;line-height:2.25rem;}.text-4xl{font-size:2.25rem;line-height:2.5rem;}.text-xl{font-size:1.25rem;line-height:1.75rem;}.font-bold{font-weight:700;}.font-medium{font-weight:500;}.font-semibold{font-weight:600;}.uppercase{text-transform:uppercase;}.italic{font-style:italic;}.leading-4{line-height:1rem;}.leading-5{line-height:1.25rem;}.leading-7{line-height:1.75rem;}.leading-6{line-height:1.5rem;}.leading-8{line-height:2rem;}.leading-3{line-height:.75rem;}.leading-tight{line-height:1.25;}.leading-none{line-height:1;}.text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));}.text-black{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));}.text-current{color:currentColor;}.text-blue-light{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity));}.text-orange{--tw-text-opacity:1;color:rgba(255, 137, 0, var(--tw-text-opacity));}.text-red{--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity));}.text-yellow{--tw-text-opacity:1;color:rgba(255, 204, 0, var(--tw-text-opacity));}.text-gray{--tw-text-opacity:1;color:rgba(243, 242, 238, var(--tw-text-opacity));}.text-pink{--tw-text-opacity:1;color:rgba(253, 80, 188, var(--tw-text-opacity));}.text-blue-medium{--tw-text-opacity:1;color:rgba(188, 205, 212, var(--tw-text-opacity));}.text-blue{--tw-text-opacity:1;color:rgba(142, 174, 217, var(--tw-text-opacity));}.text-opacity-75{--tw-text-opacity:0.75;}.text-opacity-80{--tw-text-opacity:0.8;}.text-opacity-50{--tw-text-opacity:0.5;}.text-opacity-70{--tw-text-opacity:0.7;}.text-opacity-90{--tw-text-opacity:0.9;}.underline{text-decoration:underline;}.placeholder-white::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity));}.placeholder-white:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity));}.placeholder-white::placeholder{--tw-placeholder-opacity:1;color:rgba(255, 255, 255, var(--tw-placeholder-opacity));}.placeholder-black::-moz-placeholder{--tw-placeholder-opacity:1;color:rgba(51, 51, 51, var(--tw-placeholder-opacity));}.placeholder-black:-ms-input-placeholder{--tw-placeholder-opacity:1;color:rgba(51, 51, 51, var(--tw-placeholder-opacity));}.placeholder-black::placeholder{--tw-placeholder-opacity:1;color:rgba(51, 51, 51, var(--tw-placeholder-opacity));}.opacity-100{opacity:1;}.opacity-0{opacity:0;}.opacity-25{opacity:0.25;}.opacity-75{opacity:0.75;}.opacity-50{opacity:0.5;}.shadow-lg{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.shadow-md{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.shadow{--tw-shadow:0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.shadow-sm{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.outline-none{outline:2px solid transparent;outline-offset:2px;}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}.transition{transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}.transition-width{transition-property:width;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}.duration-100{transition-duration:100ms;}.duration-200{transition-duration:200ms;}.duration-75{transition-duration:75ms;}.duration{transition-duration:150ms;}.duration-500{transition-duration:500ms;}.ease{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.ease-in-out{transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.ease-out{transition-timing-function:cubic-bezier(0, 0, 0.2, 1);}.ease-in{transition-timing-function:cubic-bezier(0.4, 0, 1, 1);}.hover\\\\:border-black:hover{--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));}.hover\\\\:bg-white:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));}.hover\\\\:bg-yellow:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));}.hover\\\\:bg-blue:hover{--tw-bg-opacity:1;background-color:rgba(142, 174, 217, var(--tw-bg-opacity));}.hover\\\\:bg-black:hover{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));}.hover\\\\:bg-red:hover{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity));}.hover\\\\:bg-gray:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity));}.hover\\\\:bg-blue-light:hover{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity));}.hover\\\\:bg-opacity-75:hover{--tw-bg-opacity:0.75;}.hover\\\\:bg-opacity-10:hover{--tw-bg-opacity:0.1;}.hover\\\\:text-black:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));}.hover\\\\:text-blue-light:hover{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity));}.hover\\\\:text-white:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));}.hover\\\\:text-yellow:hover{--tw-text-opacity:1;color:rgba(255, 204, 0, var(--tw-text-opacity));}.hover\\\\:text-red:hover{--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity));}.hover\\\\:text-opacity-75:hover{--tw-text-opacity:0.75;}.hover\\\\:text-opacity-100:hover{--tw-text-opacity:1;}.hover\\\\:underline:hover{text-decoration:underline;}.hover\\\\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.hover\\\\:shadow-sm:hover{--tw-shadow:0 1px 2px 0 rgba(0, 0, 0, 0.05);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);}.hover\\\\:outline-none:hover{outline:2px solid transparent;outline-offset:2px;}.focus\\\\:border-black:focus{--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));}.focus\\\\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}.focus\\\\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000);}.focus\\\\:ring-black:focus{--tw-ring-opacity:1;--tw-ring-color:rgba(51, 51, 51, var(--tw-ring-opacity));}.focus\\\\:ring-opacity-50:focus{--tw-ring-opacity:0.5;}.focus\\\\:ring-offset-0:focus{--tw-ring-offset-width:0px;}.disabled\\\\:cursor-not-allowed:disabled{cursor:not-allowed;}.disabled\\\\:bg-black:disabled{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));}.disabled\\\\:opacity-50:disabled{opacity:0.5;}@media (min-width: 640px){.sm\\\\:absolute{position:absolute;}.sm\\\\:top-2{top:0.5rem;}.sm\\\\:right-2{right:0.5rem;}.sm\\\\:order-1{order:1;}.sm\\\\:order-2{order:2;}.sm\\\\:col-span-4{grid-column:span 4 / span 4;}.sm\\\\:col-span-2{grid-column:span 2 / span 2;}.sm\\\\:col-span-1{grid-column:span 1 / span 1;}.sm\\\\:col-span-3{grid-column:span 3 / span 3;}.sm\\\\:my-0{margin-top:0px;margin-bottom:0px;}.sm\\\\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}.sm\\\\:mt-0{margin-top:0px;}.sm\\\\:mb-0{margin-bottom:0px;}.sm\\\\:ml-5{margin-left:1.25rem;}.sm\\\\:mr-0{margin-right:0px;}.sm\\\\:mb-8{margin-bottom:2rem;}.sm\\\\:mt-16{margin-top:4rem;}.sm\\\\:grid{display:grid;}.sm\\\\:block{display:block;}.sm\\\\:flex{display:flex;}.sm\\\\:hidden{display:none;}.sm\\\\:h-6{height:1.5rem;}.sm\\\\:w-auto{width:auto;}.sm\\\\:w-full{width:100%;}.sm\\\\:w-6{width:1.5rem;}.sm\\\\:w-96{width:24rem;}.sm\\\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.sm\\\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.sm\\\\:grid-cols-7{grid-template-columns:repeat(7, minmax(0, 1fr));}.sm\\\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.sm\\\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.sm\\\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}.sm\\\\:flex-row{flex-direction:row;}.sm\\\\:items-start{align-items:flex-start;}.sm\\\\:items-end{align-items:flex-end;}.sm\\\\:items-center{align-items:center;}.sm\\\\:justify-end{justify-content:flex-end;}.sm\\\\:justify-start{justify-content:flex-start;}.sm\\\\:justify-center{justify-content:center;}.sm\\\\:gap-3{gap:0.75rem;}.sm\\\\:gap-10{gap:2.5rem;}.sm\\\\:gap-x-4{-moz-column-gap:1rem;column-gap:1rem;}.sm\\\\:rounded-full{border-radius:9999px;}.sm\\\\:bg-red{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity));}.sm\\\\:p-4{padding:1rem;}.sm\\\\:py-20{padding-top:5rem;padding-bottom:5rem;}.sm\\\\:py-10{padding-top:2.5rem;padding-bottom:2.5rem;}.sm\\\\:px-8{padding-left:2rem;padding-right:2rem;}.sm\\\\:py-12{padding-top:3rem;padding-bottom:3rem;}.sm\\\\:px-16{padding-left:4rem;padding-right:4rem;}.sm\\\\:px-6{padding-left:1.5rem;padding-right:1.5rem;}.sm\\\\:px-10{padding-left:2.5rem;padding-right:2.5rem;}.sm\\\\:py-0{padding-top:0px;padding-bottom:0px;}.sm\\\\:pl-4{padding-left:1rem;}.sm\\\\:text-left{text-align:left;}.sm\\\\:text-right{text-align:right;}.sm\\\\:text-3xl{font-size:1.875rem;line-height:2.25rem;}.sm\\\\:text-base{font-size:1rem;line-height:1.5rem;}.sm\\\\:text-2xl{font-size:1.5rem;line-height:2rem;}.sm\\\\:text-white{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));}}@media (min-width: 768px){.md\\\\:col-span-5{grid-column:span 5 / span 5;}.md\\\\:col-span-4{grid-column:span 4 / span 4;}.md\\\\:col-span-2{grid-column:span 2 / span 2;}.md\\\\:col-span-3{grid-column:span 3 / span 3;}.md\\\\:col-span-1{grid-column:span 1 / span 1;}.md\\\\:-mx-8{margin-left:-2rem;margin-right:-2rem;}.md\\\\:mt-16{margin-top:4rem;}.md\\\\:ml-4{margin-left:1rem;}.md\\\\:mb-16{margin-bottom:4rem;}.md\\\\:mb-0{margin-bottom:0px;}.md\\\\:mb-8{margin-bottom:2rem;}.md\\\\:mt-0{margin-top:0px;}.md\\\\:table-cell{display:table-cell;}.md\\\\:flex{display:flex;}.md\\\\:hidden{display:none;}.md\\\\:h-screen{height:100vh;}.md\\\\:w-full{width:100%;}.md\\\\:w-1\\\\/2{width:50%;}.md\\\\:w-1\\\\/5{width:20%;}.md\\\\:w-3\\\\/5{width:60%;}.md\\\\:max-w-full{max-width:100%;}.md\\\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.md\\\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.md\\\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.md\\\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.md\\\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}.md\\\\:items-end{align-items:flex-end;}.md\\\\:justify-end{justify-content:flex-end;}.md\\\\:justify-start{justify-content:flex-start;}.md\\\\:p-10{padding:2.5rem;}.md\\\\:p-8{padding:2rem;}.md\\\\:py-20{padding-top:5rem;padding-bottom:5rem;}.md\\\\:px-8{padding-left:2rem;padding-right:2rem;}.md\\\\:px-0{padding-left:0px;padding-right:0px;}.md\\\\:py-8{padding-top:2rem;padding-bottom:2rem;}.md\\\\:py-0{padding-top:0px;padding-bottom:0px;}.md\\\\:py-12{padding-top:3rem;padding-bottom:3rem;}.md\\\\:px-6{padding-left:1.5rem;padding-right:1.5rem;}.md\\\\:pb-20{padding-bottom:5rem;}.md\\\\:pt-12{padding-top:3rem;}.md\\\\:pt-20{padding-top:5rem;}.md\\\\:pb-16{padding-bottom:4rem;}.md\\\\:pb-10{padding-bottom:2.5rem;}.md\\\\:text-left{text-align:left;}.md\\\\:text-5xl{font-size:3rem;line-height:1;}.md\\\\:text-4xl{font-size:2.25rem;line-height:2.5rem;}.md\\\\:text-2xl{font-size:1.5rem;line-height:2rem;}.md\\\\:text-7xl{font-size:4.5rem;line-height:1;}.md\\\\:text-base{font-size:1rem;line-height:1.5rem;}}@media (min-width: 1024px){.lg\\\\:static{position:static;}.lg\\\\:order-1{order:1;}.lg\\\\:order-2{order:2;}.lg\\\\:order-3{order:3;}.lg\\\\:col-span-2{grid-column:span 2 / span 2;}.lg\\\\:col-span-3{grid-column:span 3 / span 3;}.lg\\\\:col-span-6{grid-column:span 6 / span 6;}.lg\\\\:col-span-5{grid-column:span 5 / span 5;}.lg\\\\:col-span-4{grid-column:span 4 / span 4;}.lg\\\\:col-span-1{grid-column:span 1 / span 1;}.lg\\\\:mr-3{margin-right:0.75rem;}.lg\\\\:block{display:block;}.lg\\\\:grid{display:grid;}.lg\\\\:flex{display:flex;}.lg\\\\:hidden{display:none;}.lg\\\\:h-auto{height:auto;}.lg\\\\:w-auto{width:auto;}.lg\\\\:w-1\\\\/4{width:25%;}.lg\\\\:grid-cols-3{grid-template-columns:repeat(3, minmax(0, 1fr));}.lg\\\\:grid-cols-5{grid-template-columns:repeat(5, minmax(0, 1fr));}.lg\\\\:grid-cols-8{grid-template-columns:repeat(8, minmax(0, 1fr));}.lg\\\\:grid-cols-6{grid-template-columns:repeat(6, minmax(0, 1fr));}.lg\\\\:grid-cols-2{grid-template-columns:repeat(2, minmax(0, 1fr));}.lg\\\\:items-center{align-items:center;}.lg\\\\:justify-end{justify-content:flex-end;}.lg\\\\:justify-center{justify-content:center;}.lg\\\\:gap-10{gap:2.5rem;}.lg\\\\:p-0{padding:0px;}.lg\\\\:px-0{padding-left:0px;padding-right:0px;}.lg\\\\:px-8{padding-left:2rem;padding-right:2rem;}.lg\\\\:px-10{padding-left:2.5rem;padding-right:2.5rem;}.lg\\\\:text-7xl{font-size:4.5rem;line-height:1;}.lg\\\\:text-5xl{font-size:3rem;line-height:1;}.lg\\\\:text-sm{font-size:0.875rem;line-height:1.25rem;}}@media (min-width: 1280px){.xl\\\\:mx-3{margin-left:0.75rem;margin-right:0.75rem;}.xl\\\\:grid-cols-4{grid-template-columns:repeat(4, minmax(0, 1fr));}.xl\\\\:text-4xl{font-size:2.25rem;line-height:2.5rem;}}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--3-oneOf-1-2!./app.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\nrequire(\"!../../node_modules/vue-style-loader/lib/addStylesServer.js\").default(\"4ff7fc8c\", content, true)","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"../images/icons/icon-envelope.svg\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"../images/icons/icon-phone.svg\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"../images/icons/icon-search.svg\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"../images/icons/icon-filters.svg\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"../images/icons/payments/visa.svg\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"../images/icons/payments/mastercard.svg\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"../images/icons/payments/amex.svg\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"body, html{font-size:1rem;line-height:1.5rem;line-height:1.5rem;--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}body,html{font-family:\\\"Poppins\\\",sans-serif}h1,h2,h3,h4,h5,h6{font-family:\\\"Raleway\\\",sans-serif}.{font-family:\\\"the_fox_tailregular\\\",sans-serif}.text-content h1, .text-content h2, .text-content h3, .text-content h4, .text-content h5, .text-content h6{margin-top:1rem;margin-bottom:1rem;font-weight:700}.text-content ol, .text-content ul{margin-top:1rem;margin-bottom:1rem;padding-left:1.25rem}.text-content ol{list-style-type:decimal}.text-content ul{list-style-type:disc}.text-content li, .text-content p{margin-top:0.75rem;margin-bottom:0.75rem}.icon-envelope{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \")}.icon-phone{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \")}.icon-search{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \")}.icon-filters{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \")}.tas-bg-yellow{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}.tas-bg-green{--tw-bg-opacity:1;background-color:rgba(185, 203, 27, var(--tw-bg-opacity))}.tas-bg-pink{--tw-bg-opacity:1;background-color:rgba(253, 80, 188, var(--tw-bg-opacity))}.tas-bg-blue-light{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity))}.tas-bg-blue-medium{--tw-bg-opacity:1;background-color:rgba(188, 205, 212, var(--tw-bg-opacity))}.tas-bg-orange{--tw-bg-opacity:1;background-color:rgba(255, 137, 0, var(--tw-bg-opacity))}.tas-bg-green-dark{--tw-bg-opacity:1;background-color:rgba(27, 203, 115, var(--tw-bg-opacity))}.tas-bg-red{--tw-bg-opacity:1;background-color:rgba(253, 80, 80, var(--tw-bg-opacity))}.tas-bg-blue{--tw-bg-opacity:1;background-color:rgba(142, 174, 217, var(--tw-bg-opacity))}.tas-bg-purple{--tw-bg-opacity:1;background-color:rgba(206, 169, 216, var(--tw-bg-opacity))}.tas-border-yellow{--tw-border-opacity:1;border-color:rgba(255, 204, 0, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-green{--tw-border-opacity:1;border-color:rgba(185, 203, 27, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-pink{--tw-border-opacity:1;border-color:rgba(253, 80, 188, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-blue-light{--tw-border-opacity:1;border-color:rgba(121, 208, 215, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-blue-medium{--tw-border-opacity:1;border-color:rgba(188, 205, 212, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-orange{--tw-border-opacity:1;border-color:rgba(255, 137, 0, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-green-dark{--tw-border-opacity:1;border-color:rgba(27, 203, 115, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-red{--tw-border-opacity:1;border-color:rgba(253, 80, 80, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-blue{--tw-border-opacity:1;border-color:rgba(142, 174, 217, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-border-purple{--tw-border-opacity:1;border-color:rgba(206, 169, 216, var(--tw-border-opacity));--tw-border-opacity:0.5}.tas-text-yellow{--tw-text-opacity:1;color:rgba(255, 204, 0, var(--tw-text-opacity))}.tas-text-green{--tw-text-opacity:1;color:rgba(185, 203, 27, var(--tw-text-opacity))}.tas-text-pink{--tw-text-opacity:1;color:rgba(253, 80, 188, var(--tw-text-opacity))}.tas-text-blue-light{--tw-text-opacity:1;color:rgba(121, 208, 215, var(--tw-text-opacity))}.tas-text-blue-medium{--tw-text-opacity:1;color:rgba(188, 205, 212, var(--tw-text-opacity))}.tas-text-orange{--tw-text-opacity:1;color:rgba(255, 137, 0, var(--tw-text-opacity))}.tas-text-green-dark{--tw-text-opacity:1;color:rgba(27, 203, 115, var(--tw-text-opacity))}.tas-text-red{--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity))}.tas-text-blue{--tw-text-opacity:1;color:rgba(142, 174, 217, var(--tw-text-opacity))}.tas-text-purple{--tw-text-opacity:1;color:rgba(206, 169, 216, var(--tw-text-opacity))}.btn{display:block;-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:9999px;padding-left:1rem;padding-right:1rem;padding-top:1rem;padding-bottom:1rem;text-align:center;}.btn:focus, .btn:hover{outline:2px solid transparent;outline-offset:2px}.btn-small{padding-left:0.75rem;padding-right:0.75rem;padding-top:0.75rem;padding-bottom:0.75rem;text-align:center}.btn-primary{border-width:1px;--tw-border-opacity:1;border-color:rgba(51, 51, 51, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity));transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.btn-primary:focus, .btn-primary:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.btn-primary:focus, .btn-primary:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-primary:focus, .btn-primary:hover{--tw-shadow:0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{cursor:not-allowed}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-border-opacity:0.5}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity))}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-text-opacity:0.5}.btn-primary:disabled, .btn-primary:disabled:focus, .btn-primary:disabled:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.btn-secondary{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.btn-secondary:focus, .btn-secondary:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{cursor:not-allowed}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-border-opacity:0.5}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity))}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-text-opacity:0.5}.btn-secondary:disabled, .btn-secondary:disabled:focus, .btn-secondary:disabled:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}.btn-tertiary{border-width:1px;--tw-border-opacity:1;border-color:rgba(255, 255, 255, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity));transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.btn-tertiary:focus, .btn-tertiary:hover{--tw-bg-opacity:1;background-color:rgba(51, 51, 51, var(--tw-bg-opacity))}.btn-tertiary:focus, .btn-tertiary:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{cursor:not-allowed}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-border-opacity:0.5}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-bg-opacity:1;background-color:rgba(243, 242, 238, var(--tw-bg-opacity))}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-text-opacity:0.5}.btn-tertiary:disabled, .btn-tertiary:disabled:focus, .btn-tertiary:disabled:hover{--tw-shadow:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}@media (max-width:640px){.btn, .btn-small{width:100%}}@media (min-width:640px){.btn, .btn-small{padding-left:2rem;padding-right:2rem}}.form-label{margin-bottom:0.25rem;display:block;padding-left:0.75rem;padding-right:0.75rem;font-size:0.75rem;line-height:1rem;font-weight:500;text-transform:uppercase}.form-control, .v-money{width:100%;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding-left:1rem;padding-right:1rem;padding-top:0.75rem;padding-bottom:0.75rem;line-height:1rem}.form-control,.v-money{border:1px solid rgba(0,0,0,.1)}.form-control:focus, .form-control:hover{outline:2px solid transparent;outline-offset:2px;--tw-ring-opacity:1;--tw-ring-color:rgba(51, 51, 51, var(--tw-ring-opacity))}.form-select{width:100%;border-radius:0.75rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity));padding-top:0px;padding-bottom:0px;padding-left:1rem;padding-right:1rem;line-height:1rem;height:50px;border:1px solid rgba(0,0,0,.1)}.field-invalid{margin-left:0.75rem;margin-right:0.75rem;margin-top:0.25rem;display:block;font-size:0.75rem;line-height:1rem;--tw-text-opacity:1;color:rgba(253, 80, 80, var(--tw-text-opacity))}.calendar-item{margin-left:auto;margin-right:auto;height:2.5rem;width:2.5rem;border-radius:9999px;font-size:0.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;}.calendar-item:hover{--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity))}.calendar-item:hover{outline:2px solid transparent;outline-offset:2px}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{cursor:not-allowed}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{--tw-text-opacity:1;color:rgba(51, 51, 51, var(--tw-text-opacity))}.calendar-item:disabled, .calendar-item:disabled:focus, .calendar-item:disabled:hover{--tw-text-opacity:0.2}.calendar-item-active{margin-left:auto;margin-right:auto;height:2.5rem;width:2.5rem;border-radius:9999px;--tw-bg-opacity:1;background-color:rgba(255, 204, 0, var(--tw-bg-opacity));font-size:0.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;}.calendar-item-active:hover{outline:2px solid transparent;outline-offset:2px}.account-nav-link{margin-left:1.25rem;margin-right:1.25rem;font-size:1.125rem;line-height:1.75rem;font-weight:700;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.account-nav-link:focus, .account-nav-link:hover{outline:2px solid transparent;outline-offset:2px}.account-nav-link:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.account-nav-link:hover{--tw-text-opacity:0.75}.account-nav-link.nuxt-link-exact-active{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.page-wrapper{padding-top:68px}@media (min-width:1024px){.page-wrapper{padding-left:2rem;padding-right:2rem}}.account-button{border-radius:0.5rem;border-width:1px;--tw-border-opacity:1;border-color:rgba(243, 242, 238, var(--tw-border-opacity));padding:0.5rem;text-align:center;font-size:0.875rem;line-height:1.25rem;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;transition-property:background-color, border-color, color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;transition-duration:200ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);}.account-button:focus, .account-button:hover{--tw-border-opacity:1;border-color:rgba(121, 208, 215, var(--tw-border-opacity))}.account-button:focus, .account-button:hover{--tw-bg-opacity:1;background-color:rgba(121, 208, 215, var(--tw-bg-opacity))}.account-button:focus, .account-button:hover{--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}.account-button:focus, .account-button:hover{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.account-button{width:6rem}}.page-enter-active,.page-leave-active{transition:opacity .1s}.page-enter,.page-leave-to{opacity:0}.therapist-list-item{grid-auto-rows:.2fr 1fr}.ql-editor p{margin-top:1.25em!important;margin-bottom:1.25em!important}.ql-editor>:last-child{margin-bottom:0!important}.ql-editor>:first-child{margin-top:0!important}.ql-toolbar.ql-snow{overflow:hidden;border-top-left-radius:0.75rem;border-top-right-radius:0.75rem;--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.ql-container.ql-snow{overflow:hidden;border-bottom-right-radius:0.75rem;border-bottom-left-radius:0.75rem;--tw-bg-opacity:1;background-color:rgba(255, 255, 255, var(--tw-bg-opacity))}.card-icon-visa{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \")}.card-icon-mastercard{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \")}.card-icon-amex{background-image:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \")}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","module.exports = __webpack_public_path__ + \"img/icon-envelope.12f9431.svg\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzNC45MTkiIGhlaWdodD0iMzQuOTIzIiB2aWV3Qm94PSIwIDAgMzQuOTE5IDM0LjkyMyI+CiAgPGcgaWQ9IlBob25lcy1Nb2JpbGUtRGV2aWNlc19QaG9uZV9waG9uZSIgZGF0YS1uYW1lPSJQaG9uZXMtTW9iaWxlLURldmljZXMgLyBQaG9uZSAvIHBob25lIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjgyLjc0NiAtMTQzLjUzNykiIHN0eWxlPSJtaXgtYmxlbmQtbW9kZTogbXVsdGlwbHk7aXNvbGF0aW9uOiBpc29sYXRlIj4KICAgIDxnIGlkPSJHcm91cF8xMSIgZGF0YS1uYW1lPSJHcm91cCAxMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjgzLjc1IDE0NC43NikiPgogICAgICA8ZyBpZD0icGhvbmUiPgogICAgICAgIDxwYXRoIGlkPSJTaGFwZV81OSIgZGF0YS1uYW1lPSJTaGFwZSA1OSIgZD0iTTMwNC41MTMsMTc2LjE4OGwuMDE3LjAxYTguMDQsOC4wNCwwLDAsMCwxMC0xLjFsMS4xMjUtMS4xMjVhMi42ODIsMi42ODIsMCwwLDAsMC0zLjc5MWwtNC43MzgtNC43MzVhMi42ODIsMi42ODIsMCwwLDAtMy43OTEsMGgwYTIuNjc2LDIuNjc2LDAsMCwxLTMuNzg5LDBsLTcuNTgyLTcuNTgzYTIuNjgyLDIuNjgyLDAsMCwxLDAtMy43OTFoMGEyLjY4LDIuNjgsMCwwLDAsMC0zLjc4OWwtNC43MzctNC43NDNhMi42ODIsMi42ODIsMCwwLDAtMy43OTEsMGwtMS4xMjUsMS4xMjVhOC4wNDIsOC4wNDIsMCwwLDAtMS4xLDEwbC4wMTIuMDE3YTcyLjU1Myw3Mi41NTMsMCwwLDAsMTkuNDk1LDE5LjVaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMjgzLjc1IC0xNDQuNzYpIiBmaWxsPSJub25lIiBzdHJva2U9IiM3OWQwZDciIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICAgIDwvZz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iR3JvdXBfNDAzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMC45MDIiIGhlaWdodD0iMzAuODgxIiB2aWV3Qm94PSIwIDAgMzAuOTAyIDMwLjg4MSI+CiAgPGcgaWQ9InNlYXJjaC0xIj4KICAgIDxwYXRoIGlkPSJTaGFwZV8xMTA2IiBkPSJNMjA0LjExNywzNjkwLjQ4Mmw1Ljk3Nyw1Ljk3OWEyLjU2NCwyLjU2NCwwLDAsMSwwLDMuNjMyLDIuNiwyLjYsMCwwLDEtMy42MzgsMGwtNS45NzgtNS45NzhhMTMuMTgyLDEzLjE4MiwwLDEsMSwzLjYzOS0zLjYzM1ptLTEuNjMzLTcuMzMxYTkuMzI5LDkuMzI5LDAsMSwwLTkuMzI5LDkuMzI5QTkuMzMzLDkuMzMzLDAsMCwwLDIwMi40ODQsMzY4My4xNTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTc5Ljk0NSAtMzY2OS45NTcpIiBmaWxsPSIjMzMzIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICA8L2c+Cjwvc3ZnPgo=\"","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNyIgaGVpZ2h0PSIxNCIgdmlld0JveD0iMCAwIDE3IDE0Ij4KICA8ZyBpZD0iR3JvdXBfOTExIiBkYXRhLW5hbWU9Ikdyb3VwIDkxMSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTEwOTYuNSAtODA2LjUpIj4KICAgIDxsaW5lIGlkPSJMaW5lXzE0MyIgZGF0YS1uYW1lPSJMaW5lIDE0MyIgeDI9IjE1IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMDk3LjUgODA5LjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSBpZD0iTGluZV8xNDUiIGRhdGEtbmFtZT0iTGluZSAxNDUiIHkyPSI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTAxLjUgODA3LjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSBpZD0iTGluZV8xNDYiIGRhdGEtbmFtZT0iTGluZSAxNDYiIHkyPSI0IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxMTA4LjUgODE1LjUpIiBmaWxsPSJub25lIiBzdHJva2U9IiMzMzMiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLXdpZHRoPSIyIi8+CiAgICA8bGluZSBpZD0iTGluZV8xNDQiIGRhdGEtbmFtZT0iTGluZSAxNDQiIHgyPSIxNSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTA5Ny41IDgxNy41KSIgZmlsbD0ibm9uZSIgc3Ryb2tlPSIjMzMzIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIvPgogIDwvZz4KPC9zdmc+Cg==\"","module.exports = __webpack_public_path__ + \"img/visa.d3b116a.svg\";","module.exports = __webpack_public_path__ + \"img/mastercard.ded9e0b.svg\";","module.exports = __webpack_public_path__ + \"img/amex.8ad5b1a.svg\";","// style-loader: Adds some css to the DOM by adding a <style> tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--3-oneOf-1-1!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--3-oneOf-1-2!./fonts.css\");\nif(content.__esModule) content = content.default;\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\nrequire(\"!../../node_modules/vue-style-loader/lib/addStylesServer.js\").default(\"ff830ea8\", content, true)","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_GET_URL_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/getUrl.js\");\nvar ___CSS_LOADER_URL_IMPORT_0___ = require(\"../fonts/Poppins-100-devanagari1.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_1___ = require(\"../fonts/Poppins-100-latin-ext2.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_2___ = require(\"../fonts/Poppins-100-latin3.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_3___ = require(\"../fonts/Poppins-400-devanagari4.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_4___ = require(\"../fonts/Poppins-400-latin-ext5.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_5___ = require(\"../fonts/Poppins-400-latin6.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_6___ = require(\"../fonts/Poppins-500-devanagari7.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_7___ = require(\"../fonts/Poppins-500-latin-ext8.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_8___ = require(\"../fonts/Poppins-500-latin9.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_9___ = require(\"../fonts/Poppins-600-devanagari10.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_10___ = require(\"../fonts/Poppins-600-latin-ext11.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_11___ = require(\"../fonts/Poppins-600-latin12.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_12___ = require(\"../fonts/Poppins-700-devanagari13.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_13___ = require(\"../fonts/Poppins-700-latin-ext14.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_14___ = require(\"../fonts/Poppins-700-latin15.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_15___ = require(\"../fonts/Raleway-500-cyrillic-ext16.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_16___ = require(\"../fonts/Raleway-500-cyrillic17.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_17___ = require(\"../fonts/Raleway-500-vietnamese18.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_18___ = require(\"../fonts/Raleway-500-latin-ext19.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_19___ = require(\"../fonts/Raleway-500-latin20.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_20___ = require(\"../fonts/Raleway-600-cyrillic-ext21.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_21___ = require(\"../fonts/Raleway-600-cyrillic22.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_22___ = require(\"../fonts/Raleway-600-vietnamese23.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_23___ = require(\"../fonts/Raleway-600-latin-ext24.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_24___ = require(\"../fonts/Raleway-600-latin25.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_25___ = require(\"../fonts/Raleway-700-cyrillic-ext26.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_26___ = require(\"../fonts/Raleway-700-cyrillic27.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_27___ = require(\"../fonts/Raleway-700-vietnamese28.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_28___ = require(\"../fonts/Raleway-700-latin-ext29.woff2\");\nvar ___CSS_LOADER_URL_IMPORT_29___ = require(\"../fonts/Raleway-700-latin30.woff2\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\nvar ___CSS_LOADER_URL_REPLACEMENT_0___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_0___);\nvar ___CSS_LOADER_URL_REPLACEMENT_1___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_1___);\nvar ___CSS_LOADER_URL_REPLACEMENT_2___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_2___);\nvar ___CSS_LOADER_URL_REPLACEMENT_3___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_3___);\nvar ___CSS_LOADER_URL_REPLACEMENT_4___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_4___);\nvar ___CSS_LOADER_URL_REPLACEMENT_5___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_5___);\nvar ___CSS_LOADER_URL_REPLACEMENT_6___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_6___);\nvar ___CSS_LOADER_URL_REPLACEMENT_7___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_7___);\nvar ___CSS_LOADER_URL_REPLACEMENT_8___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_8___);\nvar ___CSS_LOADER_URL_REPLACEMENT_9___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_9___);\nvar ___CSS_LOADER_URL_REPLACEMENT_10___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_10___);\nvar ___CSS_LOADER_URL_REPLACEMENT_11___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_11___);\nvar ___CSS_LOADER_URL_REPLACEMENT_12___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_12___);\nvar ___CSS_LOADER_URL_REPLACEMENT_13___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_13___);\nvar ___CSS_LOADER_URL_REPLACEMENT_14___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_14___);\nvar ___CSS_LOADER_URL_REPLACEMENT_15___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_15___);\nvar ___CSS_LOADER_URL_REPLACEMENT_16___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_16___);\nvar ___CSS_LOADER_URL_REPLACEMENT_17___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_17___);\nvar ___CSS_LOADER_URL_REPLACEMENT_18___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_18___);\nvar ___CSS_LOADER_URL_REPLACEMENT_19___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_19___);\nvar ___CSS_LOADER_URL_REPLACEMENT_20___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_20___);\nvar ___CSS_LOADER_URL_REPLACEMENT_21___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_21___);\nvar ___CSS_LOADER_URL_REPLACEMENT_22___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_22___);\nvar ___CSS_LOADER_URL_REPLACEMENT_23___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_23___);\nvar ___CSS_LOADER_URL_REPLACEMENT_24___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_24___);\nvar ___CSS_LOADER_URL_REPLACEMENT_25___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_25___);\nvar ___CSS_LOADER_URL_REPLACEMENT_26___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_26___);\nvar ___CSS_LOADER_URL_REPLACEMENT_27___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_27___);\nvar ___CSS_LOADER_URL_REPLACEMENT_28___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_28___);\nvar ___CSS_LOADER_URL_REPLACEMENT_29___ = ___CSS_LOADER_GET_URL_IMPORT___(___CSS_LOADER_URL_IMPORT_29___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:100;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_0___ + \") format(\\\"woff2\\\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:100;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_1___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:100;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_2___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_3___ + \") format(\\\"woff2\\\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_4___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:400;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_5___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_6___ + \") format(\\\"woff2\\\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_7___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_8___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_9___ + \") format(\\\"woff2\\\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_10___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_11___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_12___ + \") format(\\\"woff2\\\");unicode-range:U+0900-097f,U+1cd0-1cf6,U+1cf8-1cf9,U+200c-200d,U+20a8,U+20b9,U+25cc,U+a830-a839,U+a8e0-a8fb}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_13___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Poppins\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_14___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_15___ + \") format(\\\"woff2\\\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_16___ + \") format(\\\"woff2\\\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_17___ + \") format(\\\"woff2\\\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_18___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:500;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_19___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_20___ + \") format(\\\"woff2\\\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_21___ + \") format(\\\"woff2\\\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_22___ + \") format(\\\"woff2\\\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_23___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:600;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_24___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_25___ + \") format(\\\"woff2\\\");unicode-range:U+0460-052f,U+1c80-1c88,U+20b4,U+2de0-2dff,U+a640-a69f,U+fe2e-fe2f}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_26___ + \") format(\\\"woff2\\\");unicode-range:U+0400-045f,U+0490-0491,U+04b0-04b1,U+2116}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_27___ + \") format(\\\"woff2\\\");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01a0-01a1,U+01af-01b0,U+1ea0-1ef9,U+20ab}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_28___ + \") format(\\\"woff2\\\");unicode-range:U+0100-024f,U+0259,U+1e??,U+2020,U+20a0-20ab,U+20ad-20cf,U+2113,U+2c60-2c7f,U+a720-a7ff}@font-face{font-family:\\\"Raleway\\\";font-style:normal;font-weight:700;src:url(\" + ___CSS_LOADER_URL_REPLACEMENT_29___ + \") format(\\\"woff2\\\");unicode-range:U+00??,U+0131,U+0152-0153,U+02bb-02bc,U+02c6,U+02da,U+02dc,U+2000-206f,U+2074,U+20ac,U+2122,U+2191,U+2193,U+2212,U+2215,U+feff,U+fffd}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","module.exports = __webpack_public_path__ + \"fonts/Poppins-100-devanagari1.713233d.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-100-latin-ext2.14b7d78.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-100-latin3.ab66112.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-400-devanagari4.4dcae97.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-400-latin-ext5.53f1614.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-400-latin6.5b8f3ba.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-500-devanagari7.cdc211e.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-500-latin-ext8.64676cf.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-500-latin9.dc16a35.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-600-devanagari10.e897a1b.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-600-latin-ext11.ec1f0b8.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-600-latin12.e49343f.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-700-devanagari13.370161f.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-700-latin-ext14.ecb421a.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Poppins-700-latin15.9690ce6.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-500-cyrillic-ext16.d1327e9.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-500-cyrillic17.030bdf4.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-500-vietnamese18.41f91bf.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-500-latin-ext19.bfe79f0.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-500-latin20.e371b8f.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-600-cyrillic-ext21.d1327e9.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-600-cyrillic22.030bdf4.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-600-vietnamese23.41f91bf.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-600-latin-ext24.bfe79f0.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-600-latin25.e371b8f.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-700-cyrillic-ext26.d1327e9.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-700-cyrillic27.030bdf4.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-700-vietnamese28.41f91bf.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-700-latin-ext29.bfe79f0.woff2\";","module.exports = __webpack_public_path__ + \"fonts/Raleway-700-latin30.e371b8f.woff2\";","module.exports = __webpack_public_path__ + \"img/logo-white-text.6954fe5.svg\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyBpZD0iR3JvdXBfMTE5OCIgZGF0YS1uYW1lPSJHcm91cCAxMTk4IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNi41OTciIGhlaWdodD0iMjYuNDM1IiB2aWV3Qm94PSIwIDAgMjYuNTk3IDI2LjQzNSI+CiAgPHBhdGggaWQ9IlBhdGhfMzIwIiBkYXRhLW5hbWU9IlBhdGggMzIwIiBkPSJNMjYuNiwxMy4zQTEzLjMsMTMuMywwLDEsMCwxMS4yMiwyNi40MzVWMTcuMTQySDcuODQ0VjEzLjNIMTEuMjJ2LTIuOTNjMC0zLjMzMywxLjk4NS01LjE3NCw1LjAyMy01LjE3NGEyMC40NSwyMC40NSwwLDAsMSwyLjk3Ny4yNlY4LjcyN0gxNy41NDNBMS45MjIsMS45MjIsMCwwLDAsMTUuMzc2LDEwLjhWMTMuM2gzLjY4OGwtLjU5LDMuODQ0aC0zLjF2OS4yOTNBMTMuMywxMy4zLDAsMCwwLDI2LjYsMTMuM1oiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==\"","module.exports = __webpack_public_path__ + \"img/icon-instagram.34cda1d.svg\";","module.exports = \"data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNi42NzkiIGhlaWdodD0iMjEuNjc4IiB2aWV3Qm94PSIwIDAgMjYuNjc5IDIxLjY3OCI+CiAgPHBhdGggaWQ9IlBhdGhfMzYyIiBkYXRhLW5hbWU9IlBhdGggMzYyIiBkPSJNODMuMzksMTIwLjEyOGExNS40NjgsMTUuNDY4LDAsMCwwLDE1LjU3NC0xNS41NzRjMC0uMjM3LDAtLjQ3My0uMDE2LS43MDhhMTEuMTM3LDExLjEzNywwLDAsMCwyLjczMS0yLjgzMywxMC45MjUsMTAuOTI1LDAsMCwxLTMuMTQ0Ljg2MSw1LjQ5Myw1LjQ5MywwLDAsMCwyLjQwNi0zLjAyOCwxMC45NjksMTAuOTY5LDAsMCwxLTMuNDc2LDEuMzI5LDUuNDc5LDUuNDc5LDAsMCwwLTkuMzI4LDQuOTkyLDE1LjU0LDE1LjU0LDAsMCwxLTExLjI4MS01LjcxOSw1LjQ3OCw1LjQ3OCwwLDAsMCwxLjY5NSw3LjMwNyw1LjQzMyw1LjQzMywwLDAsMS0yLjQ4NC0uNjg1di4wNjlhNS40NzYsNS40NzYsMCwwLDAsNC4zOTEsNS4zNjYsNS40NjUsNS40NjUsMCwwLDEtMi40NzIuMDk0LDUuNDgsNS40OCwwLDAsMCw1LjExNCwzLjgsMTAuOTgzLDEwLjk4MywwLDAsMS02LjgsMi4zNDgsMTEuMTQxLDExLjE0MSwwLDAsMS0xLjMtLjA3OSwxNS41LDE1LjUsMCwwLDAsOC4zOSwyLjQ1NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTc1IC05OC40NSkiIGZpbGw9IiNmZmYiLz4KPC9zdmc+Cg==\"","export * from \"-!../../node_modules/vue-style-loader/index.js??ref--4-oneOf-1-0!../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/cjs.js??ref--4-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/@nuxt/postcss8/node_modules/postcss-loader/dist/cjs.js??ref--4-oneOf-1-2!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Footer.vue?vue&type=style&index=0&id=13c9b172&lang=postcss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/@nuxt/postcss8/node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(function(i){return i[1]});\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".footer-link[data-v-13c9b172]{font-size:0.75rem;line-height:1rem;text-transform:uppercase;--tw-text-opacity:1;color:rgba(255, 255, 255, var(--tw-text-opacity))}\", \"\"]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___;\n","export const state = () => ({\n single: {},\n related: [],\n list: [],\n filters: {\n categories: [],\n subjects: [],\n authors: [],\n },\n meta: [],\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setSingle(state, data) {\n state.single = data\n },\n setRelated(state, data) {\n state.related = data\n },\n setCategoryFilters(state, data) {\n state.filters.categories = data\n },\n setSubjectFilters(state, data) {\n state.filters.subjects = data\n },\n setAuthorFilters(state, data) {\n state.filters.authors = data\n },\n setMeta(state, meta) {\n state.meta = meta\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/posts', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n\n async filters({ commit }, payload) {\n await this.$axios.post('/posts/filters')\n .then((res) => {\n if (res.status === 200) {\n commit('setCategoryFilters', res.data.categories)\n commit('setSubjectFilters', res.data.subjects)\n commit('setAuthorFilters', res.data.authors)\n }\n }).catch((error) => {\n //\n })\n },\n\n async single({ commit, error }, slug) {\n await this.$axios.get('/posts/'+slug)\n .then((res) => {\n if (res.status === 200) {\n commit('setSingle', res.data.post)\n commit('setRelated', res.data.related)\n }\n })\n },\n}","export const state = () => ({\n therapist: {},\n client: {}\n})\n\nexport const mutations = {\n setTherapist(state, data) {\n state.therapist = data\n },\n setClient(state, data) {\n state.client = data\n }\n}\n\nexport const actions = {\n async get({ commit, error }, id) {\n await this.$axios.get('/booking/intent/'+id)\n .then((res) => {\n if (res.status === 200) {\n commit('setTherapist', res.data.data)\n }\n })\n },\n\n async getClient({ commit, error }, id) {\n await this.$axios.get('/therapist/clients/'+id)\n .then((res) => {\n if (res.status === 200) {\n commit('setClient', res.data.data)\n }\n })\n },\n}","export const state = () => ({\n list: []\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n }\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/languages', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n }\n })\n }\n}","export const state = () => ({\n location: null,\n\ttherapists: [],\n meta: [],\n})\n\nexport const mutations = {\n setLocation(state, data) {\n state.location = data\n },\n\tsetList(state, data) {\n state.therapists = data\n },\n\tsetMeta(state, data) {\n state.meta = data\n },\n}\n\nexport const actions = {\n async get({ commit, dispatch }, payload) {\n await this.$axios.get('/location/'+payload)\n .then((res) => {\n if (res.status === 200) {\n commit('setLocation', res.data)\n dispatch('getTherapists', {\n\t\t\t\t\tlocationData: {\n\t\t\t\t\t\tlat: res.data.lat,\n\t\t\t\t\t\tlng: res.data.lng\n\t\t\t\t\t},\n\t\t\t\t\tdistance: 30\n })\n }\n })\n },\n\n\tasync getTherapists({ commit, error }, payload) {\n await this.$axios.post('/therapists', payload).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n}","export const state = () => ({\n list: [],\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/session-types')\n .then((res) => {\n if (res.status === 200) {\n commit('setList', res.data)\n }\n })\n },\n}","export const state = () => ({\n list: [],\n single: null\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setSingle(state, data) {\n state.single = data\n },\n}\n\nexport const actions = {\n async list({ commit, error }, payload) {\n await this.$axios.get('/specialisms')\n .then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n }\n })\n },\n\n async get({ commit, error }, payload) {\n await this.$axios.get('/specialisms/'+payload)\n .then((res) => {\n if (res.status === 200) {\n commit('setSingle', res.data.data)\n }\n })\n },\n}","export const state = () => ({\n list: [],\n single: null\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setSingle(state, data) {\n state.single = data\n },\n}\n\nexport const actions = {\n async list({ commit, error }, payload) {\n await this.$axios.get('/tags')\n .then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n }\n })\n },\n\n async get({ commit, error }, payload) {\n await this.$axios.get('/tags/'+payload)\n .then((res) => {\n if (res.status === 200) {\n commit('setSingle', res.data.data)\n }\n })\n },\n}","export const state = () => ({\n single: {},\n list: [],\n meta: [],\n filters: {\n session_types: [],\n specialisms: [],\n languages: [],\n tags: [],\n },\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setSingle(state, data) {\n state.single = data\n },\n setMeta(state, meta) {\n state.meta = meta\n },\n setFilters(state, filters) {\n state.filters = filters\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.post('/therapists', payload).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n\n async single({ commit, error }, id) {\n await this.$axios.post('/therapists/'+id)\n .then((res) => {\n if (res.status === 200) {\n commit('setSingle', res.data.data)\n }\n })\n },\n\n async filters({ commit }, payload) {\n await this.$axios.get('/therapists/filters')\n .then((res) => {\n if (res.status === 200) {\n commit('setFilters', res.data);\n }\n }).catch((response) => {\n console.log(response)\n })\n },\n}","export const state = () => ({\n setupIntent: {},\n defaultPaymentMethod: {},\n paymentMethods: []\n})\n\nexport const mutations = {\n setPaymentIntent(state, data) {\n state.setupIntent = data\n },\n setPaymentMethods(state, data) {\n state.paymentMethods = data\n },\n setDefaultPaymentMethod(state, data) {\n state.defaultPaymentMethod = data\n },\n}\n\nexport const actions = {\n async setupIntent({ commit, error }, payload) {\n await this.$axios.get('/payments/cards/setup')\n .then((res) => {\n if (res.status === 200) {\n commit('setPaymentIntent', res.data)\n }\n })\n },\n\n async savePaymentMethod({ dispatch, error }, payload) {\n await this.$axios.post('/payments/cards/create', payload).then((res) => {\n if (res.status === 200) {\n dispatch('getPaymentMethods')\n dispatch('setupIntent')\n }\n }).catch((error) => {\n dispatch('setupIntent')\n this.$toast.error(error.response.data.message).goAway(15000);\n })\n },\n\n async getPaymentMethods({ commit, error }, payload) {\n await this.$axios.get('/payments/cards')\n .then((res) => {\n if (res.status === 200) {\n commit('setPaymentMethods', res.data.payment_methods)\n commit('setDefaultPaymentMethod', res.data.default_payment_method)\n }\n }).catch((error) => {\n this.$toast.error(error.response.data.message).goAway(15000);\n })\n },\n\n async deletePaymentMethod({ dispatch }, payload) {\n await this.$axios.post('/payments/cards/delete', payload)\n .then((res) => {\n if (res.status === 200) {\n this.$toast.success('Successfully deleted card').goAway(3000);\n dispatch('getPaymentMethods')\n }\n }).catch((error) => {\n this.$toast.error(error.response.data.message).goAway(15000);\n })\n },\n \n async makePrimary({ dispatch }, payload) {\n await this.$axios.post('/payments/cards/update', payload)\n .then((res) => {\n if (res.status === 200) {\n this.$toast.success('Successfully updated primary card').goAway(3000);\n dispatch('getPaymentMethods')\n }\n }).catch((error) => {\n this.$toast.error(error.response.data.message).goAway(15000);\n })\n },\n}","export const actions = {\n async callback({ dispatch }, payload) {\n await this.$axios.post('/cronofy/callback', {\n code: payload\n }).then((response) => {\n if(response.status == 200) {\n dispatch('saveToken', response.data);\n }\n })\n },\n\n async saveToken({ dispatch }, payload) {\n await this.$axios.post('/cronofy/save', {\n token: payload\n })\n },\n}","export const state = () => ({\n total: 0,\n})\n\nexport const mutations = {\n setTotalProgress(state, data) {\n state.total = data\n }\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/account/progress', {\n params: payload\n })\n .then((res) => {\n if (res.status === 200) {\n commit('setTotalProgress', res.data)\n }\n })\n },\n}","export const state = () => ({\n subscription: null\n})\n\nexport const mutations = {\n setSubscription(state, data) {\n state.subscription = data\n }\n}\n\nexport const actions = {\n async getSubscription({ dispatch, commit, error }, payload) {\n await this.$axios.get('/subscription').then((res) => {\n if (res.status === 200) {\n commit('setSubscription', res.data.data)\n }\n }).catch((response) => {\n //\n })\n },\n\n async startSubscription({ dispatch }, payload) {\n await this.$axios.post('/subscription/create', {\n payment_method: payload.payment_method,\n discount_code: payload.discount_code\n }).then((res) => {\n if (res.status === 200) {\n dispatch('getSubscription')\n }\n })\n },\n\n async cancelSubscription({ dispatch }, payload) {\n await this.$axios.post('/subscription/cancel').then((res) => {\n if (res.status === 200) {\n dispatch('getSubscription')\n }\n })\n },\n\n async updateSubscription({ dispatch }, payload) {\n await this.$axios.post('/subscription/update', payload).then((res) => {\n if (res.status === 200) {\n dispatch('getSubscription')\n }\n })\n },\n\n async resumeSubscription({ dispatch }, payload) {\n await this.$axios.post('/subscription/resume').then((res) => {\n if (res.status === 200) {\n dispatch('getSubscription')\n }\n })\n },\n}\n","export const state = () => ({\n payment_intent: null,\n connect_id: null\n})\n\nexport const mutations = {\n setPaymentIntent(state, intent) {\n state.payment_intent = intent\n },\n setAccountId(state, account_id) {\n state.connect_id = account_id\n }\n}\n\nexport const actions = {\n async getPaymentIntent({ commit }, payload) {\n await this.$axios.post('/booking/payment/intent/'+payload.user_id, payload).then((response) => {\n if(response.status == 200) {\n commit('setPaymentIntent', response.data.payment_intent);\n commit('setAccountId', response.data.connect_id);\n }\n }).catch((response) => {\n this.loading = false;\n })\n }\n}","export const state = () => ({\n booking: {}\n})\n\nexport const mutations = {\n setBooking(state, data) {\n state.booking = data\n }\n}\n\nexport const actions = {\n async get({ commit }, booking_id) {\n await this.$axios.get('/booking/reschedule/'+booking_id).then((response) => {\n commit('setBooking', response.data);\n })\n },\n\n async update({ commit }, payload) {\n await this.$axios.post('/booking/reschedule/'+payload.booking_id, {\n slot: payload.slot\n }).then((response) => {\n commit('booking/success/setBookings', response.data.data, { root: true })\n this.$router.push({ path: '/booking/'+payload.therapist_id+'/reschedule/success' })\n })\n },\n} ","export const state = () => ({\n list: []\n})\n\nexport const mutations = {\n setBookings(state, data) {\n state.list = data\n }\n}","export const state = () => ({\n sessions: [],\n totals: {}\n})\n\nexport const mutations = {\n setSessions(state, data) {\n state.sessions = data\n },\n setTotals(state, data) {\n state.totals = data\n }\n}\n\nexport const actions = {\n async get({ commit }, payload) {\n await this.$axios.post('/booking/summary', payload).then((response) => {\n if(response.status == 200) {\n commit('setSessions', response.data.sessions);\n commit('setTotals', response.data.grand_total);\n }\n }).catch((response) => {\n this.loading = false;\n })\n },\n}","export const state = () => ({\n list: [],\n meta: [],\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setMeta(state, meta) {\n state.meta = meta\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/booking/list', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n}","export const state = () => ({\n list: [],\n meta: [],\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setMeta(state, meta) {\n state.meta = meta\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/therapist/bookings', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n}","export const state = () => ({\n list: [],\n meta: [],\n single: {}\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setMeta(state, meta) {\n state.meta = meta\n },\n setSingle(state, data) {\n state.single = data\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/therapist/clients', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n\n async single({ commit, error }, client_id) {\n await this.$axios.get('/therapist/clients/'+client_id)\n .then((res) => {\n if (res.status === 200) {\n commit('setSingle', res.data.data)\n }\n })\n },\n\n async latest({ commit, error }, payload) {\n await this.$axios.get('/therapist/clients', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n}","export const state = () => ({\n statistics: {},\n bookings: {},\n clients: [],\n progress: []\n})\n\nexport const mutations = {\n setStatistics(state, data) {\n state.statistics = data\n },\n setBookings(state, data) {\n state.bookings = data\n },\n setClients(state, data) {\n state.clients = data\n },\n setProgress(state, data) {\n state.progress = data\n }\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/therapist/dashboard')\n .then((res) => {\n if (res.status === 200) {\n commit('setClients', res.data.clients)\n commit('setBookings', res.data.bookings)\n commit('setStatistics', res.data.statistics)\n commit('setProgress', res.data.progress)\n }\n })\n }\n}","export const state = () => ({\n list: [],\n single: {}\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setSingle(state, data) {\n state.single = data\n }\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/therapist/invitations')\n .then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n }\n })\n },\n\n async single({ commit }, reference) {\n await this.$axios.get('/invitation/'+reference)\n .then((res) => {\n commit('setSingle', res.data.data)\n })\n }\n}","export const state = () => ({\n list: [],\n meta: [],\n})\n\nexport const mutations = {\n setList(state, data) {\n state.list = data\n },\n setMeta(state, meta) {\n state.meta = meta\n },\n}\n\nexport const actions = {\n async get({ commit, error }, payload) {\n await this.$axios.get('/user/'+payload.user_id+'/messages', {\n params: payload,\n }).then((res) => {\n if (res.status === 200) {\n commit('setList', res.data.data)\n commit('setMeta', res.data.meta)\n }\n })\n },\n}","export const state = () => ({\n statistics: {},\n payments: [],\n})\n\nexport const mutations = {\n setStatistics(state, data) {\n state.statistics = data\n },\n setPayments(state, data) {\n state.payments = data\n }\n}\n\nexport const actions = {\n async getStatistics({ commit, error }, payload) {\n await this.$axios.get('/therapist/money')\n .then((res) => {\n if (res.status === 200) {\n commit('setStatistics', res.data)\n }\n })\n },\n \n async getPayments({ commit, error }, payload) {\n await this.$axios.get('/therapist/money/payments')\n .then((res) => {\n if (res.status === 200) {\n commit('setPayments', res.data)\n }\n })\n },\n}","const middleware = {}\n\nmiddleware['hero'] = require('../middleware/hero.js')\nmiddleware['hero'] = middleware['hero'].default || middleware['hero']\n\nmiddleware['success'] = require('../middleware/success.js')\nmiddleware['success'] = middleware['success'].default || middleware['success']\n\nmiddleware['therapist'] = require('../middleware/therapist.js')\nmiddleware['therapist'] = middleware['therapist'].default || middleware['therapist']\n\nexport default middleware\n","import Vue from 'vue'\nimport { isSamePath as _isSamePath, joinURL, normalizeURL, withQuery, withoutTrailingSlash } from 'ufo'\n\n// window.{{globals.loadedCallback}} hook\n// Useful for jsdom testing or plugins (https://github.com/tmpvar/jsdom#dealing-with-asynchronous-script-loading)\nif (process.client) {\n window.onNuxtReadyCbs = []\n window.onNuxtReady = (cb) => {\n window.onNuxtReadyCbs.push(cb)\n }\n}\n\nexport function createGetCounter (counterObject, defaultKey = '') {\n return function getCounter (id = defaultKey) {\n if (counterObject[id] === undefined) {\n counterObject[id] = 0\n }\n return counterObject[id]++\n }\n}\n\nexport function empty () {}\n\nexport function globalHandleError (error) {\n if (Vue.config.errorHandler) {\n Vue.config.errorHandler(error)\n }\n}\n\nexport function interopDefault (promise) {\n return promise.then(m => m.default || m)\n}\n\nexport function hasFetch(vm) {\n return vm.$options && typeof vm.$options.fetch === 'function' && !vm.$options.fetch.length\n}\nexport function purifyData(data) {\n if (process.env.NODE_ENV === 'production') {\n return data\n }\n\n return Object.entries(data).filter(\n ([key, value]) => {\n const valid = !(value instanceof Function) && !(value instanceof Promise)\n if (!valid) {\n console.warn(`${key} is not able to be stringified. This will break in a production environment.`)\n }\n return valid\n }\n ).reduce((obj, [key, value]) => {\n obj[key] = value\n return obj\n }, {})\n}\nexport function getChildrenComponentInstancesUsingFetch(vm, instances = []) {\n const children = vm.$children || []\n for (const child of children) {\n if (child.$fetch) {\n instances.push(child)\n continue; // Don't get the children since it will reload the template\n }\n if (child.$children) {\n getChildrenComponentInstancesUsingFetch(child, instances)\n }\n }\n return instances\n}\n\nexport function applyAsyncData (Component, asyncData) {\n if (\n // For SSR, we once all this function without second param to just apply asyncData\n // Prevent doing this for each SSR request\n !asyncData && Component.options.__hasNuxtData\n ) {\n return\n }\n\n const ComponentData = Component.options._originDataFn || Component.options.data || function () { return {} }\n Component.options._originDataFn = ComponentData\n\n Component.options.data = function () {\n const data = ComponentData.call(this, this)\n if (this.$ssrContext) {\n asyncData = this.$ssrContext.asyncData[Component.cid]\n }\n return { ...data, ...asyncData }\n }\n\n Component.options.__hasNuxtData = true\n\n if (Component._Ctor && Component._Ctor.options) {\n Component._Ctor.options.data = Component.options.data\n }\n}\n\nexport function sanitizeComponent (Component) {\n // If Component already sanitized\n if (Component.options && Component._Ctor === Component) {\n return Component\n }\n if (!Component.options) {\n Component = Vue.extend(Component) // fix issue #6\n Component._Ctor = Component\n } else {\n Component._Ctor = Component\n Component.extendOptions = Component.options\n }\n // If no component name defined, set file path as name, (also fixes #5703)\n if (!Component.options.name && Component.options.__file) {\n Component.options.name = Component.options.__file\n }\n return Component\n}\n\nexport function getMatchedComponents (route, matches = false, prop = 'components') {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m[prop]).map((key) => {\n matches && matches.push(index)\n return m[prop][key]\n })\n }))\n}\n\nexport function getMatchedComponentsInstances (route, matches = false) {\n return getMatchedComponents(route, matches, 'instances')\n}\n\nexport function flatMapComponents (route, fn) {\n return Array.prototype.concat.apply([], route.matched.map((m, index) => {\n return Object.keys(m.components).reduce((promises, key) => {\n if (m.components[key]) {\n promises.push(fn(m.components[key], m.instances[key], m, key, index))\n } else {\n delete m.components[key]\n }\n return promises\n }, [])\n }))\n}\n\nexport function resolveRouteComponents (route, fn) {\n return Promise.all(\n flatMapComponents(route, async (Component, instance, match, key) => {\n // If component is a function, resolve it\n if (typeof Component === 'function' && !Component.options) {\n try {\n Component = await Component()\n } catch (error) {\n // Handle webpack chunk loading errors\n // This may be due to a new deployment or a network problem\n if (\n error &&\n error.name === 'ChunkLoadError' &&\n typeof window !== 'undefined' &&\n window.sessionStorage\n ) {\n const timeNow = Date.now()\n const previousReloadTime = parseInt(window.sessionStorage.getItem('nuxt-reload'))\n\n // check for previous reload time not to reload infinitely\n if (!previousReloadTime || previousReloadTime + 60000 < timeNow) {\n window.sessionStorage.setItem('nuxt-reload', timeNow)\n window.location.reload(true /* skip cache */)\n }\n }\n\n throw error\n }\n }\n match.components[key] = Component = sanitizeComponent(Component)\n return typeof fn === 'function' ? fn(Component, instance, match, key) : Component\n })\n )\n}\n\nexport async function getRouteData (route) {\n if (!route) {\n return\n }\n // Make sure the components are resolved (code-splitting)\n await resolveRouteComponents(route)\n // Send back a copy of route with meta based on Component definition\n return {\n ...route,\n meta: getMatchedComponents(route).map((Component, index) => {\n return { ...Component.options.meta, ...(route.matched[index] || {}).meta }\n })\n }\n}\n\nexport async function setContext (app, context) {\n // If context not defined, create it\n if (!app.context) {\n app.context = {\n isStatic: process.static,\n isDev: false,\n isHMR: false,\n app,\n store: app.store,\n payload: context.payload,\n error: context.error,\n base: app.router.options.base,\n env: {\"APP_URL\":\"http://api-takeaseat.eco-n-tech.co.uk/api/\",\"APP_DEBUG\":\"false\",\"STRIPE_KEY\":\"pk_live_51H9Wg0BgLIEukih0ABEKQIi7mwuK7BoUDRBQl4z6mDfo3nquwe0NWLGE1XyPHS3swRbwntA3oezvdLbMUs11WVhm00LDulAJ1B\",\"RECAPTCHA_SITE_KEY\":\"6LfJaJ0bAAAAABneXpUq7Adg5IkoTk6kfg2OjZo6\"}\n }\n // Only set once\n\n if (context.req) {\n app.context.req = context.req\n }\n if (context.res) {\n app.context.res = context.res\n }\n\n if (context.ssrContext) {\n app.context.ssrContext = context.ssrContext\n }\n app.context.redirect = (status, path, query) => {\n if (!status) {\n return\n }\n app.context._redirected = true\n // if only 1 or 2 arguments: redirect('/') or redirect('/', { foo: 'bar' })\n let pathType = typeof path\n if (typeof status !== 'number' && (pathType === 'undefined' || pathType === 'object')) {\n query = path || {}\n path = status\n pathType = typeof path\n status = 302\n }\n if (pathType === 'object') {\n path = app.router.resolve(path).route.fullPath\n }\n // \"/absolute/route\", \"./relative/route\" or \"../relative/route\"\n if (/(^[.]{1,2}\\/)|(^\\/(?!\\/))/.test(path)) {\n app.context.next({\n path,\n query,\n status\n })\n } else {\n path = withQuery(path, query)\n if (process.server) {\n app.context.next({\n path,\n status\n })\n }\n if (process.client) {\n // https://developer.mozilla.org/en-US/docs/Web/API/Location/replace\n window.location.replace(path)\n\n // Throw a redirect error\n throw new Error('ERR_REDIRECT')\n }\n }\n }\n if (process.server) {\n app.context.beforeNuxtRender = fn => context.beforeRenderFns.push(fn)\n }\n if (process.client) {\n app.context.nuxtState = window.__NUXT__\n }\n }\n\n // Dynamic keys\n const [currentRouteData, fromRouteData] = await Promise.all([\n getRouteData(context.route),\n getRouteData(context.from)\n ])\n\n if (context.route) {\n app.context.route = currentRouteData\n }\n\n if (context.from) {\n app.context.from = fromRouteData\n }\n\n app.context.next = context.next\n app.context._redirected = false\n app.context._errored = false\n app.context.isHMR = false\n app.context.params = app.context.route.params || {}\n app.context.query = app.context.route.query || {}\n}\n\nexport function middlewareSeries (promises, appContext) {\n if (!promises.length || appContext._redirected || appContext._errored) {\n return Promise.resolve()\n }\n return promisify(promises[0], appContext)\n .then(() => {\n return middlewareSeries(promises.slice(1), appContext)\n })\n}\n\nexport function promisify (fn, context) {\n let promise\n if (fn.length === 2) {\n // fn(context, callback)\n promise = new Promise((resolve) => {\n fn(context, function (err, data) {\n if (err) {\n context.error(err)\n }\n data = data || {}\n resolve(data)\n })\n })\n } else {\n promise = fn(context)\n }\n\n if (promise && promise instanceof Promise && typeof promise.then === 'function') {\n return promise\n }\n return Promise.resolve(promise)\n}\n\n// Imported from vue-router\nexport function getLocation (base, mode) {\n if (mode === 'hash') {\n return window.location.hash.replace(/^#\\//, '')\n }\n\n base = decodeURI(base).slice(0, -1) // consideration is base is normalized with trailing slash\n let path = decodeURI(window.location.pathname)\n\n if (base && path.startsWith(base)) {\n path = path.slice(base.length)\n }\n\n const fullPath = (path || '/') + window.location.search + window.location.hash\n\n return normalizeURL(fullPath)\n}\n\n// Imported from path-to-regexp\n\n/**\n * Compile a string to a template function for the path.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!function(Object=, Object=)}\n */\nexport function compile (str, options) {\n return tokensToFunction(parse(str, options), options)\n}\n\nexport function getQueryDiff (toQuery, fromQuery) {\n const diff = {}\n const queries = { ...toQuery, ...fromQuery }\n for (const k in queries) {\n if (String(toQuery[k]) !== String(fromQuery[k])) {\n diff[k] = true\n }\n }\n return diff\n}\n\nexport function normalizeError (err) {\n let message\n if (!(err.message || typeof err === 'string')) {\n try {\n message = JSON.stringify(err, null, 2)\n } catch (e) {\n message = `[${err.constructor.name}]`\n }\n } else {\n message = err.message || err\n }\n return {\n ...err,\n message,\n statusCode: (err.statusCode || err.status || (err.response && err.response.status) || 500)\n }\n}\n\n/**\n * The main path matching regexp utility.\n *\n * @type {RegExp}\n */\nconst PATH_REGEXP = new RegExp([\n // Match escaped characters that would otherwise appear in future matches.\n // This allows the user to escape special characters that won't transform.\n '(\\\\\\\\.)',\n // Match Express-style parameters and un-named parameters with a prefix\n // and optional suffixes. Matches appear as:\n //\n // \"/:test(\\\\d+)?\" => [\"/\", \"test\", \"\\d+\", undefined, \"?\", undefined]\n // \"/route(\\\\d+)\" => [undefined, undefined, undefined, \"\\d+\", undefined, undefined]\n // \"/*\" => [\"/\", undefined, undefined, undefined, undefined, \"*\"]\n '([\\\\/.])?(?:(?:\\\\:(\\\\w+)(?:\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))?|\\\\(((?:\\\\\\\\.|[^\\\\\\\\()])+)\\\\))([+*?])?|(\\\\*))'\n].join('|'), 'g')\n\n/**\n * Parse a string for the raw tokens.\n *\n * @param {string} str\n * @param {Object=} options\n * @return {!Array}\n */\nfunction parse (str, options) {\n const tokens = []\n let key = 0\n let index = 0\n let path = ''\n const defaultDelimiter = (options && options.delimiter) || '/'\n let res\n\n while ((res = PATH_REGEXP.exec(str)) != null) {\n const m = res[0]\n const escaped = res[1]\n const offset = res.index\n path += str.slice(index, offset)\n index = offset + m.length\n\n // Ignore already escaped sequences.\n if (escaped) {\n path += escaped[1]\n continue\n }\n\n const next = str[index]\n const prefix = res[2]\n const name = res[3]\n const capture = res[4]\n const group = res[5]\n const modifier = res[6]\n const asterisk = res[7]\n\n // Push the current path onto the tokens.\n if (path) {\n tokens.push(path)\n path = ''\n }\n\n const partial = prefix != null && next != null && next !== prefix\n const repeat = modifier === '+' || modifier === '*'\n const optional = modifier === '?' || modifier === '*'\n const delimiter = res[2] || defaultDelimiter\n const pattern = capture || group\n\n tokens.push({\n name: name || key++,\n prefix: prefix || '',\n delimiter,\n optional,\n repeat,\n partial,\n asterisk: Boolean(asterisk),\n pattern: pattern ? escapeGroup(pattern) : (asterisk ? '.*' : '[^' + escapeString(delimiter) + ']+?')\n })\n }\n\n // Match any characters still remaining.\n if (index < str.length) {\n path += str.substr(index)\n }\n\n // If the path exists, push it onto the end.\n if (path) {\n tokens.push(path)\n }\n\n return tokens\n}\n\n/**\n * Prettier encoding of URI path segments.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeURIComponentPretty (str, slashAllowed) {\n const re = slashAllowed ? /[?#]/g : /[/?#]/g\n return encodeURI(str).replace(re, (c) => {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase()\n })\n}\n\n/**\n * Encode the asterisk parameter. Similar to `pretty`, but allows slashes.\n *\n * @param {string}\n * @return {string}\n */\nfunction encodeAsterisk (str) {\n return encodeURIComponentPretty(str, true)\n}\n\n/**\n * Escape a regular expression string.\n *\n * @param {string} str\n * @return {string}\n */\nfunction escapeString (str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, '\\\\$1')\n}\n\n/**\n * Escape the capturing group by escaping special characters and meaning.\n *\n * @param {string} group\n * @return {string}\n */\nfunction escapeGroup (group) {\n return group.replace(/([=!:$/()])/g, '\\\\$1')\n}\n\n/**\n * Expose a method for transforming tokens into the path function.\n */\nfunction tokensToFunction (tokens, options) {\n // Compile all the tokens into regexps.\n const matches = new Array(tokens.length)\n\n // Compile all the patterns before compilation.\n for (let i = 0; i < tokens.length; i++) {\n if (typeof tokens[i] === 'object') {\n matches[i] = new RegExp('^(?:' + tokens[i].pattern + ')$', flags(options))\n }\n }\n\n return function (obj, opts) {\n let path = ''\n const data = obj || {}\n const options = opts || {}\n const encode = options.pretty ? encodeURIComponentPretty : encodeURIComponent\n\n for (let i = 0; i < tokens.length; i++) {\n const token = tokens[i]\n\n if (typeof token === 'string') {\n path += token\n\n continue\n }\n\n const value = data[token.name || 'pathMatch']\n let segment\n\n if (value == null) {\n if (token.optional) {\n // Prepend partial segment prefixes.\n if (token.partial) {\n path += token.prefix\n }\n\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to be defined')\n }\n }\n\n if (Array.isArray(value)) {\n if (!token.repeat) {\n throw new TypeError('Expected \"' + token.name + '\" to not repeat, but received `' + JSON.stringify(value) + '`')\n }\n\n if (value.length === 0) {\n if (token.optional) {\n continue\n } else {\n throw new TypeError('Expected \"' + token.name + '\" to not be empty')\n }\n }\n\n for (let j = 0; j < value.length; j++) {\n segment = encode(value[j])\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected all \"' + token.name + '\" to match \"' + token.pattern + '\", but received `' + JSON.stringify(segment) + '`')\n }\n\n path += (j === 0 ? token.prefix : token.delimiter) + segment\n }\n\n continue\n }\n\n segment = token.asterisk ? encodeAsterisk(value) : encode(value)\n\n if (!matches[i].test(segment)) {\n throw new TypeError('Expected \"' + token.name + '\" to match \"' + token.pattern + '\", but received \"' + segment + '\"')\n }\n\n path += token.prefix + segment\n }\n\n return path\n }\n}\n\n/**\n * Get the flags for a regexp from the options.\n *\n * @param {Object} options\n * @return {string}\n */\nfunction flags (options) {\n return options && options.sensitive ? '' : 'i'\n}\n\nexport function addLifecycleHook(vm, hook, fn) {\n if (!vm.$options[hook]) {\n vm.$options[hook] = []\n }\n if (!vm.$options[hook].includes(fn)) {\n vm.$options[hook].push(fn)\n }\n}\n\nexport const urlJoin = joinURL\n\nexport const stripTrailingSlash = withoutTrailingSlash\n\nexport const isSamePath = _isSamePath\n\nexport function setScrollRestoration (newVal) {\n try {\n window.history.scrollRestoration = newVal;\n } catch(e) {}\n}\n","import Vue from 'vue'\nimport { hasFetch, normalizeError, addLifecycleHook, purifyData, createGetCounter } from '../utils'\n\nasync function serverPrefetch() {\n if (!this._fetchOnServer) {\n return\n }\n\n // Call and await on $fetch\n try {\n await this.$options.fetch.call(this)\n } catch (err) {\n if (process.dev) {\n console.error('Error in fetch():', err)\n }\n this.$fetchState.error = normalizeError(err)\n }\n this.$fetchState.pending = false\n\n // Define an ssrKey for hydration\n this._fetchKey = this._fetchKey || this.$ssrContext.fetchCounters['']++\n\n // Add data-fetch-key on parent element of Component\n const attrs = this.$vnode.data.attrs = this.$vnode.data.attrs || {}\n attrs['data-fetch-key'] = this._fetchKey\n\n // Add to ssrContext for window.__NUXT__.fetch\n\n this.$ssrContext.nuxt.fetch[this._fetchKey] =\n this.$fetchState.error ? { _error: this.$fetchState.error } : purifyData(this._data)\n}\n\nexport default {\n created() {\n if (!hasFetch(this)) {\n return\n }\n\n if (typeof this.$options.fetchOnServer === 'function') {\n this._fetchOnServer = this.$options.fetchOnServer.call(this) !== false\n } else {\n this._fetchOnServer = this.$options.fetchOnServer !== false\n }\n\n const defaultKey = this.$options._scopeId || this.$options.name || ''\n const getCounter = createGetCounter(this.$ssrContext.fetchCounters, defaultKey)\n\n if (typeof this.$options.fetchKey === 'function') {\n this._fetchKey = this.$options.fetchKey.call(this, getCounter)\n } else {\n const key = 'string' === typeof this.$options.fetchKey ? this.$options.fetchKey : defaultKey\n this._fetchKey = key ? key + ':' + getCounter(key) : String(getCounter(key))\n }\n\n // Added for remove vue undefined warning while ssr\n this.$fetch = () => {} // issue #8043\n Vue.util.defineReactive(this, '$fetchState', {\n pending: true,\n error: null,\n timestamp: Date.now()\n })\n\n addLifecycleHook(this, 'serverPrefetch', serverPrefetch)\n }\n}\n","import { getMatchedComponents, setScrollRestoration } from './utils'\n\nif (process.client) {\n if ('scrollRestoration' in window.history) {\n setScrollRestoration('manual')\n\n // reset scrollRestoration to auto when leaving page, allowing page reload\n // and back-navigation from other pages to use the browser to restore the\n // scrolling position.\n window.addEventListener('beforeunload', () => {\n setScrollRestoration('auto')\n })\n\n // Setting scrollRestoration to manual again when returning to this page.\n window.addEventListener('load', () => {\n setScrollRestoration('manual')\n })\n }\n}\n\nfunction shouldScrollToTop(route) {\n const Pages = getMatchedComponents(route)\n if (Pages.length === 1) {\n const { options = {} } = Pages[0]\n return options.scrollToTop !== false\n }\n return Pages.some(({ options }) => options && options.scrollToTop)\n}\n\nexport default function (to, from, savedPosition) {\n // If the returned position is falsy or an empty object, will retain current scroll position\n let position = false\n const isRouteChanged = to !== from\n\n // savedPosition is only available for popstate navigations (back button)\n if (savedPosition) {\n position = savedPosition\n } else if (isRouteChanged && shouldScrollToTop(to)) {\n position = { x: 0, y: 0 }\n }\n\n const nuxt = window.$nuxt\n\n if (\n // Initial load (vuejs/vue-router#3199)\n !isRouteChanged ||\n // Route hash changes\n (to.path === from.path && to.hash !== from.hash)\n ) {\n nuxt.$nextTick(() => nuxt.$emit('triggerScroll'))\n }\n\n return new Promise((resolve) => {\n // wait for the out transition to complete (if necessary)\n nuxt.$once('triggerScroll', () => {\n // coords will be used if no selector is provided,\n // or if the selector didn't match any element.\n if (to.hash) {\n let hash = to.hash\n // CSS.escape() is not supported with IE and Edge.\n if (typeof window.CSS !== 'undefined' && typeof window.CSS.escape !== 'undefined') {\n hash = '#' + window.CSS.escape(hash.substr(1))\n }\n try {\n if (document.querySelector(hash)) {\n // scroll to anchor by returning the selector\n position = { selector: hash }\n }\n } catch (e) {\n console.warn('Failed to save scroll position. Please add CSS.escape() polyfill (https://github.com/mathiasbynens/CSS.escape).')\n }\n }\n resolve(position)\n })\n })\n}\n","import Vue from 'vue'\nimport Router from 'vue-router'\nimport { normalizeURL, decode } from 'ufo'\nimport { interopDefault } from './utils'\nimport scrollBehavior from './router.scrollBehavior.js'\n\nconst _f846bb58 = () => interopDefault(import('../pages/about.vue' /* webpackChunkName: \"pages/about\" */))\nconst _728098b7 = () => interopDefault(import('../pages/account/index.vue' /* webpackChunkName: \"pages/account/index\" */))\nconst _2ce26eee = () => interopDefault(import('../pages/blog/index.vue' /* webpackChunkName: \"pages/blog/index\" */))\nconst _5e267bc3 = () => interopDefault(import('../pages/bookings.vue' /* webpackChunkName: \"pages/bookings\" */))\nconst _76ac3130 = () => interopDefault(import('../pages/community.vue' /* webpackChunkName: \"pages/community\" */))\nconst _686cc198 = () => interopDefault(import('../pages/contact-us.vue' /* webpackChunkName: \"pages/contact-us\" */))\nconst _6e14660c = () => interopDefault(import('../pages/forgot-password.vue' /* webpackChunkName: \"pages/forgot-password\" */))\nconst _1f11e66c = () => interopDefault(import('../pages/help.vue' /* webpackChunkName: \"pages/help\" */))\nconst _5a988378 = () => interopDefault(import('../pages/partnerships.vue' /* webpackChunkName: \"pages/partnerships\" */))\nconst _274aec60 = () => interopDefault(import('../pages/privacy-policy.vue' /* webpackChunkName: \"pages/privacy-policy\" */))\nconst _6218bfa2 = () => interopDefault(import('../pages/register/index.vue' /* webpackChunkName: \"pages/register/index\" */))\nconst _512f7cbc = () => interopDefault(import('../pages/reset-password.vue' /* webpackChunkName: \"pages/reset-password\" */))\nconst _d5e4f772 = () => interopDefault(import('../pages/terms-conditions.vue' /* webpackChunkName: \"pages/terms-conditions\" */))\nconst _617229f8 = () => interopDefault(import('../pages/therapist/index.vue' /* webpackChunkName: \"pages/therapist/index\" */))\nconst _25c7ad05 = () => interopDefault(import('../pages/therapists/index.vue' /* webpackChunkName: \"pages/therapists/index\" */))\nconst _236ceb86 = () => interopDefault(import('../pages/account/availability.vue' /* webpackChunkName: \"pages/account/availability\" */))\nconst _e42eab24 = () => interopDefault(import('../pages/account/financial.vue' /* webpackChunkName: \"pages/account/financial\" */))\nconst _5c072064 = () => interopDefault(import('../pages/account/settings.vue' /* webpackChunkName: \"pages/account/settings\" */))\nconst _a4d76774 = () => interopDefault(import('../pages/account/verification.vue' /* webpackChunkName: \"pages/account/verification\" */))\nconst _6b44ec54 = () => interopDefault(import('../pages/booking/success.vue' /* webpackChunkName: \"pages/booking/success\" */))\nconst _7ef07d52 = () => interopDefault(import('../pages/register/therapist.vue' /* webpackChunkName: \"pages/register/therapist\" */))\nconst _6f2bc1f8 = () => interopDefault(import('../pages/therapist/bookings.vue' /* webpackChunkName: \"pages/therapist/bookings\" */))\nconst _1431dc86 = () => interopDefault(import('../pages/therapist/clients/index.vue' /* webpackChunkName: \"pages/therapist/clients/index\" */))\nconst _9d2d31ec = () => interopDefault(import('../pages/therapist/messages.vue' /* webpackChunkName: \"pages/therapist/messages\" */))\nconst _31de84f5 = () => interopDefault(import('../pages/therapist/money/index.vue' /* webpackChunkName: \"pages/therapist/money/index\" */))\nconst _59dd21d1 = () => interopDefault(import('../pages/therapist/money/statements.vue' /* webpackChunkName: \"pages/therapist/money/statements\" */))\nconst _8f318142 = () => interopDefault(import('../pages/register/invitation/_reference.vue' /* webpackChunkName: \"pages/register/invitation/_reference\" */))\nconst _0a985f65 = () => interopDefault(import('../pages/therapist/clients/_id.vue' /* webpackChunkName: \"pages/therapist/clients/_id\" */))\nconst _d4dc89e6 = () => interopDefault(import('../pages/therapists/location/_slug.vue' /* webpackChunkName: \"pages/therapists/location/_slug\" */))\nconst _6cfd2102 = () => interopDefault(import('../pages/therapists/specialism/_slug.vue' /* webpackChunkName: \"pages/therapists/specialism/_slug\" */))\nconst _111adbf0 = () => interopDefault(import('../pages/therapists/tag/_slug.vue' /* webpackChunkName: \"pages/therapists/tag/_slug\" */))\nconst _2b2bcda6 = () => interopDefault(import('../pages/blog/_slug.vue' /* webpackChunkName: \"pages/blog/_slug\" */))\nconst _455aae9b = () => interopDefault(import('../pages/booking/_slug.vue' /* webpackChunkName: \"pages/booking/_slug\" */))\nconst _24110bbd = () => interopDefault(import('../pages/therapists/_slug.vue' /* webpackChunkName: \"pages/therapists/_slug\" */))\nconst _39e0f61d = () => interopDefault(import('../pages/booking/_therapist_slug/reschedule/success.vue' /* webpackChunkName: \"pages/booking/_therapist_slug/reschedule/success\" */))\nconst _8750dbf4 = () => interopDefault(import('../pages/booking/_therapist_slug/create/_id.vue' /* webpackChunkName: \"pages/booking/_therapist_slug/create/_id\" */))\nconst _091a4554 = () => interopDefault(import('../pages/booking/_therapist_slug/reschedule/_id.vue' /* webpackChunkName: \"pages/booking/_therapist_slug/reschedule/_id\" */))\nconst _b8d705ce = () => interopDefault(import('../pages/index.vue' /* webpackChunkName: \"pages/index\" */))\n\nconst emptyFn = () => {}\n\nVue.use(Router)\n\nexport const routerOptions = {\n mode: 'history',\n base: '/',\n linkActiveClass: 'nuxt-link-active',\n linkExactActiveClass: 'nuxt-link-exact-active',\n scrollBehavior,\n\n routes: [{\n path: \"/about\",\n component: _f846bb58,\n name: \"about\"\n }, {\n path: \"/account\",\n component: _728098b7,\n name: \"account\"\n }, {\n path: \"/blog\",\n component: _2ce26eee,\n name: \"blog\"\n }, {\n path: \"/bookings\",\n component: _5e267bc3,\n name: \"bookings\"\n }, {\n path: \"/community\",\n component: _76ac3130,\n name: \"community\"\n }, {\n path: \"/contact-us\",\n component: _686cc198,\n name: \"contact-us\"\n }, {\n path: \"/forgot-password\",\n component: _6e14660c,\n name: \"forgot-password\"\n }, {\n path: \"/help\",\n component: _1f11e66c,\n name: \"help\"\n }, {\n path: \"/partnerships\",\n component: _5a988378,\n name: \"partnerships\"\n }, {\n path: \"/privacy-policy\",\n component: _274aec60,\n name: \"privacy-policy\"\n }, {\n path: \"/register\",\n component: _6218bfa2,\n name: \"register\"\n }, {\n path: \"/reset-password\",\n component: _512f7cbc,\n name: \"reset-password\"\n }, {\n path: \"/terms-conditions\",\n component: _d5e4f772,\n name: \"terms-conditions\"\n }, {\n path: \"/therapist\",\n component: _617229f8,\n name: \"therapist\"\n }, {\n path: \"/therapists\",\n component: _25c7ad05,\n name: \"therapists\"\n }, {\n path: \"/account/availability\",\n component: _236ceb86,\n name: \"account-availability\"\n }, {\n path: \"/account/financial\",\n component: _e42eab24,\n name: \"account-financial\"\n }, {\n path: \"/account/settings\",\n component: _5c072064,\n name: \"account-settings\"\n }, {\n path: \"/account/verification\",\n component: _a4d76774,\n name: \"account-verification\"\n }, {\n path: \"/booking/success\",\n component: _6b44ec54,\n name: \"booking-success\"\n }, {\n path: \"/register/therapist\",\n component: _7ef07d52,\n name: \"register-therapist\"\n }, {\n path: \"/therapist/bookings\",\n component: _6f2bc1f8,\n name: \"therapist-bookings\"\n }, {\n path: \"/therapist/clients\",\n component: _1431dc86,\n name: \"therapist-clients\"\n }, {\n path: \"/therapist/messages\",\n component: _9d2d31ec,\n name: \"therapist-messages\"\n }, {\n path: \"/therapist/money\",\n component: _31de84f5,\n name: \"therapist-money\"\n }, {\n path: \"/therapist/money/statements\",\n component: _59dd21d1,\n name: \"therapist-money-statements\"\n }, {\n path: \"/register/invitation/:reference?\",\n component: _8f318142,\n name: \"register-invitation-reference\"\n }, {\n path: \"/therapist/clients/:id\",\n component: _0a985f65,\n name: \"therapist-clients-id\"\n }, {\n path: \"/therapists/location/:slug?\",\n component: _d4dc89e6,\n name: \"therapists-location-slug\"\n }, {\n path: \"/therapists/specialism/:slug?\",\n component: _6cfd2102,\n name: \"therapists-specialism-slug\"\n }, {\n path: \"/therapists/tag/:slug?\",\n component: _111adbf0,\n name: \"therapists-tag-slug\"\n }, {\n path: \"/blog/:slug\",\n component: _2b2bcda6,\n name: \"blog-slug\"\n }, {\n path: \"/booking/:slug?\",\n component: _455aae9b,\n name: \"booking-slug\"\n }, {\n path: \"/therapists/:slug\",\n component: _24110bbd,\n name: \"therapists-slug\"\n }, {\n path: \"/booking/:therapist_slug?/reschedule/success\",\n component: _39e0f61d,\n name: \"booking-therapist_slug-reschedule-success\"\n }, {\n path: \"/booking/:therapist_slug?/create/:id?\",\n component: _8750dbf4,\n name: \"booking-therapist_slug-create-id\"\n }, {\n path: \"/booking/:therapist_slug?/reschedule/:id?\",\n component: _091a4554,\n name: \"booking-therapist_slug-reschedule-id\"\n }, {\n path: \"/\",\n component: _b8d705ce,\n name: \"index\"\n }],\n\n fallback: false\n}\n\nexport function createRouter (ssrContext, config) {\n const base = (config._app && config._app.basePath) || routerOptions.base\n const router = new Router({ ...routerOptions, base })\n\n // TODO: remove in Nuxt 3\n const originalPush = router.push\n router.push = function push (location, onComplete = emptyFn, onAbort) {\n return originalPush.call(this, location, onComplete, onAbort)\n }\n\n const resolve = router.resolve.bind(router)\n router.resolve = (to, current, append) => {\n if (typeof to === 'string') {\n to = normalizeURL(to)\n }\n return resolve(to, current, append)\n }\n\n return router\n}\n","\nexport default {\n name: 'NuxtChild',\n functional: true,\n props: {\n nuxtChildKey: {\n type: String,\n default: ''\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n }\n },\n render (_, { parent, data, props }) {\n const h = parent.$createElement\n\n data.nuxtChild = true\n const _parent = parent\n const transitions = parent.$nuxt.nuxt.transitions\n const defaultTransition = parent.$nuxt.nuxt.defaultTransition\n\n let depth = 0\n while (parent) {\n if (parent.$vnode && parent.$vnode.data.nuxtChild) {\n depth++\n }\n parent = parent.$parent\n }\n data.nuxtChildDepth = depth\n const transition = transitions[depth] || defaultTransition\n const transitionProps = {}\n transitionsKeys.forEach((key) => {\n if (typeof transition[key] !== 'undefined') {\n transitionProps[key] = transition[key]\n }\n })\n\n const listeners = {}\n listenersKeys.forEach((key) => {\n if (typeof transition[key] === 'function') {\n listeners[key] = transition[key].bind(_parent)\n }\n })\n if (process.client) {\n // Add triggerScroll event on beforeEnter (fix #1376)\n const beforeEnter = listeners.beforeEnter\n listeners.beforeEnter = (el) => {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n if (beforeEnter) {\n return beforeEnter.call(_parent, el)\n }\n }\n }\n\n // make sure that leave is called asynchronous (fix #5703)\n if (transition.css === false) {\n const leave = listeners.leave\n\n // only add leave listener when user didnt provide one\n // or when it misses the done argument\n if (!leave || leave.length < 2) {\n listeners.leave = (el, done) => {\n if (leave) {\n leave.call(_parent, el)\n }\n\n _parent.$nextTick(done)\n }\n }\n }\n\n let routerView = h('routerView', data)\n\n if (props.keepAlive) {\n routerView = h('keep-alive', { props: props.keepAliveProps }, [routerView])\n }\n\n return h('transition', {\n props: transitionProps,\n on: listeners\n }, [routerView])\n }\n}\n\nconst transitionsKeys = [\n 'name',\n 'mode',\n 'appear',\n 'css',\n 'type',\n 'duration',\n 'enterClass',\n 'leaveClass',\n 'appearClass',\n 'enterActiveClass',\n 'enterActiveClass',\n 'leaveActiveClass',\n 'appearActiveClass',\n 'enterToClass',\n 'leaveToClass',\n 'appearToClass'\n]\n\nconst listenersKeys = [\n 'beforeEnter',\n 'enter',\n 'afterEnter',\n 'enterCancelled',\n 'beforeLeave',\n 'leave',\n 'afterLeave',\n 'leaveCancelled',\n 'beforeAppear',\n 'appear',\n 'afterAppear',\n 'appearCancelled'\n]\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"page-wrapper\"},[_c('PageHeader',{attrs:{\"classObject\":_vm.error.statusCode === 404 ? 'bg-green' : 'bg-red'}},[(_vm.error.statusCode === 404)?_c('div',{staticClass:\"relative z-20 flex flex-col items-center justify-center\"},[_c('img',{staticClass:\"inline-block mb-8\",attrs:{\"src\":require(\"assets/images/logo-white-small.svg\"),\"alt\":\"Takeaseat\"}}),_vm._v(\" \"),_c('h1',{staticClass:\" text-7xl mb-8\"},[_c('span',{staticClass:\"block mb-3 font-bold\"},[_vm._v(\"Whoops\")]),_vm._v(\" \"),_c('span',{staticClass:\"block text-white text-5xl font-bold\"},[_vm._v(\"Nothing Found\")])]),_vm._v(\" \"),_c('NuxtLink',{staticClass:\"btn btn-small btn-primary\",attrs:{\"to\":\"/\"}},[_vm._v(\"Return Home\")])],1):_c('div',{staticClass:\"relative z-20 flex flex-col items-center justify-center\"},[_c('img',{staticClass:\" mb-8\",attrs:{\"src\":require(\"assets/images/logo-white-small.svg\"),\"alt\":\"Takeaseat\"}}),_vm._v(\" \"),_c('h1',{staticClass:\" text-7xl mb-8\"},[_c('span',{staticClass:\"block mb-3 font-bold\"},[_vm._v(\"Whoops\")]),_vm._v(\" \"),_c('span',{staticClass:\"block text-white text-5xl font-bold\"},[_vm._v(\"Something went wrong!\")])]),_vm._v(\" \"),_c('NuxtLink',{staticClass:\"btn btn-small btn-primary\",attrs:{\"to\":\"/\"}},[_vm._v(\"Return Home\")])],1)]),_vm._ssrNode(\" \"+((_vm.faqs.length > 0)?(\"<section class=\\\"bg-gray py-20 px-8 mb-8\\\"><div class=\\\"max-w-4xl mx-auto w-full\\\"><header class=\\\"text-center mb-20\\\"><h1 class=\\\"text-5xl font-bold\\\">Need Help?</h1></header> \"+(_vm._ssrList((_vm.faqs),function(item,key){return (\"<div class=\\\"mb-10\\\"><h2 class=\\\"text-2xl font-bold mb-6\\\">\"+_vm._ssrEscape(_vm._s(item.question))+\"</h2> <div class=\\\"text-content\\\">\"+(_vm._s(item.answer))+\"</div></div>\")}))+\"</div></section>\"):\"<!---->\"))],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n props: ['error'],\n layout: 'error',\n\n head () {\n return {\n titleTemplate: 'Whoops | %s',\n }\n },\n\n data() {\n return {\n faqs: [\n {\n question: \"Why should I trust Take A Seat?\",\n answer: \"<p>Take A Seat is committed to maintaining an Ethical and professional core, you can be reassured you are a part of a community that is audited and allows only fully qualified, Ethical and professional counsellors.</p>\"\n },\n {\n question: \"What’s the cost?\",\n answer: \"<p>Membership start from only £20 a month. At point of booking Clients will be charged a 10% booking fee that will be added onto their session charge.</p>\"\n },\n {\n question: \"I already have too many clients?\",\n answer: \"<p>That’s great, but if you have too many clients, you still have options:</p><ol><li>Pass any clients you can;t help on to us and we can match them with one of our approved therapists</li><li>Still sign-up as a member so when you do have capacity you are ready to receive new clients</li><li>Sign up as a community member and gain access to events, CPD and lots lots more… (Coming later this year)</li></ol>\"\n },\n {\n question: \"What happens once I sign-up?\",\n answer: \"<p>Once we receive your application for membership, we will ask you for copies of qualification certificates, insurance certificates and name and contact details of peer supervisors. Once we have copies of all these, they will be audited and once approved your profile will be sent live and you will be able to start receiving clients.</p>\"\n },\n {\n question: \"Tell me more…\",\n answer: \"<p>Get access to new client referrals, online booking & payments and a dedicated takeaseat customer champion.</p>\"\n }\n ]\n }\n }\n}\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./error.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./error.vue?vue&type=template&id=1fa73363&\"\nimport script from \"./error.vue?vue&type=script&lang=js&\"\nexport * from \"./error.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"5cd0829e\"\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {PageHeader: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/PageHeader.vue').default,Header: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Header.vue').default})\n","import Vue from 'vue'\nimport { compile } from '../utils'\n\nimport NuxtError from '../../layouts/error.vue'\n\nimport NuxtChild from './nuxt-child'\n\nexport default {\n name: 'Nuxt',\n components: {\n NuxtChild,\n NuxtError\n },\n props: {\n nuxtChildKey: {\n type: String,\n default: undefined\n },\n keepAlive: Boolean,\n keepAliveProps: {\n type: Object,\n default: undefined\n },\n name: {\n type: String,\n default: 'default'\n }\n },\n errorCaptured (error) {\n // if we receive and error while showing the NuxtError component\n // capture the error and force an immediate update so we re-render\n // without the NuxtError component\n if (this.displayingNuxtError) {\n this.errorFromNuxtError = error\n this.$forceUpdate()\n }\n },\n computed: {\n routerViewKey () {\n // If nuxtChildKey prop is given or current route has children\n if (typeof this.nuxtChildKey !== 'undefined' || this.$route.matched.length > 1) {\n return this.nuxtChildKey || compile(this.$route.matched[0].path)(this.$route.params)\n }\n\n const [matchedRoute] = this.$route.matched\n\n if (!matchedRoute) {\n return this.$route.path\n }\n\n const Component = matchedRoute.components.default\n\n if (Component && Component.options) {\n const { options } = Component\n\n if (options.key) {\n return (typeof options.key === 'function' ? options.key(this.$route) : options.key)\n }\n }\n\n const strict = /\\/$/.test(matchedRoute.path)\n return strict ? this.$route.path : this.$route.path.replace(/\\/$/, '')\n }\n },\n beforeCreate () {\n Vue.util.defineReactive(this, 'nuxt', this.$root.$options.nuxt)\n },\n render (h) {\n // if there is no error\n if (!this.nuxt.err) {\n // Directly return nuxt child\n return h('NuxtChild', {\n key: this.routerViewKey,\n props: this.$props\n })\n }\n\n // if an error occurred within NuxtError show a simple\n // error message instead to prevent looping\n if (this.errorFromNuxtError) {\n this.$nextTick(() => (this.errorFromNuxtError = false))\n\n return h('div', {}, [\n h('h2', 'An error occurred while showing the error page'),\n h('p', 'Unfortunately an error occurred and while showing the error page another error occurred'),\n h('p', `Error details: ${this.errorFromNuxtError.toString()}`),\n h('nuxt-link', { props: { to: '/' } }, 'Go back to home')\n ])\n }\n\n // track if we are showing the NuxtError component\n this.displayingNuxtError = true\n this.$nextTick(() => (this.displayingNuxtError = false))\n\n return h(NuxtError, {\n props: {\n error: this.nuxt.err\n }\n })\n }\n}\n","\nexport default {\n name: 'NuxtLoading',\n data () {\n return {\n percent: 0,\n show: false,\n canSucceed: true,\n reversed: false,\n skipTimerCount: 0,\n rtl: false,\n throttle: 200,\n duration: 5000,\n continuous: false\n }\n },\n computed: {\n left () {\n if (!this.continuous && !this.rtl) {\n return false\n }\n return this.rtl\n ? (this.reversed ? '0px' : 'auto')\n : (!this.reversed ? '0px' : 'auto')\n }\n },\n beforeDestroy () {\n this.clear()\n },\n methods: {\n clear () {\n clearInterval(this._timer)\n clearTimeout(this._throttle)\n this._timer = null\n },\n start () {\n this.clear()\n this.percent = 0\n this.reversed = false\n this.skipTimerCount = 0\n this.canSucceed = true\n\n if (this.throttle) {\n this._throttle = setTimeout(() => this.startTimer(), this.throttle)\n } else {\n this.startTimer()\n }\n return this\n },\n set (num) {\n this.show = true\n this.canSucceed = true\n this.percent = Math.min(100, Math.max(0, Math.floor(num)))\n return this\n },\n get () {\n return this.percent\n },\n increase (num) {\n this.percent = Math.min(100, Math.floor(this.percent + num))\n return this\n },\n decrease (num) {\n this.percent = Math.max(0, Math.floor(this.percent - num))\n return this\n },\n pause () {\n clearInterval(this._timer)\n return this\n },\n resume () {\n this.startTimer()\n return this\n },\n finish () {\n this.percent = this.reversed ? 0 : 100\n this.hide()\n return this\n },\n hide () {\n this.clear()\n setTimeout(() => {\n this.show = false\n this.$nextTick(() => {\n this.percent = 0\n this.reversed = false\n })\n }, 500)\n return this\n },\n fail (error) {\n this.canSucceed = false\n return this\n },\n startTimer () {\n if (!this.show) {\n this.show = true\n }\n if (typeof this._cut === 'undefined') {\n this._cut = 10000 / Math.floor(this.duration)\n }\n\n this._timer = setInterval(() => {\n /**\n * When reversing direction skip one timers\n * so 0, 100 are displayed for two iterations\n * also disable css width transitioning\n * which otherwise interferes and shows\n * a jojo effect\n */\n if (this.skipTimerCount > 0) {\n this.skipTimerCount--\n return\n }\n\n if (this.reversed) {\n this.decrease(this._cut)\n } else {\n this.increase(this._cut)\n }\n\n if (this.continuous) {\n if (this.percent >= 100) {\n this.skipTimerCount = 1\n\n this.reversed = !this.reversed\n } else if (this.percent <= 0) {\n this.skipTimerCount = 1\n\n this.reversed = !this.reversed\n }\n }\n }, 100)\n }\n },\n render (h) {\n let el = h(false)\n if (this.show) {\n el = h('div', {\n staticClass: 'nuxt-progress',\n class: {\n 'nuxt-progress-notransition': this.skipTimerCount > 0,\n 'nuxt-progress-failed': !this.canSucceed\n },\n style: {\n width: this.percent + '%',\n left: this.left\n }\n })\n }\n return el\n }\n}\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js??ref--2-0!../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./nuxt-loading.vue?vue&type=script&lang=js&\"","var render, staticRenderFns\nimport script from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nexport * from \"./nuxt-loading.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./nuxt-loading.vue?vue&type=style&index=0&lang=css&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n null,\n \"a71181c8\"\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('Header'),_vm._ssrNode(\" \"),_c('Nuxt'),_vm._ssrNode(\" \"),_c('Footer')],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n mounted() {\n this.$auth.$storage.watchState('loggedIn', status => {\n if(status == false) {\n this.$router.push({path: '/'})\n }\n })\n }\n}\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./default.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./default.vue?vue&type=template&id=58d1c3bd&\"\nimport script from \"./default.vue?vue&type=script&lang=js&\"\nexport * from \"./default.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"34c0be2a\"\n \n)\n\nexport default component.exports\n\n/* nuxt-component-imports */\ninstallComponents(component, {Header: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Header.vue').default,Footer: require('/home/forge/takeaseat.eco-n-tech.co.uk/components/layout/Footer.vue').default})\n","import Vue from 'vue'\nimport { decode, parsePath, withoutBase, withoutTrailingSlash, normalizeURL } from 'ufo'\n\nimport { getMatchedComponentsInstances, getChildrenComponentInstancesUsingFetch, promisify, globalHandleError, urlJoin, sanitizeComponent } from './utils'\nimport NuxtError from '../layouts/error.vue'\nimport NuxtLoading from './components/nuxt-loading.vue'\n\nimport '../node_modules/@nuxtjs/tailwindcss/dist/runtime/tailwind.css'\n\nimport '../assets/css/app.css'\n\nimport '../assets/css/fonts.css'\n\nimport _6f6c098b from '../layouts/default.vue'\n\nconst layouts = { \"_default\": sanitizeComponent(_6f6c098b) }\n\nexport default {\n render (h, props) {\n const loadingEl = h('NuxtLoading', { ref: 'loading' })\n\n const layoutEl = h(this.layout || 'nuxt')\n const templateEl = h('div', {\n domProps: {\n id: '__layout'\n },\n key: this.layoutName\n }, [layoutEl])\n\n const transitionEl = h('transition', {\n props: {\n name: 'layout',\n mode: 'out-in'\n },\n on: {\n beforeEnter (el) {\n // Ensure to trigger scroll event after calling scrollBehavior\n window.$nuxt.$nextTick(() => {\n window.$nuxt.$emit('triggerScroll')\n })\n }\n }\n }, [templateEl])\n\n return h('div', {\n domProps: {\n id: '__nuxt'\n }\n }, [\n loadingEl,\n\n transitionEl\n ])\n },\n\n data: () => ({\n isOnline: true,\n\n layout: null,\n layoutName: '',\n\n nbFetching: 0\n }),\n\n beforeCreate () {\n Vue.util.defineReactive(this, 'nuxt', this.$options.nuxt)\n },\n created () {\n // Add this.$nuxt in child instances\n this.$root.$options.$nuxt = this\n\n if (process.client) {\n // add to window so we can listen when ready\n window.$nuxt = this\n\n this.refreshOnlineStatus()\n // Setup the listeners\n window.addEventListener('online', this.refreshOnlineStatus)\n window.addEventListener('offline', this.refreshOnlineStatus)\n }\n // Add $nuxt.error()\n this.error = this.nuxt.error\n // Add $nuxt.context\n this.context = this.$options.context\n },\n\n async mounted () {\n this.$loading = this.$refs.loading\n },\n\n watch: {\n 'nuxt.err': 'errorChanged'\n },\n\n computed: {\n isOffline () {\n return !this.isOnline\n },\n\n isFetching () {\n return this.nbFetching > 0\n },\n },\n\n methods: {\n refreshOnlineStatus () {\n if (process.client) {\n if (typeof window.navigator.onLine === 'undefined') {\n // If the browser doesn't support connection status reports\n // assume that we are online because most apps' only react\n // when they now that the connection has been interrupted\n this.isOnline = true\n } else {\n this.isOnline = window.navigator.onLine\n }\n }\n },\n\n async refresh () {\n const pages = getMatchedComponentsInstances(this.$route)\n\n if (!pages.length) {\n return\n }\n this.$loading.start()\n\n const promises = pages.map((page) => {\n const p = []\n\n // Old fetch\n if (page.$options.fetch && page.$options.fetch.length) {\n p.push(promisify(page.$options.fetch, this.context))\n }\n if (page.$fetch) {\n p.push(page.$fetch())\n } else {\n // Get all component instance to call $fetch\n for (const component of getChildrenComponentInstancesUsingFetch(page.$vnode.componentInstance)) {\n p.push(component.$fetch())\n }\n }\n\n if (page.$options.asyncData) {\n p.push(\n promisify(page.$options.asyncData, this.context)\n .then((newData) => {\n for (const key in newData) {\n Vue.set(page.$data, key, newData[key])\n }\n })\n )\n }\n\n return Promise.all(p)\n })\n try {\n await Promise.all(promises)\n } catch (error) {\n this.$loading.fail(error)\n globalHandleError(error)\n this.error(error)\n }\n this.$loading.finish()\n },\n errorChanged () {\n if (this.nuxt.err) {\n if (this.$loading) {\n if (this.$loading.fail) {\n this.$loading.fail(this.nuxt.err)\n }\n if (this.$loading.finish) {\n this.$loading.finish()\n }\n }\n\n let errorLayout = (NuxtError.options || NuxtError).layout;\n\n if (typeof errorLayout === 'function') {\n errorLayout = errorLayout(this.context)\n }\n\n this.setLayout(errorLayout)\n }\n },\n\n setLayout (layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n this.layoutName = layout\n this.layout = layouts['_' + layout]\n return this.layout\n },\n loadLayout (layout) {\n if (!layout || !layouts['_' + layout]) {\n layout = 'default'\n }\n return Promise.resolve(layouts['_' + layout])\n },\n },\n\n components: {\n NuxtLoading\n }\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\n\nVue.use(Vuex)\n\nconst VUEX_PROPERTIES = ['state', 'getters', 'actions', 'mutations']\n\nlet store = {};\n\n(function updateModules () {\n // If store is an exported method = classic mode (deprecated)\n\n // Enforce store modules\n store.modules = store.modules || {}\n\n resolveStoreModules(require('../store/blog.js'), 'blog.js')\n resolveStoreModules(require('../store/booking.js'), 'booking.js')\n resolveStoreModules(require('../store/languages.js'), 'languages.js')\n resolveStoreModules(require('../store/location.js'), 'location.js')\n resolveStoreModules(require('../store/session_types.js'), 'session_types.js')\n resolveStoreModules(require('../store/specialisms.js'), 'specialisms.js')\n resolveStoreModules(require('../store/tags.js'), 'tags.js')\n resolveStoreModules(require('../store/therapists.js'), 'therapists.js')\n resolveStoreModules(require('../store/account/billing.js'), 'account/billing.js')\n resolveStoreModules(require('../store/account/calendar.js'), 'account/calendar.js')\n resolveStoreModules(require('../store/account/progress.js'), 'account/progress.js')\n resolveStoreModules(require('../store/account/subscription.js'), 'account/subscription.js')\n resolveStoreModules(require('../store/booking/payment.js'), 'booking/payment.js')\n resolveStoreModules(require('../store/booking/reschedule.js'), 'booking/reschedule.js')\n resolveStoreModules(require('../store/booking/success.js'), 'booking/success.js')\n resolveStoreModules(require('../store/booking/summary.js'), 'booking/summary.js')\n resolveStoreModules(require('../store/hero/bookings.js'), 'hero/bookings.js')\n resolveStoreModules(require('../store/therapist/bookings.js'), 'therapist/bookings.js')\n resolveStoreModules(require('../store/therapist/clients.js'), 'therapist/clients.js')\n resolveStoreModules(require('../store/therapist/dashboard.js'), 'therapist/dashboard.js')\n resolveStoreModules(require('../store/therapist/invitations.js'), 'therapist/invitations.js')\n resolveStoreModules(require('../store/therapist/messages.js'), 'therapist/messages.js')\n resolveStoreModules(require('../store/therapist/money.js'), 'therapist/money.js')\n\n // If the environment supports hot reloading...\n})()\n\n// createStore\nexport const createStore = store instanceof Function ? store : () => {\n return new Vuex.Store(Object.assign({\n strict: (process.env.NODE_ENV !== 'production')\n }, store))\n}\n\nfunction normalizeRoot (moduleData, filePath) {\n moduleData = moduleData.default || moduleData\n\n if (moduleData.commit) {\n throw new Error(`[nuxt] ${filePath} should export a method that returns a Vuex instance.`)\n }\n\n if (typeof moduleData !== 'function') {\n // Avoid TypeError: setting a property that has only a getter when overwriting top level keys\n moduleData = Object.assign({}, moduleData)\n }\n return normalizeModule(moduleData, filePath)\n}\n\nfunction normalizeModule (moduleData, filePath) {\n if (moduleData.state && typeof moduleData.state !== 'function') {\n console.warn(`'state' should be a method that returns an object in ${filePath}`)\n\n const state = Object.assign({}, moduleData.state)\n // Avoid TypeError: setting a property that has only a getter when overwriting top level keys\n moduleData = Object.assign({}, moduleData, { state: () => state })\n }\n return moduleData\n}\n\nfunction resolveStoreModules (moduleData, filename) {\n moduleData = moduleData.default || moduleData\n // Remove store src + extension (./foo/index.js -> foo/index)\n const namespace = filename.replace(/\\.(js|mjs)$/, '')\n const namespaces = namespace.split('/')\n let moduleName = namespaces[namespaces.length - 1]\n const filePath = `store/${filename}`\n\n moduleData = moduleName === 'state'\n ? normalizeState(moduleData, filePath)\n : normalizeModule(moduleData, filePath)\n\n // If src is a known Vuex property\n if (VUEX_PROPERTIES.includes(moduleName)) {\n const property = moduleName\n const propertyStoreModule = getStoreModule(store, namespaces, { isProperty: true })\n\n // Replace state since it's a function\n mergeProperty(propertyStoreModule, moduleData, property)\n return\n }\n\n // If file is foo/index.js, it should be saved as foo\n const isIndexModule = (moduleName === 'index')\n if (isIndexModule) {\n namespaces.pop()\n moduleName = namespaces[namespaces.length - 1]\n }\n\n const storeModule = getStoreModule(store, namespaces)\n\n for (const property of VUEX_PROPERTIES) {\n mergeProperty(storeModule, moduleData[property], property)\n }\n\n if (moduleData.namespaced === false) {\n delete storeModule.namespaced\n }\n}\n\nfunction normalizeState (moduleData, filePath) {\n if (typeof moduleData !== 'function') {\n console.warn(`${filePath} should export a method that returns an object`)\n const state = Object.assign({}, moduleData)\n return () => state\n }\n return normalizeModule(moduleData, filePath)\n}\n\nfunction getStoreModule (storeModule, namespaces, { isProperty = false } = {}) {\n // If ./mutations.js\n if (!namespaces.length || (isProperty && namespaces.length === 1)) {\n return storeModule\n }\n\n const namespace = namespaces.shift()\n\n storeModule.modules[namespace] = storeModule.modules[namespace] || {}\n storeModule.modules[namespace].namespaced = true\n storeModule.modules[namespace].modules = storeModule.modules[namespace].modules || {}\n\n return getStoreModule(storeModule.modules[namespace], namespaces, { isProperty })\n}\n\nfunction mergeProperty (storeModule, moduleData, property) {\n if (!moduleData) {\n return\n }\n\n if (property === 'state') {\n storeModule.state = moduleData || storeModule.state\n } else {\n storeModule[property] = Object.assign({}, storeModule[property], moduleData)\n }\n}\n","// nuxt/nuxt.js#8607\nexport function wrapFunctional(options) {\n if (!options || !options.functional) {\n return options\n }\n\n const propKeys = Array.isArray(options.props) ? options.props : Object.keys(options.props || {})\n\n return {\n render(h) {\n const attrs = {}\n const props = {}\n\n for (const key in this.$attrs) {\n if (propKeys.includes(key)) {\n props[key] = this.$attrs[key]\n } else {\n attrs[key] = this.$attrs[key]\n }\n }\n\n return h(options, {\n on: this.$listeners,\n attrs,\n props,\n scopedSlots: this.$scopedSlots,\n }, this.$slots.default)\n }\n }\n}\n","import Vue from 'vue'\nimport { wrapFunctional } from './utils'\n\nconst components = {\n CookieBanner: () => import('../../components/CookieBanner.vue' /* webpackChunkName: \"components/cookie-banner\" */).then(c => wrapFunctional(c.default || c)),\n LoginForm: () => import('../../components/LoginForm.vue' /* webpackChunkName: \"components/login-form\" */).then(c => wrapFunctional(c.default || c)),\n SearchForm: () => import('../../components/SearchForm.vue' /* webpackChunkName: \"components/search-form\" */).then(c => wrapFunctional(c.default || c)),\n MoneyManagerNav: () => import('../../components/blocks/MoneyManagerNav.vue' /* webpackChunkName: \"components/money-manager-nav\" */).then(c => wrapFunctional(c.default || c)),\n NextAvailability: () => import('../../components/blocks/NextAvailability.vue' /* webpackChunkName: \"components/next-availability\" */).then(c => wrapFunctional(c.default || c)),\n TherapistFilters: () => import('../../components/blocks/TherapistFilters.vue' /* webpackChunkName: \"components/therapist-filters\" */).then(c => wrapFunctional(c.default || c)),\n TherapistPrice: () => import('../../components/blocks/TherapistPrice.vue' /* webpackChunkName: \"components/therapist-price\" */).then(c => wrapFunctional(c.default || c)),\n Footer: () => import('../../components/layout/Footer.vue' /* webpackChunkName: \"components/footer\" */).then(c => wrapFunctional(c.default || c)),\n Header: () => import('../../components/layout/Header.vue' /* webpackChunkName: \"components/header\" */).then(c => wrapFunctional(c.default || c)),\n PageHeader: () => import('../../components/layout/PageHeader.vue' /* webpackChunkName: \"components/page-header\" */).then(c => wrapFunctional(c.default || c)),\n Booking: () => import('../../components/partials/Booking.vue' /* webpackChunkName: \"components/booking\" */).then(c => wrapFunctional(c.default || c)),\n Client: () => import('../../components/partials/Client.vue' /* webpackChunkName: \"components/client\" */).then(c => wrapFunctional(c.default || c)),\n Invitation: () => import('../../components/partials/Invitation.vue' /* webpackChunkName: \"components/invitation\" */).then(c => wrapFunctional(c.default || c)),\n Message: () => import('../../components/partials/Message.vue' /* webpackChunkName: \"components/message\" */).then(c => wrapFunctional(c.default || c)),\n Payment: () => import('../../components/partials/Payment.vue' /* webpackChunkName: \"components/payment\" */).then(c => wrapFunctional(c.default || c)),\n Post: () => import('../../components/partials/Post.vue' /* webpackChunkName: \"components/post\" */).then(c => wrapFunctional(c.default || c)),\n Therapist: () => import('../../components/partials/Therapist.vue' /* webpackChunkName: \"components/therapist\" */).then(c => wrapFunctional(c.default || c)),\n Block: () => import('../../components/slots/Block.vue' /* webpackChunkName: \"components/block\" */).then(c => wrapFunctional(c.default || c)),\n Modal: () => import('../../components/slots/Modal.vue' /* webpackChunkName: \"components/modal\" */).then(c => wrapFunctional(c.default || c)),\n Widget: () => import('../../components/slots/Widget.vue' /* webpackChunkName: \"components/widget\" */).then(c => wrapFunctional(c.default || c)),\n AccountNav: () => import('../../components/blocks/Account/AccountNav.vue' /* webpackChunkName: \"components/account-nav\" */).then(c => wrapFunctional(c.default || c)),\n AccountProgressBar: () => import('../../components/blocks/Account/AccountProgressBar.vue' /* webpackChunkName: \"components/account-progress-bar\" */).then(c => wrapFunctional(c.default || c)),\n PaymentStep: () => import('../../components/blocks/Booking/PaymentStep.vue' /* webpackChunkName: \"components/payment-step\" */).then(c => wrapFunctional(c.default || c)),\n RegisterStep: () => import('../../components/blocks/Booking/RegisterStep.vue' /* webpackChunkName: \"components/register-step\" */).then(c => wrapFunctional(c.default || c)),\n SummaryStep: () => import('../../components/blocks/Booking/SummaryStep.vue' /* webpackChunkName: \"components/summary-step\" */).then(c => wrapFunctional(c.default || c)),\n LoggedInMenu: () => import('../../components/layout/Menu/LoggedInMenu.vue' /* webpackChunkName: \"components/logged-in-menu\" */).then(c => wrapFunctional(c.default || c)),\n LoggedOutMenu: () => import('../../components/layout/Menu/LoggedOutMenu.vue' /* webpackChunkName: \"components/logged-out-menu\" */).then(c => wrapFunctional(c.default || c)),\n AccountPayouts: () => import('../../components/blocks/Account/financial/AccountPayouts.vue' /* webpackChunkName: \"components/account-payouts\" */).then(c => wrapFunctional(c.default || c)),\n AccountSubscription: () => import('../../components/blocks/Account/financial/AccountSubscription.vue' /* webpackChunkName: \"components/account-subscription\" */).then(c => wrapFunctional(c.default || c)),\n SavedCards: () => import('../../components/blocks/Account/financial/SavedCards.vue' /* webpackChunkName: \"components/saved-cards\" */).then(c => wrapFunctional(c.default || c)),\n Personalisation: () => import('../../components/blocks/Account/profile/Personalisation.vue' /* webpackChunkName: \"components/personalisation\" */).then(c => wrapFunctional(c.default || c)),\n ProfileRates: () => import('../../components/blocks/Account/profile/ProfileRates.vue' /* webpackChunkName: \"components/profile-rates\" */).then(c => wrapFunctional(c.default || c)),\n ProfileSessionTypes: () => import('../../components/blocks/Account/profile/ProfileSessionTypes.vue' /* webpackChunkName: \"components/profile-session-types\" */).then(c => wrapFunctional(c.default || c)),\n QuestionSectionOne: () => import('../../components/blocks/Account/profile/QuestionSectionOne.vue' /* webpackChunkName: \"components/question-section-one\" */).then(c => wrapFunctional(c.default || c)),\n QuestionSectionTwo: () => import('../../components/blocks/Account/profile/QuestionSectionTwo.vue' /* webpackChunkName: \"components/question-section-two\" */).then(c => wrapFunctional(c.default || c)),\n AccountBusiness: () => import('../../components/blocks/Account/settings/AccountBusiness.vue' /* webpackChunkName: \"components/account-business\" */).then(c => wrapFunctional(c.default || c)),\n AccountLocations: () => import('../../components/blocks/Account/settings/AccountLocations.vue' /* webpackChunkName: \"components/account-locations\" */).then(c => wrapFunctional(c.default || c)),\n AccountPersonal: () => import('../../components/blocks/Account/settings/AccountPersonal.vue' /* webpackChunkName: \"components/account-personal\" */).then(c => wrapFunctional(c.default || c)),\n AccountSecurity: () => import('../../components/blocks/Account/settings/AccountSecurity.vue' /* webpackChunkName: \"components/account-security\" */).then(c => wrapFunctional(c.default || c)),\n AccountSocial: () => import('../../components/blocks/Account/settings/AccountSocial.vue' /* webpackChunkName: \"components/account-social\" */).then(c => wrapFunctional(c.default || c)),\n Insurance: () => import('../../components/blocks/Account/verification/Insurance.vue' /* webpackChunkName: \"components/insurance\" */).then(c => wrapFunctional(c.default || c)),\n Memberships: () => import('../../components/blocks/Account/verification/Memberships.vue' /* webpackChunkName: \"components/memberships\" */).then(c => wrapFunctional(c.default || c)),\n Qualifications: () => import('../../components/blocks/Account/verification/Qualifications.vue' /* webpackChunkName: \"components/qualifications\" */).then(c => wrapFunctional(c.default || c)),\n NewCardModal: () => import('../../components/blocks/Account/financial/Modals/NewCardModal.vue' /* webpackChunkName: \"components/new-card-modal\" */).then(c => wrapFunctional(c.default || c)),\n SubscriptionCardModal: () => import('../../components/blocks/Account/financial/Modals/SubscriptionCardModal.vue' /* webpackChunkName: \"components/subscription-card-modal\" */).then(c => wrapFunctional(c.default || c))\n}\n\nfor (const name in components) {\n Vue.component(name, components[name])\n Vue.component('Lazy' + name, components[name])\n}\n","import cookieUniversal from 'cookie-universal'\n\nexport default ({ req, res }, inject) => {\n const options = {\n \"alias\": \"cookies\",\n \"parseJSON\": true\n}\n inject(options.alias, cookieUniversal(req, res, options.parseJSON))\n}\n","import { EventEmitter } from 'events'\nimport Vue from 'vue'\n\nconst API_URL = 'https://www.recaptcha.net/recaptcha/api.js'\n\nclass ReCaptcha {\n constructor ({ hideBadge, language, siteKey, version, size }) {\n if (!siteKey) {\n throw new Error('ReCaptcha error: No key provided')\n }\n\n if (!version) {\n throw new Error('ReCaptcha error: No version provided')\n }\n\n this._elements = {}\n\n this._eventBus = null\n this._ready = false\n\n this.hideBadge = hideBadge\n this.language = language\n\n this.siteKey = siteKey\n this.version = version\n this.size = size\n }\n\n destroy () {\n if (this._ready) {\n this._ready = false\n\n const { head } = document\n const { style } = this._elements\n\n const scripts = [...document.head.querySelectorAll('script')]\n .filter(script => script.src.includes('recaptcha'))\n\n if (scripts.length) {\n scripts.forEach(script => head.removeChild(script))\n }\n\n if (head.contains(style)) {\n head.removeChild(style)\n }\n\n const badge = document.querySelector('.grecaptcha-badge')\n if (badge) {\n badge.remove()\n }\n }\n }\n\n async execute (action) {\n try {\n await this.init()\n\n if ('grecaptcha' in window) {\n return window.grecaptcha.execute(\n this.siteKey,\n { action }\n )\n }\n } catch (error) {\n throw new Error(`ReCaptcha error: Failed to execute ${error}`)\n }\n }\n\n getResponse (widgetId) {\n return new Promise((resolve, reject) => {\n if ('grecaptcha' in window) {\n if(this.size == 'invisible'){\n window.grecaptcha.execute(widgetId)\n\n window.recaptchaSuccessCallback = token => {\n this._eventBus.emit('recaptcha-success', token)\n resolve(token)\n }\n\n window.recaptchaErrorCallback = error => {\n this._eventBus.emit('recaptcha-error', error)\n reject(error)\n }\n } else {\n const response = window.grecaptcha.getResponse(widgetId)\n\n if (response) {\n this._eventBus.emit('recaptcha-success', response)\n resolve(response)\n } else {\n const errorMessage = 'Failed to execute'\n\n this._eventBus.emit('recaptcha-error', errorMessage)\n reject(errorMessage)\n }\n }\n }\n })\n }\n\n init () {\n if (this._ready) {\n // make sure caller waits until recaptcha get ready\n return this._ready\n }\n\n this._eventBus = new EventEmitter()\n this._elements = {\n script: document.createElement('script'),\n style: document.createElement('style')\n }\n\n const { script, style } = this._elements\n\n script.setAttribute('async', '')\n script.setAttribute('defer', '')\n\n const params = []\n if (this.version === 3) { params.push('render=' + this.siteKey) }\n if (this.language) { params.push('hl=' + this.language) }\n script.setAttribute('src', API_URL + '?' + params.join('&'))\n\n window.recaptchaSuccessCallback = (token) => this._eventBus.emit('recaptcha-success', token)\n window.recaptchaExpiredCallback = () => this._eventBus.emit('recaptcha-expired')\n window.recaptchaErrorCallback = () => this._eventBus.emit('recaptcha-error', 'Failed to execute')\n\n this._ready = new Promise((resolve, reject) => {\n script.addEventListener('load', () => {\n if (this.version === 3 && this.hideBadge) {\n style.innerHTML = '.grecaptcha-badge { display: none }'\n document.head.appendChild(style)\n } else if(this.version === 2 && this.hideBadge) {\n // display: none DISABLES the spam checking!\n // ref: https://stackoverflow.com/questions/44543157/how-to-hide-the-google-invisible-recaptcha-badge\n style.innerHTML = '.grecaptcha-badge { visibility: hidden; }'\n document.head.appendChild(style)\n }\n\n window.grecaptcha.ready(resolve)\n })\n\n script.addEventListener('error', () => {\n document.head.removeChild(script)\n reject('ReCaptcha error: Failed to load script')\n this._ready = null;\n })\n\n document.head.appendChild(script)\n })\n\n return this._ready\n }\n\n on (event, callback) {\n return this._eventBus.on(event, callback)\n }\n\n reset (widgetId) {\n if (this.version === 2 || typeof widgetId !== 'undefined') {\n window.grecaptcha.reset(widgetId)\n }\n }\n\n render (reference, { sitekey, theme }) {\n return window.grecaptcha.render(reference.$el || reference, { sitekey, theme })\n }\n}\n\nexport default function (_, inject) {\n const { recaptcha = {} } = _.$config || {}\n const options = {\n ...{},\n ...recaptcha,\n }\n\n Vue.component('Recaptcha', () => import('./recaptcha.vue'))\n inject('recaptcha', new ReCaptcha(options))\n}\n","const logSyle = 'background: #2E495E;border-radius: 0.5em;color: white;font-weight: bold;padding: 2px 0.5em;'\n\nexport function log(...args) {\n // eslint-disable-next-line no-console\n}\n","import { log } from './gtm.utils'\n\nconst _layer = 'dataLayer'\nconst _id = 'GTM-TGWNJCS'\n\nfunction gtmClient(ctx, initialized) {\n return {\n init(id = _id) {\n if (initialized[id] || !window._gtm_inject) {\n return\n }\n window._gtm_inject(id)\n initialized[id] = true\n log('init', id)\n },\n push(obj) {\n if (!window[_layer]) {\n window[_layer] = []\n }\n window[_layer].push(obj)\n log('push', obj)\n }\n }\n}\n\nfunction gtmServer(ctx, initialized) {\n const events = []\n const inits = []\n\n ctx.beforeNuxtRender(() => {\n if (!inits.length && !events.length) {\n return\n }\n\n const gtmScript = ctx.app.head.script.find(s => s.hid == 'gtm-script')\n gtmScript.innerHTML = `window['${_layer}']=${JSON.stringify(events)};${gtmScript.innerHTML}`\n\n if (inits.length) {\n gtmScript.innerHTML += `;${JSON.stringify(inits)}.forEach(function(i){window._gtm_inject(i)})`\n }\n\n const gtmIframe = ctx.app.head.noscript.find(s => s.hid == 'gtm-noscript')\n const renderIframe = id => `<iframe src=\"https://www.googletagmanager.com/ns.html?id=${id}&\" height=\"0\" width=\"0\" style=\"display:none;visibility:hidden\" title=\"gtm\"></iframe>`\n if (inits.length) {\n gtmIframe.innerHTML += inits.map(renderIframe)\n }\n })\n\n return {\n init(id = _id) {\n if (initialized[id]) {\n return\n }\n inits.push(id)\n initialized[id] = true\n log('init', id)\n },\n push(obj) {\n events.push(obj)\n log('push', JSON.stringify(obj))\n }\n }\n}\n\nfunction startPageTracking(ctx) {\n ctx.app.router.afterEach((to) => {\n setTimeout(() => {\n ctx.$gtm.push(to.gtm || {\n routeName: to.name,\n pageType: 'PageView',\n pageUrl: '' + to.fullPath,\n pageTitle: (typeof document !== 'undefined' && document.title) || '',\n event: 'nuxtRoute'\n })\n }, 250)\n })\n}\n\nexport default function (ctx, inject) {\n const runtimeConfig = (ctx.$config && ctx.$config.gtm) || {}\n const autoInit = true\n const id = 'GTM-TGWNJCS'\n const runtimeId = runtimeConfig.id\n const initialized = autoInit && id ? {[id]: true} : {}\n const $gtm = process.client ? gtmClient(ctx, initialized) : gtmServer(ctx, initialized)\n if (autoInit && runtimeId && runtimeId !== id) {\n $gtm.init(runtimeId)\n }\n ctx.$gtm = $gtm\n inject('gtm', ctx.$gtm)\n}\n","import moment from 'moment'\n\nexport default (ctx, inject) => {\n ctx.$moment = moment\n inject('moment', moment)\n}\n","import Axios from 'axios'\nimport defu from 'defu'\n\n// Axios.prototype cannot be modified\nconst axiosExtra = {\n setBaseURL (baseURL) {\n this.defaults.baseURL = baseURL\n },\n setHeader (name, value, scopes = 'common') {\n for (const scope of Array.isArray(scopes) ? scopes : [ scopes ]) {\n if (!value) {\n delete this.defaults.headers[scope][name];\n return\n }\n this.defaults.headers[scope][name] = value\n }\n },\n setToken (token, type, scopes = 'common') {\n const value = !token ? null : (type ? type + ' ' : '') + token\n this.setHeader('Authorization', value, scopes)\n },\n onRequest(fn) {\n this.interceptors.request.use(config => fn(config) || config)\n },\n onResponse(fn) {\n this.interceptors.response.use(response => fn(response) || response)\n },\n onRequestError(fn) {\n this.interceptors.request.use(undefined, error => fn(error) || Promise.reject(error))\n },\n onResponseError(fn) {\n this.interceptors.response.use(undefined, error => fn(error) || Promise.reject(error))\n },\n onError(fn) {\n this.onRequestError(fn)\n this.onResponseError(fn)\n },\n create(options) {\n return createAxiosInstance(defu(options, this.defaults))\n }\n}\n\n// Request helpers ($get, $post, ...)\nfor (const method of ['request', 'delete', 'get', 'head', 'options', 'post', 'put', 'patch']) {\n axiosExtra['$' + method] = function () { return this[method].apply(this, arguments).then(res => res && res.data) }\n}\n\nconst extendAxiosInstance = axios => {\n for (const key in axiosExtra) {\n axios[key] = axiosExtra[key].bind(axios)\n }\n}\n\nconst createAxiosInstance = axiosOptions => {\n // Create new axios instance\n const axios = Axios.create(axiosOptions)\n axios.CancelToken = Axios.CancelToken\n axios.isCancel = Axios.isCancel\n\n // Extend axios proto\n extendAxiosInstance(axios)\n\n // Intercept to apply default headers\n axios.onRequest((config) => {\n config.headers = { ...axios.defaults.headers.common, ...config.headers }\n })\n\n // Setup interceptors\n\n setupProgress(axios)\n\n return axios\n}\n\nconst setupProgress = (axios) => {\n if (process.server) {\n return\n }\n\n // A noop loading inteterface for when $nuxt is not yet ready\n const noopLoading = {\n finish: () => { },\n start: () => { },\n fail: () => { },\n set: () => { }\n }\n\n const $loading = () => {\n const $nuxt = typeof window !== 'undefined' && window['$nuxt']\n return ($nuxt && $nuxt.$loading && $nuxt.$loading.set) ? $nuxt.$loading : noopLoading\n }\n\n let currentRequests = 0\n\n axios.onRequest(config => {\n if (config && config.progress === false) {\n return\n }\n\n currentRequests++\n })\n\n axios.onResponse(response => {\n if (response && response.config && response.config.progress === false) {\n return\n }\n\n currentRequests--\n if (currentRequests <= 0) {\n currentRequests = 0\n $loading().finish()\n }\n })\n\n axios.onError(error => {\n if (error && error.config && error.config.progress === false) {\n return\n }\n\n currentRequests--\n\n if (Axios.isCancel(error)) {\n if (currentRequests <= 0) {\n currentRequests = 0\n $loading().finish()\n }\n return\n }\n\n $loading().fail()\n $loading().finish()\n })\n\n const onProgress = e => {\n if (!currentRequests || !e.total) {\n return\n }\n const progress = ((e.loaded * 100) / (e.total * currentRequests))\n $loading().set(Math.min(100, progress))\n }\n\n axios.defaults.onUploadProgress = onProgress\n axios.defaults.onDownloadProgress = onProgress\n}\n\nexport default (ctx, inject) => {\n // runtimeConfig\n const runtimeConfig = ctx.$config && ctx.$config.axios || {}\n // baseURL\n const baseURL = process.browser\n ? (runtimeConfig.browserBaseURL || runtimeConfig.browserBaseUrl || runtimeConfig.baseURL || runtimeConfig.baseUrl || 'http://api-takeaseat.eco-n-tech.co.uk/api/')\n : (runtimeConfig.baseURL || runtimeConfig.baseUrl || process.env._AXIOS_BASE_URL_ || 'http://api-takeaseat.eco-n-tech.co.uk/api/')\n\n // Create fresh objects for all default header scopes\n // Axios creates only one which is shared across SSR requests!\n // https://github.com/mzabriskie/axios/blob/master/lib/defaults.js\n const headers = {\n \"common\": {\n \"Accept\": \"application/json, text/plain, */*\"\n },\n \"delete\": {},\n \"get\": {},\n \"head\": {},\n \"post\": {},\n \"put\": {},\n \"patch\": {}\n}\n\n const axiosOptions = {\n baseURL,\n headers\n }\n\n // Proxy SSR request headers headers\n if (process.server && ctx.req && ctx.req.headers) {\n const reqHeaders = { ...ctx.req.headers }\n for (const h of [\"accept\",\"cf-connecting-ip\",\"cf-ray\",\"content-length\",\"content-md5\",\"content-type\",\"host\",\"x-forwarded-host\",\"x-forwarded-port\",\"x-forwarded-proto\"]) {\n delete reqHeaders[h]\n }\n axiosOptions.headers.common = { ...reqHeaders, ...axiosOptions.headers.common }\n }\n\n if (process.server) {\n // Don't accept brotli encoding because Node can't parse it\n axiosOptions.headers.common['accept-encoding'] = 'gzip, deflate'\n }\n\n const axios = createAxiosInstance(axiosOptions)\n\n // Inject axios to the context as $axios\n ctx.$axios = axios\n inject('axios', axios)\n}\n","/**\n * vee-validate v3.4.5\n * (c) 2020 Abdelrahman Awad\n * @license MIT\n */\n/**\r\n * Some Alpha Regex helpers.\r\n * https://github.com/chriso/validator.js/blob/master/src/lib/alpha.js\r\n */\r\n/* eslint-disable no-misleading-character-class */\r\nvar alpha = {\r\n en: /^[A-Z]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[A-ZÆØÅ]*$/i,\r\n de: /^[A-ZÄÖÜß]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ro: /^[A-ZĂÂÎŞŢ]*$/i,\r\n ru: /^[А-ЯЁ]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[A-ZÅÄÖ]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ]*$/i,\r\n el: /^[Α-ώ]*$/i\r\n};\r\nvar alphaSpaces = {\r\n en: /^[A-Z\\s]*$/i,\r\n cs: /^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]*$/i,\r\n da: /^[A-ZÆØÅ\\s]*$/i,\r\n de: /^[A-ZÄÖÜß\\s]*$/i,\r\n es: /^[A-ZÁÉÍÑÓÚÜ\\s]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ\\s]*$/i,\r\n it: /^[A-Z\\xC0-\\xFF\\s]*$/i,\r\n lt: /^[A-ZĄČĘĖĮŠŲŪŽ\\s]*$/i,\r\n nl: /^[A-ZÉËÏÓÖÜ\\s]*$/i,\r\n hu: /^[A-ZÁÉÍÓÖŐÚÜŰ\\s]*$/i,\r\n pl: /^[A-ZĄĆĘŚŁŃÓŻŹ\\s]*$/i,\r\n pt: /^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ\\s]*$/i,\r\n ro: /^[A-ZĂÂÎŞŢ\\s]*$/i,\r\n ru: /^[А-ЯЁ\\s]*$/i,\r\n sk: /^[A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ\\s]*$/i,\r\n sr: /^[A-ZČĆŽŠĐ\\s]*$/i,\r\n sv: /^[A-ZÅÄÖ\\s]*$/i,\r\n tr: /^[A-ZÇĞİıÖŞÜ\\s]*$/i,\r\n uk: /^[А-ЩЬЮЯЄІЇҐ\\s]*$/i,\r\n ar: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ\\s]*$/,\r\n az: /^[A-ZÇƏĞİıÖŞÜ\\s]*$/i,\r\n el: /^[Α-ώ\\s]*$/i\r\n};\r\nvar alphanumeric = {\r\n en: /^[0-9A-Z]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]*$/i,\r\n da: /^[0-9A-ZÆØÅ]$/i,\r\n de: /^[0-9A-ZÄÖÜß]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]*$/i,\r\n ro: /^[0-9A-ZĂÂÎŞŢ]*$/i,\r\n ru: /^[0-9А-ЯЁ]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ]*$/i,\r\n el: /^[0-9Α-ώ]*$/i\r\n};\r\nvar alphaDash = {\r\n en: /^[0-9A-Z_-]*$/i,\r\n cs: /^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ_-]*$/i,\r\n da: /^[0-9A-ZÆØÅ_-]*$/i,\r\n de: /^[0-9A-ZÄÖÜß_-]*$/i,\r\n es: /^[0-9A-ZÁÉÍÑÓÚÜ_-]*$/i,\r\n fa: /^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰپژگچکی]*$/,\r\n fr: /^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ_-]*$/i,\r\n it: /^[0-9A-Z\\xC0-\\xFF_-]*$/i,\r\n lt: /^[0-9A-ZĄČĘĖĮŠŲŪŽ_-]*$/i,\r\n nl: /^[0-9A-ZÉËÏÓÖÜ_-]*$/i,\r\n hu: /^[0-9A-ZÁÉÍÓÖŐÚÜŰ_-]*$/i,\r\n pl: /^[0-9A-ZĄĆĘŚŁŃÓŻŹ_-]*$/i,\r\n pt: /^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ_-]*$/i,\r\n ro: /^[0-9A-ZĂÂÎŞŢ_-]*$/i,\r\n ru: /^[0-9А-ЯЁ_-]*$/i,\r\n sk: /^[0-9A-ZÁÄČĎÉÍĹĽŇÓŔŠŤÚÝŽ_-]*$/i,\r\n sr: /^[0-9A-ZČĆŽŠĐ_-]*$/i,\r\n sv: /^[0-9A-ZÅÄÖ_-]*$/i,\r\n tr: /^[0-9A-ZÇĞİıÖŞÜ_-]*$/i,\r\n uk: /^[0-9А-ЩЬЮЯЄІЇҐ_-]*$/i,\r\n ar: /^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ_-]*$/,\r\n az: /^[0-9A-ZÇƏĞİıÖŞÜ_-]*$/i,\r\n el: /^[0-9Α-ώ_-]*$/i\r\n};\n\nvar validate = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alpha).some(function (loc) { return alpha[loc].test(value); });\r\n }\r\n return (alpha[locale] || alpha.en).test(value);\r\n};\r\nvar params = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha$1 = {\r\n validate: validate,\r\n params: params\r\n};\n\nvar validate$1 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$1(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaDash).some(function (loc) { return alphaDash[loc].test(value); });\r\n }\r\n return (alphaDash[locale] || alphaDash.en).test(value);\r\n};\r\nvar params$1 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_dash = {\r\n validate: validate$1,\r\n params: params$1\r\n};\n\nvar validate$2 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$2(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphanumeric).some(function (loc) { return alphanumeric[loc].test(value); });\r\n }\r\n return (alphanumeric[locale] || alphanumeric.en).test(value);\r\n};\r\nvar params$2 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_num = {\r\n validate: validate$2,\r\n params: params$2\r\n};\n\nvar validate$3 = function (value, _a) {\r\n var _b = (_a === void 0 ? {} : _a).locale, locale = _b === void 0 ? '' : _b;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$3(val, { locale: locale }); });\r\n }\r\n // Match at least one locale.\r\n if (!locale) {\r\n return Object.keys(alphaSpaces).some(function (loc) { return alphaSpaces[loc].test(value); });\r\n }\r\n return (alphaSpaces[locale] || alphaSpaces.en).test(value);\r\n};\r\nvar params$3 = [\r\n {\r\n name: 'locale'\r\n }\r\n];\r\nvar alpha_spaces = {\r\n validate: validate$3,\r\n params: params$3\r\n};\n\nvar validate$4 = function (value, _a) {\r\n var _b = _a === void 0 ? {} : _a, min = _b.min, max = _b.max;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return !!validate$4(val, { min: min, max: max }); });\r\n }\r\n return Number(min) <= value && Number(max) >= value;\r\n};\r\nvar params$4 = [\r\n {\r\n name: 'min'\r\n },\r\n {\r\n name: 'max'\r\n }\r\n];\r\nvar between = {\r\n validate: validate$4,\r\n params: params$4\r\n};\n\nvar validate$5 = function (value, _a) {\r\n var target = _a.target;\r\n return String(value) === String(target);\r\n};\r\nvar params$5 = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n }\r\n];\r\nvar confirmed = {\r\n validate: validate$5,\r\n params: params$5\r\n};\n\nvar validate$6 = function (value, _a) {\r\n var length = _a.length;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$6(val, { length: length }); });\r\n }\r\n var strVal = String(value);\r\n return /^[0-9]*$/.test(strVal) && strVal.length === length;\r\n};\r\nvar params$6 = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar digits = {\r\n validate: validate$6,\r\n params: params$6\r\n};\n\nvar validateImage = function (file, width, height) {\r\n var URL = window.URL || window.webkitURL;\r\n return new Promise(function (resolve) {\r\n var image = new Image();\r\n image.onerror = function () { return resolve(false); };\r\n image.onload = function () { return resolve(image.width === width && image.height === height); };\r\n image.src = URL.createObjectURL(file);\r\n });\r\n};\r\nvar validate$7 = function (files, _a) {\r\n var width = _a.width, height = _a.height;\r\n var list = [];\r\n files = Array.isArray(files) ? files : [files];\r\n for (var i = 0; i < files.length; i++) {\r\n // if file is not an image, reject.\r\n if (!/\\.(jpg|svg|jpeg|png|bmp|gif)$/i.test(files[i].name)) {\r\n return Promise.resolve(false);\r\n }\r\n list.push(files[i]);\r\n }\r\n return Promise.all(list.map(function (file) { return validateImage(file, width, height); })).then(function (values) {\r\n return values.every(function (v) { return v; });\r\n });\r\n};\r\nvar params$7 = [\r\n {\r\n name: 'width',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n },\r\n {\r\n name: 'height',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar dimensions = {\r\n validate: validate$7,\r\n params: params$7\r\n};\n\nvar validate$8 = function (value, _a) {\r\n var multiple = (_a === void 0 ? {} : _a).multiple;\r\n // eslint-disable-next-line\r\n var re = /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n if (multiple && !Array.isArray(value)) {\r\n value = String(value)\r\n .split(',')\r\n .map(function (emailStr) { return emailStr.trim(); });\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return re.test(String(val)); });\r\n }\r\n return re.test(String(value));\r\n};\r\nvar params$8 = [\r\n {\r\n name: 'multiple',\r\n default: false\r\n }\r\n];\r\nvar email = {\r\n validate: validate$8,\r\n params: params$8\r\n};\n\nfunction isNullOrUndefined(value) {\r\n return value === null || value === undefined;\r\n}\r\nfunction isEmptyArray(arr) {\r\n return Array.isArray(arr) && arr.length === 0;\r\n}\r\nfunction isCallable(fn) {\r\n return typeof fn === 'function';\r\n}\n\nfunction includes(collection, item) {\r\n return collection.indexOf(item) !== -1;\r\n}\r\n/**\r\n * Converts an array-like object to array, provides a simple polyfill for Array.from\r\n */\r\nfunction toArray(arrayLike) {\r\n if (isCallable(Array.from)) {\r\n return Array.from(arrayLike);\r\n }\r\n /* istanbul ignore next */\r\n return _copyArray(arrayLike);\r\n}\r\n/* istanbul ignore next */\r\nfunction _copyArray(arrayLike) {\r\n var array = [];\r\n var length = arrayLike.length;\r\n for (var i = 0; i < length; i++) {\r\n array.push(arrayLike[i]);\r\n }\r\n return array;\r\n}\n\nvar validate$9 = function (value, options) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$9(val, options); });\r\n }\r\n return toArray(options).some(function (item) {\r\n // eslint-disable-next-line\r\n return item == value;\r\n });\r\n};\r\nvar oneOf = {\r\n validate: validate$9\r\n};\n\nvar validate$a = function (value, args) {\r\n return !validate$9(value, args);\r\n};\r\nvar excluded = {\r\n validate: validate$a\r\n};\n\nvar validate$b = function (files, extensions) {\r\n var regex = new RegExp(\".(\" + extensions.join('|') + \")$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar ext = {\r\n validate: validate$b\r\n};\n\nvar validate$c = function (files) {\r\n var regex = /\\.(jpg|svg|jpeg|png|bmp|gif|webp)$/i;\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.name); });\r\n }\r\n return regex.test(files.name);\r\n};\r\nvar image = {\r\n validate: validate$c\r\n};\n\nvar validate$d = function (value) {\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return /^-?[0-9]+$/.test(String(val)); });\r\n }\r\n return /^-?[0-9]+$/.test(String(value));\r\n};\r\nvar integer = {\r\n validate: validate$d\r\n};\n\nvar validate$e = function (value, _a) {\r\n var other = _a.other;\r\n return value === other;\r\n};\r\nvar params$9 = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is = {\r\n validate: validate$e,\r\n params: params$9\r\n};\n\nvar validate$f = function (value, _a) {\r\n var other = _a.other;\r\n return value !== other;\r\n};\r\nvar params$a = [\r\n {\r\n name: 'other'\r\n }\r\n];\r\nvar is_not = {\r\n validate: validate$f,\r\n params: params$a\r\n};\n\nvar validate$g = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (typeof value === 'string') {\r\n value = toArray(value);\r\n }\r\n if (typeof value === 'number') {\r\n value = String(value);\r\n }\r\n if (!value.length) {\r\n value = toArray(value);\r\n }\r\n return value.length === length;\r\n};\r\nvar params$b = [\r\n {\r\n name: 'length',\r\n cast: function (value) { return Number(value); }\r\n }\r\n];\r\nvar length = {\r\n validate: validate$g,\r\n params: params$b\r\n};\n\nvar validate$h = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return length >= 0;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$h(val, { length: length }); });\r\n }\r\n return String(value).length <= length;\r\n};\r\nvar params$c = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max = {\r\n validate: validate$h,\r\n params: params$c\r\n};\n\nvar validate$i = function (value, _a) {\r\n var max = _a.max;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$i(val, { max: max }); });\r\n }\r\n return Number(value) <= max;\r\n};\r\nvar params$d = [\r\n {\r\n name: 'max',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar max_value = {\r\n validate: validate$i,\r\n params: params$d\r\n};\n\nvar validate$j = function (files, mimes) {\r\n var regex = new RegExp(mimes.join('|').replace('*', '.+') + \"$\", 'i');\r\n if (Array.isArray(files)) {\r\n return files.every(function (file) { return regex.test(file.type); });\r\n }\r\n return regex.test(files.type);\r\n};\r\nvar mimes = {\r\n validate: validate$j\r\n};\n\nvar validate$k = function (value, _a) {\r\n var length = _a.length;\r\n if (isNullOrUndefined(value)) {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$k(val, { length: length }); });\r\n }\r\n return String(value).length >= length;\r\n};\r\nvar params$e = [\r\n {\r\n name: 'length',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min = {\r\n validate: validate$k,\r\n params: params$e\r\n};\n\nvar validate$l = function (value, _a) {\r\n var min = _a.min;\r\n if (isNullOrUndefined(value) || value === '') {\r\n return false;\r\n }\r\n if (Array.isArray(value)) {\r\n return value.length > 0 && value.every(function (val) { return validate$l(val, { min: min }); });\r\n }\r\n return Number(value) >= min;\r\n};\r\nvar params$f = [\r\n {\r\n name: 'min',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar min_value = {\r\n validate: validate$l,\r\n params: params$f\r\n};\n\nvar ar = /^[٠١٢٣٤٥٦٧٨٩]+$/;\r\nvar en = /^[0-9]+$/;\r\nvar validate$m = function (value) {\r\n var testValue = function (val) {\r\n var strValue = String(val);\r\n return en.test(strValue) || ar.test(strValue);\r\n };\r\n if (Array.isArray(value)) {\r\n return value.every(testValue);\r\n }\r\n return testValue(value);\r\n};\r\nvar numeric = {\r\n validate: validate$m\r\n};\n\nvar validate$n = function (value, _a) {\r\n var regex = _a.regex;\r\n if (Array.isArray(value)) {\r\n return value.every(function (val) { return validate$n(val, { regex: regex }); });\r\n }\r\n return regex.test(String(value));\r\n};\r\nvar params$g = [\r\n {\r\n name: 'regex',\r\n cast: function (value) {\r\n if (typeof value === 'string') {\r\n return new RegExp(value);\r\n }\r\n return value;\r\n }\r\n }\r\n];\r\nvar regex = {\r\n validate: validate$n,\r\n params: params$g\r\n};\n\nvar validate$o = function (value, _a) {\r\n var allowFalse = (_a === void 0 ? { allowFalse: true } : _a).allowFalse;\r\n var result = {\r\n valid: false,\r\n required: true\r\n };\r\n if (isNullOrUndefined(value) || isEmptyArray(value)) {\r\n return result;\r\n }\r\n // incase a field considers `false` as an empty value like checkboxes.\r\n if (value === false && !allowFalse) {\r\n return result;\r\n }\r\n result.valid = !!String(value).trim().length;\r\n return result;\r\n};\r\nvar computesRequired = true;\r\nvar params$h = [\r\n {\r\n name: 'allowFalse',\r\n default: true\r\n }\r\n];\r\nvar required = {\r\n validate: validate$o,\r\n params: params$h,\r\n computesRequired: computesRequired\r\n};\n\nvar testEmpty = function (value) {\r\n return isEmptyArray(value) || includes([false, null, undefined], value) || !String(value).trim().length;\r\n};\r\nvar validate$p = function (value, _a) {\r\n var target = _a.target, values = _a.values;\r\n var required;\r\n if (values && values.length) {\r\n if (!Array.isArray(values) && typeof values === 'string') {\r\n values = [values];\r\n }\r\n // eslint-disable-next-line\r\n required = values.some(function (val) { return val == String(target).trim(); });\r\n }\r\n else {\r\n required = !testEmpty(target);\r\n }\r\n if (!required) {\r\n return {\r\n valid: true,\r\n required: required\r\n };\r\n }\r\n return {\r\n valid: !testEmpty(value),\r\n required: required\r\n };\r\n};\r\nvar params$i = [\r\n {\r\n name: 'target',\r\n isTarget: true\r\n },\r\n {\r\n name: 'values'\r\n }\r\n];\r\nvar computesRequired$1 = true;\r\nvar required_if = {\r\n validate: validate$p,\r\n params: params$i,\r\n computesRequired: computesRequired$1\r\n};\n\nvar validate$q = function (files, _a) {\r\n var size = _a.size;\r\n if (isNaN(size)) {\r\n return false;\r\n }\r\n var nSize = size * 1024;\r\n if (!Array.isArray(files)) {\r\n return files.size <= nSize;\r\n }\r\n for (var i = 0; i < files.length; i++) {\r\n if (files[i].size > nSize) {\r\n return false;\r\n }\r\n }\r\n return true;\r\n};\r\nvar params$j = [\r\n {\r\n name: 'size',\r\n cast: function (value) {\r\n return Number(value);\r\n }\r\n }\r\n];\r\nvar size = {\r\n validate: validate$q,\r\n params: params$j\r\n};\n\nvar validate$r = function (value, params) {\r\n var _a = params || {}, _b = _a.decimals, decimals = _b === void 0 ? 0 : _b, _c = _a.separator, separator = _c === void 0 ? 'dot' : _c;\r\n var separators = {\r\n dot: '.',\r\n comma: ','\r\n };\r\n var regexPart = +decimals === 0 ? '+' : \"{\" + decimals + \"}\";\r\n var regex = new RegExp(\"^-?\\\\d+\\\\\" + (separators[separator] || '.') + \"\\\\d\" + regexPart + \"$\");\r\n return Array.isArray(value) ? value.every(function (val) { return regex.test(String(val)); }) : regex.test(String(value));\r\n};\r\nvar params$k = [\r\n {\r\n name: 'decimals',\r\n default: 0\r\n },\r\n {\r\n name: 'separator',\r\n default: 'dot'\r\n }\r\n];\r\nvar double = {\r\n validate: validate$r,\r\n params: params$k\r\n};\n\nexport { alpha$1 as alpha, alpha_dash, alpha_num, alpha_spaces, between, confirmed, digits, dimensions, double, email, excluded, ext, image, integer, is, is_not, length, max, max_value, mimes, min, min_value, numeric, oneOf, regex, required, required_if, size };\n","import Vue from 'vue';\nimport { Validator, ValidationProvider, ValidationObserver, extend, localize } from 'vee-validate';\nimport PhoneNumber from 'awesome-phonenumber'\nimport en from 'vee-validate/dist/locale/en.json';\nimport * as rules from 'vee-validate/dist/rules';\n\n// install rules and localization\nObject.keys(rules).forEach(rule => {\n extend(rule, rules[rule]);\n});\n\nextend('required', {\n ...rules.required,\n message: 'This field is required'\n});\n\nextend('password', {\n params: ['target'],\n validate(value, { target }) {\n return value === target;\n },\n message: 'Password confirmation does not match'\n});\n\nextend('phone_number', {\n params: ['target'],\n validate(value) {\n return new Promise(resolve => {\n let phone = new PhoneNumber(value);\n resolve({ valid: phone.isValid() })\n })\n },\n message: 'This is not a valid phone number.'\n});\n\nextend('hourAfter', {\n params: ['target'],\n validate(value, { target }) {\n return new Promise(resolve => {\n const fromSplit = target.split(':');\n const toSplit = value.split(':');\n\n // Generate JS Date Objects for the values\n const fromDate = new Date(2000, 0, 1, fromSplit[0], fromSplit[1]);\n const toDate = new Date(2000, 0, 1, toSplit[0], toSplit[1]);\n\n // Get the diff in MS and convert to hours\n const minutesDiff = (toDate - fromDate) / (60*60*1000);\n resolve({ valid: minutesDiff >= 1 })\n })\n },\n message: 'Availability must be at least 1 hour'\n});\n\nlocalize('en', en);\n\n// Register it globally\nVue.component('ValidationObserver', ValidationObserver);\nVue.component('ValidationProvider', ValidationProvider);\n","import Vue from 'vue'\nimport VueTailwind from 'vue-tailwind'\n\nimport {\n TInput,\n TTextarea,\n TSelect,\n TRadio,\n TCheckbox,\n TButton,\n TInputGroup,\n TCard,\n TAlert,\n TModal,\n TDropdown,\n TRichSelect,\n TPagination,\n TTag,\n TRadioGroup,\n TCheckboxGroup,\n TTable,\n TDatepicker,\n TToggle,\n TDialog,\n} from 'vue-tailwind/dist/components';\n\nconst settings = {\n 't-table': {\n component: TTable,\n props: {\n classes: {\n table: 'min-w-full divide-y divide-gray-100 shadow-sm border-gray-200 border',\n thead: '',\n theadTr: '',\n theadTh: 'px-3 py-2 font-semibold text-left bg-gray-100 border-b',\n tbody: 'bg-white divide-y divide-gray-100',\n tr: '',\n td: 'px-3 py-2 whitespace-no-wrap',\n tfoot: '',\n tfootTr: '',\n tfootTd: ''\n },\n variants: {\n thin: {\n td: 'p-1 whitespace-no-wrap text-sm',\n theadTh: 'p-1 font-semibold text-left bg-gray-100 border-b text-sm'\n }\n }\n }\n },\n 't-calendar': {\n component: TDatepicker,\n props: {\n fixedClasses: {\n navigator: 'flex',\n navigatorViewButton: 'flex items-center',\n navigatorViewButtonIcon: 'flex-shrink-0 h-5 w-5',\n navigatorViewButtonBackIcon: 'flex-shrink-0 h-5 w-5',\n navigatorLabel: 'flex items-center py-1',\n navigatorPrevButtonIcon: 'h-6 w-6 inline-flex',\n navigatorNextButtonIcon: 'h-6 w-6 inline-flex',\n inputWrapper: 'hidden',\n viewGroup: 'w-full inline-flex flex-wrap',\n view: 'w-full mb-6',\n calendarDaysWrapper: 'grid grid-cols-6 sm:grid-cols-7 gap-1 sm:gap-3',\n calendarHeaderWrapper: 'grid grid-cols-7',\n monthWrapper: 'grid grid-cols-4',\n yearWrapper: 'grid grid-cols-4',\n input: 'w-full px-4 py-3 leading-4 bg-white border border-black border-opacity-20 rounded-xl',\n clearButton: 'flex flex-shrink-0 items-center justify-center absolute right-0 top-0 m-2 h-6 w-6',\n clearButtonIcon: 'fill-current h-3 w-3'\n },\n classes: {\n wrapper: 'flex flex-col',\n dropdownWrapper: 'relative z-10',\n dropdown: 'origin-top-left absolute rounded shadow bg-white overflow-hidden mt-1',\n enterClass: '',\n enterActiveClass: 'transition ease-out duration-100 transform opacity-0 scale-95',\n enterToClass: 'transform opacity-100 scale-100',\n leaveClass: 'transition ease-in transform opacity-100 scale-100',\n leaveActiveClass: '',\n leaveToClass: 'transform opacity-0 scale-95 duration-75',\n inlineWrapper: '',\n inlineViews: 'w-full bg-white inline-flex',\n inputWrapper: '',\n input: 'text-black placeholder-gray-400 border-gray-300',\n clearButton: 'hover:bg-gray-100 rounded transition duration-100 ease-in-out text-gray-600',\n clearButtonIcon: '',\n viewGroup: '',\n view: '',\n navigator: 'pt-2',\n navigatorViewButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer rounded-full px-2 py-1 -ml-1 hover:bg-gray-100',\n navigatorViewButtonIcon: 'fill-current text-gray-400',\n navigatorViewButtonBackIcon: 'fill-current text-gray-400',\n navigatorViewButtonMonth: 'text-gray-700 font-semibold',\n navigatorViewButtonYear: 'text-gray-500 ml-1',\n navigatorViewButtonYearRange: 'text-gray-500 ml-1',\n navigatorLabel: 'py-1',\n navigatorLabelMonth: 'text-gray-700 font-semibold',\n navigatorLabelYear: 'text-gray-500 ml-1',\n navigatorPrevButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 ml-2 ml-auto disabled:opacity-50 disabled:cursor-not-allowed',\n navigatorNextButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 -mr-1 disabled:opacity-50 disabled:cursor-not-allowed',\n navigatorPrevButtonIcon: 'text-gray-400',\n navigatorNextButtonIcon: 'text-gray-400',\n calendarWrapper: 'pt-2',\n calendarHeaderWrapper: '',\n calendarHeaderWeekDay: 'uppercase text-xs text-gray-500 w-8 h-8 flex items-center justify-center w-full',\n calendarDaysWrapper: '',\n calendarDaysDayWrapper: 'w-full h-10 flex flex-shrink-0 items-center',\n otherMonthDay: 'calendar-item',\n emptyDay: '',\n inRangeFirstDay: 'text-sm bg-yellow text-white w-full h-8 rounded-l-full',\n inRangeLastDay: 'text-sm bg-yellow text-white w-full h-8 rounded-r-full',\n inRangeDay: 'text-sm bg-yellow w-full h-8 disabled:opacity-50 disabled:cursor-not-allowed',\n selectedDay: 'calendar-item-active',\n activeDay: 'calendar-item-active',\n highlightedDay: 'calendar-item-active',\n day: 'calendar-item',\n today: 'cursor-not-allowed text-sm rounded-full w-10 h-10 mx-auto border border-yellow',\n monthWrapper: 'px-3 pt-2',\n selectedMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white',\n activeMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow',\n month: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow',\n yearWrapper: 'px-3 pt-2',\n year: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow',\n selectedYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white',\n activeYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow'\n },\n variants: {\n danger: {\n input: 'border-red-300 bg-red-50 placeholder-red-200 text-red-900',\n clearButton: 'hover:bg-red-200 text-red-500'\n }\n }\n }\n },\n 't-datepicker': {\n component: TDatepicker,\n props: {\n fixedClasses: {\n navigator: 'flex',\n navigatorViewButton: 'flex items-center',\n navigatorViewButtonIcon: 'flex-shrink-0 h-5 w-5',\n navigatorViewButtonBackIcon: 'flex-shrink-0 h-5 w-5',\n navigatorLabel: 'flex items-center py-1',\n navigatorPrevButtonIcon: 'h-6 w-6 inline-flex',\n navigatorNextButtonIcon: 'h-6 w-6 inline-flex',\n inputWrapper: '',\n viewGroup: 'w-full inline-flex flex-wrap',\n view: 'w-full mb-6',\n calendarDaysWrapper: 'grid grid-cols-7 gap-3',\n calendarHeaderWrapper: 'grid grid-cols-7',\n monthWrapper: 'grid grid-cols-4',\n yearWrapper: 'grid grid-cols-4',\n input: 'w-full px-4 py-3 leading-4 bg-white border border-black border-opacity-20 rounded-xl',\n clearButton: 'flex flex-shrink-0 items-center justify-center absolute right-0 top-0 m-2 h-6 w-6',\n clearButtonIcon: 'fill-current h-3 w-3'\n },\n classes: {\n wrapper: 'flex flex-col',\n dropdownWrapper: 'relative z-10',\n dropdown: 'origin-top-left absolute rounded shadow bg-white overflow-hidden mt-1',\n enterClass: '',\n enterActiveClass: 'transition ease-out duration-100 transform opacity-0 scale-95',\n enterToClass: 'transform opacity-100 scale-100',\n leaveClass: 'transition ease-in transform opacity-100 scale-100',\n leaveActiveClass: '',\n leaveToClass: 'transform opacity-0 scale-95 duration-75',\n inlineWrapper: '',\n inlineViews: 'w-full bg-white inline-flex',\n inputWrapper: '',\n input: 'text-black placeholder-gray-400 border-gray-300',\n clearButton: 'hover:bg-gray-100 rounded transition duration-100 ease-in-out text-gray-600',\n clearButtonIcon: '',\n viewGroup: '',\n view: '',\n navigator: 'pt-2',\n navigatorViewButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer rounded-full px-2 py-1 -ml-1 hover:bg-gray-100',\n navigatorViewButtonIcon: 'fill-current text-gray-400',\n navigatorViewButtonBackIcon: 'fill-current text-gray-400',\n navigatorViewButtonMonth: 'text-gray-700 font-semibold',\n navigatorViewButtonYear: 'text-gray-500 ml-1',\n navigatorViewButtonYearRange: 'text-gray-500 ml-1',\n navigatorLabel: 'py-1',\n navigatorLabelMonth: 'text-gray-700 font-semibold',\n navigatorLabelYear: 'text-gray-500 ml-1',\n navigatorPrevButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 ml-2 ml-auto disabled:opacity-50 disabled:cursor-not-allowed',\n navigatorNextButton: 'transition ease-in-out duration-100 inline-flex cursor-pointer hover:bg-gray-100 rounded-full p-1 -mr-1 disabled:opacity-50 disabled:cursor-not-allowed',\n navigatorPrevButtonIcon: 'text-gray-400',\n navigatorNextButtonIcon: 'text-gray-400',\n calendarWrapper: 'pt-2',\n calendarHeaderWrapper: '',\n calendarHeaderWeekDay: 'uppercase text-xs text-gray-500 w-8 h-8 flex items-center justify-center w-full',\n calendarDaysWrapper: '',\n calendarDaysDayWrapper: 'w-full h-10 flex flex-shrink-0 items-center',\n otherMonthDay: 'calendar-item',\n emptyDay: '',\n inRangeFirstDay: 'text-sm bg-yellow text-white w-full h-8 rounded-l-full',\n inRangeLastDay: 'text-sm bg-yellow text-white w-full h-8 rounded-r-full',\n inRangeDay: 'text-sm bg-yellow w-full h-8 disabled:opacity-50 disabled:cursor-not-allowed',\n selectedDay: 'calendar-item-active',\n activeDay: 'calendar-item-active',\n highlightedDay: 'calendar-item-active',\n day: 'calendar-item',\n today: 'cursor-not-allowed text-sm rounded-full w-10 h-10 mx-auto border border-yellow',\n monthWrapper: 'px-3 pt-2',\n selectedMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white',\n activeMonth: 'text-sm rounded w-full h-12 mx-auto bg-yellow',\n month: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow',\n yearWrapper: 'px-3 pt-2',\n year: 'text-sm rounded w-full h-12 mx-auto hover:bg-yellow',\n selectedYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow text-white',\n activeYear: 'text-sm rounded w-full h-12 mx-auto bg-yellow'\n },\n variants: {\n danger: {\n input: 'border-red-300 bg-red-50 placeholder-red-200 text-red-900',\n clearButton: 'hover:bg-red-200 text-red-500'\n }\n }\n }\n },\n 't-input-group': {\n component: TInputGroup,\n props: {\n classes: {\n wrapper: 'relative mb-6',\n label: 'block px-3 mb-1 uppercase font-medium text-xs',\n body: 'relative',\n feedback: 'block px-3 mt-2 text-sm text-black text-opacity-75',\n description: 'block px-3 mt-2 text-sm text-black text-opacity-75'\n }\n }\n },\n 't-select': {\n component: TSelect,\n props: {\n wrapped: true,\n classes: {\n wrapper: 'relative',\n input: 'block w-full py-3 px-4 pr-10 bg-white bg-none border border-black border-opacity-20 rounded-xl disabled:opacity-50 disabled:cursor-not-allowed',\n arrowWrapper: 'pointer-events-none absolute inset-y-0 right-0 flex items-center px-2',\n arrow: 'fill-current h-4 w-4'\n }\n }\n },\n 't-rich-select': {\n component: TRichSelect,\n props: {\n fixedClasses: {\n wrapper: 'relative',\n buttonWrapper: 'inline-block relative w-full',\n selectButton: 'w-full flex text-left justify-between items-center px-3 py-3 text-black transition duration-100 ease-in-out border border-black border-opacity-10 rounded-xl shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 disabled:opacity-50 disabled:cursor-not-allowed',\n selectButtonLabel: 'block truncate',\n selectButtonPlaceholder: 'block truncate',\n selectButtonIcon: 'fill-current flex-shrink-0 ml-1 h-4 w-4',\n selectButtonClearButton: 'rounded flex flex-shrink-0 items-center justify-center absolute right-0 top-0 m-2 h-6 w-6 transition duration-100 ease-in-out',\n selectButtonClearIcon: 'fill-current h-3 w-3',\n selectButtonTagWrapper: 'flex flex-wrap overflow-hidden',\n selectButtonTag: 'bg-black block disabled:cursor-not-allowed disabled:opacity-50 duration-100 ease-in-out focus:border-black focus:outline-none focus:ring-2 focus:ring-black focus:ring-opacity-50 rounded shadow-sm text-sm text-white transition white-space-no m-0.5 max-w-full overflow-hidden h-8 flex items-center',\n selectButtonTagText: 'px-3',\n selectButtonTagDeleteButton: '-ml-1.5 h-full hover:bg-blue-600 hover:shadow-sm inline-flex items-center px-2 transition',\n selectButtonTagDeleteButtonIcon: 'w-3 h-3',\n dropdown: 'absolute w-full z-10 -mt-1 absolute border-b-black border-l-black border-r-black border-opacity-10 rounded-b shadow-sm z-10',\n dropdownFeedback: '',\n loadingMoreResults: '',\n optionsList: 'overflow-auto',\n searchWrapper: 'inline-block w-full',\n searchBox: 'inline-block w-full',\n optgroup: '',\n option: 'cursor-pointer',\n disabledOption: 'opacity-50 cursor-not-allowed',\n highlightedOption: 'cursor-pointer bg-gray',\n selectedOption: 'cursor-pointer bg-gray',\n selectedHighlightedOption: 'cursor-pointer',\n optionContent: '',\n optionLabel: 'truncate block',\n selectedIcon: 'fill-current h-4 w-4',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n classes: {\n wrapper: '',\n buttonWrapper: '',\n selectButton: 'bg-white border-black border-opacity-10',\n selectButtonLabel: 'flex items-center justify-center',\n selectButtonPlaceholder: 'text-black',\n selectButtonIcon: 'text-black',\n selectButtonClearButton: 'hover:bg-blue text-black',\n selectButtonClearIcon: 'w-4 h-4',\n selectButtonTagWrapper: '-mx-1 -my-2 py-1 pr-8',\n selectButtonTag: 'bg-black block disabled:cursor-not-allowed disabled:opacity-50 duration-100 ease-in-out focus:border-black focus:outline-none focus:ring-2 focus:ring-black focus:ring-opacity-50 rounded shadow-sm text-sm text-white transition white-space-no m-0.5 max-w-full overflow-hidden h-8 flex items-center',\n selectButtonTagText: 'px-3',\n selectButtonTagDeleteButton: '-ml-1.5 h-full hover:bg-blue-600 hover:shadow-sm inline-flex items-center px-2 transition',\n selectButtonTagDeleteButtonIcon: '',\n dropdown: 'bg-white border-black border-opacity-10',\n dropdownFeedback: 'pb-2 px-3 text-gray-400 text-sm',\n loadingMoreResults: 'pb-2 px-3 text-gray-400 text-sm',\n optionsList: '',\n searchWrapper: 'p-2 placeholder-black',\n searchBox: 'px-3 py-2 bg-gray-50 text-sm rounded border focus:outline-none focus:shadow-outline border-black border-opacity-10',\n optgroup: 'text-gray-400 uppercase text-xs py-1 px-2 font-semibold',\n option: '',\n disabledOption: '',\n highlightedOption: 'bg-blue',\n selectedOption: 'font-semibold bg-yellow font-semibold text-black',\n selectedHighlightedOption: 'font-semibold bg-yellow font-semibold text-black',\n optionContent: 'flex justify-between items-center px-3 py-2',\n optionLabel: '',\n selectedIcon: 'w-4 h-4',\n enterClass: '',\n enterActiveClass: 'opacity-0 transition ease-out duration-100',\n enterToClass: 'opacity-100',\n leaveClass: 'transition ease-in opacity-100',\n leaveActiveClass: '',\n leaveToClass: 'opacity-0 duration-75'\n },\n }\n },\n 't-input': {\n component: TInput,\n props: {\n classes: 'w-full px-4 py-3 leading-4 bg-white border border-black border-opacity-20 rounded-xl disabled:bg-black'\n }\n },\n 't-textarea': {\n component: TTextarea,\n props: {\n classes: 'w-full h-48 px-4 py-4 leading-6 bg-white border border-black border-opacity-20 rounded-xl'\n }\n },\n 't-checkbox': {\n component: TCheckbox,\n props: {\n classes: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed'\n }\n },\n 't-radio': {\n component: TRadio,\n props: {\n classes: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed'\n }\n },\n 't-checkbox-group': {\n component: TCheckboxGroup,\n props: {\n classes: {\n groupWrapper: 'flex flex-col justify-center px-3',\n label: 'block pl-2.5',\n input: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed',\n inputWrapper: 'inline-flex',\n wrapper: 'flex items-center my-1',\n }\n }\n },\n 't-radio-group': {\n component: TRadioGroup,\n props: {\n classes: {\n groupWrapper: 'flex flex-col justify-center px-3',\n label: 'block pl-2.5',\n input: 'rounded-md w-5 h-5 text-black transition duration-100 ease-in-out border-gray-300 shadow-sm focus:border-black focus:ring-2 focus:ring-black focus:outline-none focus:ring-opacity-50 focus:ring-offset-0 disabled:opacity-50 disabled:cursor-not-allowed',\n inputWrapper: 'inline-flex',\n wrapper: 'flex items-center my-1',\n }\n }\n },\n 't-pagination': {\n component: TPagination,\n props: {\n classes: {\n wrapper: 'mt-8 table border-collapse text-center bg-white mx-auto shadow-sm',\n element: 'w-10 h-10 transition border border-black border-opacity-20 table-cell hover:bg-black hover:border-black hover:text-white',\n activeElement: 'w-10 h-10 transition border border-black table-cell bg-black text-white',\n disabledElement: 'w-10 h-10 transition border border-black border-opacity-20 table-cell',\n ellipsisElement: 'w-10 h-10 transition border border-black border-opacity-20 hidden md:table-cell',\n activeButton: 'bg-blue-500 w-full h-full text-white hover:bg-blue-600 transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50',\n disabledButton: 'opacity-25 w-full h-full cursor-not-allowed transition duration-100 ease-in-out',\n button: 'hover:bg-blue-100 w-full h-full transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50',\n ellipsis: '',\n }\n }\n },\n 't-modal': {\n component: TModal,\n props: {\n fixedClasses: {\n overlay: 'z-50 overflow-auto scrolling-touch left-0 top-0 bottom-0 right-0 w-full h-full fixed bg-opacity-50',\n wrapper: 'relative mx-auto z-50 max-w-xl px-3 py-12',\n modal: 'overflow-visible relative rounded-xl',\n body: 'p-6',\n header: 'border-b border-black border-opacity-10 p-6 rounded-t-xl text-xl font-bold leading-6',\n footer: 'bg-gray px-6 py-4 rounded-b-xl',\n close: 'flex items-center justify-center rounded-full absolute right-0 top-0 -m-3 h-8 w-8 transition duration-100 ease-in-out focus:ring-2 focus:ring-blue-500 focus:outline-none focus:ring-opacity-50'\n },\n classes: {\n overlay: 'bg-black',\n wrapper: '',\n modal: 'bg-white shadow',\n body: 'p-3',\n header: 'border-gray-100',\n footer: 'bg-gray-100',\n close: 'bg-gray text-black hover:bg-black hover:text-white',\n closeIcon: 'fill-current h-4 w-4',\n overlayEnterClass: '',\n overlayEnterActiveClass: 'opacity-0 transition ease-out duration-100',\n overlayEnterToClass: 'opacity-100',\n overlayLeaveClass: 'transition ease-in opacity-100',\n overlayLeaveActiveClass: '',\n overlayLeaveToClass: 'opacity-0 duration-75',\n enterClass: '',\n enterActiveClass: '',\n enterToClass: '',\n leaveClass: '',\n leaveActiveClass: '',\n leaveToClass: ''\n },\n variants: {\n danger: {\n overlay: 'bg-red',\n header: 'border-red text-red-700',\n close: 'bg-redtext-red-700 hover:bg-red border-redborder',\n modal: 'bg-white border border-red shadow-lg',\n footer: 'bg-red'\n }\n }\n }\n }\n}\n\nVue.use(VueTailwind, settings)\n","import Vue from 'vue'\nimport money from 'v-money'\n \nVue.use(money, {\n precision: 0\n})","import Vue from 'vue';\nimport Password from 'vue-password-strength-meter'\n\n// Register it globally\nVue.component('Password', Password);","/* eslint-disable */\nexport default ({ app, store }) => {\n /*\n ** Only run on client-side and only in production mode\n */\n if (process.env.NODE_ENV !== \"production\") return\n /*\n ** Initialize Facebook Pixel Script\n */\n if (process.browser) {\n !(function(f, b, e, v, n, t, s) {\n if (f.fbq) return;\n n = f.fbq = function() {\n n.callMethod ? n.callMethod.apply(n, arguments) : n.queue.push(arguments)\n };\n if (!f._fbq) f._fbq = n;\n n.push = n;\n n.loaded = !0;\n n.version = \"2.0\";\n n.queue = [];\n t = b.createElement(e);\n t.async = !0;\n t.src = v;\n s = b.getElementsByTagName(e)[0];\n s.parentNode.insertBefore(t, s);\n })(\n window,\n document,\n 'script',\n 'https://connect.facebook.net/en_US/fbevents.js'\n );\n fbq('init', '652340388949548')\n app.router.afterEach((to, from) => {\n fbq(\"track\", \"PageView\")\n })\n }\n }","import Vue from 'vue';\nimport cookie2 from 'cookie';\nimport jwtDecode from 'jwt-decode';\nimport defu2 from 'defu';\nimport requrl2 from 'requrl';\n\nconst isUnset = (o) => typeof o === \"undefined\" || o === null;\nconst isSet = (o) => !isUnset(o);\nconst isSameURL = (ctx, a, b) => normalizePath(a, ctx) === normalizePath(b, ctx);\nfunction isRelativeURL(u) {\n return u && u.length && /^\\/([a-zA-Z0-9@\\-%_~.][/a-zA-Z0-9@\\-%_~.]*)?([?][^#]*)?(#[^#]*)?$/.test(u);\n}\nfunction parseQuery(queryString) {\n const query = {};\n const pairs = queryString.split(\"&\");\n for (let i = 0; i < pairs.length; i++) {\n const pair = pairs[i].split(\"=\");\n query[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || \"\");\n }\n return query;\n}\nfunction encodeQuery(queryObject) {\n return Object.entries(queryObject).filter(([_key, value]) => typeof value !== \"undefined\").map(([key, value]) => encodeURIComponent(key) + (value != null ? \"=\" + encodeURIComponent(value) : \"\")).join(\"&\");\n}\nfunction routeOption(route, key, value) {\n return route.matched.some((m) => {\n if (process.client) {\n return Object.values(m.components).some((component) => component.options && component.options[key] === value);\n } else {\n return Object.values(m.components).some((component) => Object.values(component._Ctor).some((ctor) => ctor.options && ctor.options[key] === value));\n }\n });\n}\nfunction getMatchedComponents(route, matches = []) {\n return [].concat(...[], ...route.matched.map(function(m, index) {\n return Object.keys(m.components).map(function(key) {\n matches.push(index);\n return m.components[key];\n });\n }));\n}\nfunction normalizePath(path = \"\", ctx) {\n let result = path.split(\"?\")[0];\n if (ctx && ctx.base) {\n result = result.replace(ctx.base, \"/\");\n }\n if (result.charAt(result.length - 1) === \"/\") {\n result = result.slice(0, -1);\n }\n result = result.replace(/\\/+/g, \"/\");\n return result;\n}\nfunction encodeValue(val) {\n if (typeof val === \"string\") {\n return val;\n }\n return JSON.stringify(val);\n}\nfunction decodeValue(val) {\n if (typeof val === \"string\") {\n try {\n return JSON.parse(val);\n } catch (_) {\n }\n }\n return val;\n}\nfunction getProp(holder, propName) {\n if (!propName || !holder || typeof holder !== \"object\") {\n return holder;\n }\n if (propName in holder) {\n return holder[propName];\n }\n const propParts = Array.isArray(propName) ? propName : (propName + \"\").split(\".\");\n let result = holder;\n while (propParts.length && result) {\n result = result[propParts.shift()];\n }\n return result;\n}\nfunction addTokenPrefix(token, tokenType) {\n if (!token || !tokenType || typeof token !== \"string\" || token.startsWith(tokenType)) {\n return token;\n }\n return tokenType + \" \" + token;\n}\nfunction removeTokenPrefix(token, tokenType) {\n if (!token || !tokenType || typeof token !== \"string\") {\n return token;\n }\n return token.replace(tokenType + \" \", \"\");\n}\nfunction urlJoin(...args) {\n return args.join(\"/\").replace(/[/]+/g, \"/\").replace(/^(.+):\\//, \"$1://\").replace(/^file:/, \"file:/\").replace(/\\/(\\?|&|#[^!])/g, \"$1\").replace(/\\?/g, \"&\").replace(\"&\", \"?\");\n}\nfunction cleanObj(obj) {\n for (const key in obj) {\n if (obj[key] === void 0) {\n delete obj[key];\n }\n }\n return obj;\n}\nconst characters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\nfunction randomString(length) {\n let result = \"\";\n const charactersLength = characters.length;\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\n }\n return result;\n}\n\nclass Storage {\n constructor(ctx, options) {\n this.ctx = ctx;\n this.options = options;\n this._initState();\n }\n setUniversal(key, value) {\n if (isUnset(value)) {\n return this.removeUniversal(key);\n }\n this.setCookie(key, value);\n this.setLocalStorage(key, value);\n this.setState(key, value);\n return value;\n }\n getUniversal(key) {\n let value;\n if (process.server) {\n value = this.getState(key);\n }\n if (isUnset(value)) {\n value = this.getCookie(key);\n }\n if (isUnset(value)) {\n value = this.getLocalStorage(key);\n }\n if (isUnset(value)) {\n value = this.getState(key);\n }\n return value;\n }\n syncUniversal(key, defaultValue) {\n let value = this.getUniversal(key);\n if (isUnset(value) && isSet(defaultValue)) {\n value = defaultValue;\n }\n if (isSet(value)) {\n this.setUniversal(key, value);\n }\n return value;\n }\n removeUniversal(key) {\n this.removeState(key);\n this.removeLocalStorage(key);\n this.removeCookie(key);\n }\n _initState() {\n Vue.set(this, \"_state\", {});\n this._useVuex = this.options.vuex && !!this.ctx.store;\n if (this._useVuex) {\n const storeModule = {\n namespaced: true,\n state: () => this.options.initialState,\n mutations: {\n SET(state, payload) {\n Vue.set(state, payload.key, payload.value);\n }\n }\n };\n this.ctx.store.registerModule(this.options.vuex.namespace, storeModule, {\n preserveState: Boolean(this.ctx.store.state[this.options.vuex.namespace])\n });\n this.state = this.ctx.store.state[this.options.vuex.namespace];\n } else {\n Vue.set(this, \"state\", {});\n }\n }\n setState(key, value) {\n if (key[0] === \"_\") {\n Vue.set(this._state, key, value);\n } else if (this._useVuex) {\n this.ctx.store.commit(this.options.vuex.namespace + \"/SET\", {\n key,\n value\n });\n } else {\n Vue.set(this.state, key, value);\n }\n return value;\n }\n getState(key) {\n if (key[0] !== \"_\") {\n return this.state[key];\n } else {\n return this._state[key];\n }\n }\n watchState(key, fn) {\n if (this._useVuex) {\n return this.ctx.store.watch((state) => getProp(state[this.options.vuex.namespace], key), fn);\n }\n }\n removeState(key) {\n this.setState(key, void 0);\n }\n setLocalStorage(key, value) {\n if (isUnset(value)) {\n return this.removeLocalStorage(key);\n }\n if (typeof localStorage === \"undefined\" || !this.options.localStorage) {\n return;\n }\n const _key = this.options.localStorage.prefix + key;\n try {\n localStorage.setItem(_key, encodeValue(value));\n } catch (e) {\n if (!this.options.ignoreExceptions) {\n throw e;\n }\n }\n return value;\n }\n getLocalStorage(key) {\n if (typeof localStorage === \"undefined\" || !this.options.localStorage) {\n return;\n }\n const _key = this.options.localStorage.prefix + key;\n const value = localStorage.getItem(_key);\n return decodeValue(value);\n }\n removeLocalStorage(key) {\n if (typeof localStorage === \"undefined\" || !this.options.localStorage) {\n return;\n }\n const _key = this.options.localStorage.prefix + key;\n localStorage.removeItem(_key);\n }\n getCookies() {\n const cookieStr = process.client ? document.cookie : this.ctx.req.headers.cookie;\n return cookie2.parse(cookieStr || \"\") || {};\n }\n setCookie(key, value, options = {}) {\n if (!this.options.cookie || process.server && !this.ctx.res) {\n return;\n }\n const _prefix = options.prefix !== void 0 ? options.prefix : this.options.cookie.prefix;\n const _key = _prefix + key;\n const _options = Object.assign({}, this.options.cookie.options, options);\n const _value = encodeValue(value);\n if (isUnset(value)) {\n _options.maxAge = -1;\n }\n if (typeof _options.expires === \"number\") {\n _options.expires = new Date(Date.now() + _options.expires * 864e5);\n }\n const serializedCookie = cookie2.serialize(_key, _value, _options);\n if (process.client) {\n document.cookie = serializedCookie;\n } else if (process.server && this.ctx.res) {\n const cookies = this.ctx.res.getHeader(\"Set-Cookie\") || [];\n cookies.unshift(serializedCookie);\n this.ctx.res.setHeader(\"Set-Cookie\", cookies.filter((v, i, arr) => arr.findIndex((val) => val.startsWith(v.substr(0, v.indexOf(\"=\")))) === i));\n }\n return value;\n }\n getCookie(key) {\n if (!this.options.cookie || process.server && !this.ctx.req) {\n return;\n }\n const _key = this.options.cookie.prefix + key;\n const cookies = this.getCookies();\n const value = cookies[_key] ? decodeURIComponent(cookies[_key]) : void 0;\n return decodeValue(value);\n }\n removeCookie(key, options) {\n this.setCookie(key, void 0, options);\n }\n}\n\nclass Auth {\n constructor(ctx, options) {\n this.strategies = {};\n this._errorListeners = [];\n this._redirectListeners = [];\n this.ctx = ctx;\n this.options = options;\n const initialState = {user: null, loggedIn: false};\n const storage2 = new Storage(ctx, {...options, ...{initialState}});\n this.$storage = storage2;\n this.$state = storage2.state;\n }\n get state() {\n if (!this._stateWarnShown) {\n this._stateWarnShown = true;\n console.warn(\"[AUTH] $auth.state is deprecated. Please use $auth.$state or top level props like $auth.loggedIn\");\n }\n return this.$state;\n }\n get strategy() {\n return this.getStrategy();\n }\n getStrategy(throwException = true) {\n if (throwException) {\n if (!this.$state.strategy) {\n throw new Error(\"No strategy is set!\");\n }\n if (!this.strategies[this.$state.strategy]) {\n throw new Error(\"Strategy not supported: \" + this.$state.strategy);\n }\n }\n return this.strategies[this.$state.strategy];\n }\n get user() {\n return this.$state.user;\n }\n get loggedIn() {\n return this.$state.loggedIn;\n }\n get busy() {\n return this.$storage.getState(\"busy\");\n }\n async init() {\n if (this.options.resetOnError) {\n this.onError((...args) => {\n if (typeof this.options.resetOnError !== \"function\" || this.options.resetOnError(...args)) {\n this.reset();\n }\n });\n }\n this.$storage.syncUniversal(\"strategy\", this.options.defaultStrategy);\n if (!this.getStrategy(false)) {\n this.$storage.setUniversal(\"strategy\", this.options.defaultStrategy);\n if (!this.getStrategy(false)) {\n return Promise.resolve();\n }\n }\n try {\n await this.mounted();\n } catch (error) {\n this.callOnError(error);\n } finally {\n if (process.client && this.options.watchLoggedIn) {\n this.$storage.watchState(\"loggedIn\", (loggedIn) => {\n if (!routeOption(this.ctx.route, \"auth\", false)) {\n this.redirect(loggedIn ? \"home\" : \"logout\");\n }\n });\n }\n }\n }\n getState(key) {\n if (!this._getStateWarnShown) {\n this._getStateWarnShown = true;\n console.warn(\"[AUTH] $auth.getState is deprecated. Please use $auth.$storage.getState() or top level props like $auth.loggedIn\");\n }\n return this.$storage.getState(key);\n }\n registerStrategy(name, strategy) {\n this.strategies[name] = strategy;\n }\n setStrategy(name) {\n if (name === this.$storage.getUniversal(\"strategy\")) {\n return Promise.resolve();\n }\n if (!this.strategies[name]) {\n throw new Error(`Strategy ${name} is not defined!`);\n }\n this.reset();\n this.$storage.setUniversal(\"strategy\", name);\n return this.mounted();\n }\n mounted(...args) {\n if (!this.getStrategy().mounted) {\n return this.fetchUserOnce();\n }\n return Promise.resolve(this.getStrategy().mounted(...args)).catch((error) => {\n this.callOnError(error, {method: \"mounted\"});\n return Promise.reject(error);\n });\n }\n loginWith(name, ...args) {\n return this.setStrategy(name).then(() => this.login(...args));\n }\n login(...args) {\n if (!this.getStrategy().login) {\n return Promise.resolve();\n }\n return this.wrapLogin(this.getStrategy().login(...args)).catch((error) => {\n this.callOnError(error, {method: \"login\"});\n return Promise.reject(error);\n });\n }\n fetchUser(...args) {\n if (!this.getStrategy().fetchUser) {\n return Promise.resolve();\n }\n return Promise.resolve(this.getStrategy().fetchUser(...args)).catch((error) => {\n this.callOnError(error, {method: \"fetchUser\"});\n return Promise.reject(error);\n });\n }\n logout(...args) {\n if (!this.getStrategy().logout) {\n this.reset();\n return Promise.resolve();\n }\n return Promise.resolve(this.getStrategy().logout(...args)).catch((error) => {\n this.callOnError(error, {method: \"logout\"});\n return Promise.reject(error);\n });\n }\n setUserToken(token, refreshToken) {\n if (!this.getStrategy().setUserToken) {\n this.getStrategy().token.set(token);\n return Promise.resolve();\n }\n return Promise.resolve(this.getStrategy().setUserToken(token, refreshToken)).catch((error) => {\n this.callOnError(error, {method: \"setUserToken\"});\n return Promise.reject(error);\n });\n }\n reset(...args) {\n if (!this.getStrategy().reset) {\n this.setUser(false);\n this.getStrategy().token.reset();\n this.getStrategy().refreshToken.reset();\n }\n return this.getStrategy().reset(...args);\n }\n refreshTokens() {\n if (!this.getStrategy().refreshController) {\n return Promise.resolve();\n }\n return Promise.resolve(this.getStrategy().refreshController.handleRefresh()).catch((error) => {\n this.callOnError(error, {method: \"refreshTokens\"});\n return Promise.reject(error);\n });\n }\n check(...args) {\n if (!this.getStrategy().check) {\n return {valid: true};\n }\n return this.getStrategy().check(...args);\n }\n fetchUserOnce(...args) {\n if (!this.$state.user) {\n return this.fetchUser(...args);\n }\n return Promise.resolve();\n }\n setUser(user) {\n this.$storage.setState(\"user\", user);\n let check = {valid: Boolean(user)};\n if (check.valid) {\n check = this.check();\n }\n this.$storage.setState(\"loggedIn\", check.valid);\n }\n request(endpoint, defaults = {}) {\n const _endpoint = typeof defaults === \"object\" ? Object.assign({}, defaults, endpoint) : endpoint;\n if (!this.ctx.app.$axios) {\n console.error(\"[AUTH] add the @nuxtjs/axios module to nuxt.config file\");\n return;\n }\n return this.ctx.app.$axios.request(_endpoint).catch((error) => {\n this.callOnError(error, {method: \"request\"});\n return Promise.reject(error);\n });\n }\n requestWith(strategy, endpoint, defaults) {\n const token = this.getStrategy().token.get();\n const _endpoint = Object.assign({}, defaults, endpoint);\n const tokenName = this.strategies[strategy].options.token.name || \"Authorization\";\n if (!_endpoint.headers) {\n _endpoint.headers = {};\n }\n if (!_endpoint.headers[tokenName] && isSet(token) && token && typeof token === \"string\") {\n _endpoint.headers[tokenName] = token;\n }\n return this.request(_endpoint);\n }\n wrapLogin(promise) {\n this.$storage.setState(\"busy\", true);\n this.error = null;\n return Promise.resolve(promise).then((response) => {\n this.$storage.setState(\"busy\", false);\n return response;\n }).catch((error) => {\n this.$storage.setState(\"busy\", false);\n return Promise.reject(error);\n });\n }\n onError(listener) {\n this._errorListeners.push(listener);\n }\n callOnError(error, payload = {}) {\n this.error = error;\n for (const fn of this._errorListeners) {\n fn(error, payload);\n }\n }\n redirect(name, noRouter = false) {\n if (!this.options.redirect) {\n return;\n }\n const from = this.options.fullPathRedirect ? this.ctx.route.fullPath : this.ctx.route.path;\n let to = this.options.redirect[name];\n if (!to) {\n return;\n }\n if (this.options.rewriteRedirects) {\n if (name === \"login\" && isRelativeURL(from) && !isSameURL(this.ctx, to, from)) {\n this.$storage.setUniversal(\"redirect\", from);\n }\n if (name === \"home\") {\n const redirect = this.$storage.getUniversal(\"redirect\");\n this.$storage.setUniversal(\"redirect\", null);\n if (isRelativeURL(redirect)) {\n to = redirect;\n }\n }\n }\n to = this.callOnRedirect(to, from) || to;\n if (isSameURL(this.ctx, to, from)) {\n return;\n }\n if (process.client) {\n if (noRouter) {\n if (isRelativeURL(to) && !to.includes(this.ctx.base)) {\n to = normalizePath(\"/\" + this.ctx.base + \"/\" + to);\n }\n window.location.replace(to);\n } else {\n this.ctx.redirect(to, this.ctx.query);\n }\n } else {\n this.ctx.redirect(to, this.ctx.query);\n }\n }\n onRedirect(listener) {\n this._redirectListeners.push(listener);\n }\n callOnRedirect(to, from) {\n for (const fn of this._redirectListeners) {\n to = fn(to, from) || to;\n }\n return to;\n }\n hasScope(scope) {\n const userScopes = this.$state.user && getProp(this.$state.user, this.options.scopeKey);\n if (!userScopes) {\n return false;\n }\n if (Array.isArray(userScopes)) {\n return userScopes.includes(scope);\n }\n return Boolean(getProp(userScopes, scope));\n }\n}\n\nconst authMiddleware = async (ctx) => {\n if (routeOption(ctx.route, \"auth\", false)) {\n return;\n }\n const matches = [];\n const Components = getMatchedComponents(ctx.route, matches);\n if (!Components.length) {\n return;\n }\n const {login, callback} = ctx.$auth.options.redirect;\n const pageIsInGuestMode = routeOption(ctx.route, \"auth\", \"guest\");\n const insidePage = (page) => normalizePath(ctx.route.path, ctx) === normalizePath(page, ctx);\n if (ctx.$auth.$state.loggedIn) {\n const {\n tokenExpired,\n refreshTokenExpired,\n isRefreshable\n } = ctx.$auth.check(true);\n if (!login || insidePage(login) || pageIsInGuestMode) {\n ctx.$auth.redirect(\"home\");\n }\n if (refreshTokenExpired) {\n ctx.$auth.reset();\n } else if (tokenExpired) {\n if (isRefreshable) {\n try {\n await ctx.$auth.refreshTokens();\n } catch (error) {\n ctx.$auth.reset();\n }\n } else {\n ctx.$auth.reset();\n }\n }\n } else if (!pageIsInGuestMode && (!callback || !insidePage(callback))) {\n ctx.$auth.redirect(\"login\");\n }\n};\n\nclass ExpiredAuthSessionError extends Error {\n constructor() {\n super(\"Both token and refresh token have expired. Your request was aborted.\");\n this.name = \"ExpiredAuthSessionError\";\n }\n}\n\nclass RefreshController {\n constructor(scheme) {\n this.scheme = scheme;\n this._refreshPromise = null;\n this.$auth = scheme.$auth;\n }\n handleRefresh() {\n if (this._refreshPromise) {\n return this._refreshPromise;\n }\n return this._doRefresh();\n }\n _doRefresh() {\n this._refreshPromise = new Promise((resolve, reject) => {\n this.scheme.refreshTokens().then((response) => {\n this._refreshPromise = null;\n resolve(response);\n }).catch((error) => {\n this._refreshPromise = null;\n reject(error);\n });\n });\n return this._refreshPromise;\n }\n}\n\nvar TokenStatusEnum;\n(function(TokenStatusEnum2) {\n TokenStatusEnum2[\"UNKNOWN\"] = \"UNKNOWN\";\n TokenStatusEnum2[\"VALID\"] = \"VALID\";\n TokenStatusEnum2[\"EXPIRED\"] = \"EXPIRED\";\n})(TokenStatusEnum || (TokenStatusEnum = {}));\nclass TokenStatus {\n constructor(token, tokenExpiresAt) {\n this._status = this._calculate(token, tokenExpiresAt);\n }\n unknown() {\n return TokenStatusEnum.UNKNOWN === this._status;\n }\n valid() {\n return TokenStatusEnum.VALID === this._status;\n }\n expired() {\n return TokenStatusEnum.EXPIRED === this._status;\n }\n _calculate(token, tokenExpiresAt) {\n const now = Date.now();\n try {\n if (!token || !tokenExpiresAt) {\n return TokenStatusEnum.UNKNOWN;\n }\n } catch (error) {\n return TokenStatusEnum.UNKNOWN;\n }\n const timeSlackMillis = 500;\n tokenExpiresAt -= timeSlackMillis;\n if (now < tokenExpiresAt) {\n return TokenStatusEnum.VALID;\n }\n return TokenStatusEnum.EXPIRED;\n }\n}\n\nclass RefreshToken {\n constructor(scheme, storage) {\n this.scheme = scheme;\n this.$storage = storage;\n }\n get() {\n const _key = this.scheme.options.refreshToken.prefix + this.scheme.name;\n return this.$storage.getUniversal(_key);\n }\n set(tokenValue) {\n const refreshToken = addTokenPrefix(tokenValue, this.scheme.options.refreshToken.type);\n this._setToken(refreshToken);\n this._updateExpiration(refreshToken);\n return refreshToken;\n }\n sync() {\n const refreshToken = this._syncToken();\n this._syncExpiration();\n return refreshToken;\n }\n reset() {\n this._setToken(false);\n this._setExpiration(false);\n }\n status() {\n return new TokenStatus(this.get(), this._getExpiration());\n }\n _getExpiration() {\n const _key = this.scheme.options.refreshToken.expirationPrefix + this.scheme.name;\n return this.$storage.getUniversal(_key);\n }\n _setExpiration(expiration) {\n const _key = this.scheme.options.refreshToken.expirationPrefix + this.scheme.name;\n return this.$storage.setUniversal(_key, expiration);\n }\n _syncExpiration() {\n const _key = this.scheme.options.refreshToken.expirationPrefix + this.scheme.name;\n return this.$storage.syncUniversal(_key);\n }\n _updateExpiration(refreshToken) {\n let refreshTokenExpiration;\n const _tokenIssuedAtMillis = Date.now();\n const _tokenTTLMillis = Number(this.scheme.options.refreshToken.maxAge) * 1e3;\n const _tokenExpiresAtMillis = _tokenTTLMillis ? _tokenIssuedAtMillis + _tokenTTLMillis : 0;\n try {\n refreshTokenExpiration = jwtDecode(refreshToken + \"\").exp * 1e3 || _tokenExpiresAtMillis;\n } catch (error) {\n refreshTokenExpiration = _tokenExpiresAtMillis;\n if (!(error && error.name === \"InvalidTokenError\")) {\n throw error;\n }\n }\n return this._setExpiration(refreshTokenExpiration || false);\n }\n _setToken(refreshToken) {\n const _key = this.scheme.options.refreshToken.prefix + this.scheme.name;\n return this.$storage.setUniversal(_key, refreshToken);\n }\n _syncToken() {\n const _key = this.scheme.options.refreshToken.prefix + this.scheme.name;\n return this.$storage.syncUniversal(_key);\n }\n}\n\nclass RequestHandler {\n constructor(scheme, axios) {\n this.scheme = scheme;\n this.axios = axios;\n this.interceptor = null;\n }\n setHeader(token) {\n if (this.scheme.options.token.global) {\n this.axios.setHeader(this.scheme.options.token.name, token);\n }\n }\n clearHeader() {\n if (this.scheme.options.token.global) {\n this.axios.setHeader(this.scheme.options.token.name, false);\n }\n }\n initializeRequestInterceptor(refreshEndpoint) {\n this.interceptor = this.axios.interceptors.request.use(async (config) => {\n if (!this._needToken(config) || config.url === refreshEndpoint) {\n return config;\n }\n const {\n valid,\n tokenExpired,\n refreshTokenExpired,\n isRefreshable\n } = this.scheme.check(true);\n let isValid = valid;\n if (refreshTokenExpired) {\n this.scheme.reset();\n throw new ExpiredAuthSessionError();\n }\n if (tokenExpired) {\n if (!isRefreshable) {\n this.scheme.reset();\n throw new ExpiredAuthSessionError();\n }\n isValid = await this.scheme.refreshTokens().then(() => true).catch(() => {\n this.scheme.reset();\n throw new ExpiredAuthSessionError();\n });\n }\n const token = this.scheme.token.get();\n if (!isValid) {\n if (!token && this._requestHasAuthorizationHeader(config)) {\n throw new ExpiredAuthSessionError();\n }\n return config;\n }\n return this._getUpdatedRequestConfig(config, token);\n });\n }\n reset() {\n this.axios.interceptors.request.eject(this.interceptor);\n this.interceptor = null;\n }\n _needToken(config) {\n const options = this.scheme.options;\n return options.token.global || Object.values(options.endpoints).some((endpoint) => typeof endpoint === \"object\" ? endpoint.url === config.url : endpoint === config.url);\n }\n _getUpdatedRequestConfig(config, token) {\n if (typeof token === \"string\") {\n config.headers[this.scheme.options.token.name] = token;\n }\n return config;\n }\n _requestHasAuthorizationHeader(config) {\n return !!config.headers.common[this.scheme.options.token.name];\n }\n}\n\nclass Token {\n constructor(scheme, storage) {\n this.scheme = scheme;\n this.$storage = storage;\n }\n get() {\n const _key = this.scheme.options.token.prefix + this.scheme.name;\n return this.$storage.getUniversal(_key);\n }\n set(tokenValue) {\n const token = addTokenPrefix(tokenValue, this.scheme.options.token.type);\n this._setToken(token);\n this._updateExpiration(token);\n if (typeof token === \"string\") {\n this.scheme.requestHandler.setHeader(token);\n }\n return token;\n }\n sync() {\n const token = this._syncToken();\n this._syncExpiration();\n if (typeof token === \"string\") {\n this.scheme.requestHandler.setHeader(token);\n }\n return token;\n }\n reset() {\n this.scheme.requestHandler.clearHeader();\n this._setToken(false);\n this._setExpiration(false);\n }\n status() {\n return new TokenStatus(this.get(), this._getExpiration());\n }\n _getExpiration() {\n const _key = this.scheme.options.token.expirationPrefix + this.scheme.name;\n return this.$storage.getUniversal(_key);\n }\n _setExpiration(expiration) {\n const _key = this.scheme.options.token.expirationPrefix + this.scheme.name;\n return this.$storage.setUniversal(_key, expiration);\n }\n _syncExpiration() {\n const _key = this.scheme.options.token.expirationPrefix + this.scheme.name;\n return this.$storage.syncUniversal(_key);\n }\n _updateExpiration(token) {\n let tokenExpiration;\n const _tokenIssuedAtMillis = Date.now();\n const _tokenTTLMillis = Number(this.scheme.options.token.maxAge) * 1e3;\n const _tokenExpiresAtMillis = _tokenTTLMillis ? _tokenIssuedAtMillis + _tokenTTLMillis : 0;\n try {\n tokenExpiration = jwtDecode(token + \"\").exp * 1e3 || _tokenExpiresAtMillis;\n } catch (error) {\n tokenExpiration = _tokenExpiresAtMillis;\n if (!(error && error.name === \"InvalidTokenError\")) {\n throw error;\n }\n }\n return this._setExpiration(tokenExpiration || false);\n }\n _setToken(token) {\n const _key = this.scheme.options.token.prefix + this.scheme.name;\n return this.$storage.setUniversal(_key, token);\n }\n _syncToken() {\n const _key = this.scheme.options.token.prefix + this.scheme.name;\n return this.$storage.syncUniversal(_key);\n }\n}\n\nclass BaseScheme {\n constructor($auth, ...options) {\n this.$auth = $auth;\n this.options = options.reduce((p, c) => defu2(p, c), {});\n }\n get name() {\n return this.options.name;\n }\n}\n\nconst DEFAULTS = {\n name: \"local\",\n endpoints: {\n login: {\n url: \"/api/auth/login\",\n method: \"post\"\n },\n logout: {\n url: \"/api/auth/logout\",\n method: \"post\"\n },\n user: {\n url: \"/api/auth/user\",\n method: \"get\"\n }\n },\n token: {\n property: \"token\",\n type: \"Bearer\",\n name: \"Authorization\",\n maxAge: 1800,\n global: true,\n required: true,\n prefix: \"_token.\",\n expirationPrefix: \"_token_expiration.\"\n },\n user: {\n property: \"user\",\n autoFetch: true\n },\n clientId: false,\n grantType: false,\n scope: false\n};\nclass LocalScheme extends BaseScheme {\n constructor($auth, options, ...defaults) {\n super($auth, options, ...defaults, DEFAULTS);\n this.token = new Token(this, this.$auth.$storage);\n this.requestHandler = new RequestHandler(this, this.$auth.ctx.$axios);\n }\n check(checkStatus = false) {\n const response = {\n valid: false,\n tokenExpired: false\n };\n const token = this.token.sync();\n if (!token) {\n return response;\n }\n if (!checkStatus) {\n response.valid = true;\n return response;\n }\n const tokenStatus = this.token.status();\n if (tokenStatus.expired()) {\n response.tokenExpired = true;\n return response;\n }\n response.valid = true;\n return response;\n }\n mounted({\n tokenCallback = () => this.$auth.reset(),\n refreshTokenCallback = void 0\n } = {}) {\n const {tokenExpired, refreshTokenExpired} = this.check(true);\n if (refreshTokenExpired && typeof refreshTokenCallback === \"function\") {\n refreshTokenCallback();\n } else if (tokenExpired && typeof tokenCallback === \"function\") {\n tokenCallback();\n }\n this.initializeRequestInterceptor();\n return this.$auth.fetchUserOnce();\n }\n async login(endpoint, {reset = true} = {}) {\n if (!this.options.endpoints.login) {\n return;\n }\n if (reset) {\n this.$auth.reset({resetInterceptor: false});\n }\n if (this.options.clientId) {\n endpoint.data.client_id = this.options.clientId;\n }\n if (this.options.grantType) {\n endpoint.data.grant_type = this.options.grantType;\n }\n if (this.options.scope) {\n endpoint.data.scope = this.options.scope;\n }\n const response = await this.$auth.request(endpoint, this.options.endpoints.login);\n this.updateTokens(response);\n if (!this.requestHandler.interceptor) {\n this.initializeRequestInterceptor();\n }\n if (this.options.user.autoFetch) {\n await this.fetchUser();\n }\n return response;\n }\n setUserToken(token) {\n this.token.set(token);\n return this.fetchUser();\n }\n fetchUser(endpoint) {\n if (!this.check().valid) {\n return Promise.resolve();\n }\n if (!this.options.endpoints.user) {\n this.$auth.setUser({});\n return Promise.resolve();\n }\n return this.$auth.requestWith(this.name, endpoint, this.options.endpoints.user).then((response) => {\n const userData = getProp(response.data, this.options.user.property);\n if (!userData) {\n const error = new Error(`User Data response does not contain field ${this.options.user.property}`);\n return Promise.reject(error);\n }\n this.$auth.setUser(userData);\n return response;\n }).catch((error) => {\n this.$auth.callOnError(error, {method: \"fetchUser\"});\n return Promise.reject(error);\n });\n }\n async logout(endpoint = {}) {\n if (this.options.endpoints.logout) {\n await this.$auth.requestWith(this.name, endpoint, this.options.endpoints.logout).catch(() => {\n });\n }\n return this.$auth.reset();\n }\n reset({resetInterceptor = true} = {}) {\n this.$auth.setUser(false);\n this.token.reset();\n if (resetInterceptor) {\n this.requestHandler.reset();\n }\n }\n updateTokens(response) {\n const token = this.options.token.required ? getProp(response.data, this.options.token.property) : true;\n this.token.set(token);\n }\n initializeRequestInterceptor() {\n this.requestHandler.initializeRequestInterceptor();\n }\n}\n\nconst DEFAULTS$1 = {\n name: \"cookie\",\n cookie: {\n name: null\n },\n token: {\n type: \"\",\n property: \"\",\n maxAge: false,\n global: false,\n required: false\n },\n endpoints: {\n csrf: null\n }\n};\nclass CookieScheme extends LocalScheme {\n constructor($auth, options) {\n super($auth, options, DEFAULTS$1);\n }\n mounted() {\n if (process.server) {\n this.$auth.ctx.$axios.setHeader(\"referer\", this.$auth.ctx.req.headers.host);\n }\n return super.mounted();\n }\n check() {\n const response = {valid: false};\n if (!super.check().valid) {\n return response;\n }\n if (this.options.cookie.name) {\n const cookies = this.$auth.$storage.getCookies();\n response.valid = Boolean(cookies[this.options.cookie.name]);\n return response;\n }\n response.valid = true;\n return response;\n }\n async login(endpoint) {\n this.$auth.reset();\n if (this.options.endpoints.csrf) {\n await this.$auth.request(this.options.endpoints.csrf, {\n maxRedirects: 0\n });\n }\n return super.login(endpoint, {reset: false});\n }\n reset() {\n if (this.options.cookie.name) {\n this.$auth.$storage.setCookie(this.options.cookie.name, null, {\n prefix: \"\"\n });\n }\n return super.reset();\n }\n}\n\nconst DEFAULTS$2 = {\n name: \"oauth2\",\n accessType: null,\n redirectUri: null,\n logoutRedirectUri: null,\n clientId: null,\n audience: null,\n grantType: null,\n responseMode: null,\n acrValues: null,\n autoLogout: false,\n endpoints: {\n logout: \"\",\n authorization: \"\",\n token: \"\",\n userInfo: \"\"\n },\n scope: [],\n token: {\n property: \"access_token\",\n type: \"Bearer\",\n name: \"Authorization\",\n maxAge: 1800,\n global: true,\n prefix: \"_token.\",\n expirationPrefix: \"_token_expiration.\"\n },\n refreshToken: {\n property: \"refresh_token\",\n maxAge: 60 * 60 * 24 * 30,\n prefix: \"_refresh_token.\",\n expirationPrefix: \"_refresh_token_expiration.\"\n },\n user: {\n property: false\n },\n responseType: \"token\",\n codeChallengeMethod: \"implicit\"\n};\nclass Oauth2Scheme extends BaseScheme {\n constructor($auth, options, ...defaults) {\n super($auth, options, ...defaults, DEFAULTS$2);\n this.req = $auth.ctx.req;\n this.token = new Token(this, this.$auth.$storage);\n this.refreshToken = new RefreshToken(this, this.$auth.$storage);\n this.refreshController = new RefreshController(this);\n this.requestHandler = new RequestHandler(this, this.$auth.ctx.$axios);\n }\n get scope() {\n return Array.isArray(this.options.scope) ? this.options.scope.join(\" \") : this.options.scope;\n }\n get redirectURI() {\n const basePath = this.$auth.ctx.base || \"\";\n const path = normalizePath(basePath + \"/\" + this.$auth.options.redirect.callback);\n return this.options.redirectUri || urlJoin(requrl2(this.req), path);\n }\n get logoutRedirectURI() {\n return this.options.logoutRedirectUri || urlJoin(requrl2(this.req), this.$auth.options.redirect.logout);\n }\n check(checkStatus = false) {\n const response = {\n valid: false,\n tokenExpired: false,\n refreshTokenExpired: false,\n isRefreshable: true\n };\n const token = this.token.sync();\n this.refreshToken.sync();\n if (!token) {\n return response;\n }\n if (!checkStatus) {\n response.valid = true;\n return response;\n }\n const tokenStatus = this.token.status();\n const refreshTokenStatus = this.refreshToken.status();\n if (refreshTokenStatus.expired()) {\n response.refreshTokenExpired = true;\n return response;\n }\n if (tokenStatus.expired()) {\n response.tokenExpired = true;\n return response;\n }\n response.valid = true;\n return response;\n }\n async mounted() {\n const {tokenExpired, refreshTokenExpired} = this.check(true);\n if (refreshTokenExpired || tokenExpired && this.options.autoLogout) {\n this.$auth.reset();\n }\n this.requestHandler.initializeRequestInterceptor(this.options.endpoints.token);\n const redirected = await this._handleCallback();\n if (!redirected) {\n return this.$auth.fetchUserOnce();\n }\n }\n reset() {\n this.$auth.setUser(false);\n this.token.reset();\n this.refreshToken.reset();\n this.requestHandler.reset();\n }\n async login(_opts = {}) {\n const opts = {\n protocol: \"oauth2\",\n response_type: this.options.responseType,\n access_type: this.options.accessType,\n client_id: this.options.clientId,\n redirect_uri: this.redirectURI,\n scope: this.scope,\n state: _opts.state || randomString(10),\n code_challenge_method: this.options.codeChallengeMethod,\n ..._opts.params\n };\n if (this.options.audience) {\n opts.audience = this.options.audience;\n }\n if (opts.response_type.includes(\"token\")) {\n opts.nonce = _opts.nonce || randomString(10);\n }\n if (opts.code_challenge_method) {\n switch (opts.code_challenge_method) {\n case \"plain\":\n case \"S256\":\n {\n const state = this.generateRandomString();\n this.$auth.$storage.setUniversal(this.name + \".pkce_state\", state);\n const codeVerifier = this.generateRandomString();\n this.$auth.$storage.setUniversal(this.name + \".pkce_code_verifier\", codeVerifier);\n const codeChallenge = await this.pkceChallengeFromVerifier(codeVerifier, opts.code_challenge_method === \"S256\");\n opts.code_challenge = window.encodeURIComponent(codeChallenge);\n }\n break;\n }\n }\n if (this.options.responseMode) {\n opts.response_mode = this.options.responseMode;\n }\n if (this.options.acrValues) {\n opts.acr_values = this.options.acrValues;\n }\n this.$auth.$storage.setUniversal(this.name + \".state\", opts.state);\n const url = this.options.endpoints.authorization + \"?\" + encodeQuery(opts);\n window.location.replace(url);\n }\n logout() {\n if (this.options.endpoints.logout) {\n const opts = {\n client_id: this.options.clientId + \"\",\n logout_uri: this.logoutRedirectURI\n };\n const url = this.options.endpoints.logout + \"?\" + encodeQuery(opts);\n window.location.replace(url);\n }\n return this.$auth.reset();\n }\n async fetchUser() {\n if (!this.check().valid) {\n return;\n }\n if (!this.options.endpoints.userInfo) {\n this.$auth.setUser({});\n return;\n }\n const response = await this.$auth.requestWith(this.name, {\n url: this.options.endpoints.userInfo\n });\n this.$auth.setUser(getProp(response.data, this.options.user.property));\n }\n async _handleCallback() {\n if (this.$auth.options.redirect && normalizePath(this.$auth.ctx.route.path, this.$auth.ctx) !== normalizePath(this.$auth.options.redirect.callback, this.$auth.ctx)) {\n return;\n }\n if (process.server) {\n return;\n }\n const hash = parseQuery(this.$auth.ctx.route.hash.substr(1));\n const parsedQuery = Object.assign({}, this.$auth.ctx.route.query, hash);\n let token = parsedQuery[this.options.token.property];\n let refreshToken;\n if (this.options.refreshToken.property) {\n refreshToken = parsedQuery[this.options.refreshToken.property];\n }\n const state = this.$auth.$storage.getUniversal(this.name + \".state\");\n this.$auth.$storage.setUniversal(this.name + \".state\", null);\n if (state && parsedQuery.state !== state) {\n return;\n }\n if (this.options.responseType === \"code\" && parsedQuery.code) {\n let codeVerifier;\n if (this.options.codeChallengeMethod && this.options.codeChallengeMethod !== \"implicit\") {\n codeVerifier = this.$auth.$storage.getUniversal(this.name + \".pkce_code_verifier\");\n this.$auth.$storage.setUniversal(this.name + \".pkce_code_verifier\", null);\n }\n const response = await this.$auth.request({\n method: \"post\",\n url: this.options.endpoints.token,\n baseURL: \"\",\n data: encodeQuery({\n code: parsedQuery.code,\n client_id: this.options.clientId + \"\",\n redirect_uri: this.redirectURI,\n response_type: this.options.responseType,\n audience: this.options.audience,\n grant_type: this.options.grantType,\n code_verifier: codeVerifier\n })\n });\n token = getProp(response.data, this.options.token.property) || token;\n refreshToken = getProp(response.data, this.options.refreshToken.property) || refreshToken;\n }\n if (!token || !token.length) {\n return;\n }\n this.token.set(token);\n if (refreshToken && refreshToken.length) {\n this.refreshToken.set(refreshToken);\n }\n this.$auth.redirect(\"home\", true);\n return true;\n }\n async refreshTokens() {\n const refreshToken = this.refreshToken.get();\n if (!refreshToken) {\n return;\n }\n const refreshTokenStatus = this.refreshToken.status();\n if (refreshTokenStatus.expired()) {\n this.$auth.reset();\n throw new ExpiredAuthSessionError();\n }\n this.requestHandler.clearHeader();\n const response = await this.$auth.request({\n method: \"post\",\n url: this.options.endpoints.token,\n baseURL: \"\",\n headers: {\n \"Content-Type\": \"application/x-www-form-urlencoded\"\n },\n data: encodeQuery({\n refresh_token: removeTokenPrefix(refreshToken, this.options.token.type),\n client_id: this.options.clientId + \"\",\n grant_type: \"refresh_token\"\n })\n }).catch((error) => {\n this.$auth.callOnError(error, {method: \"refreshToken\"});\n return Promise.reject(error);\n });\n this.updateTokens(response);\n return response;\n }\n updateTokens(response) {\n const token = getProp(response.data, this.options.token.property);\n const refreshToken = getProp(response.data, this.options.refreshToken.property);\n this.token.set(token);\n if (refreshToken) {\n this.refreshToken.set(refreshToken);\n }\n }\n async pkceChallengeFromVerifier(v, hashValue) {\n if (hashValue) {\n const hashed = await this._sha256(v);\n return this._base64UrlEncode(hashed);\n }\n return v;\n }\n generateRandomString() {\n const array = new Uint32Array(28);\n window.crypto.getRandomValues(array);\n return Array.from(array, (dec) => (\"0\" + dec.toString(16)).substr(-2)).join(\"\");\n }\n _sha256(plain) {\n const encoder = new TextEncoder();\n const data = encoder.encode(plain);\n return window.crypto.subtle.digest(\"SHA-256\", data);\n }\n _base64UrlEncode(str) {\n return btoa(String.fromCharCode.apply(null, new Uint8Array(str))).replace(/\\+/g, \"-\").replace(/\\//g, \"_\").replace(/=+$/, \"\");\n }\n}\n\nconst DEFAULTS$3 = {\n name: \"refresh\",\n endpoints: {\n refresh: {\n url: \"/api/auth/refresh\",\n method: \"post\"\n }\n },\n refreshToken: {\n property: \"refresh_token\",\n data: \"refresh_token\",\n maxAge: 60 * 60 * 24 * 30,\n required: true,\n tokenRequired: false,\n prefix: \"_refresh_token.\",\n expirationPrefix: \"_refresh_token_expiration.\"\n },\n autoLogout: false\n};\nclass RefreshScheme extends LocalScheme {\n constructor($auth, options) {\n super($auth, options, DEFAULTS$3);\n this.refreshToken = new RefreshToken(this, this.$auth.$storage);\n this.refreshController = new RefreshController(this);\n }\n check(checkStatus = false) {\n const response = {\n valid: false,\n tokenExpired: false,\n refreshTokenExpired: false,\n isRefreshable: true\n };\n const token = this.token.sync();\n const refreshToken = this.refreshToken.sync();\n if (!token || !refreshToken) {\n return response;\n }\n if (!checkStatus) {\n response.valid = true;\n return response;\n }\n const tokenStatus = this.token.status();\n const refreshTokenStatus = this.refreshToken.status();\n if (refreshTokenStatus.expired()) {\n response.refreshTokenExpired = true;\n return response;\n }\n if (tokenStatus.expired()) {\n response.tokenExpired = true;\n return response;\n }\n response.valid = true;\n return response;\n }\n mounted() {\n return super.mounted({\n tokenCallback: () => {\n if (this.options.autoLogout) {\n this.$auth.reset();\n }\n },\n refreshTokenCallback: () => {\n this.$auth.reset();\n }\n });\n }\n refreshTokens() {\n if (!this.options.endpoints.refresh) {\n return Promise.resolve();\n }\n if (!this.check().valid) {\n return Promise.resolve();\n }\n const refreshTokenStatus = this.refreshToken.status();\n if (refreshTokenStatus.expired()) {\n this.$auth.reset();\n throw new ExpiredAuthSessionError();\n }\n if (!this.options.refreshToken.tokenRequired) {\n this.requestHandler.clearHeader();\n }\n const endpoint = {\n data: {\n client_id: void 0,\n grant_type: void 0\n }\n };\n if (this.options.refreshToken.required && this.options.refreshToken.data) {\n endpoint.data[this.options.refreshToken.data] = this.refreshToken.get();\n }\n if (this.options.clientId) {\n endpoint.data.client_id = this.options.clientId;\n }\n if (this.options.grantType) {\n endpoint.data.grant_type = \"refresh_token\";\n }\n cleanObj(endpoint.data);\n return this.$auth.request(endpoint, this.options.endpoints.refresh).then((response) => {\n this.updateTokens(response, {isRefreshing: true});\n return response;\n }).catch((error) => {\n this.$auth.callOnError(error, {method: \"refreshToken\"});\n return Promise.reject(error);\n });\n }\n setUserToken(token, refreshToken) {\n this.token.set(token);\n if (refreshToken) {\n this.refreshToken.set(refreshToken);\n }\n return this.fetchUser();\n }\n reset({resetInterceptor = true} = {}) {\n this.$auth.setUser(false);\n this.token.reset();\n this.refreshToken.reset();\n if (resetInterceptor) {\n this.requestHandler.reset();\n }\n }\n updateTokens(response, {isRefreshing = false, updateOnRefresh = true} = {}) {\n const token = this.options.token.required ? getProp(response.data, this.options.token.property) : true;\n const refreshToken = this.options.refreshToken.required ? getProp(response.data, this.options.refreshToken.property) : true;\n this.token.set(token);\n if (refreshToken && (!isRefreshing || isRefreshing && updateOnRefresh)) {\n this.refreshToken.set(refreshToken);\n }\n }\n initializeRequestInterceptor() {\n this.requestHandler.initializeRequestInterceptor(this.options.endpoints.refresh.url);\n }\n}\n\nclass Auth0Scheme extends Oauth2Scheme {\n logout() {\n this.$auth.reset();\n const opts = {\n client_id: this.options.clientId + \"\",\n returnTo: this.logoutRedirectURI\n };\n const url = this.options.endpoints.logout + \"?\" + encodeQuery(opts);\n window.location.replace(url);\n }\n}\n\nclass LaravelJWTScheme extends RefreshScheme {\n updateTokens(response, {isRefreshing = false, updateOnRefresh = false} = {}) {\n super.updateTokens(response, {isRefreshing, updateOnRefresh});\n }\n}\n\nexport { Auth, Auth0Scheme, BaseScheme, CookieScheme, ExpiredAuthSessionError, LaravelJWTScheme, LocalScheme, Oauth2Scheme, RefreshController, RefreshScheme, RefreshToken, RequestHandler, Storage, Token, TokenStatus, TokenStatusEnum, authMiddleware };\n","import Middleware from './middleware'\nimport { Auth, authMiddleware, ExpiredAuthSessionError } from '~auth/runtime'\n\n// Active schemes\nimport { LaravelJWTScheme } from '~auth/runtime'\n\nMiddleware.auth = authMiddleware\n\nexport default function (ctx, inject) {\n // Options\n const options = {\n \"resetOnError\": false,\n \"ignoreExceptions\": false,\n \"scopeKey\": \"scope\",\n \"rewriteRedirects\": true,\n \"fullPathRedirect\": false,\n \"watchLoggedIn\": false,\n \"redirect\": {\n \"login\": \"/\",\n \"logout\": \"/\",\n \"home\": \"/\",\n \"callback\": \"/\"\n },\n \"vuex\": {\n \"namespace\": \"auth\"\n },\n \"cookie\": {\n \"prefix\": \"auth.\",\n \"options\": {\n \"path\": \"/\"\n }\n },\n \"localStorage\": {\n \"prefix\": \"auth.\"\n },\n \"defaultStrategy\": \"laravelJWT\"\n}\n\n // Create a new Auth instance\n const $auth = new Auth(ctx, options)\n\n // Register strategies\n // laravelJWT\n $auth.registerStrategy('laravelJWT', new LaravelJWTScheme($auth, {\n \"url\": \"http://api-takeaseat.eco-n-tech.co.uk/api/\",\n \"endpoints\": {\n \"login\": {\n \"url\": \"http://api-takeaseat.eco-n-tech.co.uk/api/auth/login\",\n \"method\": \"post\"\n },\n \"refresh\": {\n \"url\": \"http://api-takeaseat.eco-n-tech.co.uk/api/auth/refresh\",\n \"method\": \"post\"\n },\n \"logout\": {\n \"url\": \"http://api-takeaseat.eco-n-tech.co.uk/api/auth/logout\",\n \"method\": \"post\"\n },\n \"user\": {\n \"url\": \"http://api-takeaseat.eco-n-tech.co.uk/api/auth/user\",\n \"method\": \"get\"\n }\n },\n \"token\": {\n \"property\": \"token\",\n \"maxAge\": 3600\n },\n \"refreshToken\": {\n \"property\": false,\n \"data\": false,\n \"maxAge\": 1209600,\n \"required\": false,\n \"tokenRequired\": true\n },\n \"name\": \"laravelJWT\",\n \"user\": {\n \"property\": false\n },\n \"clientId\": false,\n \"grantType\": false\n}))\n\n // Inject it to nuxt context as $auth\n inject('auth', $auth)\n ctx.$auth = $auth\n\n // Initialize auth\n return $auth.init().catch(error => {\n if (process.client) {\n // Don't console log expired auth session errors. This error is common, and expected to happen.\n // The error happens whenever the user does an ssr request (reload/initial navigation) with an expired refresh\n // token. We don't want to log this as an error.\n if (error instanceof ExpiredAuthSessionError) {\n return\n }\n\n console.error('[ERROR] [AUTH]', error)\n }\n })\n}\n","import Vue from 'vue'\nimport Vuex from 'vuex'\nimport Meta from 'vue-meta'\nimport ClientOnly from 'vue-client-only'\nimport NoSsr from 'vue-no-ssr'\nimport { createRouter } from './router.js'\nimport NuxtChild from './components/nuxt-child.js'\nimport NuxtError from '../layouts/error.vue'\nimport Nuxt from './components/nuxt.js'\nimport App from './App.js'\nimport { setContext, getLocation, getRouteData, normalizeError } from './utils'\nimport { createStore } from './store.js'\n\n/* Plugins */\n\nimport nuxt_plugin_plugin_29f8d5cf from 'nuxt_plugin_plugin_29f8d5cf' // Source: ./components/plugin.js (mode: 'all')\nimport nuxt_plugin_cookieuniversalnuxt_19ea350d from 'nuxt_plugin_cookieuniversalnuxt_19ea350d' // Source: ./cookie-universal-nuxt.js (mode: 'all')\nimport nuxt_plugin_templatesplugin4dcde494_20427bfa from 'nuxt_plugin_templatesplugin4dcde494_20427bfa' // Source: ./templates.plugin.4dcde494.js (mode: 'client')\nimport nuxt_plugin_recaptcha_258e5354 from 'nuxt_plugin_recaptcha_258e5354' // Source: ./recaptcha.js (mode: 'all')\nimport nuxt_plugin_gtm_bec5490a from 'nuxt_plugin_gtm_bec5490a' // Source: ./gtm.js (mode: 'all')\nimport nuxt_plugin_moment_8fbd025a from 'nuxt_plugin_moment_8fbd025a' // Source: ./moment.js (mode: 'all')\nimport nuxt_plugin_axios_4fc9ff65 from 'nuxt_plugin_axios_4fc9ff65' // Source: ./axios.js (mode: 'all')\nimport nuxt_plugin_toast_1bfa4c14 from 'nuxt_plugin_toast_1bfa4c14' // Source: ./toast.js (mode: 'client')\nimport nuxt_plugin_veevalidate_1a0c1998 from 'nuxt_plugin_veevalidate_1a0c1998' // Source: ../plugins/vee-validate.js (mode: 'all')\nimport nuxt_plugin_vuetailwind_5c4b8aa2 from 'nuxt_plugin_vuetailwind_5c4b8aa2' // Source: ../plugins/vue-tailwind.js (mode: 'all')\nimport nuxt_plugin_vuemoney_58048c14 from 'nuxt_plugin_vuemoney_58048c14' // Source: ../plugins/vue-money.js (mode: 'all')\nimport nuxt_plugin_passwordstrengthindicator_364be250 from 'nuxt_plugin_passwordstrengthindicator_364be250' // Source: ../plugins/password-strength-indicator.js (mode: 'all')\nimport nuxt_plugin_facebookevents_7f903ded from 'nuxt_plugin_facebookevents_7f903ded' // Source: ../plugins/facebook-events.js (mode: 'all')\nimport nuxt_plugin_vuecroppie_3ca70318 from 'nuxt_plugin_vuecroppie_3ca70318' // Source: ../plugins/vue-croppie.js (mode: 'client')\nimport nuxt_plugin_vuecalendar_796f99fc from 'nuxt_plugin_vuecalendar_796f99fc' // Source: ../plugins/vue-calendar.js (mode: 'client')\nimport nuxt_plugin_vue2editor_65d66bc8 from 'nuxt_plugin_vue2editor_65d66bc8' // Source: ../plugins/vue2editor.js (mode: 'client')\nimport nuxt_plugin_vuesmoothscroll_a9e1b6c2 from 'nuxt_plugin_vuesmoothscroll_a9e1b6c2' // Source: ../plugins/vue-smoothscroll.js (mode: 'client')\nimport nuxt_plugin_auth_37d9a92b from 'nuxt_plugin_auth_37d9a92b' // Source: ./auth.js (mode: 'all')\n\n// Component: <ClientOnly>\nVue.component(ClientOnly.name, ClientOnly)\n\n// TODO: Remove in Nuxt 3: <NoSsr>\nVue.component(NoSsr.name, {\n ...NoSsr,\n render (h, ctx) {\n if (process.client && !NoSsr._warned) {\n NoSsr._warned = true\n\n console.warn('<no-ssr> has been deprecated and will be removed in Nuxt 3, please use <client-only> instead')\n }\n return NoSsr.render(h, ctx)\n }\n})\n\n// Component: <NuxtChild>\nVue.component(NuxtChild.name, NuxtChild)\nVue.component('NChild', NuxtChild)\n\n// Component NuxtLink is imported in server.js or client.js\n\n// Component: <Nuxt>\nVue.component(Nuxt.name, Nuxt)\n\nObject.defineProperty(Vue.prototype, '$nuxt', {\n get() {\n const globalNuxt = this.$root.$options.$nuxt\n if (process.client && !globalNuxt && typeof window !== 'undefined') {\n return window.$nuxt\n }\n return globalNuxt\n },\n configurable: true\n})\n\nVue.use(Meta, {\"keyName\":\"head\",\"attribute\":\"data-n-head\",\"ssrAttribute\":\"data-n-head-ssr\",\"tagIDKeyName\":\"hid\"})\n\nconst defaultTransition = {\"name\":\"page\",\"mode\":\"out-in\",\"appear\":false,\"appearClass\":\"appear\",\"appearActiveClass\":\"appear-active\",\"appearToClass\":\"appear-to\"}\n\nconst originalRegisterModule = Vuex.Store.prototype.registerModule\n\nfunction registerModule (path, rawModule, options = {}) {\n const preserveState = process.client && (\n Array.isArray(path)\n ? !!path.reduce((namespacedState, path) => namespacedState && namespacedState[path], this.state)\n : path in this.state\n )\n return originalRegisterModule.call(this, path, rawModule, { preserveState, ...options })\n}\n\nasync function createApp(ssrContext, config = {}) {\n const router = await createRouter(ssrContext, config)\n\n const store = createStore(ssrContext)\n // Add this.$router into store actions/mutations\n store.$router = router\n\n // Fix SSR caveat https://github.com/nuxt/nuxt.js/issues/3757#issuecomment-414689141\n store.registerModule = registerModule\n\n // Create Root instance\n\n // here we inject the router and store to all child components,\n // making them available everywhere as `this.$router` and `this.$store`.\n const app = {\n head: {\"title\":\"Takeaseat\",\"htmlAttrs\":{\"lang\":\"en\"},\"meta\":[{\"charset\":\"utf-8\"},{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"},{\"name\":\"msapplication-TileColor\",\"content\":\"#2d89ef\"},{\"name\":\"theme-color\",\"content\":\"#ffffff\"},{\"hid\":\"description\",\"name\":\"description\",\"content\":\"Providing a safe space for you to talk more and live a better life\"}],\"link\":[{\"rel\":\"apple-touch-icon\",\"sizes\":\"180x180\",\"href\":\"\\u002Fapple-touch-icon.png\"},{\"rel\":\"icon\",\"type\":\"image\\u002Fpng\",\"sizes\":\"32x32\",\"href\":\"\\u002Ffavicon-32x32.png\"},{\"rel\":\"icon\",\"type\":\"image\\u002Fpng\",\"sizes\":\"16x16\",\"href\":\"\\u002Ffavicon-16x16.png\"},{\"rel\":\"manifest\",\"href\":\"\\u002Fsite.webmanifest\"}],\"script\":[{\"src\":\"https:\\u002F\\u002Funpkg.com\\u002Farray-flat-polyfill\",\"body\":true},{\"hid\":\"gtm-script\",\"innerHTML\":\"if(!window._gtm_init){window._gtm_init=1;(function(w,n,d,m,e,p){w[d]=(w[d]==1||n[d]=='yes'||n[d]==1||n[m]==1||(w[e]&&w[e][p]&&w[e][p]()))?1:0})(window,navigator,'doNotTrack','msDoNotTrack','external','msTrackingProtectionEnabled');(function(w,d,s,l,x,y){w[x]={};w._gtm_inject=function(i){if(w.doNotTrack||w[x][i])return;w[x][i]=1;w[l]=w[l]||[];w[l].push({'gtm.start':new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],j=d.createElement(s);j.async=true;j.src='https:\\u002F\\u002Fwww.googletagmanager.com\\u002Fgtm.js?id='+i;f.parentNode.insertBefore(j,f);};w[y]('GTM-TGWNJCS')})(window,document,'script','dataLayer','_gtm_ids','_gtm_inject')}\"}],\"style\":[],\"noscript\":[{\"hid\":\"gtm-noscript\",\"pbody\":true,\"innerHTML\":\"\\u003Ciframe src=\\\"https:\\u002F\\u002Fwww.googletagmanager.com\\u002Fns.html?id=GTM-TGWNJCS&\\\" height=\\\"0\\\" width=\\\"0\\\" style=\\\"display:none;visibility:hidden\\\" title=\\\"gtm\\\"\\u003E\\u003C\\u002Fiframe\\u003E\"}],\"__dangerouslyDisableSanitizersByTagID\":{\"gtm-script\":[\"innerHTML\"],\"gtm-noscript\":[\"innerHTML\"]}},\n\n store,\n router,\n nuxt: {\n defaultTransition,\n transitions: [defaultTransition],\n setTransitions (transitions) {\n if (!Array.isArray(transitions)) {\n transitions = [transitions]\n }\n transitions = transitions.map((transition) => {\n if (!transition) {\n transition = defaultTransition\n } else if (typeof transition === 'string') {\n transition = Object.assign({}, defaultTransition, { name: transition })\n } else {\n transition = Object.assign({}, defaultTransition, transition)\n }\n return transition\n })\n this.$options.nuxt.transitions = transitions\n return transitions\n },\n\n err: null,\n dateErr: null,\n error (err) {\n err = err || null\n app.context._errored = Boolean(err)\n err = err ? normalizeError(err) : null\n let nuxt = app.nuxt // to work with @vue/composition-api, see https://github.com/nuxt/nuxt.js/issues/6517#issuecomment-573280207\n if (this) {\n nuxt = this.nuxt || this.$options.nuxt\n }\n nuxt.dateErr = Date.now()\n nuxt.err = err\n // Used in src/server.js\n if (ssrContext) {\n ssrContext.nuxt.error = err\n }\n return err\n }\n },\n ...App\n }\n\n // Make app available into store via this.app\n store.app = app\n\n const next = ssrContext ? ssrContext.next : location => app.router.push(location)\n // Resolve route\n let route\n if (ssrContext) {\n route = router.resolve(ssrContext.url).route\n } else {\n const path = getLocation(router.options.base, router.options.mode)\n route = router.resolve(path).route\n }\n\n // Set context to app.context\n await setContext(app, {\n store,\n route,\n next,\n error: app.nuxt.error.bind(app),\n payload: ssrContext ? ssrContext.payload : undefined,\n req: ssrContext ? ssrContext.req : undefined,\n res: ssrContext ? ssrContext.res : undefined,\n beforeRenderFns: ssrContext ? ssrContext.beforeRenderFns : undefined,\n ssrContext\n })\n\n function inject(key, value) {\n if (!key) {\n throw new Error('inject(key, value) has no key provided')\n }\n if (value === undefined) {\n throw new Error(`inject('${key}', value) has no value provided`)\n }\n\n key = '$' + key\n // Add into app\n app[key] = value\n // Add into context\n if (!app.context[key]) {\n app.context[key] = value\n }\n\n // Add into store\n store[key] = app[key]\n\n // Check if plugin not already installed\n const installKey = '__nuxt_' + key + '_installed__'\n if (Vue[installKey]) {\n return\n }\n Vue[installKey] = true\n // Call Vue.use() to install the plugin into vm\n Vue.use(() => {\n if (!Object.prototype.hasOwnProperty.call(Vue.prototype, key)) {\n Object.defineProperty(Vue.prototype, key, {\n get () {\n return this.$root.$options[key]\n }\n })\n }\n })\n }\n\n // Inject runtime config as $config\n inject('config', config)\n\n if (process.client) {\n // Replace store state before plugins execution\n if (window.__NUXT__ && window.__NUXT__.state) {\n store.replaceState(window.__NUXT__.state)\n }\n }\n\n // Add enablePreview(previewData = {}) in context for plugins\n if (process.static && process.client) {\n app.context.enablePreview = function (previewData = {}) {\n app.previewData = Object.assign({}, previewData)\n inject('preview', previewData)\n }\n }\n // Plugin execution\n\n if (typeof nuxt_plugin_plugin_29f8d5cf === 'function') {\n await nuxt_plugin_plugin_29f8d5cf(app.context, inject)\n }\n\n if (typeof nuxt_plugin_cookieuniversalnuxt_19ea350d === 'function') {\n await nuxt_plugin_cookieuniversalnuxt_19ea350d(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_templatesplugin4dcde494_20427bfa === 'function') {\n await nuxt_plugin_templatesplugin4dcde494_20427bfa(app.context, inject)\n }\n\n if (typeof nuxt_plugin_recaptcha_258e5354 === 'function') {\n await nuxt_plugin_recaptcha_258e5354(app.context, inject)\n }\n\n if (typeof nuxt_plugin_gtm_bec5490a === 'function') {\n await nuxt_plugin_gtm_bec5490a(app.context, inject)\n }\n\n if (typeof nuxt_plugin_moment_8fbd025a === 'function') {\n await nuxt_plugin_moment_8fbd025a(app.context, inject)\n }\n\n if (typeof nuxt_plugin_axios_4fc9ff65 === 'function') {\n await nuxt_plugin_axios_4fc9ff65(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_toast_1bfa4c14 === 'function') {\n await nuxt_plugin_toast_1bfa4c14(app.context, inject)\n }\n\n if (typeof nuxt_plugin_veevalidate_1a0c1998 === 'function') {\n await nuxt_plugin_veevalidate_1a0c1998(app.context, inject)\n }\n\n if (typeof nuxt_plugin_vuetailwind_5c4b8aa2 === 'function') {\n await nuxt_plugin_vuetailwind_5c4b8aa2(app.context, inject)\n }\n\n if (typeof nuxt_plugin_vuemoney_58048c14 === 'function') {\n await nuxt_plugin_vuemoney_58048c14(app.context, inject)\n }\n\n if (typeof nuxt_plugin_passwordstrengthindicator_364be250 === 'function') {\n await nuxt_plugin_passwordstrengthindicator_364be250(app.context, inject)\n }\n\n if (typeof nuxt_plugin_facebookevents_7f903ded === 'function') {\n await nuxt_plugin_facebookevents_7f903ded(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_vuecroppie_3ca70318 === 'function') {\n await nuxt_plugin_vuecroppie_3ca70318(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_vuecalendar_796f99fc === 'function') {\n await nuxt_plugin_vuecalendar_796f99fc(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_vue2editor_65d66bc8 === 'function') {\n await nuxt_plugin_vue2editor_65d66bc8(app.context, inject)\n }\n\n if (process.client && typeof nuxt_plugin_vuesmoothscroll_a9e1b6c2 === 'function') {\n await nuxt_plugin_vuesmoothscroll_a9e1b6c2(app.context, inject)\n }\n\n if (typeof nuxt_plugin_auth_37d9a92b === 'function') {\n await nuxt_plugin_auth_37d9a92b(app.context, inject)\n }\n\n // Lock enablePreview in context\n if (process.static && process.client) {\n app.context.enablePreview = function () {\n console.warn('You cannot call enablePreview() outside a plugin.')\n }\n }\n\n // Wait for async component to be resolved first\n await new Promise((resolve, reject) => {\n router.push(app.context.route.fullPath, resolve, (err) => {\n // https://github.com/vuejs/vue-router/blob/v3.4.3/src/util/errors.js\n if (!err._isRouter) return reject(err)\n if (err.type !== 2 /* NavigationFailureType.redirected */) return resolve()\n\n // navigated to a different route in router guard\n const unregister = router.afterEach(async (to, from) => {\n if (process.server && ssrContext && ssrContext.url) {\n ssrContext.url = to.fullPath\n }\n app.context.route = await getRouteData(to)\n app.context.params = to.params || {}\n app.context.query = to.query || {}\n unregister()\n resolve()\n })\n })\n })\n\n return {\n store,\n app,\n router\n }\n}\n\nexport { createApp, NuxtError }\n","import Vue from 'vue'\n\nexport default {\n name: 'NuxtLink',\n extends: Vue.component('RouterLink'),\n props: {\n prefetch: {\n type: Boolean,\n default: true\n },\n noPrefetch: {\n type: Boolean,\n default: false\n }\n }\n}\n","import Vue from 'vue'\nimport { joinURL, normalizeURL, withQuery } from 'ufo'\nimport fetch from 'node-fetch'\nimport middleware from './middleware.js'\nimport {\n applyAsyncData,\n middlewareSeries,\n sanitizeComponent,\n getMatchedComponents,\n promisify\n} from './utils.js'\nimport fetchMixin from './mixins/fetch.server'\nimport { createApp, NuxtError } from './index.js'\nimport NuxtLink from './components/nuxt-link.server.js' // should be included after ./index.js\n\n// Update serverPrefetch strategy\nVue.config.optionMergeStrategies.serverPrefetch = Vue.config.optionMergeStrategies.created\n\n// Fetch mixin\nif (!Vue.__nuxt__fetch__mixin__) {\n Vue.mixin(fetchMixin)\n Vue.__nuxt__fetch__mixin__ = true\n}\n\n// Component: <NuxtLink>\nVue.component(NuxtLink.name, NuxtLink)\nVue.component('NLink', NuxtLink)\n\nif (!global.fetch) { global.fetch = fetch }\n\nconst noopApp = () => new Vue({ render: h => h('div', { domProps: { id: '__nuxt' } }) })\n\nconst createNext = ssrContext => (opts) => {\n // If static target, render on client-side\n ssrContext.redirected = opts\n if (ssrContext.target === 'static' || !ssrContext.res) {\n ssrContext.nuxt.serverRendered = false\n return\n }\n let fullPath = withQuery(opts.path, opts.query)\n const $config = ssrContext.runtimeConfig || {}\n const routerBase = ($config._app && $config._app.basePath) || '/'\n if (!fullPath.startsWith('http') && (routerBase !== '/' && !fullPath.startsWith(routerBase))) {\n fullPath = joinURL(routerBase, fullPath)\n }\n // Avoid loop redirect\n if (decodeURI(fullPath) === decodeURI(ssrContext.url)) {\n ssrContext.redirected = false\n return\n }\n ssrContext.res.writeHead(opts.status, {\n Location: normalizeURL(fullPath)\n })\n ssrContext.res.end()\n}\n\n// This exported function will be called by `bundleRenderer`.\n// This is where we perform data-prefetching to determine the\n// state of our application before actually rendering it.\n// Since data fetching is async, this function is expected to\n// return a Promise that resolves to the app instance.\nexport default async (ssrContext) => {\n // Create ssrContext.next for simulate next() of beforeEach() when wanted to redirect\n ssrContext.redirected = false\n ssrContext.next = createNext(ssrContext)\n // Used for beforeNuxtRender({ Components, nuxtState })\n ssrContext.beforeRenderFns = []\n // Nuxt object (window.{{globals.context}}, defaults to window.__NUXT__)\n ssrContext.nuxt = { layout: 'default', data: [], fetch: {}, error: null, state: null, serverRendered: true, routePath: '' }\n\n ssrContext.fetchCounters = {}\n\n // Remove query from url is static target\n\n // Public runtime config\n ssrContext.nuxt.config = ssrContext.runtimeConfig.public\n if (ssrContext.nuxt.config._app) {\n __webpack_public_path__ = joinURL(ssrContext.nuxt.config._app.cdnURL, ssrContext.nuxt.config._app.assetsPath)\n }\n // Create the app definition and the instance (created for each request)\n const { app, router, store } = await createApp(ssrContext, ssrContext.runtimeConfig.private)\n const _app = new Vue(app)\n // Add ssr route path to nuxt context so we can account for page navigation between ssr and csr\n ssrContext.nuxt.routePath = app.context.route.path\n\n // Add meta infos (used in renderer.js)\n ssrContext.meta = _app.$meta()\n\n // Keep asyncData for each matched component in ssrContext (used in app/utils.js via this.$ssrContext)\n ssrContext.asyncData = {}\n\n const beforeRender = async () => {\n // Call beforeNuxtRender() methods\n await Promise.all(ssrContext.beforeRenderFns.map(fn => promisify(fn, { Components, nuxtState: ssrContext.nuxt })))\n\n ssrContext.rendered = () => {\n // Add the state from the vuex store\n ssrContext.nuxt.state = store.state\n }\n }\n\n const renderErrorPage = async () => {\n // Don't server-render the page in static target\n if (ssrContext.target === 'static') {\n ssrContext.nuxt.serverRendered = false\n }\n\n // Load layout for error page\n const layout = (NuxtError.options || NuxtError).layout\n const errLayout = typeof layout === 'function' ? layout.call(NuxtError, app.context) : layout\n ssrContext.nuxt.layout = errLayout || 'default'\n await _app.loadLayout(errLayout)\n _app.setLayout(errLayout)\n\n await beforeRender()\n return _app\n }\n const render404Page = () => {\n app.context.error({ statusCode: 404, path: ssrContext.url, message: 'This page could not be found' })\n return renderErrorPage()\n }\n\n // Components are already resolved by setContext -> getRouteData (app/utils.js)\n const Components = getMatchedComponents(app.context.route)\n\n /*\n ** Dispatch store nuxtServerInit\n */\n if (store._actions && store._actions.nuxtServerInit) {\n try {\n await store.dispatch('nuxtServerInit', app.context)\n } catch (err) {\n console.debug('Error occurred when calling nuxtServerInit: ', err.message)\n throw err\n }\n }\n // ...If there is a redirect or an error, stop the process\n if (ssrContext.redirected) {\n return noopApp()\n }\n if (ssrContext.nuxt.error) {\n return renderErrorPage()\n }\n\n /*\n ** Call global middleware (nuxt.config.js)\n */\n let midd = []\n midd = midd.map((name) => {\n if (typeof name === 'function') {\n return name\n }\n if (typeof middleware[name] !== 'function') {\n app.context.error({ statusCode: 500, message: 'Unknown middleware ' + name })\n }\n return middleware[name]\n })\n await middlewareSeries(midd, app.context)\n // ...If there is a redirect or an error, stop the process\n if (ssrContext.redirected) {\n return noopApp()\n }\n if (ssrContext.nuxt.error) {\n return renderErrorPage()\n }\n\n /*\n ** Set layout\n */\n let layout = Components.length ? Components[0].options.layout : NuxtError.layout\n if (typeof layout === 'function') {\n layout = layout(app.context)\n }\n await _app.loadLayout(layout)\n if (ssrContext.nuxt.error) {\n return renderErrorPage()\n }\n layout = _app.setLayout(layout)\n ssrContext.nuxt.layout = _app.layoutName\n\n /*\n ** Call middleware (layout + pages)\n */\n midd = []\n\n layout = sanitizeComponent(layout)\n if (layout.options.middleware) {\n midd = midd.concat(layout.options.middleware)\n }\n\n Components.forEach((Component) => {\n if (Component.options.middleware) {\n midd = midd.concat(Component.options.middleware)\n }\n })\n midd = midd.map((name) => {\n if (typeof name === 'function') {\n return name\n }\n if (typeof middleware[name] !== 'function') {\n app.context.error({ statusCode: 500, message: 'Unknown middleware ' + name })\n }\n return middleware[name]\n })\n await middlewareSeries(midd, app.context)\n // ...If there is a redirect or an error, stop the process\n if (ssrContext.redirected) {\n return noopApp()\n }\n if (ssrContext.nuxt.error) {\n return renderErrorPage()\n }\n\n /*\n ** Call .validate()\n */\n let isValid = true\n try {\n for (const Component of Components) {\n if (typeof Component.options.validate !== 'function') {\n continue\n }\n\n isValid = await Component.options.validate(app.context)\n\n if (!isValid) {\n break\n }\n }\n } catch (validationError) {\n // ...If .validate() threw an error\n app.context.error({\n statusCode: validationError.statusCode || '500',\n message: validationError.message\n })\n return renderErrorPage()\n }\n\n // ...If .validate() returned false\n if (!isValid) {\n // Render a 404 error page\n return render404Page()\n }\n\n // If no Components found, returns 404\n if (!Components.length) {\n return render404Page()\n }\n\n // Call asyncData & fetch hooks on components matched by the route.\n const asyncDatas = await Promise.all(Components.map((Component) => {\n const promises = []\n\n // Call asyncData(context)\n if (Component.options.asyncData && typeof Component.options.asyncData === 'function') {\n const promise = promisify(Component.options.asyncData, app.context)\n promise.then((asyncDataResult) => {\n ssrContext.asyncData[Component.cid] = asyncDataResult\n applyAsyncData(Component)\n return asyncDataResult\n })\n promises.push(promise)\n } else {\n promises.push(null)\n }\n\n // Call fetch(context)\n if (Component.options.fetch && Component.options.fetch.length) {\n promises.push(Component.options.fetch(app.context))\n } else {\n promises.push(null)\n }\n\n return Promise.all(promises)\n }))\n\n // datas are the first row of each\n ssrContext.nuxt.data = asyncDatas.map(r => r[0] || {})\n\n // ...If there is a redirect or an error, stop the process\n if (ssrContext.redirected) {\n return noopApp()\n }\n if (ssrContext.nuxt.error) {\n return renderErrorPage()\n }\n\n // Call beforeNuxtRender methods & add store state\n await beforeRender()\n\n return _app\n}\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showBanner),expression:\"showBanner\"}],staticClass:\"bg-black text-white box-border flex flex-nowrap font-sans text-base overflow-hidden relative z-50 flex-row py-4 px-7 w-full top-0 left-0 right-0\",attrs:{\"role\":\"dialog\",\"aria-live\":\"polite\",\"aria-label\":\"cookieconsent\",\"aria-describedby\":\"cookieconsent:desc\"}},[_vm._ssrNode(\"<span id=\\\"cookieconsent:desc\\\" class=\\\"flex-auto block max-w-full mr-4 p-1\\\">\",\"</span>\",[_vm._ssrNode(\"\\n This website uses cookies to ensure you get the best experience on our\\n website.\\n \"),_c('nuxt-link',{staticClass:\"inline-block underline\",attrs:{\"to\":\"/privacy-policy/\"}},[_vm._v(\"\\n Learn more\\n \")])],2),_vm._ssrNode(\" <div class=\\\"flex content-between items-center\\\"><a aria-label=\\\"dismiss cookie message\\\" role=\\\"button\\\" tabindex=\\\"0\\\" class=\\\"border-transparent border-solid border-2 text-black cursor-pointer block font-bold py-1.5 px-3 text-center whitespace-nowrap bg-yellow\\\">\\n Got it!\\n </a></div>\")],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data() {\n return {\n showBanner: this.$cookies.get(\"cookiebanner\") !== \"dismissed\",\n };\n },\n methods: {\n closeBanner() {\n this.showBanner = false;\n this.$cookies.set('is_sidebar_open', \"no\")\n this.$cookies.set(\"cookiebanner\", \"dismissed\");\n },\n },\n};\n","import mod from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./CookieBanner.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../node_modules/babel-loader/lib/index.js??ref--2-0!../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./CookieBanner.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./CookieBanner.vue?vue&type=template&id=4dcf2014&\"\nimport script from \"./CookieBanner.vue?vue&type=script&lang=js&\"\nexport * from \"./CookieBanner.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n \"56b606d0\"\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"lg:col-span-4 lg:flex lg:items-center lg:justify-center\"},[_vm._ssrNode(\"<div class=\\\"hidden lg:block\\\" data-v-30beed07>\",\"</div>\",_vm._l((_vm.links),function(link,key){return _c('NuxtLink',{key:key,staticClass:\"nav-link\",attrs:{\"to\":link.url}},[_vm._v(_vm._s(link.name))])}),1),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"ml-5 block lg:hidden\\\" data-v-30beed07>\",\"</div>\",[_vm._ssrNode(\"<button class=\\\"block relative w-10 focus:outline-none\\\" data-v-30beed07><span\"+(_vm._ssrClass(\"block mb-1.5 h-1 w-full bg-black rounded transform transition duration-100\",_vm.menuOpen ? 'rotate-45 translate-y-2' : ''))+\" data-v-30beed07></span> <span\"+(_vm._ssrClass(\"block my-1.5 h-1 w-full bg-black rounded transform transition duration-100\",_vm.menuOpen ? 'opacity-0' : ''))+\" data-v-30beed07></span> <span\"+(_vm._ssrClass(\"block mt-1.5 h-1 w-full bg-black rounded transform transition duration-100\",_vm.menuOpen ? '-rotate-45 -translate-y-3' : ''))+\" data-v-30beed07></span></button> \"),(_vm.menuOpen)?_vm._ssrNode(\"<div class=\\\"absolute z-20 top-full right-0 w-full bg-white shadow-lg\\\" data-v-30beed07>\",\"</div>\",_vm._l((_vm.links),function(link,key){return _vm._ssrNode(\"<div data-v-30beed07>\",\"</div>\",[(link.role == 'all' || _vm.role == link.role)?_c('NuxtLink',{staticClass:\"mobile-nav-link px-4 md:px-8 py-3\",attrs:{\"to\":link.url}},[_vm._v(_vm._s(link.name))]):_vm._e()],1)}),0):_vm._e()],2),_vm._ssrNode(\" \"+((_vm.menuOpen)?(\"<div class=\\\"fixed z-10 top-0 left-0 w-full h-full\\\" data-v-30beed07></div>\"):\"<!---->\"))],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data() {\n return {\n menuOpen: false,\n\n links: [\n {\n name: 'Therapists',\n url: '/therapists'\n },\n {\n name: 'Blog',\n url: '/blog'\n },\n {\n name: 'About',\n url: '/about'\n },\n {\n name: 'Community',\n url: '/community'\n },\n {\n name: 'Partnerships',\n url: '/partnerships'\n },\n {\n name: 'Help',\n url: '/help'\n }\n ]\n }\n },\n\n methods: {\n onLinkClick() {\n this.menuOpen = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedOutMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedOutMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoggedOutMenu.vue?vue&type=template&id=30beed07&scoped=true&\"\nimport script from \"./LoggedOutMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./LoggedOutMenu.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./LoggedOutMenu.vue?vue&type=style&index=0&id=30beed07&lang=postcss&scoped=true&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n \"30beed07\",\n \"6e1bbcb0\"\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('nav',{staticClass:\"ml-5 lg:mr-3 order-3 lg:order-1\"},[_vm._ssrNode(\"<div class=\\\"relative z-20 hidden lg:flex lg:items-center lg:justify-center\\\" data-v-57ee62f1>\",\"</div>\",_vm._l((_vm.links),function(link,key){return _vm._ssrNode(\"<div data-v-57ee62f1>\",\"</div>\",[(link.role == 'all' || _vm.role == link.role)?_c('NuxtLink',{staticClass:\"mx-2 xl:mx-3 nav-link\",attrs:{\"to\":link.url}},[_vm._v(_vm._s(link.name))]):_vm._e()],1)}),0),_vm._ssrNode(\" \"),_vm._ssrNode(\"<div class=\\\"block lg:hidden\\\" data-v-57ee62f1>\",\"</div>\",[_vm._ssrNode(\"<button class=\\\"block relative w-10 focus:outline-none\\\" data-v-57ee62f1><span\"+(_vm._ssrClass(\"block mb-1.5 h-1 w-full bg-black rounded transform transition duration-100\",_vm.menuOpen ? 'rotate-45 translate-y-2' : ''))+\" data-v-57ee62f1></span> <span\"+(_vm._ssrClass(\"block my-1.5 h-1 w-full bg-black rounded transform transition duration-100\",_vm.menuOpen ? 'opacity-0' : ''))+\" data-v-57ee62f1></span> <span\"+(_vm._ssrClass(\"block mt-1.5 h-1 w-full bg-black rounded transform transition duration-100\",_vm.menuOpen ? '-rotate-45 -translate-y-3' : ''))+\" data-v-57ee62f1></span></button> \"),(_vm.menuOpen)?_vm._ssrNode(\"<div class=\\\"absolute z-20 top-full right-0 w-full bg-white shadow-lg\\\" data-v-57ee62f1>\",\"</div>\",_vm._l((_vm.links),function(link,key){return _vm._ssrNode(\"<div data-v-57ee62f1>\",\"</div>\",[(link.role == 'all' || _vm.role == link.role)?_c('NuxtLink',{staticClass:\"mobile-nav-link px-4 md:px-8 py-3\",attrs:{\"to\":link.url}},[_vm._v(_vm._s(link.name))]):_vm._e()],1)}),0):_vm._e()],2),_vm._ssrNode(\" \"+((_vm.menuOpen)?(\"<div class=\\\"fixed z-10 top-0 left-0 w-full h-full\\\" data-v-57ee62f1></div>\"):\"<!---->\"))],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n\nexport default {\n data() {\n return {\n menuOpen: false,\n\n links: [\n {\n role: 'all',\n name: 'Home',\n url: '/therapist'\n },\n {\n role: 'therapist',\n name: 'Bookings',\n url: '/therapist/bookings'\n },\n {\n role: 'hero',\n name: 'Bookings',\n url: '/bookings'\n },\n {\n role: 'therapist',\n name: 'Clients',\n url: '/therapist/clients'\n },\n {\n role: 'therapist',\n name: 'Money Manager',\n url: '/therapist/money'\n },\n {\n role: 'all',\n name: 'Therapists',\n url: '/therapists'\n },\n {\n role: 'all',\n name: 'Blog',\n url: '/blog'\n },\n {\n role: 'all',\n name: 'Help',\n url: '/help'\n }\n ]\n }\n },\n\n computed: {\n role() {\n if(this.$auth.loggedIn == true) { \n return this.$auth.user.data.role.name;\n }\n\n return 'all';\n }\n },\n\n methods: {\n onLinkClick() {\n this.menuOpen = false;\n }\n }\n}\n","import mod from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedInMenu.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/babel-loader/lib/index.js??ref--2-0!../../../node_modules/@nuxt/components/dist/loader.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LoggedInMenu.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./LoggedInMenu.vue?vue&type=template&id=57ee62f1&scoped=true&\"\nimport script from \"./LoggedInMenu.vue?vue&type=script&lang=js&\"\nexport * from \"./LoggedInMenu.vue?vue&type=script&lang=js&\"\nfunction injectStyles (context) {\n \n var style0 = require(\"./LoggedInMenu.vue?vue&type=style&index=0&id=57ee62f1&lang=postcss&scoped=true&\")\nif (style0.__inject__) style0.__inject__(context)\n\n}\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n injectStyles,\n \"57ee62f1\",\n \"4fc23c99\"\n \n)\n\nexport default component.exports","module.exports = require(\"url\");"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnHA;;;;;;;ACAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjGA;;;;;;ACAA;;;;;;ACAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;ACjEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/EA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;;;;;;ACAA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAtBA;AACA;AAuBA;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAvCA;;AC3EA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACjCA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACXA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAVA;AAgBA;AACA;AAnBA;;AC7CA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;;;;;;ACAA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAFA;AADA;AADA;;ACVA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACvBA;;;;;;;;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACrCA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AAAA;AAAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;;;;;;ACAA;;;;;;ACAA;;;;;;;ACAA;AAAA;AAAA;AAAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AAAA;AAAA;AAAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AAAA;AAAA;AAAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACrBA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnEA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;ACAA;;;;;;;ACAA;AAAA;AAAA;AAAA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;ACNA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAHA;AAKA;AATA;AAYA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAtBA;AAwBA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAlCA;;;;;;;ACpCA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAlBA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AAVA;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAHA;AAMA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAVA;AAYA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AALA;AAOA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzBA;;;;;;;AClBA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AATA;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAlBA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAlBA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAJA;AAYA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAbA;AAeA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7BA;;;;;;;AC3BA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAHA;AAMA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAVA;AAYA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAzDA;;;;;;;AClBA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AAhBA;;;;;;;ACAA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AACA;AAXA;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA7CA;;;;;;;ACVA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAfA;;;;;;;ACVA;AAAA;AAAA;AAAA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AAJA;;;;;;;ACJA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAHA;AAMA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAVA;AAYA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AA/BA;;;;;;;AClBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAbA;AAeA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAZA;;;;;;;ACtBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAhBA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AAXA;;;;;;;ACdA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAFA;AAKA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAPA;AASA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAlBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACdA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AAEA;;ACXA;AACA;AAGA;AACA;AAAA,aAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAMA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AAJA;AAMA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AATA;AACA;AAYA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA,qBAMA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA,iBAEA;AACA;AACA;AACA;AACA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAHA;AAKA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAUA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;;AClnBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAEA;AACA;AAAA;AACA;AACA;AAAA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAhCA;;;;;;;;;;;;;;;;;;;;;;AChCA;AACA;AACA,aAgBA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;;AC3EA;AACA;AACA;AACA;AACA;AACA;AACA,uIAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAKA;AACA;AACA;AAHA;AAMA;AAjKA;AAoKA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;;ACvOA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAFA;AANA;AACA;AAUA;AAAA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,iBAYA;AACA;AACA;AACA;AACA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAtFA;AAwFA;AAmBA;;AC5GA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AAEA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAlBA;AAwBA;AACA;AApCA;;AC7CA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrBA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AAVA;AACA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA1BA;AACA;AA0BA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AAGA;AACA;AACA;AADA;AACA;AAEA;AAIA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AADA;AADA;AAKA;AACA;AA7FA;;ACNA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AAWA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAGA;AACA;AATA;AACA;AASA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAzGA;AACA;AAyGA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AANA;AAWA;AACA;AAAA;AACA;AACA;AAvJA;;ACDA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvBA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AARA;;ACTA;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;ACrBA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAEA;AAEA;AAEA;AAAA;AAAA;AAEA;AACA;AACA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AADA;AAGA;AAJA;AAOA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AALA;AAeA;AACA;AACA;AADA;AADA;AASA;AACA;AACA;AACA;AAEA;AACA;AAEA;AANA;AACA;AAQA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA,iBAQA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAUA;AACA;AACA,mBASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AA/FA;AAiGA;AACA;AADA;AAxLA;;ACjBA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;ACpJA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AApBA;AAqBA;;AC7BA;AACA;AAEA;AACA,+FAAA;AACA,6HAAA;AACA,+HAAA;AACA,0IAAA;AACA,2IAAA;AACA,2IAAA;AACA,uIAAA;AACA,wFAAA;AACA,wFAAA;AACA,4FAAA;AACA,wHAAA;AACA,sHAAA;AACA,8HAAA;AACA,wHAAA;AACA,wHAAA;AACA,kHAAA;AACA,4HAAA;AACA,oHAAA;AACA,oHAAA;AACA,sHAAA;AACA,8HAAA;AACA,+IAAA;AACA,iIAAA;AACA,mIAAA;AACA,iIAAA;AACA,+FAAA;AACA,gGAAA;AACA,sIAAA;AACA,gJAAA;AACA,+HAAA;AACA,wIAAA;AACA,mIAAA;AACA,kJAAA;AACA,gJAAA;AACA,gJAAA;AACA,wIAAA;AACA,0IAAA;AACA,wIAAA;AACA,wIAAA;AACA,oIAAA;AACA,4HAAA;AACA,gIAAA;AACA,sIAAA;AACA,oIAAA;AACA,sJAAA;AA7CA;AACA;AA+CA;AACA;AACA;AACA;;;;;;ACtDA;AAEA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;;;;;;;;ACRA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAAA;AACA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAKA;AAAA;AAAA;AAAA;AAEA;AACA;AAEA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAjKA;AACA;AAkKA;AACA;AAAA;AAAA;AACA;AAEA;AAFA;AAKA;AACA;AACA;;ACjLA;AAEA;AAEA;;ACJA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAhBA;AAiBA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAbA;AAcA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;;;;;;AC1FA;AAEA;AACA;AACA;AACA;;;;;;;;;;ACLA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AApCA;AACA;AAsCA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AAGA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AACA;AAMA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAKA;AACA;AACA;AAAA;AACA;AACA;AADA;AAGA;AACA;AACA;AACA;AACA;AACA;AATA;AAYA;AACA;AACA;AAFA;AACA;AAKA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;;;;;;;;;;;;;AChMA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAvBA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAvBA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAvBA;AAyBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAvBA;AACA;AAyBA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AAAA;AAAA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAFA;AAKA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AACA;AAEA;AAAA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AAFA;AAKA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AACA;AACA;AAAA;AAEA;AADA;AAIA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AAAA;AAFA;AAKA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AACA;AAIA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AAKA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AACA;AADA;AACA;AAGA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAPA;AAUA;AACA;AACA;AAFA;AACA;AAIA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAFA;AACA;AAGA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AAFA;AAKA;AACA;AACA;AACA;AAHA;AACA;AAKA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AAAA;AACA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AACA;AACA;AAFA;AAIA;AACA;AAAA;AAEA;AACA;AAFA;AAKA;AADA;AAIA;AACA;AACA;AACA;AACA;AAHA;AACA;AAKA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAJA;AAOA;AACA;AACA;AAFA;AACA;AAIA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAEA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AACA;AAFA;;;ACltBA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AAFA;AAKA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AALA;AAQA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AARA;AAWA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AAAA;AAAA;AACA;AACA;AACA;AAAA;AAhBA;AAmBA;AACA;AAEA;AACA;;;;;;;;;AC1DA;AACA;AAEA;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA;AAYA;AACA;AACA;AACA;AAFA;AADA;AAbA;AAFA;AAuBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjBA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtDA;AAwDA;AACA;AACA;AACA;AAFA;AADA;AA5EA;AAFA;AAsFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAjBA;AAmBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAtDA;AAwDA;AACA;AACA;AACA;AAFA;AADA;AA5EA;AAFA;AAsFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AADA;AAFA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAFA;AAFA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlCA;AAoCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAlCA;AArCA;AAFA;AA6EA;AACA;AACA;AACA;AADA;AAFA;AAMA;AACA;AACA;AACA;AADA;AAFA;AAMA;AACA;AACA;AACA;AADA;AAFA;AAMA;AACA;AACA;AACA;AADA;AAFA;AAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AADA;AAFA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AADA;AAFA;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AADA;AAFA;AAgBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAPA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AApBA;AAsBA;AACA;AACA;AACA;AACA;AACA;AACA;AALA;AADA;AAhCA;AAFA;AAzWA;AAwZA;;;;;;AClbA;AACA;AAEA;AACA;AADA;;;;;;ACHA;AACA;AACA;AAEA;;ACJA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA,eA0BA;AACA;;;;;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAMA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AC1/CA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAMA;AACA;AADA;AAGA;AACA;AACA;AACA;AADA;AAFA;AAMA;AACA;AADA;AAGA;AAzBA;AACA;AA4BA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AAbA;AAkBA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AACA;AALA;AAOA;AACA;AACA;AADA;AAGA;AACA;AApCA;AACA;AAuCA;AACA;AACA;AAEA;AACA,iBASA;AACA;AACA;;ACnGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AACA;AAAA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA,iBAIA;AACA;AAAA;AACA;AACA;AAVA;AACA;AAYA;AACA;AAIA;AACA;AAAA;AAEA;AACA;AACA;AACA;AAAA,iBAEA;AACA;AAAA;AACA;AACA;AAAA;AARA;AAWA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AAKA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAIA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAvCA;AAwCA;AA7CA;AACA;AAgDA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AATA;AACA;AAWA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAKA;AACA;AACA;AACA,eAKA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAEA;AACA;AACA,eAEA;AACA;AACA,eAEA;AACA;AACA,eAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAHA;AAKA;AACA;;;AC/UA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AAFA;AALA;AAHA;;ACFA;AACA;AACA;AACA;AACA;AAOA;AACA;AACA;AAEA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AACA;AADA;AAGA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA;AAIA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AAAA;AACA;AACA;AAAA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AADA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AADA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAAA;AACA;AACA;AACA;AAAA;AACA;AAEA;AACA;AACA;AACA;AAAA;AAEA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AAAA;AAAA;AAAA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AADA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAFA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;;;;;;;;;;;ACnSA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AADA;AAGA;AACA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AANA;AANA;;ACjCA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;AClBA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAKA;AACA;AAFA;AAxBA;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AAJA;AAlCA;;ACtCA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;ACvBA;AACA;AACA;;;;;ACFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAMA;AACA;AACA;AAHA;AAvCA;AA8CA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA;AAUA;AACA;AACA;AACA;AACA;AAJA;AA5DA;;ACxCA;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACvBA;;;A","sourceRoot":""}