diff --git a/frontend/package.json b/frontend/package.json index b73396ef..052d0603 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,13 +11,15 @@ "feather-icons": "^4.28.0", "frappe-ui": "^0.1.16", "vue": "^3.2.25", - "vue-router": "^4.0.12" + "vue-router": "^4.0.12", + "tailwindcss": "^3.2.7", + "lucide-vue-next": "^0.259.0", + "pinia": "^2.0.33" }, "devDependencies": { "@vitejs/plugin-vue": "^2.0.0", "autoprefixer": "^10.4.2", "postcss": "^8.4.5", - "tailwindcss": "^3.0.15", "vite": "^3.0.0" } } diff --git a/frontend/src/App.vue b/frontend/src/App.vue index a14d0c32..3541e350 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,5 +1,11 @@ + + diff --git a/frontend/src/components/AppSidebar.vue b/frontend/src/components/AppSidebar.vue new file mode 100644 index 00000000..ebb4c647 --- /dev/null +++ b/frontend/src/components/AppSidebar.vue @@ -0,0 +1,55 @@ + + + diff --git a/frontend/src/components/CourseCard.vue b/frontend/src/components/CourseCard.vue index f94190da..275d6cf7 100644 --- a/frontend/src/components/CourseCard.vue +++ b/frontend/src/components/CourseCard.vue @@ -1,45 +1,94 @@ \ No newline at end of file diff --git a/frontend/src/components/DesktopLayout.vue b/frontend/src/components/DesktopLayout.vue new file mode 100644 index 00000000..8d4a91a1 --- /dev/null +++ b/frontend/src/components/DesktopLayout.vue @@ -0,0 +1,18 @@ + + diff --git a/frontend/src/components/Icons/BatchIcon.vue b/frontend/src/components/Icons/BatchIcon.vue new file mode 100644 index 00000000..05553459 --- /dev/null +++ b/frontend/src/components/Icons/BatchIcon.vue @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/frontend/src/components/Icons/CollapseSidebar.vue b/frontend/src/components/Icons/CollapseSidebar.vue new file mode 100644 index 00000000..ae89972c --- /dev/null +++ b/frontend/src/components/Icons/CollapseSidebar.vue @@ -0,0 +1,8 @@ + diff --git a/frontend/src/components/Icons/LMSLogo.vue b/frontend/src/components/Icons/LMSLogo.vue new file mode 100644 index 00000000..22154581 --- /dev/null +++ b/frontend/src/components/Icons/LMSLogo.vue @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/frontend/src/components/SidebarLink.vue b/frontend/src/components/SidebarLink.vue new file mode 100644 index 00000000..2b688525 --- /dev/null +++ b/frontend/src/components/SidebarLink.vue @@ -0,0 +1,55 @@ + + + diff --git a/frontend/src/components/UserAvatar.vue b/frontend/src/components/UserAvatar.vue new file mode 100644 index 00000000..ab372fdd --- /dev/null +++ b/frontend/src/components/UserAvatar.vue @@ -0,0 +1,12 @@ + + diff --git a/frontend/src/components/UserDropdown.vue b/frontend/src/components/UserDropdown.vue new file mode 100644 index 00000000..2adaf255 --- /dev/null +++ b/frontend/src/components/UserDropdown.vue @@ -0,0 +1,74 @@ + + + diff --git a/frontend/src/main.js b/frontend/src/main.js index db2c50da..4f6dee2a 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -3,13 +3,25 @@ import './index.css' import { createApp } from 'vue' import router from './router' import App from './App.vue' +import { createPinia } from 'pinia' -import { Button, setConfig, frappeRequest, resourcesPlugin } from 'frappe-ui' +import { + FrappeUI, + Button, + setConfig, + frappeRequest, + resourcesPlugin, +} from 'frappe-ui' + +// create a pinia instance +let pinia = createPinia() let app = createApp(App) setConfig('resourceFetcher', frappeRequest) +app.use(FrappeUI) +app.use(pinia) app.use(router) app.use(resourcesPlugin) diff --git a/frontend/src/pages/Courses.vue b/frontend/src/pages/Courses.vue index 76d1ab23..9acd8b49 100644 --- a/frontend/src/pages/Courses.vue +++ b/frontend/src/pages/Courses.vue @@ -1,25 +1,96 @@ \ No newline at end of file diff --git a/frontend/src/router.js b/frontend/src/router.js index bdd7a456..fc5e18b2 100644 --- a/frontend/src/router.js +++ b/frontend/src/router.js @@ -1,4 +1,6 @@ import { createRouter, createWebHistory } from 'vue-router' +import { usersStore } from '@/stores/user' +import { sessionStore } from '@/stores/session' const routes = [ { @@ -14,8 +16,13 @@ const routes = [ ] let router = createRouter({ - history: createWebHistory('/lms'), + history: createWebHistory('/'), routes, }) +router.beforeEach(async (to, from) => { + const { users } = usersStore() + await users.promise +}) + export default router diff --git a/frontend/src/stores/session.js b/frontend/src/stores/session.js new file mode 100644 index 00000000..bf9c60b6 --- /dev/null +++ b/frontend/src/stores/session.js @@ -0,0 +1,50 @@ +import { defineStore } from 'pinia' +import { createResource } from 'frappe-ui' +import { usersStore } from './user' +import router from '@/router' +import { ref, computed } from 'vue' + +export const sessionStore = defineStore('lms-session', () => { + const { users } = usersStore() + + function sessionUser() { + let cookies = new URLSearchParams(document.cookie.split('; ').join('&')) + let _sessionUser = cookies.get('user_id') + if (_sessionUser === 'Guest') { + _sessionUser = null + } + return _sessionUser + } + + let user = ref(sessionUser()) + + const isLoggedIn = computed(() => !!user.value) + + const login = createResource({ + url: 'login', + onError() { + throw new Error('Invalid email or password') + }, + onSuccess() { + users.reload() + user.value = sessionUser() + login.reset() + router.replace({ path: '/' }) + }, + }) + + const logout = createResource({ + url: 'logout', + onSuccess() { + users.reset() + user.value = null + }, + }) + + return { + user, + isLoggedIn, + login, + logout, + } +}) diff --git a/frontend/src/stores/user.js b/frontend/src/stores/user.js new file mode 100644 index 00000000..fc388512 --- /dev/null +++ b/frontend/src/stores/user.js @@ -0,0 +1,50 @@ +import { defineStore } from 'pinia' +import { createResource } from 'frappe-ui' +import { sessionStore } from './session' +import { reactive } from 'vue' + +export const usersStore = defineStore('lms-users', () => { + const session = sessionStore() + + let usersByName = reactive({}) + + const users = createResource({ + url: 'lms.lms.api.get_user_info', + cache: 'Users', + initialData: [], + transform(users) { + for (let user of users) { + usersByName[user.name] = user + } + return users + }, + onError(error) { + if (error && error.exc_type === 'AuthenticationError') { + router.push('/login') + } + }, + }) + + function getUser(email) { + if (!email || email === 'sessionUser') { + email = session.user + } + if (!email) { + return null + } + if (!usersByName[email]) { + usersByName[email] = { + name: email, + email: email, + full_name: email.split('@')[0], + user_image: null, + } + } + return usersByName[email] + } + + return { + users, + getUser, + } +}) diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index 55329bb4..bfff91bf 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -4,6 +4,7 @@ module.exports = { './index.html', './src/**/*.{vue,js,ts,jsx,tsx}', './node_modules/frappe-ui/src/components/**/*.{vue,js,ts,jsx,tsx}', + '../node_modules/frappe-ui/src/components/**/*.{vue,js,ts,jsx,tsx}', ], theme: { extend: {}, diff --git a/frontend/yarn.lock b/frontend/yarn.lock new file mode 100644 index 00000000..87764b84 --- /dev/null +++ b/frontend/yarn.lock @@ -0,0 +1,1724 @@ +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + +"@babel/parser@^7.23.3": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.5.tgz#37dee97c4752af148e1d38c34b856b2507660563" + integrity sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ== + +"@esbuild/android-arm@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80" + integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw== + +"@esbuild/linux-loong64@0.15.18": + version "0.15.18" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239" + integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ== + +"@headlessui/vue@^1.7.14": + version "1.7.16" + resolved "https://registry.yarnpkg.com/@headlessui/vue/-/vue-1.7.16.tgz#bdc9d32d329248910325539b99e6abfce0c69f89" + integrity sha512-nKT+nf/q6x198SsyK54mSszaQl/z+QxtASmgMEJtpxSX2Q0OPJX0upS/9daDyiECpeAsvjkoOrm2O/6PyBQ+Qg== + +"@jridgewell/gen-mapping@^0.3.2": + version "0.3.3" + resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.9": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3": + version "1.2.8" + resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@popperjs/core@^2.11.2", "@popperjs/core@^2.9.0": + version "2.11.8" + resolved "https://registry.yarnpkg.com/@popperjs/core/-/core-2.11.8.tgz#6b79032e760a0899cd4204710beede972a3a185f" + integrity sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A== + +"@remirror/core-constants@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-2.0.2.tgz#f05eccdc69e3a65e7d524b52548f567904a11a1a" + integrity sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ== + +"@remirror/core-helpers@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-3.0.0.tgz#3a35c2346bc23ebc3cee585b7840b5567755c5f1" + integrity sha512-tusEgQJIqg4qKj6HSBUFcyRnWnziw3neh4T9wOmsPGHFC3w9kl5KSrDb9UAgE8uX6y32FnS7vJ955mWOl3n50A== + dependencies: + "@remirror/core-constants" "^2.0.2" + "@remirror/types" "^1.0.1" + "@types/object.omit" "^3.0.0" + "@types/object.pick" "^1.3.2" + "@types/throttle-debounce" "^2.1.0" + case-anything "^2.1.13" + dash-get "^1.0.2" + deepmerge "^4.3.1" + fast-deep-equal "^3.1.3" + make-error "^1.3.6" + object.omit "^3.0.0" + object.pick "^1.3.0" + throttle-debounce "^3.0.1" + +"@remirror/types@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@remirror/types/-/types-1.0.1.tgz#768502497a0fbbc23338a1586b893f729310cf70" + integrity sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA== + dependencies: + type-fest "^2.19.0" + +"@socket.io/component-emitter@~3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" + integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== + +"@tailwindcss/forms@^0.5.3": + version "0.5.7" + resolved "https://registry.yarnpkg.com/@tailwindcss/forms/-/forms-0.5.7.tgz#db5421f062a757b5f828bc9286ba626c6685e821" + integrity sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw== + dependencies: + mini-svg-data-uri "^1.2.3" + +"@tailwindcss/typography@^0.5.0": + version "0.5.10" + resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.10.tgz#2abde4c6d5c797ab49cf47610830a301de4c1e0a" + integrity sha512-Pe8BuPJQJd3FfRnm6H0ulKIGoMEQS+Vq01R6M5aCrFB/ccR/shT+0kXLjouGC1gFLm9hopTFN+DMP0pfwRWzPw== + dependencies: + lodash.castarray "^4.4.0" + lodash.isplainobject "^4.0.6" + lodash.merge "^4.6.2" + postcss-selector-parser "6.0.10" + +"@tiptap/core@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.1.13.tgz#e21f566e81688c826c6f26d2940886734189e193" + integrity sha512-cMC8bgTN63dj1Mv82iDeeLl6sa9kY0Pug8LSalxVEptRmyFVsVxGgu2/6Y3T+9aCYScxfS06EkA8SdzFMAwYTQ== + +"@tiptap/extension-blockquote@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.1.13.tgz#abf01e3a00d72434b08be7f3d7e318c7320db486" + integrity sha512-oe6wSQACmODugoP9XH3Ouffjy4BsOBWfTC+dETHNCG6ZED6ShHN3CB9Vr7EwwRgmm2WLaKAjMO1sVumwH+Z1rg== + +"@tiptap/extension-bold@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.1.13.tgz#fb0c8916269be61269e4aef9d1da417daf52b7f1" + integrity sha512-6cHsQTh/rUiG4jkbJer3vk7g60I5tBwEBSGpdxmEHh83RsvevD8+n92PjA24hYYte5RNlATB011E1wu8PVhSvw== + +"@tiptap/extension-bubble-menu@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.1.13.tgz#884cd2e4e0c9586998baac3d0a14621b177f1859" + integrity sha512-Hm7e1GX3AI6lfaUmr6WqsS9MMyXIzCkhh+VQi6K8jj4Q4s8kY4KPoAyD/c3v9pZ/dieUtm2TfqrOCkbHzsJQBg== + dependencies: + tippy.js "^6.3.7" + +"@tiptap/extension-bullet-list@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.1.13.tgz#0a26731ebf98ddfd268884ff1712f7189be7b63c" + integrity sha512-NkWlQ5bLPUlcROj6G/d4oqAxMf3j3wfndGOPp0z8OoXJtVbVoXl/aMSlLbVgE6n8r6CS8MYxKhXNxrb7Ll2foA== + +"@tiptap/extension-code-block@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.1.13.tgz#3e441d171d3ed821e67291dbf4cbad7e2ea29809" + integrity sha512-E3tweNExPOV+t1ODKX0MDVsS0aeHGWc1ECt+uyp6XwzsN0bdF2A5+pttQqM7sTcMnQkVACGFbn9wDeLRRcfyQg== + +"@tiptap/extension-code@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.1.13.tgz#27a5ca5705e59ca97390fad4d6631bf431690480" + integrity sha512-f5fLYlSgliVVa44vd7lQGvo49+peC+Z2H0Fn84TKNCH7tkNZzouoJsHYn0/enLaQ9Sq+24YPfqulfiwlxyiT8w== + +"@tiptap/extension-color@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-color/-/extension-color-2.1.13.tgz#f1ea3805db93f308aaf99d8ac80b18fcf13de050" + integrity sha512-T3tJXCIfFxzIlGOhvbPVIZa3y36YZRPYIo2TKsgkTz8LiMob6hRXXNFjsrFDp2Fnu3DrBzyvrorsW7767s4eYg== + +"@tiptap/extension-document@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.1.13.tgz#5b68fa08e8a79eebd41f1360982db2ddd28ad010" + integrity sha512-wLwiTWsVmZTGIE5duTcHRmW4ulVxNW4nmgfpk95+mPn1iKyNGtrVhGWleLhBlTj+DWXDtcfNWZgqZkZNzhkqYQ== + +"@tiptap/extension-dropcursor@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.1.13.tgz#2e8908f2dec9e8e997a2f216a11d3b915fe062df" + integrity sha512-NAyJi4BJxH7vl/2LNS1X0ndwFKjEtX+cRgshXCnMyh7qNpIRW6Plczapc/W1OiMncOEhZJfpZfkRSfwG01FWFg== + +"@tiptap/extension-floating-menu@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.1.13.tgz#e12e6e73ee095319d4a723a9b46b8f7b1a9f4b1a" + integrity sha512-9Oz7pk1Nts2+EyY+rYfnREGbLzQ5UFazAvRhF6zAJdvyuDmAYm0Jp6s0GoTrpV0/dJEISoFaNpPdMJOb9EBNRw== + dependencies: + tippy.js "^6.3.7" + +"@tiptap/extension-gapcursor@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.1.13.tgz#994a54e1d4106dfaede0acce184c48457ab34450" + integrity sha512-Cl5apsoTcyPPCgE3ThufxQxZ1wyqqh+9uxUN9VF9AbeTkid6oPZvKXwaILf6AFnkSy+SuKrb9kZD2iaezxpzXw== + +"@tiptap/extension-hard-break@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.1.13.tgz#fc84d0ff7e2fe861bf421bc8000194ecc26979b0" + integrity sha512-TGkMzMQayuKg+vN4du0x1ahEItBLcCT1jdWeRsjdM8gHfzbPLdo4PQhVsvm1I0xaZmbJZelhnVsUwRZcIu1WNA== + +"@tiptap/extension-heading@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.1.13.tgz#94a6219448d97ffed0915fa1bf411074c39f4103" + integrity sha512-PEmc19QLmlVUTiHWoF0hpgNTNPNU0nlaFmMKskzO+cx5Df4xvHmv/UqoIwp7/UFbPMkfVJT1ozQU7oD1IWn9Hg== + +"@tiptap/extension-highlight@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.1.13.tgz#d30221c178569264ab76327f87a0d81605493fcc" + integrity sha512-ZivjJma5WwPYcG0rpnynVDGis32OGdtpTwETEb+2OOjZBCBlyYQ4tcRk5gS3nzBAjLl/Qu84VVbawLhHXB6few== + +"@tiptap/extension-history@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.1.13.tgz#50478c602143fa77bb3b45c9c9cae4ddb743e0ed" + integrity sha512-1ouitThGTBUObqw250aDwGLMNESBH5PRXIGybsCFO1bktdmWtEw7m72WY41EuX2BH8iKJpcYPerl3HfY1vmCNw== + +"@tiptap/extension-horizontal-rule@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.1.13.tgz#4884dbf912c8dabbbc69e041ff5529d6337e638e" + integrity sha512-7OgjgNqZXvBejgULNdMSma2M1nzv4bbZG+FT5XMFZmEOxR9IB1x/RzChjPdeicff2ZK2sfhMBc4Y9femF5XkUg== + +"@tiptap/extension-image@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.1.13.tgz#835fc6759b2c1184fb54d3704c538029d523dbf6" + integrity sha512-7oVAos+BU4KR/zQsfltrd8hgIxKxyxZ19dhwb1BJI2Nt3Mnx+yFPRlRSehID6RT9dYqgW4UW5d6vh/3HQcYYYw== + +"@tiptap/extension-italic@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.1.13.tgz#1e9521dea002c8d6de833d9fd928d4617623eab8" + integrity sha512-HyDJfuDn5hzwGKZiANcvgz6wcum6bEgb4wmJnfej8XanTMJatNVv63TVxCJ10dSc9KGpPVcIkg6W8/joNXIEbw== + +"@tiptap/extension-link@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.1.13.tgz#ae4abd7c43292e3a1841488bfc7a687b2f014249" + integrity sha512-wuGMf3zRtMHhMrKm9l6Tft5M2N21Z0UP1dZ5t1IlOAvOeYV2QZ5UynwFryxGKLO0NslCBLF/4b/HAdNXbfXWUA== + dependencies: + linkifyjs "^4.1.0" + +"@tiptap/extension-list-item@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.1.13.tgz#3c62127df97974f3196866ec00ee397f4c9acdc4" + integrity sha512-6e8iiCWXOiJTl1XOwVW2tc0YG18h70HUtEHFCx2m5HspOGFKsFEaSS3qYxOheM9HxlmQeDt8mTtqftRjEFRxPQ== + +"@tiptap/extension-mention@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.1.13.tgz#6359c563268c46539660958847fe76c22131f2c8" + integrity sha512-OYqaucyBiCN/CmDYjpOVX74RJcIEKmAqiZxUi8Gfaq7ryEO5a8Gk93nK+8uZ0onaqHE+mHpoLFFbcAFbOPgkUQ== + +"@tiptap/extension-ordered-list@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.1.13.tgz#31f4b3a21fbcc2f605c48662e08b5253a304c8c7" + integrity sha512-UO4ZAL5Vrr1WwER5VjgmeNIWHpqy9cnIRo1En07gZ0OWTjs1eITPcu+4TCn1ZG6DhoFvAQzE5DTxxdhIotg+qw== + +"@tiptap/extension-paragraph@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.1.13.tgz#30f8ae3f8833c606b339f3554b9ffdbe1e604463" + integrity sha512-cEoZBJrsQn69FPpUMePXG/ltGXtqKISgypj70PEHXt5meKDjpmMVSY4/8cXvFYEYsI9GvIwyAK0OrfAHiSoROA== + +"@tiptap/extension-placeholder@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.1.13.tgz#b735591f719b9fe89c90dcc6327d2ef2851be510" + integrity sha512-vIY7y7UbqsrAW/y8bDE9eRenbQEU16kNHB5Wri8RU1YiUZpkPgdXP/pLqyjIIq95SwP/vdTIHjHoQ77VLRl1hA== + +"@tiptap/extension-strike@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.1.13.tgz#6605792fa98f0e36861be4c7ed4d4125de8c77aa" + integrity sha512-VN6zlaCNCbyJUCDyBFxavw19XmQ4LkCh8n20M8huNqW77lDGXA2A7UcWLHaNBpqAijBRu9mWI8l4Bftyf2fcAw== + +"@tiptap/extension-table-cell@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-table-cell/-/extension-table-cell-2.1.13.tgz#28efbc99480d53346200dcbf50cfb32bade180d1" + integrity sha512-30pyVt2PxGAk8jmsXKxDheql8K/xIRA9FiDo++kS2Kr6Y7I42/kNPQttJ2W+Q1JdRJvedNfQtziQfKWDRLLCNA== + +"@tiptap/extension-table-header@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-table-header/-/extension-table-header-2.1.13.tgz#8d64a0e5a6a5ea128708b866e56a0e04e34d7a5b" + integrity sha512-FwIV5iso5kmpu01QyvrPCjJqZfqxRTjtjMsDyut2uIgx9v5TXk0V5XvMWobx435ANIDJoGTYCMRlIqcgtyqwAQ== + +"@tiptap/extension-table-row@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-table-row/-/extension-table-row-2.1.13.tgz#ef75d6de9c7695bbb90f745aabd72d327f161ac3" + integrity sha512-27Mb9/oYbiLd+/BUFMhQzRIqMd2Z5j1BZMYsktwtDG8vGdYVlaW257UVaoNR9TmiXyIzd3Dh1mOil8G35+HRHg== + +"@tiptap/extension-table@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-table/-/extension-table-2.1.13.tgz#cfe3fc2665d12d2c946fc83b2cce9d1485ff29a0" + integrity sha512-yMWt2LqotOsWJhLwFNo8fyTwJNLPtnk+eCUxKLlMXP23mJ/lpF+jvTihhHVVic5GqV9vLYZFU2Tn+5k/Vd5P1w== + +"@tiptap/extension-text-align@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-text-align/-/extension-text-align-2.1.13.tgz#1249f8969e4d1ad23ec3794e767aeea5c1e01944" + integrity sha512-ZmbGpi5FHGsWyzt+8DceXERr/Vwxhjpm2VKWZyFTVz8uNJVj+/ou196JQJZqxbp5VtKkS7UYujaO++G5eflb0Q== + +"@tiptap/extension-text-style@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-text-style/-/extension-text-style-2.1.13.tgz#4ee7c8cc50272f0977a8d2edae22f063f63d1fe5" + integrity sha512-K9/pNHxpZKQoc++crxrsppVUSeHv8YevfY2FkJ4YMaekGcX+q4BRrHR0tOfii4izAUPJF2L0/PexLQaWXtAY1w== + +"@tiptap/extension-text@^2.1.13": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.1.13.tgz#ac17a0220aef1bae1bbd646a91491353e57bb5d1" + integrity sha512-zzsTTvu5U67a8WjImi6DrmpX2Q/onLSaj+LRWPh36A1Pz2WaxW5asZgaS+xWCnR+UrozlCALWa01r7uv69jq0w== + +"@tiptap/extension-typography@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/extension-typography/-/extension-typography-2.1.13.tgz#eadf8c7423290f717547e21342470cc2333a5dd8" + integrity sha512-//90Gzkci4/77CCmdWYyRGTcMUvsQ64jv3mqlL+JqWgLCffMHvWPGKhPMgSzoyHRlAIIACMhxniRtB7HixhTHQ== + +"@tiptap/pm@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.1.13.tgz#857753691580be760da13629fab2712c52750741" + integrity sha512-zNbA7muWsHuVg12GrTgN/j119rLePPq5M8dZgkKxUwdw8VmU3eUyBp1SihPEXJ2U0MGdZhNhFX7Y74g11u66sg== + dependencies: + prosemirror-changeset "^2.2.0" + prosemirror-collab "^1.3.0" + prosemirror-commands "^1.3.1" + prosemirror-dropcursor "^1.5.0" + prosemirror-gapcursor "^1.3.1" + prosemirror-history "^1.3.0" + prosemirror-inputrules "^1.2.0" + prosemirror-keymap "^1.2.0" + prosemirror-markdown "^1.10.1" + prosemirror-menu "^1.2.1" + prosemirror-model "^1.18.1" + prosemirror-schema-basic "^1.2.0" + prosemirror-schema-list "^1.2.2" + prosemirror-state "^1.4.1" + prosemirror-tables "^1.3.0" + prosemirror-trailing-node "^2.0.2" + prosemirror-transform "^1.7.0" + prosemirror-view "^1.28.2" + +"@tiptap/starter-kit@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.1.13.tgz#ac33a8b4767b83e4daff8819f4a5f0239df1654c" + integrity sha512-ph/mUR/OwPtPkZ5rNHINxubpABn8fHnvJSdhXFrY/q6SKoaO11NZXgegRaiG4aL7O6Sz4LsZVw6Sm0Ae+GJmrg== + dependencies: + "@tiptap/core" "^2.1.13" + "@tiptap/extension-blockquote" "^2.1.13" + "@tiptap/extension-bold" "^2.1.13" + "@tiptap/extension-bullet-list" "^2.1.13" + "@tiptap/extension-code" "^2.1.13" + "@tiptap/extension-code-block" "^2.1.13" + "@tiptap/extension-document" "^2.1.13" + "@tiptap/extension-dropcursor" "^2.1.13" + "@tiptap/extension-gapcursor" "^2.1.13" + "@tiptap/extension-hard-break" "^2.1.13" + "@tiptap/extension-heading" "^2.1.13" + "@tiptap/extension-history" "^2.1.13" + "@tiptap/extension-horizontal-rule" "^2.1.13" + "@tiptap/extension-italic" "^2.1.13" + "@tiptap/extension-list-item" "^2.1.13" + "@tiptap/extension-ordered-list" "^2.1.13" + "@tiptap/extension-paragraph" "^2.1.13" + "@tiptap/extension-strike" "^2.1.13" + "@tiptap/extension-text" "^2.1.13" + +"@tiptap/suggestion@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.1.13.tgz#0a8317260baed764a523a09099c0889a0e5b507e" + integrity sha512-Y05TsiXTFAJ5SrfoV+21MAxig5UNbY0AVa03lQlh/yicTRPpIc6hgZzblB0uxDSYoj6+kaHE4MIZvPvhUD8BJQ== + +"@tiptap/vue-3@^2.0.3": + version "2.1.13" + resolved "https://registry.yarnpkg.com/@tiptap/vue-3/-/vue-3-2.1.13.tgz#836aef02a5df9fc7dc953a0ad3a12e5556dc8680" + integrity sha512-sPMT+uXtPfYLQioXtxxMLij234++PEf5Z43/auOLu737pKdgBr7w0sC8oYiZMgFt9dNCZWBrvT0fupF8yQN8AQ== + dependencies: + "@tiptap/extension-bubble-menu" "^2.1.13" + "@tiptap/extension-floating-menu" "^2.1.13" + +"@types/object.omit@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/object.omit/-/object.omit-3.0.3.tgz#cc52b1d9774c1619b5c6fc50229d087f01eabd68" + integrity sha512-xrq4bQTBGYY2cw+gV4PzoG2Lv3L0pjZ1uXStRRDQoATOYW1lCsFQHhQ+OkPhIcQoqLjAq7gYif7D14Qaa6Zbew== + +"@types/object.pick@^1.3.2": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/object.pick/-/object.pick-1.3.4.tgz#1a38b6e69a35f36ec2dcc8b9f5ffd555c1c4d7fc" + integrity sha512-5PjwB0uP2XDp3nt5u5NJAG2DORHIRClPzWT/TTZhJ2Ekwe8M5bA9tvPdi9NO/n2uvu2/ictat8kgqvLfcIE1SA== + +"@types/throttle-debounce@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776" + integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== + +"@types/web-bluetooth@^0.0.20": + version "0.0.20" + resolved "https://registry.yarnpkg.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz#f066abfcd1cbe66267cdbbf0de010d8a41b41597" + integrity sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow== + +"@vitejs/plugin-vue@^2.0.0": + version "2.3.4" + resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-2.3.4.tgz#966a6279060eb2d9d1a02ea1a331af071afdcf9e" + integrity sha512-IfFNbtkbIm36O9KB8QodlwwYvTEsJb4Lll4c2IwB3VHc2gie2mSPtSzL0eYay7X2jd/2WX02FjSGTWR6OPr/zg== + +"@vue/compiler-core@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.3.9.tgz#df1fc7947dcef5c2e12d257eae540057707f47d1" + integrity sha512-+/Lf68Vr/nFBA6ol4xOtJrW+BQWv3QWKfRwGSm70jtXwfhZNF4R/eRgyVJYoxFRhdCTk/F6g99BP0ffPgZihfQ== + dependencies: + "@babel/parser" "^7.23.3" + "@vue/shared" "3.3.9" + estree-walker "^2.0.2" + source-map-js "^1.0.2" + +"@vue/compiler-dom@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.3.9.tgz#67315ea4193d9d18c7a710889b8f90f7aa3914d2" + integrity sha512-nfWubTtLXuT4iBeDSZ5J3m218MjOy42Vp2pmKVuBKo2/BLcrFUX8nCSr/bKRFiJ32R8qbdnnnBgRn9AdU5v0Sg== + dependencies: + "@vue/compiler-core" "3.3.9" + "@vue/shared" "3.3.9" + +"@vue/compiler-sfc@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.3.9.tgz#5900906baba1a90389200d81753ad0f7ceb98a83" + integrity sha512-wy0CNc8z4ihoDzjASCOCsQuzW0A/HP27+0MDSSICMjVIFzk/rFViezkR3dzH+miS2NDEz8ywMdbjO5ylhOLI2A== + dependencies: + "@babel/parser" "^7.23.3" + "@vue/compiler-core" "3.3.9" + "@vue/compiler-dom" "3.3.9" + "@vue/compiler-ssr" "3.3.9" + "@vue/reactivity-transform" "3.3.9" + "@vue/shared" "3.3.9" + estree-walker "^2.0.2" + magic-string "^0.30.5" + postcss "^8.4.31" + source-map-js "^1.0.2" + +"@vue/compiler-ssr@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.3.9.tgz#3b3dbfa5368165fa4ff74c060503b4087ec1beed" + integrity sha512-NO5oobAw78R0G4SODY5A502MGnDNiDjf6qvhn7zD7TJGc8XDeIEw4fg6JU705jZ/YhuokBKz0A5a/FL/XZU73g== + dependencies: + "@vue/compiler-dom" "3.3.9" + "@vue/shared" "3.3.9" + +"@vue/devtools-api@^6.5.0": + version "6.5.1" + resolved "https://registry.yarnpkg.com/@vue/devtools-api/-/devtools-api-6.5.1.tgz#7f71f31e40973eeee65b9a64382b13593fdbd697" + integrity sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA== + +"@vue/reactivity-transform@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.3.9.tgz#5d894dd9a42a422a2db309babb385f9a2529b52f" + integrity sha512-HnUFm7Ry6dFa4Lp63DAxTixUp8opMtQr6RxQCpDI1vlh12rkGIeYqMvJtK+IKyEfEOa2I9oCkD1mmsPdaGpdVg== + dependencies: + "@babel/parser" "^7.23.3" + "@vue/compiler-core" "3.3.9" + "@vue/shared" "3.3.9" + estree-walker "^2.0.2" + magic-string "^0.30.5" + +"@vue/reactivity@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.3.9.tgz#e28e8071bd74edcdd9c87b667ad00e8fbd8d6920" + integrity sha512-VmpIqlNp+aYDg2X0xQhJqHx9YguOmz2UxuUJDckBdQCNkipJvfk9yA75woLWElCa0Jtyec3lAAt49GO0izsphw== + dependencies: + "@vue/shared" "3.3.9" + +"@vue/runtime-core@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.3.9.tgz#c835b77f7dc7ae5f251e93f277b54963ea1b5c31" + integrity sha512-xxaG9KvPm3GTRuM4ZyU8Tc+pMVzcu6eeoSRQJ9IE7NmCcClW6z4B3Ij6L4EDl80sxe/arTtQ6YmgiO4UZqRc+w== + dependencies: + "@vue/reactivity" "3.3.9" + "@vue/shared" "3.3.9" + +"@vue/runtime-dom@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.3.9.tgz#68081d981695a229d72f431fed0b0cdd9161ce53" + integrity sha512-e7LIfcxYSWbV6BK1wQv9qJyxprC75EvSqF/kQKe6bdZEDNValzeRXEVgiX7AHI6hZ59HA4h7WT5CGvm69vzJTQ== + dependencies: + "@vue/runtime-core" "3.3.9" + "@vue/shared" "3.3.9" + csstype "^3.1.2" + +"@vue/server-renderer@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.3.9.tgz#ffb41bc9c7afafcc608d0c500e9d6b0af7d68fad" + integrity sha512-w0zT/s5l3Oa3ZjtLW88eO4uV6AQFqU8X5GOgzq7SkQQu6vVr+8tfm+OI2kDBplS/W/XgCBuFXiPw6T5EdwXP0A== + dependencies: + "@vue/compiler-ssr" "3.3.9" + "@vue/shared" "3.3.9" + +"@vue/shared@3.3.9": + version "3.3.9" + resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.3.9.tgz#df740d26d338faf03e09ca662a8031acf66051db" + integrity sha512-ZE0VTIR0LmYgeyhurPTpy4KzKsuDyQbMSdM49eKkMnT5X4VfFBLysMzjIZhLEFQYjjOVVfbvUDHckwjDFiO2eA== + +"@vueuse/core@^10.4.1": + version "10.6.1" + resolved "https://registry.yarnpkg.com/@vueuse/core/-/core-10.6.1.tgz#5b16d8238054c6983b6cb7cd77a78035f098dd89" + integrity sha512-Pc26IJbqgC9VG1u6VY/xrXXfxD33hnvxBnKrLlA2LJlyHII+BSrRoTPJgGYq7qZOu61itITFUnm6QbacwZ4H8Q== + dependencies: + "@types/web-bluetooth" "^0.0.20" + "@vueuse/metadata" "10.6.1" + "@vueuse/shared" "10.6.1" + vue-demi ">=0.14.6" + +"@vueuse/metadata@10.6.1": + version "10.6.1" + resolved "https://registry.yarnpkg.com/@vueuse/metadata/-/metadata-10.6.1.tgz#100faa0ced3c0ab4c014fb8e66e781e85e4eb88d" + integrity sha512-qhdwPI65Bgcj23e5lpGfQsxcy0bMjCAsUGoXkJ7DsoeDUdasbZ2DBa4dinFCOER3lF4gwUv+UD2AlA11zdzMFw== + +"@vueuse/shared@10.6.1": + version "10.6.1" + resolved "https://registry.yarnpkg.com/@vueuse/shared/-/shared-10.6.1.tgz#1d9fc1e3f9083e45b59a693fc372bc50ad62a9e4" + integrity sha512-TECVDTIedFlL0NUfHWncf3zF9Gc4VfdxfQc8JFwoVZQmxpONhLxFrlm0eHQeidHj4rdTPL3KXJa0TZCk1wnc5Q== + dependencies: + vue-demi ">=0.14.6" + +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + +anymatch@~3.1.2: + version "3.1.3" + resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" + integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== + dependencies: + normalize-path "^3.0.0" + picomatch "^2.0.4" + +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +autoprefixer@^10.4.2: + version "10.4.16" + resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.16.tgz#fad1411024d8670880bdece3970aa72e3572feb8" + integrity sha512-7vd3UC6xKp0HLfua5IjZlcXvGAGy7cBAXTg2lyQ/8WpNhd6SiZ8Be+xm3FyBSYJx5GKcpRCzBh7RH4/0dnY+uQ== + dependencies: + browserslist "^4.21.10" + caniuse-lite "^1.0.30001538" + fraction.js "^4.3.6" + normalize-range "^0.1.2" + picocolors "^1.0.0" + postcss-value-parser "^4.2.0" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +binary-extensions@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +braces@^3.0.2, braces@~3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.10: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +camelcase-css@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== + +caniuse-lite@^1.0.30001538, caniuse-lite@^1.0.30001565: + version "1.0.30001566" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz#61a8e17caf3752e3e426d4239c549ebbb37fef0d" + integrity sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA== + +case-anything@^2.1.13: + version "2.1.13" + resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.13.tgz#0cdc16278cb29a7fcdeb072400da3f342ba329e9" + integrity sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng== + +chokidar@^3.5.3: + version "3.5.3" + resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== + dependencies: + anymatch "~3.1.2" + braces "~3.0.2" + glob-parent "~5.1.2" + is-binary-path "~2.1.0" + is-glob "~4.0.1" + normalize-path "~3.0.0" + readdirp "~3.6.0" + optionalDependencies: + fsevents "~2.3.2" + +classnames@^2.2.5: + version "2.3.2" + resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.2.tgz#351d813bf0137fcc6a76a16b88208d2560a0d924" + integrity sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw== + +commander@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== + +commander@^9.0.0: + version "9.5.0" + resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +core-js@^3.1.3: + version "3.33.3" + resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.33.3.tgz#3c644a323f0f533a0d360e9191e37f7fc059088d" + integrity sha512-lo0kOocUlLKmm6kv/FswQL8zbkH7mVsLJ/FULClOhv8WRVmKLVcs6XPNQAzstfeJTCHMyButEwG+z1kHxHoDZw== + +crelt@^1.0.0: + version "1.0.6" + resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.6.tgz#7cc898ea74e190fb6ef9dae57f8f81cf7302df72" + integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g== + +cssesc@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== + +csstype@^3.1.2: + version "3.1.2" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.2.tgz#1d4bf9d572f11c14031f0436e1c10bc1f571f50b" + integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ== + +dash-get@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/dash-get/-/dash-get-1.0.2.tgz#4c9e9ad5ef04c4bf9d3c9a451f6f7997298dcc7c" + integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ== + +debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + +didyoumean@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== + +dlv@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +electron-to-chromium@^1.4.601: + version "1.4.601" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.601.tgz#cac69868548aee89961ffe63ff5a7716f0685b75" + integrity sha512-SpwUMDWe9tQu8JX5QCO1+p/hChAi9AE9UpoC3rcHVc+gdCGlbT3SGb5I1klgb952HRIyvt9wZhSz9bNBYz9swA== + +engine.io-client@~6.5.2: + version "6.5.3" + resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.3.tgz#4cf6fa24845029b238f83c628916d9149c399bc5" + integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + engine.io-parser "~5.2.1" + ws "~8.11.0" + xmlhttprequest-ssl "~2.0.0" + +engine.io-parser@~5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" + integrity sha512-9JktcM3u18nU9N2Lz3bWeBgxVgOKpw7yhRaoxQA3FUDZzzw+9WlA6p4G4u0RixNkg14fH7EfEc/RhpurtiROTQ== + +entities@~3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/entities/-/entities-3.0.1.tgz#2b887ca62585e96db3903482d336c1006c3001d4" + integrity sha512-WiyBqoomrwMdFG1e0kqvASYfnlb0lp8M5o5Fw2OFq1hNZxxcNk8Ik0Xm7LxzBhuidnZB/UtBqVCgUz3kBOP51Q== + +esbuild-android-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5" + integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA== + +esbuild-android-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04" + integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ== + +esbuild-darwin-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410" + integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg== + +esbuild-darwin-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337" + integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA== + +esbuild-freebsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2" + integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA== + +esbuild-freebsd-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635" + integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA== + +esbuild-linux-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce" + integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg== + +esbuild-linux-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c" + integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw== + +esbuild-linux-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d" + integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug== + +esbuild-linux-arm@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc" + integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA== + +esbuild-linux-mips64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb" + integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ== + +esbuild-linux-ppc64le@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507" + integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w== + +esbuild-linux-riscv64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6" + integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg== + +esbuild-linux-s390x@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb" + integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ== + +esbuild-netbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998" + integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg== + +esbuild-openbsd-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8" + integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ== + +esbuild-sunos-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971" + integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw== + +esbuild-windows-32@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3" + integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ== + +esbuild-windows-64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0" + integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw== + +esbuild-windows-arm64@0.15.18: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7" + integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ== + +esbuild@^0.15.9: + version "0.15.18" + resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d" + integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q== + optionalDependencies: + "@esbuild/android-arm" "0.15.18" + "@esbuild/linux-loong64" "0.15.18" + esbuild-android-64 "0.15.18" + esbuild-android-arm64 "0.15.18" + esbuild-darwin-64 "0.15.18" + esbuild-darwin-arm64 "0.15.18" + esbuild-freebsd-64 "0.15.18" + esbuild-freebsd-arm64 "0.15.18" + esbuild-linux-32 "0.15.18" + esbuild-linux-64 "0.15.18" + esbuild-linux-arm "0.15.18" + esbuild-linux-arm64 "0.15.18" + esbuild-linux-mips64le "0.15.18" + esbuild-linux-ppc64le "0.15.18" + esbuild-linux-riscv64 "0.15.18" + esbuild-linux-s390x "0.15.18" + esbuild-netbsd-64 "0.15.18" + esbuild-openbsd-64 "0.15.18" + esbuild-sunos-64 "0.15.18" + esbuild-windows-32 "0.15.18" + esbuild-windows-64 "0.15.18" + esbuild-windows-arm64 "0.15.18" + +escalade@^3.1.1: + version "3.1.1" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +estree-walker@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + +fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== + +fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fastq@^1.6.0: + version "1.15.0" + resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" + integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== + dependencies: + reusify "^1.0.4" + +feather-icons@^4.28.0: + version "4.29.1" + resolved "https://registry.yarnpkg.com/feather-icons/-/feather-icons-4.29.1.tgz#f222aaa4cc6fca499356660c9de6c009ee2cb117" + integrity sha512-P1we61haGTds6lKWe6CCVPsNULb8tHr1y6S9gXEpU+lNR1Ja7GdV0A1l2hTNmzXv+0Stix/3YMWMAn7n1Qtd6A== + dependencies: + classnames "^2.2.5" + core-js "^3.1.3" + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +fraction.js@^4.3.6: + version "4.3.7" + resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7" + integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew== + +frappe-ui@^0.1.16: + version "0.1.18" + resolved "https://registry.yarnpkg.com/frappe-ui/-/frappe-ui-0.1.18.tgz#470214d97d11dd3bd5f2c21515c68ad10491b80c" + integrity sha512-wsoqigEdcv09/VdvUC0uU4wxz4mG8bo0IPZNZMg0BUlu/dEcDgl0464cDuoS0fSWqZc4127o2kdqFTEjjClkXQ== + dependencies: + "@headlessui/vue" "^1.7.14" + "@popperjs/core" "^2.11.2" + "@tailwindcss/forms" "^0.5.3" + "@tailwindcss/typography" "^0.5.0" + "@tiptap/extension-color" "^2.0.3" + "@tiptap/extension-highlight" "^2.0.3" + "@tiptap/extension-image" "^2.0.3" + "@tiptap/extension-link" "^2.0.3" + "@tiptap/extension-mention" "^2.0.3" + "@tiptap/extension-placeholder" "^2.0.3" + "@tiptap/extension-table" "^2.0.3" + "@tiptap/extension-table-cell" "^2.0.3" + "@tiptap/extension-table-header" "^2.0.3" + "@tiptap/extension-table-row" "^2.0.3" + "@tiptap/extension-text-align" "^2.0.3" + "@tiptap/extension-text-style" "^2.0.3" + "@tiptap/extension-typography" "^2.0.3" + "@tiptap/pm" "^2.0.3" + "@tiptap/starter-kit" "^2.0.3" + "@tiptap/suggestion" "^2.0.3" + "@tiptap/vue-3" "^2.0.3" + "@vueuse/core" "^10.4.1" + feather-icons "^4.28.0" + idb-keyval "^6.2.0" + showdown "^2.1.0" + socket.io-client "^4.5.1" + tippy.js "^6.3.7" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +fsevents@~2.3.2: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +glob-parent@^5.1.2, glob-parent@~5.1.2: + version "5.1.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + +hasown@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c" + integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA== + dependencies: + function-bind "^1.1.2" + +idb-keyval@^6.2.0: + version "6.2.1" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-6.2.1.tgz#94516d625346d16f56f3b33855da11bfded2db33" + integrity sha512-8Sb3veuYCyrZL+VBt9LJfZjLUPWVvqn8tG28VqYNFCo43KHcKuq+b4EiXGeuaLAQWL2YmyDgMp2aSpH9JHsEQg== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@2: + version "2.0.4" + resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +is-binary-path@~2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== + dependencies: + binary-extensions "^2.0.0" + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.13.1.tgz#ad0d7532c6fea9da1ebdc82742d74525c6273384" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-extendable@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: + version "4.0.3" + resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-plain-object@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" + integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== + dependencies: + isobject "^3.0.1" + +isobject@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" + integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== + +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== + +lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + +lilconfig@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc" + integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g== + +lines-and-columns@^1.1.6: + version "1.2.4" + resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== + +linkify-it@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-4.0.1.tgz#01f1d5e508190d06669982ba31a7d9f56a5751ec" + integrity sha512-C7bfi1UZmoj8+PQx22XyeXCuBlokoyWQL5pWSP+EI6nzRylyThouddufc2c1NDIcP9k5agmN9fLpA7VNJfIiqw== + dependencies: + uc.micro "^1.0.1" + +linkifyjs@^4.1.0: + version "4.1.3" + resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.1.3.tgz#0edbc346428a7390a23ea2e5939f76112c9ae07f" + integrity sha512-auMesunaJ8yfkHvK4gfg1K0SaKX/6Wn9g2Aac/NwX+l5VdmFZzo/hdPGxEOETj+ryRa4/fiOPjeeKURSAJx1sg== + +lodash.castarray@^4.4.0: + version "4.4.0" + resolved "https://registry.yarnpkg.com/lodash.castarray/-/lodash.castarray-4.4.0.tgz#c02513515e309daddd4c24c60cfddcf5976d9115" + integrity sha512-aVx8ztPv7/2ULbArGJ2Y42bG1mEQ5mGjpdvrbJcJFU3TbYybe+QlLS4pst9zV52ymy2in1KpFPiZnAOATxD4+Q== + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA== + +lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lucide-vue-next@^0.259.0: + version "0.259.0" + resolved "https://registry.yarnpkg.com/lucide-vue-next/-/lucide-vue-next-0.259.0.tgz#3e1bbe57ccbb0704dc854efd5e2221c65099d0f6" + integrity sha512-LOUmg73Sw7v1si8y/JpYv6KJFc8Rp3d8OwCO0jE/qixiOcJpg5PvKs7xvvtRSO3E4sWwJAQQaL1re5zGJirONg== + +magic-string@^0.30.5: + version "0.30.5" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.30.5.tgz#1994d980bd1c8835dc6e78db7cbd4ae4f24746f9" + integrity sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +make-error@^1.3.6: + version "1.3.6" + resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +markdown-it@^13.0.1: + version "13.0.2" + resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-13.0.2.tgz#1bc22e23379a6952e5d56217fbed881e0c94d536" + integrity sha512-FtwnEuuK+2yVU7goGn/MJ0WBZMM9ZPgU9spqlFs7/A/pDIUNSOQZhUgOqYCficIuR2QaFnrt8LHqBWsbTAoI5w== + dependencies: + argparse "^2.0.1" + entities "~3.0.1" + linkify-it "^4.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + +merge2@^1.3.0: + version "1.4.1" + resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.4, micromatch@^4.0.5: + version "4.0.5" + resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mini-svg-data-uri@^1.2.3: + version "1.4.4" + resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" + integrity sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg== + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +ms@2.1.2: + version "2.1.2" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +normalize-path@^3.0.0, normalize-path@~3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== + +normalize-range@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA== + +object-assign@^4.0.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== + +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== + +object.omit@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-3.0.0.tgz#0e3edc2fce2ba54df5577ff529f6d97bd8a522af" + integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ== + dependencies: + is-extendable "^1.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + +once@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +orderedmap@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.1.tgz#61481269c44031c449915497bf5a4ad273c512d2" + integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + +pinia@^2.0.33: + version "2.1.7" + resolved "https://registry.yarnpkg.com/pinia/-/pinia-2.1.7.tgz#4cf5420d9324ca00b7b4984d3fbf693222115bbc" + integrity sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ== + dependencies: + "@vue/devtools-api" "^6.5.0" + vue-demi ">=0.14.5" + +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== + dependencies: + camelcase-css "^2.0.1" + +postcss-load-config@^4.0.1: + version "4.0.2" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.2.tgz#7159dcf626118d33e299f485d6afe4aff7c4a3e3" + integrity sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ== + dependencies: + lilconfig "^3.0.0" + yaml "^2.3.4" + +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== + dependencies: + postcss-selector-parser "^6.0.11" + +postcss-selector-parser@6.0.10: + version "6.0.10" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d" + integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^6.0.11: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514" + integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== + +postcss@^8.4.18, postcss@^8.4.23, postcss@^8.4.31, postcss@^8.4.5: + version "8.4.32" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.32.tgz#1dac6ac51ab19adb21b8b34fd2d93a86440ef6c9" + integrity sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +prosemirror-changeset@^2.2.0: + version "2.2.1" + resolved "https://registry.yarnpkg.com/prosemirror-changeset/-/prosemirror-changeset-2.2.1.tgz#dae94b63aec618fac7bb9061648e6e2a79988383" + integrity sha512-J7msc6wbxB4ekDFj+n9gTW/jav/p53kdlivvuppHsrZXCaQdVgRghoZbSS3kwrRyAstRVQ4/+u5k7YfLgkkQvQ== + dependencies: + prosemirror-transform "^1.0.0" + +prosemirror-collab@^1.3.0: + version "1.3.1" + resolved "https://registry.yarnpkg.com/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz#0e8c91e76e009b53457eb3b3051fb68dad029a33" + integrity sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ== + dependencies: + prosemirror-state "^1.0.0" + +prosemirror-commands@^1.0.0, prosemirror-commands@^1.3.1: + version "1.5.2" + resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.5.2.tgz#e94aeea52286f658cd984270de9b4c3fff580852" + integrity sha512-hgLcPaakxH8tu6YvVAaILV2tXYsW3rAdDR8WNkeKGcgeMVQg3/TMhPdVoh7iAmfgVjZGtcOSjKiQaoeKjzd2mQ== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-dropcursor@^1.5.0: + version "1.8.1" + resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.1.tgz#49b9fb2f583e0d0f4021ff87db825faa2be2832d" + integrity sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + prosemirror-view "^1.1.0" + +prosemirror-gapcursor@^1.3.1: + version "1.3.2" + resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz#5fa336b83789c6199a7341c9493587e249215cb4" + integrity sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ== + dependencies: + prosemirror-keymap "^1.0.0" + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-view "^1.0.0" + +prosemirror-history@^1.0.0, prosemirror-history@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.2.tgz#ce6ad7ab9db83e761aee716f3040d74738311b15" + integrity sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g== + dependencies: + prosemirror-state "^1.2.2" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.31.0" + rope-sequence "^1.3.0" + +prosemirror-inputrules@^1.2.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.3.0.tgz#d43ce469ffe09a1b4cbac3f0ad367b0e4b504875" + integrity sha512-z1GRP2vhh5CihYMQYsJSa1cOwXb3SYxALXOIfAkX8nZserARtl9LiL+CEl+T+OFIsXc3mJIHKhbsmRzC0HDAXA== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.1.2, prosemirror-keymap@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz#14a54763a29c7b2704f561088ccf3384d14eb77e" + integrity sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ== + dependencies: + prosemirror-state "^1.0.0" + w3c-keyname "^2.2.0" + +prosemirror-markdown@^1.10.1: + version "1.11.2" + resolved "https://registry.yarnpkg.com/prosemirror-markdown/-/prosemirror-markdown-1.11.2.tgz#f6e529e669d11fa3eec859e93c0d2c91788d6c80" + integrity sha512-Eu5g4WPiCdqDTGhdSsG9N6ZjACQRYrsAkrF9KYfdMaCmjIApH75aVncsWYOJvEk2i1B3i8jZppv3J/tnuHGiUQ== + dependencies: + markdown-it "^13.0.1" + prosemirror-model "^1.0.0" + +prosemirror-menu@^1.2.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/prosemirror-menu/-/prosemirror-menu-1.2.4.tgz#3cfdc7c06d10f9fbd1bce29082c498bd11a0a79a" + integrity sha512-S/bXlc0ODQup6aiBbWVsX/eM+xJgCTAfMq/nLqaO5ID/am4wS0tTCIkzwytmao7ypEtjj39i7YbJjAgO20mIqA== + dependencies: + crelt "^1.0.0" + prosemirror-commands "^1.0.0" + prosemirror-history "^1.0.0" + prosemirror-state "^1.0.0" + +prosemirror-model@^1.0.0, prosemirror-model@^1.16.0, prosemirror-model@^1.18.1, prosemirror-model@^1.19.0, prosemirror-model@^1.8.1: + version "1.19.3" + resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.19.3.tgz#f0d55285487fefd962d0ac695f716f4ec6705006" + integrity sha512-tgSnwN7BS7/UM0sSARcW+IQryx2vODKX4MI7xpqY2X+iaepJdKBPc7I4aACIsDV/LTaTjt12Z56MhDr9LsyuZQ== + dependencies: + orderedmap "^2.0.0" + +prosemirror-schema-basic@^1.2.0: + version "1.2.2" + resolved "https://registry.yarnpkg.com/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.2.tgz#6695f5175e4628aab179bf62e5568628b9cfe6c7" + integrity sha512-/dT4JFEGyO7QnNTe9UaKUhjDXbTNkiWTq/N4VpKaF79bBjSExVV2NXmJpcM7z/gD7mbqNjxbmWW5nf1iNSSGnw== + dependencies: + prosemirror-model "^1.19.0" + +prosemirror-schema-list@^1.2.2: + version "1.3.0" + resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.3.0.tgz#05374702cf35a3ba5e7ec31079e355a488d52519" + integrity sha512-Hz/7gM4skaaYfRPNgr421CU4GSwotmEwBVvJh5ltGiffUJwm7C8GfN/Bc6DR1EKEp5pDKhODmdXXyi9uIsZl5A== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.7.3" + +prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, prosemirror-state@^1.4.1: + version "1.4.3" + resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.4.3.tgz#94aecf3ffd54ec37e87aa7179d13508da181a080" + integrity sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.27.0" + +prosemirror-tables@^1.3.0: + version "1.3.5" + resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.3.5.tgz#80f03394f5b9991f9693bcb3a90b6dba6b16254d" + integrity sha512-JSZ2cCNlApu/ObAhdPyotrjBe2cimniniTpz60YXzbL0kZ+47nEYk2LWbfKU2lKpBkUNquta2PjteoNi4YCluQ== + dependencies: + prosemirror-keymap "^1.1.2" + prosemirror-model "^1.8.1" + prosemirror-state "^1.3.1" + prosemirror-transform "^1.2.1" + prosemirror-view "^1.13.3" + +prosemirror-trailing-node@^2.0.2: + version "2.0.7" + resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.7.tgz#ba782a7929f18bcae650b1c7082a2d10443eab19" + integrity sha512-8zcZORYj/8WEwsGo6yVCRXFMOfBo0Ub3hCUvmoWIZYfMP26WqENU0mpEP27w7mt8buZWuGrydBewr0tOArPb1Q== + dependencies: + "@remirror/core-constants" "^2.0.2" + "@remirror/core-helpers" "^3.0.0" + escape-string-regexp "^4.0.0" + +prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.7.0, prosemirror-transform@^1.7.3: + version "1.8.0" + resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.8.0.tgz#a47c64a3c373c1bd0ff46e95be3210c8dda0cd11" + integrity sha512-BaSBsIMv52F1BVVMvOmp1yzD3u65uC3HTzCBQV1WDPqJRQ2LuHKcyfn0jwqodo8sR9vVzMzZyI+Dal5W9E6a9A== + dependencies: + prosemirror-model "^1.0.0" + +prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.28.2, prosemirror-view@^1.31.0: + version "1.32.4" + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.32.4.tgz#c8f24bab3bcc8b57bcfb62490fc468180559f51b" + integrity sha512-WoT+ZYePp0WQvp5coABAysheZg9WttW3TSEUNgsfDQXmVOJlnjkbFbXicKPvWFLiC0ZjKt1ykbyoVKqhVnCiSQ== + dependencies: + prosemirror-model "^1.16.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + +readdirp@~3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== + dependencies: + picomatch "^2.2.1" + +resolve@^1.1.7, resolve@^1.22.1, resolve@^1.22.2: + version "1.22.8" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.8.tgz#b6c87a9f2aa06dfab52e3d70ac8cde321fa5a48d" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rollup@^2.79.1: + version "2.79.1" + resolved "https://registry.yarnpkg.com/rollup/-/rollup-2.79.1.tgz#bedee8faef7c9f93a2647ac0108748f497f081c7" + integrity sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw== + optionalDependencies: + fsevents "~2.3.2" + +rope-sequence@^1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425" + integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ== + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +showdown@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/showdown/-/showdown-2.1.0.tgz#1251f5ed8f773f0c0c7bfc8e6fd23581f9e545c5" + integrity sha512-/6NVYu4U819R2pUIk79n67SYgJHWCce0a5xTP979WbNp0FL9MN1I1QK662IDU1b6JzKTvmhgI7T7JYIxBi3kMQ== + dependencies: + commander "^9.0.0" + +socket.io-client@^4.5.1: + version "4.7.2" + resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.2.tgz#f2f13f68058bd4e40f94f2a1541f275157ff2c08" + integrity sha512-vtA0uD4ibrYD793SOIAwlo8cj6haOeMHrGvwPxJsxH7CeIksqJ+3Zc06RvWTIFgiSqx4A3sOnTXpfAEE2Zyz6w== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.2" + engine.io-client "~6.5.2" + socket.io-parser "~4.2.4" + +socket.io-parser@~4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" + integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== + dependencies: + "@socket.io/component-emitter" "~3.1.0" + debug "~4.3.1" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +sucrase@^3.32.0: + version "3.34.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.34.0.tgz#1e0e2d8fcf07f8b9c3569067d92fbd8690fb576f" + integrity sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +tailwindcss@^3.2.7: + version "3.3.5" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.5.tgz#22a59e2fbe0ecb6660809d9cc5f3976b077be3b8" + integrity sha512-5SEZU4J7pxZgSkv7FP1zY8i2TIAOooNZ1e/OGtxIEv6GltpoiXUqWvLy89+a10qYTB1N5Ifkuw9lqQkN9sscvA== + dependencies: + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" + chokidar "^3.5.3" + didyoumean "^1.2.2" + dlv "^1.1.3" + fast-glob "^3.3.0" + glob-parent "^6.0.2" + is-glob "^4.0.3" + jiti "^1.19.1" + lilconfig "^2.1.0" + micromatch "^4.0.5" + normalize-path "^3.0.0" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" + resolve "^1.22.2" + sucrase "^3.32.0" + +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + +tippy.js@^6.3.7: + version "6.3.7" + resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.3.7.tgz#8ccfb651d642010ed9a32ff29b0e9e19c5b8c61c" + integrity sha512-E1d3oP2emgJ9dRQZdf3Kkn0qJgI6ZLpyS5z6ZkY1DF3kaQaBsGZsndEpHwx+eC+tYM41HaSNvNtLx8tU57FzTQ== + dependencies: + "@popperjs/core" "^2.9.0" + +to-regex-range@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== + dependencies: + is-number "^7.0.0" + +ts-interface-checker@^0.1.9: + version "0.1.13" + resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + +type-fest@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" + integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +util-deprecate@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +vite@^3.0.0: + version "3.2.7" + resolved "https://registry.yarnpkg.com/vite/-/vite-3.2.7.tgz#35a62826bd4d6b778ae5db8766d023bcd4e7bef3" + integrity sha512-29pdXjk49xAP0QBr0xXqu2s5jiQIXNvE/xwd0vUizYT2Hzqe4BksNNoWllFVXJf4eLZ+UlVQmXfB4lWrc+t18g== + dependencies: + esbuild "^0.15.9" + postcss "^8.4.18" + resolve "^1.22.1" + rollup "^2.79.1" + optionalDependencies: + fsevents "~2.3.2" + +vue-demi@>=0.14.5, vue-demi@>=0.14.6: + version "0.14.6" + resolved "https://registry.yarnpkg.com/vue-demi/-/vue-demi-0.14.6.tgz#dc706582851dc1cdc17a0054f4fec2eb6df74c92" + integrity sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w== + +vue-router@^4.0.12: + version "4.2.5" + resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-4.2.5.tgz#b9e3e08f1bd9ea363fdd173032620bc50cf0e98a" + integrity sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw== + dependencies: + "@vue/devtools-api" "^6.5.0" + +vue@^3.2.25: + version "3.3.9" + resolved "https://registry.yarnpkg.com/vue/-/vue-3.3.9.tgz#219a2ec68e8d4d0b0180460af0f5b9299b3f3f1f" + integrity sha512-sy5sLCTR8m6tvUk1/ijri3Yqzgpdsmxgj6n6yl7GXXCXqVbmW2RCXe9atE4cEI6Iv7L89v5f35fZRRr5dChP9w== + dependencies: + "@vue/compiler-dom" "3.3.9" + "@vue/compiler-sfc" "3.3.9" + "@vue/runtime-dom" "3.3.9" + "@vue/server-renderer" "3.3.9" + "@vue/shared" "3.3.9" + +w3c-keyname@^2.2.0: + version "2.2.8" + resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" + integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== + +wrappy@1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +ws@~8.11.0: + version "8.11.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" + integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== + +xmlhttprequest-ssl@~2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" + integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== + +yaml@^2.3.4: + version "2.3.4" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2" + integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA== diff --git a/lms/lms/api.py b/lms/lms/api.py index 38051ade..baa2f597 100644 --- a/lms/lms/api.py +++ b/lms/lms/api.py @@ -142,10 +142,20 @@ def add_mentor_to_subgroup(subgroup, email): @frappe.whitelist(allow_guest=True) -def get_courses(): - """Returns the list of courses.""" - return frappe.get_all( - "LMS Course", - fields=["name", "title", "short_introduction", "image"], - filters={"published": True}, - ) +def get_user_info(user=None): + print(user) + if frappe.session.user == "Guest": + frappe.throw("Authentication failed", exc=frappe.AuthenticationError) + filters = {} + if user: + filters["name"] = user + + users = frappe.qb.get_query( + "User", + filters=filters, + fields=["name", "email", "enabled", "user_image", "full_name", "user_type"], + order_by="full_name asc", + distinct=True, + ).run(as_dict=1) + print(users) + return users diff --git a/lms/lms/utils.py b/lms/lms/utils.py index 6ec99bab..b4fd73a5 100644 --- a/lms/lms/utils.py +++ b/lms/lms/utils.py @@ -196,7 +196,7 @@ def get_instructors(course): frappe.db.get_value( "User", instructor, - ["name", "username", "full_name", "user_image"], + ["name", "username", "full_name", "user_image", "first_name"], as_dict=True, ) ) @@ -1147,3 +1147,86 @@ def change_currency(amount, currency, country=None): amount = cint(amount) amount, currency = check_multicurrency(amount, currency, country) return fmt_money(amount, 0, currency) + + +@frappe.whitelist(allow_guest=True) +def get_courses(): + """Returns the list of courses.""" + courses = frappe.get_all( + "LMS Course", + fields=[ + "name", + "title", + "short_introduction", + "image", + "published", + "upcoming", + "status", + "paid_course", + "course_price", + "currency", + ], + filters={"published": True}, + ) + + courses = get_course_details(courses) + courses = get_categorized_courses(courses) + return courses + + +def get_course_details(courses): + for course in courses: + course.tags = get_tags(course.name) + course.lesson_count = get_lesson_count(course.name) + + course.enrollment_count = frappe.db.count( + "LMS Enrollment", {"course": course.name, "member_type": "Student"} + ) + + avg_rating = get_average_rating(course.name) or 0 + course.avg_rating = frappe.utils.flt( + avg_rating, frappe.get_system_settings("float_precision") or 3 + ) + + course.instructors = get_instructors(course.name) + if course.paid_course: + course.price = frappe.utils.fmt_money(course.course_price, 0, course.currency) + else: + course.price = _("Free") + + if frappe.session.user == "Guest": + course.membership = None + course.is_instructor = False + else: + course.membership = frappe.db.get_value( + "LMS Enrollment", + {"member": frappe.session.user, "course": course.name}, + ["name", "course", "current_lesson", "progress"], + as_dict=1, + ) + course.is_instructor = is_instructor(course.name) + return courses + + +def get_categorized_courses(courses): + live, upcoming, enrolled, created, under_review = [], [], [], [], [] + + for course in courses: + if course.upcoming: + upcoming.append(course) + elif course.published: + live.append(course) + elif course.membership: + enrolled.append(course) + elif course.is_instructor: + created.append(course) + elif course.status == "Under Review": + under_review.append(course) + + return { + "live": live, + "upcoming": upcoming, + "enrolled": enrolled, + "created": created, + "under_review": under_review, + } diff --git a/lms/public/frontend/assets/Courses.10129947.js b/lms/public/frontend/assets/Courses.10129947.js new file mode 100644 index 00000000..cffd1fe3 --- /dev/null +++ b/lms/public/frontend/assets/Courses.10129947.js @@ -0,0 +1,286 @@ +var N = Object.defineProperty, + S = Object.defineProperties; +var j = Object.getOwnPropertyDescriptors; +var h = Object.getOwnPropertySymbols; +var b = Object.prototype.hasOwnProperty, + w = Object.prototype.propertyIsEnumerable; +var p = (e, s, t) => + s in e + ? N(e, s, { + enumerable: !0, + configurable: !0, + writable: !0, + value: t, + }) + : (e[s] = t), + m = (e, s) => { + for (var t in s || (s = {})) b.call(s, t) && p(e, t, s[t]); + if (h) for (var t of h(s)) w.call(s, t) && p(e, t, s[t]); + return e; + }, + g = (e, s) => S(e, j(s)); +var C = (e, s) => { + var t = {}; + for (var a in e) b.call(e, a) && s.indexOf(a) < 0 && (t[a] = e[a]); + if (e != null && h) + for (var a of h(e)) s.indexOf(a) < 0 && w.call(e, a) && (t[a] = e[a]); + return t; +}; +import { + l as $, + o, + d as c, + k as r, + F as v, + m as y, + t as l, + n as B, + p as z, + q as A, + e as n, + u, + v as O, + x as q, + y as U, + z as V, +} from "./frappe-ui.8966d601.js"; +var _ = { + xmlns: "http://www.w3.org/2000/svg", + width: 24, + height: 24, + viewBox: "0 0 24 24", + fill: "none", + stroke: "currentColor", + "stroke-width": 2, + "stroke-linecap": "round", + "stroke-linejoin": "round", +}; +const F = (e) => e.replace(/([a-z0-9])([A-Z])/g, "$1-$2").toLowerCase(), + f = + (e, s) => + (oe, { attrs: d, slots: x }) => { + var k = oe, + { + size: t, + strokeWidth: a = 2, + absoluteStrokeWidth: i, + color: M, + } = k, + I = C(k, [ + "size", + "strokeWidth", + "absoluteStrokeWidth", + "color", + ]); + return $( + "svg", + m( + g( + m( + g(m({}, _), { + width: t || _.width, + height: t || _.height, + stroke: M || _.stroke, + "stroke-width": i + ? (Number(a) * 24) / Number(t) + : a, + }), + d + ), + { + class: [ + "lucide", + `lucide-${F(e)}`, + (d == null ? void 0 : d.class) || "", + ], + } + ), + I + ), + [...s.map((L) => $(...L)), ...(x.default ? [x.default()] : [])] + ); + }, + H = f("BookOpenIcon", [ + [ + "path", + { d: "M2 3h6a4 4 0 0 1 4 4v14a3 3 0 0 0-3-3H2z", key: "vv98re" }, + ], + [ + "path", + { d: "M22 3h-6a4 4 0 0 0-4 4v14a3 3 0 0 1 3-3h7z", key: "1cyq3y" }, + ], + ]), + D = f("StarIcon", [ + [ + "polygon", + { + points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2", + key: "8f66p6", + }, + ], + ]), + E = f("UsersIcon", [ + [ + "path", + { d: "M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2", key: "1yyitq" }, + ], + ["circle", { cx: "9", cy: "7", r: "4", key: "nufk8" }], + ["path", { d: "M22 21v-2a4 4 0 0 0-3-3.87", key: "kshegd" }], + ["path", { d: "M16 3.13a4 4 0 0 1 0 7.75", key: "1da9ce" }], + ]); +const K = { + class: "flex flex-col h-full border border-gray-200 rounded-md shadow-sm mt-5", + }, + P = { class: "flex relative top-4 left-4" }, + R = { class: "course-card-pills rounded-md border border-gray-200" }, + Z = { key: 0, class: "flex flex-1 text-4xl font-bold" }, + G = { class: "p-4" }, + J = { class: "flex text-base items-center justify-between" }, + Q = { class: "flex items-center space-x-1 py-1" }, + T = { class: "flex items-center space-x-1 py-1" }, + X = { class: "flex items-center space-x-1 py-1" }, + Y = { class: "text-2xl font-semibold" }, + W = { class: "text-ellipsis truncate text-base" }, + ee = { + __name: "CourseCard", + props: { course: { type: Object, default: null } }, + setup(e) { + return (s, t) => ( + o(), + c("div", K, [ + r( + "div", + { + class: z([ + "course-image", + { "default-image": !e.course.image }, + ]), + style: A({ + backgroundImage: "url(" + e.course.image + ")", + }), + }, + [ + r("div", P, [ + (o(!0), + c( + v, + null, + y( + e.course.tags, + (a) => (o(), c("div", R, l(a), 1)) + ), + 256 + )), + ]), + e.course.image + ? B("", !0) + : (o(), c("div", Z, l(e.course.title[0]), 1)), + ], + 6 + ), + r("div", G, [ + r("div", J, [ + r("div", Q, [ + n(u(H), { class: "h-4 w-4 text-gray-700" }), + r("span", null, l(e.course.lesson_count), 1), + ]), + r("div", T, [ + n(u(E), { class: "h-4 w-4 text-gray-700" }), + r( + "span", + null, + l(e.course.enrollment_count), + 1 + ), + ]), + r("div", X, [ + n(u(D), { class: "h-4 w-4 text-gray-700" }), + r("span", null, l(e.course.avg_rating), 1), + ]), + ]), + r("div", Y, l(e.course.title), 1), + r("div", W, l(e.course.short_introduction), 1), + (o(!0), + c( + v, + null, + y(e.course.instructors, (a) => (o(), c("div"))), + 256 + )), + ]), + ]) + ); + }, + }, + se = { + __name: "UserAvatar", + props: { user: { type: Object, default: null } }, + setup(e) { + return (s, t) => + e.user + ? (o(), + O( + u(U), + q( + { + key: 0, + class: "", + label: e.user.full_name, + image: e.user.user_image, + }, + s.$attrs + ), + null, + 16, + ["label", "image"] + )) + : B("", !0); + }, + }, + te = { class: "container" }, + ae = r("div", { class: "text-2xl font-semibold" }, " All Courses ", -1), + re = { class: "grid grid-cols-3 gap-8" }, + ne = { + __name: "Courses", + setup(e) { + const s = V({ + type: "list", + doctype: "LMS Course", + url: "lms.lms.utils.get_courses", + auto: !0, + }); + return (t, a) => ( + o(), + c("div", te, [ + ae, + r("div", re, [ + (o(!0), + c( + v, + null, + y( + u(s).data, + (i) => ( + o(), + c("div", null, [ + n(ee, { course: i }, null, 8, [ + "course", + ]), + n( + se, + { user: i.instructors[0] }, + null, + 8, + ["user"] + ), + ]) + ) + ), + 256 + )), + ]), + ]) + ); + }, + }; +export { ne as default }; diff --git a/lms/public/frontend/assets/Courses.4fd15046.css b/lms/public/frontend/assets/Courses.4fd15046.css new file mode 100644 index 00000000..7e0c137e --- /dev/null +++ b/lms/public/frontend/assets/Courses.4fd15046.css @@ -0,0 +1 @@ +.course-image{height:168px;width:100%;background-size:cover;background-position:center;background-repeat:no-repeat}.course-card-pills{background:#ffffff;margin-left:0;margin-right:.5rem;padding:3.5px 8px;font-size:11px;text-align:center;letter-spacing:.011em;text-transform:uppercase;font-weight:600;width:-moz-fit-content;width:fit-content}.default-image{display:flex;flex-direction:column;align-items:center;background-color:#ededed;color:#525252} diff --git a/lms/public/frontend/assets/FontColor.41d2871a.js b/lms/public/frontend/assets/FontColor.41d2871a.js new file mode 100644 index 00000000..75cf294f --- /dev/null +++ b/lms/public/frontend/assets/FontColor.41d2871a.js @@ -0,0 +1,206 @@ +import { + b as f, + P as g, + T as _, + r as d, + o, + v as l, + w as r, + A as p, + B as C, + C as k, + k as a, + d as c, + F as u, + m, + q as h, + p as b, +} from "./frappe-ui.8966d601.js"; +const v = { + name: "FontColor", + props: ["editor"], + components: { Popover: g, Tooltip: _ }, + methods: { + setBackgroundColor(t) { + t.name != "Default" + ? this.editor + .chain() + .focus() + .toggleHighlight({ color: t.hex }) + .run() + : this.editor.chain().focus().unsetHighlight().run(); + }, + setForegroundColor(t) { + t.name != "Default" + ? this.editor.chain().focus().setColor(t.hex).run() + : this.editor.chain().focus().unsetColor().run(); + }, + }, + computed: { + foregroundColors() { + return [ + { name: "Default", hex: "#1F272E" }, + { name: "Yellow", hex: "#ca8a04" }, + { name: "Orange", hex: "#ea580c" }, + { name: "Red", hex: "#dc2626" }, + { name: "Green", hex: "#16a34a" }, + { name: "Blue", hex: "#1579D0" }, + { name: "Purple", hex: "#9333ea" }, + { name: "Pink", hex: "#db2777" }, + ]; + }, + backgroundColors() { + return [ + { name: "Default", hex: null }, + { name: "Yellow", hex: "#fef9c3" }, + { name: "Orange", hex: "#ffedd5" }, + { name: "Red", hex: "#fee2e2" }, + { name: "Green", hex: "#dcfce7" }, + { name: "Blue", hex: "#D3E9FC" }, + { name: "Purple", hex: "#f3e8ff" }, + { name: "Pink", hex: "#fce7f3" }, + ]; + }, + }, + }, + y = { class: "p-2" }, + B = a("div", { class: "text-sm text-gray-700" }, "Text Color", -1), + P = { class: "mt-1 grid grid-cols-8 gap-1" }, + F = ["aria-label", "onClick"], + w = a( + "div", + { class: "mt-2 text-sm text-gray-700" }, + "Background Color", + -1 + ), + D = { class: "mt-1 grid grid-cols-8 gap-1" }, + T = ["aria-label", "onClick"]; +function A(t, z, E, R, $, n) { + const i = d("Tooltip"), + x = d("Popover"); + return ( + o(), + l( + x, + { transition: "default" }, + { + target: r(({ togglePopover: e, isOpen: s }) => [ + p( + t.$slots, + "default", + C(k({ onClick: () => e(), isActive: s })) + ), + ]), + "body-main": r(() => [ + a("div", y, [ + B, + a("div", P, [ + (o(!0), + c( + u, + null, + m( + n.foregroundColors, + (e) => ( + o(), + l( + i, + { + class: "flex", + key: e.name, + text: e.name, + }, + { + default: r(() => [ + a( + "button", + { + "aria-label": + e.name, + class: "flex h-5 w-5 items-center justify-center rounded border text-base", + style: h({ + color: e.hex, + }), + onClick: (s) => + n.setForegroundColor( + e + ), + }, + " A ", + 12, + F + ), + ]), + _: 2, + }, + 1032, + ["text"] + ) + ) + ), + 128 + )), + ]), + w, + a("div", D, [ + (o(!0), + c( + u, + null, + m( + n.backgroundColors, + (e) => ( + o(), + l( + i, + { + class: "flex", + key: e.name, + text: e.name, + }, + { + default: r(() => [ + a( + "button", + { + "aria-label": + e.name, + class: b([ + "flex h-5 w-5 items-center justify-center rounded border text-base text-gray-900", + e.hex + ? "border-transparent" + : "border-gray-200", + ]), + style: h({ + backgroundColor: + e.hex, + }), + onClick: (s) => + n.setBackgroundColor( + e + ), + }, + " A ", + 14, + T + ), + ]), + _: 2, + }, + 1032, + ["text"] + ) + ) + ), + 128 + )), + ]), + ]), + ]), + _: 3, + } + ) + ); +} +const G = f(v, [["render", A]]); +export { G as default }; diff --git a/lms/public/frontend/assets/Home.24891fef.js b/lms/public/frontend/assets/Home.24891fef.js new file mode 100644 index 00000000..0a2f6189 --- /dev/null +++ b/lms/public/frontend/assets/Home.24891fef.js @@ -0,0 +1,65 @@ +import { + b as d, + D as g, + r, + o as m, + d as f, + e as t, + w as s, + j as l, + k as p, + t as u, +} from "./frappe-ui.8966d601.js"; +const D = { + name: "Home", + data() { + return { showDialog: !1 }; + }, + resources: { ping: { url: "ping" } }, + components: { Dialog: g }, + }, + _ = { class: "max-w-3xl py-12 mx-auto" }; +function k(e, o, w, C, n, V) { + const a = r("Button"), + c = r("Dialog"); + return ( + m(), + f("div", _, [ + t( + a, + { + "icon-left": "code", + onClick: e.$resources.ping.fetch, + loading: e.$resources.ping.loading, + }, + { + default: s(() => [l(" Click to send 'ping' request ")]), + _: 1, + }, + 8, + ["onClick", "loading"] + ), + p("div", null, u(e.$resources.ping.data), 1), + p("pre", null, u(e.$resources.ping), 1), + t( + a, + { onClick: o[0] || (o[0] = (i) => (n.showDialog = !0)) }, + { default: s(() => [l("Open Dialog")]), _: 1 } + ), + t( + c, + { + title: "Title", + modelValue: n.showDialog, + "onUpdate:modelValue": + o[1] || (o[1] = (i) => (n.showDialog = i)), + }, + { default: s(() => [l(" Dialog content ")]), _: 1 }, + 8, + ["modelValue"] + ), + ]) + ); +} +const B = d(D, [["render", k]]); +export { B as default }; diff --git a/lms/public/frontend/assets/InsertImage.3828880c.js b/lms/public/frontend/assets/InsertImage.3828880c.js new file mode 100644 index 00000000..d9ec216a --- /dev/null +++ b/lms/public/frontend/assets/InsertImage.3828880c.js @@ -0,0 +1,151 @@ +import { + b as f, + h as I, + D, + G as h, + r as d, + o as m, + d as c, + A as _, + B as y, + C, + e as n, + w as s, + k as r, + t as w, + n as b, + j as u, + F as k, +} from "./frappe-ui.8966d601.js"; +const v = { + name: "InsertImage", + props: ["editor"], + expose: ["openDialog"], + data() { + return { addImageDialog: { url: "", file: null, show: !1 } }; + }, + components: { Button: I, Dialog: D }, + methods: { + openDialog() { + this.addImageDialog.show = !0; + }, + onImageSelect(t) { + let e = t.target.files[0]; + !e || + ((this.addImageDialog.file = e), + h(e).then((i) => { + this.addImageDialog.url = i; + })); + }, + addImage(t) { + this.editor.chain().focus().setImage({ src: t }).run(), + this.reset(); + }, + reset() { + this.addImageDialog = this.$options.data().addImageDialog; + }, + }, + }, + B = { + class: "relative cursor-pointer rounded-lg bg-gray-100 py-1 focus-within:bg-gray-200 hover:bg-gray-200", + }, + x = { class: "absolute inset-0 select-none px-2 py-1 text-base" }, + S = ["src"]; +function V(t, e, i, A, a, o) { + const g = d("Button"), + p = d("Dialog"); + return ( + m(), + c( + k, + null, + [ + _(t.$slots, "default", y(C({ onClick: o.openDialog }))), + n( + p, + { + options: { title: "Add Image" }, + modelValue: a.addImageDialog.show, + "onUpdate:modelValue": + e[2] || (e[2] = (l) => (a.addImageDialog.show = l)), + onAfterLeave: o.reset, + }, + { + "body-content": s(() => [ + r("label", B, [ + r( + "input", + { + type: "file", + class: "w-full opacity-0", + onChange: + e[0] || + (e[0] = (...l) => + o.onImageSelect && + o.onImageSelect(...l)), + accept: "image/*", + }, + null, + 32 + ), + r( + "span", + x, + w( + a.addImageDialog.file + ? "Select another image" + : "Select an image" + ), + 1 + ), + ]), + a.addImageDialog.url + ? (m(), + c( + "img", + { + key: 0, + src: a.addImageDialog.url, + class: "mt-2 w-full rounded-lg", + }, + null, + 8, + S + )) + : b("", !0), + ]), + actions: s(() => [ + n( + g, + { + variant: "solid", + onClick: + e[1] || + (e[1] = (l) => + o.addImage(a.addImageDialog.url)), + }, + { + default: s(() => [u(" Insert Image ")]), + _: 1, + } + ), + n( + g, + { onClick: o.reset }, + { default: s(() => [u(" Cancel ")]), _: 1 }, + 8, + ["onClick"] + ), + ]), + _: 1, + }, + 8, + ["modelValue", "onAfterLeave"] + ), + ], + 64 + ) + ); +} +const F = f(v, [["render", V]]); +export { F as default }; diff --git a/lms/public/frontend/assets/InsertLink.20429a64.js b/lms/public/frontend/assets/InsertLink.20429a64.js new file mode 100644 index 00000000..c17878c3 --- /dev/null +++ b/lms/public/frontend/assets/InsertLink.20429a64.js @@ -0,0 +1,120 @@ +import { + b as d, + h as g, + I as L, + D as m, + r as i, + o as p, + d as f, + A as D, + B as h, + C as c, + e as l, + w as a, + E as w, + j as _, + F as v, +} from "./frappe-ui.8966d601.js"; +const x = { + name: "InsertLink", + props: ["editor"], + components: { Button: g, Input: L, Dialog: m }, + data() { + return { setLinkDialog: { url: "", show: !1 } }; + }, + methods: { + openDialog() { + let t = this.editor.getAttributes("link").href; + t && (this.setLinkDialog.url = t), (this.setLinkDialog.show = !0); + }, + setLink(t) { + t === "" + ? this.editor + .chain() + .focus() + .extendMarkRange("link") + .unsetLink() + .run() + : this.editor + .chain() + .focus() + .extendMarkRange("link") + .setLink({ href: t }) + .run(), + (this.setLinkDialog.show = !1), + (this.setLinkDialog.url = ""); + }, + reset() { + this.setLinkDialog = this.$options.data().setLinkDialog; + }, + }, +}; +function V(t, e, C, B, n, s) { + const r = i("FormControl"), + u = i("Button"), + k = i("Dialog"); + return ( + p(), + f( + v, + null, + [ + D(t.$slots, "default", h(c({ onClick: s.openDialog }))), + l( + k, + { + options: { title: "Set Link" }, + modelValue: n.setLinkDialog.show, + "onUpdate:modelValue": + e[3] || (e[3] = (o) => (n.setLinkDialog.show = o)), + onAfterLeave: s.reset, + }, + { + "body-content": a(() => [ + l( + r, + { + type: "text", + label: "URL", + modelValue: n.setLinkDialog.url, + "onUpdate:modelValue": + e[0] || + (e[0] = (o) => + (n.setLinkDialog.url = o)), + onKeydown: + e[1] || + (e[1] = w( + (o) => s.setLink(o.target.value), + ["enter"] + )), + }, + null, + 8, + ["modelValue"] + ), + ]), + actions: a(() => [ + l( + u, + { + variant: "solid", + onClick: + e[2] || + (e[2] = (o) => + s.setLink(n.setLinkDialog.url)), + }, + { default: a(() => [_(" Save ")]), _: 1 } + ), + ]), + _: 1, + }, + 8, + ["modelValue", "onAfterLeave"] + ), + ], + 64 + ) + ); +} +const b = d(x, [["render", V]]); +export { b as default }; diff --git a/lms/public/frontend/assets/InsertVideo.d725d1a5.js b/lms/public/frontend/assets/InsertVideo.d725d1a5.js new file mode 100644 index 00000000..8a07f794 --- /dev/null +++ b/lms/public/frontend/assets/InsertVideo.d725d1a5.js @@ -0,0 +1,200 @@ +import { + b as _, + h as C, + D as k, + H as v, + r, + o as u, + d as c, + A as h, + B, + C as w, + e as t, + w as l, + k as x, + j as n, + t as y, + v as U, + n as p, + F, +} from "./frappe-ui.8966d601.js"; +const A = { + name: "InsertImage", + props: ["editor"], + expose: ["openDialog"], + data() { + return { addVideoDialog: { url: "", file: null, show: !1 } }; + }, + components: { Button: C, Dialog: k, FileUploader: v }, + methods: { + openDialog() { + this.addVideoDialog.show = !0; + }, + onVideoSelect(i) { + let o = i.target.files[0]; + !o || (this.addVideoDialog.file = o); + }, + addVideo(i) { + this.editor + .chain() + .focus() + .insertContent(``) + .run(), + this.reset(); + }, + reset() { + this.addVideoDialog = this.$options.data().addVideoDialog; + }, + }, + }, + I = { class: "flex items-center space-x-2" }, + N = ["src"]; +function S(i, o, b, L, e, a) { + const s = r("Button"), + V = r("FileUploader"), + g = r("Dialog"); + return ( + u(), + c( + F, + null, + [ + h(i.$slots, "default", B(w({ onClick: a.openDialog }))), + t( + g, + { + options: { title: "Add Video" }, + modelValue: e.addVideoDialog.show, + "onUpdate:modelValue": + o[2] || (o[2] = (d) => (e.addVideoDialog.show = d)), + onAfterLeave: a.reset, + }, + { + "body-content": l(() => [ + t( + V, + { + "file-types": "video/*", + onSuccess: + o[0] || + (o[0] = (d) => + (e.addVideoDialog.url = + d.file_url)), + }, + { + default: l( + ({ + file: d, + progress: f, + uploading: m, + openFileSelector: D, + }) => [ + x("div", I, [ + t( + s, + { onClick: D }, + { + default: l(() => [ + n( + y( + m + ? `Uploading ${f}%` + : e + .addVideoDialog + .url + ? "Change Video" + : "Upload Video" + ), + 1 + ), + ]), + _: 2, + }, + 1032, + ["onClick"] + ), + e.addVideoDialog.url + ? (u(), + U( + s, + { + key: 0, + onClick: () => { + (e.addVideoDialog.url = + null), + (e.addVideoDialog.file = + null); + }, + }, + { + default: l( + () => [ + n( + " Remove " + ), + ] + ), + _: 2, + }, + 1032, + ["onClick"] + )) + : p("", !0), + ]), + ] + ), + _: 1, + } + ), + e.addVideoDialog.url + ? (u(), + c( + "video", + { + key: 0, + src: e.addVideoDialog.url, + class: "mt-2 w-full rounded-lg", + type: "video/mp4", + controls: "", + }, + null, + 8, + N + )) + : p("", !0), + ]), + actions: l(() => [ + t( + s, + { + variant: "solid", + onClick: + o[1] || + (o[1] = (d) => + a.addVideo(e.addVideoDialog.url)), + }, + { + default: l(() => [n(" Insert Video ")]), + _: 1, + } + ), + t( + s, + { onClick: a.reset }, + { default: l(() => [n("Cancel")]), _: 1 }, + 8, + ["onClick"] + ), + ]), + _: 1, + }, + 8, + ["modelValue", "onAfterLeave"] + ), + ], + 64 + ) + ); +} +const R = _(A, [["render", S]]); +export { R as default }; diff --git a/lms/public/frontend/assets/Inter-Black.05e55dd7.woff2 b/lms/public/frontend/assets/Inter-Black.05e55dd7.woff2 new file mode 100644 index 00000000..ea45598a Binary files /dev/null and b/lms/public/frontend/assets/Inter-Black.05e55dd7.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Black.9c79713b.woff b/lms/public/frontend/assets/Inter-Black.9c79713b.woff new file mode 100644 index 00000000..c7737ed3 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Black.9c79713b.woff differ diff --git a/lms/public/frontend/assets/Inter-Black.bc2198e0.woff2 b/lms/public/frontend/assets/Inter-Black.bc2198e0.woff2 new file mode 100644 index 00000000..b16b995b Binary files /dev/null and b/lms/public/frontend/assets/Inter-Black.bc2198e0.woff2 differ diff --git a/lms/public/frontend/assets/Inter-BlackItalic.1cb529a7.woff2 b/lms/public/frontend/assets/Inter-BlackItalic.1cb529a7.woff2 new file mode 100644 index 00000000..a3f1b70c Binary files /dev/null and b/lms/public/frontend/assets/Inter-BlackItalic.1cb529a7.woff2 differ diff --git a/lms/public/frontend/assets/Inter-BlackItalic.4ff7db4a.woff2 b/lms/public/frontend/assets/Inter-BlackItalic.4ff7db4a.woff2 new file mode 100644 index 00000000..10a1764b Binary files /dev/null and b/lms/public/frontend/assets/Inter-BlackItalic.4ff7db4a.woff2 differ diff --git a/lms/public/frontend/assets/Inter-BlackItalic.7ecbf9fa.woff b/lms/public/frontend/assets/Inter-BlackItalic.7ecbf9fa.woff new file mode 100644 index 00000000..b5f14476 Binary files /dev/null and b/lms/public/frontend/assets/Inter-BlackItalic.7ecbf9fa.woff differ diff --git a/lms/public/frontend/assets/Inter-Bold.1dc41a58.woff2 b/lms/public/frontend/assets/Inter-Bold.1dc41a58.woff2 new file mode 100644 index 00000000..a4fe8349 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Bold.1dc41a58.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Bold.2b828bef.woff b/lms/public/frontend/assets/Inter-Bold.2b828bef.woff new file mode 100644 index 00000000..e3845558 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Bold.2b828bef.woff differ diff --git a/lms/public/frontend/assets/Inter-Bold.2efd8e3c.woff2 b/lms/public/frontend/assets/Inter-Bold.2efd8e3c.woff2 new file mode 100644 index 00000000..835dd497 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Bold.2efd8e3c.woff2 differ diff --git a/lms/public/frontend/assets/Inter-BoldItalic.8bc8e0ff.woff b/lms/public/frontend/assets/Inter-BoldItalic.8bc8e0ff.woff new file mode 100644 index 00000000..ffac3f59 Binary files /dev/null and b/lms/public/frontend/assets/Inter-BoldItalic.8bc8e0ff.woff differ diff --git a/lms/public/frontend/assets/Inter-BoldItalic.dc0d4194.woff2 b/lms/public/frontend/assets/Inter-BoldItalic.dc0d4194.woff2 new file mode 100644 index 00000000..f2b44703 Binary files /dev/null and b/lms/public/frontend/assets/Inter-BoldItalic.dc0d4194.woff2 differ diff --git a/lms/public/frontend/assets/Inter-BoldItalic.f528d863.woff2 b/lms/public/frontend/assets/Inter-BoldItalic.f528d863.woff2 new file mode 100644 index 00000000..1a41a14f Binary files /dev/null and b/lms/public/frontend/assets/Inter-BoldItalic.f528d863.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayBlack.b1d4e33d.woff2 b/lms/public/frontend/assets/Inter-DisplayBlack.b1d4e33d.woff2 new file mode 100644 index 00000000..3e781f4e Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayBlack.b1d4e33d.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayBlackItalic.d561e8dd.woff2 b/lms/public/frontend/assets/Inter-DisplayBlackItalic.d561e8dd.woff2 new file mode 100644 index 00000000..d6208aa0 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayBlackItalic.d561e8dd.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayBold.d9bf35ac.woff2 b/lms/public/frontend/assets/Inter-DisplayBold.d9bf35ac.woff2 new file mode 100644 index 00000000..5bf04f80 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayBold.d9bf35ac.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayBoldItalic.fef00c57.woff2 b/lms/public/frontend/assets/Inter-DisplayBoldItalic.fef00c57.woff2 new file mode 100644 index 00000000..bd24332a Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayBoldItalic.fef00c57.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayExtraBold.b7cc680a.woff2 b/lms/public/frontend/assets/Inter-DisplayExtraBold.b7cc680a.woff2 new file mode 100644 index 00000000..bd549735 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayExtraBold.b7cc680a.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayExtraBoldItalic.e5a5984a.woff2 b/lms/public/frontend/assets/Inter-DisplayExtraBoldItalic.e5a5984a.woff2 new file mode 100644 index 00000000..e301939f Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayExtraBoldItalic.e5a5984a.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayExtraLight.32095132.woff2 b/lms/public/frontend/assets/Inter-DisplayExtraLight.32095132.woff2 new file mode 100644 index 00000000..782c3bb9 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayExtraLight.32095132.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayExtraLightItalic.8eeb78f4.woff2 b/lms/public/frontend/assets/Inter-DisplayExtraLightItalic.8eeb78f4.woff2 new file mode 100644 index 00000000..e59762ff Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayExtraLightItalic.8eeb78f4.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayItalic.938db435.woff2 b/lms/public/frontend/assets/Inter-DisplayItalic.938db435.woff2 new file mode 100644 index 00000000..eb46848e Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayItalic.938db435.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayLight.e40a858d.woff2 b/lms/public/frontend/assets/Inter-DisplayLight.e40a858d.woff2 new file mode 100644 index 00000000..9a359e52 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayLight.e40a858d.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayLightItalic.151e9a11.woff2 b/lms/public/frontend/assets/Inter-DisplayLightItalic.151e9a11.woff2 new file mode 100644 index 00000000..f4a2ea87 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayLightItalic.151e9a11.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayMedium.12a4a358.woff2 b/lms/public/frontend/assets/Inter-DisplayMedium.12a4a358.woff2 new file mode 100644 index 00000000..260958d2 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayMedium.12a4a358.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayMediumItalic.8968b5ab.woff2 b/lms/public/frontend/assets/Inter-DisplayMediumItalic.8968b5ab.woff2 new file mode 100644 index 00000000..6ba01776 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayMediumItalic.8968b5ab.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplaySemiBold.856fcb49.woff2 b/lms/public/frontend/assets/Inter-DisplaySemiBold.856fcb49.woff2 new file mode 100644 index 00000000..0f027bc0 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplaySemiBold.856fcb49.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplaySemiBoldItalic.5e57e1d2.woff2 b/lms/public/frontend/assets/Inter-DisplaySemiBoldItalic.5e57e1d2.woff2 new file mode 100644 index 00000000..7173db91 Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplaySemiBoldItalic.5e57e1d2.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayThin.b64c173b.woff2 b/lms/public/frontend/assets/Inter-DisplayThin.b64c173b.woff2 new file mode 100644 index 00000000..8817510b Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayThin.b64c173b.woff2 differ diff --git a/lms/public/frontend/assets/Inter-DisplayThinItalic.b70f1c61.woff2 b/lms/public/frontend/assets/Inter-DisplayThinItalic.b70f1c61.woff2 new file mode 100644 index 00000000..d6d258ec Binary files /dev/null and b/lms/public/frontend/assets/Inter-DisplayThinItalic.b70f1c61.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraBold.585b4ce1.woff b/lms/public/frontend/assets/Inter-ExtraBold.585b4ce1.woff new file mode 100644 index 00000000..885ac94f Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraBold.585b4ce1.woff differ diff --git a/lms/public/frontend/assets/Inter-ExtraBold.74e72c6b.woff2 b/lms/public/frontend/assets/Inter-ExtraBold.74e72c6b.woff2 new file mode 100644 index 00000000..ae956b15 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraBold.74e72c6b.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraBold.8a72efb6.woff2 b/lms/public/frontend/assets/Inter-ExtraBold.8a72efb6.woff2 new file mode 100644 index 00000000..e68ed150 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraBold.8a72efb6.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraBoldItalic.2abc7ab1.woff2 b/lms/public/frontend/assets/Inter-ExtraBoldItalic.2abc7ab1.woff2 new file mode 100644 index 00000000..86578995 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraBoldItalic.2abc7ab1.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraBoldItalic.38e71f7c.woff2 b/lms/public/frontend/assets/Inter-ExtraBoldItalic.38e71f7c.woff2 new file mode 100644 index 00000000..7aee5162 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraBoldItalic.38e71f7c.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraBoldItalic.b87f7d97.woff b/lms/public/frontend/assets/Inter-ExtraBoldItalic.b87f7d97.woff new file mode 100644 index 00000000..d6cf8623 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraBoldItalic.b87f7d97.woff differ diff --git a/lms/public/frontend/assets/Inter-ExtraLight.1c06ef44.woff b/lms/public/frontend/assets/Inter-ExtraLight.1c06ef44.woff new file mode 100644 index 00000000..ff769193 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraLight.1c06ef44.woff differ diff --git a/lms/public/frontend/assets/Inter-ExtraLight.25a4db7c.woff2 b/lms/public/frontend/assets/Inter-ExtraLight.25a4db7c.woff2 new file mode 100644 index 00000000..c0f8667c Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraLight.25a4db7c.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraLight.4c337585.woff2 b/lms/public/frontend/assets/Inter-ExtraLight.4c337585.woff2 new file mode 100644 index 00000000..694b2df9 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraLight.4c337585.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraLightItalic.0e5667b1.woff b/lms/public/frontend/assets/Inter-ExtraLightItalic.0e5667b1.woff new file mode 100644 index 00000000..c6ed13a4 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraLightItalic.0e5667b1.woff differ diff --git a/lms/public/frontend/assets/Inter-ExtraLightItalic.7b39e865.woff2 b/lms/public/frontend/assets/Inter-ExtraLightItalic.7b39e865.woff2 new file mode 100644 index 00000000..9a7bd110 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraLightItalic.7b39e865.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ExtraLightItalic.f0df46d0.woff2 b/lms/public/frontend/assets/Inter-ExtraLightItalic.f0df46d0.woff2 new file mode 100644 index 00000000..8cc15d32 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ExtraLightItalic.f0df46d0.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Italic.950174d1.woff2 b/lms/public/frontend/assets/Inter-Italic.950174d1.woff2 new file mode 100644 index 00000000..deca637d Binary files /dev/null and b/lms/public/frontend/assets/Inter-Italic.950174d1.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Italic.b0b21adf.woff b/lms/public/frontend/assets/Inter-Italic.b0b21adf.woff new file mode 100644 index 00000000..4fdb59dc Binary files /dev/null and b/lms/public/frontend/assets/Inter-Italic.b0b21adf.woff differ diff --git a/lms/public/frontend/assets/Inter-Italic.dd31ea31.woff2 b/lms/public/frontend/assets/Inter-Italic.dd31ea31.woff2 new file mode 100644 index 00000000..ff8c500a Binary files /dev/null and b/lms/public/frontend/assets/Inter-Italic.dd31ea31.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Italic.var.d9f448e3.woff2 b/lms/public/frontend/assets/Inter-Italic.var.d9f448e3.woff2 new file mode 100644 index 00000000..13778e77 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Italic.var.d9f448e3.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Light.211445a8.woff2 b/lms/public/frontend/assets/Inter-Light.211445a8.woff2 new file mode 100644 index 00000000..e96343e9 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Light.211445a8.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Light.319f53ba.woff b/lms/public/frontend/assets/Inter-Light.319f53ba.woff new file mode 100644 index 00000000..42850acc Binary files /dev/null and b/lms/public/frontend/assets/Inter-Light.319f53ba.woff differ diff --git a/lms/public/frontend/assets/Inter-Light.87ed65f8.woff2 b/lms/public/frontend/assets/Inter-Light.87ed65f8.woff2 new file mode 100644 index 00000000..65a7dadd Binary files /dev/null and b/lms/public/frontend/assets/Inter-Light.87ed65f8.woff2 differ diff --git a/lms/public/frontend/assets/Inter-LightItalic.289a60bc.woff b/lms/public/frontend/assets/Inter-LightItalic.289a60bc.woff new file mode 100644 index 00000000..c4ed9a94 Binary files /dev/null and b/lms/public/frontend/assets/Inter-LightItalic.289a60bc.woff differ diff --git a/lms/public/frontend/assets/Inter-LightItalic.5b94e337.woff2 b/lms/public/frontend/assets/Inter-LightItalic.5b94e337.woff2 new file mode 100644 index 00000000..555fc559 Binary files /dev/null and b/lms/public/frontend/assets/Inter-LightItalic.5b94e337.woff2 differ diff --git a/lms/public/frontend/assets/Inter-LightItalic.9ea2db78.woff2 b/lms/public/frontend/assets/Inter-LightItalic.9ea2db78.woff2 new file mode 100644 index 00000000..94c16e96 Binary files /dev/null and b/lms/public/frontend/assets/Inter-LightItalic.9ea2db78.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Medium.24fb6e39.woff2 b/lms/public/frontend/assets/Inter-Medium.24fb6e39.woff2 new file mode 100644 index 00000000..5b47c657 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Medium.24fb6e39.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Medium.a4e1e7e6.woff2 b/lms/public/frontend/assets/Inter-Medium.a4e1e7e6.woff2 new file mode 100644 index 00000000..871ce4ce Binary files /dev/null and b/lms/public/frontend/assets/Inter-Medium.a4e1e7e6.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Medium.f500bbb9.woff b/lms/public/frontend/assets/Inter-Medium.f500bbb9.woff new file mode 100644 index 00000000..495faef7 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Medium.f500bbb9.woff differ diff --git a/lms/public/frontend/assets/Inter-MediumItalic.a2db9bea.woff2 b/lms/public/frontend/assets/Inter-MediumItalic.a2db9bea.woff2 new file mode 100644 index 00000000..6eb3d1bf Binary files /dev/null and b/lms/public/frontend/assets/Inter-MediumItalic.a2db9bea.woff2 differ diff --git a/lms/public/frontend/assets/Inter-MediumItalic.d06751dd.woff b/lms/public/frontend/assets/Inter-MediumItalic.d06751dd.woff new file mode 100644 index 00000000..389c7a2b Binary files /dev/null and b/lms/public/frontend/assets/Inter-MediumItalic.d06751dd.woff differ diff --git a/lms/public/frontend/assets/Inter-MediumItalic.d4a7f5d9.woff2 b/lms/public/frontend/assets/Inter-MediumItalic.d4a7f5d9.woff2 new file mode 100644 index 00000000..aa805799 Binary files /dev/null and b/lms/public/frontend/assets/Inter-MediumItalic.d4a7f5d9.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Regular.b825f1bc.woff b/lms/public/frontend/assets/Inter-Regular.b825f1bc.woff new file mode 100644 index 00000000..fa7715d1 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Regular.b825f1bc.woff differ diff --git a/lms/public/frontend/assets/Inter-Regular.c342b1b7.woff2 b/lms/public/frontend/assets/Inter-Regular.c342b1b7.woff2 new file mode 100644 index 00000000..b52dd0a0 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Regular.c342b1b7.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Regular.edd1deaf.woff2 b/lms/public/frontend/assets/Inter-Regular.edd1deaf.woff2 new file mode 100644 index 00000000..8cc4edd5 Binary files /dev/null and b/lms/public/frontend/assets/Inter-Regular.edd1deaf.woff2 differ diff --git a/lms/public/frontend/assets/Inter-SemiBold.3041a990.woff b/lms/public/frontend/assets/Inter-SemiBold.3041a990.woff new file mode 100644 index 00000000..18d7749f Binary files /dev/null and b/lms/public/frontend/assets/Inter-SemiBold.3041a990.woff differ diff --git a/lms/public/frontend/assets/Inter-SemiBold.51419407.woff2 b/lms/public/frontend/assets/Inter-SemiBold.51419407.woff2 new file mode 100644 index 00000000..ead345ef Binary files /dev/null and b/lms/public/frontend/assets/Inter-SemiBold.51419407.woff2 differ diff --git a/lms/public/frontend/assets/Inter-SemiBold.af44b8a2.woff2 b/lms/public/frontend/assets/Inter-SemiBold.af44b8a2.woff2 new file mode 100644 index 00000000..ece5204a Binary files /dev/null and b/lms/public/frontend/assets/Inter-SemiBold.af44b8a2.woff2 differ diff --git a/lms/public/frontend/assets/Inter-SemiBoldItalic.5ce565c8.woff b/lms/public/frontend/assets/Inter-SemiBoldItalic.5ce565c8.woff new file mode 100644 index 00000000..8ee64396 Binary files /dev/null and b/lms/public/frontend/assets/Inter-SemiBoldItalic.5ce565c8.woff differ diff --git a/lms/public/frontend/assets/Inter-SemiBoldItalic.a4f92da5.woff2 b/lms/public/frontend/assets/Inter-SemiBoldItalic.a4f92da5.woff2 new file mode 100644 index 00000000..b32c0ba3 Binary files /dev/null and b/lms/public/frontend/assets/Inter-SemiBoldItalic.a4f92da5.woff2 differ diff --git a/lms/public/frontend/assets/Inter-SemiBoldItalic.daa7095c.woff2 b/lms/public/frontend/assets/Inter-SemiBoldItalic.daa7095c.woff2 new file mode 100644 index 00000000..30eebe46 Binary files /dev/null and b/lms/public/frontend/assets/Inter-SemiBoldItalic.daa7095c.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Thin.2198e9fb.woff b/lms/public/frontend/assets/Inter-Thin.2198e9fb.woff new file mode 100644 index 00000000..1a22286f Binary files /dev/null and b/lms/public/frontend/assets/Inter-Thin.2198e9fb.woff differ diff --git a/lms/public/frontend/assets/Inter-Thin.914c3fab.woff2 b/lms/public/frontend/assets/Inter-Thin.914c3fab.woff2 new file mode 100644 index 00000000..38422ace Binary files /dev/null and b/lms/public/frontend/assets/Inter-Thin.914c3fab.woff2 differ diff --git a/lms/public/frontend/assets/Inter-Thin.918c5cbe.woff2 b/lms/public/frontend/assets/Inter-Thin.918c5cbe.woff2 new file mode 100644 index 00000000..c56bc7ca Binary files /dev/null and b/lms/public/frontend/assets/Inter-Thin.918c5cbe.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ThinItalic.382fab25.woff2 b/lms/public/frontend/assets/Inter-ThinItalic.382fab25.woff2 new file mode 100644 index 00000000..863057c2 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ThinItalic.382fab25.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ThinItalic.a3279f0a.woff2 b/lms/public/frontend/assets/Inter-ThinItalic.a3279f0a.woff2 new file mode 100644 index 00000000..eca5608c Binary files /dev/null and b/lms/public/frontend/assets/Inter-ThinItalic.a3279f0a.woff2 differ diff --git a/lms/public/frontend/assets/Inter-ThinItalic.f53f21de.woff b/lms/public/frontend/assets/Inter-ThinItalic.f53f21de.woff new file mode 100644 index 00000000..d8ec8373 Binary files /dev/null and b/lms/public/frontend/assets/Inter-ThinItalic.f53f21de.woff differ diff --git a/lms/public/frontend/assets/Inter.var.d30c3bd0.woff2 b/lms/public/frontend/assets/Inter.var.d30c3bd0.woff2 new file mode 100644 index 00000000..039bfbab Binary files /dev/null and b/lms/public/frontend/assets/Inter.var.d30c3bd0.woff2 differ diff --git a/lms/public/frontend/assets/frappe-ui.8966d601.js b/lms/public/frontend/assets/frappe-ui.8966d601.js new file mode 100644 index 00000000..c4dcadde --- /dev/null +++ b/lms/public/frontend/assets/frappe-ui.8966d601.js @@ -0,0 +1,43901 @@ +var $y = Object.defineProperty, + zy = Object.defineProperties; +var Hy = Object.getOwnPropertyDescriptors; +var Ms = Object.getOwnPropertySymbols; +var Hf = Object.prototype.hasOwnProperty, + Ff = Object.prototype.propertyIsEnumerable; +var Xa = (t, e, n) => + e in t + ? $y(t, e, { + enumerable: !0, + configurable: !0, + writable: !0, + value: n, + }) + : (t[e] = n), + W = (t, e) => { + for (var n in e || (e = {})) Hf.call(e, n) && Xa(t, n, e[n]); + if (Ms) for (var n of Ms(e)) Ff.call(e, n) && Xa(t, n, e[n]); + return t; + }, + be = (t, e) => zy(t, Hy(e)); +var Qe = (t, e) => { + var n = {}; + for (var r in t) Hf.call(t, r) && e.indexOf(r) < 0 && (n[r] = t[r]); + if (t != null && Ms) + for (var r of Ms(t)) e.indexOf(r) < 0 && Ff.call(t, r) && (n[r] = t[r]); + return n; +}; +var Za = (t, e, n) => (Xa(t, typeof e != "symbol" ? e + "" : e, n), n); +var cr = (t, e, n) => + new Promise((r, i) => { + var o = (a) => { + try { + l(n.next(a)); + } catch (u) { + i(u); + } + }, + s = (a) => { + try { + l(n.throw(a)); + } catch (u) { + i(u); + } + }, + l = (a) => + a.done ? r(a.value) : Promise.resolve(a.value).then(o, s); + l((n = n.apply(t, e)).next()); + }); +function id(t, e) { + const n = Object.create(null), + r = t.split(","); + for (let i = 0; i < r.length; i++) n[r[i]] = !0; + return e ? (i) => !!n[i.toLowerCase()] : (i) => !!n[i]; +} +const rt = {}, + Li = [], + On = () => {}, + Fy = () => !1, + Vy = /^on[^a-z]/, + va = (t) => Vy.test(t), + od = (t) => t.startsWith("onUpdate:"), + _t = Object.assign, + sd = (t, e) => { + const n = t.indexOf(e); + n > -1 && t.splice(n, 1); + }, + Wy = Object.prototype.hasOwnProperty, + We = (t, e) => Wy.call(t, e), + we = Array.isArray, + Di = (t) => wa(t) === "[object Map]", + jm = (t) => wa(t) === "[object Set]", + Ee = (t) => typeof t == "function", + at = (t) => typeof t == "string", + ba = (t) => typeof t == "symbol", + it = (t) => t !== null && typeof t == "object", + Lm = (t) => (it(t) || Ee(t)) && Ee(t.then) && Ee(t.catch), + Dm = Object.prototype.toString, + wa = (t) => Dm.call(t), + Uy = (t) => wa(t).slice(8, -1), + Im = (t) => wa(t) === "[object Object]", + ld = (t) => + at(t) && t !== "NaN" && t[0] !== "-" && "" + parseInt(t, 10) === t, + il = id( + ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" + ), + xa = (t) => { + const e = Object.create(null); + return (n) => e[n] || (e[n] = t(n)); + }, + Ky = /-(\w)/g, + Jn = xa((t) => t.replace(Ky, (e, n) => (n ? n.toUpperCase() : ""))), + qy = /\B([A-Z])/g, + xi = xa((t) => t.replace(qy, "-$1").toLowerCase()), + ka = xa((t) => t.charAt(0).toUpperCase() + t.slice(1)), + eu = xa((t) => (t ? `on${ka(t)}` : "")), + pi = (t, e) => !Object.is(t, e), + tu = (t, e) => { + for (let n = 0; n < t.length; n++) t[n](e); + }, + yl = (t, e, n) => { + Object.defineProperty(t, e, { + configurable: !0, + enumerable: !1, + value: n, + }); + }, + Jy = (t) => { + const e = parseFloat(t); + return isNaN(e) ? t : e; + }, + Gy = (t) => { + const e = at(t) ? Number(t) : NaN; + return isNaN(e) ? t : e; + }; +let Vf; +const Ju = () => + Vf || + (Vf = + typeof globalThis != "undefined" + ? globalThis + : typeof self != "undefined" + ? self + : typeof window != "undefined" + ? window + : typeof global != "undefined" + ? global + : {}); +function Ir(t) { + if (we(t)) { + const e = {}; + for (let n = 0; n < t.length; n++) { + const r = t[n], + i = at(r) ? Zy(r) : Ir(r); + if (i) for (const o in i) e[o] = i[o]; + } + return e; + } else if (at(t) || it(t)) return t; +} +const Yy = /;(?![^(]*\))/g, + Qy = /:([^]+)/, + Xy = /\/\*[^]*?\*\//g; +function Zy(t) { + const e = {}; + return ( + t + .replace(Xy, "") + .split(Yy) + .forEach((n) => { + if (n) { + const r = n.split(Qy); + r.length > 1 && (e[r[0].trim()] = r[1].trim()); + } + }), + e + ); +} +function ye(t) { + let e = ""; + if (at(t)) e = t; + else if (we(t)) + for (let n = 0; n < t.length; n++) { + const r = ye(t[n]); + r && (e += r + " "); + } + else if (it(t)) for (const n in t) t[n] && (e += n + " "); + return e.trim(); +} +function Dt(t) { + if (!t) return null; + let { class: e, style: n } = t; + return e && !at(e) && (t.class = ye(e)), n && (t.style = Ir(n)), t; +} +const e2 = + "itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly", + t2 = id(e2); +function Bm(t) { + return !!t || t === ""; +} +const Ge = (t) => + at(t) + ? t + : t == null + ? "" + : we(t) || (it(t) && (t.toString === Dm || !Ee(t.toString))) + ? JSON.stringify(t, $m, 2) + : String(t), + $m = (t, e) => + e && e.__v_isRef + ? $m(t, e.value) + : Di(e) + ? { + [`Map(${e.size})`]: [...e.entries()].reduce( + (n, [r, i]) => ((n[`${r} =>`] = i), n), + {} + ), + } + : jm(e) + ? { [`Set(${e.size})`]: [...e.values()] } + : it(e) && !we(e) && !Im(e) + ? String(e) + : e; +let rn; +class n2 { + constructor(e = !1) { + (this.detached = e), + (this._active = !0), + (this.effects = []), + (this.cleanups = []), + (this.parent = rn), + !e && + rn && + (this.index = (rn.scopes || (rn.scopes = [])).push(this) - 1); + } + get active() { + return this._active; + } + run(e) { + if (this._active) { + const n = rn; + try { + return (rn = this), e(); + } finally { + rn = n; + } + } + } + on() { + rn = this; + } + off() { + rn = this.parent; + } + stop(e) { + if (this._active) { + let n, r; + for (n = 0, r = this.effects.length; n < r; n++) + this.effects[n].stop(); + for (n = 0, r = this.cleanups.length; n < r; n++) + this.cleanups[n](); + if (this.scopes) + for (n = 0, r = this.scopes.length; n < r; n++) + this.scopes[n].stop(!0); + if (!this.detached && this.parent && !e) { + const i = this.parent.scopes.pop(); + i && + i !== this && + ((this.parent.scopes[this.index] = i), + (i.index = this.index)); + } + (this.parent = void 0), (this._active = !1); + } + } +} +function r2(t, e = rn) { + e && e.active && e.effects.push(t); +} +function zm() { + return rn; +} +function i2(t) { + rn && rn.cleanups.push(t); +} +const ad = (t) => { + const e = new Set(t); + return (e.w = 0), (e.n = 0), e; + }, + Hm = (t) => (t.w & jr) > 0, + Fm = (t) => (t.n & jr) > 0, + o2 = ({ deps: t }) => { + if (t.length) for (let e = 0; e < t.length; e++) t[e].w |= jr; + }, + s2 = (t) => { + const { deps: e } = t; + if (e.length) { + let n = 0; + for (let r = 0; r < e.length; r++) { + const i = e[r]; + Hm(i) && !Fm(i) ? i.delete(t) : (e[n++] = i), + (i.w &= ~jr), + (i.n &= ~jr); + } + e.length = n; + } + }, + Gu = new WeakMap(); +let Co = 0, + jr = 1; +const Yu = 30; +let Mn; +const oi = Symbol(""), + Qu = Symbol(""); +class ud { + constructor(e, n = null, r) { + (this.fn = e), + (this.scheduler = n), + (this.active = !0), + (this.deps = []), + (this.parent = void 0), + r2(this, r); + } + run() { + if (!this.active) return this.fn(); + let e = Mn, + n = Tr; + for (; e; ) { + if (e === this) return; + e = e.parent; + } + try { + return ( + (this.parent = Mn), + (Mn = this), + (Tr = !0), + (jr = 1 << ++Co), + Co <= Yu ? o2(this) : Wf(this), + this.fn() + ); + } finally { + Co <= Yu && s2(this), + (jr = 1 << --Co), + (Mn = this.parent), + (Tr = n), + (this.parent = void 0), + this.deferStop && this.stop(); + } + } + stop() { + Mn === this + ? (this.deferStop = !0) + : this.active && + (Wf(this), this.onStop && this.onStop(), (this.active = !1)); + } +} +function Wf(t) { + const { deps: e } = t; + if (e.length) { + for (let n = 0; n < e.length; n++) e[n].delete(t); + e.length = 0; + } +} +let Tr = !0; +const Vm = []; +function io() { + Vm.push(Tr), (Tr = !1); +} +function oo() { + const t = Vm.pop(); + Tr = t === void 0 ? !0 : t; +} +function tn(t, e, n) { + if (Tr && Mn) { + let r = Gu.get(t); + r || Gu.set(t, (r = new Map())); + let i = r.get(n); + i || r.set(n, (i = ad())), Wm(i); + } +} +function Wm(t, e) { + let n = !1; + Co <= Yu ? Fm(t) || ((t.n |= jr), (n = !Hm(t))) : (n = !t.has(Mn)), + n && (t.add(Mn), Mn.deps.push(t)); +} +function or(t, e, n, r, i, o) { + const s = Gu.get(t); + if (!s) return; + let l = []; + if (e === "clear") l = [...s.values()]; + else if (n === "length" && we(t)) { + const a = Number(r); + s.forEach((u, c) => { + (c === "length" || (!ba(c) && c >= a)) && l.push(u); + }); + } else + switch ((n !== void 0 && l.push(s.get(n)), e)) { + case "add": + we(t) + ? ld(n) && l.push(s.get("length")) + : (l.push(s.get(oi)), Di(t) && l.push(s.get(Qu))); + break; + case "delete": + we(t) || (l.push(s.get(oi)), Di(t) && l.push(s.get(Qu))); + break; + case "set": + Di(t) && l.push(s.get(oi)); + break; + } + if (l.length === 1) l[0] && Xu(l[0]); + else { + const a = []; + for (const u of l) u && a.push(...u); + Xu(ad(a)); + } +} +function Xu(t, e) { + const n = we(t) ? t : [...t]; + for (const r of n) r.computed && Uf(r); + for (const r of n) r.computed || Uf(r); +} +function Uf(t, e) { + (t !== Mn || t.allowRecurse) && (t.scheduler ? t.scheduler() : t.run()); +} +const l2 = id("__proto__,__v_isRef,__isVue"), + Um = new Set( + Object.getOwnPropertyNames(Symbol) + .filter((t) => t !== "arguments" && t !== "caller") + .map((t) => Symbol[t]) + .filter(ba) + ), + Kf = a2(); +function a2() { + const t = {}; + return ( + ["includes", "indexOf", "lastIndexOf"].forEach((e) => { + t[e] = function (...n) { + const r = de(this); + for (let o = 0, s = this.length; o < s; o++) + tn(r, "get", o + ""); + const i = r[e](...n); + return i === -1 || i === !1 ? r[e](...n.map(de)) : i; + }; + }), + ["push", "pop", "shift", "unshift", "splice"].forEach((e) => { + t[e] = function (...n) { + io(); + const r = de(this)[e].apply(this, n); + return oo(), r; + }; + }), + t + ); +} +function u2(t) { + const e = de(this); + return tn(e, "has", t), e.hasOwnProperty(t); +} +class Km { + constructor(e = !1, n = !1) { + (this._isReadonly = e), (this._shallow = n); + } + get(e, n, r) { + const i = this._isReadonly, + o = this._shallow; + if (n === "__v_isReactive") return !i; + if (n === "__v_isReadonly") return i; + if (n === "__v_isShallow") return o; + if (n === "__v_raw" && r === (i ? (o ? k2 : Ym) : o ? Gm : Jm).get(e)) + return e; + const s = we(e); + if (!i) { + if (s && We(Kf, n)) return Reflect.get(Kf, n, r); + if (n === "hasOwnProperty") return u2; + } + const l = Reflect.get(e, n, r); + return (ba(n) ? Um.has(n) : l2(n)) || (i || tn(e, "get", n), o) + ? l + : Ht(l) + ? s && ld(n) + ? l + : l.value + : it(l) + ? i + ? Xm(l) + : Sn(l) + : l; + } +} +class qm extends Km { + constructor(e = !1) { + super(!1, e); + } + set(e, n, r, i) { + let o = e[n]; + if (Wi(o) && Ht(o) && !Ht(r)) return !1; + if ( + !this._shallow && + (!vl(r) && !Wi(r) && ((o = de(o)), (r = de(r))), + !we(e) && Ht(o) && !Ht(r)) + ) + return (o.value = r), !0; + const s = we(e) && ld(n) ? Number(n) < e.length : We(e, n), + l = Reflect.set(e, n, r, i); + return ( + e === de(i) && + (s ? pi(r, o) && or(e, "set", n, r) : or(e, "add", n, r)), + l + ); + } + deleteProperty(e, n) { + const r = We(e, n); + e[n]; + const i = Reflect.deleteProperty(e, n); + return i && r && or(e, "delete", n, void 0), i; + } + has(e, n) { + const r = Reflect.has(e, n); + return (!ba(n) || !Um.has(n)) && tn(e, "has", n), r; + } + ownKeys(e) { + return tn(e, "iterate", we(e) ? "length" : oi), Reflect.ownKeys(e); + } +} +class c2 extends Km { + constructor(e = !1) { + super(!0, e); + } + set(e, n) { + return !0; + } + deleteProperty(e, n) { + return !0; + } +} +const d2 = new qm(), + f2 = new c2(), + h2 = new qm(!0), + cd = (t) => t, + Ca = (t) => Reflect.getPrototypeOf(t); +function Es(t, e, n = !1, r = !1) { + t = t.__v_raw; + const i = de(t), + o = de(e); + n || (pi(e, o) && tn(i, "get", e), tn(i, "get", o)); + const { has: s } = Ca(i), + l = r ? cd : n ? hd : Uo; + if (s.call(i, e)) return l(t.get(e)); + if (s.call(i, o)) return l(t.get(o)); + t !== i && t.get(e); +} +function As(t, e = !1) { + const n = this.__v_raw, + r = de(n), + i = de(t); + return ( + e || (pi(t, i) && tn(r, "has", t), tn(r, "has", i)), + t === i ? n.has(t) : n.has(t) || n.has(i) + ); +} +function Ts(t, e = !1) { + return ( + (t = t.__v_raw), + !e && tn(de(t), "iterate", oi), + Reflect.get(t, "size", t) + ); +} +function qf(t) { + t = de(t); + const e = de(this); + return Ca(e).has.call(e, t) || (e.add(t), or(e, "add", t, t)), this; +} +function Jf(t, e) { + e = de(e); + const n = de(this), + { has: r, get: i } = Ca(n); + let o = r.call(n, t); + o || ((t = de(t)), (o = r.call(n, t))); + const s = i.call(n, t); + return ( + n.set(t, e), + o ? pi(e, s) && or(n, "set", t, e) : or(n, "add", t, e), + this + ); +} +function Gf(t) { + const e = de(this), + { has: n, get: r } = Ca(e); + let i = n.call(e, t); + i || ((t = de(t)), (i = n.call(e, t))), r && r.call(e, t); + const o = e.delete(t); + return i && or(e, "delete", t, void 0), o; +} +function Yf() { + const t = de(this), + e = t.size !== 0, + n = t.clear(); + return e && or(t, "clear", void 0, void 0), n; +} +function Os(t, e) { + return function (r, i) { + const o = this, + s = o.__v_raw, + l = de(s), + a = e ? cd : t ? hd : Uo; + return ( + !t && tn(l, "iterate", oi), + s.forEach((u, c) => r.call(i, a(u), a(c), o)) + ); + }; +} +function Rs(t, e, n) { + return function (...r) { + const i = this.__v_raw, + o = de(i), + s = Di(o), + l = t === "entries" || (t === Symbol.iterator && s), + a = t === "keys" && s, + u = i[t](...r), + c = n ? cd : e ? hd : Uo; + return ( + !e && tn(o, "iterate", a ? Qu : oi), + { + next() { + const { value: f, done: h } = u.next(); + return h + ? { value: f, done: h } + : { value: l ? [c(f[0]), c(f[1])] : c(f), done: h }; + }, + [Symbol.iterator]() { + return this; + }, + } + ); + }; +} +function dr(t) { + return function (...e) { + return t === "delete" ? !1 : t === "clear" ? void 0 : this; + }; +} +function p2() { + const t = { + get(o) { + return Es(this, o); + }, + get size() { + return Ts(this); + }, + has: As, + add: qf, + set: Jf, + delete: Gf, + clear: Yf, + forEach: Os(!1, !1), + }, + e = { + get(o) { + return Es(this, o, !1, !0); + }, + get size() { + return Ts(this); + }, + has: As, + add: qf, + set: Jf, + delete: Gf, + clear: Yf, + forEach: Os(!1, !0), + }, + n = { + get(o) { + return Es(this, o, !0); + }, + get size() { + return Ts(this, !0); + }, + has(o) { + return As.call(this, o, !0); + }, + add: dr("add"), + set: dr("set"), + delete: dr("delete"), + clear: dr("clear"), + forEach: Os(!0, !1), + }, + r = { + get(o) { + return Es(this, o, !0, !0); + }, + get size() { + return Ts(this, !0); + }, + has(o) { + return As.call(this, o, !0); + }, + add: dr("add"), + set: dr("set"), + delete: dr("delete"), + clear: dr("clear"), + forEach: Os(!0, !0), + }; + return ( + ["keys", "values", "entries", Symbol.iterator].forEach((o) => { + (t[o] = Rs(o, !1, !1)), + (n[o] = Rs(o, !0, !1)), + (e[o] = Rs(o, !1, !0)), + (r[o] = Rs(o, !0, !0)); + }), + [t, n, e, r] + ); +} +const [m2, g2, y2, v2] = p2(); +function dd(t, e) { + const n = e ? (t ? v2 : y2) : t ? g2 : m2; + return (r, i, o) => + i === "__v_isReactive" + ? !t + : i === "__v_isReadonly" + ? t + : i === "__v_raw" + ? r + : Reflect.get(We(n, i) && i in r ? n : r, i, o); +} +const b2 = { get: dd(!1, !1) }, + w2 = { get: dd(!1, !0) }, + x2 = { get: dd(!0, !1) }, + Jm = new WeakMap(), + Gm = new WeakMap(), + Ym = new WeakMap(), + k2 = new WeakMap(); +function C2(t) { + switch (t) { + case "Object": + case "Array": + return 1; + case "Map": + case "Set": + case "WeakMap": + case "WeakSet": + return 2; + default: + return 0; + } +} +function S2(t) { + return t.__v_skip || !Object.isExtensible(t) ? 0 : C2(Uy(t)); +} +function Sn(t) { + return Wi(t) ? t : fd(t, !1, d2, b2, Jm); +} +function Qm(t) { + return fd(t, !1, h2, w2, Gm); +} +function Xm(t) { + return fd(t, !0, f2, x2, Ym); +} +function fd(t, e, n, r, i) { + if (!it(t) || (t.__v_raw && !(e && t.__v_isReactive))) return t; + const o = i.get(t); + if (o) return o; + const s = S2(t); + if (s === 0) return t; + const l = new Proxy(t, s === 2 ? r : n); + return i.set(t, l), l; +} +function Ii(t) { + return Wi(t) ? Ii(t.__v_raw) : !!(t && t.__v_isReactive); +} +function Wi(t) { + return !!(t && t.__v_isReadonly); +} +function vl(t) { + return !!(t && t.__v_isShallow); +} +function Zm(t) { + return Ii(t) || Wi(t); +} +function de(t) { + const e = t && t.__v_raw; + return e ? de(e) : t; +} +function eg(t) { + return yl(t, "__v_skip", !0), t; +} +const Uo = (t) => (it(t) ? Sn(t) : t), + hd = (t) => (it(t) ? Xm(t) : t); +function tg(t) { + Tr && Mn && ((t = de(t)), Wm(t.dep || (t.dep = ad()))); +} +function ng(t, e) { + t = de(t); + const n = t.dep; + n && Xu(n); +} +function Ht(t) { + return !!(t && t.__v_isRef === !0); +} +function oe(t) { + return ig(t, !1); +} +function rg(t) { + return ig(t, !0); +} +function ig(t, e) { + return Ht(t) ? t : new _2(t, e); +} +class _2 { + constructor(e, n) { + (this.__v_isShallow = n), + (this.dep = void 0), + (this.__v_isRef = !0), + (this._rawValue = n ? e : de(e)), + (this._value = n ? e : Uo(e)); + } + get value() { + return tg(this), this._value; + } + set value(e) { + const n = this.__v_isShallow || vl(e) || Wi(e); + (e = n ? e : de(e)), + pi(e, this._rawValue) && + ((this._rawValue = e), (this._value = n ? e : Uo(e)), ng(this)); + } +} +function ne(t) { + return Ht(t) ? t.value : t; +} +const M2 = { + get: (t, e, n) => ne(Reflect.get(t, e, n)), + set: (t, e, n, r) => { + const i = t[e]; + return Ht(i) && !Ht(n) ? ((i.value = n), !0) : Reflect.set(t, e, n, r); + }, +}; +function og(t) { + return Ii(t) ? t : new Proxy(t, M2); +} +class E2 { + constructor(e, n, r, i) { + (this._setter = n), + (this.dep = void 0), + (this.__v_isRef = !0), + (this.__v_isReadonly = !1), + (this._dirty = !0), + (this.effect = new ud(e, () => { + this._dirty || ((this._dirty = !0), ng(this)); + })), + (this.effect.computed = this), + (this.effect.active = this._cacheable = !i), + (this.__v_isReadonly = r); + } + get value() { + const e = de(this); + return ( + tg(e), + (e._dirty || !e._cacheable) && + ((e._dirty = !1), (e._value = e.effect.run())), + e._value + ); + } + set value(e) { + this._setter(e); + } +} +function Zu(t, e, n = !1) { + let r, i; + const o = Ee(t); + return ( + o ? ((r = t), (i = On)) : ((r = t.get), (i = t.set)), + new E2(r, i, o || !i, n) + ); +} +function Or(t, e, n, r) { + let i; + try { + i = r ? t(...r) : t(); + } catch (o) { + cs(o, e, n); + } + return i; +} +function gn(t, e, n, r) { + if (Ee(t)) { + const o = Or(t, e, n, r); + return ( + o && + Lm(o) && + o.catch((s) => { + cs(s, e, n); + }), + o + ); + } + const i = []; + for (let o = 0; o < t.length; o++) i.push(gn(t[o], e, n, r)); + return i; +} +function cs(t, e, n, r = !0) { + const i = e ? e.vnode : null; + if (e) { + let o = e.parent; + const s = e.proxy, + l = n; + for (; o; ) { + const u = o.ec; + if (u) { + for (let c = 0; c < u.length; c++) + if (u[c](t, s, l) === !1) return; + } + o = o.parent; + } + const a = e.appContext.config.errorHandler; + if (a) { + Or(a, null, 10, [t, s, l]); + return; + } + } + A2(t, n, i, r); +} +function A2(t, e, n, r = !0) { + console.error(t); +} +let Ko = !1, + ec = !1; +const zt = []; +let Vn = 0; +const Bi = []; +let rr = null, + Yr = 0; +const sg = Promise.resolve(); +let pd = null; +function Ct(t) { + const e = pd || sg; + return t ? e.then(this ? t.bind(this) : t) : e; +} +function T2(t) { + let e = Vn + 1, + n = zt.length; + for (; e < n; ) { + const r = (e + n) >>> 1, + i = zt[r], + o = qo(i); + o < t || (o === t && i.pre) ? (e = r + 1) : (n = r); + } + return e; +} +function Sa(t) { + (!zt.length || !zt.includes(t, Ko && t.allowRecurse ? Vn + 1 : Vn)) && + (t.id == null ? zt.push(t) : zt.splice(T2(t.id), 0, t), lg()); +} +function lg() { + !Ko && !ec && ((ec = !0), (pd = sg.then(ug))); +} +function O2(t) { + const e = zt.indexOf(t); + e > Vn && zt.splice(e, 1); +} +function R2(t) { + we(t) + ? Bi.push(...t) + : (!rr || !rr.includes(t, t.allowRecurse ? Yr + 1 : Yr)) && Bi.push(t), + lg(); +} +function Qf(t, e = Ko ? Vn + 1 : 0) { + for (; e < zt.length; e++) { + const n = zt[e]; + n && n.pre && (zt.splice(e, 1), e--, n()); + } +} +function ag(t) { + if (Bi.length) { + const e = [...new Set(Bi)]; + if (((Bi.length = 0), rr)) { + rr.push(...e); + return; + } + for ( + rr = e, rr.sort((n, r) => qo(n) - qo(r)), Yr = 0; + Yr < rr.length; + Yr++ + ) + rr[Yr](); + (rr = null), (Yr = 0); + } +} +const qo = (t) => (t.id == null ? 1 / 0 : t.id), + P2 = (t, e) => { + const n = qo(t) - qo(e); + if (n === 0) { + if (t.pre && !e.pre) return -1; + if (e.pre && !t.pre) return 1; + } + return n; + }; +function ug(t) { + (ec = !1), (Ko = !0), zt.sort(P2); + const e = On; + try { + for (Vn = 0; Vn < zt.length; Vn++) { + const n = zt[Vn]; + n && n.active !== !1 && Or(n, null, 14); + } + } finally { + (Vn = 0), + (zt.length = 0), + ag(), + (Ko = !1), + (pd = null), + (zt.length || Bi.length) && ug(); + } +} +function N2(t, e, ...n) { + if (t.isUnmounted) return; + const r = t.vnode.props || rt; + let i = n; + const o = e.startsWith("update:"), + s = o && e.slice(7); + if (s && s in r) { + const c = `${s === "modelValue" ? "model" : s}Modifiers`, + { number: f, trim: h } = r[c] || rt; + h && (i = n.map((p) => (at(p) ? p.trim() : p))), f && (i = n.map(Jy)); + } + let l, + a = r[(l = eu(e))] || r[(l = eu(Jn(e)))]; + !a && o && (a = r[(l = eu(xi(e)))]), a && gn(a, t, 6, i); + const u = r[l + "Once"]; + if (u) { + if (!t.emitted) t.emitted = {}; + else if (t.emitted[l]) return; + (t.emitted[l] = !0), gn(u, t, 6, i); + } +} +function cg(t, e, n = !1) { + const r = e.emitsCache, + i = r.get(t); + if (i !== void 0) return i; + const o = t.emits; + let s = {}, + l = !1; + if (!Ee(t)) { + const a = (u) => { + const c = cg(u, e, !0); + c && ((l = !0), _t(s, c)); + }; + !n && e.mixins.length && e.mixins.forEach(a), + t.extends && a(t.extends), + t.mixins && t.mixins.forEach(a); + } + return !o && !l + ? (it(t) && r.set(t, null), null) + : (we(o) ? o.forEach((a) => (s[a] = null)) : _t(s, o), + it(t) && r.set(t, s), + s); +} +function _a(t, e) { + return !t || !va(e) + ? !1 + : ((e = e.slice(2).replace(/Once$/, "")), + We(t, e[0].toLowerCase() + e.slice(1)) || We(t, xi(e)) || We(t, e)); +} +let It = null, + dg = null; +function bl(t) { + const e = It; + return (It = t), (dg = (t && t.type.__scopeId) || null), e; +} +function Te(t, e = It, n) { + if (!e || t._n) return t; + const r = (...i) => { + r._d && ch(-1); + const o = bl(e); + let s; + try { + s = t(...i); + } finally { + bl(o), r._d && ch(1); + } + return s; + }; + return (r._n = !0), (r._c = !0), (r._d = !0), r; +} +function nu(t) { + const { + type: e, + vnode: n, + proxy: r, + withProxy: i, + props: o, + propsOptions: [s], + slots: l, + attrs: a, + emit: u, + render: c, + renderCache: f, + data: h, + setupState: p, + ctx: g, + inheritAttrs: v, + } = t; + let b, x; + const S = bl(t); + try { + if (n.shapeFlag & 4) { + const d = i || r, + y = d; + (b = Hn(c.call(y, d, f, o, p, h, g))), (x = a); + } else { + const d = e; + (b = Hn( + d.length > 1 + ? d(o, { attrs: a, slots: l, emit: u }) + : d(o, null) + )), + (x = e.props ? a : j2(a)); + } + } catch (d) { + (Po.length = 0), cs(d, t, 1), (b = Me(yn)); + } + let T = b; + if (x && v !== !1) { + const d = Object.keys(x), + { shapeFlag: y } = T; + d.length && + y & 7 && + (s && d.some(od) && (x = L2(x, s)), (T = sr(T, x))); + } + return ( + n.dirs && + ((T = sr(T)), (T.dirs = T.dirs ? T.dirs.concat(n.dirs) : n.dirs)), + n.transition && (T.transition = n.transition), + (b = T), + bl(S), + b + ); +} +const j2 = (t) => { + let e; + for (const n in t) + (n === "class" || n === "style" || va(n)) && + ((e || (e = {}))[n] = t[n]); + return e; + }, + L2 = (t, e) => { + const n = {}; + for (const r in t) (!od(r) || !(r.slice(9) in e)) && (n[r] = t[r]); + return n; + }; +function D2(t, e, n) { + const { props: r, children: i, component: o } = t, + { props: s, children: l, patchFlag: a } = e, + u = o.emitsOptions; + if (e.dirs || e.transition) return !0; + if (n && a >= 0) { + if (a & 1024) return !0; + if (a & 16) return r ? Xf(r, s, u) : !!s; + if (a & 8) { + const c = e.dynamicProps; + for (let f = 0; f < c.length; f++) { + const h = c[f]; + if (s[h] !== r[h] && !_a(u, h)) return !0; + } + } + } else + return (i || l) && (!l || !l.$stable) + ? !0 + : r === s + ? !1 + : r + ? s + ? Xf(r, s, u) + : !0 + : !!s; + return !1; +} +function Xf(t, e, n) { + const r = Object.keys(e); + if (r.length !== Object.keys(t).length) return !0; + for (let i = 0; i < r.length; i++) { + const o = r[i]; + if (e[o] !== t[o] && !_a(n, o)) return !0; + } + return !1; +} +function I2({ vnode: t, parent: e }, n) { + for (; e && e.subTree === t; ) ((t = e.vnode).el = n), (e = e.parent); +} +const md = "components"; +function ft(t, e) { + return hg(md, t, !0, e) || t; +} +const fg = Symbol.for("v-ndc"); +function mi(t) { + return at(t) ? hg(md, t, !1) || t : t || fg; +} +function hg(t, e, n = !0, r = !1) { + const i = It || St; + if (i) { + const o = i.type; + if (t === md) { + const l = Av(o, !1); + if (l && (l === e || l === Jn(e) || l === ka(Jn(e)))) return o; + } + const s = Zf(i[t] || o[t], e) || Zf(i.appContext[t], e); + return !s && r ? o : s; + } +} +function Zf(t, e) { + return t && (t[e] || t[Jn(e)] || t[ka(Jn(e))]); +} +const B2 = (t) => t.__isSuspense; +function $2(t, e) { + e && e.pendingBranch + ? we(t) + ? e.effects.push(...t) + : e.effects.push(t) + : R2(t); +} +function Mt(t, e) { + return gd(t, null, e); +} +const Ps = {}; +function Rt(t, e, n) { + return gd(t, e, n); +} +function gd( + t, + e, + { immediate: n, deep: r, flush: i, onTrack: o, onTrigger: s } = rt +) { + var l; + const a = zm() === ((l = St) == null ? void 0 : l.scope) ? St : null; + let u, + c = !1, + f = !1; + if ( + (Ht(t) + ? ((u = () => t.value), (c = vl(t))) + : Ii(t) + ? ((u = () => t), (r = !0)) + : we(t) + ? ((f = !0), + (c = t.some((d) => Ii(d) || vl(d))), + (u = () => + t.map((d) => { + if (Ht(d)) return d.value; + if (Ii(d)) return ti(d); + if (Ee(d)) return Or(d, a, 2); + }))) + : Ee(t) + ? e + ? (u = () => Or(t, a, 2)) + : (u = () => { + if (!(a && a.isUnmounted)) + return h && h(), gn(t, a, 3, [p]); + }) + : (u = On), + e && r) + ) { + const d = u; + u = () => ti(d()); + } + let h, + p = (d) => { + h = S.onStop = () => { + Or(d, a, 4), (h = S.onStop = void 0); + }; + }, + g; + if (Ki) + if ( + ((p = On), + e ? n && gn(e, a, 3, [u(), f ? [] : void 0, p]) : u(), + i === "sync") + ) { + const d = Rv(); + g = d.__watcherHandles || (d.__watcherHandles = []); + } else return On; + let v = f ? new Array(t.length).fill(Ps) : Ps; + const b = () => { + if (!!S.active) + if (e) { + const d = S.run(); + (r || c || (f ? d.some((y, m) => pi(y, v[m])) : pi(d, v))) && + (h && h(), + gn(e, a, 3, [ + d, + v === Ps ? void 0 : f && v[0] === Ps ? [] : v, + p, + ]), + (v = d)); + } else S.run(); + }; + b.allowRecurse = !!e; + let x; + i === "sync" + ? (x = b) + : i === "post" + ? (x = () => Gt(b, a && a.suspense)) + : ((b.pre = !0), a && (b.id = a.uid), (x = () => Sa(b))); + const S = new ud(u, x); + e + ? n + ? b() + : (v = S.run()) + : i === "post" + ? Gt(S.run.bind(S), a && a.suspense) + : S.run(); + const T = () => { + S.stop(), a && a.scope && sd(a.scope.effects, S); + }; + return g && g.push(T), T; +} +function z2(t, e, n) { + const r = this.proxy, + i = at(t) ? (t.includes(".") ? pg(r, t) : () => r[t]) : t.bind(r, r); + let o; + Ee(e) ? (o = e) : ((o = e.handler), (n = e)); + const s = St; + Ui(this); + const l = gd(i, o.bind(r), n); + return s ? Ui(s) : si(), l; +} +function pg(t, e) { + const n = e.split("."); + return () => { + let r = t; + for (let i = 0; i < n.length && r; i++) r = r[n[i]]; + return r; + }; +} +function ti(t, e) { + if (!it(t) || t.__v_skip || ((e = e || new Set()), e.has(t))) return t; + if ((e.add(t), Ht(t))) ti(t.value, e); + else if (we(t)) for (let n = 0; n < t.length; n++) ti(t[n], e); + else if (jm(t) || Di(t)) + t.forEach((n) => { + ti(n, e); + }); + else if (Im(t)) for (const n in t) ti(t[n], e); + return t; +} +function tc(t, e) { + const n = It; + if (n === null) return t; + const r = Ta(n) || n.proxy, + i = t.dirs || (t.dirs = []); + for (let o = 0; o < e.length; o++) { + let [s, l, a, u = rt] = e[o]; + s && + (Ee(s) && (s = { mounted: s, updated: s }), + s.deep && ti(l), + i.push({ + dir: s, + instance: r, + value: l, + oldValue: void 0, + arg: a, + modifiers: u, + })); + } + return t; +} +function Wr(t, e, n, r) { + const i = t.dirs, + o = e && e.dirs; + for (let s = 0; s < i.length; s++) { + const l = i[s]; + o && (l.oldValue = o[s].value); + let a = l.dir[r]; + a && (io(), gn(a, n, 8, [t.el, l, t, e]), oo()); + } +} +const gr = Symbol("_leaveCb"), + Ns = Symbol("_enterCb"); +function H2() { + const t = { + isMounted: !1, + isLeaving: !1, + isUnmounting: !1, + leavingVNodes: new Map(), + }; + return ( + Ye(() => { + t.isMounted = !0; + }), + fs(() => { + t.isUnmounting = !0; + }), + t + ); +} +const cn = [Function, Array], + mg = { + mode: String, + appear: Boolean, + persisted: Boolean, + onBeforeEnter: cn, + onEnter: cn, + onAfterEnter: cn, + onEnterCancelled: cn, + onBeforeLeave: cn, + onLeave: cn, + onAfterLeave: cn, + onLeaveCancelled: cn, + onBeforeAppear: cn, + onAppear: cn, + onAfterAppear: cn, + onAppearCancelled: cn, + }, + F2 = { + name: "BaseTransition", + props: mg, + setup(t, { slots: e }) { + const n = ps(), + r = H2(); + let i; + return () => { + const o = e.default && yg(e.default(), !0); + if (!o || !o.length) return; + let s = o[0]; + if (o.length > 1) { + for (const v of o) + if (v.type !== yn) { + s = v; + break; + } + } + const l = de(t), + { mode: a } = l; + if (r.isLeaving) return ru(s); + const u = eh(s); + if (!u) return ru(s); + const c = nc(u, l, r, n); + rc(u, c); + const f = n.subTree, + h = f && eh(f); + let p = !1; + const { getTransitionKey: g } = u.type; + if (g) { + const v = g(); + i === void 0 ? (i = v) : v !== i && ((i = v), (p = !0)); + } + if (h && h.type !== yn && (!Qr(u, h) || p)) { + const v = nc(h, l, r, n); + if ((rc(h, v), a === "out-in")) + return ( + (r.isLeaving = !0), + (v.afterLeave = () => { + (r.isLeaving = !1), + n.update.active !== !1 && n.update(); + }), + ru(s) + ); + a === "in-out" && + u.type !== yn && + (v.delayLeave = (b, x, S) => { + const T = gg(r, h); + (T[String(h.key)] = h), + (b[gr] = () => { + x(), + (b[gr] = void 0), + delete c.delayedLeave; + }), + (c.delayedLeave = S); + }); + } + return s; + }; + }, + }, + V2 = F2; +function gg(t, e) { + const { leavingVNodes: n } = t; + let r = n.get(e.type); + return r || ((r = Object.create(null)), n.set(e.type, r)), r; +} +function nc(t, e, n, r) { + const { + appear: i, + mode: o, + persisted: s = !1, + onBeforeEnter: l, + onEnter: a, + onAfterEnter: u, + onEnterCancelled: c, + onBeforeLeave: f, + onLeave: h, + onAfterLeave: p, + onLeaveCancelled: g, + onBeforeAppear: v, + onAppear: b, + onAfterAppear: x, + onAppearCancelled: S, + } = e, + T = String(t.key), + d = gg(n, t), + y = (k, _) => { + k && gn(k, r, 9, _); + }, + m = (k, _) => { + const C = _[1]; + y(k, _), + we(k) + ? k.every((E) => E.length <= 1) && C() + : k.length <= 1 && C(); + }, + w = { + mode: o, + persisted: s, + beforeEnter(k) { + let _ = l; + if (!n.isMounted) + if (i) _ = v || l; + else return; + k[gr] && k[gr](!0); + const C = d[T]; + C && Qr(t, C) && C.el[gr] && C.el[gr](), y(_, [k]); + }, + enter(k) { + let _ = a, + C = u, + E = c; + if (!n.isMounted) + if (i) (_ = b || a), (C = x || u), (E = S || c); + else return; + let R = !1; + const P = (k[Ns] = (L) => { + R || + ((R = !0), + L ? y(E, [k]) : y(C, [k]), + w.delayedLeave && w.delayedLeave(), + (k[Ns] = void 0)); + }); + _ ? m(_, [k, P]) : P(); + }, + leave(k, _) { + const C = String(t.key); + if ((k[Ns] && k[Ns](!0), n.isUnmounting)) return _(); + y(f, [k]); + let E = !1; + const R = (k[gr] = (P) => { + E || + ((E = !0), + _(), + P ? y(g, [k]) : y(p, [k]), + (k[gr] = void 0), + d[C] === t && delete d[C]); + }); + (d[C] = t), h ? m(h, [k, R]) : R(); + }, + clone(k) { + return nc(k, e, n, r); + }, + }; + return w; +} +function ru(t) { + if (ds(t)) return (t = sr(t)), (t.children = null), t; +} +function eh(t) { + return ds(t) ? (t.children ? t.children[0] : void 0) : t; +} +function rc(t, e) { + t.shapeFlag & 6 && t.component + ? rc(t.component.subTree, e) + : t.shapeFlag & 128 + ? ((t.ssContent.transition = e.clone(t.ssContent)), + (t.ssFallback.transition = e.clone(t.ssFallback))) + : (t.transition = e); +} +function yg(t, e = !1, n) { + let r = [], + i = 0; + for (let o = 0; o < t.length; o++) { + let s = t[o]; + const l = + n == null ? s.key : String(n) + String(s.key != null ? s.key : o); + s.type === He + ? (s.patchFlag & 128 && i++, (r = r.concat(yg(s.children, e, l)))) + : (e || s.type !== yn) && r.push(l != null ? sr(s, { key: l }) : s); + } + if (i > 1) for (let o = 0; o < r.length; o++) r[o].patchFlag = -2; + return r; +} +/*! #__NO_SIDE_EFFECTS__ */ function xe(t, e) { + return Ee(t) ? (() => _t({ name: t.name }, e, { setup: t }))() : t; +} +const To = (t) => !!t.type.__asyncLoader; +/*! #__NO_SIDE_EFFECTS__ */ function js(t) { + Ee(t) && (t = { loader: t }); + const { + loader: e, + loadingComponent: n, + errorComponent: r, + delay: i = 200, + timeout: o, + suspensible: s = !0, + onError: l, + } = t; + let a = null, + u, + c = 0; + const f = () => (c++, (a = null), h()), + h = () => { + let p; + return ( + a || + (p = a = + e() + .catch((g) => { + if ( + ((g = + g instanceof Error + ? g + : new Error(String(g))), + l) + ) + return new Promise((v, b) => { + l( + g, + () => v(f()), + () => b(g), + c + 1 + ); + }); + throw g; + }) + .then((g) => + p !== a && a + ? a + : (g && + (g.__esModule || + g[Symbol.toStringTag] === + "Module") && + (g = g.default), + (u = g), + g) + )) + ); + }; + return xe({ + name: "AsyncComponentWrapper", + __asyncLoader: h, + get __asyncResolved() { + return u; + }, + setup() { + const p = St; + if (u) return () => iu(u, p); + const g = (S) => { + (a = null), cs(S, p, 13, !r); + }; + if ((s && p.suspense) || Ki) + return h() + .then((S) => () => iu(S, p)) + .catch( + (S) => (g(S), () => (r ? Me(r, { error: S }) : null)) + ); + const v = oe(!1), + b = oe(), + x = oe(!!i); + return ( + i && + setTimeout(() => { + x.value = !1; + }, i), + o != null && + setTimeout(() => { + if (!v.value && !b.value) { + const S = new Error( + `Async component timed out after ${o}ms.` + ); + g(S), (b.value = S); + } + }, o), + h() + .then(() => { + (v.value = !0), + p.parent && + ds(p.parent.vnode) && + Sa(p.parent.update); + }) + .catch((S) => { + g(S), (b.value = S); + }), + () => { + if (v.value && u) return iu(u, p); + if (b.value && r) return Me(r, { error: b.value }); + if (n && !x.value) return Me(n); + } + ); + }, + }); +} +function iu(t, e) { + const { ref: n, props: r, children: i, ce: o } = e.vnode, + s = Me(t, r, i); + return (s.ref = n), (s.ce = o), delete e.vnode.ce, s; +} +const ds = (t) => t.type.__isKeepAlive; +function W2(t, e) { + vg(t, "a", e); +} +function U2(t, e) { + vg(t, "da", e); +} +function vg(t, e, n = St) { + const r = + t.__wdc || + (t.__wdc = () => { + let i = n; + for (; i; ) { + if (i.isDeactivated) return; + i = i.parent; + } + return t(); + }); + if ((Ma(e, r, n), n)) { + let i = n.parent; + for (; i && i.parent; ) + ds(i.parent.vnode) && K2(r, e, n, i), (i = i.parent); + } +} +function K2(t, e, n, r) { + const i = Ma(e, t, r, !0); + Bt(() => { + sd(r[e], i); + }, n); +} +function Ma(t, e, n = St, r = !1) { + if (n) { + const i = n[t] || (n[t] = []), + o = + e.__weh || + (e.__weh = (...s) => { + if (n.isUnmounted) return; + io(), Ui(n); + const l = gn(e, n, t, s); + return si(), oo(), l; + }); + return r ? i.unshift(o) : i.push(o), o; + } +} +const ar = + (t) => + (e, n = St) => + (!Ki || t === "sp") && Ma(t, (...r) => e(...r), n), + q2 = ar("bm"), + Ye = ar("m"), + J2 = ar("bu"), + G2 = ar("u"), + fs = ar("bum"), + Bt = ar("um"), + Y2 = ar("sp"), + Q2 = ar("rtg"), + X2 = ar("rtc"); +function Z2(t, e = St) { + Ma("ec", t, e); +} +function wn(t, e, n, r) { + let i; + const o = n && n[r]; + if (we(t) || at(t)) { + i = new Array(t.length); + for (let s = 0, l = t.length; s < l; s++) + i[s] = e(t[s], s, void 0, o && o[s]); + } else if (typeof t == "number") { + i = new Array(t); + for (let s = 0; s < t; s++) i[s] = e(s + 1, s, void 0, o && o[s]); + } else if (it(t)) + if (t[Symbol.iterator]) + i = Array.from(t, (s, l) => e(s, l, void 0, o && o[l])); + else { + const s = Object.keys(t); + i = new Array(s.length); + for (let l = 0, a = s.length; l < a; l++) { + const u = s[l]; + i[l] = e(t[u], u, l, o && o[l]); + } + } + else i = []; + return n && (n[r] = i), i; +} +function ou(t, e) { + for (let n = 0; n < e.length; n++) { + const r = e[n]; + if (we(r)) for (let i = 0; i < r.length; i++) t[r[i].name] = r[i].fn; + else + r && + (t[r.name] = r.key + ? (...i) => { + const o = r.fn(...i); + return o && (o.key = r.key), o; + } + : r.fn); + } + return t; +} +function _e(t, e, n = {}, r, i) { + if (It.isCE || (It.parent && To(It.parent) && It.parent.isCE)) + return e !== "default" && (n.name = e), Me("slot", n, r && r()); + let o = t[e]; + o && o._c && (o._d = !1), B(); + const s = o && bg(o(n)), + l = Be( + He, + { key: n.key || (s && s.key) || `_${e}` }, + s || (r ? r() : []), + s && t._ === 1 ? 64 : -2 + ); + return ( + !i && l.scopeId && (l.slotScopeIds = [l.scopeId + "-s"]), + o && o._c && (o._d = !0), + l + ); +} +function bg(t) { + return t.some((e) => + kl(e) ? !(e.type === yn || (e.type === He && !bg(e.children))) : !0 + ) + ? t + : null; +} +const ic = (t) => (t ? (Rg(t) ? Ta(t) || t.proxy : ic(t.parent)) : null), + Oo = _t(Object.create(null), { + $: (t) => t, + $el: (t) => t.vnode.el, + $data: (t) => t.data, + $props: (t) => t.props, + $attrs: (t) => t.attrs, + $slots: (t) => t.slots, + $refs: (t) => t.refs, + $parent: (t) => ic(t.parent), + $root: (t) => ic(t.root), + $emit: (t) => t.emit, + $options: (t) => vd(t), + $forceUpdate: (t) => t.f || (t.f = () => Sa(t.update)), + $nextTick: (t) => t.n || (t.n = Ct.bind(t.proxy)), + $watch: (t) => z2.bind(t), + }), + su = (t, e) => t !== rt && !t.__isScriptSetup && We(t, e), + ev = { + get({ _: t }, e) { + const { + ctx: n, + setupState: r, + data: i, + props: o, + accessCache: s, + type: l, + appContext: a, + } = t; + let u; + if (e[0] !== "$") { + const p = s[e]; + if (p !== void 0) + switch (p) { + case 1: + return r[e]; + case 2: + return i[e]; + case 4: + return n[e]; + case 3: + return o[e]; + } + else { + if (su(r, e)) return (s[e] = 1), r[e]; + if (i !== rt && We(i, e)) return (s[e] = 2), i[e]; + if ((u = t.propsOptions[0]) && We(u, e)) + return (s[e] = 3), o[e]; + if (n !== rt && We(n, e)) return (s[e] = 4), n[e]; + oc && (s[e] = 0); + } + } + const c = Oo[e]; + let f, h; + if (c) return e === "$attrs" && tn(t, "get", e), c(t); + if ((f = l.__cssModules) && (f = f[e])) return f; + if (n !== rt && We(n, e)) return (s[e] = 4), n[e]; + if (((h = a.config.globalProperties), We(h, e))) return h[e]; + }, + set({ _: t }, e, n) { + const { data: r, setupState: i, ctx: o } = t; + return su(i, e) + ? ((i[e] = n), !0) + : r !== rt && We(r, e) + ? ((r[e] = n), !0) + : We(t.props, e) || (e[0] === "$" && e.slice(1) in t) + ? !1 + : ((o[e] = n), !0); + }, + has( + { + _: { + data: t, + setupState: e, + accessCache: n, + ctx: r, + appContext: i, + propsOptions: o, + }, + }, + s + ) { + let l; + return ( + !!n[s] || + (t !== rt && We(t, s)) || + su(e, s) || + ((l = o[0]) && We(l, s)) || + We(r, s) || + We(Oo, s) || + We(i.config.globalProperties, s) + ); + }, + defineProperty(t, e, n) { + return ( + n.get != null + ? (t._.accessCache[e] = 0) + : We(n, "value") && this.set(t, e, n.value, null), + Reflect.defineProperty(t, e, n) + ); + }, + }; +function yd() { + return wg().slots; +} +function hs() { + return wg().attrs; +} +function wg() { + const t = ps(); + return t.setupContext || (t.setupContext = Ng(t)); +} +function th(t) { + return we(t) ? t.reduce((e, n) => ((e[n] = null), e), {}) : t; +} +let oc = !0; +function tv(t) { + const e = vd(t), + n = t.proxy, + r = t.ctx; + (oc = !1), e.beforeCreate && nh(e.beforeCreate, t, "bc"); + const { + data: i, + computed: o, + methods: s, + watch: l, + provide: a, + inject: u, + created: c, + beforeMount: f, + mounted: h, + beforeUpdate: p, + updated: g, + activated: v, + deactivated: b, + beforeDestroy: x, + beforeUnmount: S, + destroyed: T, + unmounted: d, + render: y, + renderTracked: m, + renderTriggered: w, + errorCaptured: k, + serverPrefetch: _, + expose: C, + inheritAttrs: E, + components: R, + directives: P, + filters: L, + } = e; + if ((u && nv(u, r, null), s)) + for (const N in s) { + const D = s[N]; + Ee(D) && (r[N] = D.bind(n)); + } + if (i) { + const N = i.call(n, n); + it(N) && (t.data = Sn(N)); + } + if (((oc = !0), o)) + for (const N in o) { + const D = o[N], + K = Ee(D) ? D.bind(n, n) : Ee(D.get) ? D.get.bind(n, n) : On, + ae = !Ee(D) && Ee(D.set) ? D.set.bind(n) : On, + Q = $({ get: K, set: ae }); + Object.defineProperty(r, N, { + enumerable: !0, + configurable: !0, + get: () => Q.value, + set: (me) => (Q.value = me), + }); + } + if (l) for (const N in l) xg(l[N], r, n, N); + if (a) { + const N = Ee(a) ? a.call(n) : a; + Reflect.ownKeys(N).forEach((D) => { + kt(D, N[D]); + }); + } + c && nh(c, t, "c"); + function M(N, D) { + we(D) ? D.forEach((K) => N(K.bind(n))) : D && N(D.bind(n)); + } + if ( + (M(q2, f), + M(Ye, h), + M(J2, p), + M(G2, g), + M(W2, v), + M(U2, b), + M(Z2, k), + M(X2, m), + M(Q2, w), + M(fs, S), + M(Bt, d), + M(Y2, _), + we(C)) + ) + if (C.length) { + const N = t.exposed || (t.exposed = {}); + C.forEach((D) => { + Object.defineProperty(N, D, { + get: () => n[D], + set: (K) => (n[D] = K), + }); + }); + } else t.exposed || (t.exposed = {}); + y && t.render === On && (t.render = y), + E != null && (t.inheritAttrs = E), + R && (t.components = R), + P && (t.directives = P); +} +function nv(t, e, n = On) { + we(t) && (t = sc(t)); + for (const r in t) { + const i = t[r]; + let o; + it(i) + ? "default" in i + ? (o = qe(i.from || r, i.default, !0)) + : (o = qe(i.from || r)) + : (o = qe(i)), + Ht(o) + ? Object.defineProperty(e, r, { + enumerable: !0, + configurable: !0, + get: () => o.value, + set: (s) => (o.value = s), + }) + : (e[r] = o); + } +} +function nh(t, e, n) { + gn(we(t) ? t.map((r) => r.bind(e.proxy)) : t.bind(e.proxy), e, n); +} +function xg(t, e, n, r) { + const i = r.includes(".") ? pg(n, r) : () => n[r]; + if (at(t)) { + const o = e[t]; + Ee(o) && Rt(i, o); + } else if (Ee(t)) Rt(i, t.bind(n)); + else if (it(t)) + if (we(t)) t.forEach((o) => xg(o, e, n, r)); + else { + const o = Ee(t.handler) ? t.handler.bind(n) : e[t.handler]; + Ee(o) && Rt(i, o, t); + } +} +function vd(t) { + const e = t.type, + { mixins: n, extends: r } = e, + { + mixins: i, + optionsCache: o, + config: { optionMergeStrategies: s }, + } = t.appContext, + l = o.get(e); + let a; + return ( + l + ? (a = l) + : !i.length && !n && !r + ? (a = e) + : ((a = {}), + i.length && i.forEach((u) => wl(a, u, s, !0)), + wl(a, e, s)), + it(e) && o.set(e, a), + a + ); +} +function wl(t, e, n, r = !1) { + const { mixins: i, extends: o } = e; + o && wl(t, o, n, !0), i && i.forEach((s) => wl(t, s, n, !0)); + for (const s in e) + if (!(r && s === "expose")) { + const l = rv[s] || (n && n[s]); + t[s] = l ? l(t[s], e[s]) : e[s]; + } + return t; +} +const rv = { + data: rh, + props: ih, + emits: ih, + methods: So, + computed: So, + beforeCreate: Kt, + created: Kt, + beforeMount: Kt, + mounted: Kt, + beforeUpdate: Kt, + updated: Kt, + beforeDestroy: Kt, + beforeUnmount: Kt, + destroyed: Kt, + unmounted: Kt, + activated: Kt, + deactivated: Kt, + errorCaptured: Kt, + serverPrefetch: Kt, + components: So, + directives: So, + watch: ov, + provide: rh, + inject: iv, +}; +function rh(t, e) { + return e + ? t + ? function () { + return _t( + Ee(t) ? t.call(this, this) : t, + Ee(e) ? e.call(this, this) : e + ); + } + : e + : t; +} +function iv(t, e) { + return So(sc(t), sc(e)); +} +function sc(t) { + if (we(t)) { + const e = {}; + for (let n = 0; n < t.length; n++) e[t[n]] = t[n]; + return e; + } + return t; +} +function Kt(t, e) { + return t ? [...new Set([].concat(t, e))] : e; +} +function So(t, e) { + return t ? _t(Object.create(null), t, e) : e; +} +function ih(t, e) { + return t + ? we(t) && we(e) + ? [...new Set([...t, ...e])] + : _t(Object.create(null), th(t), th(e != null ? e : {})) + : e; +} +function ov(t, e) { + if (!t) return e; + if (!e) return t; + const n = _t(Object.create(null), t); + for (const r in e) n[r] = Kt(t[r], e[r]); + return n; +} +function kg() { + return { + app: null, + config: { + isNativeTag: Fy, + performance: !1, + globalProperties: {}, + optionMergeStrategies: {}, + errorHandler: void 0, + warnHandler: void 0, + compilerOptions: {}, + }, + mixins: [], + components: {}, + directives: {}, + provides: Object.create(null), + optionsCache: new WeakMap(), + propsCache: new WeakMap(), + emitsCache: new WeakMap(), + }; +} +let sv = 0; +function lv(t, e) { + return function (r, i = null) { + Ee(r) || (r = _t({}, r)), i != null && !it(i) && (i = null); + const o = kg(), + s = new WeakSet(); + let l = !1; + const a = (o.app = { + _uid: sv++, + _component: r, + _props: i, + _container: null, + _context: o, + _instance: null, + version: Pv, + get config() { + return o.config; + }, + set config(u) {}, + use(u, ...c) { + return ( + s.has(u) || + (u && Ee(u.install) + ? (s.add(u), u.install(a, ...c)) + : Ee(u) && (s.add(u), u(a, ...c))), + a + ); + }, + mixin(u) { + return o.mixins.includes(u) || o.mixins.push(u), a; + }, + component(u, c) { + return c ? ((o.components[u] = c), a) : o.components[u]; + }, + directive(u, c) { + return c ? ((o.directives[u] = c), a) : o.directives[u]; + }, + mount(u, c, f) { + if (!l) { + const h = Me(r, i); + return ( + (h.appContext = o), + c && e ? e(h, u) : t(h, u, f), + (l = !0), + (a._container = u), + (u.__vue_app__ = a), + Ta(h.component) || h.component.proxy + ); + } + }, + unmount() { + l && (t(null, a._container), delete a._container.__vue_app__); + }, + provide(u, c) { + return (o.provides[u] = c), a; + }, + runWithContext(u) { + xl = a; + try { + return u(); + } finally { + xl = null; + } + }, + }); + return a; + }; +} +let xl = null; +function kt(t, e) { + if (St) { + let n = St.provides; + const r = St.parent && St.parent.provides; + r === n && (n = St.provides = Object.create(r)), (n[t] = e); + } +} +function qe(t, e, n = !1) { + const r = St || It; + if (r || xl) { + const i = r + ? r.parent == null + ? r.vnode.appContext && r.vnode.appContext.provides + : r.parent.provides + : xl._context.provides; + if (i && t in i) return i[t]; + if (arguments.length > 1) return n && Ee(e) ? e.call(r && r.proxy) : e; + } +} +function av(t, e, n, r = !1) { + const i = {}, + o = {}; + yl(o, Aa, 1), (t.propsDefaults = Object.create(null)), Cg(t, e, i, o); + for (const s in t.propsOptions[0]) s in i || (i[s] = void 0); + n + ? (t.props = r ? i : Qm(i)) + : t.type.props + ? (t.props = i) + : (t.props = o), + (t.attrs = o); +} +function uv(t, e, n, r) { + const { + props: i, + attrs: o, + vnode: { patchFlag: s }, + } = t, + l = de(i), + [a] = t.propsOptions; + let u = !1; + if ((r || s > 0) && !(s & 16)) { + if (s & 8) { + const c = t.vnode.dynamicProps; + for (let f = 0; f < c.length; f++) { + let h = c[f]; + if (_a(t.emitsOptions, h)) continue; + const p = e[h]; + if (a) + if (We(o, h)) p !== o[h] && ((o[h] = p), (u = !0)); + else { + const g = Jn(h); + i[g] = lc(a, l, g, p, t, !1); + } + else p !== o[h] && ((o[h] = p), (u = !0)); + } + } + } else { + Cg(t, e, i, o) && (u = !0); + let c; + for (const f in l) + (!e || (!We(e, f) && ((c = xi(f)) === f || !We(e, c)))) && + (a + ? n && + (n[f] !== void 0 || n[c] !== void 0) && + (i[f] = lc(a, l, f, void 0, t, !0)) + : delete i[f]); + if (o !== l) + for (const f in o) + (!e || (!We(e, f) && !0)) && (delete o[f], (u = !0)); + } + u && or(t, "set", "$attrs"); +} +function Cg(t, e, n, r) { + const [i, o] = t.propsOptions; + let s = !1, + l; + if (e) + for (let a in e) { + if (il(a)) continue; + const u = e[a]; + let c; + i && We(i, (c = Jn(a))) + ? !o || !o.includes(c) + ? (n[c] = u) + : ((l || (l = {}))[c] = u) + : _a(t.emitsOptions, a) || + ((!(a in r) || u !== r[a]) && ((r[a] = u), (s = !0))); + } + if (o) { + const a = de(n), + u = l || rt; + for (let c = 0; c < o.length; c++) { + const f = o[c]; + n[f] = lc(i, a, f, u[f], t, !We(u, f)); + } + } + return s; +} +function lc(t, e, n, r, i, o) { + const s = t[n]; + if (s != null) { + const l = We(s, "default"); + if (l && r === void 0) { + const a = s.default; + if (s.type !== Function && !s.skipFactory && Ee(a)) { + const { propsDefaults: u } = i; + n in u + ? (r = u[n]) + : (Ui(i), (r = u[n] = a.call(null, e)), si()); + } else r = a; + } + s[0] && + (o && !l + ? (r = !1) + : s[1] && (r === "" || r === xi(n)) && (r = !0)); + } + return r; +} +function Sg(t, e, n = !1) { + const r = e.propsCache, + i = r.get(t); + if (i) return i; + const o = t.props, + s = {}, + l = []; + let a = !1; + if (!Ee(t)) { + const c = (f) => { + a = !0; + const [h, p] = Sg(f, e, !0); + _t(s, h), p && l.push(...p); + }; + !n && e.mixins.length && e.mixins.forEach(c), + t.extends && c(t.extends), + t.mixins && t.mixins.forEach(c); + } + if (!o && !a) return it(t) && r.set(t, Li), Li; + if (we(o)) + for (let c = 0; c < o.length; c++) { + const f = Jn(o[c]); + oh(f) && (s[f] = rt); + } + else if (o) + for (const c in o) { + const f = Jn(c); + if (oh(f)) { + const h = o[c], + p = (s[f] = we(h) || Ee(h) ? { type: h } : _t({}, h)); + if (p) { + const g = ah(Boolean, p.type), + v = ah(String, p.type); + (p[0] = g > -1), + (p[1] = v < 0 || g < v), + (g > -1 || We(p, "default")) && l.push(f); + } + } + } + const u = [s, l]; + return it(t) && r.set(t, u), u; +} +function oh(t) { + return t[0] !== "$"; +} +function sh(t) { + const e = t && t.toString().match(/^\s*(function|class) (\w+)/); + return e ? e[2] : t === null ? "null" : ""; +} +function lh(t, e) { + return sh(t) === sh(e); +} +function ah(t, e) { + return we(e) ? e.findIndex((n) => lh(n, t)) : Ee(e) && lh(e, t) ? 0 : -1; +} +const _g = (t) => t[0] === "_" || t === "$stable", + bd = (t) => (we(t) ? t.map(Hn) : [Hn(t)]), + cv = (t, e, n) => { + if (e._n) return e; + const r = Te((...i) => bd(e(...i)), n); + return (r._c = !1), r; + }, + Mg = (t, e, n) => { + const r = t._ctx; + for (const i in t) { + if (_g(i)) continue; + const o = t[i]; + if (Ee(o)) e[i] = cv(i, o, r); + else if (o != null) { + const s = bd(o); + e[i] = () => s; + } + } + }, + Eg = (t, e) => { + const n = bd(e); + t.slots.default = () => n; + }, + dv = (t, e) => { + if (t.vnode.shapeFlag & 32) { + const n = e._; + n ? ((t.slots = de(e)), yl(e, "_", n)) : Mg(e, (t.slots = {})); + } else (t.slots = {}), e && Eg(t, e); + yl(t.slots, Aa, 1); + }, + fv = (t, e, n) => { + const { vnode: r, slots: i } = t; + let o = !0, + s = rt; + if (r.shapeFlag & 32) { + const l = e._; + l + ? n && l === 1 + ? (o = !1) + : (_t(i, e), !n && l === 1 && delete i._) + : ((o = !e.$stable), Mg(e, i)), + (s = e); + } else e && (Eg(t, e), (s = { default: 1 })); + if (o) for (const l in i) !_g(l) && s[l] == null && delete i[l]; + }; +function ac(t, e, n, r, i = !1) { + if (we(t)) { + t.forEach((h, p) => ac(h, e && (we(e) ? e[p] : e), n, r, i)); + return; + } + if (To(r) && !i) return; + const o = r.shapeFlag & 4 ? Ta(r.component) || r.component.proxy : r.el, + s = i ? null : o, + { i: l, r: a } = t, + u = e && e.r, + c = l.refs === rt ? (l.refs = {}) : l.refs, + f = l.setupState; + if ( + (u != null && + u !== a && + (at(u) + ? ((c[u] = null), We(f, u) && (f[u] = null)) + : Ht(u) && (u.value = null)), + Ee(a)) + ) + Or(a, l, 12, [s, c]); + else { + const h = at(a), + p = Ht(a); + if (h || p) { + const g = () => { + if (t.f) { + const v = h ? (We(f, a) ? f[a] : c[a]) : a.value; + i + ? we(v) && sd(v, o) + : we(v) + ? v.includes(o) || v.push(o) + : h + ? ((c[a] = [o]), We(f, a) && (f[a] = c[a])) + : ((a.value = [o]), t.k && (c[t.k] = a.value)); + } else + h + ? ((c[a] = s), We(f, a) && (f[a] = s)) + : p && ((a.value = s), t.k && (c[t.k] = s)); + }; + s ? ((g.id = -1), Gt(g, n)) : g(); + } + } +} +const Gt = $2; +function hv(t) { + return pv(t); +} +function pv(t, e) { + const n = Ju(); + n.__VUE__ = !0; + const { + insert: r, + remove: i, + patchProp: o, + createElement: s, + createText: l, + createComment: a, + setText: u, + setElementText: c, + parentNode: f, + nextSibling: h, + setScopeId: p = On, + insertStaticContent: g, + } = t, + v = ( + A, + O, + j, + H = null, + V = null, + q = null, + se = !1, + Z = null, + te = !!O.dynamicChildren + ) => { + if (A === O) return; + A && !Qr(A, O) && ((H = z(A)), me(A, V, q, !0), (A = null)), + O.patchFlag === -2 && ((te = !1), (O.dynamicChildren = null)); + const { type: J, ref: he, shapeFlag: ce } = O; + switch (J) { + case Ea: + b(A, O, j, H); + break; + case yn: + x(A, O, j, H); + break; + case lu: + A == null && S(O, j, H, se); + break; + case He: + R(A, O, j, H, V, q, se, Z, te); + break; + default: + ce & 1 + ? y(A, O, j, H, V, q, se, Z, te) + : ce & 6 + ? P(A, O, j, H, V, q, se, Z, te) + : (ce & 64 || ce & 128) && + J.process(A, O, j, H, V, q, se, Z, te, ee); + } + he != null && V && ac(he, A && A.ref, q, O || A, !O); + }, + b = (A, O, j, H) => { + if (A == null) r((O.el = l(O.children)), j, H); + else { + const V = (O.el = A.el); + O.children !== A.children && u(V, O.children); + } + }, + x = (A, O, j, H) => { + A == null ? r((O.el = a(O.children || "")), j, H) : (O.el = A.el); + }, + S = (A, O, j, H) => { + [A.el, A.anchor] = g(A.children, O, j, H, A.el, A.anchor); + }, + T = ({ el: A, anchor: O }, j, H) => { + let V; + for (; A && A !== O; ) (V = h(A)), r(A, j, H), (A = V); + r(O, j, H); + }, + d = ({ el: A, anchor: O }) => { + let j; + for (; A && A !== O; ) (j = h(A)), i(A), (A = j); + i(O); + }, + y = (A, O, j, H, V, q, se, Z, te) => { + (se = se || O.type === "svg"), + A == null + ? m(O, j, H, V, q, se, Z, te) + : _(A, O, V, q, se, Z, te); + }, + m = (A, O, j, H, V, q, se, Z) => { + let te, J; + const { + type: he, + props: ce, + shapeFlag: pe, + transition: ke, + dirs: Oe, + } = A; + if ( + ((te = A.el = s(A.type, q, ce && ce.is, ce)), + pe & 8 + ? c(te, A.children) + : pe & 16 && + k( + A.children, + te, + null, + H, + V, + q && he !== "foreignObject", + se, + Z + ), + Oe && Wr(A, null, H, "created"), + w(te, A, A.scopeId, se, H), + ce) + ) { + for (const Fe in ce) + Fe !== "value" && + !il(Fe) && + o(te, Fe, null, ce[Fe], q, A.children, H, V, Ae); + "value" in ce && o(te, "value", null, ce.value), + (J = ce.onVnodeBeforeMount) && Dn(J, H, A); + } + Oe && Wr(A, null, H, "beforeMount"); + const Je = mv(V, ke); + Je && ke.beforeEnter(te), + r(te, O, j), + ((J = ce && ce.onVnodeMounted) || Je || Oe) && + Gt(() => { + J && Dn(J, H, A), + Je && ke.enter(te), + Oe && Wr(A, null, H, "mounted"); + }, V); + }, + w = (A, O, j, H, V) => { + if ((j && p(A, j), H)) + for (let q = 0; q < H.length; q++) p(A, H[q]); + if (V) { + let q = V.subTree; + if (O === q) { + const se = V.vnode; + w(A, se, se.scopeId, se.slotScopeIds, V.parent); + } + } + }, + k = (A, O, j, H, V, q, se, Z, te = 0) => { + for (let J = te; J < A.length; J++) { + const he = (A[J] = Z ? yr(A[J]) : Hn(A[J])); + v(null, he, O, j, H, V, q, se, Z); + } + }, + _ = (A, O, j, H, V, q, se) => { + const Z = (O.el = A.el); + let { patchFlag: te, dynamicChildren: J, dirs: he } = O; + te |= A.patchFlag & 16; + const ce = A.props || rt, + pe = O.props || rt; + let ke; + j && Ur(j, !1), + (ke = pe.onVnodeBeforeUpdate) && Dn(ke, j, O, A), + he && Wr(O, A, j, "beforeUpdate"), + j && Ur(j, !0); + const Oe = V && O.type !== "foreignObject"; + if ( + (J + ? C(A.dynamicChildren, J, Z, j, H, Oe, q) + : se || D(A, O, Z, null, j, H, Oe, q, !1), + te > 0) + ) { + if (te & 16) E(Z, O, ce, pe, j, H, V); + else if ( + (te & 2 && + ce.class !== pe.class && + o(Z, "class", null, pe.class, V), + te & 4 && o(Z, "style", ce.style, pe.style, V), + te & 8) + ) { + const Je = O.dynamicProps; + for (let Fe = 0; Fe < Je.length; Fe++) { + const ct = Je[Fe], + nn = ce[ct], + ur = pe[ct]; + (ur !== nn || ct === "value") && + o(Z, ct, nn, ur, V, A.children, j, H, Ae); + } + } + te & 1 && A.children !== O.children && c(Z, O.children); + } else !se && J == null && E(Z, O, ce, pe, j, H, V); + ((ke = pe.onVnodeUpdated) || he) && + Gt(() => { + ke && Dn(ke, j, O, A), he && Wr(O, A, j, "updated"); + }, H); + }, + C = (A, O, j, H, V, q, se) => { + for (let Z = 0; Z < O.length; Z++) { + const te = A[Z], + J = O[Z], + he = + te.el && + (te.type === He || !Qr(te, J) || te.shapeFlag & 70) + ? f(te.el) + : j; + v(te, J, he, null, H, V, q, se, !0); + } + }, + E = (A, O, j, H, V, q, se) => { + if (j !== H) { + if (j !== rt) + for (const Z in j) + !il(Z) && + !(Z in H) && + o(A, Z, j[Z], null, se, O.children, V, q, Ae); + for (const Z in H) { + if (il(Z)) continue; + const te = H[Z], + J = j[Z]; + te !== J && + Z !== "value" && + o(A, Z, J, te, se, O.children, V, q, Ae); + } + "value" in H && o(A, "value", j.value, H.value); + } + }, + R = (A, O, j, H, V, q, se, Z, te) => { + const J = (O.el = A ? A.el : l("")), + he = (O.anchor = A ? A.anchor : l("")); + let { patchFlag: ce, dynamicChildren: pe, slotScopeIds: ke } = O; + ke && (Z = Z ? Z.concat(ke) : ke), + A == null + ? (r(J, j, H), + r(he, j, H), + k(O.children, j, he, V, q, se, Z, te)) + : ce > 0 && ce & 64 && pe && A.dynamicChildren + ? (C(A.dynamicChildren, pe, j, V, q, se, Z), + (O.key != null || (V && O === V.subTree)) && wd(A, O, !0)) + : D(A, O, j, he, V, q, se, Z, te); + }, + P = (A, O, j, H, V, q, se, Z, te) => { + (O.slotScopeIds = Z), + A == null + ? O.shapeFlag & 512 + ? V.ctx.activate(O, j, H, se, te) + : L(O, j, H, V, q, se, te) + : I(A, O, te); + }, + L = (A, O, j, H, V, q, se) => { + const Z = (A.component = Sv(A, H, V)); + if ((ds(A) && (Z.ctx.renderer = ee), _v(Z), Z.asyncDep)) { + if ((V && V.registerDep(Z, M), !A.el)) { + const te = (Z.subTree = Me(yn)); + x(null, te, O, j); + } + return; + } + M(Z, A, O, j, V, q, se); + }, + I = (A, O, j) => { + const H = (O.component = A.component); + if (D2(A, O, j)) + if (H.asyncDep && !H.asyncResolved) { + N(H, O, j); + return; + } else (H.next = O), O2(H.update), H.update(); + else (O.el = A.el), (H.vnode = O); + }, + M = (A, O, j, H, V, q, se) => { + const Z = () => { + if (A.isMounted) { + let { + next: he, + bu: ce, + u: pe, + parent: ke, + vnode: Oe, + } = A, + Je = he, + Fe; + Ur(A, !1), + he ? ((he.el = Oe.el), N(A, he, se)) : (he = Oe), + ce && tu(ce), + (Fe = he.props && he.props.onVnodeBeforeUpdate) && + Dn(Fe, ke, he, Oe), + Ur(A, !0); + const ct = nu(A), + nn = A.subTree; + (A.subTree = ct), + v(nn, ct, f(nn.el), z(nn), A, V, q), + (he.el = ct.el), + Je === null && I2(A, ct.el), + pe && Gt(pe, V), + (Fe = he.props && he.props.onVnodeUpdated) && + Gt(() => Dn(Fe, ke, he, Oe), V); + } else { + let he; + const { el: ce, props: pe } = O, + { bm: ke, m: Oe, parent: Je } = A, + Fe = To(O); + if ( + (Ur(A, !1), + ke && tu(ke), + !Fe && + (he = pe && pe.onVnodeBeforeMount) && + Dn(he, Je, O), + Ur(A, !0), + ce && Pe) + ) { + const ct = () => { + (A.subTree = nu(A)), + Pe(ce, A.subTree, A, V, null); + }; + Fe + ? O.type + .__asyncLoader() + .then(() => !A.isUnmounted && ct()) + : ct(); + } else { + const ct = (A.subTree = nu(A)); + v(null, ct, j, H, A, V, q), (O.el = ct.el); + } + if ( + (Oe && Gt(Oe, V), + !Fe && (he = pe && pe.onVnodeMounted)) + ) { + const ct = O; + Gt(() => Dn(he, Je, ct), V); + } + (O.shapeFlag & 256 || + (Je && To(Je.vnode) && Je.vnode.shapeFlag & 256)) && + A.a && + Gt(A.a, V), + (A.isMounted = !0), + (O = j = H = null); + } + }, + te = (A.effect = new ud(Z, () => Sa(J), A.scope)), + J = (A.update = () => te.run()); + (J.id = A.uid), Ur(A, !0), J(); + }, + N = (A, O, j) => { + O.component = A; + const H = A.vnode.props; + (A.vnode = O), + (A.next = null), + uv(A, O.props, H, j), + fv(A, O.children, j), + io(), + Qf(), + oo(); + }, + D = (A, O, j, H, V, q, se, Z, te = !1) => { + const J = A && A.children, + he = A ? A.shapeFlag : 0, + ce = O.children, + { patchFlag: pe, shapeFlag: ke } = O; + if (pe > 0) { + if (pe & 128) { + ae(J, ce, j, H, V, q, se, Z, te); + return; + } else if (pe & 256) { + K(J, ce, j, H, V, q, se, Z, te); + return; + } + } + ke & 8 + ? (he & 16 && Ae(J, V, q), ce !== J && c(j, ce)) + : he & 16 + ? ke & 16 + ? ae(J, ce, j, H, V, q, se, Z, te) + : Ae(J, V, q, !0) + : (he & 8 && c(j, ""), ke & 16 && k(ce, j, H, V, q, se, Z, te)); + }, + K = (A, O, j, H, V, q, se, Z, te) => { + (A = A || Li), (O = O || Li); + const J = A.length, + he = O.length, + ce = Math.min(J, he); + let pe; + for (pe = 0; pe < ce; pe++) { + const ke = (O[pe] = te ? yr(O[pe]) : Hn(O[pe])); + v(A[pe], ke, j, null, V, q, se, Z, te); + } + J > he ? Ae(A, V, q, !0, !1, ce) : k(O, j, H, V, q, se, Z, te, ce); + }, + ae = (A, O, j, H, V, q, se, Z, te) => { + let J = 0; + const he = O.length; + let ce = A.length - 1, + pe = he - 1; + for (; J <= ce && J <= pe; ) { + const ke = A[J], + Oe = (O[J] = te ? yr(O[J]) : Hn(O[J])); + if (Qr(ke, Oe)) v(ke, Oe, j, null, V, q, se, Z, te); + else break; + J++; + } + for (; J <= ce && J <= pe; ) { + const ke = A[ce], + Oe = (O[pe] = te ? yr(O[pe]) : Hn(O[pe])); + if (Qr(ke, Oe)) v(ke, Oe, j, null, V, q, se, Z, te); + else break; + ce--, pe--; + } + if (J > ce) { + if (J <= pe) { + const ke = pe + 1, + Oe = ke < he ? O[ke].el : H; + for (; J <= pe; ) + v( + null, + (O[J] = te ? yr(O[J]) : Hn(O[J])), + j, + Oe, + V, + q, + se, + Z, + te + ), + J++; + } + } else if (J > pe) for (; J <= ce; ) me(A[J], V, q, !0), J++; + else { + const ke = J, + Oe = J, + Je = new Map(); + for (J = Oe; J <= pe; J++) { + const le = (O[J] = te ? yr(O[J]) : Hn(O[J])); + le.key != null && Je.set(le.key, J); + } + let Fe, + ct = 0; + const nn = pe - Oe + 1; + let ur = !1, + Cs = 0; + const Fr = new Array(nn); + for (J = 0; J < nn; J++) Fr[J] = 0; + for (J = ke; J <= ce; J++) { + const le = A[J]; + if (ct >= nn) { + me(le, V, q, !0); + continue; + } + let ge; + if (le.key != null) ge = Je.get(le.key); + else + for (Fe = Oe; Fe <= pe; Fe++) + if (Fr[Fe - Oe] === 0 && Qr(le, O[Fe])) { + ge = Fe; + break; + } + ge === void 0 + ? me(le, V, q, !0) + : ((Fr[ge - Oe] = J + 1), + ge >= Cs ? (Cs = ge) : (ur = !0), + v(le, O[ge], j, null, V, q, se, Z, te), + ct++); + } + const F = ur ? gv(Fr) : Li; + for (Fe = F.length - 1, J = nn - 1; J >= 0; J--) { + const le = Oe + J, + ge = O[le], + Ke = le + 1 < he ? O[le + 1].el : H; + Fr[J] === 0 + ? v(null, ge, j, Ke, V, q, se, Z, te) + : ur && + (Fe < 0 || J !== F[Fe] ? Q(ge, j, Ke, 2) : Fe--); + } + } + }, + Q = (A, O, j, H, V = null) => { + const { + el: q, + type: se, + transition: Z, + children: te, + shapeFlag: J, + } = A; + if (J & 6) { + Q(A.component.subTree, O, j, H); + return; + } + if (J & 128) { + A.suspense.move(O, j, H); + return; + } + if (J & 64) { + se.move(A, O, j, ee); + return; + } + if (se === He) { + r(q, O, j); + for (let ce = 0; ce < te.length; ce++) Q(te[ce], O, j, H); + r(A.anchor, O, j); + return; + } + if (se === lu) { + T(A, O, j); + return; + } + if (H !== 2 && J & 1 && Z) + if (H === 0) + Z.beforeEnter(q), r(q, O, j), Gt(() => Z.enter(q), V); + else { + const { leave: ce, delayLeave: pe, afterLeave: ke } = Z, + Oe = () => r(q, O, j), + Je = () => { + ce(q, () => { + Oe(), ke && ke(); + }); + }; + pe ? pe(q, Oe, Je) : Je(); + } + else r(q, O, j); + }, + me = (A, O, j, H = !1, V = !1) => { + const { + type: q, + props: se, + ref: Z, + children: te, + dynamicChildren: J, + shapeFlag: he, + patchFlag: ce, + dirs: pe, + } = A; + if ((Z != null && ac(Z, null, j, A, !0), he & 256)) { + O.ctx.deactivate(A); + return; + } + const ke = he & 1 && pe, + Oe = !To(A); + let Je; + if ( + (Oe && (Je = se && se.onVnodeBeforeUnmount) && Dn(Je, O, A), + he & 6) + ) + Re(A.component, j, H); + else { + if (he & 128) { + A.suspense.unmount(j, H); + return; + } + ke && Wr(A, null, O, "beforeUnmount"), + he & 64 + ? A.type.remove(A, O, j, V, ee, H) + : J && (q !== He || (ce > 0 && ce & 64)) + ? Ae(J, O, j, !1, !0) + : ((q === He && ce & 384) || (!V && he & 16)) && + Ae(te, O, j), + H && je(A); + } + ((Oe && (Je = se && se.onVnodeUnmounted)) || ke) && + Gt(() => { + Je && Dn(Je, O, A), ke && Wr(A, null, O, "unmounted"); + }, j); + }, + je = (A) => { + const { type: O, el: j, anchor: H, transition: V } = A; + if (O === He) { + Le(j, H); + return; + } + if (O === lu) { + d(A); + return; + } + const q = () => { + i(j), V && !V.persisted && V.afterLeave && V.afterLeave(); + }; + if (A.shapeFlag & 1 && V && !V.persisted) { + const { leave: se, delayLeave: Z } = V, + te = () => se(j, q); + Z ? Z(A.el, q, te) : te(); + } else q(); + }, + Le = (A, O) => { + let j; + for (; A !== O; ) (j = h(A)), i(A), (A = j); + i(O); + }, + Re = (A, O, j) => { + const { bum: H, scope: V, update: q, subTree: se, um: Z } = A; + H && tu(H), + V.stop(), + q && ((q.active = !1), me(se, A, O, j)), + Z && Gt(Z, O), + Gt(() => { + A.isUnmounted = !0; + }, O), + O && + O.pendingBranch && + !O.isUnmounted && + A.asyncDep && + !A.asyncResolved && + A.suspenseId === O.pendingId && + (O.deps--, O.deps === 0 && O.resolve()); + }, + Ae = (A, O, j, H = !1, V = !1, q = 0) => { + for (let se = q; se < A.length; se++) me(A[se], O, j, H, V); + }, + z = (A) => + A.shapeFlag & 6 + ? z(A.component.subTree) + : A.shapeFlag & 128 + ? A.suspense.next() + : h(A.anchor || A.el), + X = (A, O, j) => { + A == null + ? O._vnode && me(O._vnode, null, null, !0) + : v(O._vnode || null, A, O, null, null, null, j), + Qf(), + ag(), + (O._vnode = A); + }, + ee = { + p: v, + um: me, + m: Q, + r: je, + mt: L, + mc: k, + pc: D, + pbc: C, + n: z, + o: t, + }; + let ue, Pe; + return ( + e && ([ue, Pe] = e(ee)), + { render: X, hydrate: ue, createApp: lv(X, ue) } + ); +} +function Ur({ effect: t, update: e }, n) { + t.allowRecurse = e.allowRecurse = n; +} +function mv(t, e) { + return (!t || (t && !t.pendingBranch)) && e && !e.persisted; +} +function wd(t, e, n = !1) { + const r = t.children, + i = e.children; + if (we(r) && we(i)) + for (let o = 0; o < r.length; o++) { + const s = r[o]; + let l = i[o]; + l.shapeFlag & 1 && + !l.dynamicChildren && + ((l.patchFlag <= 0 || l.patchFlag === 32) && + ((l = i[o] = yr(i[o])), (l.el = s.el)), + n || wd(s, l)), + l.type === Ea && (l.el = s.el); + } +} +function gv(t) { + const e = t.slice(), + n = [0]; + let r, i, o, s, l; + const a = t.length; + for (r = 0; r < a; r++) { + const u = t[r]; + if (u !== 0) { + if (((i = n[n.length - 1]), t[i] < u)) { + (e[r] = i), n.push(r); + continue; + } + for (o = 0, s = n.length - 1; o < s; ) + (l = (o + s) >> 1), t[n[l]] < u ? (o = l + 1) : (s = l); + u < t[n[o]] && (o > 0 && (e[r] = n[o - 1]), (n[o] = r)); + } + } + for (o = n.length, s = n[o - 1]; o-- > 0; ) (n[o] = s), (s = e[s]); + return n; +} +const yv = (t) => t.__isTeleport, + Ro = (t) => t && (t.disabled || t.disabled === ""), + uh = (t) => typeof SVGElement != "undefined" && t instanceof SVGElement, + uc = (t, e) => { + const n = t && t.to; + return at(n) ? (e ? e(n) : null) : n; + }, + vv = { + name: "Teleport", + __isTeleport: !0, + process(t, e, n, r, i, o, s, l, a, u) { + const { + mc: c, + pc: f, + pbc: h, + o: { + insert: p, + querySelector: g, + createText: v, + createComment: b, + }, + } = u, + x = Ro(e.props); + let { shapeFlag: S, children: T, dynamicChildren: d } = e; + if (t == null) { + const y = (e.el = v("")), + m = (e.anchor = v("")); + p(y, n, r), p(m, n, r); + const w = (e.target = uc(e.props, g)), + k = (e.targetAnchor = v("")); + w && (p(k, w), (s = s || uh(w))); + const _ = (C, E) => { + S & 16 && c(T, C, E, i, o, s, l, a); + }; + x ? _(n, m) : w && _(w, k); + } else { + e.el = t.el; + const y = (e.anchor = t.anchor), + m = (e.target = t.target), + w = (e.targetAnchor = t.targetAnchor), + k = Ro(t.props), + _ = k ? n : m, + C = k ? y : w; + if ( + ((s = s || uh(m)), + d + ? (h(t.dynamicChildren, d, _, i, o, s, l), wd(t, e, !0)) + : a || f(t, e, _, C, i, o, s, l, !1), + x) + ) + k + ? e.props && + t.props && + e.props.to !== t.props.to && + (e.props.to = t.props.to) + : Ls(e, n, y, u, 1); + else if ((e.props && e.props.to) !== (t.props && t.props.to)) { + const E = (e.target = uc(e.props, g)); + E && Ls(e, E, null, u, 0); + } else k && Ls(e, m, w, u, 1); + } + Ag(e); + }, + remove(t, e, n, r, { um: i, o: { remove: o } }, s) { + const { + shapeFlag: l, + children: a, + anchor: u, + targetAnchor: c, + target: f, + props: h, + } = t; + if ((f && o(c), s && o(u), l & 16)) { + const p = s || !Ro(h); + for (let g = 0; g < a.length; g++) { + const v = a[g]; + i(v, e, n, p, !!v.dynamicChildren); + } + } + }, + move: Ls, + hydrate: bv, + }; +function Ls(t, e, n, { o: { insert: r }, m: i }, o = 2) { + o === 0 && r(t.targetAnchor, e, n); + const { el: s, anchor: l, shapeFlag: a, children: u, props: c } = t, + f = o === 2; + if ((f && r(s, e, n), (!f || Ro(c)) && a & 16)) + for (let h = 0; h < u.length; h++) i(u[h], e, n, 2); + f && r(l, e, n); +} +function bv( + t, + e, + n, + r, + i, + o, + { o: { nextSibling: s, parentNode: l, querySelector: a } }, + u +) { + const c = (e.target = uc(e.props, a)); + if (c) { + const f = c._lpa || c.firstChild; + if (e.shapeFlag & 16) + if (Ro(e.props)) + (e.anchor = u(s(t), e, l(t), n, r, i, o)), (e.targetAnchor = f); + else { + e.anchor = s(t); + let h = f; + for (; h; ) + if ( + ((h = s(h)), + h && h.nodeType === 8 && h.data === "teleport anchor") + ) { + (e.targetAnchor = h), + (c._lpa = e.targetAnchor && s(e.targetAnchor)); + break; + } + u(f, e, c, n, r, i, o); + } + Ag(e); + } + return e.anchor && s(e.anchor); +} +const xd = vv; +function Ag(t) { + const e = t.ctx; + if (e && e.ut) { + let n = t.children[0].el; + for (; n && n !== t.targetAnchor; ) + n.nodeType === 1 && n.setAttribute("data-v-owner", e.uid), + (n = n.nextSibling); + e.ut(); + } +} +const He = Symbol.for("v-fgt"), + Ea = Symbol.for("v-txt"), + yn = Symbol.for("v-cmt"), + lu = Symbol.for("v-stc"), + Po = []; +let An = null; +function B(t = !1) { + Po.push((An = t ? null : [])); +} +function wv() { + Po.pop(), (An = Po[Po.length - 1] || null); +} +let Jo = 1; +function ch(t) { + Jo += t; +} +function Tg(t) { + return ( + (t.dynamicChildren = Jo > 0 ? An || Li : null), + wv(), + Jo > 0 && An && An.push(t), + t + ); +} +function G(t, e, n, r, i, o) { + return Tg(U(t, e, n, r, i, o, !0)); +} +function Be(t, e, n, r, i) { + return Tg(Me(t, e, n, r, i, !0)); +} +function kl(t) { + return t ? t.__v_isVNode === !0 : !1; +} +function Qr(t, e) { + return t.type === e.type && t.key === e.key; +} +const Aa = "__vInternal", + Og = ({ key: t }) => (t != null ? t : null), + ol = ({ ref: t, ref_key: e, ref_for: n }) => ( + typeof t == "number" && (t = "" + t), + t != null + ? at(t) || Ht(t) || Ee(t) + ? { i: It, r: t, k: e, f: !!n } + : t + : null + ); +function U( + t, + e = null, + n = null, + r = 0, + i = null, + o = t === He ? 0 : 1, + s = !1, + l = !1 +) { + const a = { + __v_isVNode: !0, + __v_skip: !0, + type: t, + props: e, + key: e && Og(e), + ref: e && ol(e), + scopeId: dg, + slotScopeIds: null, + children: n, + component: null, + suspense: null, + ssContent: null, + ssFallback: null, + dirs: null, + transition: null, + el: null, + anchor: null, + target: null, + targetAnchor: null, + staticCount: 0, + shapeFlag: o, + patchFlag: r, + dynamicProps: i, + dynamicChildren: null, + appContext: null, + ctx: It, + }; + return ( + l + ? (kd(a, n), o & 128 && t.normalize(a)) + : n && (a.shapeFlag |= at(n) ? 8 : 16), + Jo > 0 && + !s && + An && + (a.patchFlag > 0 || o & 6) && + a.patchFlag !== 32 && + An.push(a), + a + ); +} +const Me = xv; +function xv(t, e = null, n = null, r = 0, i = null, o = !1) { + if (((!t || t === fg) && (t = yn), kl(t))) { + const l = sr(t, e, !0); + return ( + n && kd(l, n), + Jo > 0 && + !o && + An && + (l.shapeFlag & 6 ? (An[An.indexOf(t)] = l) : An.push(l)), + (l.patchFlag |= -2), + l + ); + } + if ((Tv(t) && (t = t.__vccOpts), e)) { + e = Ft(e); + let { class: l, style: a } = e; + l && !at(l) && (e.class = ye(l)), + it(a) && (Zm(a) && !we(a) && (a = _t({}, a)), (e.style = Ir(a))); + } + const s = at(t) ? 1 : B2(t) ? 128 : yv(t) ? 64 : it(t) ? 4 : Ee(t) ? 2 : 0; + return U(t, e, n, r, i, s, o, !0); +} +function Ft(t) { + return t ? (Zm(t) || Aa in t ? _t({}, t) : t) : null; +} +function sr(t, e, n = !1) { + const { props: r, ref: i, patchFlag: o, children: s } = t, + l = e ? yt(r || {}, e) : r; + return { + __v_isVNode: !0, + __v_skip: !0, + type: t.type, + props: l, + key: l && Og(l), + ref: + e && e.ref + ? n && i + ? we(i) + ? i.concat(ol(e)) + : [i, ol(e)] + : ol(e) + : i, + scopeId: t.scopeId, + slotScopeIds: t.slotScopeIds, + children: s, + target: t.target, + targetAnchor: t.targetAnchor, + staticCount: t.staticCount, + shapeFlag: t.shapeFlag, + patchFlag: e && t.type !== He ? (o === -1 ? 16 : o | 16) : o, + dynamicProps: t.dynamicProps, + dynamicChildren: t.dynamicChildren, + appContext: t.appContext, + dirs: t.dirs, + transition: t.transition, + component: t.component, + suspense: t.suspense, + ssContent: t.ssContent && sr(t.ssContent), + ssFallback: t.ssFallback && sr(t.ssFallback), + el: t.el, + anchor: t.anchor, + ctx: t.ctx, + ce: t.ce, + }; +} +function Pn(t = " ", e = 0) { + return Me(Ea, null, t, e); +} +function De(t = "", e = !1) { + return e ? (B(), Be(yn, null, t)) : Me(yn, null, t); +} +function Hn(t) { + return t == null || typeof t == "boolean" + ? Me(yn) + : we(t) + ? Me(He, null, t.slice()) + : typeof t == "object" + ? yr(t) + : Me(Ea, null, String(t)); +} +function yr(t) { + return (t.el === null && t.patchFlag !== -1) || t.memo ? t : sr(t); +} +function kd(t, e) { + let n = 0; + const { shapeFlag: r } = t; + if (e == null) e = null; + else if (we(e)) n = 16; + else if (typeof e == "object") + if (r & 65) { + const i = e.default; + i && (i._c && (i._d = !1), kd(t, i()), i._c && (i._d = !0)); + return; + } else { + n = 32; + const i = e._; + !i && !(Aa in e) + ? (e._ctx = It) + : i === 3 && + It && + (It.slots._ === 1 + ? (e._ = 1) + : ((e._ = 2), (t.patchFlag |= 1024))); + } + else + Ee(e) + ? ((e = { default: e, _ctx: It }), (n = 32)) + : ((e = String(e)), r & 64 ? ((n = 16), (e = [Pn(e)])) : (n = 8)); + (t.children = e), (t.shapeFlag |= n); +} +function yt(...t) { + const e = {}; + for (let n = 0; n < t.length; n++) { + const r = t[n]; + for (const i in r) + if (i === "class") + e.class !== r.class && (e.class = ye([e.class, r.class])); + else if (i === "style") e.style = Ir([e.style, r.style]); + else if (va(i)) { + const o = e[i], + s = r[i]; + s && + o !== s && + !(we(o) && o.includes(s)) && + (e[i] = o ? [].concat(o, s) : s); + } else i !== "" && (e[i] = r[i]); + } + return e; +} +function Dn(t, e, n, r = null) { + gn(t, e, 7, [n, r]); +} +const kv = kg(); +let Cv = 0; +function Sv(t, e, n) { + const r = t.type, + i = (e ? e.appContext : t.appContext) || kv, + o = { + uid: Cv++, + vnode: t, + type: r, + parent: e, + appContext: i, + root: null, + next: null, + subTree: null, + effect: null, + update: null, + scope: new n2(!0), + render: null, + proxy: null, + exposed: null, + exposeProxy: null, + withProxy: null, + provides: e ? e.provides : Object.create(i.provides), + accessCache: null, + renderCache: [], + components: null, + directives: null, + propsOptions: Sg(r, i), + emitsOptions: cg(r, i), + emit: null, + emitted: null, + propsDefaults: rt, + inheritAttrs: r.inheritAttrs, + ctx: rt, + data: rt, + props: rt, + attrs: rt, + slots: rt, + refs: rt, + setupState: rt, + setupContext: null, + attrsProxy: null, + slotsProxy: null, + suspense: n, + suspenseId: n ? n.pendingId : 0, + asyncDep: null, + asyncResolved: !1, + isMounted: !1, + isUnmounted: !1, + isDeactivated: !1, + bc: null, + c: null, + bm: null, + m: null, + bu: null, + u: null, + um: null, + bum: null, + da: null, + a: null, + rtg: null, + rtc: null, + ec: null, + sp: null, + }; + return ( + (o.ctx = { _: o }), + (o.root = e ? e.root : o), + (o.emit = N2.bind(null, o)), + t.ce && t.ce(o), + o + ); +} +let St = null; +const ps = () => St || It; +let Cd, + Ei, + dh = "__VUE_INSTANCE_SETTERS__"; +(Ei = Ju()[dh]) || (Ei = Ju()[dh] = []), + Ei.push((t) => (St = t)), + (Cd = (t) => { + Ei.length > 1 ? Ei.forEach((e) => e(t)) : Ei[0](t); + }); +const Ui = (t) => { + Cd(t), t.scope.on(); + }, + si = () => { + St && St.scope.off(), Cd(null); + }; +function Rg(t) { + return t.vnode.shapeFlag & 4; +} +let Ki = !1; +function _v(t, e = !1) { + Ki = e; + const { props: n, children: r } = t.vnode, + i = Rg(t); + av(t, n, i, e), dv(t, r); + const o = i ? Mv(t, e) : void 0; + return (Ki = !1), o; +} +function Mv(t, e) { + const n = t.type; + (t.accessCache = Object.create(null)), (t.proxy = eg(new Proxy(t.ctx, ev))); + const { setup: r } = n; + if (r) { + const i = (t.setupContext = r.length > 1 ? Ng(t) : null); + Ui(t), io(); + const o = Or(r, t, 0, [t.props, i]); + if ((oo(), si(), Lm(o))) { + if ((o.then(si, si), e)) + return o + .then((s) => { + fh(t, s, e); + }) + .catch((s) => { + cs(s, t, 0); + }); + t.asyncDep = o; + } else fh(t, o, e); + } else Pg(t, e); +} +function fh(t, e, n) { + Ee(e) + ? t.type.__ssrInlineRender + ? (t.ssrRender = e) + : (t.render = e) + : it(e) && (t.setupState = og(e)), + Pg(t, n); +} +let hh; +function Pg(t, e, n) { + const r = t.type; + if (!t.render) { + if (!e && hh && !r.render) { + const i = r.template || vd(t).template; + if (i) { + const { isCustomElement: o, compilerOptions: s } = + t.appContext.config, + { delimiters: l, compilerOptions: a } = r, + u = _t(_t({ isCustomElement: o, delimiters: l }, s), a); + r.render = hh(i, u); + } + } + t.render = r.render || On; + } + { + Ui(t), io(); + try { + tv(t); + } finally { + oo(), si(); + } + } +} +function Ev(t) { + return ( + t.attrsProxy || + (t.attrsProxy = new Proxy(t.attrs, { + get(e, n) { + return tn(t, "get", "$attrs"), e[n]; + }, + })) + ); +} +function Ng(t) { + const e = (n) => { + t.exposed = n || {}; + }; + return { + get attrs() { + return Ev(t); + }, + slots: t.slots, + emit: t.emit, + expose: e, + }; +} +function Ta(t) { + if (t.exposed) + return ( + t.exposeProxy || + (t.exposeProxy = new Proxy(og(eg(t.exposed)), { + get(e, n) { + if (n in e) return e[n]; + if (n in Oo) return Oo[n](t); + }, + has(e, n) { + return n in e || n in Oo; + }, + })) + ); +} +function Av(t, e = !0) { + return Ee(t) ? t.displayName || t.name : t.name || (e && t.__name); +} +function Tv(t) { + return Ee(t) && "__vccOpts" in t; +} +const $ = (t, e) => Zu(t, e, Ki); +function ze(t, e, n) { + const r = arguments.length; + return r === 2 + ? it(e) && !we(e) + ? kl(e) + ? Me(t, null, [e]) + : Me(t, e) + : Me(t, null, e) + : (r > 3 + ? (n = Array.prototype.slice.call(arguments, 2)) + : r === 3 && kl(n) && (n = [n]), + Me(t, e, n)); +} +const Ov = Symbol.for("v-scx"), + Rv = () => qe(Ov), + Pv = "3.3.9", + Nv = "http://www.w3.org/2000/svg", + Xr = typeof document != "undefined" ? document : null, + ph = Xr && Xr.createElement("template"), + jv = { + insert: (t, e, n) => { + e.insertBefore(t, n || null); + }, + remove: (t) => { + const e = t.parentNode; + e && e.removeChild(t); + }, + createElement: (t, e, n, r) => { + const i = e + ? Xr.createElementNS(Nv, t) + : Xr.createElement(t, n ? { is: n } : void 0); + return ( + t === "select" && + r && + r.multiple != null && + i.setAttribute("multiple", r.multiple), + i + ); + }, + createText: (t) => Xr.createTextNode(t), + createComment: (t) => Xr.createComment(t), + setText: (t, e) => { + t.nodeValue = e; + }, + setElementText: (t, e) => { + t.textContent = e; + }, + parentNode: (t) => t.parentNode, + nextSibling: (t) => t.nextSibling, + querySelector: (t) => Xr.querySelector(t), + setScopeId(t, e) { + t.setAttribute(e, ""); + }, + insertStaticContent(t, e, n, r, i, o) { + const s = n ? n.previousSibling : e.lastChild; + if (i && (i === o || i.nextSibling)) + for ( + ; + e.insertBefore(i.cloneNode(!0), n), + !(i === o || !(i = i.nextSibling)); + + ); + else { + ph.innerHTML = r ? `${t}` : t; + const l = ph.content; + if (r) { + const a = l.firstChild; + for (; a.firstChild; ) l.appendChild(a.firstChild); + l.removeChild(a); + } + e.insertBefore(l, n); + } + return [ + s ? s.nextSibling : e.firstChild, + n ? n.previousSibling : e.lastChild, + ]; + }, + }, + fr = "transition", + go = "animation", + Go = Symbol("_vtc"), + Oa = (t, { slots: e }) => ze(V2, Lv(t), e); +Oa.displayName = "Transition"; +const jg = { + name: String, + type: String, + css: { type: Boolean, default: !0 }, + duration: [String, Number, Object], + enterFromClass: String, + enterActiveClass: String, + enterToClass: String, + appearFromClass: String, + appearActiveClass: String, + appearToClass: String, + leaveFromClass: String, + leaveActiveClass: String, + leaveToClass: String, +}; +Oa.props = _t({}, mg, jg); +const Kr = (t, e = []) => { + we(t) ? t.forEach((n) => n(...e)) : t && t(...e); + }, + mh = (t) => (t ? (we(t) ? t.some((e) => e.length > 1) : t.length > 1) : !1); +function Lv(t) { + const e = {}; + for (const R in t) R in jg || (e[R] = t[R]); + if (t.css === !1) return e; + const { + name: n = "v", + type: r, + duration: i, + enterFromClass: o = `${n}-enter-from`, + enterActiveClass: s = `${n}-enter-active`, + enterToClass: l = `${n}-enter-to`, + appearFromClass: a = o, + appearActiveClass: u = s, + appearToClass: c = l, + leaveFromClass: f = `${n}-leave-from`, + leaveActiveClass: h = `${n}-leave-active`, + leaveToClass: p = `${n}-leave-to`, + } = t, + g = Dv(i), + v = g && g[0], + b = g && g[1], + { + onBeforeEnter: x, + onEnter: S, + onEnterCancelled: T, + onLeave: d, + onLeaveCancelled: y, + onBeforeAppear: m = x, + onAppear: w = S, + onAppearCancelled: k = T, + } = e, + _ = (R, P, L) => { + qr(R, P ? c : l), qr(R, P ? u : s), L && L(); + }, + C = (R, P) => { + (R._isLeaving = !1), qr(R, f), qr(R, p), qr(R, h), P && P(); + }, + E = (R) => (P, L) => { + const I = R ? w : S, + M = () => _(P, R, L); + Kr(I, [P, M]), + gh(() => { + qr(P, R ? a : o), hr(P, R ? c : l), mh(I) || yh(P, r, v, M); + }); + }; + return _t(e, { + onBeforeEnter(R) { + Kr(x, [R]), hr(R, o), hr(R, s); + }, + onBeforeAppear(R) { + Kr(m, [R]), hr(R, a), hr(R, u); + }, + onEnter: E(!1), + onAppear: E(!0), + onLeave(R, P) { + R._isLeaving = !0; + const L = () => C(R, P); + hr(R, f), + $v(), + hr(R, h), + gh(() => { + !R._isLeaving || + (qr(R, f), hr(R, p), mh(d) || yh(R, r, b, L)); + }), + Kr(d, [R, L]); + }, + onEnterCancelled(R) { + _(R, !1), Kr(T, [R]); + }, + onAppearCancelled(R) { + _(R, !0), Kr(k, [R]); + }, + onLeaveCancelled(R) { + C(R), Kr(y, [R]); + }, + }); +} +function Dv(t) { + if (t == null) return null; + if (it(t)) return [au(t.enter), au(t.leave)]; + { + const e = au(t); + return [e, e]; + } +} +function au(t) { + return Gy(t); +} +function hr(t, e) { + e.split(/\s+/).forEach((n) => n && t.classList.add(n)), + (t[Go] || (t[Go] = new Set())).add(e); +} +function qr(t, e) { + e.split(/\s+/).forEach((r) => r && t.classList.remove(r)); + const n = t[Go]; + n && (n.delete(e), n.size || (t[Go] = void 0)); +} +function gh(t) { + requestAnimationFrame(() => { + requestAnimationFrame(t); + }); +} +let Iv = 0; +function yh(t, e, n, r) { + const i = (t._endId = ++Iv), + o = () => { + i === t._endId && r(); + }; + if (n) return setTimeout(o, n); + const { type: s, timeout: l, propCount: a } = Bv(t, e); + if (!s) return r(); + const u = s + "end"; + let c = 0; + const f = () => { + t.removeEventListener(u, h), o(); + }, + h = (p) => { + p.target === t && ++c >= a && f(); + }; + setTimeout(() => { + c < a && f(); + }, l + 1), + t.addEventListener(u, h); +} +function Bv(t, e) { + const n = window.getComputedStyle(t), + r = (g) => (n[g] || "").split(", "), + i = r(`${fr}Delay`), + o = r(`${fr}Duration`), + s = vh(i, o), + l = r(`${go}Delay`), + a = r(`${go}Duration`), + u = vh(l, a); + let c = null, + f = 0, + h = 0; + e === fr + ? s > 0 && ((c = fr), (f = s), (h = o.length)) + : e === go + ? u > 0 && ((c = go), (f = u), (h = a.length)) + : ((f = Math.max(s, u)), + (c = f > 0 ? (s > u ? fr : go) : null), + (h = c ? (c === fr ? o.length : a.length) : 0)); + const p = + c === fr && + /\b(transform|all)(,|$)/.test(r(`${fr}Property`).toString()); + return { type: c, timeout: f, propCount: h, hasTransform: p }; +} +function vh(t, e) { + for (; t.length < e.length; ) t = t.concat(t); + return Math.max(...e.map((n, r) => bh(n) + bh(t[r]))); +} +function bh(t) { + return t === "auto" ? 0 : Number(t.slice(0, -1).replace(",", ".")) * 1e3; +} +function $v() { + return document.body.offsetHeight; +} +function zv(t, e, n) { + const r = t[Go]; + r && (e = (e ? [e, ...r] : [...r]).join(" ")), + e == null + ? t.removeAttribute("class") + : n + ? t.setAttribute("class", e) + : (t.className = e); +} +const Sd = Symbol("_vod"), + cc = { + beforeMount(t, { value: e }, { transition: n }) { + (t[Sd] = t.style.display === "none" ? "" : t.style.display), + n && e ? n.beforeEnter(t) : yo(t, e); + }, + mounted(t, { value: e }, { transition: n }) { + n && e && n.enter(t); + }, + updated(t, { value: e, oldValue: n }, { transition: r }) { + !e != !n && + (r + ? e + ? (r.beforeEnter(t), yo(t, !0), r.enter(t)) + : r.leave(t, () => { + yo(t, !1); + }) + : yo(t, e)); + }, + beforeUnmount(t, { value: e }) { + yo(t, e); + }, + }; +function yo(t, e) { + t.style.display = e ? t[Sd] : "none"; +} +function Hv(t, e, n) { + const r = t.style, + i = at(n); + if (n && !i) { + if (e && !at(e)) for (const o in e) n[o] == null && dc(r, o, ""); + for (const o in n) dc(r, o, n[o]); + } else { + const o = r.display; + i ? e !== n && (r.cssText = n) : e && t.removeAttribute("style"), + Sd in t && (r.display = o); + } +} +const wh = /\s*!important$/; +function dc(t, e, n) { + if (we(n)) n.forEach((r) => dc(t, e, r)); + else if ((n == null && (n = ""), e.startsWith("--"))) t.setProperty(e, n); + else { + const r = Fv(t, e); + wh.test(n) + ? t.setProperty(xi(r), n.replace(wh, ""), "important") + : (t[r] = n); + } +} +const xh = ["Webkit", "Moz", "ms"], + uu = {}; +function Fv(t, e) { + const n = uu[e]; + if (n) return n; + let r = Jn(e); + if (r !== "filter" && r in t) return (uu[e] = r); + r = ka(r); + for (let i = 0; i < xh.length; i++) { + const o = xh[i] + r; + if (o in t) return (uu[e] = o); + } + return e; +} +const kh = "http://www.w3.org/1999/xlink"; +function Vv(t, e, n, r, i) { + if (r && e.startsWith("xlink:")) + n == null + ? t.removeAttributeNS(kh, e.slice(6, e.length)) + : t.setAttributeNS(kh, e, n); + else { + const o = t2(e); + n == null || (o && !Bm(n)) + ? t.removeAttribute(e) + : t.setAttribute(e, o ? "" : n); + } +} +function Wv(t, e, n, r, i, o, s) { + if (e === "innerHTML" || e === "textContent") { + r && s(r, i, o), (t[e] = n == null ? "" : n); + return; + } + const l = t.tagName; + if (e === "value" && l !== "PROGRESS" && !l.includes("-")) { + t._value = n; + const u = l === "OPTION" ? t.getAttribute("value") : t.value, + c = n == null ? "" : n; + u !== c && (t.value = c), n == null && t.removeAttribute(e); + return; + } + let a = !1; + if (n === "" || n == null) { + const u = typeof t[e]; + u === "boolean" + ? (n = Bm(n)) + : n == null && u === "string" + ? ((n = ""), (a = !0)) + : u === "number" && ((n = 0), (a = !0)); + } + try { + t[e] = n; + } catch (u) {} + a && t.removeAttribute(e); +} +function Uv(t, e, n, r) { + t.addEventListener(e, n, r); +} +function Kv(t, e, n, r) { + t.removeEventListener(e, n, r); +} +const Ch = Symbol("_vei"); +function qv(t, e, n, r, i = null) { + const o = t[Ch] || (t[Ch] = {}), + s = o[e]; + if (r && s) s.value = r; + else { + const [l, a] = Jv(e); + if (r) { + const u = (o[e] = Qv(r, i)); + Uv(t, l, u, a); + } else s && (Kv(t, l, s, a), (o[e] = void 0)); + } +} +const Sh = /(?:Once|Passive|Capture)$/; +function Jv(t) { + let e; + if (Sh.test(t)) { + e = {}; + let r; + for (; (r = t.match(Sh)); ) + (t = t.slice(0, t.length - r[0].length)), + (e[r[0].toLowerCase()] = !0); + } + return [t[2] === ":" ? t.slice(3) : xi(t.slice(2)), e]; +} +let cu = 0; +const Gv = Promise.resolve(), + Yv = () => cu || (Gv.then(() => (cu = 0)), (cu = Date.now())); +function Qv(t, e) { + const n = (r) => { + if (!r._vts) r._vts = Date.now(); + else if (r._vts <= n.attached) return; + gn(Xv(r, n.value), e, 5, [r]); + }; + return (n.value = t), (n.attached = Yv()), n; +} +function Xv(t, e) { + if (we(e)) { + const n = t.stopImmediatePropagation; + return ( + (t.stopImmediatePropagation = () => { + n.call(t), (t._stopped = !0); + }), + e.map((r) => (i) => !i._stopped && r && r(i)) + ); + } else return e; +} +const _h = /^on[a-z]/, + Zv = (t, e, n, r, i = !1, o, s, l, a) => { + e === "class" + ? zv(t, r, i) + : e === "style" + ? Hv(t, n, r) + : va(e) + ? od(e) || qv(t, e, n, r, s) + : ( + e[0] === "." + ? ((e = e.slice(1)), !0) + : e[0] === "^" + ? ((e = e.slice(1)), !1) + : eb(t, e, r, i) + ) + ? Wv(t, e, r, o, s, l, a) + : (e === "true-value" + ? (t._trueValue = r) + : e === "false-value" && (t._falseValue = r), + Vv(t, e, r, i)); + }; +function eb(t, e, n, r) { + return r + ? !!( + e === "innerHTML" || + e === "textContent" || + (e in t && _h.test(e) && Ee(n)) + ) + : e === "spellcheck" || + e === "draggable" || + e === "translate" || + e === "form" || + (e === "list" && t.tagName === "INPUT") || + (e === "type" && t.tagName === "TEXTAREA") || + (_h.test(e) && at(n)) + ? !1 + : e in t; +} +const tb = ["ctrl", "shift", "alt", "meta"], + nb = { + stop: (t) => t.stopPropagation(), + prevent: (t) => t.preventDefault(), + self: (t) => t.target !== t.currentTarget, + ctrl: (t) => !t.ctrlKey, + shift: (t) => !t.shiftKey, + alt: (t) => !t.altKey, + meta: (t) => !t.metaKey, + left: (t) => "button" in t && t.button !== 0, + middle: (t) => "button" in t && t.button !== 1, + right: (t) => "button" in t && t.button !== 2, + exact: (t, e) => tb.some((n) => t[`${n}Key`] && !e.includes(n)), + }, + _d = + (t, e) => + (n, ...r) => { + for (let i = 0; i < e.length; i++) { + const o = nb[e[i]]; + if (o && o(n, e)) return; + } + return t(n, ...r); + }, + rb = { + esc: "escape", + space: " ", + up: "arrow-up", + left: "arrow-left", + right: "arrow-right", + down: "arrow-down", + delete: "backspace", + }, + ib = (t, e) => (n) => { + if (!("key" in n)) return; + const r = xi(n.key); + if (e.some((i) => i === r || rb[i] === r)) return t(n); + }, + ob = _t({ patchProp: Zv }, jv); +let Mh; +function sb() { + return Mh || (Mh = hv(ob)); +} +const cR = (...t) => { + const e = sb().createApp(...t), + { mount: n } = e; + return ( + (e.mount = (r) => { + const i = lb(r); + if (!i) return; + const o = e._component; + !Ee(o) && !o.render && !o.template && (o.template = i.innerHTML), + (i.innerHTML = ""); + const s = n(i, !1, i instanceof SVGElement); + return ( + i instanceof Element && + (i.removeAttribute("v-cloak"), + i.setAttribute("data-v-app", "")), + s + ); + }), + e + ); +}; +function lb(t) { + return at(t) ? document.querySelector(t) : t; +} +const ab = "modulepreload", + ub = function (t) { + return "/" + t; + }, + Eh = {}, + Ds = function (e, n, r) { + if (!n || n.length === 0) return e(); + const i = document.getElementsByTagName("link"); + return Promise.all( + n.map((o) => { + if (((o = ub(o)), o in Eh)) return; + Eh[o] = !0; + const s = o.endsWith(".css"), + l = s ? '[rel="stylesheet"]' : ""; + if (!!r) + for (let c = i.length - 1; c >= 0; c--) { + const f = i[c]; + if (f.href === o && (!s || f.rel === "stylesheet")) + return; + } + else if (document.querySelector(`link[href="${o}"]${l}`)) + return; + const u = document.createElement("link"); + if ( + ((u.rel = s ? "stylesheet" : ab), + s || ((u.as = "script"), (u.crossOrigin = "")), + (u.href = o), + document.head.appendChild(u), + s) + ) + return new Promise((c, f) => { + u.addEventListener("load", c), + u.addEventListener("error", () => + f(new Error(`Unable to preload CSS for ${o}`)) + ); + }); + }) + ).then(() => e()); + }; +/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */ const Oi = typeof window != "undefined"; +function cb(t) { + return t.__esModule || t[Symbol.toStringTag] === "Module"; +} +const Xe = Object.assign; +function du(t, e) { + const n = {}; + for (const r in e) { + const i = e[r]; + n[r] = Nn(i) ? i.map(t) : t(i); + } + return n; +} +const No = () => {}, + Nn = Array.isArray, + db = /\/$/, + fb = (t) => t.replace(db, ""); +function fu(t, e, n = "/") { + let r, + i = {}, + o = "", + s = ""; + const l = e.indexOf("#"); + let a = e.indexOf("?"); + return ( + l < a && l >= 0 && (a = -1), + a > -1 && + ((r = e.slice(0, a)), + (o = e.slice(a + 1, l > -1 ? l : e.length)), + (i = t(o))), + l > -1 && ((r = r || e.slice(0, l)), (s = e.slice(l, e.length))), + (r = gb(r != null ? r : e, n)), + { fullPath: r + (o && "?") + o + s, path: r, query: i, hash: s } + ); +} +function hb(t, e) { + const n = e.query ? t(e.query) : ""; + return e.path + (n && "?") + n + (e.hash || ""); +} +function Ah(t, e) { + return !e || !t.toLowerCase().startsWith(e.toLowerCase()) + ? t + : t.slice(e.length) || "/"; +} +function pb(t, e, n) { + const r = e.matched.length - 1, + i = n.matched.length - 1; + return ( + r > -1 && + r === i && + qi(e.matched[r], n.matched[i]) && + Lg(e.params, n.params) && + t(e.query) === t(n.query) && + e.hash === n.hash + ); +} +function qi(t, e) { + return (t.aliasOf || t) === (e.aliasOf || e); +} +function Lg(t, e) { + if (Object.keys(t).length !== Object.keys(e).length) return !1; + for (const n in t) if (!mb(t[n], e[n])) return !1; + return !0; +} +function mb(t, e) { + return Nn(t) ? Th(t, e) : Nn(e) ? Th(e, t) : t === e; +} +function Th(t, e) { + return Nn(e) + ? t.length === e.length && t.every((n, r) => n === e[r]) + : t.length === 1 && t[0] === e; +} +function gb(t, e) { + if (t.startsWith("/")) return t; + if (!t) return e; + const n = e.split("/"), + r = t.split("/"), + i = r[r.length - 1]; + (i === ".." || i === ".") && r.push(""); + let o = n.length - 1, + s, + l; + for (s = 0; s < r.length; s++) + if (((l = r[s]), l !== ".")) + if (l === "..") o > 1 && o--; + else break; + return ( + n.slice(0, o).join("/") + + "/" + + r.slice(s - (s === r.length ? 1 : 0)).join("/") + ); +} +var Yo; +(function (t) { + (t.pop = "pop"), (t.push = "push"); +})(Yo || (Yo = {})); +var jo; +(function (t) { + (t.back = "back"), (t.forward = "forward"), (t.unknown = ""); +})(jo || (jo = {})); +function yb(t) { + if (!t) + if (Oi) { + const e = document.querySelector("base"); + (t = (e && e.getAttribute("href")) || "/"), + (t = t.replace(/^\w+:\/\/[^\/]+/, "")); + } else t = "/"; + return t[0] !== "/" && t[0] !== "#" && (t = "/" + t), fb(t); +} +const vb = /^[^#]+#/; +function bb(t, e) { + return t.replace(vb, "#") + e; +} +function wb(t, e) { + const n = document.documentElement.getBoundingClientRect(), + r = t.getBoundingClientRect(); + return { + behavior: e.behavior, + left: r.left - n.left - (e.left || 0), + top: r.top - n.top - (e.top || 0), + }; +} +const Ra = () => ({ left: window.pageXOffset, top: window.pageYOffset }); +function xb(t) { + let e; + if ("el" in t) { + const n = t.el, + r = typeof n == "string" && n.startsWith("#"), + i = + typeof n == "string" + ? r + ? document.getElementById(n.slice(1)) + : document.querySelector(n) + : n; + if (!i) return; + e = wb(i, t); + } else e = t; + "scrollBehavior" in document.documentElement.style + ? window.scrollTo(e) + : window.scrollTo( + e.left != null ? e.left : window.pageXOffset, + e.top != null ? e.top : window.pageYOffset + ); +} +function Oh(t, e) { + return (history.state ? history.state.position - e : -1) + t; +} +const fc = new Map(); +function kb(t, e) { + fc.set(t, e); +} +function Cb(t) { + const e = fc.get(t); + return fc.delete(t), e; +} +let Sb = () => location.protocol + "//" + location.host; +function Dg(t, e) { + const { pathname: n, search: r, hash: i } = e, + o = t.indexOf("#"); + if (o > -1) { + let l = i.includes(t.slice(o)) ? t.slice(o).length : 1, + a = i.slice(l); + return a[0] !== "/" && (a = "/" + a), Ah(a, ""); + } + return Ah(n, t) + r + i; +} +function _b(t, e, n, r) { + let i = [], + o = [], + s = null; + const l = ({ state: h }) => { + const p = Dg(t, location), + g = n.value, + v = e.value; + let b = 0; + if (h) { + if (((n.value = p), (e.value = h), s && s === g)) { + s = null; + return; + } + b = v ? h.position - v.position : 0; + } else r(p); + i.forEach((x) => { + x(n.value, g, { + delta: b, + type: Yo.pop, + direction: b ? (b > 0 ? jo.forward : jo.back) : jo.unknown, + }); + }); + }; + function a() { + s = n.value; + } + function u(h) { + i.push(h); + const p = () => { + const g = i.indexOf(h); + g > -1 && i.splice(g, 1); + }; + return o.push(p), p; + } + function c() { + const { history: h } = window; + !h.state || h.replaceState(Xe({}, h.state, { scroll: Ra() }), ""); + } + function f() { + for (const h of o) h(); + (o = []), + window.removeEventListener("popstate", l), + window.removeEventListener("beforeunload", c); + } + return ( + window.addEventListener("popstate", l), + window.addEventListener("beforeunload", c, { passive: !0 }), + { pauseListeners: a, listen: u, destroy: f } + ); +} +function Rh(t, e, n, r = !1, i = !1) { + return { + back: t, + current: e, + forward: n, + replaced: r, + position: window.history.length, + scroll: i ? Ra() : null, + }; +} +function Mb(t) { + const { history: e, location: n } = window, + r = { value: Dg(t, n) }, + i = { value: e.state }; + i.value || + o( + r.value, + { + back: null, + current: r.value, + forward: null, + position: e.length - 1, + replaced: !0, + scroll: null, + }, + !0 + ); + function o(a, u, c) { + const f = t.indexOf("#"), + h = + f > -1 + ? (n.host && document.querySelector("base") + ? t + : t.slice(f)) + a + : Sb() + t + a; + try { + e[c ? "replaceState" : "pushState"](u, "", h), (i.value = u); + } catch (p) { + console.error(p), n[c ? "replace" : "assign"](h); + } + } + function s(a, u) { + const c = Xe({}, e.state, Rh(i.value.back, a, i.value.forward, !0), u, { + position: i.value.position, + }); + o(a, c, !0), (r.value = a); + } + function l(a, u) { + const c = Xe({}, i.value, e.state, { forward: a, scroll: Ra() }); + o(c.current, c, !0); + const f = Xe({}, Rh(r.value, a, null), { position: c.position + 1 }, u); + o(a, f, !1), (r.value = a); + } + return { location: r, state: i, push: l, replace: s }; +} +function dR(t) { + t = yb(t); + const e = Mb(t), + n = _b(t, e.state, e.location, e.replace); + function r(o, s = !0) { + s || n.pauseListeners(), history.go(o); + } + const i = Xe( + { location: "", base: t, go: r, createHref: bb.bind(null, t) }, + e, + n + ); + return ( + Object.defineProperty(i, "location", { + enumerable: !0, + get: () => e.location.value, + }), + Object.defineProperty(i, "state", { + enumerable: !0, + get: () => e.state.value, + }), + i + ); +} +function Eb(t) { + return typeof t == "string" || (t && typeof t == "object"); +} +function Ig(t) { + return typeof t == "string" || typeof t == "symbol"; +} +const pr = { + path: "/", + name: void 0, + params: {}, + query: {}, + hash: "", + fullPath: "/", + matched: [], + meta: {}, + redirectedFrom: void 0, + }, + Bg = Symbol(""); +var Ph; +(function (t) { + (t[(t.aborted = 4)] = "aborted"), + (t[(t.cancelled = 8)] = "cancelled"), + (t[(t.duplicated = 16)] = "duplicated"); +})(Ph || (Ph = {})); +function Ji(t, e) { + return Xe(new Error(), { type: t, [Bg]: !0 }, e); +} +function er(t, e) { + return t instanceof Error && Bg in t && (e == null || !!(t.type & e)); +} +const Nh = "[^/]+?", + Ab = { sensitive: !1, strict: !1, start: !0, end: !0 }, + Tb = /[.+*?^${}()[\]/\\]/g; +function Ob(t, e) { + const n = Xe({}, Ab, e), + r = []; + let i = n.start ? "^" : ""; + const o = []; + for (const u of t) { + const c = u.length ? [] : [90]; + n.strict && !u.length && (i += "/"); + for (let f = 0; f < u.length; f++) { + const h = u[f]; + let p = 40 + (n.sensitive ? 0.25 : 0); + if (h.type === 0) + f || (i += "/"), (i += h.value.replace(Tb, "\\$&")), (p += 40); + else if (h.type === 1) { + const { value: g, repeatable: v, optional: b, regexp: x } = h; + o.push({ name: g, repeatable: v, optional: b }); + const S = x || Nh; + if (S !== Nh) { + p += 10; + try { + new RegExp(`(${S})`); + } catch (d) { + throw new Error( + `Invalid custom RegExp for param "${g}" (${S}): ` + + d.message + ); + } + } + let T = v ? `((?:${S})(?:/(?:${S}))*)` : `(${S})`; + f || (T = b && u.length < 2 ? `(?:/${T})` : "/" + T), + b && (T += "?"), + (i += T), + (p += 20), + b && (p += -8), + v && (p += -20), + S === ".*" && (p += -50); + } + c.push(p); + } + r.push(c); + } + if (n.strict && n.end) { + const u = r.length - 1; + r[u][r[u].length - 1] += 0.7000000000000001; + } + n.strict || (i += "/?"), n.end ? (i += "$") : n.strict && (i += "(?:/|$)"); + const s = new RegExp(i, n.sensitive ? "" : "i"); + function l(u) { + const c = u.match(s), + f = {}; + if (!c) return null; + for (let h = 1; h < c.length; h++) { + const p = c[h] || "", + g = o[h - 1]; + f[g.name] = p && g.repeatable ? p.split("/") : p; + } + return f; + } + function a(u) { + let c = "", + f = !1; + for (const h of t) { + (!f || !c.endsWith("/")) && (c += "/"), (f = !1); + for (const p of h) + if (p.type === 0) c += p.value; + else if (p.type === 1) { + const { value: g, repeatable: v, optional: b } = p, + x = g in u ? u[g] : ""; + if (Nn(x) && !v) + throw new Error( + `Provided param "${g}" is an array but it is not repeatable (* or + modifiers)` + ); + const S = Nn(x) ? x.join("/") : x; + if (!S) + if (b) + h.length < 2 && + (c.endsWith("/") + ? (c = c.slice(0, -1)) + : (f = !0)); + else throw new Error(`Missing required param "${g}"`); + c += S; + } + } + return c || "/"; + } + return { re: s, score: r, keys: o, parse: l, stringify: a }; +} +function Rb(t, e) { + let n = 0; + for (; n < t.length && n < e.length; ) { + const r = e[n] - t[n]; + if (r) return r; + n++; + } + return t.length < e.length + ? t.length === 1 && t[0] === 40 + 40 + ? -1 + : 1 + : t.length > e.length + ? e.length === 1 && e[0] === 40 + 40 + ? 1 + : -1 + : 0; +} +function Pb(t, e) { + let n = 0; + const r = t.score, + i = e.score; + for (; n < r.length && n < i.length; ) { + const o = Rb(r[n], i[n]); + if (o) return o; + n++; + } + if (Math.abs(i.length - r.length) === 1) { + if (jh(r)) return 1; + if (jh(i)) return -1; + } + return i.length - r.length; +} +function jh(t) { + const e = t[t.length - 1]; + return t.length > 0 && e[e.length - 1] < 0; +} +const Nb = { type: 0, value: "" }, + jb = /[a-zA-Z0-9_]/; +function Lb(t) { + if (!t) return [[]]; + if (t === "/") return [[Nb]]; + if (!t.startsWith("/")) throw new Error(`Invalid path "${t}"`); + function e(p) { + throw new Error(`ERR (${n})/"${u}": ${p}`); + } + let n = 0, + r = n; + const i = []; + let o; + function s() { + o && i.push(o), (o = []); + } + let l = 0, + a, + u = "", + c = ""; + function f() { + !u || + (n === 0 + ? o.push({ type: 0, value: u }) + : n === 1 || n === 2 || n === 3 + ? (o.length > 1 && + (a === "*" || a === "+") && + e( + `A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.` + ), + o.push({ + type: 1, + value: u, + regexp: c, + repeatable: a === "*" || a === "+", + optional: a === "*" || a === "?", + })) + : e("Invalid state to consume buffer"), + (u = "")); + } + function h() { + u += a; + } + for (; l < t.length; ) { + if (((a = t[l++]), a === "\\" && n !== 2)) { + (r = n), (n = 4); + continue; + } + switch (n) { + case 0: + a === "/" ? (u && f(), s()) : a === ":" ? (f(), (n = 1)) : h(); + break; + case 4: + h(), (n = r); + break; + case 1: + a === "(" + ? (n = 2) + : jb.test(a) + ? h() + : (f(), + (n = 0), + a !== "*" && a !== "?" && a !== "+" && l--); + break; + case 2: + a === ")" + ? c[c.length - 1] == "\\" + ? (c = c.slice(0, -1) + a) + : (n = 3) + : (c += a); + break; + case 3: + f(), + (n = 0), + a !== "*" && a !== "?" && a !== "+" && l--, + (c = ""); + break; + default: + e("Unknown state"); + break; + } + } + return ( + n === 2 && e(`Unfinished custom RegExp for param "${u}"`), f(), s(), i + ); +} +function Db(t, e, n) { + const r = Ob(Lb(t.path), n), + i = Xe(r, { record: t, parent: e, children: [], alias: [] }); + return e && !i.record.aliasOf == !e.record.aliasOf && e.children.push(i), i; +} +function Ib(t, e) { + const n = [], + r = new Map(); + e = Ih({ strict: !1, end: !0, sensitive: !1 }, e); + function i(c) { + return r.get(c); + } + function o(c, f, h) { + const p = !h, + g = Bb(c); + g.aliasOf = h && h.record; + const v = Ih(e, c), + b = [g]; + if ("alias" in c) { + const T = typeof c.alias == "string" ? [c.alias] : c.alias; + for (const d of T) + b.push( + Xe({}, g, { + components: h ? h.record.components : g.components, + path: d, + aliasOf: h ? h.record : g, + }) + ); + } + let x, S; + for (const T of b) { + const { path: d } = T; + if (f && d[0] !== "/") { + const y = f.record.path, + m = y[y.length - 1] === "/" ? "" : "/"; + T.path = f.record.path + (d && m + d); + } + if ( + ((x = Db(T, f, v)), + h + ? h.alias.push(x) + : ((S = S || x), + S !== x && S.alias.push(x), + p && c.name && !Dh(x) && s(c.name)), + g.children) + ) { + const y = g.children; + for (let m = 0; m < y.length; m++) + o(y[m], x, h && h.children[m]); + } + (h = h || x), + ((x.record.components && + Object.keys(x.record.components).length) || + x.record.name || + x.record.redirect) && + a(x); + } + return S + ? () => { + s(S); + } + : No; + } + function s(c) { + if (Ig(c)) { + const f = r.get(c); + f && + (r.delete(c), + n.splice(n.indexOf(f), 1), + f.children.forEach(s), + f.alias.forEach(s)); + } else { + const f = n.indexOf(c); + f > -1 && + (n.splice(f, 1), + c.record.name && r.delete(c.record.name), + c.children.forEach(s), + c.alias.forEach(s)); + } + } + function l() { + return n; + } + function a(c) { + let f = 0; + for ( + ; + f < n.length && + Pb(c, n[f]) >= 0 && + (c.record.path !== n[f].record.path || !$g(c, n[f])); + + ) + f++; + n.splice(f, 0, c), c.record.name && !Dh(c) && r.set(c.record.name, c); + } + function u(c, f) { + let h, + p = {}, + g, + v; + if ("name" in c && c.name) { + if (((h = r.get(c.name)), !h)) throw Ji(1, { location: c }); + (v = h.record.name), + (p = Xe( + Lh( + f.params, + h.keys.filter((S) => !S.optional).map((S) => S.name) + ), + c.params && + Lh( + c.params, + h.keys.map((S) => S.name) + ) + )), + (g = h.stringify(p)); + } else if ("path" in c) + (g = c.path), + (h = n.find((S) => S.re.test(g))), + h && ((p = h.parse(g)), (v = h.record.name)); + else { + if ( + ((h = f.name + ? r.get(f.name) + : n.find((S) => S.re.test(f.path))), + !h) + ) + throw Ji(1, { location: c, currentLocation: f }); + (v = h.record.name), + (p = Xe({}, f.params, c.params)), + (g = h.stringify(p)); + } + const b = []; + let x = h; + for (; x; ) b.unshift(x.record), (x = x.parent); + return { name: v, path: g, params: p, matched: b, meta: zb(b) }; + } + return ( + t.forEach((c) => o(c)), + { + addRoute: o, + resolve: u, + removeRoute: s, + getRoutes: l, + getRecordMatcher: i, + } + ); +} +function Lh(t, e) { + const n = {}; + for (const r of e) r in t && (n[r] = t[r]); + return n; +} +function Bb(t) { + return { + path: t.path, + redirect: t.redirect, + name: t.name, + meta: t.meta || {}, + aliasOf: void 0, + beforeEnter: t.beforeEnter, + props: $b(t), + children: t.children || [], + instances: {}, + leaveGuards: new Set(), + updateGuards: new Set(), + enterCallbacks: {}, + components: + "components" in t + ? t.components || null + : t.component && { default: t.component }, + }; +} +function $b(t) { + const e = {}, + n = t.props || !1; + if ("component" in t) e.default = n; + else for (const r in t.components) e[r] = typeof n == "object" ? n[r] : n; + return e; +} +function Dh(t) { + for (; t; ) { + if (t.record.aliasOf) return !0; + t = t.parent; + } + return !1; +} +function zb(t) { + return t.reduce((e, n) => Xe(e, n.meta), {}); +} +function Ih(t, e) { + const n = {}; + for (const r in t) n[r] = r in e ? e[r] : t[r]; + return n; +} +function $g(t, e) { + return e.children.some((n) => n === t || $g(t, n)); +} +const zg = /#/g, + Hb = /&/g, + Fb = /\//g, + Vb = /=/g, + Wb = /\?/g, + Hg = /\+/g, + Ub = /%5B/g, + Kb = /%5D/g, + Fg = /%5E/g, + qb = /%60/g, + Vg = /%7B/g, + Jb = /%7C/g, + Wg = /%7D/g, + Gb = /%20/g; +function Md(t) { + return encodeURI("" + t) + .replace(Jb, "|") + .replace(Ub, "[") + .replace(Kb, "]"); +} +function Yb(t) { + return Md(t).replace(Vg, "{").replace(Wg, "}").replace(Fg, "^"); +} +function hc(t) { + return Md(t) + .replace(Hg, "%2B") + .replace(Gb, "+") + .replace(zg, "%23") + .replace(Hb, "%26") + .replace(qb, "`") + .replace(Vg, "{") + .replace(Wg, "}") + .replace(Fg, "^"); +} +function Qb(t) { + return hc(t).replace(Vb, "%3D"); +} +function Xb(t) { + return Md(t).replace(zg, "%23").replace(Wb, "%3F"); +} +function Zb(t) { + return t == null ? "" : Xb(t).replace(Fb, "%2F"); +} +function Cl(t) { + try { + return decodeURIComponent("" + t); + } catch (e) {} + return "" + t; +} +function ew(t) { + const e = {}; + if (t === "" || t === "?") return e; + const r = (t[0] === "?" ? t.slice(1) : t).split("&"); + for (let i = 0; i < r.length; ++i) { + const o = r[i].replace(Hg, " "), + s = o.indexOf("="), + l = Cl(s < 0 ? o : o.slice(0, s)), + a = s < 0 ? null : Cl(o.slice(s + 1)); + if (l in e) { + let u = e[l]; + Nn(u) || (u = e[l] = [u]), u.push(a); + } else e[l] = a; + } + return e; +} +function Bh(t) { + let e = ""; + for (let n in t) { + const r = t[n]; + if (((n = Qb(n)), r == null)) { + r !== void 0 && (e += (e.length ? "&" : "") + n); + continue; + } + (Nn(r) ? r.map((o) => o && hc(o)) : [r && hc(r)]).forEach((o) => { + o !== void 0 && + ((e += (e.length ? "&" : "") + n), o != null && (e += "=" + o)); + }); + } + return e; +} +function tw(t) { + const e = {}; + for (const n in t) { + const r = t[n]; + r !== void 0 && + (e[n] = Nn(r) + ? r.map((i) => (i == null ? null : "" + i)) + : r == null + ? r + : "" + r); + } + return e; +} +const nw = Symbol(""), + $h = Symbol(""), + Pa = Symbol(""), + Ug = Symbol(""), + pc = Symbol(""); +function vo() { + let t = []; + function e(r) { + return ( + t.push(r), + () => { + const i = t.indexOf(r); + i > -1 && t.splice(i, 1); + } + ); + } + function n() { + t = []; + } + return { add: e, list: () => t.slice(), reset: n }; +} +function vr(t, e, n, r, i) { + const o = r && (r.enterCallbacks[i] = r.enterCallbacks[i] || []); + return () => + new Promise((s, l) => { + const a = (f) => { + f === !1 + ? l(Ji(4, { from: n, to: e })) + : f instanceof Error + ? l(f) + : Eb(f) + ? l(Ji(2, { from: e, to: f })) + : (o && + r.enterCallbacks[i] === o && + typeof f == "function" && + o.push(f), + s()); + }, + u = t.call(r && r.instances[i], e, n, a); + let c = Promise.resolve(u); + t.length < 3 && (c = c.then(a)), c.catch((f) => l(f)); + }); +} +function hu(t, e, n, r) { + const i = []; + for (const o of t) + for (const s in o.components) { + let l = o.components[s]; + if (!(e !== "beforeRouteEnter" && !o.instances[s])) + if (rw(l)) { + const u = (l.__vccOpts || l)[e]; + u && i.push(vr(u, n, r, o, s)); + } else { + let a = l(); + i.push(() => + a.then((u) => { + if (!u) + return Promise.reject( + new Error( + `Couldn't resolve component "${s}" at "${o.path}"` + ) + ); + const c = cb(u) ? u.default : u; + o.components[s] = c; + const h = (c.__vccOpts || c)[e]; + return h && vr(h, n, r, o, s)(); + }) + ); + } + } + return i; +} +function rw(t) { + return ( + typeof t == "object" || + "displayName" in t || + "props" in t || + "__vccOpts" in t + ); +} +function zh(t) { + const e = qe(Pa), + n = qe(Ug), + r = $(() => e.resolve(ne(t.to))), + i = $(() => { + const { matched: a } = r.value, + { length: u } = a, + c = a[u - 1], + f = n.matched; + if (!c || !f.length) return -1; + const h = f.findIndex(qi.bind(null, c)); + if (h > -1) return h; + const p = Hh(a[u - 2]); + return u > 1 && Hh(c) === p && f[f.length - 1].path !== p + ? f.findIndex(qi.bind(null, a[u - 2])) + : h; + }), + o = $(() => i.value > -1 && lw(n.params, r.value.params)), + s = $( + () => + i.value > -1 && + i.value === n.matched.length - 1 && + Lg(n.params, r.value.params) + ); + function l(a = {}) { + return sw(a) + ? e[ne(t.replace) ? "replace" : "push"](ne(t.to)).catch(No) + : Promise.resolve(); + } + return { + route: r, + href: $(() => r.value.href), + isActive: o, + isExactActive: s, + navigate: l, + }; +} +const iw = xe({ + name: "RouterLink", + compatConfig: { MODE: 3 }, + props: { + to: { type: [String, Object], required: !0 }, + replace: Boolean, + activeClass: String, + exactActiveClass: String, + custom: Boolean, + ariaCurrentValue: { type: String, default: "page" }, + }, + useLink: zh, + setup(t, { slots: e }) { + const n = Sn(zh(t)), + { options: r } = qe(Pa), + i = $(() => ({ + [Fh( + t.activeClass, + r.linkActiveClass, + "router-link-active" + )]: n.isActive, + [Fh( + t.exactActiveClass, + r.linkExactActiveClass, + "router-link-exact-active" + )]: n.isExactActive, + })); + return () => { + const o = e.default && e.default(n); + return t.custom + ? o + : ze( + "a", + { + "aria-current": n.isExactActive + ? t.ariaCurrentValue + : null, + href: n.href, + onClick: n.navigate, + class: i.value, + }, + o + ); + }; + }, + }), + ow = iw; +function sw(t) { + if ( + !(t.metaKey || t.altKey || t.ctrlKey || t.shiftKey) && + !t.defaultPrevented && + !(t.button !== void 0 && t.button !== 0) + ) { + if (t.currentTarget && t.currentTarget.getAttribute) { + const e = t.currentTarget.getAttribute("target"); + if (/\b_blank\b/i.test(e)) return; + } + return t.preventDefault && t.preventDefault(), !0; + } +} +function lw(t, e) { + for (const n in e) { + const r = e[n], + i = t[n]; + if (typeof r == "string") { + if (r !== i) return !1; + } else if ( + !Nn(i) || + i.length !== r.length || + r.some((o, s) => o !== i[s]) + ) + return !1; + } + return !0; +} +function Hh(t) { + return t ? (t.aliasOf ? t.aliasOf.path : t.path) : ""; +} +const Fh = (t, e, n) => (t != null ? t : e != null ? e : n), + aw = xe({ + name: "RouterView", + inheritAttrs: !1, + props: { name: { type: String, default: "default" }, route: Object }, + compatConfig: { MODE: 3 }, + setup(t, { attrs: e, slots: n }) { + const r = qe(pc), + i = $(() => t.route || r.value), + o = qe($h, 0), + s = $(() => { + let u = ne(o); + const { matched: c } = i.value; + let f; + for (; (f = c[u]) && !f.components; ) u++; + return u; + }), + l = $(() => i.value.matched[s.value]); + kt( + $h, + $(() => s.value + 1) + ), + kt(nw, l), + kt(pc, i); + const a = oe(); + return ( + Rt( + () => [a.value, l.value, t.name], + ([u, c, f], [h, p, g]) => { + c && + ((c.instances[f] = u), + p && + p !== c && + u && + u === h && + (c.leaveGuards.size || + (c.leaveGuards = p.leaveGuards), + c.updateGuards.size || + (c.updateGuards = p.updateGuards))), + u && + c && + (!p || !qi(c, p) || !h) && + (c.enterCallbacks[f] || []).forEach((v) => + v(u) + ); + }, + { flush: "post" } + ), + () => { + const u = i.value, + c = t.name, + f = l.value, + h = f && f.components[c]; + if (!h) return Vh(n.default, { Component: h, route: u }); + const p = f.props[c], + g = p + ? p === !0 + ? u.params + : typeof p == "function" + ? p(u) + : p + : null, + b = ze( + h, + Xe({}, g, e, { + onVnodeUnmounted: (x) => { + x.component.isUnmounted && + (f.instances[c] = null); + }, + ref: a, + }) + ); + return Vh(n.default, { Component: b, route: u }) || b; + } + ); + }, + }); +function Vh(t, e) { + if (!t) return null; + const n = t(e); + return n.length === 1 ? n[0] : n; +} +const uw = aw; +function fR(t) { + const e = Ib(t.routes, t), + n = t.parseQuery || ew, + r = t.stringifyQuery || Bh, + i = t.history, + o = vo(), + s = vo(), + l = vo(), + a = rg(pr); + let u = pr; + Oi && + t.scrollBehavior && + "scrollRestoration" in history && + (history.scrollRestoration = "manual"); + const c = du.bind(null, (z) => "" + z), + f = du.bind(null, Zb), + h = du.bind(null, Cl); + function p(z, X) { + let ee, ue; + return ( + Ig(z) ? ((ee = e.getRecordMatcher(z)), (ue = X)) : (ue = z), + e.addRoute(ue, ee) + ); + } + function g(z) { + const X = e.getRecordMatcher(z); + X && e.removeRoute(X); + } + function v() { + return e.getRoutes().map((z) => z.record); + } + function b(z) { + return !!e.getRecordMatcher(z); + } + function x(z, X) { + if (((X = Xe({}, X || a.value)), typeof z == "string")) { + const j = fu(n, z, X.path), + H = e.resolve({ path: j.path }, X), + V = i.createHref(j.fullPath); + return Xe(j, H, { + params: h(H.params), + hash: Cl(j.hash), + redirectedFrom: void 0, + href: V, + }); + } + let ee; + if ("path" in z) ee = Xe({}, z, { path: fu(n, z.path, X.path).path }); + else { + const j = Xe({}, z.params); + for (const H in j) j[H] == null && delete j[H]; + (ee = Xe({}, z, { params: f(j) })), (X.params = f(X.params)); + } + const ue = e.resolve(ee, X), + Pe = z.hash || ""; + ue.params = c(h(ue.params)); + const A = hb(r, Xe({}, z, { hash: Yb(Pe), path: ue.path })), + O = i.createHref(A); + return Xe( + { + fullPath: A, + hash: Pe, + query: r === Bh ? tw(z.query) : z.query || {}, + }, + ue, + { redirectedFrom: void 0, href: O } + ); + } + function S(z) { + return typeof z == "string" ? fu(n, z, a.value.path) : Xe({}, z); + } + function T(z, X) { + if (u !== z) return Ji(8, { from: X, to: z }); + } + function d(z) { + return w(z); + } + function y(z) { + return d(Xe(S(z), { replace: !0 })); + } + function m(z) { + const X = z.matched[z.matched.length - 1]; + if (X && X.redirect) { + const { redirect: ee } = X; + let ue = typeof ee == "function" ? ee(z) : ee; + return ( + typeof ue == "string" && + ((ue = + ue.includes("?") || ue.includes("#") + ? (ue = S(ue)) + : { path: ue }), + (ue.params = {})), + Xe( + { + query: z.query, + hash: z.hash, + params: "path" in ue ? {} : z.params, + }, + ue + ) + ); + } + } + function w(z, X) { + const ee = (u = x(z)), + ue = a.value, + Pe = z.state, + A = z.force, + O = z.replace === !0, + j = m(ee); + if (j) + return w( + Xe(S(j), { + state: typeof j == "object" ? Xe({}, Pe, j.state) : Pe, + force: A, + replace: O, + }), + X || ee + ); + const H = ee; + H.redirectedFrom = X; + let V; + return ( + !A && + pb(r, ue, ee) && + ((V = Ji(16, { to: H, from: ue })), Q(ue, ue, !0, !1)), + (V ? Promise.resolve(V) : C(H, ue)) + .catch((q) => (er(q) ? (er(q, 2) ? q : ae(q)) : D(q, H, ue))) + .then((q) => { + if (q) { + if (er(q, 2)) + return w( + Xe({ replace: O }, S(q.to), { + state: + typeof q.to == "object" + ? Xe({}, Pe, q.to.state) + : Pe, + force: A, + }), + X || H + ); + } else q = R(H, ue, !0, O, Pe); + return E(H, ue, q), q; + }) + ); + } + function k(z, X) { + const ee = T(z, X); + return ee ? Promise.reject(ee) : Promise.resolve(); + } + function _(z) { + const X = Le.values().next().value; + return X && typeof X.runWithContext == "function" + ? X.runWithContext(z) + : z(); + } + function C(z, X) { + let ee; + const [ue, Pe, A] = cw(z, X); + ee = hu(ue.reverse(), "beforeRouteLeave", z, X); + for (const j of ue) + j.leaveGuards.forEach((H) => { + ee.push(vr(H, z, X)); + }); + const O = k.bind(null, z, X); + return ( + ee.push(O), + Ae(ee) + .then(() => { + ee = []; + for (const j of o.list()) ee.push(vr(j, z, X)); + return ee.push(O), Ae(ee); + }) + .then(() => { + ee = hu(Pe, "beforeRouteUpdate", z, X); + for (const j of Pe) + j.updateGuards.forEach((H) => { + ee.push(vr(H, z, X)); + }); + return ee.push(O), Ae(ee); + }) + .then(() => { + ee = []; + for (const j of A) + if (j.beforeEnter) + if (Nn(j.beforeEnter)) + for (const H of j.beforeEnter) + ee.push(vr(H, z, X)); + else ee.push(vr(j.beforeEnter, z, X)); + return ee.push(O), Ae(ee); + }) + .then( + () => ( + z.matched.forEach((j) => (j.enterCallbacks = {})), + (ee = hu(A, "beforeRouteEnter", z, X)), + ee.push(O), + Ae(ee) + ) + ) + .then(() => { + ee = []; + for (const j of s.list()) ee.push(vr(j, z, X)); + return ee.push(O), Ae(ee); + }) + .catch((j) => (er(j, 8) ? j : Promise.reject(j))) + ); + } + function E(z, X, ee) { + l.list().forEach((ue) => _(() => ue(z, X, ee))); + } + function R(z, X, ee, ue, Pe) { + const A = T(z, X); + if (A) return A; + const O = X === pr, + j = Oi ? history.state : {}; + ee && + (ue || O + ? i.replace(z.fullPath, Xe({ scroll: O && j && j.scroll }, Pe)) + : i.push(z.fullPath, Pe)), + (a.value = z), + Q(z, X, ee, O), + ae(); + } + let P; + function L() { + P || + (P = i.listen((z, X, ee) => { + if (!Re.listening) return; + const ue = x(z), + Pe = m(ue); + if (Pe) { + w(Xe(Pe, { replace: !0 }), ue).catch(No); + return; + } + u = ue; + const A = a.value; + Oi && kb(Oh(A.fullPath, ee.delta), Ra()), + C(ue, A) + .catch((O) => + er(O, 12) + ? O + : er(O, 2) + ? (w(O.to, ue) + .then((j) => { + er(j, 20) && + !ee.delta && + ee.type === Yo.pop && + i.go(-1, !1); + }) + .catch(No), + Promise.reject()) + : (ee.delta && i.go(-ee.delta, !1), D(O, ue, A)) + ) + .then((O) => { + (O = O || R(ue, A, !1)), + O && + (ee.delta && !er(O, 8) + ? i.go(-ee.delta, !1) + : ee.type === Yo.pop && + er(O, 20) && + i.go(-1, !1)), + E(ue, A, O); + }) + .catch(No); + })); + } + let I = vo(), + M = vo(), + N; + function D(z, X, ee) { + ae(z); + const ue = M.list(); + return ( + ue.length ? ue.forEach((Pe) => Pe(z, X, ee)) : console.error(z), + Promise.reject(z) + ); + } + function K() { + return N && a.value !== pr + ? Promise.resolve() + : new Promise((z, X) => { + I.add([z, X]); + }); + } + function ae(z) { + return ( + N || + ((N = !z), + L(), + I.list().forEach(([X, ee]) => (z ? ee(z) : X())), + I.reset()), + z + ); + } + function Q(z, X, ee, ue) { + const { scrollBehavior: Pe } = t; + if (!Oi || !Pe) return Promise.resolve(); + const A = + (!ee && Cb(Oh(z.fullPath, 0))) || + ((ue || !ee) && history.state && history.state.scroll) || + null; + return Ct() + .then(() => Pe(z, X, A)) + .then((O) => O && xb(O)) + .catch((O) => D(O, z, X)); + } + const me = (z) => i.go(z); + let je; + const Le = new Set(), + Re = { + currentRoute: a, + listening: !0, + addRoute: p, + removeRoute: g, + hasRoute: b, + getRoutes: v, + resolve: x, + options: t, + push: d, + replace: y, + go: me, + back: () => me(-1), + forward: () => me(1), + beforeEach: o.add, + beforeResolve: s.add, + afterEach: l.add, + onError: M.add, + isReady: K, + install(z) { + const X = this; + z.component("RouterLink", ow), + z.component("RouterView", uw), + (z.config.globalProperties.$router = X), + Object.defineProperty(z.config.globalProperties, "$route", { + enumerable: !0, + get: () => ne(a), + }), + Oi && + !je && + a.value === pr && + ((je = !0), d(i.location).catch((Pe) => {})); + const ee = {}; + for (const Pe in pr) + Object.defineProperty(ee, Pe, { + get: () => a.value[Pe], + enumerable: !0, + }); + z.provide(Pa, X), z.provide(Ug, Qm(ee)), z.provide(pc, a); + const ue = z.unmount; + Le.add(z), + (z.unmount = function () { + Le.delete(z), + Le.size < 1 && + ((u = pr), + P && P(), + (P = null), + (a.value = pr), + (je = !1), + (N = !1)), + ue(); + }); + }, + }; + function Ae(z) { + return z.reduce((X, ee) => X.then(() => _(ee)), Promise.resolve()); + } + return Re; +} +function cw(t, e) { + const n = [], + r = [], + i = [], + o = Math.max(e.matched.length, t.matched.length); + for (let s = 0; s < o; s++) { + const l = e.matched[s]; + l && (t.matched.find((u) => qi(u, l)) ? r.push(l) : n.push(l)); + const a = t.matched[s]; + a && (e.matched.find((u) => qi(u, a)) || i.push(a)); + } + return [n, r, i]; +} +function Kg() { + return qe(Pa); +} +const Ue = (t, e) => { + const n = t.__vccOpts || t; + for (const [r, i] of e) n[r] = i; + return n; +}; +function vt(t, e, ...n) { + if (t in e) { + let i = e[t]; + return typeof i == "function" ? i(...n) : i; + } + let r = new Error( + `Tried to handle "${t}" but there is no handler defined. Only defined handlers are: ${Object.keys( + e + ) + .map((i) => `"${i}"`) + .join(", ")}.` + ); + throw (Error.captureStackTrace && Error.captureStackTrace(r, vt), r); +} +var Gn = ((t) => ( + (t[(t.None = 0)] = "None"), + (t[(t.RenderStrategy = 1)] = "RenderStrategy"), + (t[(t.Static = 2)] = "Static"), + t + ))(Gn || {}), + _r = ((t) => ( + (t[(t.Unmount = 0)] = "Unmount"), (t[(t.Hidden = 1)] = "Hidden"), t + ))(_r || {}); +function tt(o) { + var s = o, + { visible: t = !0, features: e = 0, ourProps: n, theirProps: r } = s, + i = Qe(s, ["visible", "features", "ourProps", "theirProps"]); + var l; + let a = Jg(r, n), + u = Object.assign(i, { props: a }); + if (t || (e & 2 && a.static)) return pu(u); + if (e & 1) { + let c = (l = a.unmount) == null || l ? 0 : 1; + return vt(c, { + [0]() { + return null; + }, + [1]() { + return pu( + be(W({}, i), { + props: be(W({}, a), { + hidden: !0, + style: { display: "none" }, + }), + }) + ); + }, + }); + } + return pu(u); +} +function pu({ props: t, attrs: e, slots: n, slot: r, name: i }) { + var o, s; + let f = so(t, ["unmount", "static"]), + { as: l } = f, + a = Qe(f, ["as"]), + u = (o = n.default) == null ? void 0 : o.call(n, r), + c = {}; + if (r) { + let h = !1, + p = []; + for (let [g, v] of Object.entries(r)) + typeof v == "boolean" && (h = !0), v === !0 && p.push(g); + h && (c["data-headlessui-state"] = p.join(" ")); + } + if (l === "template") { + if ( + ((u = qg(u != null ? u : [])), + Object.keys(a).length > 0 || Object.keys(e).length > 0) + ) { + let [h, ...p] = u != null ? u : []; + if (!dw(h) || p.length > 0) + throw new Error( + [ + 'Passing props on "template"!', + "", + `The current component <${i} /> is rendering a "template".`, + "However we need to passthrough the following props:", + Object.keys(a) + .concat(Object.keys(e)) + .map((b) => b.trim()) + .filter((b, x, S) => S.indexOf(b) === x) + .sort((b, x) => b.localeCompare(x)) + .map((b) => ` - ${b}`).join(` +`), + "", + "You can apply a few solutions:", + [ + 'Add an `as="..."` prop, to ensure that we render an actual element instead of a "template".', + "Render a single element as the child so that we can forward the props onto that element.", + ].map((b) => ` - ${b}`).join(` +`), + ].join(` +`) + ); + let g = Jg((s = h.props) != null ? s : {}, a), + v = sr(h, g); + for (let b in g) + b.startsWith("on") && + (v.props || (v.props = {}), (v.props[b] = g[b])); + return v; + } + return Array.isArray(u) && u.length === 1 ? u[0] : u; + } + return ze(l, Object.assign({}, a, c), { default: () => u }); +} +function qg(t) { + return t.flatMap((e) => (e.type === He ? qg(e.children) : [e])); +} +function Jg(...t) { + if (t.length === 0) return {}; + if (t.length === 1) return t[0]; + let e = {}, + n = {}; + for (let r of t) + for (let i in r) + i.startsWith("on") && typeof r[i] == "function" + ? (n[i] != null || (n[i] = []), n[i].push(r[i])) + : (e[i] = r[i]); + if (e.disabled || e["aria-disabled"]) + return Object.assign( + e, + Object.fromEntries(Object.keys(n).map((r) => [r, void 0])) + ); + for (let r in n) + Object.assign(e, { + [r](i, ...o) { + let s = n[r]; + for (let l of s) { + if (i instanceof Event && i.defaultPrevented) return; + l(i, ...o); + } + }, + }); + return e; +} +function Ed(t) { + let e = Object.assign({}, t); + for (let n in e) e[n] === void 0 && delete e[n]; + return e; +} +function so(t, e = []) { + let n = Object.assign({}, t); + for (let r of e) r in n && delete n[r]; + return n; +} +function dw(t) { + return t == null + ? !1 + : typeof t.type == "string" || + typeof t.type == "object" || + typeof t.type == "function"; +} +let fw = 0; +function hw() { + return ++fw; +} +function At() { + return hw(); +} +var Ie = ((t) => ( + (t.Space = " "), + (t.Enter = "Enter"), + (t.Escape = "Escape"), + (t.Backspace = "Backspace"), + (t.Delete = "Delete"), + (t.ArrowLeft = "ArrowLeft"), + (t.ArrowUp = "ArrowUp"), + (t.ArrowRight = "ArrowRight"), + (t.ArrowDown = "ArrowDown"), + (t.Home = "Home"), + (t.End = "End"), + (t.PageUp = "PageUp"), + (t.PageDown = "PageDown"), + (t.Tab = "Tab"), + t +))(Ie || {}); +function pw(t) { + throw new Error("Unexpected object: " + t); +} +var Ze = ((t) => ( + (t[(t.First = 0)] = "First"), + (t[(t.Previous = 1)] = "Previous"), + (t[(t.Next = 2)] = "Next"), + (t[(t.Last = 3)] = "Last"), + (t[(t.Specific = 4)] = "Specific"), + (t[(t.Nothing = 5)] = "Nothing"), + t +))(Ze || {}); +function Gg(t, e) { + let n = e.resolveItems(); + if (n.length <= 0) return null; + let r = e.resolveActiveIndex(), + i = r != null ? r : -1, + o = (() => { + switch (t.focus) { + case 0: + return n.findIndex((s) => !e.resolveDisabled(s)); + case 1: { + let s = n + .slice() + .reverse() + .findIndex((l, a, u) => + i !== -1 && u.length - a - 1 >= i + ? !1 + : !e.resolveDisabled(l) + ); + return s === -1 ? s : n.length - 1 - s; + } + case 2: + return n.findIndex((s, l) => + l <= i ? !1 : !e.resolveDisabled(s) + ); + case 3: { + let s = n + .slice() + .reverse() + .findIndex((l) => !e.resolveDisabled(l)); + return s === -1 ? s : n.length - 1 - s; + } + case 4: + return n.findIndex((s) => e.resolveId(s) === t.id); + case 5: + return null; + default: + pw(t); + } + })(); + return o === -1 ? r : o; +} +function fe(t) { + var e; + return t == null || t.value == null + ? null + : (e = t.value.$el) != null + ? e + : t.value; +} +let Yg = Symbol("Context"); +var gt = ((t) => ( + (t[(t.Open = 1)] = "Open"), + (t[(t.Closed = 2)] = "Closed"), + (t[(t.Closing = 4)] = "Closing"), + (t[(t.Opening = 8)] = "Opening"), + t +))(gt || {}); +function mw() { + return ms() !== null; +} +function ms() { + return qe(Yg, null); +} +function Ad(t) { + kt(Yg, t); +} +function Wh(t, e) { + if (t) return t; + let n = e != null ? e : "button"; + if (typeof n == "string" && n.toLowerCase() === "button") return "button"; +} +function Td(t, e) { + let n = oe(Wh(t.value.type, t.value.as)); + return ( + Ye(() => { + n.value = Wh(t.value.type, t.value.as); + }), + Mt(() => { + var r; + n.value || + (fe(e) && + fe(e) instanceof HTMLButtonElement && + !((r = fe(e)) != null && r.hasAttribute("type")) && + (n.value = "button")); + }), + n + ); +} +var gw = Object.defineProperty, + yw = (t, e, n) => + e in t + ? gw(t, e, { + enumerable: !0, + configurable: !0, + writable: !0, + value: n, + }) + : (t[e] = n), + Uh = (t, e, n) => (yw(t, typeof e != "symbol" ? e + "" : e, n), n); +class vw { + constructor() { + Uh(this, "current", this.detect()), Uh(this, "currentId", 0); + } + set(e) { + this.current !== e && ((this.currentId = 0), (this.current = e)); + } + reset() { + this.set(this.detect()); + } + nextId() { + return ++this.currentId; + } + get isServer() { + return this.current === "server"; + } + get isClient() { + return this.current === "client"; + } + detect() { + return typeof window == "undefined" || typeof document == "undefined" + ? "server" + : "client"; + } +} +let gs = new vw(); +function vn(t) { + if (gs.isServer) return null; + if (t instanceof Node) return t.ownerDocument; + if (t != null && t.hasOwnProperty("value")) { + let e = fe(t); + if (e) return e.ownerDocument; + } + return document; +} +function Od({ container: t, accept: e, walk: n, enabled: r }) { + Mt(() => { + let i = t.value; + if (!i || (r !== void 0 && !r.value)) return; + let o = vn(t); + if (!o) return; + let s = Object.assign((a) => e(a), { acceptNode: e }), + l = o.createTreeWalker(i, NodeFilter.SHOW_ELEMENT, s, !1); + for (; l.nextNode(); ) n(l.currentNode); + }); +} +let mc = [ + "[contentEditable=true]", + "[tabindex]", + "a[href]", + "area[href]", + "button:not([disabled])", + "iframe", + "input:not([disabled])", + "select:not([disabled])", + "textarea:not([disabled])", +] + .map((t) => `${t}:not([tabindex='-1'])`) + .join(","); +var Qt = ((t) => ( + (t[(t.First = 1)] = "First"), + (t[(t.Previous = 2)] = "Previous"), + (t[(t.Next = 4)] = "Next"), + (t[(t.Last = 8)] = "Last"), + (t[(t.WrapAround = 16)] = "WrapAround"), + (t[(t.NoScroll = 32)] = "NoScroll"), + t + ))(Qt || {}), + Sl = ((t) => ( + (t[(t.Error = 0)] = "Error"), + (t[(t.Overflow = 1)] = "Overflow"), + (t[(t.Success = 2)] = "Success"), + (t[(t.Underflow = 3)] = "Underflow"), + t + ))(Sl || {}), + bw = ((t) => ( + (t[(t.Previous = -1)] = "Previous"), (t[(t.Next = 1)] = "Next"), t + ))(bw || {}); +function Qg(t = document.body) { + return t == null + ? [] + : Array.from(t.querySelectorAll(mc)).sort((e, n) => + Math.sign( + (e.tabIndex || Number.MAX_SAFE_INTEGER) - + (n.tabIndex || Number.MAX_SAFE_INTEGER) + ) + ); +} +var Rd = ((t) => ( + (t[(t.Strict = 0)] = "Strict"), (t[(t.Loose = 1)] = "Loose"), t +))(Rd || {}); +function Pd(t, e = 0) { + var n; + return t === ((n = vn(t)) == null ? void 0 : n.body) + ? !1 + : vt(e, { + [0]() { + return t.matches(mc); + }, + [1]() { + let r = t; + for (; r !== null; ) { + if (r.matches(mc)) return !0; + r = r.parentElement; + } + return !1; + }, + }); +} +function Xg(t) { + let e = vn(t); + Ct(() => { + e && !Pd(e.activeElement, 0) && Rr(t); + }); +} +var ww = ((t) => ( + (t[(t.Keyboard = 0)] = "Keyboard"), (t[(t.Mouse = 1)] = "Mouse"), t +))(ww || {}); +typeof window != "undefined" && + typeof document != "undefined" && + (document.addEventListener( + "keydown", + (t) => { + t.metaKey || + t.altKey || + t.ctrlKey || + (document.documentElement.dataset.headlessuiFocusVisible = ""); + }, + !0 + ), + document.addEventListener( + "click", + (t) => { + t.detail === 1 + ? delete document.documentElement.dataset.headlessuiFocusVisible + : t.detail === 0 && + (document.documentElement.dataset.headlessuiFocusVisible = + ""); + }, + !0 + )); +function Rr(t) { + t == null || t.focus({ preventScroll: !0 }); +} +let xw = ["textarea", "input"].join(","); +function kw(t) { + var e, n; + return (n = + (e = t == null ? void 0 : t.matches) == null + ? void 0 + : e.call(t, xw)) != null + ? n + : !1; +} +function Na(t, e = (n) => n) { + return t.slice().sort((n, r) => { + let i = e(n), + o = e(r); + if (i === null || o === null) return 0; + let s = i.compareDocumentPosition(o); + return s & Node.DOCUMENT_POSITION_FOLLOWING + ? -1 + : s & Node.DOCUMENT_POSITION_PRECEDING + ? 1 + : 0; + }); +} +function Cw(t, e) { + return li(Qg(), e, { relativeTo: t }); +} +function li( + t, + e, + { sorted: n = !0, relativeTo: r = null, skipElements: i = [] } = {} +) { + var o; + let s = + (o = Array.isArray(t) + ? t.length > 0 + ? t[0].ownerDocument + : document + : t == null + ? void 0 + : t.ownerDocument) != null + ? o + : document, + l = Array.isArray(t) ? (n ? Na(t) : t) : Qg(t); + i.length > 0 && l.length > 1 && (l = l.filter((g) => !i.includes(g))), + (r = r != null ? r : s.activeElement); + let a = (() => { + if (e & 5) return 1; + if (e & 10) return -1; + throw new Error( + "Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last" + ); + })(), + u = (() => { + if (e & 1) return 0; + if (e & 2) return Math.max(0, l.indexOf(r)) - 1; + if (e & 4) return Math.max(0, l.indexOf(r)) + 1; + if (e & 8) return l.length - 1; + throw new Error( + "Missing Focus.First, Focus.Previous, Focus.Next or Focus.Last" + ); + })(), + c = e & 32 ? { preventScroll: !0 } : {}, + f = 0, + h = l.length, + p; + do { + if (f >= h || f + h <= 0) return 0; + let g = u + f; + if (e & 16) g = (g + h) % h; + else { + if (g < 0) return 3; + if (g >= h) return 1; + } + (p = l[g]), p == null || p.focus(c), (f += a); + } while (p !== s.activeElement); + return e & 6 && kw(p) && p.select(), 2; +} +function Is(t, e, n) { + gs.isServer || + Mt((r) => { + document.addEventListener(t, e, n), + r(() => document.removeEventListener(t, e, n)); + }); +} +function Zg(t, e, n) { + gs.isServer || + Mt((r) => { + window.addEventListener(t, e, n), + r(() => window.removeEventListener(t, e, n)); + }); +} +function Nd(t, e, n = $(() => !0)) { + function r(o, s) { + if (!n.value || o.defaultPrevented) return; + let l = s(o); + if (l === null || !l.getRootNode().contains(l)) return; + let a = (function u(c) { + return typeof c == "function" + ? u(c()) + : Array.isArray(c) || c instanceof Set + ? c + : [c]; + })(t); + for (let u of a) { + if (u === null) continue; + let c = u instanceof HTMLElement ? u : fe(u); + if ( + (c != null && c.contains(l)) || + (o.composed && o.composedPath().includes(c)) + ) + return; + } + return ( + !Pd(l, Rd.Loose) && l.tabIndex !== -1 && o.preventDefault(), e(o, l) + ); + } + let i = oe(null); + Is( + "pointerdown", + (o) => { + var s, l; + n.value && + (i.value = + ((l = (s = o.composedPath) == null ? void 0 : s.call(o)) == + null + ? void 0 + : l[0]) || o.target); + }, + !0 + ), + Is( + "mousedown", + (o) => { + var s, l; + n.value && + (i.value = + ((l = + (s = o.composedPath) == null + ? void 0 + : s.call(o)) == null + ? void 0 + : l[0]) || o.target); + }, + !0 + ), + Is( + "click", + (o) => { + i.value && (r(o, () => i.value), (i.value = null)); + }, + !0 + ), + Is( + "touchend", + (o) => + r(o, () => (o.target instanceof HTMLElement ? o.target : null)), + !0 + ), + Zg( + "blur", + (o) => + r(o, () => + window.document.activeElement instanceof HTMLIFrameElement + ? window.document.activeElement + : null + ), + !0 + ); +} +var gi = ((t) => ( + (t[(t.None = 1)] = "None"), + (t[(t.Focusable = 2)] = "Focusable"), + (t[(t.Hidden = 4)] = "Hidden"), + t +))(gi || {}); +let Gi = xe({ + name: "Hidden", + props: { + as: { type: [Object, String], default: "div" }, + features: { type: Number, default: 1 }, + }, + setup(t, { slots: e, attrs: n }) { + return () => { + let s = t, + { features: r } = s, + i = Qe(s, ["features"]), + o = { + "aria-hidden": (r & 2) === 2 ? !0 : void 0, + style: W( + { + position: "fixed", + top: 1, + left: 1, + width: 1, + height: 0, + padding: 0, + margin: -1, + overflow: "hidden", + clip: "rect(0, 0, 0, 0)", + whiteSpace: "nowrap", + borderWidth: "0", + }, + (r & 4) === 4 && (r & 2) !== 2 && { display: "none" } + ), + }; + return tt({ + ourProps: o, + theirProps: i, + slot: {}, + attrs: n, + slots: e, + name: "Hidden", + }); + }; + }, +}); +function jd(t = {}, e = null, n = []) { + for (let [r, i] of Object.entries(t)) t1(n, e1(e, r), i); + return n; +} +function e1(t, e) { + return t ? t + "[" + e + "]" : e; +} +function t1(t, e, n) { + if (Array.isArray(n)) + for (let [r, i] of n.entries()) t1(t, e1(e, r.toString()), i); + else + n instanceof Date + ? t.push([e, n.toISOString()]) + : typeof n == "boolean" + ? t.push([e, n ? "1" : "0"]) + : typeof n == "string" + ? t.push([e, n]) + : typeof n == "number" + ? t.push([e, `${n}`]) + : n == null + ? t.push([e, ""]) + : jd(n, e, t); +} +function n1(t) { + var e, n; + let r = (e = t == null ? void 0 : t.form) != null ? e : t.closest("form"); + if (r) { + for (let i of r.elements) + if ( + i !== t && + ((i.tagName === "INPUT" && i.type === "submit") || + (i.tagName === "BUTTON" && i.type === "submit") || + (i.nodeName === "INPUT" && i.type === "image")) + ) { + i.click(); + return; + } + (n = r.requestSubmit) == null || n.call(r); + } +} +function Ld(t, e, n) { + let r = oe(n == null ? void 0 : n.value), + i = $(() => t.value !== void 0); + return [ + $(() => (i.value ? t.value : r.value)), + function (o) { + return i.value || (r.value = o), e == null ? void 0 : e(o); + }, + ]; +} +function Kh(t) { + return [t.screenX, t.screenY]; +} +function r1() { + let t = oe([-1, -1]); + return { + wasMoved(e) { + let n = Kh(e); + return t.value[0] === n[0] && t.value[1] === n[1] + ? !1 + : ((t.value = n), !0); + }, + update(e) { + t.value = Kh(e); + }, + }; +} +function i1() { + return ( + /iPhone/gi.test(window.navigator.platform) || + (/Mac/gi.test(window.navigator.platform) && + window.navigator.maxTouchPoints > 0) + ); +} +function Sw() { + return /Android/gi.test(window.navigator.userAgent); +} +function _w() { + return i1() || Sw(); +} +function Dd(t) { + typeof queueMicrotask == "function" + ? queueMicrotask(t) + : Promise.resolve() + .then(t) + .catch((e) => + setTimeout(() => { + throw e; + }) + ); +} +function lo() { + let t = [], + e = { + addEventListener(n, r, i, o) { + return ( + n.addEventListener(r, i, o), + e.add(() => n.removeEventListener(r, i, o)) + ); + }, + requestAnimationFrame(...n) { + let r = requestAnimationFrame(...n); + e.add(() => cancelAnimationFrame(r)); + }, + nextFrame(...n) { + e.requestAnimationFrame(() => { + e.requestAnimationFrame(...n); + }); + }, + setTimeout(...n) { + let r = setTimeout(...n); + e.add(() => clearTimeout(r)); + }, + microTask(...n) { + let r = { current: !0 }; + return ( + Dd(() => { + r.current && n[0](); + }), + e.add(() => { + r.current = !1; + }) + ); + }, + style(n, r, i) { + let o = n.style.getPropertyValue(r); + return ( + Object.assign(n.style, { [r]: i }), + this.add(() => { + Object.assign(n.style, { [r]: o }); + }) + ); + }, + group(n) { + let r = lo(); + return n(r), this.add(() => r.dispose()); + }, + add(n) { + return ( + t.push(n), + () => { + let r = t.indexOf(n); + if (r >= 0) for (let i of t.splice(r, 1)) i(); + } + ); + }, + dispose() { + for (let n of t.splice(0)) n(); + }, + }; + return e; +} +function Mw(t, e) { + return t === e; +} +var Ew = ((t) => ( + (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t + ))(Ew || {}), + Aw = ((t) => ( + (t[(t.Single = 0)] = "Single"), (t[(t.Multi = 1)] = "Multi"), t + ))(Aw || {}), + Tw = ((t) => ( + (t[(t.Pointer = 0)] = "Pointer"), (t[(t.Other = 1)] = "Other"), t + ))(Tw || {}); +let o1 = Symbol("ComboboxContext"); +function ao(t) { + let e = qe(o1, null); + if (e === null) { + let n = new Error( + `<${t} /> is missing a parent component.` + ); + throw (Error.captureStackTrace && Error.captureStackTrace(n, ao), n); + } + return e; +} +let Ow = xe({ + name: "Combobox", + emits: { "update:modelValue": (t) => !0 }, + props: { + as: { type: [Object, String], default: "template" }, + disabled: { type: [Boolean], default: !1 }, + by: { type: [String, Function], default: () => Mw }, + modelValue: { + type: [Object, String, Number, Boolean], + default: void 0, + }, + defaultValue: { + type: [Object, String, Number, Boolean], + default: void 0, + }, + form: { type: String, optional: !0 }, + name: { type: String, optional: !0 }, + nullable: { type: Boolean, default: !1 }, + multiple: { type: [Boolean], default: !1 }, + }, + inheritAttrs: !1, + setup(t, { slots: e, attrs: n, emit: r }) { + let i = oe(1), + o = oe(null), + s = oe(null), + l = oe(null), + a = oe(null), + u = oe({ static: !1, hold: !1 }), + c = oe([]), + f = oe(null), + h = oe(1), + p = oe(!1); + function g(_ = (C) => C) { + let C = f.value !== null ? c.value[f.value] : null, + E = Na(_(c.value.slice()), (P) => fe(P.dataRef.domRef)), + R = C ? E.indexOf(C) : null; + return R === -1 && (R = null), { options: E, activeOptionIndex: R }; + } + let v = $(() => (t.multiple ? 1 : 0)), + b = $(() => t.nullable), + [x, S] = Ld( + $(() => t.modelValue), + (_) => r("update:modelValue", _), + $(() => t.defaultValue) + ), + T = $(() => + x.value === void 0 + ? vt(v.value, { [1]: [], [0]: void 0 }) + : x.value + ), + d = null, + y = null, + m = { + comboboxState: i, + value: T, + mode: v, + compare(_, C) { + if (typeof t.by == "string") { + let E = t.by; + return ( + (_ == null ? void 0 : _[E]) === + (C == null ? void 0 : C[E]) + ); + } + return t.by(_, C); + }, + defaultValue: $(() => t.defaultValue), + nullable: b, + inputRef: s, + labelRef: o, + buttonRef: l, + optionsRef: a, + disabled: $(() => t.disabled), + options: c, + change(_) { + S(_); + }, + activeOptionIndex: $(() => { + if (p.value && f.value === null && c.value.length > 0) { + let _ = c.value.findIndex((C) => !C.dataRef.disabled); + _ !== -1 && (f.value = _); + } + return f.value; + }), + activationTrigger: h, + optionsPropsRef: u, + closeCombobox() { + (p.value = !1), + !t.disabled && + i.value !== 1 && + ((i.value = 1), (f.value = null)); + }, + openCombobox() { + if (((p.value = !0), t.disabled || i.value === 0)) return; + let _ = c.value.findIndex((C) => { + let E = de(C.dataRef.value); + return vt(v.value, { + [0]: () => m.compare(de(m.value.value), de(E)), + [1]: () => + de(m.value.value).some((R) => + m.compare(de(R), de(E)) + ), + }); + }); + _ !== -1 && (f.value = _), (i.value = 0); + }, + goToOption(_, C, E) { + (p.value = !1), + d !== null && cancelAnimationFrame(d), + (d = requestAnimationFrame(() => { + if ( + t.disabled || + (a.value && !u.value.static && i.value === 1) + ) + return; + let R = g(); + if (R.activeOptionIndex === null) { + let L = R.options.findIndex( + (I) => !I.dataRef.disabled + ); + L !== -1 && (R.activeOptionIndex = L); + } + let P = Gg( + _ === Ze.Specific + ? { focus: Ze.Specific, id: C } + : { focus: _ }, + { + resolveItems: () => R.options, + resolveActiveIndex: () => + R.activeOptionIndex, + resolveId: (L) => L.id, + resolveDisabled: (L) => L.dataRef.disabled, + } + ); + (f.value = P), + (h.value = E != null ? E : 1), + (c.value = R.options); + })); + }, + selectOption(_) { + let C = c.value.find((R) => R.id === _); + if (!C) return; + let { dataRef: E } = C; + S( + vt(v.value, { + [0]: () => E.value, + [1]: () => { + let R = de(m.value.value).slice(), + P = de(E.value), + L = R.findIndex((I) => m.compare(P, de(I))); + return L === -1 ? R.push(P) : R.splice(L, 1), R; + }, + }) + ); + }, + selectActiveOption() { + if (m.activeOptionIndex.value === null) return; + let { dataRef: _, id: C } = + c.value[m.activeOptionIndex.value]; + S( + vt(v.value, { + [0]: () => _.value, + [1]: () => { + let E = de(m.value.value).slice(), + R = de(_.value), + P = E.findIndex((L) => m.compare(R, de(L))); + return P === -1 ? E.push(R) : E.splice(P, 1), E; + }, + }) + ), + m.goToOption(Ze.Specific, C); + }, + registerOption(_, C) { + y && cancelAnimationFrame(y); + let E = { id: _, dataRef: C }, + R = g((P) => (P.push(E), P)); + if (f.value === null) { + let P = C.value.value; + vt(v.value, { + [0]: () => m.compare(de(m.value.value), de(P)), + [1]: () => + de(m.value.value).some((L) => + m.compare(de(L), de(P)) + ), + }) && (R.activeOptionIndex = R.options.indexOf(E)); + } + (c.value = R.options), + (f.value = R.activeOptionIndex), + (h.value = 1), + R.options.some((P) => !fe(P.dataRef.domRef)) && + (y = requestAnimationFrame(() => { + let P = g(); + (c.value = P.options), + (f.value = P.activeOptionIndex); + })); + }, + unregisterOption(_) { + var C; + m.activeOptionIndex.value !== null && + ((C = m.options.value[m.activeOptionIndex.value]) == + null + ? void 0 + : C.id) === _ && + (p.value = !0); + let E = g((R) => { + let P = R.findIndex((L) => L.id === _); + return P !== -1 && R.splice(P, 1), R; + }); + (c.value = E.options), + (f.value = E.activeOptionIndex), + (h.value = 1); + }, + }; + Nd( + [s, l, a], + () => m.closeCombobox(), + $(() => i.value === 0) + ), + kt(o1, m), + Ad($(() => vt(i.value, { [0]: gt.Open, [1]: gt.Closed }))); + let w = $(() => + m.activeOptionIndex.value === null + ? null + : c.value[m.activeOptionIndex.value].dataRef.value + ), + k = $(() => { + var _; + return (_ = fe(s)) == null ? void 0 : _.closest("form"); + }); + return ( + Ye(() => { + Rt( + [k], + () => { + if (!k.value || t.defaultValue === void 0) return; + function _() { + m.change(t.defaultValue); + } + return ( + k.value.addEventListener("reset", _), + () => { + var C; + (C = k.value) == null || + C.removeEventListener("reset", _); + } + ); + }, + { immediate: !0 } + ); + }), + () => { + let L = t, + { name: _, disabled: C, form: E } = L, + R = Qe(L, ["name", "disabled", "form"]), + P = { + open: i.value === 0, + disabled: C, + activeIndex: m.activeOptionIndex.value, + activeOption: w.value, + value: T.value, + }; + return ze(He, [ + ...(_ != null && T.value != null + ? jd({ [_]: T.value }).map(([I, M]) => + ze( + Gi, + Ed({ + features: gi.Hidden, + key: I, + as: "input", + type: "hidden", + hidden: !0, + readOnly: !0, + form: E, + name: I, + value: M, + }) + ) + ) + : []), + tt({ + theirProps: W( + W({}, n), + so(R, [ + "modelValue", + "defaultValue", + "nullable", + "multiple", + "onUpdate:modelValue", + "by", + ]) + ), + ourProps: {}, + slot: P, + slots: e, + attrs: n, + name: "Combobox", + }), + ]); + } + ); + }, +}); +xe({ + name: "ComboboxLabel", + props: { + as: { type: [Object, String], default: "label" }, + id: { + type: String, + default: () => `headlessui-combobox-label-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n }) { + let r = ao("ComboboxLabel"); + function i() { + var o; + (o = fe(r.inputRef)) == null || o.focus({ preventScroll: !0 }); + } + return () => { + let o = { + open: r.comboboxState.value === 0, + disabled: r.disabled.value, + }, + u = t, + { id: s } = u, + l = Qe(u, ["id"]), + a = { id: s, ref: r.labelRef, onClick: i }; + return tt({ + ourProps: a, + theirProps: l, + slot: o, + attrs: e, + slots: n, + name: "ComboboxLabel", + }); + }; + }, +}); +let Rw = xe({ + name: "ComboboxButton", + props: { + as: { type: [Object, String], default: "button" }, + id: { + type: String, + default: () => `headlessui-combobox-button-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = ao("ComboboxButton"); + r({ el: i.buttonRef, $el: i.buttonRef }); + function o(a) { + i.disabled.value || + (i.comboboxState.value === 0 + ? i.closeCombobox() + : (a.preventDefault(), i.openCombobox()), + Ct(() => { + var u; + return (u = fe(i.inputRef)) == null + ? void 0 + : u.focus({ preventScroll: !0 }); + })); + } + function s(a) { + switch (a.key) { + case Ie.ArrowDown: + a.preventDefault(), + a.stopPropagation(), + i.comboboxState.value === 1 && i.openCombobox(), + Ct(() => { + var u; + return (u = i.inputRef.value) == null + ? void 0 + : u.focus({ preventScroll: !0 }); + }); + return; + case Ie.ArrowUp: + a.preventDefault(), + a.stopPropagation(), + i.comboboxState.value === 1 && + (i.openCombobox(), + Ct(() => { + i.value.value || i.goToOption(Ze.Last); + })), + Ct(() => { + var u; + return (u = i.inputRef.value) == null + ? void 0 + : u.focus({ preventScroll: !0 }); + }); + return; + case Ie.Escape: + if (i.comboboxState.value !== 0) return; + a.preventDefault(), + i.optionsRef.value && + !i.optionsPropsRef.value.static && + a.stopPropagation(), + i.closeCombobox(), + Ct(() => { + var u; + return (u = i.inputRef.value) == null + ? void 0 + : u.focus({ preventScroll: !0 }); + }); + return; + } + } + let l = Td( + $(() => ({ as: t.as, type: e.type })), + i.buttonRef + ); + return () => { + var a, u; + let c = { + open: i.comboboxState.value === 0, + disabled: i.disabled.value, + value: i.value.value, + }, + g = t, + { id: f } = g, + h = Qe(g, ["id"]), + p = { + ref: i.buttonRef, + id: f, + type: l.value, + tabindex: "-1", + "aria-haspopup": "listbox", + "aria-controls": + (a = fe(i.optionsRef)) == null ? void 0 : a.id, + "aria-expanded": i.comboboxState.value === 0, + "aria-labelledby": i.labelRef.value + ? [ + (u = fe(i.labelRef)) == null + ? void 0 + : u.id, + f, + ].join(" ") + : void 0, + disabled: i.disabled.value === !0 ? !0 : void 0, + onKeydown: s, + onClick: o, + }; + return tt({ + ourProps: p, + theirProps: h, + slot: c, + attrs: e, + slots: n, + name: "ComboboxButton", + }); + }; + }, + }), + Pw = xe({ + name: "ComboboxInput", + props: { + as: { type: [Object, String], default: "input" }, + static: { type: Boolean, default: !1 }, + unmount: { type: Boolean, default: !0 }, + displayValue: { type: Function }, + defaultValue: { type: String, default: void 0 }, + id: { + type: String, + default: () => `headlessui-combobox-input-${At()}`, + }, + }, + emits: { change: (t) => !0 }, + setup(t, { emit: e, attrs: n, slots: r, expose: i }) { + let o = ao("ComboboxInput"), + s = $(() => vn(fe(o.inputRef))), + l = { value: !1 }; + i({ el: o.inputRef, $el: o.inputRef }); + function a() { + o.change(null); + let x = fe(o.optionsRef); + x && (x.scrollTop = 0), o.goToOption(Ze.Nothing); + } + let u = $(() => { + var x; + let S = o.value.value; + return fe(o.inputRef) + ? typeof t.displayValue != "undefined" && S !== void 0 + ? (x = t.displayValue(S)) != null + ? x + : "" + : typeof S == "string" + ? S + : "" + : ""; + }); + Ye(() => { + Rt( + [u, o.comboboxState, s], + ([x, S], [T, d]) => { + if (l.value) return; + let y = fe(o.inputRef); + y && + (((d === 0 && S === 1) || x !== T) && (y.value = x), + requestAnimationFrame(() => { + var m; + if ( + l.value || + !y || + ((m = s.value) == null + ? void 0 + : m.activeElement) !== y + ) + return; + let { selectionStart: w, selectionEnd: k } = y; + Math.abs( + (k != null ? k : 0) - (w != null ? w : 0) + ) === 0 && + w === 0 && + y.setSelectionRange( + y.value.length, + y.value.length + ); + })); + }, + { immediate: !0 } + ), + Rt([o.comboboxState], ([x], [S]) => { + if (x === 0 && S === 1) { + if (l.value) return; + let T = fe(o.inputRef); + if (!T) return; + let d = T.value, + { + selectionStart: y, + selectionEnd: m, + selectionDirection: w, + } = T; + (T.value = ""), + (T.value = d), + w !== null + ? T.setSelectionRange(y, m, w) + : T.setSelectionRange(y, m); + } + }); + }); + let c = oe(!1); + function f() { + c.value = !0; + } + function h() { + lo().nextFrame(() => { + c.value = !1; + }); + } + function p(x) { + switch (((l.value = !0), x.key)) { + case Ie.Enter: + if ( + ((l.value = !1), + o.comboboxState.value !== 0 || c.value) + ) + return; + if ( + (x.preventDefault(), + x.stopPropagation(), + o.activeOptionIndex.value === null) + ) { + o.closeCombobox(); + return; + } + o.selectActiveOption(), + o.mode.value === 0 && o.closeCombobox(); + break; + case Ie.ArrowDown: + return ( + (l.value = !1), + x.preventDefault(), + x.stopPropagation(), + vt(o.comboboxState.value, { + [0]: () => o.goToOption(Ze.Next), + [1]: () => o.openCombobox(), + }) + ); + case Ie.ArrowUp: + return ( + (l.value = !1), + x.preventDefault(), + x.stopPropagation(), + vt(o.comboboxState.value, { + [0]: () => o.goToOption(Ze.Previous), + [1]: () => { + o.openCombobox(), + Ct(() => { + o.value.value || + o.goToOption(Ze.Last); + }); + }, + }) + ); + case Ie.Home: + if (x.shiftKey) break; + return ( + (l.value = !1), + x.preventDefault(), + x.stopPropagation(), + o.goToOption(Ze.First) + ); + case Ie.PageUp: + return ( + (l.value = !1), + x.preventDefault(), + x.stopPropagation(), + o.goToOption(Ze.First) + ); + case Ie.End: + if (x.shiftKey) break; + return ( + (l.value = !1), + x.preventDefault(), + x.stopPropagation(), + o.goToOption(Ze.Last) + ); + case Ie.PageDown: + return ( + (l.value = !1), + x.preventDefault(), + x.stopPropagation(), + o.goToOption(Ze.Last) + ); + case Ie.Escape: + if (((l.value = !1), o.comboboxState.value !== 0)) + return; + x.preventDefault(), + o.optionsRef.value && + !o.optionsPropsRef.value.static && + x.stopPropagation(), + o.nullable.value && + o.mode.value === 0 && + o.value.value === null && + a(), + o.closeCombobox(); + break; + case Ie.Tab: + if (((l.value = !1), o.comboboxState.value !== 0)) + return; + o.mode.value === 0 && o.selectActiveOption(), + o.closeCombobox(); + break; + } + } + function g(x) { + e("change", x), + o.nullable.value && + o.mode.value === 0 && + x.target.value === "" && + a(), + o.openCombobox(); + } + function v() { + l.value = !1; + } + let b = $(() => { + var x, S, T, d; + return (d = + (T = + (S = t.defaultValue) != null + ? S + : o.defaultValue.value !== void 0 + ? (x = t.displayValue) == null + ? void 0 + : x.call(t, o.defaultValue.value) + : null) != null + ? T + : o.defaultValue.value) != null + ? d + : ""; + }); + return () => { + var x, S, T, d, y, m; + let w = { open: o.comboboxState.value === 0 }, + P = t, + { id: k, displayValue: _, onChange: C } = P, + E = Qe(P, ["id", "displayValue", "onChange"]), + R = { + "aria-controls": + (x = o.optionsRef.value) == null ? void 0 : x.id, + "aria-expanded": o.comboboxState.value === 0, + "aria-activedescendant": + o.activeOptionIndex.value === null || + (S = o.options.value[o.activeOptionIndex.value]) == + null + ? void 0 + : S.id, + "aria-labelledby": + (y = + (T = fe(o.labelRef)) == null ? void 0 : T.id) != + null + ? y + : (d = fe(o.buttonRef)) == null + ? void 0 + : d.id, + "aria-autocomplete": "list", + id: k, + onCompositionstart: f, + onCompositionend: h, + onKeydown: p, + onInput: g, + onBlur: v, + role: "combobox", + type: (m = n.type) != null ? m : "text", + tabIndex: 0, + ref: o.inputRef, + defaultValue: b.value, + disabled: o.disabled.value === !0 ? !0 : void 0, + }; + return tt({ + ourProps: R, + theirProps: E, + slot: w, + attrs: n, + slots: r, + features: Gn.RenderStrategy | Gn.Static, + name: "ComboboxInput", + }); + }; + }, + }), + Nw = xe({ + name: "ComboboxOptions", + props: { + as: { type: [Object, String], default: "ul" }, + static: { type: Boolean, default: !1 }, + unmount: { type: Boolean, default: !0 }, + hold: { type: [Boolean], default: !1 }, + }, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = ao("ComboboxOptions"), + o = `headlessui-combobox-options-${At()}`; + r({ el: i.optionsRef, $el: i.optionsRef }), + Mt(() => { + i.optionsPropsRef.value.static = t.static; + }), + Mt(() => { + i.optionsPropsRef.value.hold = t.hold; + }); + let s = ms(), + l = $(() => + s !== null + ? (s.value & gt.Open) === gt.Open + : i.comboboxState.value === 0 + ); + return ( + Od({ + container: $(() => fe(i.optionsRef)), + enabled: $(() => i.comboboxState.value === 0), + accept(a) { + return a.getAttribute("role") === "option" + ? NodeFilter.FILTER_REJECT + : a.hasAttribute("role") + ? NodeFilter.FILTER_SKIP + : NodeFilter.FILTER_ACCEPT; + }, + walk(a) { + a.setAttribute("role", "none"); + }, + }), + () => { + var a, u, c; + let f = { open: i.comboboxState.value === 0 }, + h = { + "aria-labelledby": + (c = + (a = fe(i.labelRef)) == null + ? void 0 + : a.id) != null + ? c + : (u = fe(i.buttonRef)) == null + ? void 0 + : u.id, + id: o, + ref: i.optionsRef, + role: "listbox", + "aria-multiselectable": + i.mode.value === 1 ? !0 : void 0, + }, + p = so(t, ["hold"]); + return tt({ + ourProps: h, + theirProps: p, + slot: f, + attrs: e, + slots: n, + features: Gn.RenderStrategy | Gn.Static, + visible: l.value, + name: "ComboboxOptions", + }); + } + ); + }, + }), + jw = xe({ + name: "ComboboxOption", + props: { + as: { type: [Object, String], default: "li" }, + value: { type: [Object, String, Number, Boolean] }, + disabled: { type: Boolean, default: !1 }, + }, + setup(t, { slots: e, attrs: n, expose: r }) { + let i = ao("ComboboxOption"), + o = `headlessui-combobox-option-${At()}`, + s = oe(null); + r({ el: s, $el: s }); + let l = $(() => + i.activeOptionIndex.value !== null + ? i.options.value[i.activeOptionIndex.value].id === o + : !1 + ), + a = $(() => + vt(i.mode.value, { + [0]: () => i.compare(de(i.value.value), de(t.value)), + [1]: () => + de(i.value.value).some((b) => + i.compare(de(b), de(t.value)) + ), + }) + ), + u = $(() => ({ + disabled: t.disabled, + value: t.value, + domRef: s, + })); + Ye(() => i.registerOption(o, u)), + Bt(() => i.unregisterOption(o)), + Mt(() => { + i.comboboxState.value === 0 && + l.value && + i.activationTrigger.value !== 0 && + Ct(() => { + var b, x; + return (x = + (b = fe(s)) == null + ? void 0 + : b.scrollIntoView) == null + ? void 0 + : x.call(b, { block: "nearest" }); + }); + }); + function c(b) { + if (t.disabled) return b.preventDefault(); + i.selectOption(o), + i.mode.value === 0 && i.closeCombobox(), + _w() || + requestAnimationFrame(() => { + var x; + return (x = fe(i.inputRef)) == null + ? void 0 + : x.focus(); + }); + } + function f() { + if (t.disabled) return i.goToOption(Ze.Nothing); + i.goToOption(Ze.Specific, o); + } + let h = r1(); + function p(b) { + h.update(b); + } + function g(b) { + h.wasMoved(b) && + (t.disabled || l.value || i.goToOption(Ze.Specific, o, 0)); + } + function v(b) { + h.wasMoved(b) && + (t.disabled || + (l.value && + (i.optionsPropsRef.value.hold || + i.goToOption(Ze.Nothing)))); + } + return () => { + let { disabled: b } = t, + x = { active: l.value, selected: a.value, disabled: b }, + S = { + id: o, + ref: s, + role: "option", + tabIndex: b === !0 ? void 0 : -1, + "aria-disabled": b === !0 ? !0 : void 0, + "aria-selected": a.value, + disabled: void 0, + onClick: c, + onFocus: f, + onPointerenter: p, + onMouseenter: p, + onPointermove: g, + onMousemove: g, + onPointerleave: v, + onMouseleave: v, + }; + return tt({ + ourProps: S, + theirProps: t, + slot: x, + attrs: n, + slots: e, + name: "ComboboxOption", + }); + }; + }, + }); +var _o = ((t) => ( + (t[(t.Forwards = 0)] = "Forwards"), (t[(t.Backwards = 1)] = "Backwards"), t +))(_o || {}); +function Lw() { + let t = oe(0); + return ( + Zg("keydown", (e) => { + e.key === "Tab" && (t.value = e.shiftKey ? 1 : 0); + }), + t + ); +} +function s1(t, e, n, r) { + gs.isServer || + Mt((i) => { + (t = t != null ? t : window), + t.addEventListener(e, n, r), + i(() => t.removeEventListener(e, n, r)); + }); +} +function Dw(t) { + function e() { + document.readyState !== "loading" && + (t(), document.removeEventListener("DOMContentLoaded", e)); + } + typeof window != "undefined" && + typeof document != "undefined" && + (document.addEventListener("DOMContentLoaded", e), e()); +} +function l1(t) { + if (!t) return new Set(); + if (typeof t == "function") return new Set(t()); + let e = new Set(); + for (let n of t.value) { + let r = fe(n); + r instanceof HTMLElement && e.add(r); + } + return e; +} +var a1 = ((t) => ( + (t[(t.None = 1)] = "None"), + (t[(t.InitialFocus = 2)] = "InitialFocus"), + (t[(t.TabLock = 4)] = "TabLock"), + (t[(t.FocusLock = 8)] = "FocusLock"), + (t[(t.RestoreFocus = 16)] = "RestoreFocus"), + (t[(t.All = 30)] = "All"), + t +))(a1 || {}); +let bo = Object.assign( + xe({ + name: "FocusTrap", + props: { + as: { type: [Object, String], default: "div" }, + initialFocus: { type: Object, default: null }, + features: { type: Number, default: 30 }, + containers: { + type: [Object, Function], + default: oe(new Set()), + }, + }, + inheritAttrs: !1, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = oe(null); + r({ el: i, $el: i }); + let o = $(() => vn(i)), + s = oe(!1); + Ye(() => (s.value = !0)), + Bt(() => (s.value = !1)), + Bw( + { ownerDocument: o }, + $(() => s.value && Boolean(t.features & 16)) + ); + let l = $w( + { + ownerDocument: o, + container: i, + initialFocus: $(() => t.initialFocus), + }, + $(() => s.value && Boolean(t.features & 2)) + ); + zw( + { + ownerDocument: o, + container: i, + containers: t.containers, + previousActiveElement: l, + }, + $(() => s.value && Boolean(t.features & 8)) + ); + let a = Lw(); + function u(p) { + let g = fe(i); + !g || + ((v) => v())(() => { + vt(a.value, { + [_o.Forwards]: () => { + li(g, Qt.First, { + skipElements: [p.relatedTarget], + }); + }, + [_o.Backwards]: () => { + li(g, Qt.Last, { + skipElements: [p.relatedTarget], + }); + }, + }); + }); + } + let c = oe(!1); + function f(p) { + p.key === "Tab" && + ((c.value = !0), + requestAnimationFrame(() => { + c.value = !1; + })); + } + function h(p) { + if (!s.value) return; + let g = l1(t.containers); + fe(i) instanceof HTMLElement && g.add(fe(i)); + let v = p.relatedTarget; + v instanceof HTMLElement && + v.dataset.headlessuiFocusGuard !== "true" && + (u1(g, v) || + (c.value + ? li( + fe(i), + vt(a.value, { + [_o.Forwards]: () => Qt.Next, + [_o.Backwards]: () => Qt.Previous, + }) | Qt.WrapAround, + { relativeTo: p.target } + ) + : p.target instanceof HTMLElement && + Rr(p.target))); + } + return () => { + let p = {}, + g = { ref: i, onKeydown: f, onFocusout: h }, + T = t, + { features: v, initialFocus: b, containers: x } = T, + S = Qe(T, ["features", "initialFocus", "containers"]); + return ze(He, [ + Boolean(v & 4) && + ze(Gi, { + as: "button", + type: "button", + "data-headlessui-focus-guard": !0, + onFocus: u, + features: gi.Focusable, + }), + tt({ + ourProps: g, + theirProps: W(W({}, e), S), + slot: p, + attrs: e, + slots: n, + name: "FocusTrap", + }), + Boolean(v & 4) && + ze(Gi, { + as: "button", + type: "button", + "data-headlessui-focus-guard": !0, + onFocus: u, + features: gi.Focusable, + }), + ]); + }; + }, + }), + { features: a1 } + ), + Zr = []; +Dw(() => { + function t(e) { + e.target instanceof HTMLElement && + e.target !== document.body && + Zr[0] !== e.target && + (Zr.unshift(e.target), + (Zr = Zr.filter((n) => n != null && n.isConnected)), + Zr.splice(10)); + } + window.addEventListener("click", t, { capture: !0 }), + window.addEventListener("mousedown", t, { capture: !0 }), + window.addEventListener("focus", t, { capture: !0 }), + document.body.addEventListener("click", t, { capture: !0 }), + document.body.addEventListener("mousedown", t, { capture: !0 }), + document.body.addEventListener("focus", t, { capture: !0 }); +}); +function Iw(t) { + let e = oe(Zr.slice()); + return ( + Rt( + [t], + ([n], [r]) => { + r === !0 && n === !1 + ? Dd(() => { + e.value.splice(0); + }) + : r === !1 && n === !0 && (e.value = Zr.slice()); + }, + { flush: "post" } + ), + () => { + var n; + return (n = e.value.find((r) => r != null && r.isConnected)) != null + ? n + : null; + } + ); +} +function Bw({ ownerDocument: t }, e) { + let n = Iw(e); + Ye(() => { + Mt( + () => { + var r, i; + e.value || + (((r = t.value) == null ? void 0 : r.activeElement) === + ((i = t.value) == null ? void 0 : i.body) && + Rr(n())); + }, + { flush: "post" } + ); + }), + Bt(() => { + e.value && Rr(n()); + }); +} +function $w({ ownerDocument: t, container: e, initialFocus: n }, r) { + let i = oe(null), + o = oe(!1); + return ( + Ye(() => (o.value = !0)), + Bt(() => (o.value = !1)), + Ye(() => { + Rt( + [e, n, r], + (s, l) => { + if ( + s.every((u, c) => (l == null ? void 0 : l[c]) === u) || + !r.value + ) + return; + let a = fe(e); + a && + Dd(() => { + var u, c; + if (!o.value) return; + let f = fe(n), + h = + (u = t.value) == null + ? void 0 + : u.activeElement; + if (f) { + if (f === h) { + i.value = h; + return; + } + } else if (a.contains(h)) { + i.value = h; + return; + } + f + ? Rr(f) + : li(a, Qt.First | Qt.NoScroll) === Sl.Error && + console.warn( + "There are no focusable elements inside the " + ), + (i.value = + (c = t.value) == null + ? void 0 + : c.activeElement); + }); + }, + { immediate: !0, flush: "post" } + ); + }), + i + ); +} +function zw( + { ownerDocument: t, container: e, containers: n, previousActiveElement: r }, + i +) { + var o; + s1( + (o = t.value) == null ? void 0 : o.defaultView, + "focus", + (s) => { + if (!i.value) return; + let l = l1(n); + fe(e) instanceof HTMLElement && l.add(fe(e)); + let a = r.value; + if (!a) return; + let u = s.target; + u && u instanceof HTMLElement + ? u1(l, u) + ? ((r.value = u), Rr(u)) + : (s.preventDefault(), s.stopPropagation(), Rr(a)) + : Rr(r.value); + }, + !0 + ); +} +function u1(t, e) { + for (let n of t) if (n.contains(e)) return !0; + return !1; +} +let mu = new Map(), + wo = new Map(); +function qh(t, e = oe(!0)) { + Mt((n) => { + var r; + if (!e.value) return; + let i = fe(t); + if (!i) return; + n(function () { + var s; + if (!i) return; + let l = (s = wo.get(i)) != null ? s : 1; + if ((l === 1 ? wo.delete(i) : wo.set(i, l - 1), l !== 1)) return; + let a = mu.get(i); + a && + (a["aria-hidden"] === null + ? i.removeAttribute("aria-hidden") + : i.setAttribute("aria-hidden", a["aria-hidden"]), + (i.inert = a.inert), + mu.delete(i)); + }); + let o = (r = wo.get(i)) != null ? r : 0; + wo.set(i, o + 1), + o === 0 && + (mu.set(i, { + "aria-hidden": i.getAttribute("aria-hidden"), + inert: i.inert, + }), + i.setAttribute("aria-hidden", "true"), + (i.inert = !0)); + }); +} +let c1 = Symbol("ForcePortalRootContext"); +function Hw() { + return qe(c1, !1); +} +let gc = xe({ + name: "ForcePortalRoot", + props: { + as: { type: [Object, String], default: "template" }, + force: { type: Boolean, default: !1 }, + }, + setup(t, { slots: e, attrs: n }) { + return ( + kt(c1, t.force), + () => { + let o = t, + { force: r } = o, + i = Qe(o, ["force"]); + return tt({ + theirProps: i, + ourProps: {}, + slot: {}, + slots: e, + attrs: n, + name: "ForcePortalRoot", + }); + } + ); + }, +}); +function Fw(t) { + let e = vn(t); + if (!e) { + if (t === null) return null; + throw new Error( + `[Headless UI]: Cannot find ownerDocument for contextElement: ${t}` + ); + } + let n = e.getElementById("headlessui-portal-root"); + if (n) return n; + let r = e.createElement("div"); + return ( + r.setAttribute("id", "headlessui-portal-root"), e.body.appendChild(r) + ); +} +let d1 = xe({ + name: "Portal", + props: { as: { type: [Object, String], default: "div" } }, + setup(t, { slots: e, attrs: n }) { + let r = oe(null), + i = $(() => vn(r)), + o = Hw(), + s = qe(f1, null), + l = oe(o === !0 || s == null ? Fw(r.value) : s.resolveTarget()); + Mt(() => { + o || (s != null && (l.value = s.resolveTarget())); + }); + let a = qe(yc, null); + return ( + Ye(() => { + let u = fe(r); + u && a && Bt(a.register(u)); + }), + Bt(() => { + var u, c; + let f = + (u = i.value) == null + ? void 0 + : u.getElementById("headlessui-portal-root"); + f && + l.value === f && + l.value.children.length <= 0 && + ((c = l.value.parentElement) == null || + c.removeChild(l.value)); + }), + () => { + if (l.value === null) return null; + let u = { ref: r, "data-headlessui-portal": "" }; + return ze( + xd, + { to: l.value }, + tt({ + ourProps: u, + theirProps: t, + slot: {}, + attrs: n, + slots: e, + name: "Portal", + }) + ); + } + ); + }, + }), + yc = Symbol("PortalParentContext"); +function Vw() { + let t = qe(yc, null), + e = oe([]); + function n(o) { + return e.value.push(o), t && t.register(o), () => r(o); + } + function r(o) { + let s = e.value.indexOf(o); + s !== -1 && e.value.splice(s, 1), t && t.unregister(o); + } + let i = { register: n, unregister: r, portals: e }; + return [ + e, + xe({ + name: "PortalWrapper", + setup(o, { slots: s }) { + return ( + kt(yc, i), + () => { + var l; + return (l = s.default) == null ? void 0 : l.call(s); + } + ); + }, + }), + ]; +} +let f1 = Symbol("PortalGroupContext"), + Ww = xe({ + name: "PortalGroup", + props: { + as: { type: [Object, String], default: "template" }, + target: { type: Object, default: null }, + }, + setup(t, { attrs: e, slots: n }) { + let r = Sn({ + resolveTarget() { + return t.target; + }, + }); + return ( + kt(f1, r), + () => { + let s = t, + { target: i } = s, + o = Qe(s, ["target"]); + return tt({ + theirProps: o, + ourProps: {}, + slot: {}, + attrs: e, + slots: n, + name: "PortalGroup", + }); + } + ); + }, + }), + h1 = Symbol("StackContext"); +var vc = ((t) => ((t[(t.Add = 0)] = "Add"), (t[(t.Remove = 1)] = "Remove"), t))( + vc || {} +); +function Uw() { + return qe(h1, () => {}); +} +function Kw({ type: t, enabled: e, element: n, onUpdate: r }) { + let i = Uw(); + function o(...s) { + r == null || r(...s), i(...s); + } + Ye(() => { + Rt( + e, + (s, l) => { + s ? o(0, t, n) : l === !0 && o(1, t, n); + }, + { immediate: !0, flush: "sync" } + ); + }), + Bt(() => { + e.value && o(1, t, n); + }), + kt(h1, o); +} +let p1 = Symbol("DescriptionContext"); +function qw() { + let t = qe(p1, null); + if (t === null) throw new Error("Missing parent"); + return t; +} +function ja({ slot: t = oe({}), name: e = "Description", props: n = {} } = {}) { + let r = oe([]); + function i(o) { + return ( + r.value.push(o), + () => { + let s = r.value.indexOf(o); + s !== -1 && r.value.splice(s, 1); + } + ); + } + return ( + kt(p1, { register: i, slot: t, name: e, props: n }), + $(() => (r.value.length > 0 ? r.value.join(" ") : void 0)) + ); +} +let Jw = xe({ + name: "Description", + props: { + as: { type: [Object, String], default: "p" }, + id: { type: String, default: () => `headlessui-description-${At()}` }, + }, + setup(t, { attrs: e, slots: n }) { + let r = qw(); + return ( + Ye(() => Bt(r.register(t.id))), + () => { + let { + name: i = "Description", + slot: o = oe({}), + props: s = {}, + } = r, + c = t, + { id: l } = c, + a = Qe(c, ["id"]), + u = be( + W( + {}, + Object.entries(s).reduce( + (f, [h, p]) => Object.assign(f, { [h]: ne(p) }), + {} + ) + ), + { id: l } + ); + return tt({ + ourProps: u, + theirProps: a, + slot: o.value, + attrs: e, + slots: n, + name: i, + }); + } + ); + }, +}); +function Gw(t) { + let e = rg(t.getSnapshot()); + return ( + Bt( + t.subscribe(() => { + e.value = t.getSnapshot(); + }) + ), + e + ); +} +function Yw(t, e) { + let n = t(), + r = new Set(); + return { + getSnapshot() { + return n; + }, + subscribe(i) { + return r.add(i), () => r.delete(i); + }, + dispatch(i, ...o) { + let s = e[i].call(n, ...o); + s && ((n = s), r.forEach((l) => l())); + }, + }; +} +function Qw() { + let t; + return { + before({ doc: e }) { + var n; + let r = e.documentElement; + t = + ((n = e.defaultView) != null ? n : window).innerWidth - + r.clientWidth; + }, + after({ doc: e, d: n }) { + let r = e.documentElement, + i = r.clientWidth - r.offsetWidth, + o = t - i; + n.style(r, "paddingRight", `${o}px`); + }, + }; +} +function Xw() { + if (!i1()) return {}; + let t; + return { + before() { + t = window.pageYOffset; + }, + after({ doc: e, d: n, meta: r }) { + function i(s) { + return r.containers + .flatMap((l) => l()) + .some((l) => l.contains(s)); + } + if ( + window.getComputedStyle(e.documentElement).scrollBehavior !== + "auto" + ) { + let s = lo(); + s.style(e.documentElement, "scroll-behavior", "auto"), + n.add(() => n.microTask(() => s.dispose())); + } + n.style(e.body, "marginTop", `-${t}px`), window.scrollTo(0, 0); + let o = null; + n.addEventListener( + e, + "click", + (s) => { + if (s.target instanceof HTMLElement) + try { + let l = s.target.closest("a"); + if (!l) return; + let { hash: a } = new URL(l.href), + u = e.querySelector(a); + u && !i(u) && (o = u); + } catch (l) {} + }, + !0 + ), + n.addEventListener( + e, + "touchmove", + (s) => { + s.target instanceof HTMLElement && + !i(s.target) && + s.preventDefault(); + }, + { passive: !1 } + ), + n.add(() => { + window.scrollTo(0, window.pageYOffset + t), + o && + o.isConnected && + (o.scrollIntoView({ block: "nearest" }), + (o = null)); + }); + }, + }; +} +function Zw() { + return { + before({ doc: t, d: e }) { + e.style(t.documentElement, "overflow", "hidden"); + }, + }; +} +function ex(t) { + let e = {}; + for (let n of t) Object.assign(e, n(e)); + return e; +} +let ni = Yw(() => new Map(), { + PUSH(t, e) { + var n; + let r = + (n = this.get(t)) != null + ? n + : { doc: t, count: 0, d: lo(), meta: new Set() }; + return r.count++, r.meta.add(e), this.set(t, r), this; + }, + POP(t, e) { + let n = this.get(t); + return n && (n.count--, n.meta.delete(e)), this; + }, + SCROLL_PREVENT({ doc: t, d: e, meta: n }) { + let r = { doc: t, d: e, meta: ex(n) }, + i = [Xw(), Qw(), Zw()]; + i.forEach(({ before: o }) => (o == null ? void 0 : o(r))), + i.forEach(({ after: o }) => (o == null ? void 0 : o(r))); + }, + SCROLL_ALLOW({ d: t }) { + t.dispose(); + }, + TEARDOWN({ doc: t }) { + this.delete(t); + }, +}); +ni.subscribe(() => { + let t = ni.getSnapshot(), + e = new Map(); + for (let [n] of t) e.set(n, n.documentElement.style.overflow); + for (let n of t.values()) { + let r = e.get(n.doc) === "hidden", + i = n.count !== 0; + ((i && !r) || (!i && r)) && + ni.dispatch(n.count > 0 ? "SCROLL_PREVENT" : "SCROLL_ALLOW", n), + n.count === 0 && ni.dispatch("TEARDOWN", n); + } +}); +function tx(t, e, n) { + let r = Gw(ni), + i = $(() => { + let o = t.value ? r.value.get(t.value) : void 0; + return o ? o.count > 0 : !1; + }); + return ( + Rt( + [t, e], + ([o, s], [l], a) => { + if (!o || !s) return; + ni.dispatch("PUSH", o, n); + let u = !1; + a(() => { + u || (ni.dispatch("POP", l != null ? l : o, n), (u = !0)); + }); + }, + { immediate: !0 } + ), + i + ); +} +function nx({ + defaultContainers: t = [], + portals: e, + mainTreeNodeRef: n, +} = {}) { + let r = oe(null), + i = vn(r); + function o() { + var s; + let l = []; + for (let a of t) + a !== null && + (a instanceof HTMLElement + ? l.push(a) + : "value" in a && + a.value instanceof HTMLElement && + l.push(a.value)); + if (e != null && e.value) for (let a of e.value) l.push(a); + for (let a of (s = + i == null ? void 0 : i.querySelectorAll("html > *, body > *")) != + null + ? s + : []) + a !== document.body && + a !== document.head && + a instanceof HTMLElement && + a.id !== "headlessui-portal-root" && + (a.contains(fe(r)) || + l.some((u) => a.contains(u)) || + l.push(a)); + return l; + } + return { + resolveContainers: o, + contains(s) { + return o().some((l) => l.contains(s)); + }, + mainTreeNodeRef: r, + MainTreeNode() { + return n != null ? null : ze(Gi, { features: gi.Hidden, ref: r }); + }, + }; +} +var rx = ((t) => ( + (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t +))(rx || {}); +let bc = Symbol("DialogContext"); +function ys(t) { + let e = qe(bc, null); + if (e === null) { + let n = new Error(`<${t} /> is missing a parent component.`); + throw (Error.captureStackTrace && Error.captureStackTrace(n, ys), n); + } + return e; +} +let Bs = "DC8F892D-2EBD-447C-A4C8-A03058436FF4", + ix = xe({ + name: "Dialog", + inheritAttrs: !1, + props: { + as: { type: [Object, String], default: "div" }, + static: { type: Boolean, default: !1 }, + unmount: { type: Boolean, default: !0 }, + open: { type: [Boolean, String], default: Bs }, + initialFocus: { type: Object, default: null }, + id: { type: String, default: () => `headlessui-dialog-${At()}` }, + }, + emits: { close: (t) => !0 }, + setup(t, { emit: e, attrs: n, slots: r, expose: i }) { + var o; + let s = oe(!1); + Ye(() => { + s.value = !0; + }); + let l = oe(0), + a = ms(), + u = $(() => + t.open === Bs && a !== null + ? (a.value & gt.Open) === gt.Open + : t.open + ), + c = oe(null), + f = $(() => vn(c)); + if ((i({ el: c, $el: c }), !(t.open !== Bs || a !== null))) + throw new Error( + "You forgot to provide an `open` prop to the `Dialog`." + ); + if (typeof u.value != "boolean") + throw new Error( + `You provided an \`open\` prop to the \`Dialog\`, but the value is not a boolean. Received: ${ + u.value === Bs ? void 0 : t.open + }` + ); + let h = $(() => (s.value && u.value ? 0 : 1)), + p = $(() => h.value === 0), + g = $(() => l.value > 1), + v = qe(bc, null) !== null, + [b, x] = Vw(), + { + resolveContainers: S, + mainTreeNodeRef: T, + MainTreeNode: d, + } = nx({ + portals: b, + defaultContainers: [ + $(() => { + var N; + return (N = P.panelRef.value) != null ? N : c.value; + }), + ], + }), + y = $(() => (g.value ? "parent" : "leaf")), + m = $(() => + a !== null ? (a.value & gt.Closing) === gt.Closing : !1 + ), + w = $(() => (v || m.value ? !1 : p.value)), + k = $(() => { + var N, D, K; + return (K = Array.from( + (D = + (N = f.value) == null + ? void 0 + : N.querySelectorAll("body > *")) != null + ? D + : [] + ).find((ae) => + ae.id === "headlessui-portal-root" + ? !1 + : ae.contains(fe(T)) && ae instanceof HTMLElement + )) != null + ? K + : null; + }); + qh(k, w); + let _ = $(() => (g.value ? !0 : p.value)), + C = $(() => { + var N, D, K; + return (K = Array.from( + (D = + (N = f.value) == null + ? void 0 + : N.querySelectorAll( + "[data-headlessui-portal]" + )) != null + ? D + : [] + ).find( + (ae) => ae.contains(fe(T)) && ae instanceof HTMLElement + )) != null + ? K + : null; + }); + qh(C, _), + Kw({ + type: "Dialog", + enabled: $(() => h.value === 0), + element: c, + onUpdate: (N, D) => { + if (D === "Dialog") + return vt(N, { + [vc.Add]: () => (l.value += 1), + [vc.Remove]: () => (l.value -= 1), + }); + }, + }); + let E = ja({ + name: "DialogDescription", + slot: $(() => ({ open: u.value })), + }), + R = oe(null), + P = { + titleId: R, + panelRef: oe(null), + dialogState: h, + setTitleId(N) { + R.value !== N && (R.value = N); + }, + close() { + e("close", !1); + }, + }; + kt(bc, P); + let L = $(() => !(!p.value || g.value)); + Nd( + S, + (N, D) => { + P.close(), Ct(() => (D == null ? void 0 : D.focus())); + }, + L + ); + let I = $(() => !(g.value || h.value !== 0)); + s1( + (o = f.value) == null ? void 0 : o.defaultView, + "keydown", + (N) => { + I.value && + (N.defaultPrevented || + (N.key === Ie.Escape && + (N.preventDefault(), + N.stopPropagation(), + P.close()))); + } + ); + let M = $(() => !(m.value || h.value !== 0 || v)); + return ( + tx(f, M, (N) => { + var D; + return { + containers: [ + ...((D = N.containers) != null ? D : []), + S, + ], + }; + }), + Mt((N) => { + if (h.value !== 0) return; + let D = fe(c); + if (!D) return; + let K = new ResizeObserver((ae) => { + for (let Q of ae) { + let me = Q.target.getBoundingClientRect(); + me.x === 0 && + me.y === 0 && + me.width === 0 && + me.height === 0 && + P.close(); + } + }); + K.observe(D), N(() => K.disconnect()); + }), + () => { + let je = t, + { id: N, open: D, initialFocus: K } = je, + ae = Qe(je, ["id", "open", "initialFocus"]), + Q = be(W({}, n), { + ref: c, + id: N, + role: "dialog", + "aria-modal": h.value === 0 ? !0 : void 0, + "aria-labelledby": R.value, + "aria-describedby": E.value, + }), + me = { open: h.value === 0 }; + return ze(gc, { force: !0 }, () => [ + ze(d1, () => + ze(Ww, { target: c.value }, () => + ze(gc, { force: !1 }, () => + ze( + bo, + { + initialFocus: K, + containers: S, + features: p.value + ? vt(y.value, { + parent: bo.features + .RestoreFocus, + leaf: + bo.features.All & + ~bo.features + .FocusLock, + }) + : bo.features.None, + }, + () => + ze(x, {}, () => + tt({ + ourProps: Q, + theirProps: W(W({}, ae), n), + slot: me, + attrs: n, + slots: r, + visible: h.value === 0, + features: + Gn.RenderStrategy | + Gn.Static, + name: "Dialog", + }) + ) + ) + ) + ) + ), + ze(d), + ]); + } + ); + }, + }); +xe({ + name: "DialogOverlay", + props: { + as: { type: [Object, String], default: "div" }, + id: { + type: String, + default: () => `headlessui-dialog-overlay-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n }) { + let r = ys("DialogOverlay"); + function i(o) { + o.target === o.currentTarget && + (o.preventDefault(), o.stopPropagation(), r.close()); + } + return () => { + let l = t, + { id: o } = l, + s = Qe(l, ["id"]); + return tt({ + ourProps: { id: o, "aria-hidden": !0, onClick: i }, + theirProps: s, + slot: { open: r.dialogState.value === 0 }, + attrs: e, + slots: n, + name: "DialogOverlay", + }); + }; + }, +}); +xe({ + name: "DialogBackdrop", + props: { + as: { type: [Object, String], default: "div" }, + id: { + type: String, + default: () => `headlessui-dialog-backdrop-${At()}`, + }, + }, + inheritAttrs: !1, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = ys("DialogBackdrop"), + o = oe(null); + return ( + r({ el: o, $el: o }), + Ye(() => { + if (i.panelRef.value === null) + throw new Error( + "A component is being used, but a component is missing." + ); + }), + () => { + let u = t, + { id: s } = u, + l = Qe(u, ["id"]), + a = { id: s, ref: o, "aria-hidden": !0 }; + return ze(gc, { force: !0 }, () => + ze(d1, () => + tt({ + ourProps: a, + theirProps: W(W({}, e), l), + slot: { open: i.dialogState.value === 0 }, + attrs: e, + slots: n, + name: "DialogBackdrop", + }) + ) + ); + } + ); + }, +}); +let ox = xe({ + name: "DialogPanel", + props: { + as: { type: [Object, String], default: "div" }, + id: { + type: String, + default: () => `headlessui-dialog-panel-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = ys("DialogPanel"); + r({ el: i.panelRef, $el: i.panelRef }); + function o(s) { + s.stopPropagation(); + } + return () => { + let u = t, + { id: s } = u, + l = Qe(u, ["id"]), + a = { id: s, ref: i.panelRef, onClick: o }; + return tt({ + ourProps: a, + theirProps: l, + slot: { open: i.dialogState.value === 0 }, + attrs: e, + slots: n, + name: "DialogPanel", + }); + }; + }, + }), + sx = xe({ + name: "DialogTitle", + props: { + as: { type: [Object, String], default: "h2" }, + id: { + type: String, + default: () => `headlessui-dialog-title-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n }) { + let r = ys("DialogTitle"); + return ( + Ye(() => { + r.setTitleId(t.id), Bt(() => r.setTitleId(null)); + }), + () => { + let s = t, + { id: i } = s, + o = Qe(s, ["id"]); + return tt({ + ourProps: { id: i }, + theirProps: o, + slot: { open: r.dialogState.value === 0 }, + attrs: e, + slots: n, + name: "DialogTitle", + }); + } + ); + }, + }), + Jh = + /([\u2700-\u27BF]|[\uE000-\uF8FF]|\uD83C[\uDC00-\uDFFF]|\uD83D[\uDC00-\uDFFF]|[\u2011-\u26FF]|\uD83E[\uDD10-\uDDFF])/g; +function Gh(t) { + var e, n; + let r = (e = t.innerText) != null ? e : "", + i = t.cloneNode(!0); + if (!(i instanceof HTMLElement)) return r; + let o = !1; + for (let l of i.querySelectorAll('[hidden],[aria-hidden],[role="img"]')) + l.remove(), (o = !0); + let s = o ? ((n = i.innerText) != null ? n : "") : r; + return Jh.test(s) && (s = s.replace(Jh, "")), s; +} +function lx(t) { + let e = t.getAttribute("aria-label"); + if (typeof e == "string") return e.trim(); + let n = t.getAttribute("aria-labelledby"); + if (n) { + let r = n + .split(" ") + .map((i) => { + let o = document.getElementById(i); + if (o) { + let s = o.getAttribute("aria-label"); + return typeof s == "string" ? s.trim() : Gh(o).trim(); + } + return null; + }) + .filter(Boolean); + if (r.length > 0) return r.join(", "); + } + return Gh(t).trim(); +} +function ax(t) { + let e = oe(""), + n = oe(""); + return () => { + let r = fe(t); + if (!r) return ""; + let i = r.innerText; + if (e.value === i) return n.value; + let o = lx(r).trim().toLowerCase(); + return (e.value = i), (n.value = o), o; + }; +} +var ux = ((t) => ( + (t[(t.Open = 0)] = "Open"), (t[(t.Closed = 1)] = "Closed"), t + ))(ux || {}), + cx = ((t) => ( + (t[(t.Pointer = 0)] = "Pointer"), (t[(t.Other = 1)] = "Other"), t + ))(cx || {}); +function dx(t) { + requestAnimationFrame(() => requestAnimationFrame(t)); +} +let m1 = Symbol("MenuContext"); +function La(t) { + let e = qe(m1, null); + if (e === null) { + let n = new Error(`<${t} /> is missing a parent component.`); + throw (Error.captureStackTrace && Error.captureStackTrace(n, La), n); + } + return e; +} +let fx = xe({ + name: "Menu", + props: { as: { type: [Object, String], default: "template" } }, + setup(t, { slots: e, attrs: n }) { + let r = oe(1), + i = oe(null), + o = oe(null), + s = oe([]), + l = oe(""), + a = oe(null), + u = oe(1); + function c(h = (p) => p) { + let p = a.value !== null ? s.value[a.value] : null, + g = Na(h(s.value.slice()), (b) => fe(b.dataRef.domRef)), + v = p ? g.indexOf(p) : null; + return v === -1 && (v = null), { items: g, activeItemIndex: v }; + } + let f = { + menuState: r, + buttonRef: i, + itemsRef: o, + items: s, + searchQuery: l, + activeItemIndex: a, + activationTrigger: u, + closeMenu: () => { + (r.value = 1), (a.value = null); + }, + openMenu: () => (r.value = 0), + goToItem(h, p, g) { + let v = c(), + b = Gg( + h === Ze.Specific + ? { focus: Ze.Specific, id: p } + : { focus: h }, + { + resolveItems: () => v.items, + resolveActiveIndex: () => v.activeItemIndex, + resolveId: (x) => x.id, + resolveDisabled: (x) => x.dataRef.disabled, + } + ); + (l.value = ""), + (a.value = b), + (u.value = g != null ? g : 1), + (s.value = v.items); + }, + search(h) { + let p = l.value !== "" ? 0 : 1; + l.value += h.toLowerCase(); + let g = ( + a.value !== null + ? s.value + .slice(a.value + p) + .concat(s.value.slice(0, a.value + p)) + : s.value + ).find( + (b) => + b.dataRef.textValue.startsWith(l.value) && + !b.dataRef.disabled + ), + v = g ? s.value.indexOf(g) : -1; + v === -1 || v === a.value || ((a.value = v), (u.value = 1)); + }, + clearSearch() { + l.value = ""; + }, + registerItem(h, p) { + let g = c((v) => [...v, { id: h, dataRef: p }]); + (s.value = g.items), + (a.value = g.activeItemIndex), + (u.value = 1); + }, + unregisterItem(h) { + let p = c((g) => { + let v = g.findIndex((b) => b.id === h); + return v !== -1 && g.splice(v, 1), g; + }); + (s.value = p.items), + (a.value = p.activeItemIndex), + (u.value = 1); + }, + }; + return ( + Nd( + [i, o], + (h, p) => { + var g; + f.closeMenu(), + Pd(p, Rd.Loose) || + (h.preventDefault(), + (g = fe(i)) == null || g.focus()); + }, + $(() => r.value === 0) + ), + kt(m1, f), + Ad($(() => vt(r.value, { [0]: gt.Open, [1]: gt.Closed }))), + () => { + let h = { open: r.value === 0, close: f.closeMenu }; + return tt({ + ourProps: {}, + theirProps: t, + slot: h, + slots: e, + attrs: n, + name: "Menu", + }); + } + ); + }, + }), + hx = xe({ + name: "MenuButton", + props: { + disabled: { type: Boolean, default: !1 }, + as: { type: [Object, String], default: "button" }, + id: { + type: String, + default: () => `headlessui-menu-button-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = La("MenuButton"); + r({ el: i.buttonRef, $el: i.buttonRef }); + function o(u) { + switch (u.key) { + case Ie.Space: + case Ie.Enter: + case Ie.ArrowDown: + u.preventDefault(), + u.stopPropagation(), + i.openMenu(), + Ct(() => { + var c; + (c = fe(i.itemsRef)) == null || + c.focus({ preventScroll: !0 }), + i.goToItem(Ze.First); + }); + break; + case Ie.ArrowUp: + u.preventDefault(), + u.stopPropagation(), + i.openMenu(), + Ct(() => { + var c; + (c = fe(i.itemsRef)) == null || + c.focus({ preventScroll: !0 }), + i.goToItem(Ze.Last); + }); + break; + } + } + function s(u) { + switch (u.key) { + case Ie.Space: + u.preventDefault(); + break; + } + } + function l(u) { + t.disabled || + (i.menuState.value === 0 + ? (i.closeMenu(), + Ct(() => { + var c; + return (c = fe(i.buttonRef)) == null + ? void 0 + : c.focus({ preventScroll: !0 }); + })) + : (u.preventDefault(), + i.openMenu(), + dx(() => { + var c; + return (c = fe(i.itemsRef)) == null + ? void 0 + : c.focus({ preventScroll: !0 }); + }))); + } + let a = Td( + $(() => ({ as: t.as, type: e.type })), + i.buttonRef + ); + return () => { + var u; + let c = { open: i.menuState.value === 0 }, + g = t, + { id: f } = g, + h = Qe(g, ["id"]), + p = { + ref: i.buttonRef, + id: f, + type: a.value, + "aria-haspopup": "menu", + "aria-controls": + (u = fe(i.itemsRef)) == null ? void 0 : u.id, + "aria-expanded": i.menuState.value === 0, + onKeydown: o, + onKeyup: s, + onClick: l, + }; + return tt({ + ourProps: p, + theirProps: h, + slot: c, + attrs: e, + slots: n, + name: "MenuButton", + }); + }; + }, + }), + px = xe({ + name: "MenuItems", + props: { + as: { type: [Object, String], default: "div" }, + static: { type: Boolean, default: !1 }, + unmount: { type: Boolean, default: !0 }, + id: { + type: String, + default: () => `headlessui-menu-items-${At()}`, + }, + }, + setup(t, { attrs: e, slots: n, expose: r }) { + let i = La("MenuItems"), + o = oe(null); + r({ el: i.itemsRef, $el: i.itemsRef }), + Od({ + container: $(() => fe(i.itemsRef)), + enabled: $(() => i.menuState.value === 0), + accept(c) { + return c.getAttribute("role") === "menuitem" + ? NodeFilter.FILTER_REJECT + : c.hasAttribute("role") + ? NodeFilter.FILTER_SKIP + : NodeFilter.FILTER_ACCEPT; + }, + walk(c) { + c.setAttribute("role", "none"); + }, + }); + function s(c) { + var f; + switch ((o.value && clearTimeout(o.value), c.key)) { + case Ie.Space: + if (i.searchQuery.value !== "") + return ( + c.preventDefault(), + c.stopPropagation(), + i.search(c.key) + ); + case Ie.Enter: + if ( + (c.preventDefault(), + c.stopPropagation(), + i.activeItemIndex.value !== null) + ) { + let h = i.items.value[i.activeItemIndex.value]; + (f = fe(h.dataRef.domRef)) == null || f.click(); + } + i.closeMenu(), Xg(fe(i.buttonRef)); + break; + case Ie.ArrowDown: + return ( + c.preventDefault(), + c.stopPropagation(), + i.goToItem(Ze.Next) + ); + case Ie.ArrowUp: + return ( + c.preventDefault(), + c.stopPropagation(), + i.goToItem(Ze.Previous) + ); + case Ie.Home: + case Ie.PageUp: + return ( + c.preventDefault(), + c.stopPropagation(), + i.goToItem(Ze.First) + ); + case Ie.End: + case Ie.PageDown: + return ( + c.preventDefault(), + c.stopPropagation(), + i.goToItem(Ze.Last) + ); + case Ie.Escape: + c.preventDefault(), + c.stopPropagation(), + i.closeMenu(), + Ct(() => { + var h; + return (h = fe(i.buttonRef)) == null + ? void 0 + : h.focus({ preventScroll: !0 }); + }); + break; + case Ie.Tab: + c.preventDefault(), + c.stopPropagation(), + i.closeMenu(), + Ct(() => + Cw( + fe(i.buttonRef), + c.shiftKey ? Qt.Previous : Qt.Next + ) + ); + break; + default: + c.key.length === 1 && + (i.search(c.key), + (o.value = setTimeout(() => i.clearSearch(), 350))); + break; + } + } + function l(c) { + switch (c.key) { + case Ie.Space: + c.preventDefault(); + break; + } + } + let a = ms(), + u = $(() => + a !== null + ? (a.value & gt.Open) === gt.Open + : i.menuState.value === 0 + ); + return () => { + var c, f; + let h = { open: i.menuState.value === 0 }, + b = t, + { id: p } = b, + g = Qe(b, ["id"]), + v = { + "aria-activedescendant": + i.activeItemIndex.value === null || + (c = i.items.value[i.activeItemIndex.value]) == null + ? void 0 + : c.id, + "aria-labelledby": + (f = fe(i.buttonRef)) == null ? void 0 : f.id, + id: p, + onKeydown: s, + onKeyup: l, + role: "menu", + tabIndex: 0, + ref: i.itemsRef, + }; + return tt({ + ourProps: v, + theirProps: g, + slot: h, + attrs: e, + slots: n, + features: Gn.RenderStrategy | Gn.Static, + visible: u.value, + name: "MenuItems", + }); + }; + }, + }), + mx = xe({ + name: "MenuItem", + inheritAttrs: !1, + props: { + as: { type: [Object, String], default: "template" }, + disabled: { type: Boolean, default: !1 }, + id: { type: String, default: () => `headlessui-menu-item-${At()}` }, + }, + setup(t, { slots: e, attrs: n, expose: r }) { + let i = La("MenuItem"), + o = oe(null); + r({ el: o, $el: o }); + let s = $(() => + i.activeItemIndex.value !== null + ? i.items.value[i.activeItemIndex.value].id === t.id + : !1 + ), + l = ax(o), + a = $(() => ({ + disabled: t.disabled, + get textValue() { + return l(); + }, + domRef: o, + })); + Ye(() => i.registerItem(t.id, a)), + Bt(() => i.unregisterItem(t.id)), + Mt(() => { + i.menuState.value === 0 && + s.value && + i.activationTrigger.value !== 0 && + Ct(() => { + var v, b; + return (b = + (v = fe(o)) == null + ? void 0 + : v.scrollIntoView) == null + ? void 0 + : b.call(v, { block: "nearest" }); + }); + }); + function u(v) { + if (t.disabled) return v.preventDefault(); + i.closeMenu(), Xg(fe(i.buttonRef)); + } + function c() { + if (t.disabled) return i.goToItem(Ze.Nothing); + i.goToItem(Ze.Specific, t.id); + } + let f = r1(); + function h(v) { + f.update(v); + } + function p(v) { + f.wasMoved(v) && + (t.disabled || s.value || i.goToItem(Ze.Specific, t.id, 0)); + } + function g(v) { + f.wasMoved(v) && + (t.disabled || (s.value && i.goToItem(Ze.Nothing))); + } + return () => { + let { disabled: v } = t, + b = { active: s.value, disabled: v, close: i.closeMenu }, + T = t, + { id: x } = T, + S = Qe(T, ["id"]); + return tt({ + ourProps: { + id: x, + ref: o, + role: "menuitem", + tabIndex: v === !0 ? void 0 : -1, + "aria-disabled": v === !0 ? !0 : void 0, + disabled: void 0, + onClick: u, + onFocus: c, + onPointerenter: h, + onMouseenter: h, + onPointermove: p, + onMousemove: p, + onPointerleave: g, + onMouseleave: g, + }, + theirProps: W(W({}, n), S), + slot: b, + attrs: n, + slots: e, + name: "MenuItem", + }); + }; + }, + }), + g1 = Symbol("LabelContext"); +function y1() { + let t = qe(g1, null); + if (t === null) { + let e = new Error( + "You used a