From 886bdbaaada3eae3236cfdb5f99d65b6dc828859 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Benjamin=20B=C3=A4dorf?= Date: Wed, 6 Dec 2023 18:55:36 +0100 Subject: [PATCH] chore: start working on v2 --- README.md | 2 +- account/.gitignore | 1 + account/account.ftl | 65 - account/applications.ftl | 85 - account/federatedIdentity.ftl | 42 - account/frontend/.eslintrc.cjs | 25 + account/frontend/.gitignore | 28 + account/frontend/.prettierrc.json | 8 + account/frontend/README.md | 68 + account/frontend/cypress.config.ts | 8 + account/frontend/cypress/e2e/example.cy.ts | 8 + account/frontend/cypress/e2e/tsconfig.json | 10 + .../frontend/cypress/fixtures/example.json | 5 + account/frontend/cypress/support/commands.ts | 39 + account/frontend/cypress/support/e2e.ts | 20 + account/frontend/env.d.ts | 24 + account/frontend/index.html | 13 + account/frontend/package-lock.json | 5927 +++++++++++++++++ account/frontend/package.json | 48 + account/frontend/public/favicon.ico | Bin 0 -> 4286 bytes account/frontend/public/logo.svg | 1 + account/frontend/src/App.tsx | 12 + account/frontend/src/assets/base.css | 86 + account/frontend/src/assets/main.css | 35 + .../frontend/src/components/Background.scss | 35 + .../frontend/src/components/Background.tsx | 45 + account/frontend/src/components/Logo.scss | 45 + .../components/__tests__/HelloWorld.spec.ts | 11 + account/frontend/src/keycloak.ts | 23 + account/frontend/src/main.ts | 17 + account/frontend/src/router/index.ts | 14 + account/frontend/src/stores/counter.ts | 12 + account/frontend/src/views/Home.tsx | 8 + account/frontend/tsconfig.app.json | 12 + account/frontend/tsconfig.json | 14 + account/frontend/tsconfig.node.json | 16 + account/frontend/tsconfig.vitest.json | 9 + account/frontend/vite.config.ts | 32 + account/frontend/vitest.config.ts | 14 + account/index.ftl | 73 + account/log.ftl | 35 - account/password.ftl | 75 - account/resource-detail.ftl | 277 - account/resources.ftl | 403 -- account/resources/assets/Home-5ca1a495.js | 1 + account/resources/assets/Home-7c18ddb3.js | 1 + account/resources/assets/index-1537da3e.js | 21 + account/resources/assets/index-9c371cad.css | 1 + account/resources/assets/index-f6484dd5.js | 21 + account/resources/css/account.css | 277 - account/resources/favicon.ico | Bin 0 -> 4286 bytes account/resources/img/icon-sidebar-active.png | Bin 202 -> 0 bytes account/resources/img/keycloak-logo.png | Bin 5213 -> 0 bytes account/resources/img/logo.png | Bin 4156 -> 0 bytes account/resources/index.html | 15 + account/resources/logo.svg | 1 + account/resources/manifest.json | 25 + account/sessions.ftl | 46 - account/template.ftl | 151 - account/theme.properties | 8 - account/totp.ftl | 131 - flake.nix | 1 + shell.nix | 10 - 63 files changed, 6834 insertions(+), 1606 deletions(-) create mode 100644 account/.gitignore delete mode 100644 account/account.ftl delete mode 100644 account/applications.ftl delete mode 100644 account/federatedIdentity.ftl create mode 100644 account/frontend/.eslintrc.cjs create mode 100644 account/frontend/.gitignore create mode 100644 account/frontend/.prettierrc.json create mode 100644 account/frontend/README.md create mode 100644 account/frontend/cypress.config.ts create mode 100644 account/frontend/cypress/e2e/example.cy.ts create mode 100644 account/frontend/cypress/e2e/tsconfig.json create mode 100644 account/frontend/cypress/fixtures/example.json create mode 100644 account/frontend/cypress/support/commands.ts create mode 100644 account/frontend/cypress/support/e2e.ts create mode 100644 account/frontend/env.d.ts create mode 100644 account/frontend/index.html create mode 100644 account/frontend/package-lock.json create mode 100644 account/frontend/package.json create mode 100644 account/frontend/public/favicon.ico create mode 100644 account/frontend/public/logo.svg create mode 100644 account/frontend/src/App.tsx create mode 100644 account/frontend/src/assets/base.css create mode 100644 account/frontend/src/assets/main.css create mode 100644 account/frontend/src/components/Background.scss create mode 100644 account/frontend/src/components/Background.tsx create mode 100644 account/frontend/src/components/Logo.scss create mode 100644 account/frontend/src/components/__tests__/HelloWorld.spec.ts create mode 100644 account/frontend/src/keycloak.ts create mode 100644 account/frontend/src/main.ts create mode 100644 account/frontend/src/router/index.ts create mode 100644 account/frontend/src/stores/counter.ts create mode 100644 account/frontend/src/views/Home.tsx create mode 100644 account/frontend/tsconfig.app.json create mode 100644 account/frontend/tsconfig.json create mode 100644 account/frontend/tsconfig.node.json create mode 100644 account/frontend/tsconfig.vitest.json create mode 100644 account/frontend/vite.config.ts create mode 100644 account/frontend/vitest.config.ts create mode 100644 account/index.ftl delete mode 100644 account/log.ftl delete mode 100644 account/password.ftl delete mode 100644 account/resource-detail.ftl delete mode 100644 account/resources.ftl create mode 100644 account/resources/assets/Home-5ca1a495.js create mode 100644 account/resources/assets/Home-7c18ddb3.js create mode 100644 account/resources/assets/index-1537da3e.js create mode 100644 account/resources/assets/index-9c371cad.css create mode 100644 account/resources/assets/index-f6484dd5.js delete mode 100644 account/resources/css/account.css create mode 100644 account/resources/favicon.ico delete mode 100644 account/resources/img/icon-sidebar-active.png delete mode 100644 account/resources/img/keycloak-logo.png delete mode 100644 account/resources/img/logo.png create mode 100644 account/resources/index.html create mode 100644 account/resources/logo.svg create mode 100644 account/resources/manifest.json delete mode 100644 account/sessions.ftl delete mode 100644 account/template.ftl delete mode 100644 account/totp.ftl delete mode 100644 shell.nix diff --git a/README.md b/README.md index ad0683a..a669649 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ To start a Dev Keycloak instance that can show the pub.solar theme, you need to -e KEYCLOAK_ADMIN_PASSWORD=admin \ -v $(pwd):/opt/keycloak/themes/pub.solar \ -v $(pwd)/.dev-import:/opt/keycloak/data/import \ - quay.io/keycloak/keycloak:21.1.1 \ + quay.io/keycloak/keycloak:23.0.1 \ start-dev --import-realm --features="declarative-user-profile" ``` diff --git a/account/.gitignore b/account/.gitignore new file mode 100644 index 0000000..8516ce5 --- /dev/null +++ b/account/.gitignore @@ -0,0 +1 @@ +./resources diff --git a/account/account.ftl b/account/account.ftl deleted file mode 100644 index 80ca17c..0000000 --- a/account/account.ftl +++ /dev/null @@ -1,65 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='account' bodyClass='user'; section> - -
-
-

${msg("editAccountHtmlTitle")}

-
-
- * ${msg("requiredFields")} -
-
- -
- - - - <#if !realm.registrationEmailAsUsername> -
- - - disabled="disabled" value="${(account.username!'')}" - /> -
- - -
- - - -
- -
- - - -
- -
- - - -
- -
-
-
- <#if url.referrerURI??>${kcSanitize(msg("backToApplication")?no_esc)} - - -
-
-
-
- - diff --git a/account/applications.ftl b/account/applications.ftl deleted file mode 100644 index c083b9e..0000000 --- a/account/applications.ftl +++ /dev/null @@ -1,85 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='applications' bodyClass='applications'; section> - -
-
-

${msg("applicationsHtmlTitle")}

-
-
- -
- - - - - - - - - - - - - - - - <#list applications.applications as application> - - - - - - - - - - - - - -
${msg("application")}${msg("availableRoles")}${msg("grantedPermissions")}${msg("additionalGrants")}${msg("action")}
- <#if application.effectiveUrl?has_content> - - - <#if application.client.name?has_content>${advancedMsg(application.client.name)}<#else>${application.client.clientId} - <#if application.effectiveUrl?has_content> - - - - <#list application.realmRolesAvailable as role> - <#if role.description??>${advancedMsg(role.description)}<#else>${advancedMsg(role.name)} - <#if role_has_next>, - - <#list application.resourceRolesAvailable?keys as resource> - <#if application.realmRolesAvailable?has_content>, - <#list application.resourceRolesAvailable[resource] as clientRole> - <#if clientRole.roleDescription??>${advancedMsg(clientRole.roleDescription)}<#else>${advancedMsg(clientRole.roleName)} - ${msg("inResource")} <#if clientRole.clientName??>${advancedMsg(clientRole.clientName)}<#else>${clientRole.clientId} - <#if clientRole_has_next>, - - - - <#if application.client.consentRequired> - <#list application.clientScopesGranted as claim> - ${advancedMsg(claim)}<#if claim_has_next>, - - <#else> - ${msg("fullAccess")} - - - <#list application.additionalGrants as grant> - ${advancedMsg(grant)}<#if grant_has_next>, - - - <#if (application.client.consentRequired && application.clientScopesGranted?has_content) || application.additionalGrants?has_content> - - -
-
- - diff --git a/account/federatedIdentity.ftl b/account/federatedIdentity.ftl deleted file mode 100644 index c2eb769..0000000 --- a/account/federatedIdentity.ftl +++ /dev/null @@ -1,42 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='social' bodyClass='social'; section> - -
-
-

${msg("federatedIdentitiesHtmlTitle")}

-
-
- -
- <#list federatedIdentity.identities as identity> -
-
- -
-
- -
-
- <#if identity.connected> - <#if federatedIdentity.removeLinkPossible> -
- - - - -
- - <#else> -
- - - - -
- -
-
- -
- - diff --git a/account/frontend/.eslintrc.cjs b/account/frontend/.eslintrc.cjs new file mode 100644 index 0000000..074274f --- /dev/null +++ b/account/frontend/.eslintrc.cjs @@ -0,0 +1,25 @@ +/* eslint-env node */ +require('@rushstack/eslint-patch/modern-module-resolution') + +module.exports = { + root: true, + 'extends': [ + 'plugin:vue/vue3-essential', + 'eslint:recommended', + '@vue/eslint-config-typescript', + '@vue/eslint-config-prettier/skip-formatting' + ], + overrides: [ + { + files: [ + 'cypress/e2e/**/*.{cy,spec}.{js,ts,jsx,tsx}' + ], + 'extends': [ + 'plugin:cypress/recommended' + ] + } + ], + parserOptions: { + ecmaVersion: 'latest' + } +} diff --git a/account/frontend/.gitignore b/account/frontend/.gitignore new file mode 100644 index 0000000..38adffa --- /dev/null +++ b/account/frontend/.gitignore @@ -0,0 +1,28 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? diff --git a/account/frontend/.prettierrc.json b/account/frontend/.prettierrc.json new file mode 100644 index 0000000..66e2335 --- /dev/null +++ b/account/frontend/.prettierrc.json @@ -0,0 +1,8 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "tabWidth": 2, + "singleQuote": true, + "printWidth": 100, + "trailingComma": "none" +} \ No newline at end of file diff --git a/account/frontend/README.md b/account/frontend/README.md new file mode 100644 index 0000000..9664154 --- /dev/null +++ b/account/frontend/README.md @@ -0,0 +1,68 @@ +# keycloak-theme-pub.solar + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` + +### Run Unit Tests with [Vitest](https://vitest.dev/) + +```sh +npm run test:unit +``` + +### Run End-to-End Tests with [Cypress](https://www.cypress.io/) + +```sh +npm run test:e2e:dev +``` + +This runs the end-to-end tests against the Vite development server. +It is much faster than the production build. + +But it's still recommended to test the production build with `test:e2e` before deploying (e.g. in CI environments): + +```sh +npm run build +npm run test:e2e +``` + +### Lint with [ESLint](https://eslint.org/) + +```sh +npm run lint +``` diff --git a/account/frontend/cypress.config.ts b/account/frontend/cypress.config.ts new file mode 100644 index 0000000..0f66080 --- /dev/null +++ b/account/frontend/cypress.config.ts @@ -0,0 +1,8 @@ +import { defineConfig } from 'cypress' + +export default defineConfig({ + e2e: { + specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}', + baseUrl: 'http://localhost:4173' + } +}) diff --git a/account/frontend/cypress/e2e/example.cy.ts b/account/frontend/cypress/e2e/example.cy.ts new file mode 100644 index 0000000..7554c35 --- /dev/null +++ b/account/frontend/cypress/e2e/example.cy.ts @@ -0,0 +1,8 @@ +// https://on.cypress.io/api + +describe('My First Test', () => { + it('visits the app root url', () => { + cy.visit('/') + cy.contains('h1', 'You did it!') + }) +}) diff --git a/account/frontend/cypress/e2e/tsconfig.json b/account/frontend/cypress/e2e/tsconfig.json new file mode 100644 index 0000000..37748fe --- /dev/null +++ b/account/frontend/cypress/e2e/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["./**/*", "../support/**/*"], + "compilerOptions": { + "isolatedModules": false, + "target": "es5", + "lib": ["es5", "dom"], + "types": ["cypress"] + } +} diff --git a/account/frontend/cypress/fixtures/example.json b/account/frontend/cypress/fixtures/example.json new file mode 100644 index 0000000..02e4254 --- /dev/null +++ b/account/frontend/cypress/fixtures/example.json @@ -0,0 +1,5 @@ +{ + "name": "Using fixtures to represent data", + "email": "hello@cypress.io", + "body": "Fixtures are a great way to mock data for responses to routes" +} diff --git a/account/frontend/cypress/support/commands.ts b/account/frontend/cypress/support/commands.ts new file mode 100644 index 0000000..9b7bb8e --- /dev/null +++ b/account/frontend/cypress/support/commands.ts @@ -0,0 +1,39 @@ +/// +// *********************************************** +// This example commands.ts shows you how to +// create various custom commands and overwrite +// existing commands. +// +// For more comprehensive examples of custom +// commands please read more here: +// https://on.cypress.io/custom-commands +// *********************************************** +// +// +// -- This is a parent command -- +// Cypress.Commands.add('login', (email, password) => { ... }) +// +// +// -- This is a child command -- +// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) +// +// +// -- This is a dual command -- +// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) +// +// +// -- This will overwrite an existing command -- +// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... }) +// +// declare global { +// namespace Cypress { +// interface Chainable { +// login(email: string, password: string): Chainable +// drag(subject: string, options?: Partial): Chainable +// dismiss(subject: string, options?: Partial): Chainable +// visit(originalFn: CommandOriginalFn, url: string, options: Partial): Chainable +// } +// } +// } + +export {} diff --git a/account/frontend/cypress/support/e2e.ts b/account/frontend/cypress/support/e2e.ts new file mode 100644 index 0000000..d68db96 --- /dev/null +++ b/account/frontend/cypress/support/e2e.ts @@ -0,0 +1,20 @@ +// *********************************************************** +// This example support/index.js is processed and +// loaded automatically before your test files. +// +// This is a great place to put global configuration and +// behavior that modifies Cypress. +// +// You can change the location of this file or turn off +// automatically serving support files with the +// 'supportFile' configuration option. +// +// You can read more here: +// https://on.cypress.io/configuration +// *********************************************************** + +// Import commands.js using ES2015 syntax: +import './commands' + +// Alternatively you can use CommonJS syntax: +// require('./commands') diff --git a/account/frontend/env.d.ts b/account/frontend/env.d.ts new file mode 100644 index 0000000..a5ce176 --- /dev/null +++ b/account/frontend/env.d.ts @@ -0,0 +1,24 @@ +/// + +interface GlobalKeycloakData { + developmentMode: boolean; + authUrl: string; + baseUrl: string; + realm: string; + resourceUrl: string; + isReactLoading: boolean; + + brandImg: string; + brandUrl: string; + + referrer: string; + referrerName: string; + referrerUri: string; + + locale: string; + l18nMsg: Record; +}; + +interface Window { + globals: InitialData; +} diff --git a/account/frontend/index.html b/account/frontend/index.html new file mode 100644 index 0000000..a888544 --- /dev/null +++ b/account/frontend/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/account/frontend/package-lock.json b/account/frontend/package-lock.json new file mode 100644 index 0000000..a5812e6 --- /dev/null +++ b/account/frontend/package-lock.json @@ -0,0 +1,5927 @@ +{ + "name": "keycloak-theme-pub.solar", + "version": "0.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "requires": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + } + }, + "@babel/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true + }, + "@babel/core": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.5.tgz", + "integrity": "sha512-Cwc2XjUrG4ilcfOw4wBAK+enbdgwAcAJCfGUItPBKR7Mjw4aEfAFYrLxeRp4jWgtNIKn3n2AlBOfwwafl+42/g==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-compilation-targets": "^7.22.15", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.5", + "@babel/parser": "^7.23.5", + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + } + }, + "@babel/generator": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.5.tgz", + "integrity": "sha512-BPssCHrBD+0YrxviOa3QzpqwhNIXKEtOa2jQrm4FlmkC2apYgRnQcmPWiGZDlGxiNtltnUFolMe8497Esry+jA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", + "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.15.tgz", + "integrity": "sha512-y6EEzULok0Qvz8yyLkCvVX+02ic+By2UdOhylwUOvOn9dvYc9mKICJuuU1n1XBI02YWsNsnrY1kc6DVbjcXbtw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.22.9", + "@babel/helper-validator-option": "^7.22.15", + "browserslist": "^4.21.9", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.5.tgz", + "integrity": "sha512-QELlRWxSpgdwdJzSJn4WAhKC+hvw/AtHbbrIoncKHkhKKR/luAlKkgBDcri1EzWAo8f8VvYVryEHN4tax/V67A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-member-expression-to-functions": "^7.23.0", + "@babel/helper-optimise-call-expression": "^7.22.5", + "@babel/helper-replace-supers": "^7.22.20", + "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "semver": "^6.3.1" + } + }, + "@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true + }, + "@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", + "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", + "dev": true, + "requires": { + "@babel/types": "^7.23.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.15" + } + }, + "@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", + "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true + }, + "@babel/helper-replace-supers": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", + "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-member-expression-to-functions": "^7.22.15", + "@babel/helper-optimise-call-expression": "^7.22.5" + } + }, + "@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", + "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "requires": { + "@babel/types": "^7.22.5" + } + }, + "@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true + }, + "@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true + }, + "@babel/helpers": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.5.tgz", + "integrity": "sha512-oO7us8FzTEsG3U6ag9MfdF1iA/7Z6dz+MtFhifZk8C8o453rGJFFWUP1t+ULM9TUIAzC9uxXEiXjOiVMyd7QPg==", + "dev": true, + "requires": { + "@babel/template": "^7.22.15", + "@babel/traverse": "^7.23.5", + "@babel/types": "^7.23.5" + } + }, + "@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.5.tgz", + "integrity": "sha512-hOOqoiNXrmGdFbhgCzu6GiURxUgM27Xwd/aPuu8RfHEZPBzL1Z54okAHAQjXfcQNwvrlkAmAp4SlRTZ45vlthQ==" + }, + "@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.22.5" + } + }, + "@babel/plugin-transform-typescript": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.5.tgz", + "integrity": "sha512-2fMkXEJkrmwgu2Bsv1Saxgj30IXZdJ+84lQcKKI7sm719oXs0BBw2ZENKdJdR1PjWndgLCEBNXJOri0fk7RYQA==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.22.5", + "@babel/helper-create-class-features-plugin": "^7.23.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/plugin-syntax-typescript": "^7.23.3" + } + }, + "@babel/template": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" + } + }, + "@babel/traverse": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.5.tgz", + "integrity": "sha512-czx7Xy5a6sapWWRx61m1Ke1Ra4vczu1mCTtJam5zRTBOonfdJ+S/B6HYmGYu3fJtr8GGET3si6IhgWVBhJ/m8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.5", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.5", + "@babel/types": "^7.23.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.5.tgz", + "integrity": "sha512-ON5kSOJwVO6xXVRTvOI0eOnWe7VdUcIpsovGo9U/Br4Ie4UVFQTboO2cYnDhAGU6Fp+UxSiT+pMft0SMHfuq6w==", + "dev": true, + "requires": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@cypress/request": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@cypress/request/-/request-3.0.1.tgz", + "integrity": "sha512-TWivJlJi8ZDx2wGOw1dbLuHJKUYX7bWySw377nlnGOW3hP9/MUKIsEdXT/YngWxVdgNCHRBmFlBipE+5/2ZZlQ==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "http-signature": "~1.3.6", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "performance-now": "^2.1.0", + "qs": "6.10.4", + "safe-buffer": "^5.1.2", + "tough-cookie": "^4.1.3", + "tunnel-agent": "^0.6.0", + "uuid": "^8.3.2" + } + }, + "@cypress/xvfb": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@cypress/xvfb/-/xvfb-1.2.4.tgz", + "integrity": "sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "lodash.once": "^4.1.1" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@esbuild/android-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.18.20.tgz", + "integrity": "sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==", + "dev": true, + "optional": true + }, + "@esbuild/android-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.18.20.tgz", + "integrity": "sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==", + "dev": true, + "optional": true + }, + "@esbuild/android-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.18.20.tgz", + "integrity": "sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.18.20.tgz", + "integrity": "sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==", + "dev": true, + "optional": true + }, + "@esbuild/darwin-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.18.20.tgz", + "integrity": "sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.18.20.tgz", + "integrity": "sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==", + "dev": true, + "optional": true + }, + "@esbuild/freebsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.18.20.tgz", + "integrity": "sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.18.20.tgz", + "integrity": "sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.18.20.tgz", + "integrity": "sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.18.20.tgz", + "integrity": "sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-loong64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.18.20.tgz", + "integrity": "sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==", + "dev": true, + "optional": true + }, + "@esbuild/linux-mips64el": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.18.20.tgz", + "integrity": "sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-ppc64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.18.20.tgz", + "integrity": "sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==", + "dev": true, + "optional": true + }, + "@esbuild/linux-riscv64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.18.20.tgz", + "integrity": "sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==", + "dev": true, + "optional": true + }, + "@esbuild/linux-s390x": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.18.20.tgz", + "integrity": "sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==", + "dev": true, + "optional": true + }, + "@esbuild/linux-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.18.20.tgz", + "integrity": "sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.18.20.tgz", + "integrity": "sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.18.20.tgz", + "integrity": "sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==", + "dev": true, + "optional": true + }, + "@esbuild/sunos-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.18.20.tgz", + "integrity": "sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==", + "dev": true, + "optional": true + }, + "@esbuild/win32-arm64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.18.20.tgz", + "integrity": "sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==", + "dev": true, + "optional": true + }, + "@esbuild/win32-ia32": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.18.20.tgz", + "integrity": "sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==", + "dev": true, + "optional": true + }, + "@esbuild/win32-x64": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz", + "integrity": "sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==", + "dev": true, + "optional": true + }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, + "@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "@eslint/js": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.55.0.tgz", + "integrity": "sha512-qQfo2mxH5yVom1kacMtZZJFVdW+E70mqHMJvVg6WTLo+VBuQJ4TojZlfWBjK0ve5BdEeNAVxOsl/nvNMpJOaJA==", + "dev": true + }, + "@hapi/hoek": { + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-9.3.0.tgz", + "integrity": "sha512-/c6rf4UJlmHlC9b5BaNvzAcFv7HZ2QHaV0D4/HNlBdvFnvQq8RI4kYdhyPCl7Xj+oWvTWQ8ujhqS53LIgAe6KQ==", + "dev": true + }, + "@hapi/topo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-5.1.0.tgz", + "integrity": "sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@humanwhocodes/config-array": { + "version": "0.11.13", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", + "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", + "dev": true, + "requires": { + "@humanwhocodes/object-schema": "^2.0.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", + "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", + "dev": true + }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + } + }, + "@jest/schemas": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", + "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "dev": true, + "requires": { + "@sinclair/typebox": "^0.27.8" + } + }, + "@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "@jridgewell/trace-mapping": { + "version": "0.3.20", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", + "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@one-ini/wasm": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@one-ini/wasm/-/wasm-0.1.1.tgz", + "integrity": "sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==", + "dev": true + }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, + "@pkgr/utils": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.4.2.tgz", + "integrity": "sha512-POgTXhjrTfbTV63DiFXav4lBHiICLKKwDeaKn9Nphwj7WH6m0hMMCaJkMyRWjgtPFyRKRVoMXXjczsTQRDEhYw==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "fast-glob": "^3.3.0", + "is-glob": "^4.0.3", + "open": "^9.1.0", + "picocolors": "^1.0.0", + "tslib": "^2.6.0" + } + }, + "@rushstack/eslint-patch": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.6.0.tgz", + "integrity": "sha512-2/U3GXA6YiPYQDLGwtGlnNgKYBSwCFIHf8Y9LUY5VATHdtbLlU0Y1R3QoBnT0aB4qv/BEiVVsj7LJXoQCgJ2vA==", + "dev": true + }, + "@sideway/address": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/@sideway/address/-/address-4.1.4.tgz", + "integrity": "sha512-7vwq+rOHVWjyXxVlR76Agnvhy8I9rpzjosTESvmhNeXOXdZZB15Fl+TI9x1SiHZH5Jv2wTGduSxFDIaq0m3DUw==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0" + } + }, + "@sideway/formula": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sideway/formula/-/formula-3.0.1.tgz", + "integrity": "sha512-/poHZJJVjx3L+zVD6g9KgHfYnb443oi7wLu/XKojDviHy6HOEOA6z1Trk5aR1dGcmPenJEgb2sK2I80LeS3MIg==", + "dev": true + }, + "@sideway/pinpoint": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sideway/pinpoint/-/pinpoint-2.0.0.tgz", + "integrity": "sha512-RNiOoTPkptFtSVzQevY/yWtZwf/RxyVnPy/OcA9HBM3MlGDnBEYL5B41H0MTn0Uec8Hi+2qUtTfG2WWZBmMejQ==", + "dev": true + }, + "@sinclair/typebox": { + "version": "0.27.8", + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true + }, + "@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", + "dev": true + }, + "@tsconfig/node18": { + "version": "18.2.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node18/-/node18-18.2.2.tgz", + "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "dev": true + }, + "@types/chai": { + "version": "4.3.11", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", + "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", + "dev": true + }, + "@types/chai-subset": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/chai-subset/-/chai-subset-1.3.5.tgz", + "integrity": "sha512-c2mPnw+xHtXDoHmdtcCXGwyLMiauiAyxWMzhGpqHC4nqI/Y5G2XhTampslK2rb59kpcuHon03UH8W6iYUzw88A==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/jsdom": { + "version": "21.1.6", + "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.6.tgz", + "integrity": "sha512-/7kkMsC+/kMs7gAYmmBR9P0vGTnOoLhQhyhQJSlXGI5bzTHp6xdo0TtKWQAsz6pmSAeVqKSbqeyP6hytqr9FDw==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/tough-cookie": "*", + "parse5": "^7.0.0" + } + }, + "@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true + }, + "@types/node": { + "version": "18.19.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.2.tgz", + "integrity": "sha512-6wzfBdbWpe8QykUkXBjtmO3zITA0A3FIjoy+in0Y2K4KrCiRhNYJIdwAPDffZ3G6GnaKaSLSEa9ZuORLfEoiwg==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } + }, + "@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "@types/semver": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", + "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "dev": true + }, + "@types/sinonjs__fake-timers": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.1.tgz", + "integrity": "sha512-0kSuKjAS0TrGLJ0M/+8MaFkGsQhZpB6pxOmvS3K8FYI72K//YmdfoW9X2qPsAKh1mkwxGD5zib9s1FIFed6E8g==", + "dev": true + }, + "@types/sizzle": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.8.tgz", + "integrity": "sha512-0vWLNK2D5MT9dg0iOo8GlKguPAU02QjmZitPEsXRuJXU/OGIOt9vT9Fc26wtYuavLxtO45v9PGleoL9Z0k1LHg==", + "dev": true + }, + "@types/tough-cookie": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@types/tough-cookie/-/tough-cookie-4.0.5.tgz", + "integrity": "sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA==", + "dev": true + }, + "@types/yauzl": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.3.tgz", + "integrity": "sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==", + "dev": true, + "optional": true, + "requires": { + "@types/node": "*" + } + }, + "@typescript-eslint/eslint-plugin": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.13.2.tgz", + "integrity": "sha512-3+9OGAWHhk4O1LlcwLBONbdXsAhLjyCFogJY/cWy2lxdVJ2JrcTF2pTGMaLl2AE7U1l31n8Py4a8bx5DLf/0dQ==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/type-utils": "6.13.2", + "@typescript-eslint/utils": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/parser": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.13.2.tgz", + "integrity": "sha512-MUkcC+7Wt/QOGeVlM8aGGJZy1XV5YKjTpq9jK6r6/iLsGXhBVaGP5N0UYvFsu9BFlSpwY9kMretzdBH01rkRXg==", + "dev": true, + "requires": { + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", + "debug": "^4.3.4" + } + }, + "@typescript-eslint/scope-manager": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.13.2.tgz", + "integrity": "sha512-CXQA0xo7z6x13FeDYCgBkjWzNqzBn8RXaE3QVQVIUm74fWJLkJkaHmHdKStrxQllGh6Q4eUGyNpMe0b1hMkXFA==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2" + } + }, + "@typescript-eslint/type-utils": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.13.2.tgz", + "integrity": "sha512-Qr6ssS1GFongzH2qfnWKkAQmMUyZSyOr0W54nZNU1MDfo+U4Mv3XveeLZzadc/yq8iYhQZHYT+eoXJqnACM1tw==", + "dev": true, + "requires": { + "@typescript-eslint/typescript-estree": "6.13.2", + "@typescript-eslint/utils": "6.13.2", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + } + }, + "@typescript-eslint/types": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.13.2.tgz", + "integrity": "sha512-7sxbQ+EMRubQc3wTfTsycgYpSujyVbI1xw+3UMRUcrhSy+pN09y/lWzeKDbvhoqcRbHdc+APLs/PWYi/cisLPg==", + "dev": true + }, + "@typescript-eslint/typescript-estree": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.13.2.tgz", + "integrity": "sha512-SuD8YLQv6WHnOEtKv8D6HZUzOub855cfPnPMKvdM/Bh1plv1f7Q/0iFUDLKKlxHcEstQnaUU4QZskgQq74t+3w==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/visitor-keys": "6.13.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/utils": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.13.2.tgz", + "integrity": "sha512-b9Ptq4eAZUym4idijCRzl61oPCwwREcfDI8xGk751Vhzig5fFZR9CyzDz4Sp/nxSLBYxUPyh4QdIDqWykFhNmQ==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.13.2", + "@typescript-eslint/types": "6.13.2", + "@typescript-eslint/typescript-estree": "6.13.2", + "semver": "^7.5.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "@typescript-eslint/visitor-keys": { + "version": "6.13.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.13.2.tgz", + "integrity": "sha512-OGznFs0eAQXJsp+xSd6k/O1UbFi/K/L7WjqeRoFE7vadjAF9y0uppXhYNQNEqygjou782maGClOoZwPqF0Drlw==", + "dev": true, + "requires": { + "@typescript-eslint/types": "6.13.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "@vitejs/plugin-vue": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-4.5.1.tgz", + "integrity": "sha512-DaUzYFr+2UGDG7VSSdShKa9sIWYBa1LL8KC0MNOf2H5LjcTPjob0x8LbkqXWmAtbANJCkpiQTj66UVcQkN2s3g==", + "dev": true + }, + "@vitejs/plugin-vue-jsx": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue-jsx/-/plugin-vue-jsx-3.1.0.tgz", + "integrity": "sha512-w9M6F3LSEU5kszVb9An2/MmXNxocAnUb3WhRr8bHlimhDrXNt6n6D2nJQR3UXpGlZHh/EsgouOHCsM8V3Ln+WA==", + "dev": true, + "requires": { + "@babel/core": "^7.23.3", + "@babel/plugin-transform-typescript": "^7.23.3", + "@vue/babel-plugin-jsx": "^1.1.5" + } + }, + "@vitest/expect": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-0.34.6.tgz", + "integrity": "sha512-QUzKpUQRc1qC7qdGo7rMK3AkETI7w18gTCUrsNnyjjJKYiuUB9+TQK3QnR1unhCnWRC0AbKv2omLGQDF/mIjOw==", + "dev": true, + "requires": { + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "chai": "^4.3.10" + } + }, + "@vitest/runner": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-0.34.6.tgz", + "integrity": "sha512-1CUQgtJSLF47NnhN+F9X2ycxUP0kLHQ/JWvNHbeBfwW8CzEGgeskzNnHDyv1ieKTltuR6sdIHV+nmR6kPxQqzQ==", + "dev": true, + "requires": { + "@vitest/utils": "0.34.6", + "p-limit": "^4.0.0", + "pathe": "^1.1.1" + }, + "dependencies": { + "p-limit": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", + "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", + "dev": true, + "requires": { + "yocto-queue": "^1.0.0" + } + }, + "yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true + } + } + }, + "@vitest/snapshot": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-0.34.6.tgz", + "integrity": "sha512-B3OZqYn6k4VaN011D+ve+AA4whM4QkcwcrwaKwAbyyvS/NB1hCWjFIBQxAQQSQir9/RtyAAGuq+4RJmbn2dH4w==", + "dev": true, + "requires": { + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "pretty-format": "^29.5.0" + } + }, + "@vitest/spy": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-0.34.6.tgz", + "integrity": "sha512-xaCvneSaeBw/cz8ySmF7ZwGvL0lBjfvqc1LpQ/vcdHEvpLn3Ff1vAvjw+CoGn0802l++5L/pxb7whwcWAw+DUQ==", + "dev": true, + "requires": { + "tinyspy": "^2.1.1" + } + }, + "@vitest/utils": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-0.34.6.tgz", + "integrity": "sha512-IG5aDD8S6zlvloDsnzHw0Ut5xczlF+kv2BOTo+iXfPr54Yhi5qbVOgGB1hZaVq4iJ4C/MZ2J0y15IlsV/ZcI0A==", + "dev": true, + "requires": { + "diff-sequences": "^29.4.3", + "loupe": "^2.3.6", + "pretty-format": "^29.5.0" + } + }, + "@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "requires": { + "@volar/source-map": "1.11.1" + } + }, + "@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "requires": { + "muggle-string": "^0.3.1" + } + }, + "@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dev": true, + "requires": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "@vue/babel-helper-vue-transform-on": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-transform-on/-/babel-helper-vue-transform-on-1.1.5.tgz", + "integrity": "sha512-SgUymFpMoAyWeYWLAY+MkCK3QEROsiUnfaw5zxOVD/M64KQs8D/4oK6Q5omVA2hnvEOE0SCkH2TZxs/jnnUj7w==", + "dev": true + }, + "@vue/babel-plugin-jsx": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-jsx/-/babel-plugin-jsx-1.1.5.tgz", + "integrity": "sha512-nKs1/Bg9U1n3qSWnsHhCVQtAzI6aQXqua8j/bZrau8ywT1ilXQbK4FwEJGmU8fV7tcpuFvWmmN7TMmV1OBma1g==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.22.5", + "@babel/plugin-syntax-jsx": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", + "@vue/babel-helper-vue-transform-on": "^1.1.5", + "camelcase": "^6.3.0", + "html-tags": "^3.3.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/compiler-core": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.3.10.tgz", + "integrity": "sha512-doe0hODR1+i1menPkRzJ5MNR6G+9uiZHIknK3Zn5OcIztu6GGw7u0XUzf3AgB8h/dfsZC9eouzoLo3c3+N/cVA==", + "requires": { + "@babel/parser": "^7.23.5", + "@vue/shared": "3.3.10", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-dom": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.3.10.tgz", + "integrity": "sha512-NCrqF5fm10GXZIK0GrEAauBqdy+F2LZRt3yNHzrYjpYBuRssQbuPLtSnSNjyR9luHKkWSH8we5LMB3g+4z2HvA==", + "requires": { + "@vue/compiler-core": "3.3.10", + "@vue/shared": "3.3.10" + } + }, + "@vue/compiler-sfc": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.3.10.tgz", + "integrity": "sha512-xpcTe7Rw7QefOTRFFTlcfzozccvjM40dT45JtrE3onGm/jBLZ0JhpKu3jkV7rbDFLeeagR/5RlJ2Y9SvyS0lAg==", + "requires": { + "@babel/parser": "^7.23.5", + "@vue/compiler-core": "3.3.10", + "@vue/compiler-dom": "3.3.10", + "@vue/compiler-ssr": "3.3.10", + "@vue/reactivity-transform": "3.3.10", + "@vue/shared": "3.3.10", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.32", + "source-map-js": "^1.0.2" + } + }, + "@vue/compiler-ssr": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.3.10.tgz", + "integrity": "sha512-12iM4jA4GEbskwXMmPcskK5wImc2ohKm408+o9iox3tfN9qua8xL0THIZtoe9OJHnXP4eOWZpgCAAThEveNlqQ==", + "requires": { + "@vue/compiler-dom": "3.3.10", + "@vue/shared": "3.3.10" + } + }, + "@vue/devtools-api": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/@vue/devtools-api/-/devtools-api-6.5.1.tgz", + "integrity": "sha512-+KpckaAQyfbvshdDW5xQylLni1asvNSGme1JFs8I1+/H5pHEhqUKMEQD/qn3Nx5+/nycBq11qAEi8lk+LXI2dA==" + }, + "@vue/eslint-config-prettier": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-8.0.0.tgz", + "integrity": "sha512-55dPqtC4PM/yBjhAr+yEw6+7KzzdkBuLmnhBrDfp4I48+wy+Giqqj9yUr5T2uD/BkBROjjmqnLZmXRdOx/VtQg==", + "dev": true, + "requires": { + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^5.0.0" + } + }, + "@vue/eslint-config-typescript": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-12.0.0.tgz", + "integrity": "sha512-StxLFet2Qe97T8+7L8pGlhYBBr8Eg05LPuTDVopQV6il+SK6qqom59BA/rcFipUef2jD8P2X44Vd8tMFytfvlg==", + "dev": true, + "requires": { + "@typescript-eslint/eslint-plugin": "^6.7.0", + "@typescript-eslint/parser": "^6.7.0", + "vue-eslint-parser": "^9.3.1" + } + }, + "@vue/language-core": { + "version": "1.8.25", + "resolved": "https://registry.npmjs.org/@vue/language-core/-/language-core-1.8.25.tgz", + "integrity": "sha512-NJk/5DnAZlpvXX8BdWmHI45bWGLViUaS3R/RMrmFSvFMSbJKuEODpM4kR0F0Ofv5SFzCWuNiMhxameWpVdQsnA==", + "dev": true, + "requires": { + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "dependencies": { + "minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "@vue/reactivity": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.3.10.tgz", + "integrity": "sha512-H5Z7rOY/JLO+e5a6/FEXaQ1TMuOvY4LDVgT+/+HKubEAgs9qeeZ+NhADSeEtrNQeiKLDuzeKc8v0CUFpB6Pqgw==", + "requires": { + "@vue/shared": "3.3.10" + } + }, + "@vue/reactivity-transform": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/reactivity-transform/-/reactivity-transform-3.3.10.tgz", + "integrity": "sha512-0xBdk+CKHWT+Gev8oZ63Tc0qFfj935YZx+UAynlutnrDZ4diFCVFMWixn65HzjE3S1iJppWOo6Tt1OzASH7VEg==", + "requires": { + "@babel/parser": "^7.23.5", + "@vue/compiler-core": "3.3.10", + "@vue/shared": "3.3.10", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5" + } + }, + "@vue/runtime-core": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.3.10.tgz", + "integrity": "sha512-DZ0v31oTN4YHX9JEU5VW1LoIVgFovWgIVb30bWn9DG9a7oA415idcwsRNNajqTx8HQJyOaWfRKoyuP2P2TYIag==", + "requires": { + "@vue/reactivity": "3.3.10", + "@vue/shared": "3.3.10" + } + }, + "@vue/runtime-dom": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.3.10.tgz", + "integrity": "sha512-c/jKb3ny05KJcYk0j1m7Wbhrxq7mZYr06GhKykDMNRRR9S+/dGT8KpHuNQjv3/8U4JshfkAk6TpecPD3B21Ijw==", + "requires": { + "@vue/runtime-core": "3.3.10", + "@vue/shared": "3.3.10", + "csstype": "^3.1.2" + } + }, + "@vue/server-renderer": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.3.10.tgz", + "integrity": "sha512-0i6ww3sBV3SKlF3YTjSVqKQ74xialMbjVYGy7cOTi7Imd8ediE7t72SK3qnvhrTAhOvlQhq6Bk6nFPdXxe0sAg==", + "requires": { + "@vue/compiler-ssr": "3.3.10", + "@vue/shared": "3.3.10" + } + }, + "@vue/shared": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.3.10.tgz", + "integrity": "sha512-2y3Y2J1a3RhFa0WisHvACJR2ncvWiVHcP8t0Inxo+NKz+8RKO4ZV8eZgCxRgQoA6ITfV12L4E6POOL9HOU5nqw==" + }, + "@vue/test-utils": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@vue/test-utils/-/test-utils-2.4.3.tgz", + "integrity": "sha512-F4K7mF+ad++VlTrxMJVRnenKSJmO6fkQt2wpRDiKDesQMkfpniGWsqEi/JevxGBo2qEkwwjvTUAoiGJLNx++CA==", + "dev": true, + "requires": { + "js-beautify": "^1.14.9", + "vue-component-type-helpers": "^1.8.21" + } + }, + "@vue/tsconfig": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@vue/tsconfig/-/tsconfig-0.4.0.tgz", + "integrity": "sha512-CPuIReonid9+zOG/CGTT05FXrPYATEqoDGNrEaqS4hwcw5BUNM2FguC0mOwJD4Jr16UpRVl9N0pY3P+srIbqmg==", + "dev": true + }, + "abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "abbrev": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", + "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", + "dev": true + }, + "acorn": { + "version": "8.11.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz", + "integrity": "sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==", + "dev": true + }, + "acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true + }, + "acorn-walk": { + "version": "8.3.1", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", + "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", + "dev": true + }, + "agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "dev": true, + "requires": { + "debug": "4" + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true + }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true + }, + "argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "asn1": { + "version": "0.2.6", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", + "integrity": "sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==", + "dev": true + }, + "assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true + }, + "astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true + }, + "async": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.5.tgz", + "integrity": "sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==", + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "dev": true + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==", + "dev": true + }, + "aws4": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.12.0.tgz", + "integrity": "sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg==", + "dev": true + }, + "axios": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", + "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", + "dev": true, + "requires": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + }, + "proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + } + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "big-integer": { + "version": "1.6.52", + "resolved": "https://registry.npmjs.org/big-integer/-/big-integer-1.6.52.tgz", + "integrity": "sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "blob-util": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", + "integrity": "sha512-T7JQa+zsXXEa6/8ZhHcQEW1UFfVM49Ts65uBkFL6fz2QmrElqmbajIDJvuA0tEhRe5eIjpV9ZF+0RfZR9voJFQ==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "bplist-parser": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.2.0.tgz", + "integrity": "sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==", + "dev": true, + "requires": { + "big-integer": "^1.6.44" + } + }, + "brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "browserslist": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz", + "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001565", + "electron-to-chromium": "^1.4.601", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + } + }, + "buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "requires": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true + }, + "bundle-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bundle-name/-/bundle-name-3.0.0.tgz", + "integrity": "sha512-PKA4BeSvBpQKQ8iPOGCSiell+N8P+Tf1DlwqmYhpe2gAhKPHn8EYOxVT+ShuGmhg8lN8XiSlS80yiExKXrURlw==", + "dev": true, + "requires": { + "run-applescript": "^5.0.0" + } + }, + "cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true + }, + "cachedir": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/cachedir/-/cachedir-2.4.0.tgz", + "integrity": "sha512-9EtFOZR8g22CL7BWjJ9BUx1+A/djkofnyW3aOXZORNW2kxoUpx2h+uN2cOqwPmFhnpVmxg+KW2OjOSgChTEvsQ==", + "dev": true + }, + "call-bind": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", + "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", + "dev": true, + "requires": { + "function-bind": "^1.1.2", + "get-intrinsic": "^1.2.1", + "set-function-length": "^1.1.1" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "caniuse-lite": { + "version": "1.0.30001566", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001566.tgz", + "integrity": "sha512-ggIhCsTxmITBAMmK8yZjEhCO5/47jKXPu6Dha/wuCS4JePVL+3uiDEBuhu2aIoT+bqTOR8L76Ip1ARL9xYsEJA==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==", + "dev": true + }, + "chai": { + "version": "4.3.10", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", + "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", + "dev": true, + "requires": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "requires": { + "get-func-name": "^2.0.2" + } + }, + "check-more-types": { + "version": "2.24.0", + "resolved": "https://registry.npmjs.org/check-more-types/-/check-more-types-2.24.0.tgz", + "integrity": "sha512-Pj779qHxV2tuapviy1bSZNEL1maXr13bPYpsvSDB68HlYcYuhlDrmGd63i0JHMCLKzc7rUSNIrpdJlhVlNwrxA==", + "dev": true + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.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" + } + }, + "ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "requires": { + "restore-cursor": "^3.1.0" + } + }, + "cli-table3": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.3.tgz", + "integrity": "sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "requires": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true + }, + "common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true + }, + "computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "config-chain": { + "version": "1.1.13", + "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.13.tgz", + "integrity": "sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==", + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==", + "dev": true + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssstyle": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssstyle/-/cssstyle-3.0.0.tgz", + "integrity": "sha512-N4u2ABATi3Qplzf0hWbVCdjenim8F3ojEXpBDF5hBpjzW182MjNGLqfmQ0SkSPeQ+V86ZXgeH8aXj6kayd4jgg==", + "dev": true, + "requires": { + "rrweb-cssom": "^0.6.0" + } + }, + "csstype": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", + "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + }, + "cypress": { + "version": "13.6.1", + "resolved": "https://registry.npmjs.org/cypress/-/cypress-13.6.1.tgz", + "integrity": "sha512-k1Wl5PQcA/4UoTffYKKaxA0FJKwg8yenYNYRzLt11CUR0Kln+h7Udne6mdU1cUIdXBDTVZWtmiUjzqGs7/pEpw==", + "dev": true, + "requires": { + "@cypress/request": "^3.0.0", + "@cypress/xvfb": "^1.2.4", + "@types/node": "^18.17.5", + "@types/sinonjs__fake-timers": "8.1.1", + "@types/sizzle": "^2.3.2", + "arch": "^2.2.0", + "blob-util": "^2.0.2", + "bluebird": "^3.7.2", + "buffer": "^5.6.0", + "cachedir": "^2.3.0", + "chalk": "^4.1.0", + "check-more-types": "^2.24.0", + "cli-cursor": "^3.1.0", + "cli-table3": "~0.6.1", + "commander": "^6.2.1", + "common-tags": "^1.8.0", + "dayjs": "^1.10.4", + "debug": "^4.3.4", + "enquirer": "^2.3.6", + "eventemitter2": "6.4.7", + "execa": "4.1.0", + "executable": "^4.1.1", + "extract-zip": "2.0.1", + "figures": "^3.2.0", + "fs-extra": "^9.1.0", + "getos": "^3.2.1", + "is-ci": "^3.0.0", + "is-installed-globally": "~0.4.0", + "lazy-ass": "^1.6.0", + "listr2": "^3.8.3", + "lodash": "^4.17.21", + "log-symbols": "^4.0.0", + "minimist": "^1.2.8", + "ospath": "^1.2.2", + "pretty-bytes": "^5.6.0", + "process": "^0.11.10", + "proxy-from-env": "1.0.0", + "request-progress": "^3.0.0", + "semver": "^7.5.3", + "supports-color": "^8.1.1", + "tmp": "~0.2.1", + "untildify": "^4.0.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "dependencies": { + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "commander": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", + "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", + "dev": true + }, + "execa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-4.1.0.tgz", + "integrity": "sha512-j5W0//W7f8UxAn8hXVnwG8tLwdiUy4FJLcSupCg6maBYZDpyBvTApK7KyuI4bKj8KOh1r2YH+6ucuYtJv1bTZA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "data-urls": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/data-urls/-/data-urls-4.0.0.tgz", + "integrity": "sha512-/mMTei/JXPqvFqQtfyTowxmJVwr2PVAeCcDxyFf6LhoOu/09TX2OX3kb2wzi4DMXcfj4OItwDOnhl5oziPnT6g==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.0" + } + }, + "dayjs": { + "version": "1.11.10", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", + "integrity": "sha512-vjAczensTgRcqDERK0SR2XMwsF/tSvnvlv6VcF2GIhg6Sx4yOIt/irsr1RDJsKiIyBzJDpCoXiWWq28MqH2cnQ==", + "dev": true + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decimal.js": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.4.3.tgz", + "integrity": "sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==", + "dev": true + }, + "deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "requires": { + "type-detect": "^4.0.0" + } + }, + "deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "default-browser": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/default-browser/-/default-browser-4.0.0.tgz", + "integrity": "sha512-wX5pXO1+BrhMkSbROFsyxUm0i/cJEScyNhA4PPxc41ICuv05ZZB/MX28s8aZx6xjmatvebIapF6hLEKEcpneUA==", + "dev": true, + "requires": { + "bundle-name": "^3.0.0", + "default-browser-id": "^3.0.0", + "execa": "^7.1.1", + "titleize": "^3.0.0" + } + }, + "default-browser-id": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/default-browser-id/-/default-browser-id-3.0.0.tgz", + "integrity": "sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==", + "dev": true, + "requires": { + "bplist-parser": "^0.2.0", + "untildify": "^4.0.0" + } + }, + "define-data-property": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", + "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "define-lazy-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-3.0.0.tgz", + "integrity": "sha512-N+MeXYoqr3pOgn8xfyRPREN7gHakLYjhsHhWGT3fWAiL4IkAt0iDw14QiiEm2bE30c5XX5q0FtAA3CK5f9/BUg==", + "dev": true + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "dev": true + }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "domexception": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/domexception/-/domexception-4.0.0.tgz", + "integrity": "sha512-A2is4PLG+eeSfoTMA95/s4pvAoSo2mKtiM5jlHkAVewmiO8ISFTFKZjH7UAM1Atli/OT/7JHOrJRJiMKUZKYBw==", + "dev": true, + "requires": { + "webidl-conversions": "^7.0.0" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editorconfig": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/editorconfig/-/editorconfig-1.0.4.tgz", + "integrity": "sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==", + "dev": true, + "requires": { + "@one-ini/wasm": "0.1.1", + "commander": "^10.0.0", + "minimatch": "9.0.1", + "semver": "^7.5.3" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "electron-to-chromium": { + "version": "1.4.605", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.605.tgz", + "integrity": "sha512-V52j+P5z6cdRqTjPR/bYNxx7ETCHIkm5VIGuyCy3CMrfSnbEpIlLnk5oHmZo7gYvDfh2TfHeanB6rawyQ23ktg==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enquirer": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.4.1.tgz", + "integrity": "sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==", + "dev": true, + "requires": { + "ansi-colors": "^4.1.1", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "esbuild": { + "version": "0.18.20", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.18.20.tgz", + "integrity": "sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==", + "dev": true, + "requires": { + "@esbuild/android-arm": "0.18.20", + "@esbuild/android-arm64": "0.18.20", + "@esbuild/android-x64": "0.18.20", + "@esbuild/darwin-arm64": "0.18.20", + "@esbuild/darwin-x64": "0.18.20", + "@esbuild/freebsd-arm64": "0.18.20", + "@esbuild/freebsd-x64": "0.18.20", + "@esbuild/linux-arm": "0.18.20", + "@esbuild/linux-arm64": "0.18.20", + "@esbuild/linux-ia32": "0.18.20", + "@esbuild/linux-loong64": "0.18.20", + "@esbuild/linux-mips64el": "0.18.20", + "@esbuild/linux-ppc64": "0.18.20", + "@esbuild/linux-riscv64": "0.18.20", + "@esbuild/linux-s390x": "0.18.20", + "@esbuild/linux-x64": "0.18.20", + "@esbuild/netbsd-x64": "0.18.20", + "@esbuild/openbsd-x64": "0.18.20", + "@esbuild/sunos-x64": "0.18.20", + "@esbuild/win32-arm64": "0.18.20", + "@esbuild/win32-ia32": "0.18.20", + "@esbuild/win32-x64": "0.18.20" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint": { + "version": "8.55.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.55.0.tgz", + "integrity": "sha512-iyUUAM0PCKj5QpwGfmCAG9XXbZCWsqP/eWAWrG/W0umvjuLRBECwSFdt+rCntju0xEH7teIABPwXpahftIaTdA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.55.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "requires": { + "is-glob": "^4.0.3" + } + }, + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", + "dev": true + }, + "eslint-plugin-cypress": { + "version": "2.15.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-cypress/-/eslint-plugin-cypress-2.15.1.tgz", + "integrity": "sha512-eLHLWP5Q+I4j2AWepYq0PgFEei9/s5LvjuSqWrxurkg1YZ8ltxdvMNmdSf0drnsNo57CTgYY/NIHHLRSWejR7w==", + "dev": true, + "requires": { + "globals": "^13.20.0" + }, + "dependencies": { + "globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + } + } + }, + "eslint-plugin-prettier": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.0.1.tgz", + "integrity": "sha512-m3u5RnR56asrwV/lDC4GHorlW75DsFfmUcjfCYylTUs85dBRnB7VM6xG8eCMJdeDRnppzmxZVf1GEPJvl1JmNg==", + "dev": true, + "requires": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.5" + } + }, + "eslint-plugin-vue": { + "version": "9.19.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.19.2.tgz", + "integrity": "sha512-CPDqTOG2K4Ni2o4J5wixkLVNwgctKXFu6oBpVJlpNq7f38lh9I80pRTouZSJ2MAebPJlINU/KTFSXyQfBUlymA==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.4.0", + "natural-compare": "^1.4.0", + "nth-check": "^2.1.1", + "postcss-selector-parser": "^6.0.13", + "semver": "^7.5.4", + "vue-eslint-parser": "^9.3.1", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true + }, + "espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "requires": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + } + }, + "esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, + "estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "event-stream": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/event-stream/-/event-stream-3.3.4.tgz", + "integrity": "sha512-QHpkERcGsR0T7Qm3HNJSyXKEEj8AHNxkY3PK8TS2KJvQ7NiSHe3DDpwVKKtoYprL/AreyzFBeIkBIWChAqn60g==", + "dev": true, + "requires": { + "duplexer": "~0.1.1", + "from": "~0", + "map-stream": "~0.1.0", + "pause-stream": "0.0.11", + "split": "0.3", + "stream-combiner": "~0.0.4", + "through": "~2.3.1" + } + }, + "eventemitter2": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/eventemitter2/-/eventemitter2-6.4.7.tgz", + "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", + "dev": true + }, + "execa": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-7.2.0.tgz", + "integrity": "sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.1", + "human-signals": "^4.3.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^3.0.7", + "strip-final-newline": "^3.0.0" + }, + "dependencies": { + "human-signals": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-4.3.1.tgz", + "integrity": "sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==", + "dev": true + }, + "is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true + }, + "mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true + }, + "npm-run-path": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.1.0.tgz", + "integrity": "sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==", + "dev": true, + "requires": { + "path-key": "^4.0.0" + } + }, + "onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "requires": { + "mimic-fn": "^4.0.0" + } + }, + "path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true + }, + "strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true + } + } + }, + "executable": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/executable/-/executable-4.1.1.tgz", + "integrity": "sha512-8iA79xD3uAch729dUG8xaaBBFGaEa0wdD2VkYLFHwlqosEj/jT66AzcreRDSgV7ehnNLBW2WR5jIXwGKjVdTLg==", + "dev": true, + "requires": { + "pify": "^2.2.0" + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extract-zip": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz", + "integrity": "sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==", + "dev": true, + "requires": { + "@types/yauzl": "^2.9.1", + "debug": "^4.1.1", + "get-stream": "^5.1.0", + "yauzl": "^2.10.0" + }, + "dependencies": { + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "requires": { + "@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" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "fd-slicer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", + "integrity": "sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==", + "dev": true, + "requires": { + "pend": "~1.2.0" + } + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "requires": { + "flat-cache": "^3.0.4" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "requires": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + } + }, + "flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.3.tgz", + "integrity": "sha512-1VzOtuEM8pC9SFU1E+8KfTjZyMztRsgEfwQl44z8A25uy13jSzTj6dyK2Df52iV0vgHCfBwLhDWevLn95w5v6Q==", + "dev": true + }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "dependencies": { + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + } + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "from": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/from/-/from-0.1.7.tgz", + "integrity": "sha512-twe20eF1OxVxp/ML/kq2p1uc6KvFK/+vs8WjEbeKmV2He22MKm7YF2ANIt+EOqhJ5L3K/SuuPhk0hWQDjOM23g==", + "dev": true + }, + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "optional": true + }, + "function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true + }, + "get-intrinsic": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", + "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2", + "has-proto": "^1.0.1", + "has-symbols": "^1.0.3", + "hasown": "^2.0.0" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "getos": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/getos/-/getos-3.2.1.tgz", + "integrity": "sha512-U56CfOK17OKgTVqozZjUKNdkfEv6jk5WISBJ8SHoagjE6L69zOwl3Z+O8myjY9MEW3i2HPWQBt/LTbCgcC973Q==", + "dev": true, + "requires": { + "async": "^3.2.0" + } + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dev": true, + "requires": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "global-dirs": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-3.0.1.tgz", + "integrity": "sha512-NBcGGFbBA9s1VzD41QXDG+3++t9Mn5t1FpLdhESY6oKY4gYTFpX4wO3sqGUa0Srjtbfj3szX0RnemmrVRUdULA==", + "dev": true, + "requires": { + "ini": "2.0.0" + }, + "dependencies": { + "ini": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-2.0.0.tgz", + "integrity": "sha512-7PnF4oN3CvZF23ADhA5wRaYEQpJ8qygSkbtTXWBeXWXmEVRXK+1ITciHWwHhsjv1TmW0MgacIv6hEi5pX5NQdA==", + "dev": true + } + } + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } + }, + "gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.3" + } + }, + "graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", + "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", + "dev": true, + "requires": { + "get-intrinsic": "^1.2.2" + } + }, + "has-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz", + "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", + "dev": true + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "requires": { + "function-bind": "^1.1.2" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "requires": { + "lru-cache": "^10.0.1" + }, + "dependencies": { + "lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true + } + } + }, + "html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "requires": { + "whatwg-encoding": "^2.0.0" + } + }, + "html-tags": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-3.3.1.tgz", + "integrity": "sha512-ztqyC3kLto0e9WbNp0aeP+M3kTt+nbaIveGmUxAtZa+8iFgKLUOD4YKM5j+f3QD89bra7UeumolZHKuOXnTmeQ==", + "dev": true + }, + "http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "requires": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + } + }, + "http-signature": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.3.6.tgz", + "integrity": "sha512-3adrsD6zqo4GsTqtO7FyrejHNv+NgiIfAfv68+jVlFmSr9OGy7zrxONceFRLKvnnZA5jbxQBX1u9PpB6Wi32Gw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^2.0.2", + "sshpk": "^1.14.1" + } + }, + "https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "requires": { + "agent-base": "6", + "debug": "4" + } + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz", + "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==", + "dev": true + }, + "immutable": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz", + "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "dev": true + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "requires": { + "ci-info": "^3.2.0" + } + }, + "is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "requires": { + "hasown": "^2.0.0" + } + }, + "is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "dev": true, + "requires": { + "is-docker": "^3.0.0" + } + }, + "is-installed-globally": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.4.0.tgz", + "integrity": "sha512-iwGqO3J21aaSkC7jWnHP/difazwS7SFeIqxv6wEtLU8Y5KlzFTjyqcSIT0d8s4+dDhKytsk9PJZ2BkS5eZwQRQ==", + "dev": true, + "requires": { + "global-dirs": "^3.0.0", + "is-path-inside": "^3.0.2" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, + "is-potential-custom-element-name": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz", + "integrity": "sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ==", + "dev": true + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==", + "dev": true + }, + "is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + }, + "dependencies": { + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + } + } + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==", + "dev": true + }, + "jackspeak": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", + "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } + }, + "joi": { + "version": "17.11.0", + "resolved": "https://registry.npmjs.org/joi/-/joi-17.11.0.tgz", + "integrity": "sha512-NgB+lZLNoqISVy1rZocE9PZI36bL/77ie924Ri43yEvi9GUUMPeyVIr8KdFTMUlby1p0PBYMk9spIxEUQYqrJQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^9.0.0", + "@hapi/topo": "^5.0.0", + "@sideway/address": "^4.1.3", + "@sideway/formula": "^3.0.1", + "@sideway/pinpoint": "^2.0.0" + } + }, + "js-beautify": { + "version": "1.14.11", + "resolved": "https://registry.npmjs.org/js-beautify/-/js-beautify-1.14.11.tgz", + "integrity": "sha512-rPogWqAfoYh1Ryqqh2agUpVfbxAhbjuN1SmU86dskQUKouRiggUTCO4+2ym9UPXllc2WAp0J+T5qxn7Um3lCdw==", + "dev": true, + "requires": { + "config-chain": "^1.1.13", + "editorconfig": "^1.0.3", + "glob": "^10.3.3", + "nopt": "^7.2.0" + } + }, + "js-sha256": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/js-sha256/-/js-sha256-0.10.1.tgz", + "integrity": "sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw==" + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "requires": { + "argparse": "^2.0.1" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==", + "dev": true + }, + "jsdom": { + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-22.1.0.tgz", + "integrity": "sha512-/9AVW7xNbsBv6GfWho4TTNjEo9fe6Zhf9O7s0Fhhr3u+awPwAJMKwAMXnkk5vBxflqLW9hTHX/0cs+P3gW+cQw==", + "dev": true, + "requires": { + "abab": "^2.0.6", + "cssstyle": "^3.0.0", + "data-urls": "^4.0.0", + "decimal.js": "^10.4.3", + "domexception": "^4.0.0", + "form-data": "^4.0.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.1", + "is-potential-custom-element-name": "^1.0.1", + "nwsapi": "^2.2.4", + "parse5": "^7.1.2", + "rrweb-cssom": "^0.6.0", + "saxes": "^6.0.0", + "symbol-tree": "^3.2.4", + "tough-cookie": "^4.1.2", + "w3c-xmlserializer": "^4.0.0", + "webidl-conversions": "^7.0.0", + "whatwg-encoding": "^2.0.0", + "whatwg-mimetype": "^3.0.0", + "whatwg-url": "^12.0.1", + "ws": "^8.13.0", + "xml-name-validator": "^4.0.0" + }, + "dependencies": { + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } + } + } + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true + }, + "json-schema": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz", + "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true + }, + "json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true + }, + "jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + }, + "dependencies": { + "universalify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.1.tgz", + "integrity": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==", + "dev": true + } + } + }, + "jsprim": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-2.0.2.tgz", + "integrity": "sha512-gqXddjPqQ6G40VdnI6T6yObEC+pDNvyP95wdQhkWkg7crHH3km5qP1FsOXEkzEQwnz6gz5qGTn1c2Y52wP3OyQ==", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.4.0", + "verror": "1.10.0" + } + }, + "jwt-decode": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-4.0.0.tgz", + "integrity": "sha512-+KJGIyHgkGuIq3IEBNftfhW/LfWhXUIY6OmyVWjliu5KH1y0fw7VQ8YndE2O4qZdMSd9SqbnC8GOcZEy0Om7sA==" + }, + "keycloak-js": { + "version": "23.0.1", + "resolved": "https://registry.npmjs.org/keycloak-js/-/keycloak-js-23.0.1.tgz", + "integrity": "sha512-n7bF7GGrxmzB6mveXYhVoKDZv96PEtrn89/2qSNSCreBKovW/bGcrB6WFBiUOzdWoRW03mDYcU8sUfvELiBPPw==", + "requires": { + "base64-js": "^1.5.1", + "js-sha256": "^0.10.1", + "jwt-decode": "^4.0.0" + } + }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, + "lazy-ass": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/lazy-ass/-/lazy-ass-1.6.0.tgz", + "integrity": "sha512-cc8oEVoctTvsFZ/Oje/kGnHbpWHYBe8IAJe4C0QNc3t8uM/0Y8+erSz/7Y1ALuXTEZTMvxXwO6YbX1ey3ujiZw==", + "dev": true + }, + "levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + } + }, + "lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true + }, + "listr2": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", + "integrity": "sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==", + "dev": true, + "requires": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.1", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "local-pkg": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.4.3.tgz", + "integrity": "sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==", + "dev": true + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==", + "dev": true + }, + "log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "requires": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + } + } + }, + "loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "requires": { + "get-func-name": "^2.0.1" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "requires": { + "@jridgewell/sourcemap-codec": "^1.4.15" + } + }, + "map-stream": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz", + "integrity": "sha512-CkYQrPYZfWnu/DAmVCpTSX/xHpKZ80eKh2lAkyA6AJTef6bW+6JpbQZN5rofum7da+SyN1bi5ctTm+lTfcCW3g==", + "dev": true + }, + "memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "minimatch": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.1.tgz", + "integrity": "sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + }, + "minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true + }, + "minipass": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", + "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", + "dev": true + }, + "mlly": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", + "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "dev": true, + "requires": { + "acorn": "^8.10.0", + "pathe": "^1.1.1", + "pkg-types": "^1.0.3", + "ufo": "^1.3.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true + }, + "nopt": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", + "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", + "dev": true, + "requires": { + "abbrev": "^2.0.0" + } + }, + "normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "requires": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "npm-run-all2": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-run-all2/-/npm-run-all2-6.1.1.tgz", + "integrity": "sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==", + "dev": true, + "requires": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-pkg": "^8.0.0", + "shell-quote": "^1.7.3" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + } + } + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "nwsapi": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.7.tgz", + "integrity": "sha512-ub5E4+FBPKwAZx0UwIQOjYWGHTEq5sPqHQNRN8Z9e4A7u3Tj1weLJsL59yH9vmvqEtBHaOmT6cYQKIZOxp35FQ==", + "dev": true + }, + "object-inspect": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", + "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/open/-/open-9.1.0.tgz", + "integrity": "sha512-OS+QTnw1/4vrf+9hh1jc1jnYjzSG4ttTBB8UxOwAnInG3Uo4ssetzC1ihqaIHjLJnA5GGlRl6QlZXOTQhRBUvg==", + "dev": true, + "requires": { + "default-browser": "^4.0.0", + "define-lazy-prop": "^3.0.0", + "is-inside-container": "^1.0.0", + "is-wsl": "^2.2.0" + } + }, + "optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + } + }, + "ospath": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/ospath/-/ospath-1.2.2.tgz", + "integrity": "sha512-o6E5qJV5zkAbIDNhGSIlyOhScKXgQrSRMilfph0clDfM0nEnBOlKlH4sWDmG95BW/CvwNz0vmm7dJVtU2KlMiA==", + "dev": true + }, + "p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "requires": { + "yocto-queue": "^0.1.0" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "dependencies": { + "type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true + } + } + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "dev": true, + "requires": { + "entities": "^4.4.0" + } + }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-scurry": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", + "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", + "dev": true, + "requires": { + "lru-cache": "^9.1.1 || ^10.0.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true + } + } + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pathe": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", + "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "dev": true + }, + "pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true + }, + "pause-stream": { + "version": "0.0.11", + "resolved": "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz", + "integrity": "sha512-e3FBlXLmN/D1S+zHzanP4E/4Z60oFAa3O051qt1pxa7DEJWKAyil6upYVXCWadEnuoqa4Pkc9oUx9zsxYeRv8A==", + "dev": true, + "requires": { + "through": "~2.3" + } + }, + "pend": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", + "integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==", + "dev": true + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true + }, + "pinia": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.1.7.tgz", + "integrity": "sha512-+C2AHFtcFqjPih0zpYuvof37SFxMQ7OEG2zV9jRI12i9BOy3YQVAHwdKtyyc8pDcDyIc33WCIsZaCFWU7WWxGQ==", + "requires": { + "@vue/devtools-api": "^6.5.0", + "vue-demi": ">=0.14.5" + } + }, + "pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "requires": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "postcss": { + "version": "8.4.32", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", + "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", + "requires": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true + }, + "prettier": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.0.tgz", + "integrity": "sha512-TQLvXjq5IAibjh8EpBIkNKxO749UEWABoiIZehEPiY4GNpVdhaFKqSTu+QrlU6D2dPAfubRmtJTi4K4YkQ5eXw==", + "dev": true + }, + "prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "requires": { + "fast-diff": "^1.1.2" + } + }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", + "dev": true + }, + "pretty-format": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", + "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", + "dev": true, + "requires": { + "@jest/schemas": "^29.6.3", + "ansi-styles": "^5.0.0", + "react-is": "^18.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", + "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", + "dev": true + } + } + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "dev": true + }, + "proto-list": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz", + "integrity": "sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==", + "dev": true + }, + "proxy-from-env": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz", + "integrity": "sha512-F2JHgJQ1iqwnHDcQjVBsq3n/uoaFL+iPW/eAeL7kVxy/2RrWaN4WroKjjvbsoRtv0ftelNyC01bjRhn/bhcf4A==", + "dev": true + }, + "ps-tree": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/ps-tree/-/ps-tree-1.2.0.tgz", + "integrity": "sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==", + "dev": true, + "requires": { + "event-stream": "=3.3.4" + } + }, + "psl": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.9.0.tgz", + "integrity": "sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true + }, + "qs": { + "version": "6.10.4", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.4.tgz", + "integrity": "sha512-OQiU+C+Ds5qiH91qh/mg0w+8nwQuLjM4F4M/PbmhDOoYehPh+Fb0bDjtR1sOvy7YKxvj28Y/M0PhP5uVX0kB+g==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "dependencies": { + "type-fest": { + "version": "4.8.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.8.3.tgz", + "integrity": "sha512-//BaTm14Q/gHBn09xlnKNqfI8t6bmdzx2DXYfPBNofN0WUybCEUDcbCWcTa0oF09lzLjZgPphXAsvRiMK0V6Bw==", + "dev": true + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "request-progress": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", + "integrity": "sha512-MnWzEHHaxHO2iWiQuHrUPBi/1WeBf5PkxQqNyNvLl9VAYSdXkP8tQ3pBSeCPD+yw0v0Aq1zosWLz0BdeXpWwZg==", + "dev": true, + "requires": { + "throttleit": "^1.0.0" + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, + "rollup": { + "version": "3.29.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.29.4.tgz", + "integrity": "sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==", + "dev": true, + "requires": { + "fsevents": "~2.3.2" + } + }, + "rrweb-cssom": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz", + "integrity": "sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==", + "dev": true + }, + "run-applescript": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/run-applescript/-/run-applescript-5.0.0.tgz", + "integrity": "sha512-XcT5rBksx1QdIhlFOCtgZkB99ZEouFZ1E2Kc2LHqNW13U3/74YGdkQRmThTwxy4QIyookibDKYZOPqX//6BlAg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", + "dev": true, + "requires": { + "tslib": "^2.1.0" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.69.5", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz", + "integrity": "sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "saxes": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/saxes/-/saxes-6.0.0.tgz", + "integrity": "sha512-xAg7SOnEhrm5zI3puOOKyy1OMcMlIJZYNJY7xLBwSze0UjhPLnWfj2GF2EpT0jmzaJKIWKHLsaSSajf35bcYnA==", + "dev": true, + "requires": { + "xmlchars": "^2.2.0" + } + }, + "semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true + }, + "set-function-length": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", + "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", + "dev": true, + "requires": { + "define-data-property": "^1.1.1", + "get-intrinsic": "^1.2.1", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + } + } + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + }, + "spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "split": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/split/-/split-0.3.3.tgz", + "integrity": "sha512-wD2AeVmxXRBoX44wAycgjVpMhvbwdI2aZjCkvfNcH1YqHQvJVa1duWc73OyVGJUc05fhFaTZeQ/PYsrmyH0JVA==", + "dev": true, + "requires": { + "through": "2" + } + }, + "sshpk": { + "version": "1.18.0", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.18.0.tgz", + "integrity": "sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "start-server-and-test": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/start-server-and-test/-/start-server-and-test-2.0.3.tgz", + "integrity": "sha512-QsVObjfjFZKJE6CS6bSKNwWZCKBG6975/jKRPPGFfFh+yOQglSeGXiNWjzgQNXdphcBI9nXbyso9tPfX4YAUhg==", + "dev": true, + "requires": { + "arg": "^5.0.2", + "bluebird": "3.7.2", + "check-more-types": "2.24.0", + "debug": "4.3.4", + "execa": "5.1.1", + "lazy-ass": "1.6.0", + "ps-tree": "1.2.0", + "wait-on": "7.2.0" + }, + "dependencies": { + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + } + } + }, + "std-env": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.6.0.tgz", + "integrity": "sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==", + "dev": true + }, + "stream-combiner": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz", + "integrity": "sha512-rT00SPnTVyRsaSz5zgSPma/aHSOic5U1prhYdRy5HS2kTZviFpmDgzilbtsJsxiroqACmayynDN/9VzIbX5DOw==", + "dev": true, + "requires": { + "duplexer": "~0.1.1" + } + }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + } + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true + }, + "strip-literal": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-1.3.0.tgz", + "integrity": "sha512-PugKzOsyXpArk0yWmUwqOZecSO0GH0bPoctLcqNDH9J04pVW3lflYE0ujElBGTloevcxF5MofAOZ7C5l2b+wLg==", + "dev": true, + "requires": { + "acorn": "^8.10.0" + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==", + "dev": true + }, + "symbol-tree": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", + "integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==", + "dev": true + }, + "synckit": { + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", + "dev": true, + "requires": { + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "throttleit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-1.0.1.tgz", + "integrity": "sha512-vDZpf9Chs9mAdfY046mcPt8fg5QSZr37hEH4TXYBnDF+izxgrbRGUAAaBvIk/fJm9aOFCGFd1EsNg5AZCbnQCQ==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true + }, + "tinybench": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", + "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", + "dev": true + }, + "tinypool": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.7.0.tgz", + "integrity": "sha512-zSYNUlYSMhJ6Zdou4cJwo/p7w5nmAH17GRfU/ui3ctvjXFErXXkruT4MWW6poDeXgCaIBlGLrfU6TbTXxyGMww==", + "dev": true + }, + "tinyspy": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", + "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "dev": true + }, + "titleize": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/titleize/-/titleize-3.0.0.tgz", + "integrity": "sha512-KxVu8EYHDPBdUYdKZdKtU2aj2XfEx9AfjXxE/Aj0vT06w2icA09Vus1rh6eSu1y01akYg6BjIK/hxyLJINoMLQ==", + "dev": true + }, + "tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "requires": { + "rimraf": "^3.0.0" + } + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "tough-cookie": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-4.1.3.tgz", + "integrity": "sha512-aX/y5pVRkfRnfmuX+OdbSdXvPe6ieKX/G2s7e98f4poJHnqH3281gDPm/metm6E/WRamfx7WC4HUqkWHfQHprw==", + "dev": true, + "requires": { + "psl": "^1.1.33", + "punycode": "^2.1.1", + "universalify": "^0.2.0", + "url-parse": "^1.5.3" + } + }, + "tr46": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-4.1.1.tgz", + "integrity": "sha512-2lv/66T7e5yNyhAAC4NaKe5nVavzuGJQVVtRYLyQ2OI8tsJ61PMLlelehb0wi2Hx6+hT/OJUWZcw8MjlSRnxvw==", + "dev": true, + "requires": { + "punycode": "^2.3.0" + } + }, + "ts-api-utils": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.3.tgz", + "integrity": "sha512-wNMeqtMz5NtwpT/UZGY5alT+VoKdSsOOP/kqHFcUW1P/VRhH2wJ48+DN2WwUliNbQ976ETwDL0Ifd2VVvgonvg==", + "dev": true + }, + "tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", + "dev": true + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==", + "dev": true + }, + "type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "requires": { + "prelude-ls": "^1.2.1" + } + }, + "type-detect": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", + "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "dev": true + }, + "type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true + }, + "typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true + }, + "ufo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", + "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", + "dev": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "universalify": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.2.0.tgz", + "integrity": "sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==", + "dev": true + }, + "untildify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/untildify/-/untildify-4.0.0.tgz", + "integrity": "sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==", + "dev": true + }, + "update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "dev": true, + "requires": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + } + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "url-parse": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.5.10.tgz", + "integrity": "sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==", + "dev": true, + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "vite": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.5.1.tgz", + "integrity": "sha512-AXXFaAJ8yebyqzoNB9fu2pHoo/nWX+xZlaRwoeYUxEqBO+Zj4msE5G+BhGBll9lYEKv9Hfks52PAF2X7qDYXQA==", + "dev": true, + "requires": { + "esbuild": "^0.18.10", + "fsevents": "~2.3.2", + "postcss": "^8.4.27", + "rollup": "^3.27.1" + } + }, + "vite-node": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-0.34.6.tgz", + "integrity": "sha512-nlBMJ9x6n7/Amaz6F3zJ97EBwR2FkzhBRxF5e+jE6LA3yi6Wtc2lyTij1OnDMIr34v5g/tVQtsVAzhT0jc5ygA==", + "dev": true, + "requires": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "mlly": "^1.4.0", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0-0" + } + }, + "vitest": { + "version": "0.34.6", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-0.34.6.tgz", + "integrity": "sha512-+5CALsOvbNKnS+ZHMXtuUC7nL8/7F1F2DnHGjSsszX8zCjWSSviphCb/NuS9Nzf4Q03KyyDRBAXhF/8lffME4Q==", + "dev": true, + "requires": { + "@types/chai": "^4.3.5", + "@types/chai-subset": "^1.3.3", + "@types/node": "*", + "@vitest/expect": "0.34.6", + "@vitest/runner": "0.34.6", + "@vitest/snapshot": "0.34.6", + "@vitest/spy": "0.34.6", + "@vitest/utils": "0.34.6", + "acorn": "^8.9.0", + "acorn-walk": "^8.2.0", + "cac": "^6.7.14", + "chai": "^4.3.10", + "debug": "^4.3.4", + "local-pkg": "^0.4.3", + "magic-string": "^0.30.1", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.3.3", + "strip-literal": "^1.0.1", + "tinybench": "^2.5.0", + "tinypool": "^0.7.0", + "vite": "^3.1.0 || ^4.0.0 || ^5.0.0-0", + "vite-node": "0.34.6", + "why-is-node-running": "^2.2.2" + } + }, + "vue": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.3.10.tgz", + "integrity": "sha512-zg6SIXZdTBwiqCw/1p+m04VyHjLfwtjwz8N57sPaBhEex31ND0RYECVOC1YrRwMRmxFf5T1dabl6SGUbMKKuVw==", + "requires": { + "@vue/compiler-dom": "3.3.10", + "@vue/compiler-sfc": "3.3.10", + "@vue/runtime-dom": "3.3.10", + "@vue/server-renderer": "3.3.10", + "@vue/shared": "3.3.10" + } + }, + "vue-component-type-helpers": { + "version": "1.8.25", + "resolved": "https://registry.npmjs.org/vue-component-type-helpers/-/vue-component-type-helpers-1.8.25.tgz", + "integrity": "sha512-NCA6sekiJIMnMs4DdORxATXD+/NRkQpS32UC+I1KQJUasx+Z7MZUb3Y+MsKsFmX+PgyTYSteb73JW77AibaCCw==", + "dev": true + }, + "vue-demi": { + "version": "0.14.6", + "resolved": "https://registry.npmjs.org/vue-demi/-/vue-demi-0.14.6.tgz", + "integrity": "sha512-8QA7wrYSHKaYgUxDA5ZC24w+eHm3sYCbp0EzcDwKqN3p6HqtTCGR/GVsPyZW92unff4UlcSh++lmqDWN3ZIq4w==" + }, + "vue-eslint-parser": { + "version": "9.3.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", + "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", + "dev": true, + "requires": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "vue-router": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.2.5.tgz", + "integrity": "sha512-DIUpKcyg4+PTQKfFPX88UWhlagBEBEfJ5A8XDXRJLUnZOvcpMF8o/dnL90vpVkGaPbjvXazV/rC1qBKrZlFugw==", + "requires": { + "@vue/devtools-api": "^6.5.0" + } + }, + "vue-template-compiler": { + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.7.15.tgz", + "integrity": "sha512-yQxjxMptBL7UAog00O8sANud99C6wJF+7kgbcwqkvA38vCGF7HWE66w0ZFnS/kX5gSoJr/PQ4/oS3Ne2pW37Og==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "vue-tsc": { + "version": "1.8.25", + "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-1.8.25.tgz", + "integrity": "sha512-lHsRhDc/Y7LINvYhZ3pv4elflFADoEOo67vfClAfF2heVHpHmVquLSjojgCSIwzA4F0Pc4vowT/psXCYcfk+iQ==", + "dev": true, + "requires": { + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.25", + "semver": "^7.5.4" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "w3c-xmlserializer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz", + "integrity": "sha512-d+BFHzbiCx6zGfz0HyQ6Rg69w9k19nviJspaj4yNscGjrHu94sVP+aRm75yEbCh+r2/yR+7q6hux9LVtbuTGBw==", + "dev": true, + "requires": { + "xml-name-validator": "^4.0.0" + } + }, + "wait-on": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/wait-on/-/wait-on-7.2.0.tgz", + "integrity": "sha512-wCQcHkRazgjG5XoAq9jbTMLpNIjoSlZslrJ2+N9MxDsGEv1HnFoVjOCexL0ESva7Y9cu350j+DWADdk54s4AFQ==", + "dev": true, + "requires": { + "axios": "^1.6.1", + "joi": "^17.11.0", + "lodash": "^4.17.21", + "minimist": "^1.2.8", + "rxjs": "^7.8.1" + } + }, + "webidl-conversions": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-7.0.0.tgz", + "integrity": "sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==", + "dev": true + }, + "whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "dev": true, + "requires": { + "iconv-lite": "0.6.3" + } + }, + "whatwg-mimetype": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz", + "integrity": "sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q==", + "dev": true + }, + "whatwg-url": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-12.0.1.tgz", + "integrity": "sha512-Ed/LrqB8EPlGxjS+TrsXcpUond1mhccS3pchLhzSgPCnTimUCKj3IZE75pAs5m6heB2U2TMerKFUXheyHY+VDQ==", + "dev": true, + "requires": { + "tr46": "^4.1.1", + "webidl-conversions": "^7.0.0" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "requires": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + } + }, + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "ws": { + "version": "8.14.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.14.2.tgz", + "integrity": "sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g==", + "dev": true + }, + "xml-name-validator": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-4.0.0.tgz", + "integrity": "sha512-ICP2e+jsHvAj2E2lIHxa5tjXRlKDJo4IdvPvCXbXQGdzSfmSpNVyIKMvoZHjDY9DP0zV17iI85o90vRFXNccRw==", + "dev": true + }, + "xmlchars": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz", + "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "yauzl": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", + "integrity": "sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==", + "dev": true, + "requires": { + "buffer-crc32": "~0.2.3", + "fd-slicer": "~1.1.0" + } + }, + "yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true + } + } +} diff --git a/account/frontend/package.json b/account/frontend/package.json new file mode 100644 index 0000000..239cca1 --- /dev/null +++ b/account/frontend/package.json @@ -0,0 +1,48 @@ +{ + "name": "keycloak-theme-pub.solar", + "version": "0.0.0", + "private": true, + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "test:unit": "vitest", + "test:e2e": "start-server-and-test preview http://localhost:4173 'cypress run --e2e'", + "test:e2e:dev": "start-server-and-test 'vite dev --port 4173' http://localhost:4173 'cypress open --e2e'", + "build-only": "vite build", + "type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false", + "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", + "format": "prettier --write src/" + }, + "dependencies": { + "keycloak-js": "^23.0.1", + "pinia": "^2.1.7", + "vue": "^3.3.4", + "vue-router": "^4.2.5" + }, + "devDependencies": { + "@rushstack/eslint-patch": "^1.3.3", + "@tsconfig/node18": "^18.2.2", + "@types/jsdom": "^21.1.3", + "@types/node": "^18.18.5", + "@vitejs/plugin-vue": "^4.4.0", + "@vitejs/plugin-vue-jsx": "^3.0.2", + "@vue/eslint-config-prettier": "^8.0.0", + "@vue/eslint-config-typescript": "^12.0.0", + "@vue/test-utils": "^2.4.1", + "@vue/tsconfig": "^0.4.0", + "cypress": "^13.3.1", + "eslint": "^8.49.0", + "eslint-plugin-cypress": "^2.15.1", + "eslint-plugin-vue": "^9.17.0", + "jsdom": "^22.1.0", + "npm-run-all2": "^6.1.1", + "prettier": "^3.0.3", + "sass": "^1.69.5", + "start-server-and-test": "^2.0.1", + "typescript": "~5.2.0", + "vite": "^4.4.11", + "vitest": "^0.34.6", + "vue-tsc": "^1.8.19" + } +} diff --git a/account/frontend/public/favicon.ico b/account/frontend/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/account/frontend/public/logo.svg b/account/frontend/public/logo.svg new file mode 100644 index 0000000..b708f37 --- /dev/null +++ b/account/frontend/public/logo.svg @@ -0,0 +1 @@ +PubSolar logo diff --git a/account/frontend/src/App.tsx b/account/frontend/src/App.tsx new file mode 100644 index 0000000..e97cb69 --- /dev/null +++ b/account/frontend/src/App.tsx @@ -0,0 +1,12 @@ +import { RouterLink, RouterView } from 'vue-router'; +import Background from './components/Background'; + +export default { + setup() { + return () => + <> + + + + }, +}; diff --git a/account/frontend/src/assets/base.css b/account/frontend/src/assets/base.css new file mode 100644 index 0000000..8816868 --- /dev/null +++ b/account/frontend/src/assets/base.css @@ -0,0 +1,86 @@ +/* color palette from */ +:root { + --vt-c-white: #ffffff; + --vt-c-white-soft: #f8f8f8; + --vt-c-white-mute: #f2f2f2; + + --vt-c-black: #181818; + --vt-c-black-soft: #222222; + --vt-c-black-mute: #282828; + + --vt-c-indigo: #2c3e50; + + --vt-c-divider-light-1: rgba(60, 60, 60, 0.29); + --vt-c-divider-light-2: rgba(60, 60, 60, 0.12); + --vt-c-divider-dark-1: rgba(84, 84, 84, 0.65); + --vt-c-divider-dark-2: rgba(84, 84, 84, 0.48); + + --vt-c-text-light-1: var(--vt-c-indigo); + --vt-c-text-light-2: rgba(60, 60, 60, 0.66); + --vt-c-text-dark-1: var(--vt-c-white); + --vt-c-text-dark-2: rgba(235, 235, 235, 0.64); +} + +/* semantic color variables for this project */ +:root { + --color-background: var(--vt-c-white); + --color-background-soft: var(--vt-c-white-soft); + --color-background-mute: var(--vt-c-white-mute); + + --color-border: var(--vt-c-divider-light-2); + --color-border-hover: var(--vt-c-divider-light-1); + + --color-heading: var(--vt-c-text-light-1); + --color-text: var(--vt-c-text-light-1); + + --section-gap: 160px; +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--vt-c-black); + --color-background-soft: var(--vt-c-black-soft); + --color-background-mute: var(--vt-c-black-mute); + + --color-border: var(--vt-c-divider-dark-2); + --color-border-hover: var(--vt-c-divider-dark-1); + + --color-heading: var(--vt-c-text-dark-1); + --color-text: var(--vt-c-text-dark-2); + } +} + +*, +*::before, +*::after { + box-sizing: border-box; + margin: 0; + font-weight: normal; +} + +body { + min-height: 100vh; + color: var(--color-text); + background: var(--color-background); + transition: + color 0.5s, + background-color 0.5s; + line-height: 1.6; + font-family: + Inter, + -apple-system, + BlinkMacSystemFont, + 'Segoe UI', + Roboto, + Oxygen, + Ubuntu, + Cantarell, + 'Fira Sans', + 'Droid Sans', + 'Helvetica Neue', + sans-serif; + font-size: 15px; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} diff --git a/account/frontend/src/assets/main.css b/account/frontend/src/assets/main.css new file mode 100644 index 0000000..e8667cd --- /dev/null +++ b/account/frontend/src/assets/main.css @@ -0,0 +1,35 @@ +@import './base.css'; + +#app { + max-width: 1280px; + margin: 0 auto; + padding: 2rem; + + font-weight: normal; +} + +a, +.green { + text-decoration: none; + color: hsla(160, 100%, 37%, 1); + transition: 0.4s; +} + +@media (hover: hover) { + a:hover { + background-color: hsla(160, 100%, 37%, 0.2); + } +} + +@media (min-width: 1024px) { + body { + display: flex; + place-items: center; + } + + #app { + display: grid; + grid-template-columns: 1fr 1fr; + padding: 0 2rem; + } +} diff --git a/account/frontend/src/components/Background.scss b/account/frontend/src/components/Background.scss new file mode 100644 index 0000000..a750fed --- /dev/null +++ b/account/frontend/src/components/Background.scss @@ -0,0 +1,35 @@ +.ps-background { + display: flex; + flex-wrap: wrap; + align-items: flex-start; + justify-content: space-between; + speak: none; + + position: fixed; + top: 0; + left: 0; + height: 100vh; + width: 100vw; + overflow: hidden; + + &--logo { + width: 100px; + margin: 0.1rem; + z-index: 2; + } + + &--1312 { + transform: rotate(34deg); + transform-origin: center center; + color: #eee; + position: fixed; + z-index: 1; + top: -50vh; + left: -50vw; + font-weight: 900; + font-size: 7rem; + line-height: 6rem; + width: 200vw; + height: 200vh; + } +} diff --git a/account/frontend/src/components/Background.tsx b/account/frontend/src/components/Background.tsx new file mode 100644 index 0000000..a7a63b4 --- /dev/null +++ b/account/frontend/src/components/Background.tsx @@ -0,0 +1,45 @@ +import { + ref, + onBeforeUnmount, + onBeforeMount, +} from 'vue'; + +const x1312 = (new Array(400)).fill("0x1312").join(" "); +const getLogoNum = () => (Math.ceil(window.innerWidth / 100) * Math.ceil(window.innerHeight / 100)); + +import './Background.scss'; +import './Logo.scss'; + +export default { + setup() { + const count = ref(getLogoNum()); + const updateCount = () => setTimeout(() => { + count.value = getLogoNum(); + }, 10); + + onBeforeMount(() => { + console.log('before mount'); + window.addEventListener('resize', updateCount); + }); + + onBeforeUnmount(() => { + console.log('before unmount'); + window.removeEventListener('resize', updateCount); + }); + + return () =>
+
{x1312}
+ {(new Array(count.value)).fill(null).map(() => ( + + ))} +
; + }, +}; diff --git a/account/frontend/src/components/Logo.scss b/account/frontend/src/components/Logo.scss new file mode 100644 index 0000000..65fab19 --- /dev/null +++ b/account/frontend/src/components/Logo.scss @@ -0,0 +1,45 @@ +.ps-logo { + display: flex; + align-items: center; + justify-content: center; + position: relative; + z-index: 1; + width: 100px; + + &--base { + animation-name: rotate; + animation-duration: 0.3s; + animation-timing-function: linear; + animation-play-state: paused; + animation-iteration-count: infinite; + + &:hover { + animation-play-state: running; + } + } + + &:nth-child(2n) &--base { animation-delay: -0.1s; } + &:nth-child(3n) &--base { animation-delay: -0.3s; } + &:nth-child(5n) &--base { animation-delay: -0.5s; } + &:nth-child(7n) &--base { animation-delay: -7s; } + &:nth-child(11n) &--base { animation-delay: -0.9s; } + &:nth-child(13n) &--base { animation-delay: -1s; } + + &--base::before { + position: absolute; + display: block; + content: ''; + width: 100%; + height: 100%; + border-radius: 50%; + } +} + +@keyframes rotate { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} diff --git a/account/frontend/src/components/__tests__/HelloWorld.spec.ts b/account/frontend/src/components/__tests__/HelloWorld.spec.ts new file mode 100644 index 0000000..2533202 --- /dev/null +++ b/account/frontend/src/components/__tests__/HelloWorld.spec.ts @@ -0,0 +1,11 @@ +import { describe, it, expect } from 'vitest' + +import { mount } from '@vue/test-utils' +import HelloWorld from '../HelloWorld.vue' + +describe('HelloWorld', () => { + it('renders properly', () => { + const wrapper = mount(HelloWorld, { props: { msg: 'Hello Vitest' } }) + expect(wrapper.text()).toContain('Hello Vitest') + }) +}) diff --git a/account/frontend/src/keycloak.ts b/account/frontend/src/keycloak.ts new file mode 100644 index 0000000..32b79aa --- /dev/null +++ b/account/frontend/src/keycloak.ts @@ -0,0 +1,23 @@ +import Keycloak from 'keycloak-js'; + +export const keycloak = new Keycloak({ + url: window.location.origin, + realm: window.globals.realm, + clientId: window.globals.clientId, +}); + +export const authenticated = new Promise(async (resolve, reject) => { + try { + const authenticated = await keycloak.init({ + onLoad: 'check-sso', + silentCheckSsoRedirectUri: `${location.origin}/silent-check-sso.html`, + pkceMethod: 'S256', + }); + console.log(`User is ${authenticated ? 'authenticated' : 'not authenticated'}`); + + resolve(authenticated); + } catch (error) { + console.error('Failed to initialize adapter:', error); + reject(error); + } +}); diff --git a/account/frontend/src/main.ts b/account/frontend/src/main.ts new file mode 100644 index 0000000..d39db7f --- /dev/null +++ b/account/frontend/src/main.ts @@ -0,0 +1,17 @@ +import './assets/main.css' + +import { createApp } from 'vue'; +import { createPinia } from 'pinia'; + +import App from './App'; +import router from './router'; +import { keycloak, authenticated } from './keycloak'; + +const app = createApp(App); + +app.use(createPinia()); +app.use(router); + +app.mount('#app'); + +console.log(authenticated); diff --git a/account/frontend/src/router/index.ts b/account/frontend/src/router/index.ts new file mode 100644 index 0000000..f54168a --- /dev/null +++ b/account/frontend/src/router/index.ts @@ -0,0 +1,14 @@ +import { createRouter, createWebHistory } from 'vue-router' + +const router = createRouter({ + history: createWebHistory(import.meta.env.BASE_URL), + routes: [ + { + path: '/', + name: 'home', + component: () => import('../views/Home.tsx'), + }, + ] +}) + +export default router diff --git a/account/frontend/src/stores/counter.ts b/account/frontend/src/stores/counter.ts new file mode 100644 index 0000000..b6757ba --- /dev/null +++ b/account/frontend/src/stores/counter.ts @@ -0,0 +1,12 @@ +import { ref, computed } from 'vue' +import { defineStore } from 'pinia' + +export const useCounterStore = defineStore('counter', () => { + const count = ref(0) + const doubleCount = computed(() => count.value * 2) + function increment() { + count.value++ + } + + return { count, doubleCount, increment } +}) diff --git a/account/frontend/src/views/Home.tsx b/account/frontend/src/views/Home.tsx new file mode 100644 index 0000000..2124c20 --- /dev/null +++ b/account/frontend/src/views/Home.tsx @@ -0,0 +1,8 @@ +export default { + setup() { + return () => ( +
+
+ ); + }, +}; diff --git a/account/frontend/tsconfig.app.json b/account/frontend/tsconfig.app.json new file mode 100644 index 0000000..3e5b621 --- /dev/null +++ b/account/frontend/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/account/frontend/tsconfig.json b/account/frontend/tsconfig.json new file mode 100644 index 0000000..100cf6a --- /dev/null +++ b/account/frontend/tsconfig.json @@ -0,0 +1,14 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.vitest.json" + } + ] +} diff --git a/account/frontend/tsconfig.node.json b/account/frontend/tsconfig.node.json new file mode 100644 index 0000000..dee96be --- /dev/null +++ b/account/frontend/tsconfig.node.json @@ -0,0 +1,16 @@ +{ + "extends": "@tsconfig/node18/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/account/frontend/tsconfig.vitest.json b/account/frontend/tsconfig.vitest.json new file mode 100644 index 0000000..d080d61 --- /dev/null +++ b/account/frontend/tsconfig.vitest.json @@ -0,0 +1,9 @@ +{ + "extends": "./tsconfig.app.json", + "exclude": [], + "compilerOptions": { + "composite": true, + "lib": [], + "types": ["node", "jsdom"] + } +} diff --git a/account/frontend/vite.config.ts b/account/frontend/vite.config.ts new file mode 100644 index 0000000..eae1c2b --- /dev/null +++ b/account/frontend/vite.config.ts @@ -0,0 +1,32 @@ +import { fileURLToPath, URL } from 'node:url'; + +import { defineConfig } from 'vite'; +import vue from '@vitejs/plugin-vue'; +import vueJsx from '@vitejs/plugin-vue-jsx'; + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), + vueJsx(), + ], + + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)), + }, + }, + + build: { + outDir: '../resources', + assetsDir: 'assets', + manifest: true, + }, + + server: { + proxy: { + '/realms': 'http://localhost:8080', + '/silent-check-sso.html': 'http://localhost:8080', + }, + }, +}); diff --git a/account/frontend/vitest.config.ts b/account/frontend/vitest.config.ts new file mode 100644 index 0000000..10067d5 --- /dev/null +++ b/account/frontend/vitest.config.ts @@ -0,0 +1,14 @@ +import { fileURLToPath } from 'node:url' +import { mergeConfig, defineConfig, configDefaults } from 'vitest/config' +import viteConfig from './vite.config' + +export default mergeConfig( + viteConfig, + defineConfig({ + test: { + environment: 'jsdom', + exclude: [...configDefaults.exclude, 'e2e/*'], + root: fileURLToPath(new URL('./', import.meta.url)) + } + }) +) diff --git a/account/index.ftl b/account/index.ftl new file mode 100644 index 0000000..d874332 --- /dev/null +++ b/account/index.ftl @@ -0,0 +1,73 @@ + + + + ${msg("accountManagementTitle")} + + + + + + + + + + + + + +
+ + diff --git a/account/log.ftl b/account/log.ftl deleted file mode 100644 index 29046cf..0000000 --- a/account/log.ftl +++ /dev/null @@ -1,35 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='log' bodyClass='log'; section> - -
-
-

${msg("accountLogHtmlTitle")}

-
-
- - - - - - - - - - - - - - <#list log.events as event> - - - - - - - - - - -
${msg("date")}${msg("event")}${msg("ip")}${msg("client")}${msg("details")}
${event.date?datetime}${event.event}${event.ipAddress}${event.client!}<#list event.details as detail>${detail.key} = ${detail.value} <#if detail_has_next>,
- - \ No newline at end of file diff --git a/account/password.ftl b/account/password.ftl deleted file mode 100644 index 776792e..0000000 --- a/account/password.ftl +++ /dev/null @@ -1,75 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='password' bodyClass='password'; section> - -
-
-

${msg("changePasswordHtmlTitle")}

-
-
- ${msg("allFieldsRequired")} -
-
- -
- - - <#if password.passwordSet> -
- - - -
- - - - -
- - - -
- -
- - - -
- -
-
-
- -
-
-
-
- - diff --git a/account/resource-detail.ftl b/account/resource-detail.ftl deleted file mode 100644 index 2c963d7..0000000 --- a/account/resource-detail.ftl +++ /dev/null @@ -1,277 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='authorization' bodyClass='authorization'; section> - - - - -
-
-

- ${msg("myResources")} <#if authorization.resource.displayName??>${authorization.resource.displayName}<#else>${authorization.resource.name} -

-
-
- - <#if authorization.resource.iconUri??> - -
- - -
-
-

- ${msg("peopleAccessResource")} -

-
-
-
-
- - - - - - - - - - - <#if authorization.resource.shares?size != 0> - <#list authorization.resource.shares as permission> - - - - - - - - - - - - - <#else> - - - - - -
${msg("user")}${msg("permission")}${msg("date")}${msg("action")}
- <#if permission.requester.email??>${permission.requester.email}<#else>${permission.requester.username} - - <#if permission.scopes?size != 0> - <#list permission.scopes as scope> - <#if scope.granted && scope.scope??> - - <#else> - ${msg("anyPermission")} - - - <#else> - Any action - - - ${permission.createdDate?datetime} - - ${msg("doRevoke")} -
${msg("resourceIsNotBeingShared")}
- -
-
-
-
-

- ${msg("resourceManagedPolicies")} -

-
-
-
-
- - - - - - - - - - <#if authorization.resource.policies?size != 0> - <#list authorization.resource.policies as permission> - - - - - - - - - - - - <#else> - - - - - -
${msg("description")}${msg("permission")}${msg("action")}
- <#if permission.description??> - ${permission.description} - - - <#if permission.scopes?size != 0> - <#list permission.scopes as scope> - - - <#else> - ${msg("anyAction")} - - - ${msg("doRevoke")} -
- ${msg("resourceNoPermissionsGrantingAccess")} -
- -
-
-
-
-

- ${msg("shareWithOthers")} -

-
-
-
-
-
- -
- * -
-
-
-
- -
-
-
- <#list authorization.resource.scopes as scope> - - -
- -
-
-
-
-
-
- diff --git a/account/resources.ftl b/account/resources.ftl deleted file mode 100644 index d86e8bc..0000000 --- a/account/resources.ftl +++ /dev/null @@ -1,403 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='authorization' bodyClass='authorization'; section> - - -
-
-

- ${msg("myResources")} -

-
-
- - <#if authorization.resourcesWaitingApproval?size != 0> -
-
-

- ${msg("needMyApproval")} -

-
-
-
-
- - - - - - - - - - - <#list authorization.resourcesWaitingApproval as resource> - <#list resource.permissions as permission> - - - - - - - - - - - - - - -
${msg("resource")}${msg("requestor")}${msg("permissionRequestion")}${msg("action")}
- <#if resource.displayName??>${resource.displayName}<#else>${resource.name} - - <#if permission.requester.email??>${permission.requester.email}<#else>${permission.requester.username} - - <#list permission.scopes as scope> - <#if scope.scope??> - - <#else> - ${msg("anyPermission")} - - - - ${msg("doApprove")} - ${msg("doDeny")} -
-
-
- - -
-
-

- ${msg("myResourcesSub")} -

-
-
-
-
- - - - - - - - - - - <#if authorization.resources?size != 0> - <#list authorization.resources as resource> - - - - - - - <#else> - - - - - -
${msg("resource")}${msg("application")}${msg("peopleSharingThisResource")}
- - <#if resource.displayName??>${resource.displayName}<#else>${resource.name} - - - <#if resource.resourceServer.baseUri??> - ${resource.resourceServer.name} - <#else> - ${resource.resourceServer.name} - - - <#if resource.shares?size != 0> - ${resource.shares?size} - <#else> - ${msg("notBeingShared")} - -
${msg("notHaveAnyResource")}
-
-
- -
-
-

- ${msg("resourcesSharedWithMe")} -

-
-
-
-
-
- - - - - - - - - - - - - - <#if authorization.sharedResources?size != 0> - <#list authorization.sharedResources as resource> - - - - - - - - - - <#else> - - - - - -
disabled="true" - ${msg("resource")}${msg("owner")}${msg("application")}${msg("permission")}${msg("date")}
- - - <#if resource.displayName??>${resource.displayName}<#else>${resource.name} - - ${resource.ownerName} - - <#if resource.resourceServer.baseUri??> - ${resource.resourceServer.name} - <#else> - ${resource.resourceServer.name} - - - <#if resource.permissions?size != 0> -
    - <#list resource.permissions as permission> - <#list permission.scopes as scope> - <#if scope.granted && scope.scope??> -
  • - <#if scope.scope.displayName??> - ${scope.scope.displayName} - <#else> - ${scope.scope.name} - -
  • - <#else> - ${msg("anyPermission")} - - - -
- <#else> - Any action - -
- ${resource.permissions[0].grantedDate?datetime} -
${msg("noResourcesSharedWithYou")}
-
-
- <#if authorization.sharedResources?size != 0> - - -
- - <#if authorization.resourcesWaitingOthersApproval?size != 0> -
-
-
-

- ${msg("requestsWaitingApproval")} -

-
-
-
-
- ${msg("havePermissionRequestsWaitingForApproval",authorization.resourcesWaitingOthersApproval?size)} - ${msg("clickHereForDetails")} -
-
-
-
-
-
-
-
-
- -
-
- - - \ No newline at end of file diff --git a/account/resources/assets/Home-5ca1a495.js b/account/resources/assets/Home-5ca1a495.js new file mode 100644 index 0000000..97176cc --- /dev/null +++ b/account/resources/assets/Home-5ca1a495.js @@ -0,0 +1 @@ +import{c as e}from"./index-f6484dd5.js";const o={setup(){return()=>e("main",null,null)}};export{o as default}; diff --git a/account/resources/assets/Home-7c18ddb3.js b/account/resources/assets/Home-7c18ddb3.js new file mode 100644 index 0000000..92489fa --- /dev/null +++ b/account/resources/assets/Home-7c18ddb3.js @@ -0,0 +1 @@ +import{c as e}from"./index-1537da3e.js";const o={setup(){return()=>e("main",null,null)}};export{o as default}; diff --git a/account/resources/assets/index-1537da3e.js b/account/resources/assets/index-1537da3e.js new file mode 100644 index 0000000..687ea27 --- /dev/null +++ b/account/resources/assets/index-1537da3e.js @@ -0,0 +1,21 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function r(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=r(s);fetch(s.href,o)}})();function Jr(e,t){const r=Object.create(null),n=e.split(",");for(let s=0;s!!r[s.toLowerCase()]:s=>!!r[s]}const ge={},Ot=[],Ue=()=>{},Fo=()=>!1,cr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Yr=e=>e.startsWith("onUpdate:"),ye=Object.assign,Qr=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},Po=Object.prototype.hasOwnProperty,le=(e,t)=>Po.call(e,t),se=Array.isArray,Ut=e=>ar(e)==="[object Map]",Io=e=>ar(e)==="[object Set]",oe=e=>typeof e=="function",we=e=>typeof e=="string",lr=e=>typeof e=="symbol",me=e=>e!==null&&typeof e=="object",bs=e=>(me(e)||oe(e))&&oe(e.then)&&oe(e.catch),To=Object.prototype.toString,ar=e=>To.call(e),Oo=e=>ar(e).slice(8,-1),Uo=e=>ar(e)==="[object Object]",Xr=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Jr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ur=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Mo=/-(\w)/g,xt=ur(e=>e.replace(Mo,(t,r)=>r?r.toUpperCase():"")),Lo=/\B([A-Z])/g,kt=ur(e=>e.replace(Lo,"-$1").toLowerCase()),ys=ur(e=>e.charAt(0).toUpperCase()+e.slice(1)),yr=ur(e=>e?`on${ys(e)}`:""),lt=(e,t)=>!Object.is(e,t),wr=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},No=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let En;const Tr=()=>En||(En=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zr(e){if(se(e)){const t={};for(let r=0;r{if(r){const n=r.split(Ho);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Gr(e){let t="";if(we(e))t=e;else if(se(e))for(let r=0;r{const t=new Set(e);return t.w=0,t.n=0,t},Es=e=>(e.w&tt)>0,ks=e=>(e.n&tt)>0,qo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let n=0;n{(d==="length"||!lr(d)&&d>=i)&&a.push(h)})}else switch(r!==void 0&&a.push(c.get(r)),t){case"add":se(e)?Xr(r)&&a.push(c.get("length")):(a.push(c.get(it)),Ut(e)&&a.push(c.get(Mr)));break;case"delete":se(e)||(a.push(c.get(it)),Ut(e)&&a.push(c.get(Mr)));break;case"set":Ut(e)&&a.push(c.get(it));break}if(a.length===1)a[0]&&Lr(a[0]);else{const i=[];for(const h of a)h&&i.push(...h);Lr(en(i))}}function Lr(e,t){const r=se(e)?e:[...e];for(const n of r)n.computed&&An(n);for(const n of r)n.computed||An(n)}function An(e,t){(e!==Te||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Yo=Jr("__proto__,__v_isRef,__isVue"),Ss=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lr)),Rn=Qo();function Qo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const n=fe(this);for(let o=0,c=this.length;o{e[t]=function(...r){At();const n=fe(this)[t].apply(this,r);return Rt(),n}}),e}function Xo(e){const t=fe(this);return Se(t,"has",e),t.hasOwnProperty(e)}class Cs{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,n){const s=this._isReadonly,o=this._shallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return o;if(r==="__v_raw"&&n===(s?o?ui:Ts:o?Is:Ps).get(t))return t;const c=se(t);if(!s){if(c&&le(Rn,r))return Reflect.get(Rn,r,n);if(r==="hasOwnProperty")return Xo}const a=Reflect.get(t,r,n);return(lr(r)?Ss.has(r):Yo(r))||(s||Se(t,"get",r),o)?a:ke(a)?c&&Xr(r)?a:a.value:me(a)?s?Us(a):dr(a):a}}class Fs extends Cs{constructor(t=!1){super(!1,t)}set(t,r,n,s){let o=t[r];if(bt(o)&&ke(o)&&!ke(n))return!1;if(!this._shallow&&(!rr(n)&&!bt(n)&&(o=fe(o),n=fe(n)),!se(t)&&ke(o)&&!ke(n)))return o.value=n,!0;const c=se(t)&&Xr(r)?Number(r)e,fr=e=>Reflect.getPrototypeOf(e);function zt(e,t,r=!1,n=!1){e=e.__v_raw;const s=fe(e),o=fe(t);r||(lt(t,o)&&Se(s,"get",t),Se(s,"get",o));const{has:c}=fr(s),a=n?rn:r?cn:jt;if(c.call(s,t))return a(e.get(t));if(c.call(s,o))return a(e.get(o));e!==s&&e.get(t)}function Wt(e,t=!1){const r=this.__v_raw,n=fe(r),s=fe(e);return t||(lt(e,s)&&Se(n,"has",e),Se(n,"has",s)),e===s?r.has(e):r.has(e)||r.has(s)}function Vt(e,t=!1){return e=e.__v_raw,!t&&Se(fe(e),"iterate",it),Reflect.get(e,"size",e)}function Sn(e){e=fe(e);const t=fe(this);return fr(t).has.call(t,e)||(t.add(e),Ve(t,"add",e,e)),this}function Cn(e,t){t=fe(t);const r=fe(this),{has:n,get:s}=fr(r);let o=n.call(r,e);o||(e=fe(e),o=n.call(r,e));const c=s.call(r,e);return r.set(e,t),o?lt(t,c)&&Ve(r,"set",e,t):Ve(r,"add",e,t),this}function Fn(e){const t=fe(this),{has:r,get:n}=fr(t);let s=r.call(t,e);s||(e=fe(e),s=r.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return s&&Ve(t,"delete",e,void 0),o}function Pn(){const e=fe(this),t=e.size!==0,r=e.clear();return t&&Ve(e,"clear",void 0,void 0),r}function qt(e,t){return function(n,s){const o=this,c=o.__v_raw,a=fe(c),i=t?rn:e?cn:jt;return!e&&Se(a,"iterate",it),c.forEach((h,d)=>n.call(s,i(h),i(d),o))}}function Jt(e,t,r){return function(...n){const s=this.__v_raw,o=fe(s),c=Ut(o),a=e==="entries"||e===Symbol.iterator&&c,i=e==="keys"&&c,h=s[e](...n),d=r?rn:t?cn:jt;return!t&&Se(o,"iterate",i?Mr:it),{next(){const{value:v,done:b}=h.next();return b?{value:v,done:b}:{value:a?[d(v[0]),d(v[1])]:d(v),done:b}},[Symbol.iterator](){return this}}}}function Ye(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ri(){const e={get(o){return zt(this,o)},get size(){return Vt(this)},has:Wt,add:Sn,set:Cn,delete:Fn,clear:Pn,forEach:qt(!1,!1)},t={get(o){return zt(this,o,!1,!0)},get size(){return Vt(this)},has:Wt,add:Sn,set:Cn,delete:Fn,clear:Pn,forEach:qt(!1,!0)},r={get(o){return zt(this,o,!0)},get size(){return Vt(this,!0)},has(o){return Wt.call(this,o,!0)},add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear"),forEach:qt(!0,!1)},n={get(o){return zt(this,o,!0,!0)},get size(){return Vt(this,!0)},has(o){return Wt.call(this,o,!0)},add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear"),forEach:qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Jt(o,!1,!1),r[o]=Jt(o,!0,!1),t[o]=Jt(o,!1,!0),n[o]=Jt(o,!0,!0)}),[e,r,t,n]}const[ni,si,oi,ii]=ri();function nn(e,t){const r=t?e?ii:oi:e?si:ni;return(n,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(le(r,s)&&s in n?r:n,s,o)}const ci={get:nn(!1,!1)},li={get:nn(!1,!0)},ai={get:nn(!0,!1)},Ps=new WeakMap,Is=new WeakMap,Ts=new WeakMap,ui=new WeakMap;function fi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function di(e){return e.__v_skip||!Object.isExtensible(e)?0:fi(Oo(e))}function dr(e){return bt(e)?e:sn(e,!1,Go,ci,Ps)}function Os(e){return sn(e,!1,ti,li,Is)}function Us(e){return sn(e,!0,ei,ai,Ts)}function sn(e,t,r,n,s){if(!me(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const c=di(e);if(c===0)return e;const a=new Proxy(e,c===2?n:r);return s.set(e,a),a}function gt(e){return bt(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function rr(e){return!!(e&&e.__v_isShallow)}function Ms(e){return gt(e)||bt(e)}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function on(e){return tr(e,"__v_skip",!0),e}const jt=e=>me(e)?dr(e):e,cn=e=>me(e)?Us(e):e;function Ls(e){Ge&&Te&&(e=fe(e),Rs(e.dep||(e.dep=en())))}function Ns(e,t){e=fe(e);const r=e.dep;r&&Lr(r)}function ke(e){return!!(e&&e.__v_isRef===!0)}function ln(e){return js(e,!1)}function hi(e){return js(e,!0)}function js(e,t){return ke(e)?e:new pi(e,t)}class pi{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:fe(t),this._value=r?t:jt(t)}get value(){return Ls(this),this._value}set value(t){const r=this.__v_isShallow||rr(t)||bt(t);t=r?t:fe(t),lt(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:jt(t),Ns(this))}}function mt(e){return ke(e)?e.value:e}const gi={get:(e,t,r)=>mt(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const s=e[t];return ke(s)&&!ke(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function Hs(e){return gt(e)?e:new Proxy(e,gi)}class mi{constructor(t,r,n,s){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new tn(t,()=>{this._dirty||(this._dirty=!0,Ns(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=fe(this);return Ls(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function vi(e,t,r=!1){let n,s;const o=oe(e);return o?(n=e,s=Ue):(n=e.get,s=e.set),new mi(n,s,o||!s,r)}function et(e,t,r,n){let s;try{s=n?e(...n):e()}catch(o){hr(o,t,r)}return s}function Me(e,t,r,n){if(oe(e)){const o=et(e,t,r,n);return o&&bs(o)&&o.catch(c=>{hr(c,t,r)}),o}const s=[];for(let o=0;o>>1,s=_e[n],o=Bt(s);oKe&&_e.splice(t,1)}function wi(e){se(e)?vt.push(...e):(!We||!We.includes(e,e.allowRecurse?st+1:st))&&vt.push(e),Ds()}function In(e,t=Ht?Ke+1:0){for(;t<_e.length;t++){const r=_e[t];r&&r.pre&&(_e.splice(t,1),t--,r())}}function $s(e){if(vt.length){const t=[...new Set(vt)];if(vt.length=0,We){We.push(...t);return}for(We=t,We.sort((r,n)=>Bt(r)-Bt(n)),st=0;ste.id==null?1/0:e.id,_i=(e,t)=>{const r=Bt(e)-Bt(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function zs(e){Nr=!1,Ht=!0,_e.sort(_i);const t=Ue;try{for(Ke=0;Ke<_e.length;Ke++){const r=_e[Ke];r&&r.active!==!1&&et(r,null,14)}}finally{Ke=0,_e.length=0,$s(),Ht=!1,an=null,(_e.length||vt.length)&&zs()}}function Ei(e,t,...r){if(e.isUnmounted)return;const n=e.vnode.props||ge;let s=r;const o=t.startsWith("update:"),c=o&&t.slice(7);if(c&&c in n){const d=`${c==="modelValue"?"model":c}Modifiers`,{number:v,trim:b}=n[d]||ge;b&&(s=r.map(k=>we(k)?k.trim():k)),v&&(s=r.map(No))}let a,i=n[a=yr(t)]||n[a=yr(xt(t))];!i&&o&&(i=n[a=yr(kt(t))]),i&&Me(i,e,6,s);const h=n[a+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Me(h,e,6,s)}}function Ws(e,t,r=!1){const n=t.emitsCache,s=n.get(e);if(s!==void 0)return s;const o=e.emits;let c={},a=!1;if(!oe(e)){const i=h=>{const d=Ws(h,t,!0);d&&(a=!0,ye(c,d))};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!o&&!a?(me(e)&&n.set(e,null),null):(se(o)?o.forEach(i=>c[i]=null):ye(c,o),me(e)&&n.set(e,c),c)}function pr(e,t){return!e||!cr(t)?!1:(t=t.slice(2).replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,kt(t))||le(e,t))}let $e=null,Vs=null;function nr(e){const t=$e;return $e=e,Vs=e&&e.type.__scopeId||null,t}function ki(e,t=$e,r){if(!t||e._n)return e;const n=(...s)=>{n._d&&Kn(-1);const o=nr(t);let c;try{c=e(...s)}finally{nr(o),n._d&&Kn(1)}return c};return n._n=!0,n._c=!0,n._d=!0,n}function _r(e){const{type:t,vnode:r,proxy:n,withProxy:s,props:o,propsOptions:[c],slots:a,attrs:i,emit:h,render:d,renderCache:v,data:b,setupState:k,ctx:K,inheritAttrs:W}=e;let J,q;const $=nr(e);try{if(r.shapeFlag&4){const V=s||n,ae=V;J=Be(d.call(ae,V,v,o,k,b,K)),q=i}else{const V=t;J=Be(V.length>1?V(o,{attrs:i,slots:a,emit:h}):V(o,null)),q=t.props?i:Ai(i)}}catch(V){hr(V,e,1),J=be(Kt)}let X=J;if(q&&W!==!1){const V=Object.keys(q),{shapeFlag:ae}=X;V.length&&ae&7&&(c&&V.some(Yr)&&(q=Ri(q,c)),X=yt(X,q))}return r.dirs&&(X=yt(X),X.dirs=X.dirs?X.dirs.concat(r.dirs):r.dirs),r.transition&&(X.transition=r.transition),J=X,nr($),J}const Ai=e=>{let t;for(const r in e)(r==="class"||r==="style"||cr(r))&&((t||(t={}))[r]=e[r]);return t},Ri=(e,t)=>{const r={};for(const n in e)(!Yr(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function Si(e,t,r){const{props:n,children:s,component:o}=e,{props:c,children:a,patchFlag:i}=t,h=o.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&i>=0){if(i&1024)return!0;if(i&16)return n?Tn(n,c,h):!!c;if(i&8){const d=t.dynamicProps;for(let v=0;ve.__isSuspense;function Ii(e,t){t&&t.pendingBranch?se(e)?t.effects.push(...e):t.effects.push(e):wi(e)}const Yt={};function Xt(e,t,r){return qs(e,t,r)}function qs(e,t,{immediate:r,deep:n,flush:s,onTrack:o,onTrigger:c}=ge){var a;const i=Vo()===((a=Ee)==null?void 0:a.scope)?Ee:null;let h,d=!1,v=!1;if(ke(e)?(h=()=>e.value,d=rr(e)):gt(e)?(h=()=>e,n=!0):se(e)?(v=!0,d=e.some(V=>gt(V)||rr(V)),h=()=>e.map(V=>{if(ke(V))return V.value;if(gt(V))return ht(V);if(oe(V))return et(V,i,2)})):oe(e)?t?h=()=>et(e,i,2):h=()=>{if(!(i&&i.isUnmounted))return b&&b(),Me(e,i,3,[k])}:h=Ue,t&&n){const V=h;h=()=>ht(V())}let b,k=V=>{b=$.onStop=()=>{et(V,i,4),b=$.onStop=void 0}},K;if(Dt)if(k=Ue,t?r&&Me(t,i,3,[h(),v?[]:void 0,k]):h(),s==="sync"){const V=wc();K=V.__watcherHandles||(V.__watcherHandles=[])}else return Ue;let W=v?new Array(e.length).fill(Yt):Yt;const J=()=>{if($.active)if(t){const V=$.run();(n||d||(v?V.some((ae,_)=>lt(ae,W[_])):lt(V,W)))&&(b&&b(),Me(t,i,3,[V,W===Yt?void 0:v&&W[0]===Yt?[]:W,k]),W=V)}else $.run()};J.allowRecurse=!!t;let q;s==="sync"?q=J:s==="post"?q=()=>Re(J,i&&i.suspense):(J.pre=!0,i&&(J.id=i.uid),q=()=>un(J));const $=new tn(h,q);t?r?J():W=$.run():s==="post"?Re($.run.bind($),i&&i.suspense):$.run();const X=()=>{$.stop(),i&&i.scope&&Qr(i.scope.effects,$)};return K&&K.push(X),X}function Ti(e,t,r){const n=this.proxy,s=we(e)?e.includes(".")?Js(n,e):()=>n[e]:e.bind(n,n);let o;oe(t)?o=t:(o=t.handler,r=t);const c=Ee;wt(this);const a=qs(s,o.bind(n),r);return c?wt(c):ct(),a}function Js(e,t){const r=t.split(".");return()=>{let n=e;for(let s=0;s{ht(r,t)});else if(Uo(e))for(const r in e)ht(e[r],t);return e}function rt(e,t,r,n){const s=e.dirs,o=t&&t.dirs;for(let c=0;cye({name:e.name},t,{setup:e}))():e}const Zt=e=>!!e.type.__asyncLoader,Qs=e=>e.type.__isKeepAlive;function Oi(e,t){Xs(e,"a",t)}function Ui(e,t){Xs(e,"da",t)}function Xs(e,t,r=Ee){const n=e.__wdc||(e.__wdc=()=>{let s=r;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(gr(t,n,r),r){let s=r.parent;for(;s&&s.parent;)Qs(s.parent.vnode)&&Mi(n,t,r,s),s=s.parent}}function Mi(e,t,r,n){const s=gr(t,e,n,!0);eo(()=>{Qr(n[t],s)},r)}function gr(e,t,r=Ee,n=!1){if(r){const s=r[e]||(r[e]=[]),o=t.__weh||(t.__weh=(...c)=>{if(r.isUnmounted)return;At(),wt(r);const a=Me(t,r,e,c);return ct(),Rt(),a});return n?s.unshift(o):s.push(o),o}}const Je=e=>(t,r=Ee)=>(!Dt||e==="sp")&&gr(e,(...n)=>t(...n),r),Zs=Je("bm"),Li=Je("m"),Ni=Je("bu"),ji=Je("u"),Gs=Je("bum"),eo=Je("um"),Hi=Je("sp"),Bi=Je("rtg"),Ki=Je("rtc");function Di(e,t=Ee){gr("ec",e,t)}const jr=e=>e?uo(e)?mn(e)||e.proxy:jr(e.parent):null,Mt=ye(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>jr(e.parent),$root:e=>jr(e.root),$emit:e=>e.emit,$options:e=>fn(e),$forceUpdate:e=>e.f||(e.f=()=>un(e.update)),$nextTick:e=>e.n||(e.n=Ks.bind(e.proxy)),$watch:e=>Ti.bind(e)}),Er=(e,t)=>e!==ge&&!e.__isScriptSetup&&le(e,t),$i={get({_:e},t){const{ctx:r,setupState:n,data:s,props:o,accessCache:c,type:a,appContext:i}=e;let h;if(t[0]!=="$"){const k=c[t];if(k!==void 0)switch(k){case 1:return n[t];case 2:return s[t];case 4:return r[t];case 3:return o[t]}else{if(Er(n,t))return c[t]=1,n[t];if(s!==ge&&le(s,t))return c[t]=2,s[t];if((h=e.propsOptions[0])&&le(h,t))return c[t]=3,o[t];if(r!==ge&&le(r,t))return c[t]=4,r[t];Hr&&(c[t]=0)}}const d=Mt[t];let v,b;if(d)return t==="$attrs"&&Se(e,"get",t),d(e);if((v=a.__cssModules)&&(v=v[t]))return v;if(r!==ge&&le(r,t))return c[t]=4,r[t];if(b=i.config.globalProperties,le(b,t))return b[t]},set({_:e},t,r){const{data:n,setupState:s,ctx:o}=e;return Er(s,t)?(s[t]=r,!0):n!==ge&&le(n,t)?(n[t]=r,!0):le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:s,propsOptions:o}},c){let a;return!!r[c]||e!==ge&&le(e,c)||Er(t,c)||(a=o[0])&&le(a,c)||le(n,c)||le(Mt,c)||le(s.config.globalProperties,c)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:le(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function On(e){return se(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let Hr=!0;function zi(e){const t=fn(e),r=e.proxy,n=e.ctx;Hr=!1,t.beforeCreate&&Un(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:c,watch:a,provide:i,inject:h,created:d,beforeMount:v,mounted:b,beforeUpdate:k,updated:K,activated:W,deactivated:J,beforeDestroy:q,beforeUnmount:$,destroyed:X,unmounted:V,render:ae,renderTracked:_,renderTriggered:T,errorCaptured:D,serverPrefetch:L,expose:N,inheritAttrs:O,components:Z,directives:S,filters:G}=t;if(h&&Wi(h,n,null),c)for(const ee in c){const te=c[ee];oe(te)&&(n[ee]=te.bind(r))}if(s){const ee=s.call(r,r);me(ee)&&(e.data=dr(ee))}if(Hr=!0,o)for(const ee in o){const te=o[ee],ne=oe(te)?te.bind(r,r):oe(te.get)?te.get.bind(r,r):Ue,ve=!oe(te)&&oe(te.set)?te.set.bind(r):Ue,u=Oe({get:ne,set:ve});Object.defineProperty(n,ee,{enumerable:!0,configurable:!0,get:()=>u.value,set:g=>u.value=g})}if(a)for(const ee in a)to(a[ee],n,r,ee);if(i){const ee=oe(i)?i.call(r):i;Reflect.ownKeys(ee).forEach(te=>{Gt(te,ee[te])})}d&&Un(d,e,"c");function ie(ee,te){se(te)?te.forEach(ne=>ee(ne.bind(r))):te&&ee(te.bind(r))}if(ie(Zs,v),ie(Li,b),ie(Ni,k),ie(ji,K),ie(Oi,W),ie(Ui,J),ie(Di,D),ie(Ki,_),ie(Bi,T),ie(Gs,$),ie(eo,V),ie(Hi,L),se(N))if(N.length){const ee=e.exposed||(e.exposed={});N.forEach(te=>{Object.defineProperty(ee,te,{get:()=>r[te],set:ne=>r[te]=ne})})}else e.exposed||(e.exposed={});ae&&e.render===Ue&&(e.render=ae),O!=null&&(e.inheritAttrs=O),Z&&(e.components=Z),S&&(e.directives=S)}function Wi(e,t,r=Ue){se(e)&&(e=Br(e));for(const n in e){const s=e[n];let o;me(s)?"default"in s?o=qe(s.from||n,s.default,!0):o=qe(s.from||n):o=qe(s),ke(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:c=>o.value=c}):t[n]=o}}function Un(e,t,r){Me(se(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function to(e,t,r,n){const s=n.includes(".")?Js(r,n):()=>r[n];if(we(e)){const o=t[e];oe(o)&&Xt(s,o)}else if(oe(e))Xt(s,e.bind(r));else if(me(e))if(se(e))e.forEach(o=>to(o,t,r,n));else{const o=oe(e.handler)?e.handler.bind(r):t[e.handler];oe(o)&&Xt(s,o,e)}}function fn(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:c}}=e.appContext,a=o.get(t);let i;return a?i=a:!s.length&&!r&&!n?i=t:(i={},s.length&&s.forEach(h=>sr(i,h,c,!0)),sr(i,t,c)),me(t)&&o.set(t,i),i}function sr(e,t,r,n=!1){const{mixins:s,extends:o}=t;o&&sr(e,o,r,!0),s&&s.forEach(c=>sr(e,c,r,!0));for(const c in t)if(!(n&&c==="expose")){const a=Vi[c]||r&&r[c];e[c]=a?a(e[c],t[c]):t[c]}return e}const Vi={data:Mn,props:Ln,emits:Ln,methods:It,computed:It,beforeCreate:Ae,created:Ae,beforeMount:Ae,mounted:Ae,beforeUpdate:Ae,updated:Ae,beforeDestroy:Ae,beforeUnmount:Ae,destroyed:Ae,unmounted:Ae,activated:Ae,deactivated:Ae,errorCaptured:Ae,serverPrefetch:Ae,components:It,directives:It,watch:Ji,provide:Mn,inject:qi};function Mn(e,t){return t?e?function(){return ye(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function qi(e,t){return It(Br(e),Br(t))}function Br(e){if(se(e)){const t={};for(let r=0;r1)return r&&oe(t)?t.call(n&&n.proxy):t}}function Xi(e,t,r,n=!1){const s={},o={};tr(o,vr,1),e.propsDefaults=Object.create(null),no(e,t,s,o);for(const c in e.propsOptions[0])c in s||(s[c]=void 0);r?e.props=n?s:Os(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Zi(e,t,r,n){const{props:s,attrs:o,vnode:{patchFlag:c}}=e,a=fe(s),[i]=e.propsOptions;let h=!1;if((n||c>0)&&!(c&16)){if(c&8){const d=e.vnode.dynamicProps;for(let v=0;v{i=!0;const[b,k]=so(v,t,!0);ye(c,b),k&&a.push(...k)};!r&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!i)return me(e)&&n.set(e,Ot),Ot;if(se(o))for(let d=0;d-1,k[1]=W<0||K-1||le(k,"default"))&&a.push(v)}}}const h=[c,a];return me(e)&&n.set(e,h),h}function Nn(e){return e[0]!=="$"}function jn(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Hn(e,t){return jn(e)===jn(t)}function Bn(e,t){return se(t)?t.findIndex(r=>Hn(r,e)):oe(t)&&Hn(t,e)?0:-1}const oo=e=>e[0]==="_"||e==="$stable",dn=e=>se(e)?e.map(Be):[Be(e)],Gi=(e,t,r)=>{if(t._n)return t;const n=ki((...s)=>dn(t(...s)),r);return n._c=!1,n},io=(e,t,r)=>{const n=e._ctx;for(const s in e){if(oo(s))continue;const o=e[s];if(oe(o))t[s]=Gi(s,o,n);else if(o!=null){const c=dn(o);t[s]=()=>c}}},co=(e,t)=>{const r=dn(t);e.slots.default=()=>r},ec=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=fe(t),tr(t,"_",r)):io(t,e.slots={})}else e.slots={},t&&co(e,t);tr(e.slots,vr,1)},tc=(e,t,r)=>{const{vnode:n,slots:s}=e;let o=!0,c=ge;if(n.shapeFlag&32){const a=t._;a?r&&a===1?o=!1:(ye(s,t),!r&&a===1&&delete s._):(o=!t.$stable,io(t,s)),c=t}else t&&(co(e,t),c={default:1});if(o)for(const a in s)!oo(a)&&c[a]==null&&delete s[a]};function Dr(e,t,r,n,s=!1){if(se(e)){e.forEach((b,k)=>Dr(b,t&&(se(t)?t[k]:t),r,n,s));return}if(Zt(n)&&!s)return;const o=n.shapeFlag&4?mn(n.component)||n.component.proxy:n.el,c=s?null:o,{i:a,r:i}=e,h=t&&t.r,d=a.refs===ge?a.refs={}:a.refs,v=a.setupState;if(h!=null&&h!==i&&(we(h)?(d[h]=null,le(v,h)&&(v[h]=null)):ke(h)&&(h.value=null)),oe(i))et(i,a,12,[c,d]);else{const b=we(i),k=ke(i);if(b||k){const K=()=>{if(e.f){const W=b?le(v,i)?v[i]:d[i]:i.value;s?se(W)&&Qr(W,o):se(W)?W.includes(o)||W.push(o):b?(d[i]=[o],le(v,i)&&(v[i]=d[i])):(i.value=[o],e.k&&(d[e.k]=i.value))}else b?(d[i]=c,le(v,i)&&(v[i]=c)):k&&(i.value=c,e.k&&(d[e.k]=c))};c?(K.id=-1,Re(K,r)):K()}}}const Re=Ii;function rc(e){return nc(e)}function nc(e,t){const r=Tr();r.__VUE__=!0;const{insert:n,remove:s,patchProp:o,createElement:c,createText:a,createComment:i,setText:h,setElementText:d,parentNode:v,nextSibling:b,setScopeId:k=Ue,insertStaticContent:K}=e,W=(l,f,m,w=null,A=null,F=null,B=!1,M=null,j=!!f.dynamicChildren)=>{if(l===f)return;l&&!Ct(l,f)&&(w=p(l),g(l,A,F,!0),l=null),f.patchFlag===-2&&(j=!1,f.dynamicChildren=null);const{type:P,ref:Y,shapeFlag:z}=f;switch(P){case mr:J(l,f,m,w);break;case Kt:q(l,f,m,w);break;case kr:l==null&&$(f,m,w,B);break;case He:Z(l,f,m,w,A,F,B,M,j);break;default:z&1?ae(l,f,m,w,A,F,B,M,j):z&6?S(l,f,m,w,A,F,B,M,j):(z&64||z&128)&&P.process(l,f,m,w,A,F,B,M,j,y)}Y!=null&&A&&Dr(Y,l&&l.ref,F,f||l,!f)},J=(l,f,m,w)=>{if(l==null)n(f.el=a(f.children),m,w);else{const A=f.el=l.el;f.children!==l.children&&h(A,f.children)}},q=(l,f,m,w)=>{l==null?n(f.el=i(f.children||""),m,w):f.el=l.el},$=(l,f,m,w)=>{[l.el,l.anchor]=K(l.children,f,m,w,l.el,l.anchor)},X=({el:l,anchor:f},m,w)=>{let A;for(;l&&l!==f;)A=b(l),n(l,m,w),l=A;n(f,m,w)},V=({el:l,anchor:f})=>{let m;for(;l&&l!==f;)m=b(l),s(l),l=m;s(f)},ae=(l,f,m,w,A,F,B,M,j)=>{B=B||f.type==="svg",l==null?_(f,m,w,A,F,B,M,j):L(l,f,A,F,B,M,j)},_=(l,f,m,w,A,F,B,M)=>{let j,P;const{type:Y,props:z,shapeFlag:Q,transition:re,dirs:ce}=l;if(j=l.el=c(l.type,F,z&&z.is,z),Q&8?d(j,l.children):Q&16&&D(l.children,j,null,w,A,F&&Y!=="foreignObject",B,M),ce&&rt(l,null,w,"created"),T(j,l,l.scopeId,B,w),z){for(const he in z)he!=="value"&&!Qt(he)&&o(j,he,null,z[he],F,l.children,w,A,U);"value"in z&&o(j,"value",null,z.value),(P=z.onVnodeBeforeMount)&&je(P,w,l)}ce&&rt(l,null,w,"beforeMount");const pe=sc(A,re);pe&&re.beforeEnter(j),n(j,f,m),((P=z&&z.onVnodeMounted)||pe||ce)&&Re(()=>{P&&je(P,w,l),pe&&re.enter(j),ce&&rt(l,null,w,"mounted")},A)},T=(l,f,m,w,A)=>{if(m&&k(l,m),w)for(let F=0;F{for(let P=j;P{const M=f.el=l.el;let{patchFlag:j,dynamicChildren:P,dirs:Y}=f;j|=l.patchFlag&16;const z=l.props||ge,Q=f.props||ge;let re;m&&nt(m,!1),(re=Q.onVnodeBeforeUpdate)&&je(re,m,f,l),Y&&rt(f,l,m,"beforeUpdate"),m&&nt(m,!0);const ce=A&&f.type!=="foreignObject";if(P?N(l.dynamicChildren,P,M,m,w,ce,F):B||te(l,f,M,null,m,w,ce,F,!1),j>0){if(j&16)O(M,f,z,Q,m,w,A);else if(j&2&&z.class!==Q.class&&o(M,"class",null,Q.class,A),j&4&&o(M,"style",z.style,Q.style,A),j&8){const pe=f.dynamicProps;for(let he=0;he{re&&je(re,m,f,l),Y&&rt(f,l,m,"updated")},w)},N=(l,f,m,w,A,F,B)=>{for(let M=0;M{if(m!==w){if(m!==ge)for(const M in m)!Qt(M)&&!(M in w)&&o(l,M,m[M],null,B,f.children,A,F,U);for(const M in w){if(Qt(M))continue;const j=w[M],P=m[M];j!==P&&M!=="value"&&o(l,M,P,j,B,f.children,A,F,U)}"value"in w&&o(l,"value",m.value,w.value)}},Z=(l,f,m,w,A,F,B,M,j)=>{const P=f.el=l?l.el:a(""),Y=f.anchor=l?l.anchor:a("");let{patchFlag:z,dynamicChildren:Q,slotScopeIds:re}=f;re&&(M=M?M.concat(re):re),l==null?(n(P,m,w),n(Y,m,w),D(f.children,m,Y,A,F,B,M,j)):z>0&&z&64&&Q&&l.dynamicChildren?(N(l.dynamicChildren,Q,m,A,F,B,M),(f.key!=null||A&&f===A.subTree)&&lo(l,f,!0)):te(l,f,m,Y,A,F,B,M,j)},S=(l,f,m,w,A,F,B,M,j)=>{f.slotScopeIds=M,l==null?f.shapeFlag&512?A.ctx.activate(f,m,w,B,j):G(f,m,w,A,F,B,j):ue(l,f,j)},G=(l,f,m,w,A,F,B)=>{const M=l.component=pc(l,w,A);if(Qs(l)&&(M.ctx.renderer=y),gc(M),M.asyncDep){if(A&&A.registerDep(M,ie),!l.el){const j=M.subTree=be(Kt);q(null,j,f,m)}return}ie(M,l,f,m,A,F,B)},ue=(l,f,m)=>{const w=f.component=l.component;if(Si(l,f,m))if(w.asyncDep&&!w.asyncResolved){ee(w,f,m);return}else w.next=f,yi(w.update),w.update();else f.el=l.el,w.vnode=f},ie=(l,f,m,w,A,F,B)=>{const M=()=>{if(l.isMounted){let{next:Y,bu:z,u:Q,parent:re,vnode:ce}=l,pe=Y,he;nt(l,!1),Y?(Y.el=ce.el,ee(l,Y,B)):Y=ce,z&&wr(z),(he=Y.props&&Y.props.onVnodeBeforeUpdate)&&je(he,re,Y,ce),nt(l,!0);const xe=_r(l),Pe=l.subTree;l.subTree=xe,W(Pe,xe,v(Pe.el),p(Pe),l,A,F),Y.el=xe.el,pe===null&&Ci(l,xe.el),Q&&Re(Q,A),(he=Y.props&&Y.props.onVnodeUpdated)&&Re(()=>je(he,re,Y,ce),A)}else{let Y;const{el:z,props:Q}=f,{bm:re,m:ce,parent:pe}=l,he=Zt(f);if(nt(l,!1),re&&wr(re),!he&&(Y=Q&&Q.onVnodeBeforeMount)&&je(Y,pe,f),nt(l,!0),z&&H){const xe=()=>{l.subTree=_r(l),H(z,l.subTree,l,A,null)};he?f.type.__asyncLoader().then(()=>!l.isUnmounted&&xe()):xe()}else{const xe=l.subTree=_r(l);W(null,xe,m,w,l,A,F),f.el=xe.el}if(ce&&Re(ce,A),!he&&(Y=Q&&Q.onVnodeMounted)){const xe=f;Re(()=>je(Y,pe,xe),A)}(f.shapeFlag&256||pe&&Zt(pe.vnode)&&pe.vnode.shapeFlag&256)&&l.a&&Re(l.a,A),l.isMounted=!0,f=m=w=null}},j=l.effect=new tn(M,()=>un(P),l.scope),P=l.update=()=>j.run();P.id=l.uid,nt(l,!0),P()},ee=(l,f,m)=>{f.component=l;const w=l.vnode.props;l.vnode=f,l.next=null,Zi(l,f.props,w,m),tc(l,f.children,m),At(),In(),Rt()},te=(l,f,m,w,A,F,B,M,j=!1)=>{const P=l&&l.children,Y=l?l.shapeFlag:0,z=f.children,{patchFlag:Q,shapeFlag:re}=f;if(Q>0){if(Q&128){ve(P,z,m,w,A,F,B,M,j);return}else if(Q&256){ne(P,z,m,w,A,F,B,M,j);return}}re&8?(Y&16&&U(P,A,F),z!==P&&d(m,z)):Y&16?re&16?ve(P,z,m,w,A,F,B,M,j):U(P,A,F,!0):(Y&8&&d(m,""),re&16&&D(z,m,w,A,F,B,M,j))},ne=(l,f,m,w,A,F,B,M,j)=>{l=l||Ot,f=f||Ot;const P=l.length,Y=f.length,z=Math.min(P,Y);let Q;for(Q=0;QY?U(l,A,F,!0,!1,z):D(f,m,w,A,F,B,M,j,z)},ve=(l,f,m,w,A,F,B,M,j)=>{let P=0;const Y=f.length;let z=l.length-1,Q=Y-1;for(;P<=z&&P<=Q;){const re=l[P],ce=f[P]=j?Xe(f[P]):Be(f[P]);if(Ct(re,ce))W(re,ce,m,null,A,F,B,M,j);else break;P++}for(;P<=z&&P<=Q;){const re=l[z],ce=f[Q]=j?Xe(f[Q]):Be(f[Q]);if(Ct(re,ce))W(re,ce,m,null,A,F,B,M,j);else break;z--,Q--}if(P>z){if(P<=Q){const re=Q+1,ce=reQ)for(;P<=z;)g(l[P],A,F,!0),P++;else{const re=P,ce=P,pe=new Map;for(P=ce;P<=Q;P++){const Ce=f[P]=j?Xe(f[P]):Be(f[P]);Ce.key!=null&&pe.set(Ce.key,P)}let he,xe=0;const Pe=Q-ce+1;let at=!1,yn=0;const St=new Array(Pe);for(P=0;P=Pe){g(Ce,A,F,!0);continue}let Ne;if(Ce.key!=null)Ne=pe.get(Ce.key);else for(he=ce;he<=Q;he++)if(St[he-ce]===0&&Ct(Ce,f[he])){Ne=he;break}Ne===void 0?g(Ce,A,F,!0):(St[Ne-ce]=P+1,Ne>=yn?yn=Ne:at=!0,W(Ce,f[Ne],m,null,A,F,B,M,j),xe++)}const wn=at?oc(St):Ot;for(he=wn.length-1,P=Pe-1;P>=0;P--){const Ce=ce+P,Ne=f[Ce],_n=Ce+1{const{el:F,type:B,transition:M,children:j,shapeFlag:P}=l;if(P&6){u(l.component.subTree,f,m,w);return}if(P&128){l.suspense.move(f,m,w);return}if(P&64){B.move(l,f,m,y);return}if(B===He){n(F,f,m);for(let z=0;zM.enter(F),A);else{const{leave:z,delayLeave:Q,afterLeave:re}=M,ce=()=>n(F,f,m),pe=()=>{z(F,()=>{ce(),re&&re()})};Q?Q(F,ce,pe):pe()}else n(F,f,m)},g=(l,f,m,w=!1,A=!1)=>{const{type:F,props:B,ref:M,children:j,dynamicChildren:P,shapeFlag:Y,patchFlag:z,dirs:Q}=l;if(M!=null&&Dr(M,null,m,l,!0),Y&256){f.ctx.deactivate(l);return}const re=Y&1&&Q,ce=!Zt(l);let pe;if(ce&&(pe=B&&B.onVnodeBeforeUnmount)&&je(pe,f,l),Y&6)R(l.component,m,w);else{if(Y&128){l.suspense.unmount(m,w);return}re&&rt(l,null,f,"beforeUnmount"),Y&64?l.type.remove(l,f,m,A,y,w):P&&(F!==He||z>0&&z&64)?U(P,f,m,!1,!0):(F===He&&z&384||!A&&Y&16)&&U(j,f,m),w&&C(l)}(ce&&(pe=B&&B.onVnodeUnmounted)||re)&&Re(()=>{pe&&je(pe,f,l),re&&rt(l,null,f,"unmounted")},m)},C=l=>{const{type:f,el:m,anchor:w,transition:A}=l;if(f===He){I(m,w);return}if(f===kr){V(l);return}const F=()=>{s(m),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(l.shapeFlag&1&&A&&!A.persisted){const{leave:B,delayLeave:M}=A,j=()=>B(m,F);M?M(l.el,F,j):j()}else F()},I=(l,f)=>{let m;for(;l!==f;)m=b(l),s(l),l=m;s(f)},R=(l,f,m)=>{const{bum:w,scope:A,update:F,subTree:B,um:M}=l;w&&wr(w),A.stop(),F&&(F.active=!1,g(B,l,f,m)),M&&Re(M,f),Re(()=>{l.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},U=(l,f,m,w=!1,A=!1,F=0)=>{for(let B=F;Bl.shapeFlag&6?p(l.component.subTree):l.shapeFlag&128?l.suspense.next():b(l.anchor||l.el),x=(l,f,m)=>{l==null?f._vnode&&g(f._vnode,null,null,!0):W(f._vnode||null,l,f,null,null,null,m),In(),$s(),f._vnode=l},y={p:W,um:g,m:u,r:C,mt:G,mc:D,pc:te,pbc:N,n:p,o:e};let E,H;return t&&([E,H]=t(y)),{render:x,hydrate:E,createApp:Qi(x,E)}}function nt({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function sc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function lo(e,t,r=!1){const n=e.children,s=t.children;if(se(n)&&se(s))for(let o=0;o>1,e[r[a]]0&&(t[n]=r[o-1]),r[o]=n)}}for(o=r.length,c=r[o-1];o-- >0;)r[o]=c,c=t[c];return r}const ic=e=>e.__isTeleport,He=Symbol.for("v-fgt"),mr=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),kr=Symbol.for("v-stc");let pt=null,hn=1;function Kn(e){hn+=e}function $r(e){return e?e.__v_isVNode===!0:!1}function Ct(e,t){return e.type===t.type&&e.key===t.key}const vr="__vInternal",ao=({key:e})=>e??null,er=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||ke(e)||oe(e)?{i:$e,r:e,k:t,f:!!r}:e:null);function cc(e,t=null,r=null,n=0,s=null,o=e===He?0:1,c=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ao(t),ref:t&&er(t),scopeId:Vs,slotScopeIds:null,children:r,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:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:$e};return a?(pn(i,r),o&128&&e.normalize(i)):r&&(i.shapeFlag|=we(r)?8:16),hn>0&&!c&&pt&&(i.patchFlag>0||o&6)&&i.patchFlag!==32&&pt.push(i),i}const be=lc;function lc(e,t=null,r=null,n=0,s=null,o=!1){if((!e||e===Fi)&&(e=Kt),$r(e)){const a=yt(e,t,!0);return r&&pn(a,r),hn>0&&!o&&pt&&(a.shapeFlag&6?pt[pt.indexOf(e)]=a:pt.push(a)),a.patchFlag|=-2,a}if(bc(e)&&(e=e.__vccOpts),t){t=ac(t);let{class:a,style:i}=t;a&&!we(a)&&(t.class=Gr(a)),me(i)&&(Ms(i)&&!se(i)&&(i=ye({},i)),t.style=Zr(i))}const c=we(e)?1:Pi(e)?128:ic(e)?64:me(e)?4:oe(e)?2:0;return cc(e,t,r,n,s,c,o,!0)}function ac(e){return e?Ms(e)||vr in e?ye({},e):e:null}function yt(e,t,r=!1){const{props:n,ref:s,patchFlag:o,children:c}=e,a=t?fc(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&ao(a),ref:t&&t.ref?r&&s?se(s)?s.concat(er(t)):[s,er(t)]:er(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==He?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&yt(e.ssContent),ssFallback:e.ssFallback&&yt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function uc(e=" ",t=0){return be(mr,null,e,t)}function Be(e){return e==null||typeof e=="boolean"?be(Kt):se(e)?be(He,null,e.slice()):typeof e=="object"?Xe(e):be(mr,null,String(e))}function Xe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:yt(e)}function pn(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(se(t))r=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),pn(e,s()),s._c&&(s._d=!0));return}else{r=32;const s=t._;!s&&!(vr in t)?t._ctx=$e:s===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else oe(t)?(t={default:t,_ctx:$e},r=32):(t=String(t),n&64?(r=16,t=[uc(t)]):r=8);e.children=t,e.shapeFlag|=r}function fc(...e){const t={};for(let r=0;rEe=e),gn=e=>{ut.length>1?ut.forEach(t=>t(e)):ut[0](e)};const wt=e=>{gn(e),e.scope.on()},ct=()=>{Ee&&Ee.scope.off(),gn(null)};function uo(e){return e.vnode.shapeFlag&4}let Dt=!1;function gc(e,t=!1){Dt=t;const{props:r,children:n}=e.vnode,s=uo(e);Xi(e,r,s,t),ec(e,n);const o=s?mc(e,t):void 0;return Dt=!1,o}function mc(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=on(new Proxy(e.ctx,$i));const{setup:n}=r;if(n){const s=e.setupContext=n.length>1?xc(e):null;wt(e),At();const o=et(n,e,0,[e.props,s]);if(Rt(),ct(),bs(o)){if(o.then(ct,ct),t)return o.then(c=>{$n(e,c,t)}).catch(c=>{hr(c,e,0)});e.asyncDep=o}else $n(e,o,t)}else fo(e,t)}function $n(e,t,r){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:me(t)&&(e.setupState=Hs(t)),fo(e,r)}let zn;function fo(e,t,r){const n=e.type;if(!e.render){if(!t&&zn&&!n.render){const s=n.template||fn(e).template;if(s){const{isCustomElement:o,compilerOptions:c}=e.appContext.config,{delimiters:a,compilerOptions:i}=n,h=ye(ye({isCustomElement:o,delimiters:a},c),i);n.render=zn(s,h)}}e.render=n.render||Ue}{wt(e),At();try{zi(e)}finally{Rt(),ct()}}}function vc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return Se(e,"get","$attrs"),t[r]}}))}function xc(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return vc(e)},slots:e.slots,emit:e.emit,expose:t}}function mn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Hs(on(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Mt)return Mt[r](e)},has(t,r){return r in t||r in Mt}}))}function bc(e){return oe(e)&&"__vccOpts"in e}const Oe=(e,t)=>vi(e,t,Dt);function ho(e,t,r){const n=arguments.length;return n===2?me(t)&&!se(t)?$r(t)?be(e,null,[t]):be(e,t):be(e,null,t):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&$r(r)&&(r=[r]),be(e,t,r))}const yc=Symbol.for("v-scx"),wc=()=>qe(yc),_c="3.3.10",Ec="http://www.w3.org/2000/svg",ot=typeof document<"u"?document:null,Wn=ot&&ot.createElement("template"),kc={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const s=t?ot.createElementNS(Ec,e):ot.createElement(e,r?{is:r}:void 0);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,s,o){const c=r?r.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),r),!(s===o||!(s=s.nextSibling)););else{Wn.innerHTML=n?`${e}`:e;const a=Wn.content;if(n){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,r)}return[c?c.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Ac=Symbol("_vtc");function Rc(e,t,r){const n=e[Ac];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const Sc=Symbol("_vod");function Cc(e,t,r){const n=e.style,s=we(r);if(r&&!s){if(t&&!we(t))for(const o in t)r[o]==null&&zr(n,o,"");for(const o in r)zr(n,o,r[o])}else{const o=n.display;s?t!==r&&(n.cssText=r):t&&e.removeAttribute("style"),Sc in e&&(n.display=o)}}const Vn=/\s*!important$/;function zr(e,t,r){if(se(r))r.forEach(n=>zr(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=Fc(e,t);Vn.test(r)?e.setProperty(kt(n),r.replace(Vn,""),"important"):e[n]=r}}const qn=["Webkit","Moz","ms"],Ar={};function Fc(e,t){const r=Ar[t];if(r)return r;let n=xt(t);if(n!=="filter"&&n in e)return Ar[t]=n;n=ys(n);for(let s=0;sRr||(Lc.then(()=>Rr=0),Rr=Date.now());function jc(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;Me(Hc(n,r.value),t,5,[n])};return r.value=e,r.attached=Nc(),r}function Hc(e,t){if(se(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>s=>!s._stopped&&n&&n(s))}else return t}const Xn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Bc=(e,t,r,n,s=!1,o,c,a,i)=>{t==="class"?Rc(e,n,s):t==="style"?Cc(e,r,n):cr(t)?Yr(t)||Uc(e,t,r,n,c):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kc(e,t,n,s))?Ic(e,t,n,o,c,a,i):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Pc(e,t,n,s))};function Kc(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Xn(t)&&oe(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;return!(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")}return Xn(t)&&we(r)?!1:t in e}const Dc=ye({patchProp:Bc},kc);let Zn;function $c(){return Zn||(Zn=rc(Dc))}const zc=(...e)=>{const t=$c().createApp(...e),{mount:r}=t;return t.mount=n=>{const s=Wc(n);if(!s)return;const o=t._component;!oe(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const c=r(s,!1,s instanceof SVGElement);return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),c},t};function Wc(e){return we(e)?document.querySelector(e):e}var Vc=!1;/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const qc=Symbol();var Gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Gn||(Gn={}));function Jc(){const e=zo(!0),t=e.run(()=>ln({}));let r=[],n=[];const s=on({install(o){s._a=o,o.provide(qc,s),o.config.globalProperties.$pinia=s,n.forEach(c=>r.push(c)),n=[]},use(o){return!this._a&&!Vc?n.push(o):r.push(o),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const dt=typeof window<"u";function Yc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const de=Object.assign;function Sr(e,t){const r={};for(const n in t){const s=t[n];r[n]=Le(s)?s.map(e):e(s)}return r}const Lt=()=>{},Le=Array.isArray,Qc=/\/$/,Xc=e=>e.replace(Qc,"");function Cr(e,t,r="/"){let n,s={},o="",c="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(n=t.slice(0,i),o=t.slice(i+1,a>-1?a:t.length),s=e(o)),a>-1&&(n=n||t.slice(0,a),c=t.slice(a,t.length)),n=tl(n??t,r),{fullPath:n+(o&&"?")+o+c,path:n,query:s,hash:c}}function Zc(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function es(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Gc(e,t,r){const n=t.matched.length-1,s=r.matched.length-1;return n>-1&&n===s&&_t(t.matched[n],r.matched[s])&&po(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function _t(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function po(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!el(e[r],t[r]))return!1;return!0}function el(e,t){return Le(e)?ts(e,t):Le(t)?ts(t,e):e===t}function ts(e,t){return Le(t)?e.length===t.length&&e.every((r,n)=>r===t[n]):e.length===1&&e[0]===t}function tl(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),n=e.split("/"),s=n[n.length-1];(s===".."||s===".")&&n.push("");let o=r.length-1,c,a;for(c=0;c1&&o--;else break;return r.slice(0,o).join("/")+"/"+n.slice(c-(c===n.length?1:0)).join("/")}var $t;(function(e){e.pop="pop",e.push="push"})($t||($t={}));var Nt;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Nt||(Nt={}));function rl(e){if(!e)if(dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Xc(e)}const nl=/^[^#]+#/;function sl(e,t){return e.replace(nl,"#")+t}function ol(e,t){const r=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-r.left-(t.left||0),top:n.top-r.top-(t.top||0)}}const xr=()=>({left:window.pageXOffset,top:window.pageYOffset});function il(e){let t;if("el"in e){const r=e.el,n=typeof r=="string"&&r.startsWith("#"),s=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!s)return;t=ol(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function rs(e,t){return(history.state?history.state.position-t:-1)+e}const Wr=new Map;function cl(e,t){Wr.set(e,t)}function ll(e){const t=Wr.get(e);return Wr.delete(e),t}let al=()=>location.protocol+"//"+location.host;function go(e,t){const{pathname:r,search:n,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,i=s.slice(a);return i[0]!=="/"&&(i="/"+i),es(i,"")}return es(r,e)+n+s}function ul(e,t,r,n){let s=[],o=[],c=null;const a=({state:b})=>{const k=go(e,location),K=r.value,W=t.value;let J=0;if(b){if(r.value=k,t.value=b,c&&c===K){c=null;return}J=W?b.position-W.position:0}else n(k);s.forEach(q=>{q(r.value,K,{delta:J,type:$t.pop,direction:J?J>0?Nt.forward:Nt.back:Nt.unknown})})};function i(){c=r.value}function h(b){s.push(b);const k=()=>{const K=s.indexOf(b);K>-1&&s.splice(K,1)};return o.push(k),k}function d(){const{history:b}=window;b.state&&b.replaceState(de({},b.state,{scroll:xr()}),"")}function v(){for(const b of o)b();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:i,listen:h,destroy:v}}function ns(e,t,r,n=!1,s=!1){return{back:e,current:t,forward:r,replaced:n,position:window.history.length,scroll:s?xr():null}}function fl(e){const{history:t,location:r}=window,n={value:go(e,r)},s={value:t.state};s.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(i,h,d){const v=e.indexOf("#"),b=v>-1?(r.host&&document.querySelector("base")?e:e.slice(v))+i:al()+e+i;try{t[d?"replaceState":"pushState"](h,"",b),s.value=h}catch(k){console.error(k),r[d?"replace":"assign"](b)}}function c(i,h){const d=de({},t.state,ns(s.value.back,i,s.value.forward,!0),h,{position:s.value.position});o(i,d,!0),n.value=i}function a(i,h){const d=de({},s.value,t.state,{forward:i,scroll:xr()});o(d.current,d,!0);const v=de({},ns(n.value,i,null),{position:d.position+1},h);o(i,v,!1),n.value=i}return{location:n,state:s,push:a,replace:c}}function dl(e){e=rl(e);const t=fl(e),r=ul(e,t.state,t.location,t.replace);function n(o,c=!0){c||r.pauseListeners(),history.go(o)}const s=de({location:"",base:e,go:n,createHref:sl.bind(null,e)},t,r);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function hl(e){return typeof e=="string"||e&&typeof e=="object"}function mo(e){return typeof e=="string"||typeof e=="symbol"}const Qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},vo=Symbol("");var ss;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ss||(ss={}));function Et(e,t){return de(new Error,{type:e,[vo]:!0},t)}function ze(e,t){return e instanceof Error&&vo in e&&(t==null||!!(e.type&t))}const os="[^/]+?",pl={sensitive:!1,strict:!1,start:!0,end:!0},gl=/[.+*?^${}()[\]/\\]/g;function ml(e,t){const r=de({},pl,t),n=[];let s=r.start?"^":"";const o=[];for(const h of e){const d=h.length?[]:[90];r.strict&&!h.length&&(s+="/");for(let v=0;vt.length?t.length===1&&t[0]===40+40?1:-1:0}function xl(e,t){let r=0;const n=e.score,s=t.score;for(;r0&&t[t.length-1]<0}const bl={type:0,value:""},yl=/[a-zA-Z0-9_]/;function wl(e){if(!e)return[[]];if(e==="/")return[[bl]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(k){throw new Error(`ERR (${r})/"${h}": ${k}`)}let r=0,n=r;const s=[];let o;function c(){o&&s.push(o),o=[]}let a=0,i,h="",d="";function v(){h&&(r===0?o.push({type:0,value:h}):r===1||r===2||r===3?(o.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:h,regexp:d,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),h="")}function b(){h+=i}for(;a{c($)}:Lt}function c(d){if(mo(d)){const v=n.get(d);v&&(n.delete(d),r.splice(r.indexOf(v),1),v.children.forEach(c),v.alias.forEach(c))}else{const v=r.indexOf(d);v>-1&&(r.splice(v,1),d.record.name&&n.delete(d.record.name),d.children.forEach(c),d.alias.forEach(c))}}function a(){return r}function i(d){let v=0;for(;v=0&&(d.record.path!==r[v].record.path||!xo(d,r[v]));)v++;r.splice(v,0,d),d.record.name&&!ls(d)&&n.set(d.record.name,d)}function h(d,v){let b,k={},K,W;if("name"in d&&d.name){if(b=n.get(d.name),!b)throw Et(1,{location:d});W=b.record.name,k=de(cs(v.params,b.keys.filter($=>!$.optional).map($=>$.name)),d.params&&cs(d.params,b.keys.map($=>$.name))),K=b.stringify(k)}else if("path"in d)K=d.path,b=r.find($=>$.re.test(K)),b&&(k=b.parse(K),W=b.record.name);else{if(b=v.name?n.get(v.name):r.find($=>$.re.test(v.path)),!b)throw Et(1,{location:d,currentLocation:v});W=b.record.name,k=de({},v.params,d.params),K=b.stringify(k)}const J=[];let q=b;for(;q;)J.unshift(q.record),q=q.parent;return{name:W,path:K,params:k,matched:J,meta:Rl(J)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:h,removeRoute:c,getRoutes:a,getRecordMatcher:s}}function cs(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}function kl(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Al(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Al(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const n in e.components)t[n]=typeof r=="object"?r[n]:r;return t}function ls(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Rl(e){return e.reduce((t,r)=>de(t,r.meta),{})}function as(e,t){const r={};for(const n in e)r[n]=n in t?t[n]:e[n];return r}function xo(e,t){return t.children.some(r=>r===e||xo(e,r))}const bo=/#/g,Sl=/&/g,Cl=/\//g,Fl=/=/g,Pl=/\?/g,yo=/\+/g,Il=/%5B/g,Tl=/%5D/g,wo=/%5E/g,Ol=/%60/g,_o=/%7B/g,Ul=/%7C/g,Eo=/%7D/g,Ml=/%20/g;function vn(e){return encodeURI(""+e).replace(Ul,"|").replace(Il,"[").replace(Tl,"]")}function Ll(e){return vn(e).replace(_o,"{").replace(Eo,"}").replace(wo,"^")}function Vr(e){return vn(e).replace(yo,"%2B").replace(Ml,"+").replace(bo,"%23").replace(Sl,"%26").replace(Ol,"`").replace(_o,"{").replace(Eo,"}").replace(wo,"^")}function Nl(e){return Vr(e).replace(Fl,"%3D")}function jl(e){return vn(e).replace(bo,"%23").replace(Pl,"%3F")}function Hl(e){return e==null?"":jl(e).replace(Cl,"%2F")}function ir(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Bl(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Vr(o)):[n&&Vr(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+r,o!=null&&(t+="="+o))})}return t}function Kl(e){const t={};for(const r in e){const n=e[r];n!==void 0&&(t[r]=Le(n)?n.map(s=>s==null?null:""+s):n==null?n:""+n)}return t}const Dl=Symbol(""),fs=Symbol(""),xn=Symbol(""),ko=Symbol(""),qr=Symbol("");function Ft(){let e=[];function t(n){return e.push(n),()=>{const s=e.indexOf(n);s>-1&&e.splice(s,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Ze(e,t,r,n,s){const o=n&&(n.enterCallbacks[s]=n.enterCallbacks[s]||[]);return()=>new Promise((c,a)=>{const i=v=>{v===!1?a(Et(4,{from:r,to:t})):v instanceof Error?a(v):hl(v)?a(Et(2,{from:t,to:v})):(o&&n.enterCallbacks[s]===o&&typeof v=="function"&&o.push(v),c())},h=e.call(n&&n.instances[s],t,r,i);let d=Promise.resolve(h);e.length<3&&(d=d.then(i)),d.catch(v=>a(v))})}function Fr(e,t,r,n){const s=[];for(const o of e)for(const c in o.components){let a=o.components[c];if(!(t!=="beforeRouteEnter"&&!o.instances[c]))if($l(a)){const h=(a.__vccOpts||a)[t];h&&s.push(Ze(h,r,n,o,c))}else{let i=a();s.push(()=>i.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${o.path}"`));const d=Yc(h)?h.default:h;o.components[c]=d;const b=(d.__vccOpts||d)[t];return b&&Ze(b,r,n,o,c)()}))}}return s}function $l(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ds(e){const t=qe(xn),r=qe(ko),n=Oe(()=>t.resolve(mt(e.to))),s=Oe(()=>{const{matched:i}=n.value,{length:h}=i,d=i[h-1],v=r.matched;if(!d||!v.length)return-1;const b=v.findIndex(_t.bind(null,d));if(b>-1)return b;const k=hs(i[h-2]);return h>1&&hs(d)===k&&v[v.length-1].path!==k?v.findIndex(_t.bind(null,i[h-2])):b}),o=Oe(()=>s.value>-1&&ql(r.params,n.value.params)),c=Oe(()=>s.value>-1&&s.value===r.matched.length-1&&po(r.params,n.value.params));function a(i={}){return Vl(i)?t[mt(e.replace)?"replace":"push"](mt(e.to)).catch(Lt):Promise.resolve()}return{route:n,href:Oe(()=>n.value.href),isActive:o,isExactActive:c,navigate:a}}const zl=Ys({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:ds,setup(e,{slots:t}){const r=dr(ds(e)),{options:n}=qe(xn),s=Oe(()=>({[ps(e.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[ps(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const o=t.default&&t.default(r);return e.custom?o:ho("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:s.value},o)}}}),Wl=zl;function Vl(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ql(e,t){for(const r in t){const n=t[r],s=e[r];if(typeof n=="string"){if(n!==s)return!1}else if(!Le(s)||s.length!==n.length||n.some((o,c)=>o!==s[c]))return!1}return!0}function hs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ps=(e,t,r)=>e??t??r,Jl=Ys({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const n=qe(qr),s=Oe(()=>e.route||n.value),o=qe(fs,0),c=Oe(()=>{let h=mt(o);const{matched:d}=s.value;let v;for(;(v=d[h])&&!v.components;)h++;return h}),a=Oe(()=>s.value.matched[c.value]);Gt(fs,Oe(()=>c.value+1)),Gt(Dl,a),Gt(qr,s);const i=ln();return Xt(()=>[i.value,a.value,e.name],([h,d,v],[b,k,K])=>{d&&(d.instances[v]=h,k&&k!==d&&h&&h===b&&(d.leaveGuards.size||(d.leaveGuards=k.leaveGuards),d.updateGuards.size||(d.updateGuards=k.updateGuards))),h&&d&&(!k||!_t(d,k)||!b)&&(d.enterCallbacks[v]||[]).forEach(W=>W(h))},{flush:"post"}),()=>{const h=s.value,d=e.name,v=a.value,b=v&&v.components[d];if(!b)return gs(r.default,{Component:b,route:h});const k=v.props[d],K=k?k===!0?h.params:typeof k=="function"?k(h):k:null,J=ho(b,de({},K,t,{onVnodeUnmounted:q=>{q.component.isUnmounted&&(v.instances[d]=null)},ref:i}));return gs(r.default,{Component:J,route:h})||J}}});function gs(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const Ao=Jl;function Yl(e){const t=El(e.routes,e),r=e.parseQuery||Bl,n=e.stringifyQuery||us,s=e.history,o=Ft(),c=Ft(),a=Ft(),i=hi(Qe);let h=Qe;dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Sr.bind(null,p=>""+p),v=Sr.bind(null,Hl),b=Sr.bind(null,ir);function k(p,x){let y,E;return mo(p)?(y=t.getRecordMatcher(p),E=x):E=p,t.addRoute(E,y)}function K(p){const x=t.getRecordMatcher(p);x&&t.removeRoute(x)}function W(){return t.getRoutes().map(p=>p.record)}function J(p){return!!t.getRecordMatcher(p)}function q(p,x){if(x=de({},x||i.value),typeof p=="string"){const m=Cr(r,p,x.path),w=t.resolve({path:m.path},x),A=s.createHref(m.fullPath);return de(m,w,{params:b(w.params),hash:ir(m.hash),redirectedFrom:void 0,href:A})}let y;if("path"in p)y=de({},p,{path:Cr(r,p.path,x.path).path});else{const m=de({},p.params);for(const w in m)m[w]==null&&delete m[w];y=de({},p,{params:v(m)}),x.params=v(x.params)}const E=t.resolve(y,x),H=p.hash||"";E.params=d(b(E.params));const l=Zc(n,de({},p,{hash:Ll(H),path:E.path})),f=s.createHref(l);return de({fullPath:l,hash:H,query:n===us?Kl(p.query):p.query||{}},E,{redirectedFrom:void 0,href:f})}function $(p){return typeof p=="string"?Cr(r,p,i.value.path):de({},p)}function X(p,x){if(h!==p)return Et(8,{from:x,to:p})}function V(p){return T(p)}function ae(p){return V(de($(p),{replace:!0}))}function _(p){const x=p.matched[p.matched.length-1];if(x&&x.redirect){const{redirect:y}=x;let E=typeof y=="function"?y(p):y;return typeof E=="string"&&(E=E.includes("?")||E.includes("#")?E=$(E):{path:E},E.params={}),de({query:p.query,hash:p.hash,params:"path"in E?{}:p.params},E)}}function T(p,x){const y=h=q(p),E=i.value,H=p.state,l=p.force,f=p.replace===!0,m=_(y);if(m)return T(de($(m),{state:typeof m=="object"?de({},H,m.state):H,force:l,replace:f}),x||y);const w=y;w.redirectedFrom=x;let A;return!l&&Gc(n,E,y)&&(A=Et(16,{to:w,from:E}),u(E,E,!0,!1)),(A?Promise.resolve(A):N(w,E)).catch(F=>ze(F)?ze(F,2)?F:ve(F):te(F,w,E)).then(F=>{if(F){if(ze(F,2))return T(de({replace:f},$(F.to),{state:typeof F.to=="object"?de({},H,F.to.state):H,force:l}),x||w)}else F=Z(w,E,!0,f,H);return O(w,E,F),F})}function D(p,x){const y=X(p,x);return y?Promise.reject(y):Promise.resolve()}function L(p){const x=I.values().next().value;return x&&typeof x.runWithContext=="function"?x.runWithContext(p):p()}function N(p,x){let y;const[E,H,l]=Ql(p,x);y=Fr(E.reverse(),"beforeRouteLeave",p,x);for(const m of E)m.leaveGuards.forEach(w=>{y.push(Ze(w,p,x))});const f=D.bind(null,p,x);return y.push(f),U(y).then(()=>{y=[];for(const m of o.list())y.push(Ze(m,p,x));return y.push(f),U(y)}).then(()=>{y=Fr(H,"beforeRouteUpdate",p,x);for(const m of H)m.updateGuards.forEach(w=>{y.push(Ze(w,p,x))});return y.push(f),U(y)}).then(()=>{y=[];for(const m of l)if(m.beforeEnter)if(Le(m.beforeEnter))for(const w of m.beforeEnter)y.push(Ze(w,p,x));else y.push(Ze(m.beforeEnter,p,x));return y.push(f),U(y)}).then(()=>(p.matched.forEach(m=>m.enterCallbacks={}),y=Fr(l,"beforeRouteEnter",p,x),y.push(f),U(y))).then(()=>{y=[];for(const m of c.list())y.push(Ze(m,p,x));return y.push(f),U(y)}).catch(m=>ze(m,8)?m:Promise.reject(m))}function O(p,x,y){a.list().forEach(E=>L(()=>E(p,x,y)))}function Z(p,x,y,E,H){const l=X(p,x);if(l)return l;const f=x===Qe,m=dt?history.state:{};y&&(E||f?s.replace(p.fullPath,de({scroll:f&&m&&m.scroll},H)):s.push(p.fullPath,H)),i.value=p,u(p,x,y,f),ve()}let S;function G(){S||(S=s.listen((p,x,y)=>{if(!R.listening)return;const E=q(p),H=_(E);if(H){T(de(H,{replace:!0}),E).catch(Lt);return}h=E;const l=i.value;dt&&cl(rs(l.fullPath,y.delta),xr()),N(E,l).catch(f=>ze(f,12)?f:ze(f,2)?(T(f.to,E).then(m=>{ze(m,20)&&!y.delta&&y.type===$t.pop&&s.go(-1,!1)}).catch(Lt),Promise.reject()):(y.delta&&s.go(-y.delta,!1),te(f,E,l))).then(f=>{f=f||Z(E,l,!1),f&&(y.delta&&!ze(f,8)?s.go(-y.delta,!1):y.type===$t.pop&&ze(f,20)&&s.go(-1,!1)),O(E,l,f)}).catch(Lt)}))}let ue=Ft(),ie=Ft(),ee;function te(p,x,y){ve(p);const E=ie.list();return E.length?E.forEach(H=>H(p,x,y)):console.error(p),Promise.reject(p)}function ne(){return ee&&i.value!==Qe?Promise.resolve():new Promise((p,x)=>{ue.add([p,x])})}function ve(p){return ee||(ee=!p,G(),ue.list().forEach(([x,y])=>p?y(p):x()),ue.reset()),p}function u(p,x,y,E){const{scrollBehavior:H}=e;if(!dt||!H)return Promise.resolve();const l=!y&&ll(rs(p.fullPath,0))||(E||!y)&&history.state&&history.state.scroll||null;return Ks().then(()=>H(p,x,l)).then(f=>f&&il(f)).catch(f=>te(f,p,x))}const g=p=>s.go(p);let C;const I=new Set,R={currentRoute:i,listening:!0,addRoute:k,removeRoute:K,hasRoute:J,getRoutes:W,resolve:q,options:e,push:V,replace:ae,go:g,back:()=>g(-1),forward:()=>g(1),beforeEach:o.add,beforeResolve:c.add,afterEach:a.add,onError:ie.add,isReady:ne,install(p){const x=this;p.component("RouterLink",Wl),p.component("RouterView",Ao),p.config.globalProperties.$router=x,Object.defineProperty(p.config.globalProperties,"$route",{enumerable:!0,get:()=>mt(i)}),dt&&!C&&i.value===Qe&&(C=!0,V(s.location).catch(H=>{}));const y={};for(const H in Qe)Object.defineProperty(y,H,{get:()=>i.value[H],enumerable:!0});p.provide(xn,x),p.provide(ko,Os(y)),p.provide(qr,i);const E=p.unmount;I.add(p),p.unmount=function(){I.delete(p),I.size<1&&(h=Qe,S&&S(),S=null,i.value=Qe,C=!1,ee=!1),E()}}};function U(p){return p.reduce((x,y)=>x.then(()=>L(y)),Promise.resolve())}return R}function Ql(e,t){const r=[],n=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let c=0;c_t(h,a))?n.push(a):r.push(a));const i=e.matched[c];i&&(t.matched.find(h=>_t(h,i))||s.push(i))}return[r,n,s]}const Xl=new Array(400).fill("0x1312").join(" "),ms=()=>Math.ceil(window.innerWidth/100)*Math.ceil(window.innerHeight/100),Zl={setup(){const e=ln(ms()),t=()=>setTimeout(()=>{e.value=ms()},10);return Zs(()=>{console.log("before mount"),window.addEventListener("resize",t)}),Gs(()=>{console.log("before unmount"),window.removeEventListener("resize",t)}),()=>be("div",{class:"ps-background"},[be("div",{id:"x1312",class:"ps-background--1312"},[Xl]),new Array(e.value).fill(null).map(()=>be("div",{class:"ps-background--logo ps-logo"},[be("img",{class:"ps-logo--base",src:`${window.globals.resourceUrl}/logo.svg`},null)]))])}},Gl={setup(){return()=>be(He,null,[be(Ao,null,null),be(Zl,null,null)])}},ea="modulepreload",ta=function(e){return"/"+e},vs={},ra=function(t,r,n){if(!r||r.length===0)return t();const s=document.getElementsByTagName("link");return Promise.all(r.map(o=>{if(o=ta(o),o in vs)return;vs[o]=!0;const c=o.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(!!n)for(let d=s.length-1;d>=0;d--){const v=s[d];if(v.href===o&&(!c||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const h=document.createElement("link");if(h.rel=c?"stylesheet":ea,c||(h.as="script",h.crossOrigin=""),h.href=o,document.head.appendChild(h),c)return new Promise((d,v)=>{h.addEventListener("load",d),h.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=o,window.dispatchEvent(c),!c.defaultPrevented)throw o})},na=Yl({history:dl("/"),routes:[{path:"/",name:"home",component:()=>ra(()=>import("./Home-7c18ddb3.js"),[])}]});var sa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function oa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ia(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:function(){return e[n]}})}),r}var br={};br.byteLength=aa;br.toByteArray=fa;br.fromByteArray=pa;var De=[],Fe=[],ca=typeof Uint8Array<"u"?Uint8Array:Array,Pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var ft=0,la=Pr.length;ft0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function aa(e){var t=Ro(e),r=t[0],n=t[1];return(r+n)*3/4-n}function ua(e,t,r){return(t+r)*3/4-r}function fa(e){var t,r=Ro(e),n=r[0],s=r[1],o=new ca(ua(e,n,s)),c=0,a=s>0?n-4:n,i;for(i=0;i>16&255,o[c++]=t>>8&255,o[c++]=t&255;return s===2&&(t=Fe[e.charCodeAt(i)]<<2|Fe[e.charCodeAt(i+1)]>>4,o[c++]=t&255),s===1&&(t=Fe[e.charCodeAt(i)]<<10|Fe[e.charCodeAt(i+1)]<<4|Fe[e.charCodeAt(i+2)]>>2,o[c++]=t>>8&255,o[c++]=t&255),o}function da(e){return De[e>>18&63]+De[e>>12&63]+De[e>>6&63]+De[e&63]}function ha(e,t,r){for(var n,s=[],o=t;oa?a:c+o));return n===1?(t=e[r-1],s.push(De[t>>2]+De[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],s.push(De[t>>10]+De[t>>4&63]+De[t<<2&63]+"=")),s.join("")}var So={exports:{}};const ga={},ma=Object.freeze(Object.defineProperty({__proto__:null,default:ga},Symbol.toStringTag,{value:"Module"})),xs=ia(ma);/** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.10.1 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2023 + * @license MIT + */(function(e){(function(){var t="input is invalid type",r=typeof window=="object",n=r?window:{};n.JS_SHA256_NO_WINDOW&&(r=!1);var s=!r&&typeof self=="object",o=!n.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=sa:s&&(n=self);var c=!n.JS_SHA256_NO_COMMON_JS&&!0&&e.exports,a=!n.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",i="0123456789abcdef".split(""),h=[-2147483648,8388608,32768,128],d=[24,16,8,0],v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b=["hex","array","digest","arrayBuffer"],k=[];(n.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(_){return Object.prototype.toString.call(_)==="[object Array]"}),a&&(n.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(_){return typeof _=="object"&&_.buffer&&_.buffer.constructor===ArrayBuffer});var K=function(_,T){return function(D){return new X(T,!0).update(D)[_]()}},W=function(_){var T=K("hex",_);o&&(T=J(T,_)),T.create=function(){return new X(_)},T.update=function(N){return T.create().update(N)};for(var D=0;D>2]|=_[N]<>2]|=L<>2]|=(192|L>>6)<>2]|=(128|L&63)<=57344?(S[O>>2]|=(224|L>>12)<>2]|=(128|L>>6&63)<>2]|=(128|L&63)<>2]|=(240|L>>18)<>2]|=(128|L>>12&63)<>2]|=(128|L>>6&63)<>2]|=(128|L&63)<=64?(this.block=S[16],this.start=O-64,this.hash(),this.hashed=!0):this.start=O}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},X.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var _=this.blocks,T=this.lastByteIndex;_[16]=this.block,_[T>>2]|=h[T&3],this.block=_[16],T>=56&&(this.hashed||this.hash(),_[0]=this.block,_[16]=_[1]=_[2]=_[3]=_[4]=_[5]=_[6]=_[7]=_[8]=_[9]=_[10]=_[11]=_[12]=_[13]=_[14]=_[15]=0),_[14]=this.hBytes<<3|this.bytes>>>29,_[15]=this.bytes<<3,this.hash()}},X.prototype.hash=function(){var _=this.h0,T=this.h1,D=this.h2,L=this.h3,N=this.h4,O=this.h5,Z=this.h6,S=this.h7,G=this.blocks,ue,ie,ee,te,ne,ve,u,g,C,I,R;for(ue=16;ue<64;++ue)ne=G[ue-15],ie=(ne>>>7|ne<<25)^(ne>>>18|ne<<14)^ne>>>3,ne=G[ue-2],ee=(ne>>>17|ne<<15)^(ne>>>19|ne<<13)^ne>>>10,G[ue]=G[ue-16]+ie+G[ue-7]+ee<<0;for(R=T&D,ue=0;ue<64;ue+=4)this.first?(this.is224?(g=300032,ne=G[0]-1413257819,S=ne-150054599<<0,L=ne+24177077<<0):(g=704751109,ne=G[0]-210244248,S=ne-1521486534<<0,L=ne+143694565<<0),this.first=!1):(ie=(_>>>2|_<<30)^(_>>>13|_<<19)^(_>>>22|_<<10),ee=(N>>>6|N<<26)^(N>>>11|N<<21)^(N>>>25|N<<7),g=_&T,te=g^_&D^R,u=N&O^~N&Z,ne=S+ee+u+v[ue]+G[ue],ve=ie+te,S=L+ne<<0,L=ne+ve<<0),ie=(L>>>2|L<<30)^(L>>>13|L<<19)^(L>>>22|L<<10),ee=(S>>>6|S<<26)^(S>>>11|S<<21)^(S>>>25|S<<7),C=L&_,te=C^L&T^g,u=S&N^~S&O,ne=Z+ee+u+v[ue+1]+G[ue+1],ve=ie+te,Z=D+ne<<0,D=ne+ve<<0,ie=(D>>>2|D<<30)^(D>>>13|D<<19)^(D>>>22|D<<10),ee=(Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7),I=D&L,te=I^D&_^C,u=Z&S^~Z&N,ne=O+ee+u+v[ue+2]+G[ue+2],ve=ie+te,O=T+ne<<0,T=ne+ve<<0,ie=(T>>>2|T<<30)^(T>>>13|T<<19)^(T>>>22|T<<10),ee=(O>>>6|O<<26)^(O>>>11|O<<21)^(O>>>25|O<<7),R=T&D,te=R^T&L^I,u=O&Z^~O&S,ne=N+ee+u+v[ue+3]+G[ue+3],ve=ie+te,N=_+ne<<0,_=ne+ve<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+_<<0,this.h1=this.h1+T<<0,this.h2=this.h2+D<<0,this.h3=this.h3+L<<0,this.h4=this.h4+N<<0,this.h5=this.h5+O<<0,this.h6=this.h6+Z<<0,this.h7=this.h7+S<<0},X.prototype.hex=function(){this.finalize();var _=this.h0,T=this.h1,D=this.h2,L=this.h3,N=this.h4,O=this.h5,Z=this.h6,S=this.h7,G=i[_>>28&15]+i[_>>24&15]+i[_>>20&15]+i[_>>16&15]+i[_>>12&15]+i[_>>8&15]+i[_>>4&15]+i[_&15]+i[T>>28&15]+i[T>>24&15]+i[T>>20&15]+i[T>>16&15]+i[T>>12&15]+i[T>>8&15]+i[T>>4&15]+i[T&15]+i[D>>28&15]+i[D>>24&15]+i[D>>20&15]+i[D>>16&15]+i[D>>12&15]+i[D>>8&15]+i[D>>4&15]+i[D&15]+i[L>>28&15]+i[L>>24&15]+i[L>>20&15]+i[L>>16&15]+i[L>>12&15]+i[L>>8&15]+i[L>>4&15]+i[L&15]+i[N>>28&15]+i[N>>24&15]+i[N>>20&15]+i[N>>16&15]+i[N>>12&15]+i[N>>8&15]+i[N>>4&15]+i[N&15]+i[O>>28&15]+i[O>>24&15]+i[O>>20&15]+i[O>>16&15]+i[O>>12&15]+i[O>>8&15]+i[O>>4&15]+i[O&15]+i[Z>>28&15]+i[Z>>24&15]+i[Z>>20&15]+i[Z>>16&15]+i[Z>>12&15]+i[Z>>8&15]+i[Z>>4&15]+i[Z&15];return this.is224||(G+=i[S>>28&15]+i[S>>24&15]+i[S>>20&15]+i[S>>16&15]+i[S>>12&15]+i[S>>8&15]+i[S>>4&15]+i[S&15]),G},X.prototype.toString=X.prototype.hex,X.prototype.digest=function(){this.finalize();var _=this.h0,T=this.h1,D=this.h2,L=this.h3,N=this.h4,O=this.h5,Z=this.h6,S=this.h7,G=[_>>24&255,_>>16&255,_>>8&255,_&255,T>>24&255,T>>16&255,T>>8&255,T&255,D>>24&255,D>>16&255,D>>8&255,D&255,L>>24&255,L>>16&255,L>>8&255,L&255,N>>24&255,N>>16&255,N>>8&255,N&255,O>>24&255,O>>16&255,O>>8&255,O&255,Z>>24&255,Z>>16&255,Z>>8&255,Z&255];return this.is224||G.push(S>>24&255,S>>16&255,S>>8&255,S&255),G},X.prototype.array=X.prototype.digest,X.prototype.arrayBuffer=function(){this.finalize();var _=new ArrayBuffer(this.is224?28:32),T=new DataView(_);return T.setUint32(0,this.h0),T.setUint32(4,this.h1),T.setUint32(8,this.h2),T.setUint32(12,this.h3),T.setUint32(16,this.h4),T.setUint32(20,this.h5),T.setUint32(24,this.h6),this.is224||T.setUint32(28,this.h7),_};function V(_,T,D){var L,N=typeof _;if(N==="string"){var O=[],Z=_.length,S=0,G;for(L=0;L>6,O[S++]=128|G&63):G<55296||G>=57344?(O[S++]=224|G>>12,O[S++]=128|G>>6&63,O[S++]=128|G&63):(G=65536+((G&1023)<<10|_.charCodeAt(++L)&1023),O[S++]=240|G>>18,O[S++]=128|G>>12&63,O[S++]=128|G>>6&63,O[S++]=128|G&63);_=O}else if(N==="object"){if(_===null)throw new Error(t);if(a&&_.constructor===ArrayBuffer)_=new Uint8Array(_);else if(!Array.isArray(_)&&(!a||!ArrayBuffer.isView(_)))throw new Error(t)}else throw new Error(t);_.length>64&&(_=new X(T,!0).update(_).array());var ue=[],ie=[];for(L=0;L<64;++L){var ee=_[L]||0;ue[L]=92^ee,ie[L]=54^ee}X.call(this,T,D),this.update(ie),this.oKeyPad=ue,this.inner=!0,this.sharedMemory=D}V.prototype=new X,V.prototype.finalize=function(){if(X.prototype.finalize.call(this),this.inner){this.inner=!1;var _=this.array();X.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(_),X.prototype.finalize.call(this)}};var ae=W();ae.sha256=ae,ae.sha224=W(!0),ae.sha256.hmac=$(),ae.sha224.hmac=$(!0),c?e.exports=ae:(n.sha256=ae.sha256,n.sha224=ae.sha224)})()})(So);var va=So.exports;const xa=oa(va);class Tt extends Error{}Tt.prototype.name="InvalidTokenError";function ba(e){return decodeURIComponent(atob(e).replace(/(.)/g,(t,r)=>{let n=r.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}function ya(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return ba(t)}catch{return atob(t)}}function Ir(e,t){if(typeof e!="string")throw new Tt("Invalid token specified: must be a string");t||(t={});const r=t.header===!0?0:1,n=e.split(".")[r];if(typeof n!="string")throw new Tt(`Invalid token specified: missing part #${r+1}`);let s;try{s=ya(n)}catch(o){throw new Tt(`Invalid token specified: invalid base64 for part #${r+1} (${o.message})`)}try{return JSON.parse(s)}catch(o){throw new Tt(`Invalid token specified: invalid json for part #${r+1} (${o.message})`)}}if(typeof Promise>"u")throw Error("Keycloak requires an environment that supports Promises. Make sure that you include the appropriate polyfill.");function Co(e){if(!(this instanceof Co))throw new Error("The 'Keycloak' constructor must be invoked with 'new'.");for(var t=this,r,n=[],s,o={enable:!0,callbackList:[],interval:5},c=document.getElementsByTagName("script"),a=0;a-1?r=ie(u.adapter):u&&typeof u.adapter=="object"?r=u.adapter:window.Cordova||window.cordova?r=ie("cordova"):r=ie(),u){if(typeof u.useNonce<"u"&&(i=u.useNonce),typeof u.checkLoginIframe<"u"&&(o.enable=u.checkLoginIframe),u.checkLoginIframeInterval&&(o.interval=u.checkLoginIframeInterval),u.onLoad==="login-required"&&(t.loginRequired=!0),u.responseMode)if(u.responseMode==="query"||u.responseMode==="fragment")t.responseMode=u.responseMode;else throw"Invalid value for responseMode";if(u.flow){switch(u.flow){case"standard":t.responseType="code";break;case"implicit":t.responseType="id_token token";break;case"hybrid":t.responseType="code id_token token";break;default:throw"Invalid value for flow"}t.flow=u.flow}if(u.timeSkew!=null&&(t.timeSkew=u.timeSkew),u.redirectUri&&(t.redirectUri=u.redirectUri),u.silentCheckSsoRedirectUri&&(t.silentCheckSsoRedirectUri=u.silentCheckSsoRedirectUri),typeof u.silentCheckSsoFallback=="boolean"?t.silentCheckSsoFallback=u.silentCheckSsoFallback:t.silentCheckSsoFallback=!0,u.pkceMethod){if(u.pkceMethod!=="S256")throw"Invalid value for pkceMethod";t.pkceMethod=u.pkceMethod}typeof u.enableLogging=="boolean"?t.enableLogging=u.enableLogging:t.enableLogging=!1,typeof u.scope=="string"&&(t.scope=u.scope),typeof u.acrValues=="string"&&(t.acrValues=u.acrValues),typeof u.messageReceiveTimeout=="number"&&u.messageReceiveTimeout>0?t.messageReceiveTimeout=u.messageReceiveTimeout:t.messageReceiveTimeout=1e4}t.responseMode||(t.responseMode="fragment"),t.responseType||(t.responseType="code",t.flow="standard");var C=N(),I=N();I.promise.then(function(){t.onReady&&t.onReady(t.authenticated),C.setSuccess(t.authenticated)}).catch(function(y){C.setError(y)});var R=X();function U(){var y=function(l){l||(H.prompt="none"),u&&u.locale&&(H.locale=u.locale),t.login(H).then(function(){I.setSuccess()}).catch(function(f){I.setError(f)})},E=function(){var l=document.createElement("iframe"),f=t.createLoginUrl({prompt:"none",redirectUri:t.silentCheckSsoRedirectUri});l.setAttribute("src",f),l.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),l.setAttribute("title","keycloak-silent-check-sso"),l.style.display="none",document.body.appendChild(l);var m=function(w){if(!(w.origin!==window.location.origin||l.contentWindow!==w.source)){var A=T(w.data);$(A,I),document.body.removeChild(l),window.removeEventListener("message",m)}};window.addEventListener("message",m)},H={};switch(u.onLoad){case"check-sso":o.enable?Z().then(function(){G().then(function(l){l?I.setSuccess():t.silentCheckSsoRedirectUri?E():y(!1)}).catch(function(l){I.setError(l)})}):t.silentCheckSsoRedirectUri?E():y(!1);break;case"login-required":y(!0);break;default:throw"Invalid value for onLoad"}}function p(){var y=T(window.location.href);if(y&&window.history.replaceState(window.history.state,null,y.newUrl),y&&y.valid)return Z().then(function(){$(y,I)}).catch(function(E){I.setError(E)});u?u.token&&u.refreshToken?(ae(u.token,u.refreshToken,u.idToken),o.enable?Z().then(function(){G().then(function(E){E?(t.onAuthSuccess&&t.onAuthSuccess(),I.setSuccess(),S()):I.setSuccess()}).catch(function(E){I.setError(E)})}):t.updateToken(-1).then(function(){t.onAuthSuccess&&t.onAuthSuccess(),I.setSuccess()}).catch(function(E){t.onAuthError&&t.onAuthError(),u.onLoad?U():I.setError(E)})):u.onLoad?U():I.setSuccess():I.setSuccess()}function x(){var y=N(),E=function(){(document.readyState==="interactive"||document.readyState==="complete")&&(document.removeEventListener("readystatechange",E),y.setSuccess())};return document.addEventListener("readystatechange",E),E(),y.promise}return R.then(function(){x().then(ue).then(p).catch(function(y){C.setError(y)})}),R.catch(function(y){C.setError(y)}),C.promise},t.login=function(u){return r.login(u)};function v(u){var g=null,C=window.crypto||window.msCrypto;if(C&&C.getRandomValues&&window.Uint8Array)return g=new Uint8Array(u),C.getRandomValues(g),g;g=new Array(u);for(var I=0;I=0},t.hasResourceRole=function(u,g){if(!t.resourceAccess)return!1;var C=t.resourceAccess[g||t.clientId];return!!C&&C.roles.indexOf(u)>=0},t.loadUserProfile=function(){var u=J()+"/account",g=new XMLHttpRequest;g.open("GET",u,!0),g.setRequestHeader("Accept","application/json"),g.setRequestHeader("Authorization","bearer "+t.token);var C=N();return g.onreadystatechange=function(){g.readyState==4&&(g.status==200?(t.profile=JSON.parse(g.responseText),C.setSuccess(t.profile)):C.setError())},g.send(),C.promise},t.loadUserInfo=function(){var u=t.endpoints.userinfo(),g=new XMLHttpRequest;g.open("GET",u,!0),g.setRequestHeader("Accept","application/json"),g.setRequestHeader("Authorization","bearer "+t.token);var C=N();return g.onreadystatechange=function(){g.readyState==4&&(g.status==200?(t.userInfo=JSON.parse(g.responseText),C.setSuccess(t.userInfo)):C.setError())},g.send(),C.promise},t.isTokenExpired=function(u){if(!t.tokenParsed||!t.refreshToken&&t.flow!="implicit")throw"Not authenticated";if(t.timeSkew==null)return h("[KEYCLOAK] Unable to determine if token is expired as timeskew is not set"),!0;var g=t.tokenParsed.exp-Math.ceil(new Date().getTime()/1e3)+t.timeSkew;if(u){if(isNaN(u))throw"Invalid minValidity";g-=u}return g<0},t.updateToken=function(u){var g=N();if(!t.refreshToken)return g.setError(),g.promise;u=u||5;var C=function(){var R=!1;if(u==-1?(R=!0,h("[KEYCLOAK] Refreshing token: forced refresh")):(!t.tokenParsed||t.isTokenExpired(u))&&(R=!0,h("[KEYCLOAK] Refreshing token: token expired")),!R)g.setSuccess(!1);else{var U="grant_type=refresh_token&refresh_token="+t.refreshToken,p=t.endpoints.token();if(n.push(g),n.length==1){var x=new XMLHttpRequest;x.open("POST",p,!0),x.setRequestHeader("Content-type","application/x-www-form-urlencoded"),x.withCredentials=!0,U+="&client_id="+encodeURIComponent(t.clientId);var y=new Date().getTime();x.onreadystatechange=function(){if(x.readyState==4)if(x.status==200){h("[KEYCLOAK] Token refreshed"),y=(y+new Date().getTime())/2;var E=JSON.parse(x.responseText);ae(E.access_token,E.refresh_token,E.id_token,y),t.onAuthRefreshSuccess&&t.onAuthRefreshSuccess();for(var H=n.pop();H!=null;H=n.pop())H.setSuccess(!0)}else{d("[KEYCLOAK] Failed to refresh token"),x.status==400&&t.clearToken(),t.onAuthRefreshError&&t.onAuthRefreshError();for(var H=n.pop();H!=null;H=n.pop())H.setError(!0)}},x.send(U)}}};if(o.enable){var I=G();I.then(function(){C()}).catch(function(R){g.setError(R)})}else C();return g.promise},t.clearToken=function(){t.token&&(ae(null,null,null),t.onAuthLogout&&t.onAuthLogout(),t.loginRequired&&t.login())};function J(){if(typeof t.authServerUrl<"u")return t.authServerUrl.charAt(t.authServerUrl.length-1)=="/"?t.authServerUrl+"realms/"+encodeURIComponent(t.realm):t.authServerUrl+"/realms/"+encodeURIComponent(t.realm)}function q(){return window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")}function $(u,g){var C=u.code,I=u.error,R=u.prompt,U=new Date().getTime();if(u.kc_action_status&&t.onActionUpdate&&t.onActionUpdate(u.kc_action_status),I){if(R!="none"){var p={error:I,error_description:u.error_description};t.onAuthError&&t.onAuthError(p),g&&g.setError(p)}else g&&g.setSuccess();return}else t.flow!="standard"&&(u.access_token||u.id_token)&&H(u.access_token,null,u.id_token,!0);if(t.flow!="implicit"&&C){var x="code="+C+"&grant_type=authorization_code",y=t.endpoints.token(),E=new XMLHttpRequest;E.open("POST",y,!0),E.setRequestHeader("Content-type","application/x-www-form-urlencoded"),x+="&client_id="+encodeURIComponent(t.clientId),x+="&redirect_uri="+u.redirectUri,u.pkceCodeVerifier&&(x+="&code_verifier="+u.pkceCodeVerifier),E.withCredentials=!0,E.onreadystatechange=function(){if(E.readyState==4)if(E.status==200){var l=JSON.parse(E.responseText);H(l.access_token,l.refresh_token,l.id_token,t.flow==="standard"),S()}else t.onAuthError&&t.onAuthError(),g&&g.setError()},E.send(x)}function H(l,f,m,w){U=(U+new Date().getTime())/2,ae(l,f,m,U),i&&(t.tokenParsed&&t.tokenParsed.nonce!=u.storedNonce||t.refreshTokenParsed&&t.refreshTokenParsed.nonce!=u.storedNonce||t.idTokenParsed&&t.idTokenParsed.nonce!=u.storedNonce)?(h("[KEYCLOAK] Invalid nonce, clearing token"),t.clearToken(),g&&g.setError()):w&&(t.onAuthSuccess&&t.onAuthSuccess(),g&&g.setSuccess())}}function X(u){var g=N(),C;e?typeof e=="string"&&(C=e):C="keycloak.json";function I(E){E?t.endpoints={authorize:function(){return E.authorization_endpoint},token:function(){return E.token_endpoint},logout:function(){if(!E.end_session_endpoint)throw"Not supported by the OIDC server";return E.end_session_endpoint},checkSessionIframe:function(){if(!E.check_session_iframe)throw"Not supported by the OIDC server";return E.check_session_iframe},register:function(){throw'Redirection to "Register user" page not supported in standard OIDC mode'},userinfo:function(){if(!E.userinfo_endpoint)throw"Not supported by the OIDC server";return E.userinfo_endpoint}}:t.endpoints={authorize:function(){return J()+"/protocol/openid-connect/auth"},token:function(){return J()+"/protocol/openid-connect/token"},logout:function(){return J()+"/protocol/openid-connect/logout"},checkSessionIframe:function(){var H=J()+"/protocol/openid-connect/login-status-iframe.html";return t.iframeVersion&&(H=H+"?version="+t.iframeVersion),H},thirdPartyCookiesIframe:function(){var H=J()+"/protocol/openid-connect/3p-cookies/step1.html";return t.iframeVersion&&(H=H+"?version="+t.iframeVersion),H},register:function(){return J()+"/protocol/openid-connect/registrations"},userinfo:function(){return J()+"/protocol/openid-connect/userinfo"}}}if(C){var R=new XMLHttpRequest;R.open("GET",C,!0),R.setRequestHeader("Accept","application/json"),R.onreadystatechange=function(){if(R.readyState==4)if(R.status==200||V(R)){var E=JSON.parse(R.responseText);t.authServerUrl=E["auth-server-url"],t.realm=E.realm,t.clientId=E.resource,I(null),g.setSuccess()}else g.setError()},R.send()}else{if(!e.clientId)throw"clientId missing";t.clientId=e.clientId;var U=e.oidcProvider;if(U)if(typeof U=="string"){var y;U.charAt(U.length-1)=="/"?y=U+".well-known/openid-configuration":y=U+"/.well-known/openid-configuration";var R=new XMLHttpRequest;R.open("GET",y,!0),R.setRequestHeader("Accept","application/json"),R.onreadystatechange=function(){if(R.readyState==4)if(R.status==200||V(R)){var H=JSON.parse(R.responseText);I(H),g.setSuccess()}else g.setError()},R.send()}else I(U),g.setSuccess();else{if(!e.url){for(var p=document.getElementsByTagName("script"),x=0;x=0;--p){var x=U[p];R.data=="error"?x.setError():x.setSuccess(R.data=="unchanged")}}};return window.addEventListener("message",I,!1),u.promise}function S(){o.enable&&t.token&&setTimeout(function(){G().then(function(u){u&&S()})},o.interval*1e3)}function G(){var u=N();if(o.iframe&&o.iframeOrigin){var g=t.clientId+" "+(t.sessionId?t.sessionId:"");o.callbackList.push(u);var C=o.iframeOrigin;o.callbackList.length==1&&o.iframe.contentWindow.postMessage(g,C)}else u.setSuccess();return u.promise}function ue(){var u=N();if(o.enable||t.silentCheckSsoRedirectUri){var g=document.createElement("iframe");g.setAttribute("src",t.endpoints.thirdPartyCookiesIframe()),g.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),g.setAttribute("title","keycloak-3p-check-iframe"),g.style.display="none",document.body.appendChild(g);var C=function(I){g.contentWindow===I.source&&(I.data!=="supported"&&I.data!=="unsupported"||(I.data==="unsupported"&&(d(`[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means: + + - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication). + - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab). + +For more information see: https://www.keycloak.org/docs/latest/securing_apps/#_modern_browsers`),o.enable=!1,t.silentCheckSsoFallback&&(t.silentCheckSsoRedirectUri=!1)),document.body.removeChild(g),window.removeEventListener("message",C),u.setSuccess()))};window.addEventListener("message",C,!1)}else u.setSuccess();return O(u.promise,t.messageReceiveTimeout,"Timeout when waiting for 3rd party check iframe message.")}function ie(u){if(!u||u=="default")return{login:function(p){return window.location.assign(t.createLoginUrl(p)),N().promise},logout:function(p){return window.location.replace(t.createLogoutUrl(p)),N().promise},register:function(p){return window.location.assign(t.createRegisterUrl(p)),N().promise},accountManagement:function(){var p=t.createAccountUrl();if(typeof p<"u")window.location.href=p;else throw"Not supported by the OIDC server";return N().promise},redirectUri:function(p,x){return p&&p.redirectUri?p.redirectUri:t.redirectUri?t.redirectUri:location.href}};if(u=="cordova"){o.enable=!1;var g=function(p,x,y){return window.cordova&&window.cordova.InAppBrowser?window.cordova.InAppBrowser.open(p,x,y):window.open(p,x,y)},C=function(p){return p&&p.cordovaOptions?Object.keys(p.cordovaOptions).reduce(function(x,y){return x[y]=p.cordovaOptions[y],x},{}):{}},I=function(p){return Object.keys(p).reduce(function(x,y){return x.push(y+"="+p[y]),x},[]).join(",")},R=function(p){var x=C(p);return x.location="no",p&&p.prompt=="none"&&(x.hidden="yes"),I(x)},U=function(){return t.redirectUri||"http://localhost"};return{login:function(p){var x=N(),y=R(p),E=t.createLoginUrl(p),H=g(E,"_blank",y),l=!1,f=!1,m=function(){f=!0,H.close()};return H.addEventListener("loadstart",function(w){if(w.url.indexOf(U())==0){var A=T(w.url);$(A,x),m(),l=!0}}),H.addEventListener("loaderror",function(w){if(!l)if(w.url.indexOf(U())==0){var A=T(w.url);$(A,x),m(),l=!0}else x.setError(),m()}),H.addEventListener("exit",function(w){f||x.setError({reason:"closed_by_user"})}),x.promise},logout:function(p){var x=N(),y=t.createLogoutUrl(p),E=g(y,"_blank","location=no,hidden=yes,clearcache=yes"),H;return E.addEventListener("loadstart",function(l){l.url.indexOf(U())==0&&E.close()}),E.addEventListener("loaderror",function(l){l.url.indexOf(U())==0||(H=!0),E.close()}),E.addEventListener("exit",function(l){H?x.setError():(t.clearToken(),x.setSuccess())}),x.promise},register:function(p){var x=N(),y=t.createRegisterUrl(),E=R(p),H=g(y,"_blank",E);return H.addEventListener("loadstart",function(l){if(l.url.indexOf(U())==0){H.close();var f=T(l.url);$(f,x)}}),x.promise},accountManagement:function(){var p=t.createAccountUrl();if(typeof p<"u"){var x=g(p,"_blank","location=no");x.addEventListener("loadstart",function(y){y.url.indexOf(U())==0&&x.close()})}else throw"Not supported by the OIDC server"},redirectUri:function(p){return U()}}}if(u=="cordova-native")return o.enable=!1,{login:function(p){var x=N(),y=t.createLoginUrl(p);return universalLinks.subscribe("keycloak",function(E){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close();var H=T(E.url);$(H,x)}),window.cordova.plugins.browsertab.openUrl(y),x.promise},logout:function(p){var x=N(),y=t.createLogoutUrl(p);return universalLinks.subscribe("keycloak",function(E){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),t.clearToken(),x.setSuccess()}),window.cordova.plugins.browsertab.openUrl(y),x.promise},register:function(p){var x=N(),y=t.createRegisterUrl(p);return universalLinks.subscribe("keycloak",function(E){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close();var H=T(E.url);$(H,x)}),window.cordova.plugins.browsertab.openUrl(y),x.promise},accountManagement:function(){var p=t.createAccountUrl();if(typeof p<"u")window.cordova.plugins.browsertab.openUrl(p);else throw"Not supported by the OIDC server"},redirectUri:function(p){return p&&p.redirectUri?p.redirectUri:t.redirectUri?t.redirectUri:"http://localhost"}};throw"invalid adapter type: "+u}var ee=function(){if(!(this instanceof ee))return new ee;localStorage.setItem("kc-test","test"),localStorage.removeItem("kc-test");var u=this;function g(){for(var C=new Date().getTime(),I=0;I{try{const r=await wa.init({onLoad:"check-sso",silentCheckSsoRedirectUri:`${location.origin}/silent-check-sso.html`,pkceMethod:"S256"});console.log(`User is ${r?"authenticated":"not authenticated"}`),e(r)}catch(r){console.error("Failed to initialize adapter:",r),t(r)}}),bn=zc(Gl);bn.use(Jc());bn.use(na);bn.mount("#app");console.log(_a);export{be as c}; diff --git a/account/resources/assets/index-9c371cad.css b/account/resources/assets/index-9c371cad.css new file mode 100644 index 0000000..fa08cb2 --- /dev/null +++ b/account/resources/assets/index-9c371cad.css @@ -0,0 +1 @@ +:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media (prefers-color-scheme: dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s}@media (hover: hover){a:hover{background-color:#00bd7e33}}@media (min-width: 1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}.ps-background{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;speak:none;position:fixed;top:0;left:0;height:100vh;width:100vw;overflow:hidden}.ps-background--logo{width:100px;margin:.1rem;z-index:2}.ps-background--1312{transform:rotate(34deg);transform-origin:center center;color:#eee;position:fixed;z-index:1;top:-50vh;left:-50vw;font-weight:900;font-size:7rem;line-height:6rem;width:200vw;height:200vh}.ps-logo{display:flex;align-items:center;justify-content:center;position:relative;z-index:1;width:100px}.ps-logo--base{animation-name:rotate;animation-duration:.3s;animation-timing-function:linear;animation-play-state:paused;animation-iteration-count:infinite}.ps-logo--base:hover{animation-play-state:running}.ps-logo:nth-child(2n) .ps-logo--base{animation-delay:-.1s}.ps-logo:nth-child(3n) .ps-logo--base{animation-delay:-.3s}.ps-logo:nth-child(5n) .ps-logo--base{animation-delay:-.5s}.ps-logo:nth-child(7n) .ps-logo--base{animation-delay:-7s}.ps-logo:nth-child(11n) .ps-logo--base{animation-delay:-.9s}.ps-logo:nth-child(13n) .ps-logo--base{animation-delay:-1s}.ps-logo--base:before{position:absolute;display:block;content:"";width:100%;height:100%;border-radius:50%}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}} diff --git a/account/resources/assets/index-f6484dd5.js b/account/resources/assets/index-f6484dd5.js new file mode 100644 index 0000000..d764718 --- /dev/null +++ b/account/resources/assets/index-f6484dd5.js @@ -0,0 +1,21 @@ +(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))n(s);new MutationObserver(s=>{for(const o of s)if(o.type==="childList")for(const c of o.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function r(s){const o={};return s.integrity&&(o.integrity=s.integrity),s.referrerPolicy&&(o.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?o.credentials="include":s.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}function n(s){if(s.ep)return;s.ep=!0;const o=r(s);fetch(s.href,o)}})();function Jr(e,t){const r=Object.create(null),n=e.split(",");for(let s=0;s!!r[s.toLowerCase()]:s=>!!r[s]}const ge={},Ot=[],Ue=()=>{},Fo=()=>!1,cr=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),Yr=e=>e.startsWith("onUpdate:"),ye=Object.assign,Qr=(e,t)=>{const r=e.indexOf(t);r>-1&&e.splice(r,1)},Po=Object.prototype.hasOwnProperty,le=(e,t)=>Po.call(e,t),se=Array.isArray,Ut=e=>ar(e)==="[object Map]",Io=e=>ar(e)==="[object Set]",oe=e=>typeof e=="function",we=e=>typeof e=="string",lr=e=>typeof e=="symbol",me=e=>e!==null&&typeof e=="object",bs=e=>(me(e)||oe(e))&&oe(e.then)&&oe(e.catch),To=Object.prototype.toString,ar=e=>To.call(e),Oo=e=>ar(e).slice(8,-1),Uo=e=>ar(e)==="[object Object]",Xr=e=>we(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,Qt=Jr(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),ur=e=>{const t=Object.create(null);return r=>t[r]||(t[r]=e(r))},Mo=/-(\w)/g,xt=ur(e=>e.replace(Mo,(t,r)=>r?r.toUpperCase():"")),Lo=/\B([A-Z])/g,kt=ur(e=>e.replace(Lo,"-$1").toLowerCase()),ys=ur(e=>e.charAt(0).toUpperCase()+e.slice(1)),yr=ur(e=>e?`on${ys(e)}`:""),lt=(e,t)=>!Object.is(e,t),wr=(e,t)=>{for(let r=0;r{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:r})},No=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let En;const Tr=()=>En||(En=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{});function Zr(e){if(se(e)){const t={};for(let r=0;r{if(r){const n=r.split(Ho);n.length>1&&(t[n[0].trim()]=n[1].trim())}}),t}function Gr(e){let t="";if(we(e))t=e;else if(se(e))for(let r=0;r{const t=new Set(e);return t.w=0,t.n=0,t},Es=e=>(e.w&tt)>0,ks=e=>(e.n&tt)>0,qo=({deps:e})=>{if(e.length)for(let t=0;t{const{deps:t}=e;if(t.length){let r=0;for(let n=0;n{(d==="length"||!lr(d)&&d>=i)&&a.push(h)})}else switch(r!==void 0&&a.push(c.get(r)),t){case"add":se(e)?Xr(r)&&a.push(c.get("length")):(a.push(c.get(it)),Ut(e)&&a.push(c.get(Mr)));break;case"delete":se(e)||(a.push(c.get(it)),Ut(e)&&a.push(c.get(Mr)));break;case"set":Ut(e)&&a.push(c.get(it));break}if(a.length===1)a[0]&&Lr(a[0]);else{const i=[];for(const h of a)h&&i.push(...h);Lr(en(i))}}function Lr(e,t){const r=se(e)?e:[...e];for(const n of r)n.computed&&An(n);for(const n of r)n.computed||An(n)}function An(e,t){(e!==Te||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const Yo=Jr("__proto__,__v_isRef,__isVue"),Ss=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(lr)),Rn=Qo();function Qo(){const e={};return["includes","indexOf","lastIndexOf"].forEach(t=>{e[t]=function(...r){const n=fe(this);for(let o=0,c=this.length;o{e[t]=function(...r){At();const n=fe(this)[t].apply(this,r);return Rt(),n}}),e}function Xo(e){const t=fe(this);return Se(t,"has",e),t.hasOwnProperty(e)}class Cs{constructor(t=!1,r=!1){this._isReadonly=t,this._shallow=r}get(t,r,n){const s=this._isReadonly,o=this._shallow;if(r==="__v_isReactive")return!s;if(r==="__v_isReadonly")return s;if(r==="__v_isShallow")return o;if(r==="__v_raw"&&n===(s?o?ui:Ts:o?Is:Ps).get(t))return t;const c=se(t);if(!s){if(c&&le(Rn,r))return Reflect.get(Rn,r,n);if(r==="hasOwnProperty")return Xo}const a=Reflect.get(t,r,n);return(lr(r)?Ss.has(r):Yo(r))||(s||Se(t,"get",r),o)?a:ke(a)?c&&Xr(r)?a:a.value:me(a)?s?Us(a):dr(a):a}}class Fs extends Cs{constructor(t=!1){super(!1,t)}set(t,r,n,s){let o=t[r];if(bt(o)&&ke(o)&&!ke(n))return!1;if(!this._shallow&&(!rr(n)&&!bt(n)&&(o=fe(o),n=fe(n)),!se(t)&&ke(o)&&!ke(n)))return o.value=n,!0;const c=se(t)&&Xr(r)?Number(r)e,fr=e=>Reflect.getPrototypeOf(e);function zt(e,t,r=!1,n=!1){e=e.__v_raw;const s=fe(e),o=fe(t);r||(lt(t,o)&&Se(s,"get",t),Se(s,"get",o));const{has:c}=fr(s),a=n?rn:r?cn:jt;if(c.call(s,t))return a(e.get(t));if(c.call(s,o))return a(e.get(o));e!==s&&e.get(t)}function Wt(e,t=!1){const r=this.__v_raw,n=fe(r),s=fe(e);return t||(lt(e,s)&&Se(n,"has",e),Se(n,"has",s)),e===s?r.has(e):r.has(e)||r.has(s)}function Vt(e,t=!1){return e=e.__v_raw,!t&&Se(fe(e),"iterate",it),Reflect.get(e,"size",e)}function Sn(e){e=fe(e);const t=fe(this);return fr(t).has.call(t,e)||(t.add(e),Ve(t,"add",e,e)),this}function Cn(e,t){t=fe(t);const r=fe(this),{has:n,get:s}=fr(r);let o=n.call(r,e);o||(e=fe(e),o=n.call(r,e));const c=s.call(r,e);return r.set(e,t),o?lt(t,c)&&Ve(r,"set",e,t):Ve(r,"add",e,t),this}function Fn(e){const t=fe(this),{has:r,get:n}=fr(t);let s=r.call(t,e);s||(e=fe(e),s=r.call(t,e)),n&&n.call(t,e);const o=t.delete(e);return s&&Ve(t,"delete",e,void 0),o}function Pn(){const e=fe(this),t=e.size!==0,r=e.clear();return t&&Ve(e,"clear",void 0,void 0),r}function qt(e,t){return function(n,s){const o=this,c=o.__v_raw,a=fe(c),i=t?rn:e?cn:jt;return!e&&Se(a,"iterate",it),c.forEach((h,d)=>n.call(s,i(h),i(d),o))}}function Jt(e,t,r){return function(...n){const s=this.__v_raw,o=fe(s),c=Ut(o),a=e==="entries"||e===Symbol.iterator&&c,i=e==="keys"&&c,h=s[e](...n),d=r?rn:t?cn:jt;return!t&&Se(o,"iterate",i?Mr:it),{next(){const{value:v,done:b}=h.next();return b?{value:v,done:b}:{value:a?[d(v[0]),d(v[1])]:d(v),done:b}},[Symbol.iterator](){return this}}}}function Ye(e){return function(...t){return e==="delete"?!1:e==="clear"?void 0:this}}function ri(){const e={get(o){return zt(this,o)},get size(){return Vt(this)},has:Wt,add:Sn,set:Cn,delete:Fn,clear:Pn,forEach:qt(!1,!1)},t={get(o){return zt(this,o,!1,!0)},get size(){return Vt(this)},has:Wt,add:Sn,set:Cn,delete:Fn,clear:Pn,forEach:qt(!1,!0)},r={get(o){return zt(this,o,!0)},get size(){return Vt(this,!0)},has(o){return Wt.call(this,o,!0)},add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear"),forEach:qt(!0,!1)},n={get(o){return zt(this,o,!0,!0)},get size(){return Vt(this,!0)},has(o){return Wt.call(this,o,!0)},add:Ye("add"),set:Ye("set"),delete:Ye("delete"),clear:Ye("clear"),forEach:qt(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach(o=>{e[o]=Jt(o,!1,!1),r[o]=Jt(o,!0,!1),t[o]=Jt(o,!1,!0),n[o]=Jt(o,!0,!0)}),[e,r,t,n]}const[ni,si,oi,ii]=ri();function nn(e,t){const r=t?e?ii:oi:e?si:ni;return(n,s,o)=>s==="__v_isReactive"?!e:s==="__v_isReadonly"?e:s==="__v_raw"?n:Reflect.get(le(r,s)&&s in n?r:n,s,o)}const ci={get:nn(!1,!1)},li={get:nn(!1,!0)},ai={get:nn(!0,!1)},Ps=new WeakMap,Is=new WeakMap,Ts=new WeakMap,ui=new WeakMap;function fi(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function di(e){return e.__v_skip||!Object.isExtensible(e)?0:fi(Oo(e))}function dr(e){return bt(e)?e:sn(e,!1,Go,ci,Ps)}function Os(e){return sn(e,!1,ti,li,Is)}function Us(e){return sn(e,!0,ei,ai,Ts)}function sn(e,t,r,n,s){if(!me(e)||e.__v_raw&&!(t&&e.__v_isReactive))return e;const o=s.get(e);if(o)return o;const c=di(e);if(c===0)return e;const a=new Proxy(e,c===2?n:r);return s.set(e,a),a}function gt(e){return bt(e)?gt(e.__v_raw):!!(e&&e.__v_isReactive)}function bt(e){return!!(e&&e.__v_isReadonly)}function rr(e){return!!(e&&e.__v_isShallow)}function Ms(e){return gt(e)||bt(e)}function fe(e){const t=e&&e.__v_raw;return t?fe(t):e}function on(e){return tr(e,"__v_skip",!0),e}const jt=e=>me(e)?dr(e):e,cn=e=>me(e)?Us(e):e;function Ls(e){Ge&&Te&&(e=fe(e),Rs(e.dep||(e.dep=en())))}function Ns(e,t){e=fe(e);const r=e.dep;r&&Lr(r)}function ke(e){return!!(e&&e.__v_isRef===!0)}function ln(e){return js(e,!1)}function hi(e){return js(e,!0)}function js(e,t){return ke(e)?e:new pi(e,t)}class pi{constructor(t,r){this.__v_isShallow=r,this.dep=void 0,this.__v_isRef=!0,this._rawValue=r?t:fe(t),this._value=r?t:jt(t)}get value(){return Ls(this),this._value}set value(t){const r=this.__v_isShallow||rr(t)||bt(t);t=r?t:fe(t),lt(t,this._rawValue)&&(this._rawValue=t,this._value=r?t:jt(t),Ns(this))}}function mt(e){return ke(e)?e.value:e}const gi={get:(e,t,r)=>mt(Reflect.get(e,t,r)),set:(e,t,r,n)=>{const s=e[t];return ke(s)&&!ke(r)?(s.value=r,!0):Reflect.set(e,t,r,n)}};function Hs(e){return gt(e)?e:new Proxy(e,gi)}class mi{constructor(t,r,n,s){this._setter=r,this.dep=void 0,this.__v_isRef=!0,this.__v_isReadonly=!1,this._dirty=!0,this.effect=new tn(t,()=>{this._dirty||(this._dirty=!0,Ns(this))}),this.effect.computed=this,this.effect.active=this._cacheable=!s,this.__v_isReadonly=n}get value(){const t=fe(this);return Ls(t),(t._dirty||!t._cacheable)&&(t._dirty=!1,t._value=t.effect.run()),t._value}set value(t){this._setter(t)}}function vi(e,t,r=!1){let n,s;const o=oe(e);return o?(n=e,s=Ue):(n=e.get,s=e.set),new mi(n,s,o||!s,r)}function et(e,t,r,n){let s;try{s=n?e(...n):e()}catch(o){hr(o,t,r)}return s}function Me(e,t,r,n){if(oe(e)){const o=et(e,t,r,n);return o&&bs(o)&&o.catch(c=>{hr(c,t,r)}),o}const s=[];for(let o=0;o>>1,s=_e[n],o=Bt(s);oKe&&_e.splice(t,1)}function wi(e){se(e)?vt.push(...e):(!We||!We.includes(e,e.allowRecurse?st+1:st))&&vt.push(e),Ds()}function In(e,t=Ht?Ke+1:0){for(;t<_e.length;t++){const r=_e[t];r&&r.pre&&(_e.splice(t,1),t--,r())}}function $s(e){if(vt.length){const t=[...new Set(vt)];if(vt.length=0,We){We.push(...t);return}for(We=t,We.sort((r,n)=>Bt(r)-Bt(n)),st=0;ste.id==null?1/0:e.id,_i=(e,t)=>{const r=Bt(e)-Bt(t);if(r===0){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return r};function zs(e){Nr=!1,Ht=!0,_e.sort(_i);const t=Ue;try{for(Ke=0;Ke<_e.length;Ke++){const r=_e[Ke];r&&r.active!==!1&&et(r,null,14)}}finally{Ke=0,_e.length=0,$s(),Ht=!1,an=null,(_e.length||vt.length)&&zs()}}function Ei(e,t,...r){if(e.isUnmounted)return;const n=e.vnode.props||ge;let s=r;const o=t.startsWith("update:"),c=o&&t.slice(7);if(c&&c in n){const d=`${c==="modelValue"?"model":c}Modifiers`,{number:v,trim:b}=n[d]||ge;b&&(s=r.map(k=>we(k)?k.trim():k)),v&&(s=r.map(No))}let a,i=n[a=yr(t)]||n[a=yr(xt(t))];!i&&o&&(i=n[a=yr(kt(t))]),i&&Me(i,e,6,s);const h=n[a+"Once"];if(h){if(!e.emitted)e.emitted={};else if(e.emitted[a])return;e.emitted[a]=!0,Me(h,e,6,s)}}function Ws(e,t,r=!1){const n=t.emitsCache,s=n.get(e);if(s!==void 0)return s;const o=e.emits;let c={},a=!1;if(!oe(e)){const i=h=>{const d=Ws(h,t,!0);d&&(a=!0,ye(c,d))};!r&&t.mixins.length&&t.mixins.forEach(i),e.extends&&i(e.extends),e.mixins&&e.mixins.forEach(i)}return!o&&!a?(me(e)&&n.set(e,null),null):(se(o)?o.forEach(i=>c[i]=null):ye(c,o),me(e)&&n.set(e,c),c)}function pr(e,t){return!e||!cr(t)?!1:(t=t.slice(2).replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,kt(t))||le(e,t))}let $e=null,Vs=null;function nr(e){const t=$e;return $e=e,Vs=e&&e.type.__scopeId||null,t}function ki(e,t=$e,r){if(!t||e._n)return e;const n=(...s)=>{n._d&&Kn(-1);const o=nr(t);let c;try{c=e(...s)}finally{nr(o),n._d&&Kn(1)}return c};return n._n=!0,n._c=!0,n._d=!0,n}function _r(e){const{type:t,vnode:r,proxy:n,withProxy:s,props:o,propsOptions:[c],slots:a,attrs:i,emit:h,render:d,renderCache:v,data:b,setupState:k,ctx:K,inheritAttrs:W}=e;let J,q;const $=nr(e);try{if(r.shapeFlag&4){const V=s||n,ae=V;J=Be(d.call(ae,V,v,o,k,b,K)),q=i}else{const V=t;J=Be(V.length>1?V(o,{attrs:i,slots:a,emit:h}):V(o,null)),q=t.props?i:Ai(i)}}catch(V){hr(V,e,1),J=be(Kt)}let X=J;if(q&&W!==!1){const V=Object.keys(q),{shapeFlag:ae}=X;V.length&&ae&7&&(c&&V.some(Yr)&&(q=Ri(q,c)),X=yt(X,q))}return r.dirs&&(X=yt(X),X.dirs=X.dirs?X.dirs.concat(r.dirs):r.dirs),r.transition&&(X.transition=r.transition),J=X,nr($),J}const Ai=e=>{let t;for(const r in e)(r==="class"||r==="style"||cr(r))&&((t||(t={}))[r]=e[r]);return t},Ri=(e,t)=>{const r={};for(const n in e)(!Yr(n)||!(n.slice(9)in t))&&(r[n]=e[n]);return r};function Si(e,t,r){const{props:n,children:s,component:o}=e,{props:c,children:a,patchFlag:i}=t,h=o.emitsOptions;if(t.dirs||t.transition)return!0;if(r&&i>=0){if(i&1024)return!0;if(i&16)return n?Tn(n,c,h):!!c;if(i&8){const d=t.dynamicProps;for(let v=0;ve.__isSuspense;function Ii(e,t){t&&t.pendingBranch?se(e)?t.effects.push(...e):t.effects.push(e):wi(e)}const Yt={};function Xt(e,t,r){return qs(e,t,r)}function qs(e,t,{immediate:r,deep:n,flush:s,onTrack:o,onTrigger:c}=ge){var a;const i=Vo()===((a=Ee)==null?void 0:a.scope)?Ee:null;let h,d=!1,v=!1;if(ke(e)?(h=()=>e.value,d=rr(e)):gt(e)?(h=()=>e,n=!0):se(e)?(v=!0,d=e.some(V=>gt(V)||rr(V)),h=()=>e.map(V=>{if(ke(V))return V.value;if(gt(V))return ht(V);if(oe(V))return et(V,i,2)})):oe(e)?t?h=()=>et(e,i,2):h=()=>{if(!(i&&i.isUnmounted))return b&&b(),Me(e,i,3,[k])}:h=Ue,t&&n){const V=h;h=()=>ht(V())}let b,k=V=>{b=$.onStop=()=>{et(V,i,4),b=$.onStop=void 0}},K;if(Dt)if(k=Ue,t?r&&Me(t,i,3,[h(),v?[]:void 0,k]):h(),s==="sync"){const V=wc();K=V.__watcherHandles||(V.__watcherHandles=[])}else return Ue;let W=v?new Array(e.length).fill(Yt):Yt;const J=()=>{if($.active)if(t){const V=$.run();(n||d||(v?V.some((ae,_)=>lt(ae,W[_])):lt(V,W)))&&(b&&b(),Me(t,i,3,[V,W===Yt?void 0:v&&W[0]===Yt?[]:W,k]),W=V)}else $.run()};J.allowRecurse=!!t;let q;s==="sync"?q=J:s==="post"?q=()=>Re(J,i&&i.suspense):(J.pre=!0,i&&(J.id=i.uid),q=()=>un(J));const $=new tn(h,q);t?r?J():W=$.run():s==="post"?Re($.run.bind($),i&&i.suspense):$.run();const X=()=>{$.stop(),i&&i.scope&&Qr(i.scope.effects,$)};return K&&K.push(X),X}function Ti(e,t,r){const n=this.proxy,s=we(e)?e.includes(".")?Js(n,e):()=>n[e]:e.bind(n,n);let o;oe(t)?o=t:(o=t.handler,r=t);const c=Ee;wt(this);const a=qs(s,o.bind(n),r);return c?wt(c):ct(),a}function Js(e,t){const r=t.split(".");return()=>{let n=e;for(let s=0;s{ht(r,t)});else if(Uo(e))for(const r in e)ht(e[r],t);return e}function rt(e,t,r,n){const s=e.dirs,o=t&&t.dirs;for(let c=0;cye({name:e.name},t,{setup:e}))():e}const Zt=e=>!!e.type.__asyncLoader,Qs=e=>e.type.__isKeepAlive;function Oi(e,t){Xs(e,"a",t)}function Ui(e,t){Xs(e,"da",t)}function Xs(e,t,r=Ee){const n=e.__wdc||(e.__wdc=()=>{let s=r;for(;s;){if(s.isDeactivated)return;s=s.parent}return e()});if(gr(t,n,r),r){let s=r.parent;for(;s&&s.parent;)Qs(s.parent.vnode)&&Mi(n,t,r,s),s=s.parent}}function Mi(e,t,r,n){const s=gr(t,e,n,!0);eo(()=>{Qr(n[t],s)},r)}function gr(e,t,r=Ee,n=!1){if(r){const s=r[e]||(r[e]=[]),o=t.__weh||(t.__weh=(...c)=>{if(r.isUnmounted)return;At(),wt(r);const a=Me(t,r,e,c);return ct(),Rt(),a});return n?s.unshift(o):s.push(o),o}}const Je=e=>(t,r=Ee)=>(!Dt||e==="sp")&&gr(e,(...n)=>t(...n),r),Zs=Je("bm"),Li=Je("m"),Ni=Je("bu"),ji=Je("u"),Gs=Je("bum"),eo=Je("um"),Hi=Je("sp"),Bi=Je("rtg"),Ki=Je("rtc");function Di(e,t=Ee){gr("ec",e,t)}const jr=e=>e?uo(e)?mn(e)||e.proxy:jr(e.parent):null,Mt=ye(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>jr(e.parent),$root:e=>jr(e.root),$emit:e=>e.emit,$options:e=>fn(e),$forceUpdate:e=>e.f||(e.f=()=>un(e.update)),$nextTick:e=>e.n||(e.n=Ks.bind(e.proxy)),$watch:e=>Ti.bind(e)}),Er=(e,t)=>e!==ge&&!e.__isScriptSetup&&le(e,t),$i={get({_:e},t){const{ctx:r,setupState:n,data:s,props:o,accessCache:c,type:a,appContext:i}=e;let h;if(t[0]!=="$"){const k=c[t];if(k!==void 0)switch(k){case 1:return n[t];case 2:return s[t];case 4:return r[t];case 3:return o[t]}else{if(Er(n,t))return c[t]=1,n[t];if(s!==ge&&le(s,t))return c[t]=2,s[t];if((h=e.propsOptions[0])&&le(h,t))return c[t]=3,o[t];if(r!==ge&&le(r,t))return c[t]=4,r[t];Hr&&(c[t]=0)}}const d=Mt[t];let v,b;if(d)return t==="$attrs"&&Se(e,"get",t),d(e);if((v=a.__cssModules)&&(v=v[t]))return v;if(r!==ge&&le(r,t))return c[t]=4,r[t];if(b=i.config.globalProperties,le(b,t))return b[t]},set({_:e},t,r){const{data:n,setupState:s,ctx:o}=e;return Er(s,t)?(s[t]=r,!0):n!==ge&&le(n,t)?(n[t]=r,!0):le(e.props,t)||t[0]==="$"&&t.slice(1)in e?!1:(o[t]=r,!0)},has({_:{data:e,setupState:t,accessCache:r,ctx:n,appContext:s,propsOptions:o}},c){let a;return!!r[c]||e!==ge&&le(e,c)||Er(t,c)||(a=o[0])&&le(a,c)||le(n,c)||le(Mt,c)||le(s.config.globalProperties,c)},defineProperty(e,t,r){return r.get!=null?e._.accessCache[t]=0:le(r,"value")&&this.set(e,t,r.value,null),Reflect.defineProperty(e,t,r)}};function On(e){return se(e)?e.reduce((t,r)=>(t[r]=null,t),{}):e}let Hr=!0;function zi(e){const t=fn(e),r=e.proxy,n=e.ctx;Hr=!1,t.beforeCreate&&Un(t.beforeCreate,e,"bc");const{data:s,computed:o,methods:c,watch:a,provide:i,inject:h,created:d,beforeMount:v,mounted:b,beforeUpdate:k,updated:K,activated:W,deactivated:J,beforeDestroy:q,beforeUnmount:$,destroyed:X,unmounted:V,render:ae,renderTracked:_,renderTriggered:T,errorCaptured:D,serverPrefetch:L,expose:N,inheritAttrs:O,components:Z,directives:S,filters:G}=t;if(h&&Wi(h,n,null),c)for(const ee in c){const te=c[ee];oe(te)&&(n[ee]=te.bind(r))}if(s){const ee=s.call(r,r);me(ee)&&(e.data=dr(ee))}if(Hr=!0,o)for(const ee in o){const te=o[ee],ne=oe(te)?te.bind(r,r):oe(te.get)?te.get.bind(r,r):Ue,ve=!oe(te)&&oe(te.set)?te.set.bind(r):Ue,u=Oe({get:ne,set:ve});Object.defineProperty(n,ee,{enumerable:!0,configurable:!0,get:()=>u.value,set:g=>u.value=g})}if(a)for(const ee in a)to(a[ee],n,r,ee);if(i){const ee=oe(i)?i.call(r):i;Reflect.ownKeys(ee).forEach(te=>{Gt(te,ee[te])})}d&&Un(d,e,"c");function ie(ee,te){se(te)?te.forEach(ne=>ee(ne.bind(r))):te&&ee(te.bind(r))}if(ie(Zs,v),ie(Li,b),ie(Ni,k),ie(ji,K),ie(Oi,W),ie(Ui,J),ie(Di,D),ie(Ki,_),ie(Bi,T),ie(Gs,$),ie(eo,V),ie(Hi,L),se(N))if(N.length){const ee=e.exposed||(e.exposed={});N.forEach(te=>{Object.defineProperty(ee,te,{get:()=>r[te],set:ne=>r[te]=ne})})}else e.exposed||(e.exposed={});ae&&e.render===Ue&&(e.render=ae),O!=null&&(e.inheritAttrs=O),Z&&(e.components=Z),S&&(e.directives=S)}function Wi(e,t,r=Ue){se(e)&&(e=Br(e));for(const n in e){const s=e[n];let o;me(s)?"default"in s?o=qe(s.from||n,s.default,!0):o=qe(s.from||n):o=qe(s),ke(o)?Object.defineProperty(t,n,{enumerable:!0,configurable:!0,get:()=>o.value,set:c=>o.value=c}):t[n]=o}}function Un(e,t,r){Me(se(e)?e.map(n=>n.bind(t.proxy)):e.bind(t.proxy),t,r)}function to(e,t,r,n){const s=n.includes(".")?Js(r,n):()=>r[n];if(we(e)){const o=t[e];oe(o)&&Xt(s,o)}else if(oe(e))Xt(s,e.bind(r));else if(me(e))if(se(e))e.forEach(o=>to(o,t,r,n));else{const o=oe(e.handler)?e.handler.bind(r):t[e.handler];oe(o)&&Xt(s,o,e)}}function fn(e){const t=e.type,{mixins:r,extends:n}=t,{mixins:s,optionsCache:o,config:{optionMergeStrategies:c}}=e.appContext,a=o.get(t);let i;return a?i=a:!s.length&&!r&&!n?i=t:(i={},s.length&&s.forEach(h=>sr(i,h,c,!0)),sr(i,t,c)),me(t)&&o.set(t,i),i}function sr(e,t,r,n=!1){const{mixins:s,extends:o}=t;o&&sr(e,o,r,!0),s&&s.forEach(c=>sr(e,c,r,!0));for(const c in t)if(!(n&&c==="expose")){const a=Vi[c]||r&&r[c];e[c]=a?a(e[c],t[c]):t[c]}return e}const Vi={data:Mn,props:Ln,emits:Ln,methods:It,computed:It,beforeCreate:Ae,created:Ae,beforeMount:Ae,mounted:Ae,beforeUpdate:Ae,updated:Ae,beforeDestroy:Ae,beforeUnmount:Ae,destroyed:Ae,unmounted:Ae,activated:Ae,deactivated:Ae,errorCaptured:Ae,serverPrefetch:Ae,components:It,directives:It,watch:Ji,provide:Mn,inject:qi};function Mn(e,t){return t?e?function(){return ye(oe(e)?e.call(this,this):e,oe(t)?t.call(this,this):t)}:t:e}function qi(e,t){return It(Br(e),Br(t))}function Br(e){if(se(e)){const t={};for(let r=0;r1)return r&&oe(t)?t.call(n&&n.proxy):t}}function Xi(e,t,r,n=!1){const s={},o={};tr(o,vr,1),e.propsDefaults=Object.create(null),no(e,t,s,o);for(const c in e.propsOptions[0])c in s||(s[c]=void 0);r?e.props=n?s:Os(s):e.type.props?e.props=s:e.props=o,e.attrs=o}function Zi(e,t,r,n){const{props:s,attrs:o,vnode:{patchFlag:c}}=e,a=fe(s),[i]=e.propsOptions;let h=!1;if((n||c>0)&&!(c&16)){if(c&8){const d=e.vnode.dynamicProps;for(let v=0;v{i=!0;const[b,k]=so(v,t,!0);ye(c,b),k&&a.push(...k)};!r&&t.mixins.length&&t.mixins.forEach(d),e.extends&&d(e.extends),e.mixins&&e.mixins.forEach(d)}if(!o&&!i)return me(e)&&n.set(e,Ot),Ot;if(se(o))for(let d=0;d-1,k[1]=W<0||K-1||le(k,"default"))&&a.push(v)}}}const h=[c,a];return me(e)&&n.set(e,h),h}function Nn(e){return e[0]!=="$"}function jn(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:e===null?"null":""}function Hn(e,t){return jn(e)===jn(t)}function Bn(e,t){return se(t)?t.findIndex(r=>Hn(r,e)):oe(t)&&Hn(t,e)?0:-1}const oo=e=>e[0]==="_"||e==="$stable",dn=e=>se(e)?e.map(Be):[Be(e)],Gi=(e,t,r)=>{if(t._n)return t;const n=ki((...s)=>dn(t(...s)),r);return n._c=!1,n},io=(e,t,r)=>{const n=e._ctx;for(const s in e){if(oo(s))continue;const o=e[s];if(oe(o))t[s]=Gi(s,o,n);else if(o!=null){const c=dn(o);t[s]=()=>c}}},co=(e,t)=>{const r=dn(t);e.slots.default=()=>r},ec=(e,t)=>{if(e.vnode.shapeFlag&32){const r=t._;r?(e.slots=fe(t),tr(t,"_",r)):io(t,e.slots={})}else e.slots={},t&&co(e,t);tr(e.slots,vr,1)},tc=(e,t,r)=>{const{vnode:n,slots:s}=e;let o=!0,c=ge;if(n.shapeFlag&32){const a=t._;a?r&&a===1?o=!1:(ye(s,t),!r&&a===1&&delete s._):(o=!t.$stable,io(t,s)),c=t}else t&&(co(e,t),c={default:1});if(o)for(const a in s)!oo(a)&&c[a]==null&&delete s[a]};function Dr(e,t,r,n,s=!1){if(se(e)){e.forEach((b,k)=>Dr(b,t&&(se(t)?t[k]:t),r,n,s));return}if(Zt(n)&&!s)return;const o=n.shapeFlag&4?mn(n.component)||n.component.proxy:n.el,c=s?null:o,{i:a,r:i}=e,h=t&&t.r,d=a.refs===ge?a.refs={}:a.refs,v=a.setupState;if(h!=null&&h!==i&&(we(h)?(d[h]=null,le(v,h)&&(v[h]=null)):ke(h)&&(h.value=null)),oe(i))et(i,a,12,[c,d]);else{const b=we(i),k=ke(i);if(b||k){const K=()=>{if(e.f){const W=b?le(v,i)?v[i]:d[i]:i.value;s?se(W)&&Qr(W,o):se(W)?W.includes(o)||W.push(o):b?(d[i]=[o],le(v,i)&&(v[i]=d[i])):(i.value=[o],e.k&&(d[e.k]=i.value))}else b?(d[i]=c,le(v,i)&&(v[i]=c)):k&&(i.value=c,e.k&&(d[e.k]=c))};c?(K.id=-1,Re(K,r)):K()}}}const Re=Ii;function rc(e){return nc(e)}function nc(e,t){const r=Tr();r.__VUE__=!0;const{insert:n,remove:s,patchProp:o,createElement:c,createText:a,createComment:i,setText:h,setElementText:d,parentNode:v,nextSibling:b,setScopeId:k=Ue,insertStaticContent:K}=e,W=(l,f,m,w=null,A=null,F=null,B=!1,M=null,j=!!f.dynamicChildren)=>{if(l===f)return;l&&!Ct(l,f)&&(w=p(l),g(l,A,F,!0),l=null),f.patchFlag===-2&&(j=!1,f.dynamicChildren=null);const{type:P,ref:Y,shapeFlag:z}=f;switch(P){case mr:J(l,f,m,w);break;case Kt:q(l,f,m,w);break;case kr:l==null&&$(f,m,w,B);break;case He:Z(l,f,m,w,A,F,B,M,j);break;default:z&1?ae(l,f,m,w,A,F,B,M,j):z&6?S(l,f,m,w,A,F,B,M,j):(z&64||z&128)&&P.process(l,f,m,w,A,F,B,M,j,y)}Y!=null&&A&&Dr(Y,l&&l.ref,F,f||l,!f)},J=(l,f,m,w)=>{if(l==null)n(f.el=a(f.children),m,w);else{const A=f.el=l.el;f.children!==l.children&&h(A,f.children)}},q=(l,f,m,w)=>{l==null?n(f.el=i(f.children||""),m,w):f.el=l.el},$=(l,f,m,w)=>{[l.el,l.anchor]=K(l.children,f,m,w,l.el,l.anchor)},X=({el:l,anchor:f},m,w)=>{let A;for(;l&&l!==f;)A=b(l),n(l,m,w),l=A;n(f,m,w)},V=({el:l,anchor:f})=>{let m;for(;l&&l!==f;)m=b(l),s(l),l=m;s(f)},ae=(l,f,m,w,A,F,B,M,j)=>{B=B||f.type==="svg",l==null?_(f,m,w,A,F,B,M,j):L(l,f,A,F,B,M,j)},_=(l,f,m,w,A,F,B,M)=>{let j,P;const{type:Y,props:z,shapeFlag:Q,transition:re,dirs:ce}=l;if(j=l.el=c(l.type,F,z&&z.is,z),Q&8?d(j,l.children):Q&16&&D(l.children,j,null,w,A,F&&Y!=="foreignObject",B,M),ce&&rt(l,null,w,"created"),T(j,l,l.scopeId,B,w),z){for(const he in z)he!=="value"&&!Qt(he)&&o(j,he,null,z[he],F,l.children,w,A,U);"value"in z&&o(j,"value",null,z.value),(P=z.onVnodeBeforeMount)&&je(P,w,l)}ce&&rt(l,null,w,"beforeMount");const pe=sc(A,re);pe&&re.beforeEnter(j),n(j,f,m),((P=z&&z.onVnodeMounted)||pe||ce)&&Re(()=>{P&&je(P,w,l),pe&&re.enter(j),ce&&rt(l,null,w,"mounted")},A)},T=(l,f,m,w,A)=>{if(m&&k(l,m),w)for(let F=0;F{for(let P=j;P{const M=f.el=l.el;let{patchFlag:j,dynamicChildren:P,dirs:Y}=f;j|=l.patchFlag&16;const z=l.props||ge,Q=f.props||ge;let re;m&&nt(m,!1),(re=Q.onVnodeBeforeUpdate)&&je(re,m,f,l),Y&&rt(f,l,m,"beforeUpdate"),m&&nt(m,!0);const ce=A&&f.type!=="foreignObject";if(P?N(l.dynamicChildren,P,M,m,w,ce,F):B||te(l,f,M,null,m,w,ce,F,!1),j>0){if(j&16)O(M,f,z,Q,m,w,A);else if(j&2&&z.class!==Q.class&&o(M,"class",null,Q.class,A),j&4&&o(M,"style",z.style,Q.style,A),j&8){const pe=f.dynamicProps;for(let he=0;he{re&&je(re,m,f,l),Y&&rt(f,l,m,"updated")},w)},N=(l,f,m,w,A,F,B)=>{for(let M=0;M{if(m!==w){if(m!==ge)for(const M in m)!Qt(M)&&!(M in w)&&o(l,M,m[M],null,B,f.children,A,F,U);for(const M in w){if(Qt(M))continue;const j=w[M],P=m[M];j!==P&&M!=="value"&&o(l,M,P,j,B,f.children,A,F,U)}"value"in w&&o(l,"value",m.value,w.value)}},Z=(l,f,m,w,A,F,B,M,j)=>{const P=f.el=l?l.el:a(""),Y=f.anchor=l?l.anchor:a("");let{patchFlag:z,dynamicChildren:Q,slotScopeIds:re}=f;re&&(M=M?M.concat(re):re),l==null?(n(P,m,w),n(Y,m,w),D(f.children,m,Y,A,F,B,M,j)):z>0&&z&64&&Q&&l.dynamicChildren?(N(l.dynamicChildren,Q,m,A,F,B,M),(f.key!=null||A&&f===A.subTree)&&lo(l,f,!0)):te(l,f,m,Y,A,F,B,M,j)},S=(l,f,m,w,A,F,B,M,j)=>{f.slotScopeIds=M,l==null?f.shapeFlag&512?A.ctx.activate(f,m,w,B,j):G(f,m,w,A,F,B,j):ue(l,f,j)},G=(l,f,m,w,A,F,B)=>{const M=l.component=pc(l,w,A);if(Qs(l)&&(M.ctx.renderer=y),gc(M),M.asyncDep){if(A&&A.registerDep(M,ie),!l.el){const j=M.subTree=be(Kt);q(null,j,f,m)}return}ie(M,l,f,m,A,F,B)},ue=(l,f,m)=>{const w=f.component=l.component;if(Si(l,f,m))if(w.asyncDep&&!w.asyncResolved){ee(w,f,m);return}else w.next=f,yi(w.update),w.update();else f.el=l.el,w.vnode=f},ie=(l,f,m,w,A,F,B)=>{const M=()=>{if(l.isMounted){let{next:Y,bu:z,u:Q,parent:re,vnode:ce}=l,pe=Y,he;nt(l,!1),Y?(Y.el=ce.el,ee(l,Y,B)):Y=ce,z&&wr(z),(he=Y.props&&Y.props.onVnodeBeforeUpdate)&&je(he,re,Y,ce),nt(l,!0);const xe=_r(l),Pe=l.subTree;l.subTree=xe,W(Pe,xe,v(Pe.el),p(Pe),l,A,F),Y.el=xe.el,pe===null&&Ci(l,xe.el),Q&&Re(Q,A),(he=Y.props&&Y.props.onVnodeUpdated)&&Re(()=>je(he,re,Y,ce),A)}else{let Y;const{el:z,props:Q}=f,{bm:re,m:ce,parent:pe}=l,he=Zt(f);if(nt(l,!1),re&&wr(re),!he&&(Y=Q&&Q.onVnodeBeforeMount)&&je(Y,pe,f),nt(l,!0),z&&H){const xe=()=>{l.subTree=_r(l),H(z,l.subTree,l,A,null)};he?f.type.__asyncLoader().then(()=>!l.isUnmounted&&xe()):xe()}else{const xe=l.subTree=_r(l);W(null,xe,m,w,l,A,F),f.el=xe.el}if(ce&&Re(ce,A),!he&&(Y=Q&&Q.onVnodeMounted)){const xe=f;Re(()=>je(Y,pe,xe),A)}(f.shapeFlag&256||pe&&Zt(pe.vnode)&&pe.vnode.shapeFlag&256)&&l.a&&Re(l.a,A),l.isMounted=!0,f=m=w=null}},j=l.effect=new tn(M,()=>un(P),l.scope),P=l.update=()=>j.run();P.id=l.uid,nt(l,!0),P()},ee=(l,f,m)=>{f.component=l;const w=l.vnode.props;l.vnode=f,l.next=null,Zi(l,f.props,w,m),tc(l,f.children,m),At(),In(),Rt()},te=(l,f,m,w,A,F,B,M,j=!1)=>{const P=l&&l.children,Y=l?l.shapeFlag:0,z=f.children,{patchFlag:Q,shapeFlag:re}=f;if(Q>0){if(Q&128){ve(P,z,m,w,A,F,B,M,j);return}else if(Q&256){ne(P,z,m,w,A,F,B,M,j);return}}re&8?(Y&16&&U(P,A,F),z!==P&&d(m,z)):Y&16?re&16?ve(P,z,m,w,A,F,B,M,j):U(P,A,F,!0):(Y&8&&d(m,""),re&16&&D(z,m,w,A,F,B,M,j))},ne=(l,f,m,w,A,F,B,M,j)=>{l=l||Ot,f=f||Ot;const P=l.length,Y=f.length,z=Math.min(P,Y);let Q;for(Q=0;QY?U(l,A,F,!0,!1,z):D(f,m,w,A,F,B,M,j,z)},ve=(l,f,m,w,A,F,B,M,j)=>{let P=0;const Y=f.length;let z=l.length-1,Q=Y-1;for(;P<=z&&P<=Q;){const re=l[P],ce=f[P]=j?Xe(f[P]):Be(f[P]);if(Ct(re,ce))W(re,ce,m,null,A,F,B,M,j);else break;P++}for(;P<=z&&P<=Q;){const re=l[z],ce=f[Q]=j?Xe(f[Q]):Be(f[Q]);if(Ct(re,ce))W(re,ce,m,null,A,F,B,M,j);else break;z--,Q--}if(P>z){if(P<=Q){const re=Q+1,ce=reQ)for(;P<=z;)g(l[P],A,F,!0),P++;else{const re=P,ce=P,pe=new Map;for(P=ce;P<=Q;P++){const Ce=f[P]=j?Xe(f[P]):Be(f[P]);Ce.key!=null&&pe.set(Ce.key,P)}let he,xe=0;const Pe=Q-ce+1;let at=!1,yn=0;const St=new Array(Pe);for(P=0;P=Pe){g(Ce,A,F,!0);continue}let Ne;if(Ce.key!=null)Ne=pe.get(Ce.key);else for(he=ce;he<=Q;he++)if(St[he-ce]===0&&Ct(Ce,f[he])){Ne=he;break}Ne===void 0?g(Ce,A,F,!0):(St[Ne-ce]=P+1,Ne>=yn?yn=Ne:at=!0,W(Ce,f[Ne],m,null,A,F,B,M,j),xe++)}const wn=at?oc(St):Ot;for(he=wn.length-1,P=Pe-1;P>=0;P--){const Ce=ce+P,Ne=f[Ce],_n=Ce+1{const{el:F,type:B,transition:M,children:j,shapeFlag:P}=l;if(P&6){u(l.component.subTree,f,m,w);return}if(P&128){l.suspense.move(f,m,w);return}if(P&64){B.move(l,f,m,y);return}if(B===He){n(F,f,m);for(let z=0;zM.enter(F),A);else{const{leave:z,delayLeave:Q,afterLeave:re}=M,ce=()=>n(F,f,m),pe=()=>{z(F,()=>{ce(),re&&re()})};Q?Q(F,ce,pe):pe()}else n(F,f,m)},g=(l,f,m,w=!1,A=!1)=>{const{type:F,props:B,ref:M,children:j,dynamicChildren:P,shapeFlag:Y,patchFlag:z,dirs:Q}=l;if(M!=null&&Dr(M,null,m,l,!0),Y&256){f.ctx.deactivate(l);return}const re=Y&1&&Q,ce=!Zt(l);let pe;if(ce&&(pe=B&&B.onVnodeBeforeUnmount)&&je(pe,f,l),Y&6)R(l.component,m,w);else{if(Y&128){l.suspense.unmount(m,w);return}re&&rt(l,null,f,"beforeUnmount"),Y&64?l.type.remove(l,f,m,A,y,w):P&&(F!==He||z>0&&z&64)?U(P,f,m,!1,!0):(F===He&&z&384||!A&&Y&16)&&U(j,f,m),w&&C(l)}(ce&&(pe=B&&B.onVnodeUnmounted)||re)&&Re(()=>{pe&&je(pe,f,l),re&&rt(l,null,f,"unmounted")},m)},C=l=>{const{type:f,el:m,anchor:w,transition:A}=l;if(f===He){I(m,w);return}if(f===kr){V(l);return}const F=()=>{s(m),A&&!A.persisted&&A.afterLeave&&A.afterLeave()};if(l.shapeFlag&1&&A&&!A.persisted){const{leave:B,delayLeave:M}=A,j=()=>B(m,F);M?M(l.el,F,j):j()}else F()},I=(l,f)=>{let m;for(;l!==f;)m=b(l),s(l),l=m;s(f)},R=(l,f,m)=>{const{bum:w,scope:A,update:F,subTree:B,um:M}=l;w&&wr(w),A.stop(),F&&(F.active=!1,g(B,l,f,m)),M&&Re(M,f),Re(()=>{l.isUnmounted=!0},f),f&&f.pendingBranch&&!f.isUnmounted&&l.asyncDep&&!l.asyncResolved&&l.suspenseId===f.pendingId&&(f.deps--,f.deps===0&&f.resolve())},U=(l,f,m,w=!1,A=!1,F=0)=>{for(let B=F;Bl.shapeFlag&6?p(l.component.subTree):l.shapeFlag&128?l.suspense.next():b(l.anchor||l.el),x=(l,f,m)=>{l==null?f._vnode&&g(f._vnode,null,null,!0):W(f._vnode||null,l,f,null,null,null,m),In(),$s(),f._vnode=l},y={p:W,um:g,m:u,r:C,mt:G,mc:D,pc:te,pbc:N,n:p,o:e};let E,H;return t&&([E,H]=t(y)),{render:x,hydrate:E,createApp:Qi(x,E)}}function nt({effect:e,update:t},r){e.allowRecurse=t.allowRecurse=r}function sc(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}function lo(e,t,r=!1){const n=e.children,s=t.children;if(se(n)&&se(s))for(let o=0;o>1,e[r[a]]0&&(t[n]=r[o-1]),r[o]=n)}}for(o=r.length,c=r[o-1];o-- >0;)r[o]=c,c=t[c];return r}const ic=e=>e.__isTeleport,He=Symbol.for("v-fgt"),mr=Symbol.for("v-txt"),Kt=Symbol.for("v-cmt"),kr=Symbol.for("v-stc");let pt=null,hn=1;function Kn(e){hn+=e}function $r(e){return e?e.__v_isVNode===!0:!1}function Ct(e,t){return e.type===t.type&&e.key===t.key}const vr="__vInternal",ao=({key:e})=>e??null,er=({ref:e,ref_key:t,ref_for:r})=>(typeof e=="number"&&(e=""+e),e!=null?we(e)||ke(e)||oe(e)?{i:$e,r:e,k:t,f:!!r}:e:null);function cc(e,t=null,r=null,n=0,s=null,o=e===He?0:1,c=!1,a=!1){const i={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&ao(t),ref:t&&er(t),scopeId:Vs,slotScopeIds:null,children:r,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:n,dynamicProps:s,dynamicChildren:null,appContext:null,ctx:$e};return a?(pn(i,r),o&128&&e.normalize(i)):r&&(i.shapeFlag|=we(r)?8:16),hn>0&&!c&&pt&&(i.patchFlag>0||o&6)&&i.patchFlag!==32&&pt.push(i),i}const be=lc;function lc(e,t=null,r=null,n=0,s=null,o=!1){if((!e||e===Fi)&&(e=Kt),$r(e)){const a=yt(e,t,!0);return r&&pn(a,r),hn>0&&!o&&pt&&(a.shapeFlag&6?pt[pt.indexOf(e)]=a:pt.push(a)),a.patchFlag|=-2,a}if(bc(e)&&(e=e.__vccOpts),t){t=ac(t);let{class:a,style:i}=t;a&&!we(a)&&(t.class=Gr(a)),me(i)&&(Ms(i)&&!se(i)&&(i=ye({},i)),t.style=Zr(i))}const c=we(e)?1:Pi(e)?128:ic(e)?64:me(e)?4:oe(e)?2:0;return cc(e,t,r,n,s,c,o,!0)}function ac(e){return e?Ms(e)||vr in e?ye({},e):e:null}function yt(e,t,r=!1){const{props:n,ref:s,patchFlag:o,children:c}=e,a=t?fc(n||{},t):n;return{__v_isVNode:!0,__v_skip:!0,type:e.type,props:a,key:a&&ao(a),ref:t&&t.ref?r&&s?se(s)?s.concat(er(t)):[s,er(t)]:er(t):s,scopeId:e.scopeId,slotScopeIds:e.slotScopeIds,children:c,target:e.target,targetAnchor:e.targetAnchor,staticCount:e.staticCount,shapeFlag:e.shapeFlag,patchFlag:t&&e.type!==He?o===-1?16:o|16:o,dynamicProps:e.dynamicProps,dynamicChildren:e.dynamicChildren,appContext:e.appContext,dirs:e.dirs,transition:e.transition,component:e.component,suspense:e.suspense,ssContent:e.ssContent&&yt(e.ssContent),ssFallback:e.ssFallback&&yt(e.ssFallback),el:e.el,anchor:e.anchor,ctx:e.ctx,ce:e.ce}}function uc(e=" ",t=0){return be(mr,null,e,t)}function Be(e){return e==null||typeof e=="boolean"?be(Kt):se(e)?be(He,null,e.slice()):typeof e=="object"?Xe(e):be(mr,null,String(e))}function Xe(e){return e.el===null&&e.patchFlag!==-1||e.memo?e:yt(e)}function pn(e,t){let r=0;const{shapeFlag:n}=e;if(t==null)t=null;else if(se(t))r=16;else if(typeof t=="object")if(n&65){const s=t.default;s&&(s._c&&(s._d=!1),pn(e,s()),s._c&&(s._d=!0));return}else{r=32;const s=t._;!s&&!(vr in t)?t._ctx=$e:s===3&&$e&&($e.slots._===1?t._=1:(t._=2,e.patchFlag|=1024))}else oe(t)?(t={default:t,_ctx:$e},r=32):(t=String(t),n&64?(r=16,t=[uc(t)]):r=8);e.children=t,e.shapeFlag|=r}function fc(...e){const t={};for(let r=0;rEe=e),gn=e=>{ut.length>1?ut.forEach(t=>t(e)):ut[0](e)};const wt=e=>{gn(e),e.scope.on()},ct=()=>{Ee&&Ee.scope.off(),gn(null)};function uo(e){return e.vnode.shapeFlag&4}let Dt=!1;function gc(e,t=!1){Dt=t;const{props:r,children:n}=e.vnode,s=uo(e);Xi(e,r,s,t),ec(e,n);const o=s?mc(e,t):void 0;return Dt=!1,o}function mc(e,t){const r=e.type;e.accessCache=Object.create(null),e.proxy=on(new Proxy(e.ctx,$i));const{setup:n}=r;if(n){const s=e.setupContext=n.length>1?xc(e):null;wt(e),At();const o=et(n,e,0,[e.props,s]);if(Rt(),ct(),bs(o)){if(o.then(ct,ct),t)return o.then(c=>{$n(e,c,t)}).catch(c=>{hr(c,e,0)});e.asyncDep=o}else $n(e,o,t)}else fo(e,t)}function $n(e,t,r){oe(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:me(t)&&(e.setupState=Hs(t)),fo(e,r)}let zn;function fo(e,t,r){const n=e.type;if(!e.render){if(!t&&zn&&!n.render){const s=n.template||fn(e).template;if(s){const{isCustomElement:o,compilerOptions:c}=e.appContext.config,{delimiters:a,compilerOptions:i}=n,h=ye(ye({isCustomElement:o,delimiters:a},c),i);n.render=zn(s,h)}}e.render=n.render||Ue}{wt(e),At();try{zi(e)}finally{Rt(),ct()}}}function vc(e){return e.attrsProxy||(e.attrsProxy=new Proxy(e.attrs,{get(t,r){return Se(e,"get","$attrs"),t[r]}}))}function xc(e){const t=r=>{e.exposed=r||{}};return{get attrs(){return vc(e)},slots:e.slots,emit:e.emit,expose:t}}function mn(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(Hs(on(e.exposed)),{get(t,r){if(r in t)return t[r];if(r in Mt)return Mt[r](e)},has(t,r){return r in t||r in Mt}}))}function bc(e){return oe(e)&&"__vccOpts"in e}const Oe=(e,t)=>vi(e,t,Dt);function ho(e,t,r){const n=arguments.length;return n===2?me(t)&&!se(t)?$r(t)?be(e,null,[t]):be(e,t):be(e,null,t):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&$r(r)&&(r=[r]),be(e,t,r))}const yc=Symbol.for("v-scx"),wc=()=>qe(yc),_c="3.3.10",Ec="http://www.w3.org/2000/svg",ot=typeof document<"u"?document:null,Wn=ot&&ot.createElement("template"),kc={insert:(e,t,r)=>{t.insertBefore(e,r||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,r,n)=>{const s=t?ot.createElementNS(Ec,e):ot.createElement(e,r?{is:r}:void 0);return e==="select"&&n&&n.multiple!=null&&s.setAttribute("multiple",n.multiple),s},createText:e=>ot.createTextNode(e),createComment:e=>ot.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ot.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,r,n,s,o){const c=r?r.previousSibling:t.lastChild;if(s&&(s===o||s.nextSibling))for(;t.insertBefore(s.cloneNode(!0),r),!(s===o||!(s=s.nextSibling)););else{Wn.innerHTML=n?`${e}`:e;const a=Wn.content;if(n){const i=a.firstChild;for(;i.firstChild;)a.appendChild(i.firstChild);a.removeChild(i)}t.insertBefore(a,r)}return[c?c.nextSibling:t.firstChild,r?r.previousSibling:t.lastChild]}},Ac=Symbol("_vtc");function Rc(e,t,r){const n=e[Ac];n&&(t=(t?[t,...n]:[...n]).join(" ")),t==null?e.removeAttribute("class"):r?e.setAttribute("class",t):e.className=t}const Sc=Symbol("_vod");function Cc(e,t,r){const n=e.style,s=we(r);if(r&&!s){if(t&&!we(t))for(const o in t)r[o]==null&&zr(n,o,"");for(const o in r)zr(n,o,r[o])}else{const o=n.display;s?t!==r&&(n.cssText=r):t&&e.removeAttribute("style"),Sc in e&&(n.display=o)}}const Vn=/\s*!important$/;function zr(e,t,r){if(se(r))r.forEach(n=>zr(e,t,n));else if(r==null&&(r=""),t.startsWith("--"))e.setProperty(t,r);else{const n=Fc(e,t);Vn.test(r)?e.setProperty(kt(n),r.replace(Vn,""),"important"):e[n]=r}}const qn=["Webkit","Moz","ms"],Ar={};function Fc(e,t){const r=Ar[t];if(r)return r;let n=xt(t);if(n!=="filter"&&n in e)return Ar[t]=n;n=ys(n);for(let s=0;sRr||(Lc.then(()=>Rr=0),Rr=Date.now());function jc(e,t){const r=n=>{if(!n._vts)n._vts=Date.now();else if(n._vts<=r.attached)return;Me(Hc(n,r.value),t,5,[n])};return r.value=e,r.attached=Nc(),r}function Hc(e,t){if(se(t)){const r=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{r.call(e),e._stopped=!0},t.map(n=>s=>!s._stopped&&n&&n(s))}else return t}const Xn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123,Bc=(e,t,r,n,s=!1,o,c,a,i)=>{t==="class"?Rc(e,n,s):t==="style"?Cc(e,r,n):cr(t)?Yr(t)||Uc(e,t,r,n,c):(t[0]==="."?(t=t.slice(1),!0):t[0]==="^"?(t=t.slice(1),!1):Kc(e,t,n,s))?Ic(e,t,n,o,c,a,i):(t==="true-value"?e._trueValue=n:t==="false-value"&&(e._falseValue=n),Pc(e,t,n,s))};function Kc(e,t,r,n){if(n)return!!(t==="innerHTML"||t==="textContent"||t in e&&Xn(t)&&oe(r));if(t==="spellcheck"||t==="draggable"||t==="translate"||t==="form"||t==="list"&&e.tagName==="INPUT"||t==="type"&&e.tagName==="TEXTAREA")return!1;if(t==="width"||t==="height"){const s=e.tagName;return!(s==="IMG"||s==="VIDEO"||s==="CANVAS"||s==="SOURCE")}return Xn(t)&&we(r)?!1:t in e}const Dc=ye({patchProp:Bc},kc);let Zn;function $c(){return Zn||(Zn=rc(Dc))}const zc=(...e)=>{const t=$c().createApp(...e),{mount:r}=t;return t.mount=n=>{const s=Wc(n);if(!s)return;const o=t._component;!oe(o)&&!o.render&&!o.template&&(o.template=s.innerHTML),s.innerHTML="";const c=r(s,!1,s instanceof SVGElement);return s instanceof Element&&(s.removeAttribute("v-cloak"),s.setAttribute("data-v-app","")),c},t};function Wc(e){return we(e)?document.querySelector(e):e}var Vc=!1;/*! + * pinia v2.1.7 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const qc=Symbol();var Gn;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Gn||(Gn={}));function Jc(){const e=zo(!0),t=e.run(()=>ln({}));let r=[],n=[];const s=on({install(o){s._a=o,o.provide(qc,s),o.config.globalProperties.$pinia=s,n.forEach(c=>r.push(c)),n=[]},use(o){return!this._a&&!Vc?n.push(o):r.push(o),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}/*! + * vue-router v4.2.5 + * (c) 2023 Eduardo San Martin Morote + * @license MIT + */const dt=typeof window<"u";function Yc(e){return e.__esModule||e[Symbol.toStringTag]==="Module"}const de=Object.assign;function Sr(e,t){const r={};for(const n in t){const s=t[n];r[n]=Le(s)?s.map(e):e(s)}return r}const Lt=()=>{},Le=Array.isArray,Qc=/\/$/,Xc=e=>e.replace(Qc,"");function Cr(e,t,r="/"){let n,s={},o="",c="";const a=t.indexOf("#");let i=t.indexOf("?");return a=0&&(i=-1),i>-1&&(n=t.slice(0,i),o=t.slice(i+1,a>-1?a:t.length),s=e(o)),a>-1&&(n=n||t.slice(0,a),c=t.slice(a,t.length)),n=tl(n??t,r),{fullPath:n+(o&&"?")+o+c,path:n,query:s,hash:c}}function Zc(e,t){const r=t.query?e(t.query):"";return t.path+(r&&"?")+r+(t.hash||"")}function es(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||"/"}function Gc(e,t,r){const n=t.matched.length-1,s=r.matched.length-1;return n>-1&&n===s&&_t(t.matched[n],r.matched[s])&&po(t.params,r.params)&&e(t.query)===e(r.query)&&t.hash===r.hash}function _t(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function po(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(const r in e)if(!el(e[r],t[r]))return!1;return!0}function el(e,t){return Le(e)?ts(e,t):Le(t)?ts(t,e):e===t}function ts(e,t){return Le(t)?e.length===t.length&&e.every((r,n)=>r===t[n]):e.length===1&&e[0]===t}function tl(e,t){if(e.startsWith("/"))return e;if(!e)return t;const r=t.split("/"),n=e.split("/"),s=n[n.length-1];(s===".."||s===".")&&n.push("");let o=r.length-1,c,a;for(c=0;c1&&o--;else break;return r.slice(0,o).join("/")+"/"+n.slice(c-(c===n.length?1:0)).join("/")}var $t;(function(e){e.pop="pop",e.push="push"})($t||($t={}));var Nt;(function(e){e.back="back",e.forward="forward",e.unknown=""})(Nt||(Nt={}));function rl(e){if(!e)if(dt){const t=document.querySelector("base");e=t&&t.getAttribute("href")||"/",e=e.replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return e[0]!=="/"&&e[0]!=="#"&&(e="/"+e),Xc(e)}const nl=/^[^#]+#/;function sl(e,t){return e.replace(nl,"#")+t}function ol(e,t){const r=document.documentElement.getBoundingClientRect(),n=e.getBoundingClientRect();return{behavior:t.behavior,left:n.left-r.left-(t.left||0),top:n.top-r.top-(t.top||0)}}const xr=()=>({left:window.pageXOffset,top:window.pageYOffset});function il(e){let t;if("el"in e){const r=e.el,n=typeof r=="string"&&r.startsWith("#"),s=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!s)return;t=ol(s,e)}else t=e;"scrollBehavior"in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left!=null?t.left:window.pageXOffset,t.top!=null?t.top:window.pageYOffset)}function rs(e,t){return(history.state?history.state.position-t:-1)+e}const Wr=new Map;function cl(e,t){Wr.set(e,t)}function ll(e){const t=Wr.get(e);return Wr.delete(e),t}let al=()=>location.protocol+"//"+location.host;function go(e,t){const{pathname:r,search:n,hash:s}=t,o=e.indexOf("#");if(o>-1){let a=s.includes(e.slice(o))?e.slice(o).length:1,i=s.slice(a);return i[0]!=="/"&&(i="/"+i),es(i,"")}return es(r,e)+n+s}function ul(e,t,r,n){let s=[],o=[],c=null;const a=({state:b})=>{const k=go(e,location),K=r.value,W=t.value;let J=0;if(b){if(r.value=k,t.value=b,c&&c===K){c=null;return}J=W?b.position-W.position:0}else n(k);s.forEach(q=>{q(r.value,K,{delta:J,type:$t.pop,direction:J?J>0?Nt.forward:Nt.back:Nt.unknown})})};function i(){c=r.value}function h(b){s.push(b);const k=()=>{const K=s.indexOf(b);K>-1&&s.splice(K,1)};return o.push(k),k}function d(){const{history:b}=window;b.state&&b.replaceState(de({},b.state,{scroll:xr()}),"")}function v(){for(const b of o)b();o=[],window.removeEventListener("popstate",a),window.removeEventListener("beforeunload",d)}return window.addEventListener("popstate",a),window.addEventListener("beforeunload",d,{passive:!0}),{pauseListeners:i,listen:h,destroy:v}}function ns(e,t,r,n=!1,s=!1){return{back:e,current:t,forward:r,replaced:n,position:window.history.length,scroll:s?xr():null}}function fl(e){const{history:t,location:r}=window,n={value:go(e,r)},s={value:t.state};s.value||o(n.value,{back:null,current:n.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function o(i,h,d){const v=e.indexOf("#"),b=v>-1?(r.host&&document.querySelector("base")?e:e.slice(v))+i:al()+e+i;try{t[d?"replaceState":"pushState"](h,"",b),s.value=h}catch(k){console.error(k),r[d?"replace":"assign"](b)}}function c(i,h){const d=de({},t.state,ns(s.value.back,i,s.value.forward,!0),h,{position:s.value.position});o(i,d,!0),n.value=i}function a(i,h){const d=de({},s.value,t.state,{forward:i,scroll:xr()});o(d.current,d,!0);const v=de({},ns(n.value,i,null),{position:d.position+1},h);o(i,v,!1),n.value=i}return{location:n,state:s,push:a,replace:c}}function dl(e){e=rl(e);const t=fl(e),r=ul(e,t.state,t.location,t.replace);function n(o,c=!0){c||r.pauseListeners(),history.go(o)}const s=de({location:"",base:e,go:n,createHref:sl.bind(null,e)},t,r);return Object.defineProperty(s,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(s,"state",{enumerable:!0,get:()=>t.state.value}),s}function hl(e){return typeof e=="string"||e&&typeof e=="object"}function mo(e){return typeof e=="string"||typeof e=="symbol"}const Qe={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},vo=Symbol("");var ss;(function(e){e[e.aborted=4]="aborted",e[e.cancelled=8]="cancelled",e[e.duplicated=16]="duplicated"})(ss||(ss={}));function Et(e,t){return de(new Error,{type:e,[vo]:!0},t)}function ze(e,t){return e instanceof Error&&vo in e&&(t==null||!!(e.type&t))}const os="[^/]+?",pl={sensitive:!1,strict:!1,start:!0,end:!0},gl=/[.+*?^${}()[\]/\\]/g;function ml(e,t){const r=de({},pl,t),n=[];let s=r.start?"^":"";const o=[];for(const h of e){const d=h.length?[]:[90];r.strict&&!h.length&&(s+="/");for(let v=0;vt.length?t.length===1&&t[0]===40+40?1:-1:0}function xl(e,t){let r=0;const n=e.score,s=t.score;for(;r0&&t[t.length-1]<0}const bl={type:0,value:""},yl=/[a-zA-Z0-9_]/;function wl(e){if(!e)return[[]];if(e==="/")return[[bl]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(k){throw new Error(`ERR (${r})/"${h}": ${k}`)}let r=0,n=r;const s=[];let o;function c(){o&&s.push(o),o=[]}let a=0,i,h="",d="";function v(){h&&(r===0?o.push({type:0,value:h}):r===1||r===2||r===3?(o.length>1&&(i==="*"||i==="+")&&t(`A repeatable param (${h}) must be alone in its segment. eg: '/:ids+.`),o.push({type:1,value:h,regexp:d,repeatable:i==="*"||i==="+",optional:i==="*"||i==="?"})):t("Invalid state to consume buffer"),h="")}function b(){h+=i}for(;a{c($)}:Lt}function c(d){if(mo(d)){const v=n.get(d);v&&(n.delete(d),r.splice(r.indexOf(v),1),v.children.forEach(c),v.alias.forEach(c))}else{const v=r.indexOf(d);v>-1&&(r.splice(v,1),d.record.name&&n.delete(d.record.name),d.children.forEach(c),d.alias.forEach(c))}}function a(){return r}function i(d){let v=0;for(;v=0&&(d.record.path!==r[v].record.path||!xo(d,r[v]));)v++;r.splice(v,0,d),d.record.name&&!ls(d)&&n.set(d.record.name,d)}function h(d,v){let b,k={},K,W;if("name"in d&&d.name){if(b=n.get(d.name),!b)throw Et(1,{location:d});W=b.record.name,k=de(cs(v.params,b.keys.filter($=>!$.optional).map($=>$.name)),d.params&&cs(d.params,b.keys.map($=>$.name))),K=b.stringify(k)}else if("path"in d)K=d.path,b=r.find($=>$.re.test(K)),b&&(k=b.parse(K),W=b.record.name);else{if(b=v.name?n.get(v.name):r.find($=>$.re.test(v.path)),!b)throw Et(1,{location:d,currentLocation:v});W=b.record.name,k=de({},v.params,d.params),K=b.stringify(k)}const J=[];let q=b;for(;q;)J.unshift(q.record),q=q.parent;return{name:W,path:K,params:k,matched:J,meta:Rl(J)}}return e.forEach(d=>o(d)),{addRoute:o,resolve:h,removeRoute:c,getRoutes:a,getRecordMatcher:s}}function cs(e,t){const r={};for(const n of t)n in e&&(r[n]=e[n]);return r}function kl(e){return{path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:void 0,beforeEnter:e.beforeEnter,props:Al(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in e?e.components||null:e.component&&{default:e.component}}}function Al(e){const t={},r=e.props||!1;if("component"in e)t.default=r;else for(const n in e.components)t[n]=typeof r=="object"?r[n]:r;return t}function ls(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Rl(e){return e.reduce((t,r)=>de(t,r.meta),{})}function as(e,t){const r={};for(const n in e)r[n]=n in t?t[n]:e[n];return r}function xo(e,t){return t.children.some(r=>r===e||xo(e,r))}const bo=/#/g,Sl=/&/g,Cl=/\//g,Fl=/=/g,Pl=/\?/g,yo=/\+/g,Il=/%5B/g,Tl=/%5D/g,wo=/%5E/g,Ol=/%60/g,_o=/%7B/g,Ul=/%7C/g,Eo=/%7D/g,Ml=/%20/g;function vn(e){return encodeURI(""+e).replace(Ul,"|").replace(Il,"[").replace(Tl,"]")}function Ll(e){return vn(e).replace(_o,"{").replace(Eo,"}").replace(wo,"^")}function Vr(e){return vn(e).replace(yo,"%2B").replace(Ml,"+").replace(bo,"%23").replace(Sl,"%26").replace(Ol,"`").replace(_o,"{").replace(Eo,"}").replace(wo,"^")}function Nl(e){return Vr(e).replace(Fl,"%3D")}function jl(e){return vn(e).replace(bo,"%23").replace(Pl,"%3F")}function Hl(e){return e==null?"":jl(e).replace(Cl,"%2F")}function ir(e){try{return decodeURIComponent(""+e)}catch{}return""+e}function Bl(e){const t={};if(e===""||e==="?")return t;const n=(e[0]==="?"?e.slice(1):e).split("&");for(let s=0;so&&Vr(o)):[n&&Vr(n)]).forEach(o=>{o!==void 0&&(t+=(t.length?"&":"")+r,o!=null&&(t+="="+o))})}return t}function Kl(e){const t={};for(const r in e){const n=e[r];n!==void 0&&(t[r]=Le(n)?n.map(s=>s==null?null:""+s):n==null?n:""+n)}return t}const Dl=Symbol(""),fs=Symbol(""),xn=Symbol(""),ko=Symbol(""),qr=Symbol("");function Ft(){let e=[];function t(n){return e.push(n),()=>{const s=e.indexOf(n);s>-1&&e.splice(s,1)}}function r(){e=[]}return{add:t,list:()=>e.slice(),reset:r}}function Ze(e,t,r,n,s){const o=n&&(n.enterCallbacks[s]=n.enterCallbacks[s]||[]);return()=>new Promise((c,a)=>{const i=v=>{v===!1?a(Et(4,{from:r,to:t})):v instanceof Error?a(v):hl(v)?a(Et(2,{from:t,to:v})):(o&&n.enterCallbacks[s]===o&&typeof v=="function"&&o.push(v),c())},h=e.call(n&&n.instances[s],t,r,i);let d=Promise.resolve(h);e.length<3&&(d=d.then(i)),d.catch(v=>a(v))})}function Fr(e,t,r,n){const s=[];for(const o of e)for(const c in o.components){let a=o.components[c];if(!(t!=="beforeRouteEnter"&&!o.instances[c]))if($l(a)){const h=(a.__vccOpts||a)[t];h&&s.push(Ze(h,r,n,o,c))}else{let i=a();s.push(()=>i.then(h=>{if(!h)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${o.path}"`));const d=Yc(h)?h.default:h;o.components[c]=d;const b=(d.__vccOpts||d)[t];return b&&Ze(b,r,n,o,c)()}))}}return s}function $l(e){return typeof e=="object"||"displayName"in e||"props"in e||"__vccOpts"in e}function ds(e){const t=qe(xn),r=qe(ko),n=Oe(()=>t.resolve(mt(e.to))),s=Oe(()=>{const{matched:i}=n.value,{length:h}=i,d=i[h-1],v=r.matched;if(!d||!v.length)return-1;const b=v.findIndex(_t.bind(null,d));if(b>-1)return b;const k=hs(i[h-2]);return h>1&&hs(d)===k&&v[v.length-1].path!==k?v.findIndex(_t.bind(null,i[h-2])):b}),o=Oe(()=>s.value>-1&&ql(r.params,n.value.params)),c=Oe(()=>s.value>-1&&s.value===r.matched.length-1&&po(r.params,n.value.params));function a(i={}){return Vl(i)?t[mt(e.replace)?"replace":"push"](mt(e.to)).catch(Lt):Promise.resolve()}return{route:n,href:Oe(()=>n.value.href),isActive:o,isExactActive:c,navigate:a}}const zl=Ys({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:ds,setup(e,{slots:t}){const r=dr(ds(e)),{options:n}=qe(xn),s=Oe(()=>({[ps(e.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[ps(e.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const o=t.default&&t.default(r);return e.custom?o:ho("a",{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:s.value},o)}}}),Wl=zl;function Vl(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ql(e,t){for(const r in t){const n=t[r],s=e[r];if(typeof n=="string"){if(n!==s)return!1}else if(!Le(s)||s.length!==n.length||n.some((o,c)=>o!==s[c]))return!1}return!0}function hs(e){return e?e.aliasOf?e.aliasOf.path:e.path:""}const ps=(e,t,r)=>e??t??r,Jl=Ys({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(e,{attrs:t,slots:r}){const n=qe(qr),s=Oe(()=>e.route||n.value),o=qe(fs,0),c=Oe(()=>{let h=mt(o);const{matched:d}=s.value;let v;for(;(v=d[h])&&!v.components;)h++;return h}),a=Oe(()=>s.value.matched[c.value]);Gt(fs,Oe(()=>c.value+1)),Gt(Dl,a),Gt(qr,s);const i=ln();return Xt(()=>[i.value,a.value,e.name],([h,d,v],[b,k,K])=>{d&&(d.instances[v]=h,k&&k!==d&&h&&h===b&&(d.leaveGuards.size||(d.leaveGuards=k.leaveGuards),d.updateGuards.size||(d.updateGuards=k.updateGuards))),h&&d&&(!k||!_t(d,k)||!b)&&(d.enterCallbacks[v]||[]).forEach(W=>W(h))},{flush:"post"}),()=>{const h=s.value,d=e.name,v=a.value,b=v&&v.components[d];if(!b)return gs(r.default,{Component:b,route:h});const k=v.props[d],K=k?k===!0?h.params:typeof k=="function"?k(h):k:null,J=ho(b,de({},K,t,{onVnodeUnmounted:q=>{q.component.isUnmounted&&(v.instances[d]=null)},ref:i}));return gs(r.default,{Component:J,route:h})||J}}});function gs(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}const Ao=Jl;function Yl(e){const t=El(e.routes,e),r=e.parseQuery||Bl,n=e.stringifyQuery||us,s=e.history,o=Ft(),c=Ft(),a=Ft(),i=hi(Qe);let h=Qe;dt&&e.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const d=Sr.bind(null,p=>""+p),v=Sr.bind(null,Hl),b=Sr.bind(null,ir);function k(p,x){let y,E;return mo(p)?(y=t.getRecordMatcher(p),E=x):E=p,t.addRoute(E,y)}function K(p){const x=t.getRecordMatcher(p);x&&t.removeRoute(x)}function W(){return t.getRoutes().map(p=>p.record)}function J(p){return!!t.getRecordMatcher(p)}function q(p,x){if(x=de({},x||i.value),typeof p=="string"){const m=Cr(r,p,x.path),w=t.resolve({path:m.path},x),A=s.createHref(m.fullPath);return de(m,w,{params:b(w.params),hash:ir(m.hash),redirectedFrom:void 0,href:A})}let y;if("path"in p)y=de({},p,{path:Cr(r,p.path,x.path).path});else{const m=de({},p.params);for(const w in m)m[w]==null&&delete m[w];y=de({},p,{params:v(m)}),x.params=v(x.params)}const E=t.resolve(y,x),H=p.hash||"";E.params=d(b(E.params));const l=Zc(n,de({},p,{hash:Ll(H),path:E.path})),f=s.createHref(l);return de({fullPath:l,hash:H,query:n===us?Kl(p.query):p.query||{}},E,{redirectedFrom:void 0,href:f})}function $(p){return typeof p=="string"?Cr(r,p,i.value.path):de({},p)}function X(p,x){if(h!==p)return Et(8,{from:x,to:p})}function V(p){return T(p)}function ae(p){return V(de($(p),{replace:!0}))}function _(p){const x=p.matched[p.matched.length-1];if(x&&x.redirect){const{redirect:y}=x;let E=typeof y=="function"?y(p):y;return typeof E=="string"&&(E=E.includes("?")||E.includes("#")?E=$(E):{path:E},E.params={}),de({query:p.query,hash:p.hash,params:"path"in E?{}:p.params},E)}}function T(p,x){const y=h=q(p),E=i.value,H=p.state,l=p.force,f=p.replace===!0,m=_(y);if(m)return T(de($(m),{state:typeof m=="object"?de({},H,m.state):H,force:l,replace:f}),x||y);const w=y;w.redirectedFrom=x;let A;return!l&&Gc(n,E,y)&&(A=Et(16,{to:w,from:E}),u(E,E,!0,!1)),(A?Promise.resolve(A):N(w,E)).catch(F=>ze(F)?ze(F,2)?F:ve(F):te(F,w,E)).then(F=>{if(F){if(ze(F,2))return T(de({replace:f},$(F.to),{state:typeof F.to=="object"?de({},H,F.to.state):H,force:l}),x||w)}else F=Z(w,E,!0,f,H);return O(w,E,F),F})}function D(p,x){const y=X(p,x);return y?Promise.reject(y):Promise.resolve()}function L(p){const x=I.values().next().value;return x&&typeof x.runWithContext=="function"?x.runWithContext(p):p()}function N(p,x){let y;const[E,H,l]=Ql(p,x);y=Fr(E.reverse(),"beforeRouteLeave",p,x);for(const m of E)m.leaveGuards.forEach(w=>{y.push(Ze(w,p,x))});const f=D.bind(null,p,x);return y.push(f),U(y).then(()=>{y=[];for(const m of o.list())y.push(Ze(m,p,x));return y.push(f),U(y)}).then(()=>{y=Fr(H,"beforeRouteUpdate",p,x);for(const m of H)m.updateGuards.forEach(w=>{y.push(Ze(w,p,x))});return y.push(f),U(y)}).then(()=>{y=[];for(const m of l)if(m.beforeEnter)if(Le(m.beforeEnter))for(const w of m.beforeEnter)y.push(Ze(w,p,x));else y.push(Ze(m.beforeEnter,p,x));return y.push(f),U(y)}).then(()=>(p.matched.forEach(m=>m.enterCallbacks={}),y=Fr(l,"beforeRouteEnter",p,x),y.push(f),U(y))).then(()=>{y=[];for(const m of c.list())y.push(Ze(m,p,x));return y.push(f),U(y)}).catch(m=>ze(m,8)?m:Promise.reject(m))}function O(p,x,y){a.list().forEach(E=>L(()=>E(p,x,y)))}function Z(p,x,y,E,H){const l=X(p,x);if(l)return l;const f=x===Qe,m=dt?history.state:{};y&&(E||f?s.replace(p.fullPath,de({scroll:f&&m&&m.scroll},H)):s.push(p.fullPath,H)),i.value=p,u(p,x,y,f),ve()}let S;function G(){S||(S=s.listen((p,x,y)=>{if(!R.listening)return;const E=q(p),H=_(E);if(H){T(de(H,{replace:!0}),E).catch(Lt);return}h=E;const l=i.value;dt&&cl(rs(l.fullPath,y.delta),xr()),N(E,l).catch(f=>ze(f,12)?f:ze(f,2)?(T(f.to,E).then(m=>{ze(m,20)&&!y.delta&&y.type===$t.pop&&s.go(-1,!1)}).catch(Lt),Promise.reject()):(y.delta&&s.go(-y.delta,!1),te(f,E,l))).then(f=>{f=f||Z(E,l,!1),f&&(y.delta&&!ze(f,8)?s.go(-y.delta,!1):y.type===$t.pop&&ze(f,20)&&s.go(-1,!1)),O(E,l,f)}).catch(Lt)}))}let ue=Ft(),ie=Ft(),ee;function te(p,x,y){ve(p);const E=ie.list();return E.length?E.forEach(H=>H(p,x,y)):console.error(p),Promise.reject(p)}function ne(){return ee&&i.value!==Qe?Promise.resolve():new Promise((p,x)=>{ue.add([p,x])})}function ve(p){return ee||(ee=!p,G(),ue.list().forEach(([x,y])=>p?y(p):x()),ue.reset()),p}function u(p,x,y,E){const{scrollBehavior:H}=e;if(!dt||!H)return Promise.resolve();const l=!y&&ll(rs(p.fullPath,0))||(E||!y)&&history.state&&history.state.scroll||null;return Ks().then(()=>H(p,x,l)).then(f=>f&&il(f)).catch(f=>te(f,p,x))}const g=p=>s.go(p);let C;const I=new Set,R={currentRoute:i,listening:!0,addRoute:k,removeRoute:K,hasRoute:J,getRoutes:W,resolve:q,options:e,push:V,replace:ae,go:g,back:()=>g(-1),forward:()=>g(1),beforeEach:o.add,beforeResolve:c.add,afterEach:a.add,onError:ie.add,isReady:ne,install(p){const x=this;p.component("RouterLink",Wl),p.component("RouterView",Ao),p.config.globalProperties.$router=x,Object.defineProperty(p.config.globalProperties,"$route",{enumerable:!0,get:()=>mt(i)}),dt&&!C&&i.value===Qe&&(C=!0,V(s.location).catch(H=>{}));const y={};for(const H in Qe)Object.defineProperty(y,H,{get:()=>i.value[H],enumerable:!0});p.provide(xn,x),p.provide(ko,Os(y)),p.provide(qr,i);const E=p.unmount;I.add(p),p.unmount=function(){I.delete(p),I.size<1&&(h=Qe,S&&S(),S=null,i.value=Qe,C=!1,ee=!1),E()}}};function U(p){return p.reduce((x,y)=>x.then(()=>L(y)),Promise.resolve())}return R}function Ql(e,t){const r=[],n=[],s=[],o=Math.max(t.matched.length,e.matched.length);for(let c=0;c_t(h,a))?n.push(a):r.push(a));const i=e.matched[c];i&&(t.matched.find(h=>_t(h,i))||s.push(i))}return[r,n,s]}const Xl=new Array(400).fill("0x1312").join(" "),ms=()=>Math.ceil(window.innerWidth/100)*Math.ceil(window.innerHeight/100),Zl={setup(){const e=ln(ms()),t=()=>setTimeout(()=>{e.value=ms()},10);return Zs(()=>{console.log("before mount"),window.addEventListener("resize",t)}),Gs(()=>{console.log("before unmount"),window.removeEventListener("resize",t)}),()=>be("div",{class:"ps-background"},[be("div",{id:"x1312",class:"ps-background--1312"},[Xl]),new Array(e.value).fill(null).map(()=>be("div",{class:"ps-background--logo ps-logo"},[be("img",{class:"ps-logo--base",src:"/public/logo.svg"},null)]))])}},Gl={setup(){return()=>be(He,null,[be(Ao,null,null),be(Zl,null,null)])}},ea="modulepreload",ta=function(e){return"/"+e},vs={},ra=function(t,r,n){if(!r||r.length===0)return t();const s=document.getElementsByTagName("link");return Promise.all(r.map(o=>{if(o=ta(o),o in vs)return;vs[o]=!0;const c=o.endsWith(".css"),a=c?'[rel="stylesheet"]':"";if(!!n)for(let d=s.length-1;d>=0;d--){const v=s[d];if(v.href===o&&(!c||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${o}"]${a}`))return;const h=document.createElement("link");if(h.rel=c?"stylesheet":ea,c||(h.as="script",h.crossOrigin=""),h.href=o,document.head.appendChild(h),c)return new Promise((d,v)=>{h.addEventListener("load",d),h.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${o}`)))})})).then(()=>t()).catch(o=>{const c=new Event("vite:preloadError",{cancelable:!0});if(c.payload=o,window.dispatchEvent(c),!c.defaultPrevented)throw o})},na=Yl({history:dl("/"),routes:[{path:"/",name:"home",component:()=>ra(()=>import("./Home-5ca1a495.js"),[])}]});var sa=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function oa(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ia(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function n(){return this instanceof n?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(n){var s=Object.getOwnPropertyDescriptor(e,n);Object.defineProperty(r,n,s.get?s:{enumerable:!0,get:function(){return e[n]}})}),r}var br={};br.byteLength=aa;br.toByteArray=fa;br.fromByteArray=pa;var De=[],Fe=[],ca=typeof Uint8Array<"u"?Uint8Array:Array,Pr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var ft=0,la=Pr.length;ft0)throw new Error("Invalid string. Length must be a multiple of 4");var r=e.indexOf("=");r===-1&&(r=t);var n=r===t?0:4-r%4;return[r,n]}function aa(e){var t=Ro(e),r=t[0],n=t[1];return(r+n)*3/4-n}function ua(e,t,r){return(t+r)*3/4-r}function fa(e){var t,r=Ro(e),n=r[0],s=r[1],o=new ca(ua(e,n,s)),c=0,a=s>0?n-4:n,i;for(i=0;i>16&255,o[c++]=t>>8&255,o[c++]=t&255;return s===2&&(t=Fe[e.charCodeAt(i)]<<2|Fe[e.charCodeAt(i+1)]>>4,o[c++]=t&255),s===1&&(t=Fe[e.charCodeAt(i)]<<10|Fe[e.charCodeAt(i+1)]<<4|Fe[e.charCodeAt(i+2)]>>2,o[c++]=t>>8&255,o[c++]=t&255),o}function da(e){return De[e>>18&63]+De[e>>12&63]+De[e>>6&63]+De[e&63]}function ha(e,t,r){for(var n,s=[],o=t;oa?a:c+o));return n===1?(t=e[r-1],s.push(De[t>>2]+De[t<<4&63]+"==")):n===2&&(t=(e[r-2]<<8)+e[r-1],s.push(De[t>>10]+De[t>>4&63]+De[t<<2&63]+"=")),s.join("")}var So={exports:{}};const ga={},ma=Object.freeze(Object.defineProperty({__proto__:null,default:ga},Symbol.toStringTag,{value:"Module"})),xs=ia(ma);/** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.10.1 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2023 + * @license MIT + */(function(e){(function(){var t="input is invalid type",r=typeof window=="object",n=r?window:{};n.JS_SHA256_NO_WINDOW&&(r=!1);var s=!r&&typeof self=="object",o=!n.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;o?n=sa:s&&(n=self);var c=!n.JS_SHA256_NO_COMMON_JS&&!0&&e.exports,a=!n.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer<"u",i="0123456789abcdef".split(""),h=[-2147483648,8388608,32768,128],d=[24,16,8,0],v=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],b=["hex","array","digest","arrayBuffer"],k=[];(n.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(_){return Object.prototype.toString.call(_)==="[object Array]"}),a&&(n.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(_){return typeof _=="object"&&_.buffer&&_.buffer.constructor===ArrayBuffer});var K=function(_,T){return function(D){return new X(T,!0).update(D)[_]()}},W=function(_){var T=K("hex",_);o&&(T=J(T,_)),T.create=function(){return new X(_)},T.update=function(N){return T.create().update(N)};for(var D=0;D>2]|=_[N]<>2]|=L<>2]|=(192|L>>6)<>2]|=(128|L&63)<=57344?(S[O>>2]|=(224|L>>12)<>2]|=(128|L>>6&63)<>2]|=(128|L&63)<>2]|=(240|L>>18)<>2]|=(128|L>>12&63)<>2]|=(128|L>>6&63)<>2]|=(128|L&63)<=64?(this.block=S[16],this.start=O-64,this.hash(),this.hashed=!0):this.start=O}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},X.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var _=this.blocks,T=this.lastByteIndex;_[16]=this.block,_[T>>2]|=h[T&3],this.block=_[16],T>=56&&(this.hashed||this.hash(),_[0]=this.block,_[16]=_[1]=_[2]=_[3]=_[4]=_[5]=_[6]=_[7]=_[8]=_[9]=_[10]=_[11]=_[12]=_[13]=_[14]=_[15]=0),_[14]=this.hBytes<<3|this.bytes>>>29,_[15]=this.bytes<<3,this.hash()}},X.prototype.hash=function(){var _=this.h0,T=this.h1,D=this.h2,L=this.h3,N=this.h4,O=this.h5,Z=this.h6,S=this.h7,G=this.blocks,ue,ie,ee,te,ne,ve,u,g,C,I,R;for(ue=16;ue<64;++ue)ne=G[ue-15],ie=(ne>>>7|ne<<25)^(ne>>>18|ne<<14)^ne>>>3,ne=G[ue-2],ee=(ne>>>17|ne<<15)^(ne>>>19|ne<<13)^ne>>>10,G[ue]=G[ue-16]+ie+G[ue-7]+ee<<0;for(R=T&D,ue=0;ue<64;ue+=4)this.first?(this.is224?(g=300032,ne=G[0]-1413257819,S=ne-150054599<<0,L=ne+24177077<<0):(g=704751109,ne=G[0]-210244248,S=ne-1521486534<<0,L=ne+143694565<<0),this.first=!1):(ie=(_>>>2|_<<30)^(_>>>13|_<<19)^(_>>>22|_<<10),ee=(N>>>6|N<<26)^(N>>>11|N<<21)^(N>>>25|N<<7),g=_&T,te=g^_&D^R,u=N&O^~N&Z,ne=S+ee+u+v[ue]+G[ue],ve=ie+te,S=L+ne<<0,L=ne+ve<<0),ie=(L>>>2|L<<30)^(L>>>13|L<<19)^(L>>>22|L<<10),ee=(S>>>6|S<<26)^(S>>>11|S<<21)^(S>>>25|S<<7),C=L&_,te=C^L&T^g,u=S&N^~S&O,ne=Z+ee+u+v[ue+1]+G[ue+1],ve=ie+te,Z=D+ne<<0,D=ne+ve<<0,ie=(D>>>2|D<<30)^(D>>>13|D<<19)^(D>>>22|D<<10),ee=(Z>>>6|Z<<26)^(Z>>>11|Z<<21)^(Z>>>25|Z<<7),I=D&L,te=I^D&_^C,u=Z&S^~Z&N,ne=O+ee+u+v[ue+2]+G[ue+2],ve=ie+te,O=T+ne<<0,T=ne+ve<<0,ie=(T>>>2|T<<30)^(T>>>13|T<<19)^(T>>>22|T<<10),ee=(O>>>6|O<<26)^(O>>>11|O<<21)^(O>>>25|O<<7),R=T&D,te=R^T&L^I,u=O&Z^~O&S,ne=N+ee+u+v[ue+3]+G[ue+3],ve=ie+te,N=_+ne<<0,_=ne+ve<<0,this.chromeBugWorkAround=!0;this.h0=this.h0+_<<0,this.h1=this.h1+T<<0,this.h2=this.h2+D<<0,this.h3=this.h3+L<<0,this.h4=this.h4+N<<0,this.h5=this.h5+O<<0,this.h6=this.h6+Z<<0,this.h7=this.h7+S<<0},X.prototype.hex=function(){this.finalize();var _=this.h0,T=this.h1,D=this.h2,L=this.h3,N=this.h4,O=this.h5,Z=this.h6,S=this.h7,G=i[_>>28&15]+i[_>>24&15]+i[_>>20&15]+i[_>>16&15]+i[_>>12&15]+i[_>>8&15]+i[_>>4&15]+i[_&15]+i[T>>28&15]+i[T>>24&15]+i[T>>20&15]+i[T>>16&15]+i[T>>12&15]+i[T>>8&15]+i[T>>4&15]+i[T&15]+i[D>>28&15]+i[D>>24&15]+i[D>>20&15]+i[D>>16&15]+i[D>>12&15]+i[D>>8&15]+i[D>>4&15]+i[D&15]+i[L>>28&15]+i[L>>24&15]+i[L>>20&15]+i[L>>16&15]+i[L>>12&15]+i[L>>8&15]+i[L>>4&15]+i[L&15]+i[N>>28&15]+i[N>>24&15]+i[N>>20&15]+i[N>>16&15]+i[N>>12&15]+i[N>>8&15]+i[N>>4&15]+i[N&15]+i[O>>28&15]+i[O>>24&15]+i[O>>20&15]+i[O>>16&15]+i[O>>12&15]+i[O>>8&15]+i[O>>4&15]+i[O&15]+i[Z>>28&15]+i[Z>>24&15]+i[Z>>20&15]+i[Z>>16&15]+i[Z>>12&15]+i[Z>>8&15]+i[Z>>4&15]+i[Z&15];return this.is224||(G+=i[S>>28&15]+i[S>>24&15]+i[S>>20&15]+i[S>>16&15]+i[S>>12&15]+i[S>>8&15]+i[S>>4&15]+i[S&15]),G},X.prototype.toString=X.prototype.hex,X.prototype.digest=function(){this.finalize();var _=this.h0,T=this.h1,D=this.h2,L=this.h3,N=this.h4,O=this.h5,Z=this.h6,S=this.h7,G=[_>>24&255,_>>16&255,_>>8&255,_&255,T>>24&255,T>>16&255,T>>8&255,T&255,D>>24&255,D>>16&255,D>>8&255,D&255,L>>24&255,L>>16&255,L>>8&255,L&255,N>>24&255,N>>16&255,N>>8&255,N&255,O>>24&255,O>>16&255,O>>8&255,O&255,Z>>24&255,Z>>16&255,Z>>8&255,Z&255];return this.is224||G.push(S>>24&255,S>>16&255,S>>8&255,S&255),G},X.prototype.array=X.prototype.digest,X.prototype.arrayBuffer=function(){this.finalize();var _=new ArrayBuffer(this.is224?28:32),T=new DataView(_);return T.setUint32(0,this.h0),T.setUint32(4,this.h1),T.setUint32(8,this.h2),T.setUint32(12,this.h3),T.setUint32(16,this.h4),T.setUint32(20,this.h5),T.setUint32(24,this.h6),this.is224||T.setUint32(28,this.h7),_};function V(_,T,D){var L,N=typeof _;if(N==="string"){var O=[],Z=_.length,S=0,G;for(L=0;L>6,O[S++]=128|G&63):G<55296||G>=57344?(O[S++]=224|G>>12,O[S++]=128|G>>6&63,O[S++]=128|G&63):(G=65536+((G&1023)<<10|_.charCodeAt(++L)&1023),O[S++]=240|G>>18,O[S++]=128|G>>12&63,O[S++]=128|G>>6&63,O[S++]=128|G&63);_=O}else if(N==="object"){if(_===null)throw new Error(t);if(a&&_.constructor===ArrayBuffer)_=new Uint8Array(_);else if(!Array.isArray(_)&&(!a||!ArrayBuffer.isView(_)))throw new Error(t)}else throw new Error(t);_.length>64&&(_=new X(T,!0).update(_).array());var ue=[],ie=[];for(L=0;L<64;++L){var ee=_[L]||0;ue[L]=92^ee,ie[L]=54^ee}X.call(this,T,D),this.update(ie),this.oKeyPad=ue,this.inner=!0,this.sharedMemory=D}V.prototype=new X,V.prototype.finalize=function(){if(X.prototype.finalize.call(this),this.inner){this.inner=!1;var _=this.array();X.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(_),X.prototype.finalize.call(this)}};var ae=W();ae.sha256=ae,ae.sha224=W(!0),ae.sha256.hmac=$(),ae.sha224.hmac=$(!0),c?e.exports=ae:(n.sha256=ae.sha256,n.sha224=ae.sha224)})()})(So);var va=So.exports;const xa=oa(va);class Tt extends Error{}Tt.prototype.name="InvalidTokenError";function ba(e){return decodeURIComponent(atob(e).replace(/(.)/g,(t,r)=>{let n=r.charCodeAt(0).toString(16).toUpperCase();return n.length<2&&(n="0"+n),"%"+n}))}function ya(e){let t=e.replace(/-/g,"+").replace(/_/g,"/");switch(t.length%4){case 0:break;case 2:t+="==";break;case 3:t+="=";break;default:throw new Error("base64 string is not of the correct length")}try{return ba(t)}catch{return atob(t)}}function Ir(e,t){if(typeof e!="string")throw new Tt("Invalid token specified: must be a string");t||(t={});const r=t.header===!0?0:1,n=e.split(".")[r];if(typeof n!="string")throw new Tt(`Invalid token specified: missing part #${r+1}`);let s;try{s=ya(n)}catch(o){throw new Tt(`Invalid token specified: invalid base64 for part #${r+1} (${o.message})`)}try{return JSON.parse(s)}catch(o){throw new Tt(`Invalid token specified: invalid json for part #${r+1} (${o.message})`)}}if(typeof Promise>"u")throw Error("Keycloak requires an environment that supports Promises. Make sure that you include the appropriate polyfill.");function Co(e){if(!(this instanceof Co))throw new Error("The 'Keycloak' constructor must be invoked with 'new'.");for(var t=this,r,n=[],s,o={enable:!0,callbackList:[],interval:5},c=document.getElementsByTagName("script"),a=0;a-1?r=ie(u.adapter):u&&typeof u.adapter=="object"?r=u.adapter:window.Cordova||window.cordova?r=ie("cordova"):r=ie(),u){if(typeof u.useNonce<"u"&&(i=u.useNonce),typeof u.checkLoginIframe<"u"&&(o.enable=u.checkLoginIframe),u.checkLoginIframeInterval&&(o.interval=u.checkLoginIframeInterval),u.onLoad==="login-required"&&(t.loginRequired=!0),u.responseMode)if(u.responseMode==="query"||u.responseMode==="fragment")t.responseMode=u.responseMode;else throw"Invalid value for responseMode";if(u.flow){switch(u.flow){case"standard":t.responseType="code";break;case"implicit":t.responseType="id_token token";break;case"hybrid":t.responseType="code id_token token";break;default:throw"Invalid value for flow"}t.flow=u.flow}if(u.timeSkew!=null&&(t.timeSkew=u.timeSkew),u.redirectUri&&(t.redirectUri=u.redirectUri),u.silentCheckSsoRedirectUri&&(t.silentCheckSsoRedirectUri=u.silentCheckSsoRedirectUri),typeof u.silentCheckSsoFallback=="boolean"?t.silentCheckSsoFallback=u.silentCheckSsoFallback:t.silentCheckSsoFallback=!0,u.pkceMethod){if(u.pkceMethod!=="S256")throw"Invalid value for pkceMethod";t.pkceMethod=u.pkceMethod}typeof u.enableLogging=="boolean"?t.enableLogging=u.enableLogging:t.enableLogging=!1,typeof u.scope=="string"&&(t.scope=u.scope),typeof u.acrValues=="string"&&(t.acrValues=u.acrValues),typeof u.messageReceiveTimeout=="number"&&u.messageReceiveTimeout>0?t.messageReceiveTimeout=u.messageReceiveTimeout:t.messageReceiveTimeout=1e4}t.responseMode||(t.responseMode="fragment"),t.responseType||(t.responseType="code",t.flow="standard");var C=N(),I=N();I.promise.then(function(){t.onReady&&t.onReady(t.authenticated),C.setSuccess(t.authenticated)}).catch(function(y){C.setError(y)});var R=X();function U(){var y=function(l){l||(H.prompt="none"),u&&u.locale&&(H.locale=u.locale),t.login(H).then(function(){I.setSuccess()}).catch(function(f){I.setError(f)})},E=function(){var l=document.createElement("iframe"),f=t.createLoginUrl({prompt:"none",redirectUri:t.silentCheckSsoRedirectUri});l.setAttribute("src",f),l.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),l.setAttribute("title","keycloak-silent-check-sso"),l.style.display="none",document.body.appendChild(l);var m=function(w){if(!(w.origin!==window.location.origin||l.contentWindow!==w.source)){var A=T(w.data);$(A,I),document.body.removeChild(l),window.removeEventListener("message",m)}};window.addEventListener("message",m)},H={};switch(u.onLoad){case"check-sso":o.enable?Z().then(function(){G().then(function(l){l?I.setSuccess():t.silentCheckSsoRedirectUri?E():y(!1)}).catch(function(l){I.setError(l)})}):t.silentCheckSsoRedirectUri?E():y(!1);break;case"login-required":y(!0);break;default:throw"Invalid value for onLoad"}}function p(){var y=T(window.location.href);if(y&&window.history.replaceState(window.history.state,null,y.newUrl),y&&y.valid)return Z().then(function(){$(y,I)}).catch(function(E){I.setError(E)});u?u.token&&u.refreshToken?(ae(u.token,u.refreshToken,u.idToken),o.enable?Z().then(function(){G().then(function(E){E?(t.onAuthSuccess&&t.onAuthSuccess(),I.setSuccess(),S()):I.setSuccess()}).catch(function(E){I.setError(E)})}):t.updateToken(-1).then(function(){t.onAuthSuccess&&t.onAuthSuccess(),I.setSuccess()}).catch(function(E){t.onAuthError&&t.onAuthError(),u.onLoad?U():I.setError(E)})):u.onLoad?U():I.setSuccess():I.setSuccess()}function x(){var y=N(),E=function(){(document.readyState==="interactive"||document.readyState==="complete")&&(document.removeEventListener("readystatechange",E),y.setSuccess())};return document.addEventListener("readystatechange",E),E(),y.promise}return R.then(function(){x().then(ue).then(p).catch(function(y){C.setError(y)})}),R.catch(function(y){C.setError(y)}),C.promise},t.login=function(u){return r.login(u)};function v(u){var g=null,C=window.crypto||window.msCrypto;if(C&&C.getRandomValues&&window.Uint8Array)return g=new Uint8Array(u),C.getRandomValues(g),g;g=new Array(u);for(var I=0;I=0},t.hasResourceRole=function(u,g){if(!t.resourceAccess)return!1;var C=t.resourceAccess[g||t.clientId];return!!C&&C.roles.indexOf(u)>=0},t.loadUserProfile=function(){var u=J()+"/account",g=new XMLHttpRequest;g.open("GET",u,!0),g.setRequestHeader("Accept","application/json"),g.setRequestHeader("Authorization","bearer "+t.token);var C=N();return g.onreadystatechange=function(){g.readyState==4&&(g.status==200?(t.profile=JSON.parse(g.responseText),C.setSuccess(t.profile)):C.setError())},g.send(),C.promise},t.loadUserInfo=function(){var u=t.endpoints.userinfo(),g=new XMLHttpRequest;g.open("GET",u,!0),g.setRequestHeader("Accept","application/json"),g.setRequestHeader("Authorization","bearer "+t.token);var C=N();return g.onreadystatechange=function(){g.readyState==4&&(g.status==200?(t.userInfo=JSON.parse(g.responseText),C.setSuccess(t.userInfo)):C.setError())},g.send(),C.promise},t.isTokenExpired=function(u){if(!t.tokenParsed||!t.refreshToken&&t.flow!="implicit")throw"Not authenticated";if(t.timeSkew==null)return h("[KEYCLOAK] Unable to determine if token is expired as timeskew is not set"),!0;var g=t.tokenParsed.exp-Math.ceil(new Date().getTime()/1e3)+t.timeSkew;if(u){if(isNaN(u))throw"Invalid minValidity";g-=u}return g<0},t.updateToken=function(u){var g=N();if(!t.refreshToken)return g.setError(),g.promise;u=u||5;var C=function(){var R=!1;if(u==-1?(R=!0,h("[KEYCLOAK] Refreshing token: forced refresh")):(!t.tokenParsed||t.isTokenExpired(u))&&(R=!0,h("[KEYCLOAK] Refreshing token: token expired")),!R)g.setSuccess(!1);else{var U="grant_type=refresh_token&refresh_token="+t.refreshToken,p=t.endpoints.token();if(n.push(g),n.length==1){var x=new XMLHttpRequest;x.open("POST",p,!0),x.setRequestHeader("Content-type","application/x-www-form-urlencoded"),x.withCredentials=!0,U+="&client_id="+encodeURIComponent(t.clientId);var y=new Date().getTime();x.onreadystatechange=function(){if(x.readyState==4)if(x.status==200){h("[KEYCLOAK] Token refreshed"),y=(y+new Date().getTime())/2;var E=JSON.parse(x.responseText);ae(E.access_token,E.refresh_token,E.id_token,y),t.onAuthRefreshSuccess&&t.onAuthRefreshSuccess();for(var H=n.pop();H!=null;H=n.pop())H.setSuccess(!0)}else{d("[KEYCLOAK] Failed to refresh token"),x.status==400&&t.clearToken(),t.onAuthRefreshError&&t.onAuthRefreshError();for(var H=n.pop();H!=null;H=n.pop())H.setError(!0)}},x.send(U)}}};if(o.enable){var I=G();I.then(function(){C()}).catch(function(R){g.setError(R)})}else C();return g.promise},t.clearToken=function(){t.token&&(ae(null,null,null),t.onAuthLogout&&t.onAuthLogout(),t.loginRequired&&t.login())};function J(){if(typeof t.authServerUrl<"u")return t.authServerUrl.charAt(t.authServerUrl.length-1)=="/"?t.authServerUrl+"realms/"+encodeURIComponent(t.realm):t.authServerUrl+"/realms/"+encodeURIComponent(t.realm)}function q(){return window.location.origin?window.location.origin:window.location.protocol+"//"+window.location.hostname+(window.location.port?":"+window.location.port:"")}function $(u,g){var C=u.code,I=u.error,R=u.prompt,U=new Date().getTime();if(u.kc_action_status&&t.onActionUpdate&&t.onActionUpdate(u.kc_action_status),I){if(R!="none"){var p={error:I,error_description:u.error_description};t.onAuthError&&t.onAuthError(p),g&&g.setError(p)}else g&&g.setSuccess();return}else t.flow!="standard"&&(u.access_token||u.id_token)&&H(u.access_token,null,u.id_token,!0);if(t.flow!="implicit"&&C){var x="code="+C+"&grant_type=authorization_code",y=t.endpoints.token(),E=new XMLHttpRequest;E.open("POST",y,!0),E.setRequestHeader("Content-type","application/x-www-form-urlencoded"),x+="&client_id="+encodeURIComponent(t.clientId),x+="&redirect_uri="+u.redirectUri,u.pkceCodeVerifier&&(x+="&code_verifier="+u.pkceCodeVerifier),E.withCredentials=!0,E.onreadystatechange=function(){if(E.readyState==4)if(E.status==200){var l=JSON.parse(E.responseText);H(l.access_token,l.refresh_token,l.id_token,t.flow==="standard"),S()}else t.onAuthError&&t.onAuthError(),g&&g.setError()},E.send(x)}function H(l,f,m,w){U=(U+new Date().getTime())/2,ae(l,f,m,U),i&&(t.tokenParsed&&t.tokenParsed.nonce!=u.storedNonce||t.refreshTokenParsed&&t.refreshTokenParsed.nonce!=u.storedNonce||t.idTokenParsed&&t.idTokenParsed.nonce!=u.storedNonce)?(h("[KEYCLOAK] Invalid nonce, clearing token"),t.clearToken(),g&&g.setError()):w&&(t.onAuthSuccess&&t.onAuthSuccess(),g&&g.setSuccess())}}function X(u){var g=N(),C;e?typeof e=="string"&&(C=e):C="keycloak.json";function I(E){E?t.endpoints={authorize:function(){return E.authorization_endpoint},token:function(){return E.token_endpoint},logout:function(){if(!E.end_session_endpoint)throw"Not supported by the OIDC server";return E.end_session_endpoint},checkSessionIframe:function(){if(!E.check_session_iframe)throw"Not supported by the OIDC server";return E.check_session_iframe},register:function(){throw'Redirection to "Register user" page not supported in standard OIDC mode'},userinfo:function(){if(!E.userinfo_endpoint)throw"Not supported by the OIDC server";return E.userinfo_endpoint}}:t.endpoints={authorize:function(){return J()+"/protocol/openid-connect/auth"},token:function(){return J()+"/protocol/openid-connect/token"},logout:function(){return J()+"/protocol/openid-connect/logout"},checkSessionIframe:function(){var H=J()+"/protocol/openid-connect/login-status-iframe.html";return t.iframeVersion&&(H=H+"?version="+t.iframeVersion),H},thirdPartyCookiesIframe:function(){var H=J()+"/protocol/openid-connect/3p-cookies/step1.html";return t.iframeVersion&&(H=H+"?version="+t.iframeVersion),H},register:function(){return J()+"/protocol/openid-connect/registrations"},userinfo:function(){return J()+"/protocol/openid-connect/userinfo"}}}if(C){var R=new XMLHttpRequest;R.open("GET",C,!0),R.setRequestHeader("Accept","application/json"),R.onreadystatechange=function(){if(R.readyState==4)if(R.status==200||V(R)){var E=JSON.parse(R.responseText);t.authServerUrl=E["auth-server-url"],t.realm=E.realm,t.clientId=E.resource,I(null),g.setSuccess()}else g.setError()},R.send()}else{if(!e.clientId)throw"clientId missing";t.clientId=e.clientId;var U=e.oidcProvider;if(U)if(typeof U=="string"){var y;U.charAt(U.length-1)=="/"?y=U+".well-known/openid-configuration":y=U+"/.well-known/openid-configuration";var R=new XMLHttpRequest;R.open("GET",y,!0),R.setRequestHeader("Accept","application/json"),R.onreadystatechange=function(){if(R.readyState==4)if(R.status==200||V(R)){var H=JSON.parse(R.responseText);I(H),g.setSuccess()}else g.setError()},R.send()}else I(U),g.setSuccess();else{if(!e.url){for(var p=document.getElementsByTagName("script"),x=0;x=0;--p){var x=U[p];R.data=="error"?x.setError():x.setSuccess(R.data=="unchanged")}}};return window.addEventListener("message",I,!1),u.promise}function S(){o.enable&&t.token&&setTimeout(function(){G().then(function(u){u&&S()})},o.interval*1e3)}function G(){var u=N();if(o.iframe&&o.iframeOrigin){var g=t.clientId+" "+(t.sessionId?t.sessionId:"");o.callbackList.push(u);var C=o.iframeOrigin;o.callbackList.length==1&&o.iframe.contentWindow.postMessage(g,C)}else u.setSuccess();return u.promise}function ue(){var u=N();if(o.enable||t.silentCheckSsoRedirectUri){var g=document.createElement("iframe");g.setAttribute("src",t.endpoints.thirdPartyCookiesIframe()),g.setAttribute("sandbox","allow-storage-access-by-user-activation allow-scripts allow-same-origin"),g.setAttribute("title","keycloak-3p-check-iframe"),g.style.display="none",document.body.appendChild(g);var C=function(I){g.contentWindow===I.source&&(I.data!=="supported"&&I.data!=="unsupported"||(I.data==="unsupported"&&(d(`[KEYCLOAK] Your browser is blocking access to 3rd-party cookies, this means: + + - It is not possible to retrieve tokens without redirecting to the Keycloak server (a.k.a. no support for silent authentication). + - It is not possible to automatically detect changes to the session status (such as the user logging out in another tab). + +For more information see: https://www.keycloak.org/docs/latest/securing_apps/#_modern_browsers`),o.enable=!1,t.silentCheckSsoFallback&&(t.silentCheckSsoRedirectUri=!1)),document.body.removeChild(g),window.removeEventListener("message",C),u.setSuccess()))};window.addEventListener("message",C,!1)}else u.setSuccess();return O(u.promise,t.messageReceiveTimeout,"Timeout when waiting for 3rd party check iframe message.")}function ie(u){if(!u||u=="default")return{login:function(p){return window.location.assign(t.createLoginUrl(p)),N().promise},logout:function(p){return window.location.replace(t.createLogoutUrl(p)),N().promise},register:function(p){return window.location.assign(t.createRegisterUrl(p)),N().promise},accountManagement:function(){var p=t.createAccountUrl();if(typeof p<"u")window.location.href=p;else throw"Not supported by the OIDC server";return N().promise},redirectUri:function(p,x){return p&&p.redirectUri?p.redirectUri:t.redirectUri?t.redirectUri:location.href}};if(u=="cordova"){o.enable=!1;var g=function(p,x,y){return window.cordova&&window.cordova.InAppBrowser?window.cordova.InAppBrowser.open(p,x,y):window.open(p,x,y)},C=function(p){return p&&p.cordovaOptions?Object.keys(p.cordovaOptions).reduce(function(x,y){return x[y]=p.cordovaOptions[y],x},{}):{}},I=function(p){return Object.keys(p).reduce(function(x,y){return x.push(y+"="+p[y]),x},[]).join(",")},R=function(p){var x=C(p);return x.location="no",p&&p.prompt=="none"&&(x.hidden="yes"),I(x)},U=function(){return t.redirectUri||"http://localhost"};return{login:function(p){var x=N(),y=R(p),E=t.createLoginUrl(p),H=g(E,"_blank",y),l=!1,f=!1,m=function(){f=!0,H.close()};return H.addEventListener("loadstart",function(w){if(w.url.indexOf(U())==0){var A=T(w.url);$(A,x),m(),l=!0}}),H.addEventListener("loaderror",function(w){if(!l)if(w.url.indexOf(U())==0){var A=T(w.url);$(A,x),m(),l=!0}else x.setError(),m()}),H.addEventListener("exit",function(w){f||x.setError({reason:"closed_by_user"})}),x.promise},logout:function(p){var x=N(),y=t.createLogoutUrl(p),E=g(y,"_blank","location=no,hidden=yes,clearcache=yes"),H;return E.addEventListener("loadstart",function(l){l.url.indexOf(U())==0&&E.close()}),E.addEventListener("loaderror",function(l){l.url.indexOf(U())==0||(H=!0),E.close()}),E.addEventListener("exit",function(l){H?x.setError():(t.clearToken(),x.setSuccess())}),x.promise},register:function(p){var x=N(),y=t.createRegisterUrl(),E=R(p),H=g(y,"_blank",E);return H.addEventListener("loadstart",function(l){if(l.url.indexOf(U())==0){H.close();var f=T(l.url);$(f,x)}}),x.promise},accountManagement:function(){var p=t.createAccountUrl();if(typeof p<"u"){var x=g(p,"_blank","location=no");x.addEventListener("loadstart",function(y){y.url.indexOf(U())==0&&x.close()})}else throw"Not supported by the OIDC server"},redirectUri:function(p){return U()}}}if(u=="cordova-native")return o.enable=!1,{login:function(p){var x=N(),y=t.createLoginUrl(p);return universalLinks.subscribe("keycloak",function(E){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close();var H=T(E.url);$(H,x)}),window.cordova.plugins.browsertab.openUrl(y),x.promise},logout:function(p){var x=N(),y=t.createLogoutUrl(p);return universalLinks.subscribe("keycloak",function(E){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close(),t.clearToken(),x.setSuccess()}),window.cordova.plugins.browsertab.openUrl(y),x.promise},register:function(p){var x=N(),y=t.createRegisterUrl(p);return universalLinks.subscribe("keycloak",function(E){universalLinks.unsubscribe("keycloak"),window.cordova.plugins.browsertab.close();var H=T(E.url);$(H,x)}),window.cordova.plugins.browsertab.openUrl(y),x.promise},accountManagement:function(){var p=t.createAccountUrl();if(typeof p<"u")window.cordova.plugins.browsertab.openUrl(p);else throw"Not supported by the OIDC server"},redirectUri:function(p){return p&&p.redirectUri?p.redirectUri:t.redirectUri?t.redirectUri:"http://localhost"}};throw"invalid adapter type: "+u}var ee=function(){if(!(this instanceof ee))return new ee;localStorage.setItem("kc-test","test"),localStorage.removeItem("kc-test");var u=this;function g(){for(var C=new Date().getTime(),I=0;I{try{const r=await wa.init({onLoad:"check-sso",silentCheckSsoRedirectUri:`${location.origin}/silent-check-sso.html`,pkceMethod:"S256"});console.log(`User is ${r?"authenticated":"not authenticated"}`),e(r)}catch(r){console.error("Failed to initialize adapter:",r),t(r)}}),bn=zc(Gl);bn.use(Jc());bn.use(na);bn.mount("#app");console.log(_a);export{be as c}; diff --git a/account/resources/css/account.css b/account/resources/css/account.css deleted file mode 100644 index 3878e43..0000000 --- a/account/resources/css/account.css +++ /dev/null @@ -1,277 +0,0 @@ -html { - height: 100%; -} - -body { - background-color: #F9F9F9; - margin: 0; - padding: 0; - height: 100%; -} - -header .navbar { - margin-bottom: 0; - min-height: inherit; -} - -.header .container { - position: relative; -} - -.navbar-title { - background-image: url('../img/logo.png'); - height: 25px; - background-repeat: no-repeat; - width: 123px; - margin: 3px 10px 5px; - text-indent: -99999px; -} - -.navbar-pf .navbar-utility { - right: 20px; - top: -34px; - font-size: 12px; -} - -.navbar-pf .navbar-utility > li > a { - color: #fff !important; - padding-bottom: 12px; - padding-top: 11px; - border-left: medium none; -} - -.container { - height: 100%; -} - -.content-area { - background-color: #fff; - border-color: #CECECE; - border-style: solid; - border-width: 0 1px; - height: 100%; - padding: 0 30px; -} - -.margin-bottom { - margin-bottom: 10px; -} - -/* Sidebar */ - -.bs-sidebar { - background-color: #f9f9f9; - padding-top: 44px; - padding-right: 0; - padding-left: 0; - z-index: 20; -} -.bs-sidebar ul { - list-style: none; - padding-left: 12px; -} - -.bs-sidebar ul li { - margin-bottom: 0.5em; - margin-left: -1em; -} -.bs-sidebar ul li a { - font-size: 14px; - padding-left: 25px; - color: #4d5258; - line-height: 28px; - display: block; - border-width: 1px 0 1px 1px; - border-style: solid; - border-color: #f9f9f9; -} -.bs-sidebar ul li a:hover, -.bs-sidebar ul li a:focus { - text-decoration: none; - color: #777777; - border-right: 2px solid #aaa; -} -.bs-sidebar ul li.active a { - background-color: #c7e5f0; - border-color: #56bae0; - font-weight: bold; - background-image: url(../img/icon-sidebar-active.png); - background-repeat: no-repeat; - background-position: right center; -} - -.bs-sidebar ul li.active a:hover { - border-right: none; -} - - -.content-area h2 { - font-family: "Open Sans", sans-serif; - font-weight: 100; - font-size: 24px; - margin-bottom: 25px; - margin-top: 25px; -} - -.subtitle { - text-align: right; - margin-top: 30px; - color: #909090; -} - -.required { - color: #CB2915; -} - - -.alert { - margin-top: 30px; - margin-bottom: 0; -} - -.feedback-aligner .alert { - background-position: 1.27273em center; - background-repeat: no-repeat; - border-radius: 2px; - border-width: 1px; - color: #4D5258; - display: inline-block; - font-size: 1.1em; - line-height: 1.4em; - margin: 0; - padding: 0.909091em 3.63636em; - position: relative; - text-align: left; -} -.alert.alert-success { - background-color: #E4F1E1; - border-color: #4B9E39; -} -.alert.alert-error { - background-color: #F8E7E7; - border-color: #B91415; -} -.alert.alert-warning { - background-color: #FEF1E9; - border-color: #F17528; -} -.alert.alert-info { - background-color: #E4F3FA; - border-color: #5994B2; -} - -.form-horizontal { - border-top: 1px solid #E9E8E8; - padding-top: 23px; -} - -.form-horizontal .control-label { - color: #909090; - line-height: 1.4em; - padding-top: 5px; - position: relative; - text-align: right; - width: 100%; -} - -.form-group { - position: relative; -} - -.control-label + .required { - position: absolute; - right: -2px; - top: 0; -} - -#kc-form-buttons { - text-align: right; - margin-top: 10px; -} - -#kc-form-buttons .btn-primary { - float: right; - margin-left: 8px; -} - -/* Authenticator page */ - -ol { - padding-left: 40px; -} - -ol li { - font-size: 13px; - margin-bottom: 10px; - position: relative; -} - -ol li img { - margin-top: 15px; - margin-bottom: 5px; - border: 1px solid #eee; -} - -hr + .form-horizontal { - border: none; - padding-top: 0; -} - -.kc-dropdown{ - position: relative; -} -.kc-dropdown > a{ - display:block; - padding: 11px 10px 12px; - line-height: 12px; - font-size: 12px; - color: #fff !important; - text-decoration: none; -} -.kc-dropdown > a::after{ - content: "\2c5"; - margin-left: 4px; -} -.kc-dropdown:hover > a{ - background-color: rgba(0,0,0,0.2); -} -.kc-dropdown ul li a{ - padding: 1px 11px; - font-size: 12px; - color: #000 !important; - border: 1px solid #fff; - text-decoration: none; - display:block; - line-height: 20px; -} -.kc-dropdown ul li a:hover{ - color: #4d5258; - background-color: #d4edfa; - border-color: #b3d3e7; -} -.kc-dropdown ul{ - position: absolute; - z-index: 2000; - list-style:none; - display:none; - padding: 5px 0px; - margin: 0px; - background-color: #fff !important; - border: 1px solid #b6b6b6; - border-radius: 1px; - -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); - background-clip: padding-box; - min-width: 100px; -} -.kc-dropdown:hover ul{ - display:block; -} - - -#kc-totp-secret-key { - border: 1px solid #eee; - font-size: 16px; - padding: 10px; - margin: 50px 0; -} \ No newline at end of file diff --git a/account/resources/favicon.ico b/account/resources/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/account/resources/img/icon-sidebar-active.png b/account/resources/img/icon-sidebar-active.png deleted file mode 100644 index e7b9b082836b728286e1962f7d2efc81ddbe0b71..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 202 zcmeAS@N?(olHy`uVBq!ia0vp^;y}#D!3HFcd~W{?q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c73FxkIEGZ*N=jIun2<7~^e}_RcjiI`=UK zVCeYHtShu&-DyXLq!)E7W+-p1Ilz&A@c@&Xh}=}&gd+kA7qR+CC9YLuAP#kTzP zOOabP0l+XkKxNbyD diff --git a/account/resources/img/keycloak-logo.png b/account/resources/img/keycloak-logo.png deleted file mode 100644 index 955574855d493cc248e112b7d755a95d641613f8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5213 zcmaJ_cT^MW_6;H;A{{Ig2}nmmLJ1`F5)_dlMWjee0)&ua5}GuDDd;Q004kV_lCCd z$(VTZ2%kN3@~%d%Rh$f$DTuoi6M`ef!=8i&XrKrVXrM06-U)4twnus0Z$~Qw0JK6F z)4P7-%Op7um(2nhVUq`w07 z_5c4+9PaOEGQ}AEU%mfGOg8l*qNR<|WP%$Bd2(=$SAVA>!nH_fdkTSMN+7uY)kPy` z0);?!CJ=#ICQzW5zC99y|GgppCqiEzu8SvA?D0snuC|Kc2?q#+LBX|UWWZoeZ72)@ zg+L$(Sr|k|3!$T^2!(*XZGXTKaqpPi9>N&b(&ER87tvY^vYr8#_^(_0gHjoST ztL*JvNpJBQXJ6LA>U7*SmPZn6gY;%Trx`1aEF{92?&t|>aF*R{Lt@SgJ>)!V1r*rV zk!imrQ*pdX5}8OI6Ox70rM3C2eKY9ZOCcZs`qG`k`c^$GbCZ_eDAAa~Q(z<|dG_Ty zb^s^9kJj2LufQBClr7P8K}4)?!{+w1&14>G{=#Q~$0_9xRY(ID##RI-@^ z|8ACygkMTDWj5lc#T@!u`Sacx@>ax_W*55PN8yj^fUQr%>;eA}c(ZUZ*Iv_iYR5Gs+>vonoU5g>S zt*a{%H2>WA*AoGiWUIxOLvo21kL|k9M2}o%nmW1F)KnDMoGn2jFTd~)5_u!kCEsl2 zio?s}MChGmXF#t+0d@yjLw`EVVfj=l^U4G7O7KvsLv4y*gUp$;m-ox*oFm)5G^Mal zxAd*c*JpTT?MG)YtIH(4^7aJO?loTZzwyOzJIDaKRy^ zS$c^q9uPm{Wv6!^DT$^W3*R)*3i*UnXVnC?PGP#TOq{6)k7LcP4e(cN@=Jn`DJHa* zdHtqZY>h_;Se#PH4=LjO7wwq!CwMyg;|7E;^Ad5zw4kqlxAmpHF9u1HFdKehR{D8l zYDMQr$JR9zhs4`(sHxplfd?Ch0IweJ^|+7igz$Me_?_OgTB}uC3ki6;^mBDKtE#dx zx%FGj<*a>^`eHUYsA|BG*LK)BF+{rl;kBcLPR9pcSQ*^TcL46eJAsj<46zR1Zunm85wPJ0O|mSWx#K=Z~fbFhw(o|XkxXhG-s{^JC-faw;d8h&mW z4!eE%;~Ul zt&Qm@7&N8x;vQ>n9SG84`L6Gq3BN5~Zq?dr_W-jo+5UY7A1y+!Kdq^_MNqApzxW)!@(|3!{l%?*?%D$P2r zTb*lYK6*4}{d1d`MTb>QKZriJr+j!m!KG`k)Vmt!wYBA@(&t!fYApec;!pK`uc)LTd*Qw963t}nZelff%`S@Mto_3F3IF0Ww zJHkj}^6=6(ru&on4*trI+GFlTc|p_V$+oV)TvJMoEG@&l>Ie6nmqf*UGX<^R+ksZk zVy_kC4QbwkpB{*S1brVs<|d_dPPWECLCLoU?i|GxUobP$u!wUpP!P)Q|KiB9md0%foVFL z=5MU}@U*P&^qP!r-Tf|Y)Gvm}eBtfZ)YGev&c{7q3{oySRg~aX7Hk!IzsMmOXkT4^ z*?VX(YRSVs0+(Fy=IwA)P!}Xk=?RsSK4Xl|mosJGf$i{$oxgSdzV_05#ck1s1|A~G z)Rm>$#*zUj*Ijdley1;dL!_^_PQ|%pB%WhP!*8N|rEIU1PgbT(4SiM?O~kT`OM^ z_x6kKjPmWMeau%S?{;hRNx4Bca&{#{lNpYFbPzRDRLw1AksFbfWsz!Q<3cgBGMNdi zd%aj6Ncx;iLDbZ|e0>w5ko0X*&uvDV*huzF@4B1kcM(;ZZm`OEHQNk_#;KHQCE2`I zdI%#^MpFhBCWxaz)U5NNK|d@>=Qx$QZ8y69KR7dXRh ztt(wuxTzJ4we`;2xEnAXTieRw96cZ9@pj`9qt$NvwXQ*-9j~vUF?=~DPi@wIZr2Un ztY81Y@>+CH$kj+EvVAkMlFf3X%AymZ+4}Ue$f6GltX?Om)S1bLp+y+f#>x#Clvqa^ zm4Tr5lU_witBrWsPP8OGEswoEGm{maHcpk?Syy1M|ACS~To3MTZmbob(Ntx6yr7As z*VdBVHhr7jmZB0`K<$P-d2D@`u$*~|O1(Uxsw%3j_8dCLF`!*)my{N;5eD7+pnRqi zY5ztXd#l=Ot>9) zvKAYjsZ7f`kSg2<4*A|Q%z~sKkHxR`vS?_~xv}--W(Fip1N%joRuGKChfHjF7xgdY zpV6wPX*e1R7FGVx)8jeY64^2TQ9L+uWZ3eYO}7H?mRo=Ij))<`wnn&B@i~|on|Ivn zA|HDX6=Ewo>e}vle{<7J$yu%rGm2EXI=kLfjlZ#6tq@Z%ptn}6d2EfNX}LyH?*?y{ zXr;BT@1}3Et|ckdyN1I1s?>IX{j-%n_b27qNI9dvWaghRqjy$wcR; zjFJ?MhE!I{&T!$+@|QxFB^@MT^M z?QH+b+v$I4*as4v1U}~5{W@2ou(;{X<}1R0lVicDvbPWDJW&`e)lma=Uu(@8=S&e> z%TyeW#qjJAI2#+CH&evW+sk#*$?ojjw-_fBz(?~V!$00X?o+DYNwk@G_Y~UFlOwhN zq<@gDY!T+v6cv<7buJ28DlmDDS&u*D?6irpkA3|U@+GR-dy)zZo?7^ZMi(Zg z^+GbR4fQe6#kXkb6t43j*oUFlA#)?2h9>U_B^c-MMO#~Zj}d90wsGs}8cETGy)g)X z!h#-fxray;(&J6|9IC-H+2LNya`t@TBkO~QR6X@YX&*UQ<5K=S?K_HX>9%I)`g?GK z{;gN}Y-85<27QKK7kRh0eo`;sPk0qGx^t)CtqwNkX|K}yo9{{bdf(fsJx8|>v^d9M z$!Ud(J5C{16;@ru8K_nsZU)`vU>R3W<5(DZRb@6m{ayTPo+`pY_7JH zO;=Y7f9}n>GMqQ{hB=~^v2(udkE4USVacL$HI^$(sxNDP6-~xOPGuP7@M#bAobdy-KSQ4a|9$Omt{j}fk zdsx^BIu7MrQPz^cZ*Jq&jqJQEFbg+)4j%I^(4C>sTT*u(q2Bchlj|&Gjwlr<08MAOBVKg2JRYd6*G6v^$#WAObvg#?#6cSOLPwJ z$n4pePe>=E>yYL_&H^vw-O}-T;*R~1?Dp4(LSJMyPwWB;VOVZS+~l#x3}roKz_CBt z>g(u~>G(BUE?39pyIWIxHQQapj}W3Hnp)?Ra^YZge{py&_#-95&fm5}vN(O_^YHgR z+oOnSktZ)5cJN$lRV~U#GLd1+2FD%ZK)u?yGryj^OrtETe?3xtRg$g0FYDYiAPeh2 z(bUqEZXbafk0s;cW7oc1V(72JqKt^d%dmD3iTGD zAHA30s^{QkpFW*%Rh^^VQZ*Fqw2}8h>4WG)?@_^OY1ubC0ZT3#S*Cqe-5CK~0 zfP36pr50(3z(?fbsyWwse7O*nXxintDlAGF1<297V-yU0e6hrWrHrp=B(q0yS9o*( z?HA{9lL4Mo*G;R)?WI@iKg15=Y55J(u6s2WRg2&4iFRygUd4BvXJC}NubF!Yt>LME zSU#g(&8|8_hu#RdB~0ojp?!_>mszTX7Lw}^#a_KCT@xr3yf5Gx!Et$#WrY3mZGs5D zaka|MWJmQlJr1b1TNW6RSDHSBU-N48ZZHgrG|=|(SKnYw)YGG<*o54VjX1^@s65&Kat00004b3#c}2nYxW zd-{Qv*}8FWQhbW?9;ba!ELWdL_~cP?peYja~^ zaAhuUa%Y?FJQ@H154lN1K~!jg?OJ_sRYjKnoxbZ*79oIc%s&gnj<`!%5jl$MrWVy!&@Agd*w^Pt8U z(|6;>jo}~AwiQ1SR7(VF?OgmYLjyo($8mo11KYOZCjvEBIdbI4K>*%siT*v|TWf#5 zVZ(;1A0eX^7ZB&H>@j1;H~^l(k25p?1eH>Aex!_6TtGNYD|+?nbsvBU>2-$+i}7)f zD{;JIA=(lnv!O0UJ9=p`qBoC4^18JCl`*PrLQU>2?K(6!yjb!D9f5FM8_)uz%3)ILQRv`4WUn%D~yVjXDsK zrzcIC6!@tp(u)5ZjkfCb>(}q<)~(xsk2>$7}gdzPC@)aPU9|B3jl~lV+aIXSZkxfV2}g=1P~F?+RrH{C|C{P65p7> zRRacGNfc)RfDb?X@M#gbMQa^YN_~FKHP@8v*s)^)K&5~HN?EJ*DPwFVAVJ^vl~Ss~ zahxZNFc`CaiRwB4uSKKL z2g=LKPdC>t6bfZ!WMo!)o|j2P-iZ_66)#@A*lWsHUS9ql1Kmla{;8*)`dK>dp_wz6 zlgI#TS&Xs!Q!9J*>eZ!1#l-{i^Yf7`yKNBfpNt~YQ8<2aF95*gd`6Fg_Q=oA$F-eu zFsdDc88~j@p7TECqAsTs^78U=(M6q*pP!Eo9XhmW*REY=PP=xQIXUezb8~arY}>ZY z6_M+-)&s?Iarz)X_@MG}0KX=p-j3sRF~&>-03y2Daa5s*6dK>Z)LMHLv+WO{x8pcH znfVH>bGjiR%y`E5dc5!JB5Q4T zBKd8~*hNJ}s}!AG=uvI()V^=xv~HboRAt~|S8#70H|p%+4i;@l@L?3_?ietD6%Cm% z)}(ld2qHKK#uz0cNb44rm6iWOB*|l&5Ydq9ufKjj09b3op67#^AwtKDv7ZB|wwCuO zrK&{auu|&tTW`JfjEKyXc&Aif-|$*eer|62Wg-X|qany8y6u?W=Qgb8}N?Y7xQG zLp7+b_s}sjhRczt%Gf+X$+Riw|@Lt_hsob*Q=A zp2$u2g38K|#)z2bhzQIgfQ%V9aNzc|apffCFq@l)4lUW;oB{w~=+L1H-g;}(!%C@( z9Y+;y+O+8wX8u%b^AE;o0MOal*)v{w<&`1K{Evz8SOT8-_~Vafg+d_)fR!s(c2-Kg z2dH2m;M~ztf9Y7VWJxE0<}%xaSeknO{r4|U($}n6Gx^B3-@Ylr!vHwG)^7mlo1{Pa z3unlV?56T5xD>`efso!*qDm5DwE;Q%%5Kg0P5Li zpUo~VE`Gq;_`p~MH4QN=IamV#=+?bEB5-hJCSyc9NlJh*2FW)6oa3XbD>$No4v2f> zTV5t&jW&U^){e(YK!Ap1U1eou31D9#B3R3?*8FavhuWTQXaFcHE3;lKb_W2HXwYZ&?AhIubfwfIM#n{y<7`gIfwgkZ zMU{wTD-~aX)22U=Z2ZO=87cXACIVHFEWtY7b37q($Yy)x_j%^t-H4*%RBG9kj{70O*d^8kzFEy z=Xu?&<$eG`1mE3u+ig!L*i!jIMljguB$CAB$&>Yj2@}pFzpb^I%oY&g=J<`#Ln*NZ zIgV;}9_8ibr-_`@uBB99C;&YE_~VyrZLR_UA{7SnaDa|_UJP1$gUidyFHM&tA`}P& zAtK6JyEah^0Q2U}o3}EZSM~1I>lcX$AR3M0SbY@hzCH;>3VnO_z{nh6VjiOpd5C#2 z#9~ostznG;^Vzu$%hDLar_f)YMj#SKWz50qh71_XaeiwdiGD~>MY6zk?nuUB5y?pM9zTBk ztETPG2Wc)50YD^O<4(=+eg9C4?MXgO`|1#H>r@z{2>{4ZvqPZ}TjAwOIdB{o$x}u; zm~ApnrgUblJx3Snz<~qXqR}XPKc4vHWw;p8H5UVV7UEN6;addpk;%jt#)U~3%`%@8 zgg4iO@$UYE*mtN3yKEZ(z@1q!s05oa2GK|aT5D+Sqq@2pMASxW4LUcV_uRR2=kJ-Jl3eK$!bqGZ=H3R)Y8$YvrMl{U5q zw{PFx=nN|&I=T9-wWTE`CB-ErCB;J%rKF_fpPE-IzZdUML45GfeASbU~_hM_H+?AzOUi?K78N* z4Ks&~F;miXpdyi2%7|L~nT`|Ba~;>+2d(w_l-(?v z*+CGA)X&m7d7P79tz5P0u}~hgx{P_##rH7?Oixzbh!B%FQ#mq3qZVrdTb;j8HeBXoCev2Uj0F3cx;;grk?|T5? z<+X4B_X`)!Uu`YF>UlAU2r1>R3xz`QdxNBa|Ea8OXqTOx1prDph+2ygN3!sZAq>f4 zgxyT!lf}PhpM;xshCc2Ylx{zah+z~L6=Anzp(vp7`|R%^+&F(pH_$upywhg*@ZpC= z)G6;AmKc4>Yh!Wb0!AWtj z(QCZA7gn7>#4vhwD!?Aef+Ao>*6DLLx#m`tF(xV^a9uZ@kD2*KW6T+A4YbxHw`|$+ zD*#YLgsTfe*#xg z1fCG;qcH%$1}_U=*PcQ+9L7gSPhvw&7>X3k#oZwQZnU-NSa%esPMyN(a2Vn68Pqp4 z_@_^wZiqyqu}CBuYiNi@Z@A$GBO(WwdB0L>Z@Tga4I1>V=Xv9Nt@l}DKR4FiBO+w2 zt)w__HGpansTPrHrBsztYM)Z-OW&A%O^s=-KBBeWXN-S9YhB%xPDFC&op(N9tt}S8 za-~$2<2bcMbV?xWT-O~uY0{)yrcRye#pRg;%s9Zz)k-;^6VV=PxytjrYTx&(Mf3>( zc<{joSJu|nc61!)caGzJqLd0N<$kSwe;W~vtEi~x9SVgGheDxzfKEG(TODxS&9i6E z-rRJI05E&@?AMLa|LwYNH4&V#W5?#iV%`B?`_)RRgXz4_J@?#ao)^2<^J06o)`wZ- zkw(j{w6wInwYCaC$7J1^{La{R$D(RxzVrgfX~hM=InR<3_rlWvw4D2YKls+#hkvAuR$M?d`?_@9x^>$D zy!s<$&u@Kf__u`?pAtKc^DuzO50qPDjCt}0wr#~vg#QKf*2_tH + + + + + + Vite App + + + + +
+ + + diff --git a/account/resources/logo.svg b/account/resources/logo.svg new file mode 100644 index 0000000..b708f37 --- /dev/null +++ b/account/resources/logo.svg @@ -0,0 +1 @@ +PubSolar logo diff --git a/account/resources/manifest.json b/account/resources/manifest.json new file mode 100644 index 0000000..86d27be --- /dev/null +++ b/account/resources/manifest.json @@ -0,0 +1,25 @@ +{ + "index.css": { + "file": "assets/index-9c371cad.css", + "src": "index.css" + }, + "index.html": { + "css": [ + "assets/index-9c371cad.css" + ], + "dynamicImports": [ + "src/views/Home.tsx" + ], + "file": "assets/index-1537da3e.js", + "isEntry": true, + "src": "index.html" + }, + "src/views/Home.tsx": { + "file": "assets/Home-7c18ddb3.js", + "imports": [ + "index.html" + ], + "isDynamicEntry": true, + "src": "src/views/Home.tsx" + } +} \ No newline at end of file diff --git a/account/sessions.ftl b/account/sessions.ftl deleted file mode 100644 index b57ea11..0000000 --- a/account/sessions.ftl +++ /dev/null @@ -1,46 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='sessions' bodyClass='sessions'; section> - -
-
-

${msg("sessionsHtmlTitle")}

-
-
- - - - - - - - - - - - - - <#list sessions.sessions as session> - - - - - - - - - -
${msg("ip")}${msg("started")}${msg("lastAccess")}${msg("expires")}${msg("clients")}
${session.ipAddress}${session.started?datetime}${session.lastAccess?datetime}${session.expires?datetime} - <#list session.clients as client> - ${client}
- -
- -
- - -
- - diff --git a/account/template.ftl b/account/template.ftl deleted file mode 100644 index 14a948c..0000000 --- a/account/template.ftl +++ /dev/null @@ -1,151 +0,0 @@ -<#macro mainLayout active bodyClass> - - - - - - - - ${msg("accountManagementTitle")} - - - - - - - - - <#if properties.stylesCommon?has_content> - <#list properties.stylesCommon?split(' ') as style> - - - - <#if properties.styles?has_content> - <#list properties.styles?split(' ') as style> - - - - <#if properties.scripts?has_content> - <#list properties.scripts?split(' ') as script> - - - - <#if properties.scriptsCommon?has_content> - <#list properties.scriptsCommon?split(' ') as script> - - - - - -
-
0x1312
- -
-
-
- pub.solar/ - - <#if realm.internationalizationEnabled && locale.supported?size gt 1> - - - - -
- -
- - -
- <#if message?has_content> -
- <#if message.type=='success' > - <#if message.type=='error' > - -
- - - <#nested "content"> -
-
-
- - - - diff --git a/account/theme.properties b/account/theme.properties index 2f88f77..8408b35 100644 --- a/account/theme.properties +++ b/account/theme.properties @@ -2,11 +2,3 @@ parent=keycloak.v2 import=common/pub.solar styles= - -kcButtonClass=ps-button -kcButtonPrimaryClass=ps-button_primary -kcButtonLargeClass=ps-button_large - -kcFormGroupClass=ps-form-group -kcLabelClass=ps-form-group--label -kcInputClass=ps-input diff --git a/account/totp.ftl b/account/totp.ftl deleted file mode 100644 index 100d344..0000000 --- a/account/totp.ftl +++ /dev/null @@ -1,131 +0,0 @@ -<#import "template.ftl" as layout> -<@layout.mainLayout active='totp' bodyClass='totp'; section> - -
-
-

${msg("authenticatorTitle")}

-
- <#if totp.otpCredentials?size == 0> -
- * ${msg("requiredFields")} -
- -
- - <#if totp.enabled> - - - <#if totp.otpCredentials?size gt 1> - - - - <#else> - - - - - - - <#list totp.otpCredentials as credential> - - - <#if totp.otpCredentials?size gt 1> - - - - - - - -
${msg("configureAuthenticators")}
${msg("configureAuthenticators")}
${msg("mobile")}${credential.id}${credential.userLabel!} -
- - - - -
-
- <#else> - -
- -
    -
  1. -

    ${msg("totpStep1")}

    - -
      - <#list totp.supportedApplications as app> -
    • ${msg(app)}
    • - -
    -
  2. - - <#if mode?? && mode = "manual"> -
  3. -

    ${msg("totpManualStep2")}

    -
    ${totp.totpSecretEncoded}
    -

    ${msg("totpScanBarcode")}

    -
  4. -
  5. -

    ${msg("totpManualStep3")}

    -
      -
    • ${msg("totpType")}: ${msg("totp." + totp.policy.type)}
    • -
    • ${msg("totpAlgorithm")}: ${totp.policy.getAlgorithmKey()}
    • -
    • ${msg("totpDigits")}: ${totp.policy.digits}
    • - <#if totp.policy.type = "totp"> -
    • ${msg("totpInterval")}: ${totp.policy.period}
    • - <#elseif totp.policy.type = "hotp"> -
    • ${msg("totpCounter")}: ${totp.policy.initialCounter}
    • - -
    -
  6. - <#else> -
  7. -

    ${msg("totpStep2")}

    -

    Figure: Barcode

    -

    ${msg("totpUnableToScan")}

    -
  8. - -
  9. -

    ${msg("totpStep3")}

    -

    ${msg("totpStep3DeviceName")}

    -
  10. -
- -
- -
- -
- - - - -
- -
- - - -
- -
-
-
- - -
-
-
-
- - - diff --git a/flake.nix b/flake.nix index 7cf4bfd..d701000 100644 --- a/flake.nix +++ b/flake.nix @@ -56,6 +56,7 @@ google-font-downloader compile-sass watch-sass + nodejs ]; }; }; diff --git a/shell.nix b/shell.nix deleted file mode 100644 index cfc6777..0000000 --- a/shell.nix +++ /dev/null @@ -1,10 +0,0 @@ -let - unstable = import (fetchTarball https://github.com/nixos/nixpkgs/archive/nixos-unstable.tar.gz) { }; -in -{ nixpkgs ? import {} }: -with nixpkgs; mkShell { - buildInputs = [ - sassc - ]; -} -